summaryrefslogtreecommitdiff
path: root/Source/WebKit
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
commit284837daa07b29d6a63a748544a90b1f5842ac5c (patch)
treeecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/WebKit
parent2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff)
downloadqtwebkit-284837daa07b29d6a63a748544a90b1f5842ac5c.tar.gz
Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073)
New snapshot
Diffstat (limited to 'Source/WebKit')
-rw-r--r--Source/WebKit/ChangeLog66
-rw-r--r--Source/WebKit/PlatformBlackBerry.cmake1
-rw-r--r--Source/WebKit/PlatformEfl.cmake20
-rw-r--r--Source/WebKit/WebKit1.pro1
-rw-r--r--Source/WebKit/blackberry/Api/BackingStore.cpp73
-rw-r--r--Source/WebKit/blackberry/Api/BackingStore_p.h2
-rw-r--r--Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp2
-rw-r--r--Source/WebKit/blackberry/Api/DumpRenderTreeClient.h21
-rw-r--r--Source/WebKit/blackberry/Api/InRegionScroller.cpp106
-rw-r--r--Source/WebKit/blackberry/Api/InRegionScroller_p.h12
-rw-r--r--Source/WebKit/blackberry/Api/JavaScriptVariant.cpp3
-rw-r--r--Source/WebKit/blackberry/Api/WebAnimation.cpp3
-rw-r--r--Source/WebKit/blackberry/Api/WebPage.cpp147
-rw-r--r--Source/WebKit/blackberry/Api/WebPage.h1
-rw-r--r--Source/WebKit/blackberry/Api/WebPageClient.h10
-rw-r--r--Source/WebKit/blackberry/Api/WebPage_p.h6
-rw-r--r--Source/WebKit/blackberry/Api/WebSettings.cpp122
-rw-r--r--Source/WebKit/blackberry/Api/WebString.cpp2
-rw-r--r--Source/WebKit/blackberry/ChangeLog1175
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp17
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h4
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp107
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h55
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp10
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp4
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp24
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h7
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/AboutData.cpp25
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/AboutData.h2
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp6
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h5
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp15
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DOMSupport.h1
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp11
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp3
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp103
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h10
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp25
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp67
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InputHandler.h3
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp30
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp14
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp22
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SurfacePool.h2
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp27
-rw-r--r--Source/WebKit/cf/ChangeLog12
-rw-r--r--Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp4
-rw-r--r--Source/WebKit/chromium/.gitignore40
-rw-r--r--Source/WebKit/chromium/All.gyp9
-rw-r--r--Source/WebKit/chromium/ChangeLog2494
-rw-r--r--Source/WebKit/chromium/DEPS2
-rw-r--r--Source/WebKit/chromium/WebKit.gyp54
-rw-r--r--Source/WebKit/chromium/WebKit.gypi133
-rw-r--r--Source/WebKit/chromium/WebKitUnitTests.gyp10
-rw-r--r--Source/WebKit/chromium/features.gypi8
-rw-r--r--Source/WebKit/chromium/public/WebAccessibilityObject.h11
-rw-r--r--Source/WebKit/chromium/public/WebAccessibilityRole.h2
-rw-r--r--Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h3
-rw-r--r--Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h6
-rw-r--r--Source/WebKit/chromium/public/WebFrame.h22
-rw-r--r--Source/WebKit/chromium/public/WebIDBFactory.h12
-rw-r--r--Source/WebKit/chromium/public/WebIDBKey.h5
-rw-r--r--Source/WebKit/chromium/public/WebInputEvent.h19
-rw-r--r--Source/WebKit/chromium/public/WebMediaPlayer.h1
-rw-r--r--Source/WebKit/chromium/public/WebRuntimeFeatures.h5
-rw-r--r--Source/WebKit/chromium/public/WebSettings.h1
-rw-r--r--Source/WebKit/chromium/public/WebView.h16
-rw-r--r--Source/WebKit/chromium/public/WebViewClient.h5
-rw-r--r--Source/WebKit/chromium/public/linux/WebFontInfo.h49
-rw-r--r--Source/WebKit/chromium/public/linux/WebFontRenderStyle.h34
-rw-r--r--Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h4
-rw-r--r--Source/WebKit/chromium/src/AssertMatchingEnums.cpp27
-rw-r--r--Source/WebKit/chromium/src/ChromeClientImpl.cpp20
-rw-r--r--Source/WebKit/chromium/src/ChromeClientImpl.h15
-rw-r--r--Source/WebKit/chromium/src/ContextMenuClientImpl.cpp4
-rw-r--r--Source/WebKit/chromium/src/DateTimeChooserImpl.cpp132
-rw-r--r--Source/WebKit/chromium/src/DateTimeChooserImpl.h73
-rw-r--r--Source/WebKit/chromium/src/EditorClientImpl.cpp11
-rw-r--r--Source/WebKit/chromium/src/EditorClientImpl.h1
-rw-r--r--Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp3
-rw-r--r--Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/LinkHighlight.cpp22
-rw-r--r--Source/WebKit/chromium/src/LocalFileSystemChromium.cpp2
-rw-r--r--Source/WebKit/chromium/src/LocalizedStrings.cpp52
-rw-r--r--Source/WebKit/chromium/src/NonCompositedContentHost.cpp6
-rw-r--r--Source/WebKit/chromium/src/NonCompositedContentHost.h8
-rw-r--r--Source/WebKit/chromium/src/PlatformSupport.cpp97
-rw-r--r--Source/WebKit/chromium/src/SpeechInputClientImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h2
-rw-r--r--Source/WebKit/chromium/src/WebAccessibilityObject.cpp145
-rw-r--r--Source/WebKit/chromium/src/WebAnimationImpl.cpp23
-rw-r--r--Source/WebKit/chromium/src/WebAnimationImpl.h3
-rw-r--r--Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp137
-rw-r--r--Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h26
-rw-r--r--Source/WebKit/chromium/src/WebContentLayerImpl.cpp24
-rw-r--r--Source/WebKit/chromium/src/WebContentLayerImpl.h13
-rw-r--r--Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebEntities.h2
-rw-r--r--Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebFrameImpl.cpp77
-rw-r--r--Source/WebKit/chromium/src/WebFrameImpl.h6
-rw-r--r--Source/WebKit/chromium/src/WebIDBKey.cpp17
-rw-r--r--Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp9
-rw-r--r--Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h6
-rw-r--r--Source/WebKit/chromium/src/WebImageLayerImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebImageLayerImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebInputEvent.cpp37
-rw-r--r--Source/WebKit/chromium/src/WebInputEventConversion.cpp49
-rw-r--r--Source/WebKit/chromium/src/WebLayerImpl.cpp23
-rw-r--r--Source/WebKit/chromium/src/WebLayerImpl.h5
-rw-r--r--Source/WebKit/chromium/src/WebLayerTreeView.cpp214
-rw-r--r--Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp342
-rw-r--r--Source/WebKit/chromium/src/WebLayerTreeViewImpl.h51
-rw-r--r--Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp17
-rw-r--r--Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h3
-rw-r--r--Source/WebKit/chromium/src/WebPageSerializerImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/WebPluginContainerImpl.cpp24
-rw-r--r--Source/WebKit/chromium/src/WebPluginContainerImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebRuntimeFeatures.cpp5
-rw-r--r--Source/WebKit/chromium/src/WebScrollbarImpl.cpp131
-rw-r--r--Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp9
-rw-r--r--Source/WebKit/chromium/src/WebScrollbarLayerImpl.h7
-rw-r--r--Source/WebKit/chromium/src/WebSettingsImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebSettingsImpl.h3
-rw-r--r--Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebSolidColorLayerImpl.h7
-rw-r--r--Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.cpp128
-rw-r--r--Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.h (renamed from Source/WebKit/chromium/src/WebScrollbarImpl.h)48
-rw-r--r--Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebVideoLayerImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebVideoLayerImpl.h6
-rw-r--r--Source/WebKit/chromium/src/WebViewImpl.cpp243
-rw-r--r--Source/WebKit/chromium/src/WebViewImpl.h23
-rw-r--r--Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h2
-rw-r--r--Source/WebKit/chromium/src/android/WebInputEventFactory.cpp4
-rw-r--r--Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp4
-rw-r--r--Source/WebKit/chromium/src/mac/WebInputEventFactory.mm4
-rw-r--r--Source/WebKit/chromium/src/win/WebInputEventFactory.cpp54
-rw-r--r--Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp28
-rw-r--r--Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp45
-rw-r--r--Source/WebKit/chromium/tests/CCAnimationTestCommon.h18
-rw-r--r--Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/CCDrawQuadTest.cpp332
-rw-r--r--Source/WebKit/chromium/tests/CCGeometryTestUtils.cpp56
-rw-r--r--Source/WebKit/chromium/tests/CCGeometryTestUtils.h (renamed from Source/WebKit/chromium/tests/CCLayerTreeTestCommon.h)18
-rw-r--r--Source/WebKit/chromium/tests/CCHeadsUpDisplayTest.cpp130
-rw-r--r--Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp385
-rw-r--r--Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp299
-rw-r--r--Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp496
-rw-r--r--Source/WebKit/chromium/tests/CCMathUtilTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp514
-rw-r--r--Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp31
-rw-r--r--Source/WebKit/chromium/tests/CCQuadCullerTest.cpp5
-rw-r--r--Source/WebKit/chromium/tests/CCRenderPassTest.cpp107
-rw-r--r--Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp50
-rw-r--r--Source/WebKit/chromium/tests/CCRendererGLTest.cpp16
-rw-r--r--Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp71
-rw-r--r--Source/WebKit/chromium/tests/CCSchedulerTest.cpp14
-rw-r--r--Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp13
-rw-r--r--Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp45
-rw-r--r--Source/WebKit/chromium/tests/CCThreadedTest.cpp35
-rw-r--r--Source/WebKit/chromium/tests/CCThreadedTest.h9
-rw-r--r--Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp33
-rw-r--r--Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp34
-rw-r--r--Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h20
-rw-r--r--Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp6
-rw-r--r--Source/WebKit/chromium/tests/Canvas2DLayerManagerTest.cpp156
-rw-r--r--Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp54
-rwxr-xr-xSource/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h4
-rw-r--r--Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h2
-rw-r--r--Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp58
-rw-r--r--Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp4
-rw-r--r--Source/WebKit/chromium/tests/LayerChromiumTest.cpp32
-rw-r--r--Source/WebKit/chromium/tests/LinkHighlightTest.cpp5
-rw-r--r--Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp69
-rw-r--r--Source/WebKit/chromium/tests/MockCCQuadCuller.h2
-rw-r--r--Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp6
-rw-r--r--Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp86
-rw-r--r--Source/WebKit/chromium/tests/TextureCopierTest.cpp7
-rw-r--r--Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp13
-rw-r--r--Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp257
-rw-r--r--Source/WebKit/chromium/tests/UniscribeHelperTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/WebCompositorInitializer.h (renamed from Source/WebKit/chromium/public/WebTouchCandidatesInfo.h)50
-rw-r--r--Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp270
-rw-r--r--Source/WebKit/chromium/tests/WebFrameTest.cpp318
-rw-r--r--Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp75
-rw-r--r--Source/WebKit/chromium/tests/WebLayerTest.cpp71
-rw-r--r--Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp25
-rw-r--r--Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h2
-rw-r--r--Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp344
-rw-r--r--Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/WebViewTest.cpp134
-rw-r--r--Source/WebKit/chromium/tests/data/content_listeners.html31
-rw-r--r--Source/WebKit/chromium/tests/data/disambiguation_popup.html30
-rw-r--r--Source/WebKit/chromium/tests/data/test_touch_link_highlight.html4
-rw-r--r--Source/WebKit/chromium/tests/data/text_selection.html31
-rw-r--r--Source/WebKit/efl/ChangeLog577
-rw-r--r--Source/WebKit/efl/DefaultTheme/default.edc1
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.pngbin0 -> 4115 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.pngbin0 -> 3384 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc58
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc823
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_h.png (renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_h.png)bin507 -> 507 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png (renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_h.png)bin555 -> 555 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png (renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_v.png)bin813 -> 813 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_v.png (renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_v.png)bin697 -> 697 bytes
-rw-r--r--Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp5
-rw-r--r--Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h2
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp2
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp61
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h56
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp87
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h55
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp249
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h5
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp21
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h2
-rw-r--r--Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp13
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp (renamed from Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp)20
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h (renamed from Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.h)18
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp81
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h53
-rw-r--r--Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp56
-rw-r--r--Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h44
-rw-r--r--Source/WebKit/efl/ewk/ewk_contextmenu.cpp31
-rw-r--r--Source/WebKit/efl/ewk/ewk_contextmenu_private.h9
-rw-r--r--Source/WebKit/efl/ewk/ewk_custom_handler.cpp4
-rw-r--r--Source/WebKit/efl/ewk/ewk_custom_handler_private.h4
-rw-r--r--Source/WebKit/efl/ewk/ewk_frame.cpp27
-rw-r--r--Source/WebKit/efl/ewk/ewk_network.cpp5
-rw-r--r--Source/WebKit/efl/ewk/ewk_network.h7
-rw-r--r--Source/WebKit/efl/ewk/ewk_settings.cpp7
-rw-r--r--Source/WebKit/efl/ewk/ewk_view.cpp77
-rw-r--r--Source/WebKit/efl/ewk/ewk_view.h54
-rw-r--r--Source/WebKit/gtk/ChangeLog278
-rw-r--r--Source/WebKit/gtk/GNUmakefile.am4
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp3
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp6
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp70
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h5
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp2
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp (renamed from Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp)14
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h (renamed from Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h)18
-rw-r--r--Source/WebKit/gtk/docs/webkitgtk-sections.txt4
-rw-r--r--Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h4
-rw-r--r--Source/WebKit/gtk/tests/testatk.c11
-rw-r--r--Source/WebKit/gtk/tests/testglobals.c54
-rw-r--r--Source/WebKit/gtk/webkit/webkitglobals.cpp66
-rw-r--r--Source/WebKit/gtk/webkit/webkitglobals.h36
-rw-r--r--Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp2
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebdatasource.cpp4
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp2
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebresource.cpp2
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebsettings.cpp76
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebview.cpp13
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebviewprivate.h8
-rw-r--r--Source/WebKit/mac/ChangeLog487
-rw-r--r--Source/WebKit/mac/Configurations/FeatureDefines.xcconfig5
-rw-r--r--Source/WebKit/mac/Configurations/Version.xcconfig2
-rw-r--r--Source/WebKit/mac/History/WebHistoryItem.mm2
-rw-r--r--Source/WebKit/mac/Misc/WebStringTruncator.mm2
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h10
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm2
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h1
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm8
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm10
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginController.mm2
-rw-r--r--Source/WebKit/mac/Storage/WebStorageTrackerClient.mm2
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h3
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm4
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm3
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm2
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm11
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm2
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h16
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h5
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm8
-rw-r--r--Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm61
-rw-r--r--Source/WebKit/mac/WebView/WebFrame.mm4
-rw-r--r--Source/WebKit/mac/WebView/WebHTMLView.mm13
-rw-r--r--Source/WebKit/mac/WebView/WebNotification.h1
-rw-r--r--Source/WebKit/mac/WebView/WebNotification.mm18
-rw-r--r--Source/WebKit/mac/WebView/WebRenderLayer.mm11
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm22
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugger.h9
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugger.mm17
-rw-r--r--Source/WebKit/mac/WebView/WebView.mm27
-rw-r--r--Source/WebKit/mac/WebView/WebViewData.h2
-rw-r--r--Source/WebKit/mac/WebView/WebViewPrivate.h3
-rw-r--r--Source/WebKit/qt/Api/qwebdatabase_p.h2
-rw-r--r--Source/WebKit/qt/Api/qwebelement.cpp17
-rw-r--r--Source/WebKit/qt/Api/qwebframe.cpp7
-rw-r--r--Source/WebKit/qt/Api/qwebframe_p.h2
-rw-r--r--Source/WebKit/qt/Api/qwebhistory.cpp2
-rw-r--r--Source/WebKit/qt/Api/qwebhistoryinterface.cpp2
-rw-r--r--Source/WebKit/qt/Api/qwebpage.cpp22
-rw-r--r--Source/WebKit/qt/Api/qwebpage_p.h2
-rw-r--r--Source/WebKit/qt/Api/qwebsettings.cpp2
-rw-r--r--Source/WebKit/qt/ChangeLog226
-rw-r--r--Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h2
-rw-r--r--Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp24
-rw-r--r--Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h3
-rw-r--r--Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp15
-rw-r--r--Source/WebKit/qt/WebCoreSupport/EditorClientQt.h2
-rw-r--r--Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp2
-rw-r--r--Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp1
-rw-r--r--Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp2
-rw-r--r--Source/WebKit/qt/docs/docs.pri15
-rw-r--r--Source/WebKit/qt/docs/qtwebkit.qdocconf2
-rw-r--r--Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp14
-rw-r--r--Source/WebKit/qt/tests/qwebview/.gitignore1
-rw-r--r--Source/WebKit/win/AccessibleBase.cpp41
-rw-r--r--Source/WebKit/win/ChangeLog236
-rw-r--r--Source/WebKit/win/DOMCSSClasses.cpp2
-rw-r--r--Source/WebKit/win/DefaultPolicyDelegate.cpp4
-rw-r--r--Source/WebKit/win/MarshallingHelpers.cpp2
-rw-r--r--Source/WebKit/win/WebActionPropertyBag.cpp2
-rw-r--r--Source/WebKit/win/WebCookieManager.cpp2
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebInspectorClient.h4
-rw-r--r--Source/WebKit/win/WebDownload.cpp2
-rw-r--r--Source/WebKit/win/WebDownload.h2
-rw-r--r--Source/WebKit/win/WebFrame.cpp15
-rw-r--r--Source/WebKit/win/WebFrame.h2
-rw-r--r--Source/WebKit/win/WebHistoryItem.h2
-rw-r--r--Source/WebKit/win/WebIconDatabase.cpp8
-rw-r--r--Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj9260
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops28
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKit.sln1350
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKit.submit.sln106
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKit.vcproj2614
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj696
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops38
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops36
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKitDLL.h2
-rw-r--r--Source/WebKit/win/WebKitGraphics.cpp2
-rw-r--r--Source/WebKit/win/WebKitSystemBits.cpp2
-rw-r--r--Source/WebKit/win/WebLocalizableStrings.cpp4
-rw-r--r--Source/WebKit/win/WebNotificationCenter.cpp8
-rw-r--r--Source/WebKit/win/WebResource.h2
-rw-r--r--Source/WebKit/win/WebView.cpp20
-rw-r--r--Source/WebKit/wince/ChangeLog44
-rw-r--r--Source/WebKit/wx/ChangeLog41
-rw-r--r--Source/WebKit/wx/WebFrame.cpp5
-rw-r--r--Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp2
-rw-r--r--Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp2
-rw-r--r--Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp2
-rw-r--r--Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp2
-rw-r--r--Source/WebKit/wx/WebSettings.cpp2
-rw-r--r--Source/WebKit/wx/WebView.cpp3
380 files changed, 20616 insertions, 11376 deletions
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index 4bf98debd..9e13907e8 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,69 @@
+2012-09-06 Crystal Zhang <haizhang@rim.com>
+
+ [BlackBerry] Implement a color picker
+ https://bugs.webkit.org/show_bug.cgi?id=96001
+
+ Reviewed by Rob Buis.
+
+ Add color picker files into building system.
+
+ * PlatformBlackBerry.cmake:
+
+2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+ https://bugs.webkit.org/show_bug.cgi?id=95965
+
+ Reviewed by Tor Arne Vestbø.
+
+ Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
+ headers (GraphicsContext3D.h in particular).
+
+ * WebKit1.pro:
+
+2012-09-04 Michał Pakuła vel Rutka <m.pakula@samsung.com>
+
+ [EFL] Context menu restore.
+ https://bugs.webkit.org/show_bug.cgi?id=74179
+
+ Reviewed by Gyuyoung Kim.
+
+ Adds context menu support for EFL port using non-CROSS_PLATFORM_CONTEXT_MENUS
+ approach, the same as used in WebKit2.
+
+ * PlatformEfl.cmake: Added ContextMenuClientEfl.cpp file to sources list.
+
+2012-08-29 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Move several files to remove webkit1 dependency from WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=95264
+
+ Reviewed by Gyuyoung Kim.
+
+ * PlatformEfl.cmake: Added files which is moved.
+
+2012-08-28 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Rename knob images to thumb on the default theme
+ https://bugs.webkit.org/show_bug.cgi?id=95186
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Updated buildsystem after renaming theme images.
+
+ * PlatformEfl.cmake:
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Modified PlatformEfl.cmake so that it includes the renamed files.
+
+ * PlatformEfl.cmake:
+
2012-08-20 Dominik Röttsches <dominik.rottsches@intel.com>
[EFL] Get rid of pango backend support once harfbuzz-ng is working
diff --git a/Source/WebKit/PlatformBlackBerry.cmake b/Source/WebKit/PlatformBlackBerry.cmake
index 5d5a255be..365cdbd6f 100644
--- a/Source/WebKit/PlatformBlackBerry.cmake
+++ b/Source/WebKit/PlatformBlackBerry.cmake
@@ -92,6 +92,7 @@ LIST(APPEND WebKit_SOURCES
blackberry/WebCoreSupport/PagePopupBlackBerry.cpp
blackberry/WebCoreSupport/SelectPopupClient.cpp
blackberry/WebCoreSupport/DatePickerClient.cpp
+ blackberry/WebCoreSupport/ColorPickerClient.cpp
blackberry/WebKitSupport/AboutData.cpp
blackberry/WebKitSupport/BackingStoreCompositingSurface.cpp
blackberry/WebKitSupport/BackingStoreTile.cpp
diff --git a/Source/WebKit/PlatformEfl.cmake b/Source/WebKit/PlatformEfl.cmake
index cea3e5eaf..84f0240a3 100644
--- a/Source/WebKit/PlatformEfl.cmake
+++ b/Source/WebKit/PlatformEfl.cmake
@@ -78,9 +78,9 @@ IF (ENABLE_BATTERY_STATUS)
)
ENDIF ()
-IF (ENABLE_REGISTER_PROTOCOL_HANDLER)
+IF (ENABLE_NAVIGATOR_CONTENT_UTILS)
LIST(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/protocolhandler"
+ "${WEBCORE_DIR}/Modules/navigatorcontentutils"
)
ENDIF ()
@@ -88,6 +88,8 @@ LIST(APPEND WebKit_SOURCES
efl/WebCoreSupport/AssertMatchingEnums.cpp
efl/WebCoreSupport/BatteryClientEfl.cpp
efl/WebCoreSupport/ChromeClientEfl.cpp
+ efl/WebCoreSupport/ColorChooserEfl.cpp
+ efl/WebCoreSupport/ContextMenuClientEfl.cpp
efl/WebCoreSupport/DeviceOrientationClientEfl.cpp
efl/WebCoreSupport/DeviceMotionClientEfl.cpp
efl/WebCoreSupport/DragClientEfl.cpp
@@ -98,11 +100,13 @@ LIST(APPEND WebKit_SOURCES
efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp
efl/WebCoreSupport/IconDatabaseClientEfl.cpp
efl/WebCoreSupport/InspectorClientEfl.cpp
+ efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
efl/WebCoreSupport/NetworkInfoClientEfl.cpp
efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
efl/WebCoreSupport/PageClientEfl.cpp
efl/WebCoreSupport/PlatformStrategiesEfl.cpp
- efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp
+ efl/WebCoreSupport/PopupMenuEfl.cpp
+ efl/WebCoreSupport/SearchPopupMenuEfl.cpp
efl/WebCoreSupport/StorageTrackerClientEfl.cpp
efl/WebCoreSupport/VibrationClientEfl.cpp
@@ -166,15 +170,15 @@ ADD_CUSTOM_COMMAND(
COMMAND ${EDJE_CC_EXECUTABLE} -v -id ${WEBKIT_DIR}/efl/DefaultTheme ${WebKit_THEME_DEFINITION} ${WEBKIT_DIR}/efl/DefaultTheme/default.edc ${WebKit_THEME}
DEPENDS
${WEBKIT_DIR}/efl/DefaultTheme/default.edc
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_v.png
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_press_v.png
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_v.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider.edc
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_press_h.png
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_h.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_fill_v.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_fill_h.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_h.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_thumb_h.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_thumb_v.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_v.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_focus_button.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_press.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/icon.png
diff --git a/Source/WebKit/WebKit1.pro b/Source/WebKit/WebKit1.pro
index 82cd0cd0c..b29b7bd27 100644
--- a/Source/WebKit/WebKit1.pro
+++ b/Source/WebKit/WebKit1.pro
@@ -152,4 +152,5 @@ contains(DEFINES, ENABLE_GEOLOCATION=1) {
$$PWD/qt/WebCoreSupport/GeolocationClientQt.cpp
}
+contains(DEFINES, WTF_USE_3D_GRAPHICS=1): WEBKIT += angle
diff --git a/Source/WebKit/blackberry/Api/BackingStore.cpp b/Source/WebKit/blackberry/Api/BackingStore.cpp
index b86cc5d11..d626fec30 100644
--- a/Source/WebKit/blackberry/Api/BackingStore.cpp
+++ b/Source/WebKit/blackberry/Api/BackingStore.cpp
@@ -37,7 +37,6 @@
#include "WebPage_p.h"
#include "WebSettings.h"
-#include <BlackBerryPlatformClient.h>
#include <BlackBerryPlatformExecutableMessage.h>
#include <BlackBerryPlatformGraphics.h>
#include <BlackBerryPlatformIntRectRegion.h>
@@ -209,7 +208,6 @@ BackingStorePrivate::BackingStorePrivate()
, m_currentWindowBackBuffer(0)
, m_preferredTileMatrixDimension(Vertical)
#if USE(ACCELERATED_COMPOSITING)
- , m_needsDrawLayersOnCommit(false)
, m_isDirectRenderingAnimationMessageScheduled(false)
#endif
{
@@ -391,7 +389,7 @@ void BackingStorePrivate::repaint(const Platform::IntRect& windowRect,
if (immediate) {
if (render(rect)) {
- if (!shouldDirectRenderingToWindow())
+ if (!shouldDirectRenderingToWindow() && !m_webPage->d->commitRootLayerIfNeeded())
blitVisibleContents();
m_webPage->d->m_client->notifyContentRendered(rect);
}
@@ -414,7 +412,7 @@ void BackingStorePrivate::slowScroll(const Platform::IntSize& delta, const Platf
Platform::IntRect rect = m_webPage->d->mapToTransformed(m_client->mapFromViewportToContents(windowRect));
if (immediate) {
- if (render(rect) && !isSuspended() && !shouldDirectRenderingToWindow())
+ if (render(rect) && !isSuspended() && !shouldDirectRenderingToWindow() && !m_webPage->d->commitRootLayerIfNeeded())
blitVisibleContents();
} else {
m_renderQueue->addToQueue(RenderQueue::VisibleScroll, rect);
@@ -514,7 +512,8 @@ void BackingStorePrivate::dispatchRenderJob()
void BackingStorePrivate::renderJob()
{
- ASSERT(shouldPerformRenderJobs());
+ if (!shouldPerformRenderJobs())
+ return;
#if DEBUG_BACKINGSTORE
BlackBerry::Platform::logAlways(BlackBerry::Platform::LogLevelCritical, "BackingStorePrivate::renderJob");
@@ -523,7 +522,7 @@ void BackingStorePrivate::renderJob()
m_renderQueue->render(!m_suspendRegularRenderJobs);
#if USE(ACCELERATED_COMPOSITING)
- drawLayersOnCommitIfNeeded();
+ m_webPage->d->commitRootLayerIfNeeded();
#endif
if (shouldPerformRenderJobs())
@@ -910,8 +909,6 @@ bool BackingStorePrivate::isCurrentVisibleJob(const TileIndex& index, BackingSto
return true;
// Second check if the individual parts of the non-rendered region are in the regular queue.
- bool isCurrent = true; // It is true until it isn't :)
-
IntRectList tileNotRenderedRegionRects = tile->frontBuffer()->notRenderedRegion().rects();
for (size_t i = 0; i < tileNotRenderedRegionRects.size(); ++i) {
Platform::IntRect tileNotRenderedRegionRect = tileNotRenderedRegionRects.at(i);
@@ -920,10 +917,11 @@ bool BackingStorePrivate::isCurrentVisibleJob(const TileIndex& index, BackingSto
// Map to transformed contents coordinates.
tileNotRenderedRegionRect.move(origin.x(), origin.y());
- isCurrent = m_renderQueue->isCurrentRegularRenderJob(tileNotRenderedRegionRect) ? isCurrent : false;
+ if (!m_renderQueue->isCurrentRegularRenderJob(tileNotRenderedRegionRect))
+ return false;
}
- return isCurrent;
+ return true;
}
void BackingStorePrivate::scrollBackingStore(int deltaX, int deltaY)
@@ -1147,11 +1145,6 @@ void BackingStorePrivate::blitVisibleContents(bool force)
}
if (!BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
-#if USE(ACCELERATED_COMPOSITING)
- // The blit will draw accelerated compositing layers if necessary
- m_needsDrawLayersOnCommit = false;
-#endif
-
BlackBerry::Platform::userInterfaceThreadMessageClient()->dispatchMessage(
BlackBerry::Platform::createMethodCallMessage(
&BackingStorePrivate::blitVisibleContents, this, force));
@@ -1247,11 +1240,6 @@ void BackingStorePrivate::blitContents(const Platform::IntRect& dstRect,
}
if (!BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
-#if USE(ACCELERATED_COMPOSITING)
- // The blit will draw accelerated compositing layers if necessary
- m_needsDrawLayersOnCommit = false;
-#endif
-
BlackBerry::Platform::userInterfaceThreadMessageClient()->dispatchMessage(
BlackBerry::Platform::createMethodCallMessage(
&BackingStorePrivate::blitContents, this, dstRect, srcRect, force));
@@ -2288,18 +2276,6 @@ void BackingStorePrivate::renderContents(BlackBerry::Platform::Graphics::Buffer*
if (contentsSize.isEmpty())
return;
-#if USE(ACCELERATED_COMPOSITING)
- // When committing the pending accelerated compositing layer changes, it's
- // necessary to draw the new layer appearance. This is normally done as
- // part of a blit, but if no blit happens because of this rendering, for
- // example because we're rendering an offscreen rectangle, someone needs to
- // catch this flag and make sure those layers get drawn.
- // This is just a complicated way to do
- // "if (commitRootLayerIfNeeded()) drawLayersOnCommit();"
- if (m_webPage->d->commitRootLayerIfNeeded())
- m_needsDrawLayersOnCommit = true;
-#endif
-
BlackBerry::Platform::Graphics::Drawable* bufferDrawable =
BlackBerry::Platform::Graphics::lockBufferDrawable(targetBuffer);
@@ -2601,18 +2577,6 @@ BackingStoreWindowBufferState* BackingStorePrivate::windowBackBufferState() cons
}
#if USE(ACCELERATED_COMPOSITING)
-bool BackingStorePrivate::drawLayersOnCommitIfNeeded()
-{
- // Check if rendering caused a commit and we need to redraw the layers
- if (!m_needsDrawLayersOnCommit)
- return false;
-
- m_needsDrawLayersOnCommit = false;
- m_webPage->d->drawLayersOnCommit();
-
- return true;
-}
-
void BackingStorePrivate::drawAndBlendLayersForDirectRendering(const Platform::IntRect& dirtyRect)
{
ASSERT(BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread());
@@ -2628,7 +2592,6 @@ void BackingStorePrivate::drawAndBlendLayersForDirectRendering(const Platform::I
WebCore::IntRect(WebCore::IntPoint(0, 0), m_webPage->d->transformedViewportSize()));
// Check if rendering caused a commit and we need to redraw the layers.
- m_needsDrawLayersOnCommit = false;
if (WebPageCompositorPrivate* compositor = m_webPage->d->compositor())
compositor->drawLayers(dstRect, untransformedContentsRect);
@@ -2648,6 +2611,20 @@ bool BackingStorePrivate::isActive() const
return BackingStorePrivate::s_currentBackingStoreOwner == m_webPage && SurfacePool::globalSurfacePool()->isActive();
}
+void BackingStorePrivate::didRenderContent(const Platform::IntRect& renderedRect)
+{
+ if (isScrollingOrZooming())
+ return;
+
+ if (!shouldDirectRenderingToWindow()) {
+ if (!m_webPage->d->needsOneShotDrawingSynchronization())
+ blitVisibleContents();
+ } else
+ invalidateWindow();
+
+ m_webPage->client()->notifyContentRendered(renderedRect);
+}
+
BackingStore::BackingStore(WebPage* webPage, BackingStoreClient* client)
: d(new BackingStorePrivate)
{
@@ -2728,12 +2705,14 @@ bool BackingStore::isDirectRenderingToWindow() const
void BackingStore::createBackingStoreMemory()
{
- SurfacePool::globalSurfacePool()->createBuffers();
+ if (BackingStorePrivate::s_currentBackingStoreOwner == d->m_webPage)
+ SurfacePool::globalSurfacePool()->createBuffers();
}
void BackingStore::releaseBackingStoreMemory()
{
- SurfacePool::globalSurfacePool()->releaseBuffers();
+ if (BackingStorePrivate::s_currentBackingStoreOwner == d->m_webPage)
+ SurfacePool::globalSurfacePool()->releaseBuffers();
}
bool BackingStore::defersBlit() const
diff --git a/Source/WebKit/blackberry/Api/BackingStore_p.h b/Source/WebKit/blackberry/Api/BackingStore_p.h
index 77eeab951..71738951c 100644
--- a/Source/WebKit/blackberry/Api/BackingStore_p.h
+++ b/Source/WebKit/blackberry/Api/BackingStore_p.h
@@ -334,6 +334,8 @@ public:
BlackBerry::Platform::IntSize surfaceSize() const;
BlackBerry::Platform::Graphics::Buffer* buffer() const;
+ void didRenderContent(const Platform::IntRect& renderedRect);
+
static WebPage* s_currentBackingStoreOwner;
unsigned m_suspendScreenUpdates;
diff --git a/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp b/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp
index d6ec87fe2..fc9cd5aae 100644
--- a/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp
+++ b/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp
@@ -29,7 +29,6 @@
#include "JSDOMWindow.h"
#include "JSGlobalData.h"
#include "Logging.h"
-#include "MainThread.h"
#include "MemoryCache.h"
#include "NetworkStateNotifier.h"
#include "PageCache.h"
@@ -41,6 +40,7 @@
#include <BlackBerryPlatformExecutableMessage.h>
#include <BlackBerryPlatformMessageClient.h>
#include <BlackBerryPlatformSettings.h>
+#include <wtf/MainThread.h>
using namespace WebCore;
diff --git a/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h b/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h
index ce6dd2743..c9a66390d 100644
--- a/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h
+++ b/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h
@@ -21,8 +21,8 @@
#include "BlackBerryGlobal.h"
-#include "PlatformString.h"
#include <JavaScriptCore/JSObjectRef.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Credential;
@@ -42,6 +42,7 @@ class WebPage;
class BLACKBERRY_EXPORT DumpRenderTreeClient {
public:
+ virtual ~DumpRenderTreeClient() { }
virtual void runTests() = 0;
// FrameLoaderClient delegates
@@ -53,19 +54,19 @@ public:
virtual void didFinishLoadForFrame(WebCore::Frame*) = 0;
virtual void didFinishDocumentLoadForFrame(WebCore::Frame*) = 0;
virtual void didClearWindowObjectInWorld(WebCore::DOMWrapperWorld*, JSGlobalContextRef, JSObjectRef windowObject) = 0;
- virtual void didReceiveTitleForFrame(const WTF::String& title, WebCore::Frame*) = 0;
+ virtual void didReceiveTitleForFrame(const String& title, WebCore::Frame*) = 0;
virtual void didDecidePolicyForNavigationAction(const WebCore::NavigationAction&, const WebCore::ResourceRequest&) = 0;
virtual void didDispatchWillPerformClientRedirect() = 0;
virtual void didHandleOnloadEventsForFrame(WebCore::Frame*) = 0;
// ChromeClient delegates
- virtual void addMessageToConsole(const WTF::String& message, unsigned int lineNumber, const WTF::String& sourceID) = 0;
- virtual void runJavaScriptAlert(const WTF::String& message) = 0;
- virtual bool runJavaScriptConfirm(const WTF::String& message) = 0;
- virtual WTF::String runJavaScriptPrompt(const WTF::String& message, const WTF::String& defaultValue) = 0;
- virtual bool runBeforeUnloadConfirmPanel(const WTF::String& message) = 0;
- virtual void setStatusText(const WTF::String&) = 0;
- virtual void exceededDatabaseQuota(WebCore::SecurityOrigin*, const WTF::String& name) = 0;
+ virtual void addMessageToConsole(const String& message, unsigned int lineNumber, const String& sourceID) = 0;
+ virtual void runJavaScriptAlert(const String& message) = 0;
+ virtual bool runJavaScriptConfirm(const String& message) = 0;
+ virtual String runJavaScriptPrompt(const String& message, const String& defaultValue) = 0;
+ virtual bool runBeforeUnloadConfirmPanel(const String& message) = 0;
+ virtual void setStatusText(const String&) = 0;
+ virtual void exceededDatabaseQuota(WebCore::SecurityOrigin*, const String& name) = 0;
virtual bool allowsOpeningWindow() = 0;
virtual void windowCreated(WebPage*) = 0;
@@ -80,7 +81,7 @@ public:
virtual bool shouldDeleteDOMRange(WebCore::Range*) = 0;
virtual bool shouldChangeSelectedDOMRangeToDOMRangeAffinityStillSelecting(WebCore::Range* fromRange, WebCore::Range* toRange, int affinity, bool stillSelecting) = 0;
virtual bool shouldInsertNode(WebCore::Node*, WebCore::Range*, int insertAction) = 0;
- virtual bool shouldInsertText(const WTF::String&, WebCore::Range*, int insertAction) = 0;
+ virtual bool shouldInsertText(const String&, WebCore::Range*, int insertAction) = 0;
virtual bool isSelectTrailingWhitespaceEnabled() const = 0;
virtual bool didReceiveAuthenticationChallenge(WebCore::Credential&) = 0;
diff --git a/Source/WebKit/blackberry/Api/InRegionScroller.cpp b/Source/WebKit/blackberry/Api/InRegionScroller.cpp
index aaf40168c..6b367b10f 100644
--- a/Source/WebKit/blackberry/Api/InRegionScroller.cpp
+++ b/Source/WebKit/blackberry/Api/InRegionScroller.cpp
@@ -44,7 +44,6 @@ namespace WebKit {
static bool canScrollInnerFrame(Frame*);
static bool canScrollRenderBox(RenderBox*);
static RenderLayer* parentLayer(RenderLayer*);
-static Node* enclosingLayerNode(RenderLayer*);
static bool isNonRenderViewFixedPositionedContainer(RenderLayer*);
InRegionScroller::InRegionScroller(WebPagePrivate* webPagePrivate)
@@ -76,36 +75,35 @@ bool InRegionScroller::setScrollPositionWebKitThread(unsigned camouflagedLayer,
InRegionScrollerPrivate::InRegionScrollerPrivate(WebPagePrivate* webPagePrivate)
: m_webPage(webPagePrivate)
+ , m_needsActiveScrollableAreaCalculation(false)
{
}
-void InRegionScrollerPrivate::setNode(WebCore::Node* node)
-{
- m_inRegionScrollStartingNode = node;
-}
-
-WebCore::Node* InRegionScrollerPrivate::node() const
-{
- return m_inRegionScrollStartingNode.get();
-}
-
void InRegionScrollerPrivate::reset()
{
- setNode(0);
-
+ m_needsActiveScrollableAreaCalculation = false;
for (size_t i = 0; i < m_activeInRegionScrollableAreas.size(); ++i)
delete m_activeInRegionScrollableAreas[i];
m_activeInRegionScrollableAreas.clear();
}
-bool InRegionScrollerPrivate::hasNode() const
+bool InRegionScrollerPrivate::isActive() const
{
- return !!m_inRegionScrollStartingNode;
+ return m_activeInRegionScrollableAreas.size() > 0;
}
-bool InRegionScrollerPrivate::canScroll() const
+void InRegionScrollerPrivate::clearDocumentData(const Document* documentGoingAway)
{
- return hasNode();
+ if (m_needsActiveScrollableAreaCalculation) {
+ reset();
+ return;
+ }
+
+ InRegionScrollableArea* scrollableArea = static_cast<InRegionScrollableArea*>(m_activeInRegionScrollableAreas[0]);
+ ASSERT(scrollableArea);
+ Node* node = scrollableArea->layer()->enclosingElement();
+ if (node && node->document() == documentGoingAway)
+ reset();
}
bool InRegionScrollerPrivate::setScrollPositionCompositingThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition)
@@ -113,7 +111,23 @@ bool InRegionScrollerPrivate::setScrollPositionCompositingThread(unsigned camouf
LayerCompositingThread* scrollLayer = reinterpret_cast<LayerWebKitThread*>(camouflagedLayer)->layerCompositingThread();
// FIXME: Clamp maximum and minimum scroll positions as a last attempt to fix round errors.
- scrollLayer->override()->setBoundsOrigin(scrollPosition);
+ FloatPoint anchor;
+ if (scrollLayer->override()->isAnchorPointSet())
+ anchor = scrollLayer->override()->anchorPoint();
+ else
+ anchor = scrollLayer->anchorPoint();
+
+ FloatSize bounds;
+ if (scrollLayer->override()->isBoundsSet())
+ bounds = scrollLayer->override()->bounds();
+ else
+ bounds = scrollLayer->bounds();
+
+ // Position is offset on the layer by the layer anchor point.
+ FloatPoint layerPosition(-scrollPosition.x() + anchor.x() * bounds.width(),
+ -scrollPosition.y() + anchor.y() * bounds.height());
+
+ scrollLayer->override()->setPosition(FloatPoint(layerPosition.x(), layerPosition.y()));
// The client is going to blitVisibleContens, which allow us benefit from "defer blits" technique.
return true;
@@ -143,13 +157,42 @@ bool InRegionScrollerPrivate::setScrollPositionWebKitThread(unsigned camouflaged
if (!layer)
return false;
+ calculateActiveAndShrinkCachedScrollableAreas(layer);
+
// FIXME: Clamp maximum and minimum scroll positions as a last attempt to fix round errors.
return setLayerScrollPosition(layer, scrollPosition);
}
+void InRegionScrollerPrivate::calculateActiveAndShrinkCachedScrollableAreas(RenderLayer* layer)
+{
+ if (!m_needsActiveScrollableAreaCalculation)
+ return;
+
+ ASSERT(layer);
+ std::vector<Platform::ScrollViewBase*>::iterator end = m_activeInRegionScrollableAreas.end();
+ std::vector<Platform::ScrollViewBase*>::iterator it = m_activeInRegionScrollableAreas.begin();
+ while (it != end) {
+ InRegionScrollableArea* curr = static_cast<InRegionScrollableArea*>(*it);
+
+ if (layer == curr->layer()) {
+ ++it;
+ continue;
+ }
+
+ delete *it;
+ it = m_activeInRegionScrollableAreas.erase(it);
+ // ::erase invalidates the iterators.
+ end = m_activeInRegionScrollableAreas.end();
+ }
+
+ ASSERT(m_activeInRegionScrollableAreas.size() == 1);
+ m_needsActiveScrollableAreaCalculation = false;
+}
+
void InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint(const WebCore::IntPoint& point)
{
ASSERT(m_activeInRegionScrollableAreas.empty());
+ m_needsActiveScrollableAreaCalculation = false;
HitTestResult result = m_webPage->m_mainFrame->eventHandler()->hitTestResultAtPoint(m_webPage->mapFromViewportToContents(point), false /*allowShadowContent*/);
Node* node = result.innerNonSharedNode();
@@ -190,6 +233,8 @@ void InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint(const Web
if (m_activeInRegionScrollableAreas.empty())
return;
+ m_needsActiveScrollableAreaCalculation = true;
+
// Post-calculate the visible window rects in reverse hit test order so
// we account for all and any clipping rects.
WebCore::IntRect recursiveClippingRect(WebCore::IntPoint::zero(), m_webPage->transformedViewportSize());
@@ -260,13 +305,11 @@ bool InRegionScrollerPrivate::setLayerScrollPosition(RenderLayer* layer, const I
backingStoreClient->setIsScrollNotificationSuppressed(false);
}
- return true;
- }
+ } else {
- // RenderBox-based elements case (scrollable boxes (div's, p's, textarea's, etc)).
- layer->scrollToOffset(scrollPosition.x(), scrollPosition.y());
- // FIXME_agomes: Please recheck if it is needed still!
- layer->renderer()->repaint(true);
+ // RenderBox-based elements case (scrollable boxes (div's, p's, textarea's, etc)).
+ layer->scrollToOffset(toSize(scrollPosition));
+ }
m_webPage->m_selectionHandler->selectionPositionChanged();
// FIXME: We have code in place to handle scrolling and clipping tap highlight
@@ -343,17 +386,6 @@ static RenderLayer* parentLayer(RenderLayer* layer)
return 0;
}
-// FIXME: Make RenderLayer::enclosingElement public so this one can be removed.
-static Node* enclosingLayerNode(RenderLayer* layer)
-{
- for (RenderObject* r = layer->renderer(); r; r = r->parent()) {
- if (Node* e = r->node())
- return e;
- }
- ASSERT_NOT_REACHED();
- return 0;
-}
-
static bool isNonRenderViewFixedPositionedContainer(RenderLayer* layer)
{
RenderObject* o = layer->renderer();
@@ -369,10 +401,6 @@ void InRegionScrollerPrivate::pushBackInRegionScrollable(InRegionScrollableArea*
scrollableArea->setCanPropagateScrollingToEnclosingScrollable(!isNonRenderViewFixedPositionedContainer(scrollableArea->layer()));
m_activeInRegionScrollableAreas.push_back(scrollableArea);
- if (m_activeInRegionScrollableAreas.size() == 1) {
- // FIXME: Use RenderLayer::renderBox()->node() instead?
- setNode(enclosingLayerNode(scrollableArea->layer()));
- }
}
}
diff --git a/Source/WebKit/blackberry/Api/InRegionScroller_p.h b/Source/WebKit/blackberry/Api/InRegionScroller_p.h
index d9e0ebab1..03140c7bf 100644
--- a/Source/WebKit/blackberry/Api/InRegionScroller_p.h
+++ b/Source/WebKit/blackberry/Api/InRegionScroller_p.h
@@ -42,12 +42,8 @@ class InRegionScrollerPrivate {
public:
InRegionScrollerPrivate(WebPagePrivate*);
- void setNode(WebCore::Node*);
- WebCore::Node* node() const;
void reset();
-
- bool canScroll() const;
- bool hasNode() const;
+ bool isActive() const;
bool setScrollPositionCompositingThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition);
bool setScrollPositionWebKitThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition, bool supportsAcceleratedScrolling);
@@ -55,16 +51,20 @@ public:
void calculateInRegionScrollableAreasForPoint(const WebCore::IntPoint&);
const std::vector<Platform::ScrollViewBase*>& activeInRegionScrollableAreas() const;
+ void clearDocumentData(const WebCore::Document*);
+
WebPagePrivate* m_webPage;
+ bool m_needsActiveScrollableAreaCalculation;
private:
bool setLayerScrollPosition(WebCore::RenderLayer*, const WebCore::IntPoint& scrollPosition);
+ void calculateActiveAndShrinkCachedScrollableAreas(WebCore::RenderLayer*);
+
void pushBackInRegionScrollable(InRegionScrollableArea*);
void adjustScrollDelta(const WebCore::IntPoint& maxOffset, const WebCore::IntPoint& currentOffset, WebCore::IntSize& delta) const;
- RefPtr<WebCore::Node> m_inRegionScrollStartingNode;
std::vector<Platform::ScrollViewBase*> m_activeInRegionScrollableAreas;
};
diff --git a/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp b/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp
index 1967ae09b..5c433879b 100644
--- a/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp
+++ b/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp
@@ -147,6 +147,9 @@ JavaScriptVariant::~JavaScriptVariant()
JavaScriptVariant& JavaScriptVariant::operator=(const JavaScriptVariant& v)
{
+ if (&v == this)
+ return *this;
+
switch (v.type()) {
case Boolean:
setBoolean(v.booleanValue());
diff --git a/Source/WebKit/blackberry/Api/WebAnimation.cpp b/Source/WebKit/blackberry/Api/WebAnimation.cpp
index 11b0ddd56..e916ca5b8 100644
--- a/Source/WebKit/blackberry/Api/WebAnimation.cpp
+++ b/Source/WebKit/blackberry/Api/WebAnimation.cpp
@@ -70,7 +70,8 @@ WebAnimation::~WebAnimation()
WebAnimation& WebAnimation::operator=(const WebAnimation& o)
{
- *d = *o.d;
+ if (&o != this)
+ *d = *o.d;
return *this;
}
diff --git a/Source/WebKit/blackberry/Api/WebPage.cpp b/Source/WebKit/blackberry/Api/WebPage.cpp
index 2e34c366c..2052b0e82 100644
--- a/Source/WebKit/blackberry/Api/WebPage.cpp
+++ b/Source/WebKit/blackberry/Api/WebPage.cpp
@@ -20,6 +20,7 @@
#include "WebPage.h"
#include "ApplicationCacheStorage.h"
+#include "AuthenticationChallengeManager.h"
#include "AutofillManager.h"
#include "BackForwardController.h"
#include "BackForwardListImpl.h"
@@ -29,7 +30,6 @@
#if ENABLE(BATTERY_STATUS)
#include "BatteryClientBlackBerry.h"
#endif
-#include "CString.h"
#include "CachedImage.h"
#include "Chrome.h"
#include "ChromeClientBlackBerry.h"
@@ -76,6 +76,7 @@
#include "InspectorBackendDispatcher.h"
#include "InspectorClientBlackBerry.h"
#include "InspectorController.h"
+#include "InspectorInstrumentation.h"
#include "InspectorOverlay.h"
#include "JavaScriptDebuggerBlackBerry.h"
#include "JavaScriptVariant_p.h"
@@ -153,7 +154,6 @@
#include <BlackBerryPlatformDeviceInfo.h>
#include <BlackBerryPlatformExecutableMessage.h>
-#include <BlackBerryPlatformITPolicy.h>
#include <BlackBerryPlatformKeyboardEvent.h>
#include <BlackBerryPlatformMessageClient.h>
#include <BlackBerryPlatformMouseEvent.h>
@@ -166,6 +166,8 @@
#include <sys/keycodes.h>
#include <unicode/ustring.h> // platform ICU
+#include <wtf/text/CString.h>
+
#ifndef USER_PROCESSES
#include <memalloc.h>
#endif
@@ -567,8 +569,7 @@ void WebPagePrivate::init(const WebString& pageGroupName)
m_inRegionScroller = adoptPtr(new InRegionScroller(this));
#if ENABLE(WEBGL)
- Platform::Settings* settings = Platform::Settings::instance();
- m_page->settings()->setWebGLEnabled(settings && settings->isWebGLSupported());
+ m_page->settings()->setWebGLEnabled(true);
#endif
#if ENABLE(ACCELERATED_2D_CANVAS)
m_page->settings()->setCanvasUsesAcceleratedDrawing(true);
@@ -742,6 +743,7 @@ bool WebPagePrivate::executeJavaScript(const char* scriptUTF8, JavaScriptDataTyp
JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
JSGlobalContextRef context = toGlobalRef(exec);
+ JSC::JSLockHolder lock(exec);
JSType type = JSValueGetType(context, toRef(exec, value));
switch (type) {
@@ -1482,8 +1484,8 @@ void WebPage::scrollBy(const Platform::IntSize& delta)
void WebPagePrivate::notifyInRegionScrollStopped()
{
- if (m_inRegionScroller->d->hasNode()) {
- enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling(m_inRegionScroller->d->node());
+ if (m_inRegionScroller->d->isActive()) {
+ enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling();
m_inRegionScroller->d->reset();
}
}
@@ -1493,9 +1495,16 @@ void WebPage::notifyInRegionScrollStopped()
d->notifyInRegionScrollStopped();
}
-void WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling(Node* scrolledNode)
+void WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling()
{
- ASSERT(scrolledNode);
+ // If no scrolling was even performed, bail out.
+ if (m_inRegionScroller->d->m_needsActiveScrollableAreaCalculation)
+ return;
+
+ InRegionScrollableArea* scrollableArea = static_cast<InRegionScrollableArea*>(m_inRegionScroller->d->activeInRegionScrollableAreas()[0]);
+ ASSERT(scrollableArea);
+ Node* scrolledNode = scrollableArea->layer()->enclosingElement();
+
if (scrolledNode->isDocumentNode()) {
Frame* frame = static_cast<const Document*>(scrolledNode)->frame();
ASSERT(frame);
@@ -1560,10 +1569,11 @@ void WebPagePrivate::updateViewportSize(bool setFixedReportedSize, bool sendResi
if (!m_backingStore)
return;
ASSERT(m_mainFrame->view());
+ IntSize visibleSize = actualVisibleSize();
if (setFixedReportedSize)
- m_mainFrame->view()->setFixedReportedSize(actualVisibleSize());
+ m_mainFrame->view()->setFixedReportedSize(visibleSize);
- IntRect frameRect = IntRect(scrollPosition(), viewportSize());
+ IntRect frameRect = IntRect(scrollPosition(), visibleSize);
if (frameRect != m_mainFrame->view()->frameRect()) {
m_mainFrame->view()->setFrameRect(frameRect);
m_mainFrame->view()->adjustViewSize();
@@ -2258,14 +2268,20 @@ bool WebPagePrivate::isActive() const
return m_client->isActive();
}
-bool WebPagePrivate::authenticationChallenge(const KURL& url, const ProtectionSpace& protectionSpace, Credential& inputCredential)
+void WebPagePrivate::authenticationChallenge(const KURL& url, const ProtectionSpace& protectionSpace, const Credential& inputCredential, AuthenticationChallengeClient* client)
{
WebString username;
WebString password;
#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_dumpRenderTree)
- return m_dumpRenderTree->didReceiveAuthenticationChallenge(inputCredential);
+ if (m_dumpRenderTree) {
+ Credential credential(inputCredential, inputCredential.persistence());
+ if (m_dumpRenderTree->didReceiveAuthenticationChallenge(credential))
+ client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
+ else
+ client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
+ return;
+ }
#endif
#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
@@ -2282,8 +2298,11 @@ bool WebPagePrivate::authenticationChallenge(const KURL& url, const ProtectionSp
#else
Credential credential(username, password, CredentialPersistenceNone);
#endif
- inputCredential = credential;
- return isConfirmed;
+
+ if (isConfirmed)
+ client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
+ else
+ client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
}
PageClientBlackBerry::SaveCredentialType WebPagePrivate::notifyShouldSaveCredential(bool isNew)
@@ -2408,6 +2427,13 @@ Platform::WebContext WebPagePrivate::webContext(TargetDetectionStrategy strategy
if (node->isElementNode()) {
Element* element = static_cast<Element*>(node->shadowAncestorNode());
+
+ String webWorksContext(DOMSupport::webWorksContext(element));
+ if (!webWorksContext.stripWhiteSpace().isEmpty()) {
+ context.setFlag(Platform::WebContext::IsWebWorksContext);
+ context.setWebWorksContext(webWorksContext.utf8().data());
+ }
+
if (DOMSupport::isTextBasedContentEditableElement(element)) {
if (!canStartSelection) {
// Input fields host node is by spec non-editable unless the field itself has content editable enabled.
@@ -2549,8 +2575,8 @@ void WebPagePrivate::clearDocumentData(const Document* documentGoingAway)
if (m_currentBlockZoomAdjustedNode && m_currentBlockZoomAdjustedNode->document() == documentGoingAway)
m_currentBlockZoomAdjustedNode = 0;
- if (m_inRegionScroller->d->hasNode() && m_inRegionScroller->d->node()->document() == documentGoingAway)
- m_inRegionScroller->d->reset();
+ if (m_inRegionScroller->d->isActive())
+ m_inRegionScroller->d->clearDocumentData(documentGoingAway);
if (documentGoingAway->frame())
m_inputHandler->frameUnloaded(documentGoingAway->frame());
@@ -2737,7 +2763,7 @@ PassRefPtr<Node> WebPagePrivate::contextNode(TargetDetectionStrategy strategy)
return result.node(FatFingersResult::ShadowContentNotAllowed);
}
- HitTestResult result = eventHandler->hitTestResultAtPoint(contentPos, false /*allowShadowContent*/);
+ HitTestResult result = eventHandler->hitTestResultAtPoint(contentPos);
return result.innerNode();
}
@@ -2809,7 +2835,7 @@ Node* WebPagePrivate::nodeForZoomUnderPoint(const IntPoint& point)
if (!m_mainFrame)
return 0;
- HitTestResult result = m_mainFrame->eventHandler()->hitTestResultAtPoint(mapFromTransformed(point), false);
+ HitTestResult result = m_mainFrame->eventHandler()->hitTestResultAtPoint(mapFromTransformed(point));
Node* node = result.innerNonSharedNode();
@@ -3122,6 +3148,11 @@ void WebPage::blockZoomAnimationFinished()
d->zoomBlock();
}
+void WebPage::resetBlockZoom()
+{
+ d->resetBlockZoom();
+}
+
void WebPagePrivate::resetBlockZoom()
{
m_currentBlockZoomNode = 0;
@@ -3676,28 +3707,12 @@ void WebPagePrivate::setViewportSize(const IntSize& transformedActualVisibleSize
if (!m_visible || !m_backingStore->d->isActive())
setShouldResetTilesWhenShown(true);
- bool needsLayout = false;
bool hasPendingOrientation = m_pendingOrientation != -1;
if (m_hasPendingSurfaceSizeChange) {
resizeSurfaceIfNeeded();
m_hasPendingSurfaceSizeChange = false;
}
- if (!hasPendingOrientation) {
- // If we are not rotating and we've started a viewport resize with
- // the Render tree in dirty state (i.e. it needs layout), lets
- // reset the needsLayout flag for now but set our own 'needsLayout'.
- //
- // Reason: calls like ScrollView::setFixedLayoutSize can trigger a layout
- // if the render tree needs it. We want to avoid it till the viewport resize
- // is actually done (i.e. ScrollView::setViewportSize gets called
- // further down the method).
- if (m_mainFrame->view()->needsLayout()) {
- m_mainFrame->view()->unscheduleRelayout();
- m_mainFrame->contentRenderer()->setNeedsLayout(false);
- needsLayout = true;
- }
- }
// The window buffers might have been recreated, cleared, moved, etc., so:
m_backingStore->d->windowFrontBufferState()->clearBlittedRegion();
@@ -3722,6 +3737,7 @@ void WebPagePrivate::setViewportSize(const IntSize& transformedActualVisibleSize
setDefaultLayoutSize(transformedActualVisibleSize);
// Recompute our virtual viewport.
+ bool needsLayout = false;
static ViewportArguments defaultViewportArguments;
if (m_viewportArguments != defaultViewportArguments) {
// We may need to infer the width and height for the viewport with respect to the rotation.
@@ -3805,16 +3821,17 @@ void WebPagePrivate::setViewportSize(const IntSize& transformedActualVisibleSize
// We might need to layout here to get a correct contentsSize so that zoomToFit
// is calculated correctly.
- while (needsLayout) {
+ bool stillNeedsLayout = needsLayout;
+ while (stillNeedsLayout) {
setNeedsLayout();
requestLayoutIfNeeded();
- needsLayout = false;
+ stillNeedsLayout = false;
// Emulate the zoomToFitWidthOnLoad algorithm if we're rotating.
++m_nestedLayoutFinishedCount;
if (needsLayoutToFindContentSize) {
if (setViewMode(viewMode()))
- needsLayout = true;
+ stillNeedsLayout = true;
}
}
m_nestedLayoutFinishedCount = 0;
@@ -4028,7 +4045,7 @@ bool WebPagePrivate::handleMouseEvent(PlatformMouseEvent& mouseEvent)
}
if (!node) {
- HitTestResult result = eventHandler->hitTestResultAtPoint(mapFromViewportToContents(mouseEvent.position()), false /*allowShadowContent*/);
+ HitTestResult result = eventHandler->hitTestResultAtPoint(mapFromViewportToContents(mouseEvent.position()));
node = result.innerNode();
}
@@ -4082,6 +4099,10 @@ bool WebPage::touchEvent(const Platform::TouchEvent& event)
if (d->m_page->defersLoading())
return false;
+ // FIXME: this checks if node search on inspector is enabled, though it might not be optimized.
+ if (InspectorInstrumentation::handleMousePress(d->m_mainFrame->page()))
+ return false;
+
PluginView* pluginView = d->m_fullScreenPluginView.get();
if (pluginView)
return d->dispatchTouchEventToFullScreenPlugin(pluginView, event);
@@ -4092,7 +4113,6 @@ bool WebPage::touchEvent(const Platform::TouchEvent& event)
tEvent.m_points[i].m_screenPos = d->mapFromTransformed(tEvent.m_points[i].m_screenPos);
}
- Platform::Gesture tapGesture;
if (event.hasGesture(Platform::Gesture::SingleTap))
d->m_pluginMayOpenNewTab = true;
else if (tEvent.m_type == Platform::TouchEvent::TouchStart || tEvent.m_type == Platform::TouchEvent::TouchCancel)
@@ -5188,7 +5208,7 @@ WebDOMDocument WebPage::document() const
WebDOMNode WebPage::nodeAtPoint(int x, int y)
{
- HitTestResult result = d->m_mainFrame->eventHandler()->hitTestResultAtPoint(d->mapFromTransformed(IntPoint(x, y)), false);
+ HitTestResult result = d->m_mainFrame->eventHandler()->hitTestResultAtPoint(d->mapFromTransformed(IntPoint(x, y)));
Node* node = result.innerNonSharedNode();
return WebDOMNode(node);
}
@@ -5473,31 +5493,6 @@ void WebPagePrivate::setCompositorDrawsRootLayer(bool compositorDrawsRootLayer)
}
#if USE(ACCELERATED_COMPOSITING)
-void WebPagePrivate::drawLayersOnCommit()
-{
- if (!Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
- // This method will only be called when the layer appearance changed due to
- // animations. And only if we don't need a one shot drawing sync.
- ASSERT(!needsOneShotDrawingSynchronization());
-
- if (!m_webPage->isVisible())
- return;
-
- m_backingStore->d->willDrawLayersOnCommit();
-
- Platform::userInterfaceThreadMessageClient()->dispatchMessage(
- Platform::createMethodCallMessage(&WebPagePrivate::drawLayersOnCommit, this));
- return;
- }
-
-#if DEBUG_AC_COMMIT
- Platform::log(Platform::LogLevelCritical, "%s", WTF_PRETTY_FUNCTION);
-#endif
-
- if (!m_backingStore->d->shouldDirectRenderingToWindow())
- m_backingStore->d->blitVisibleContents();
-}
-
void WebPagePrivate::scheduleRootLayerCommit()
{
if (!(m_frameLayers && m_frameLayers->hasLayer()) && !m_overlayLayer)
@@ -5626,6 +5621,8 @@ void WebPagePrivate::commitRootLayer(const IntRect& layoutRectForCompositing,
if (overlayLayer)
overlayLayer->commitOnCompositingThread();
+
+ scheduleCompositingRun();
}
bool WebPagePrivate::commitRootLayerIfNeeded()
@@ -5646,7 +5643,9 @@ bool WebPagePrivate::commitRootLayerIfNeeded()
if (!m_needsCommit)
return false;
- if (!(m_frameLayers && m_frameLayers->hasLayer()) && !m_overlayLayer)
+ // Don't bail if the layers were removed and we now need a one shot drawing sync as a consequence.
+ if (!(m_frameLayers && m_frameLayers->hasLayer()) && !m_overlayLayer
+ && !m_needsOneShotDrawingSynchronization)
return false;
FrameView* view = m_mainFrame->view();
@@ -5744,10 +5743,7 @@ void WebPagePrivate::rootLayerCommitTimerFired(Timer<WebPagePrivate>*)
}
}
- // If the web page needs layout, the commit will fail.
- // No need to draw the layers if nothing changed.
- if (commitRootLayerIfNeeded())
- drawLayersOnCommit();
+ commitRootLayerIfNeeded();
}
void WebPagePrivate::resetCompositingSurface()
@@ -5888,9 +5884,6 @@ void WebPagePrivate::resumeRootLayerCommit()
m_suspendRootLayerCommit = false;
m_needsCommit = true;
-
- // Recreate layer resources if needed.
- commitRootLayerIfNeeded();
}
bool WebPagePrivate::needsOneShotDrawingSynchronization()
@@ -6032,7 +6025,7 @@ void WebPagePrivate::exitFullScreenForElement(Element* element)
{
#if ENABLE(VIDEO)
// TODO: We should not check video tag when we decide to support all elements.
- if (!element || !element->hasTagName(HTMLNames::videoTag))
+ if (!element || (!element->hasTagName(HTMLNames::videoTag) && !containsVideoTags(element)))
return;
if (m_webSettings->fullScreenVideoCapable()) {
// The Browser chrome has its own fullscreen video widget.
@@ -6219,10 +6212,6 @@ void WebPagePrivate::scheduleCompositingRun()
void WebPage::setWebGLEnabled(bool enabled)
{
- if (!Platform::ITPolicy::isWebGLEnabled()) {
- d->m_page->settings()->setWebGLEnabled(false);
- return;
- }
d->m_page->settings()->setWebGLEnabled(enabled);
}
diff --git a/Source/WebKit/blackberry/Api/WebPage.h b/Source/WebKit/blackberry/Api/WebPage.h
index 14d57a65f..f3a5760fa 100644
--- a/Source/WebKit/blackberry/Api/WebPage.h
+++ b/Source/WebKit/blackberry/Api/WebPage.h
@@ -188,6 +188,7 @@ public:
void zoomToInitialScale();
bool blockZoom(int x, int y);
void blockZoomAnimationFinished();
+ void resetBlockZoom();
bool isAtInitialZoom() const;
bool isMaxZoomed() const;
bool isMinZoomed() const;
diff --git a/Source/WebKit/blackberry/Api/WebPageClient.h b/Source/WebKit/blackberry/Api/WebPageClient.h
index be574a65b..137c81e87 100644
--- a/Source/WebKit/blackberry/Api/WebPageClient.h
+++ b/Source/WebKit/blackberry/Api/WebPageClient.h
@@ -43,6 +43,7 @@ class GeoTrackerListener;
class IntRectRegion;
class NetworkRequest;
class NetworkStreamFactory;
+class WebUserMediaRequest;
namespace Graphics {
class Window;
@@ -103,7 +104,7 @@ public:
virtual void notifyInRegionScrollingStartingPointChanged(const std::vector<Platform::ScrollViewBase*>&) = 0;
virtual void notifyNoMouseMoveOrTouchMoveHandlers() = 0;
- virtual void notifyDocumentOnLoad() = 0;
+ virtual void notifyDocumentOnLoad(bool) = 0;
virtual void notifyWindowObjectCleared() = 0;
virtual WebString invokeClientJavaScriptCallback(const char* const* args, unsigned numArgs) = 0;
@@ -165,9 +166,6 @@ public:
virtual void resetBackForwardList(unsigned listSize, unsigned currentIndex) = 0;
virtual void openPopupList(bool multiple, int size, const ScopeArray<WebString>& labels, const bool* enableds, const int* itemType, const bool* selecteds) = 0;
- virtual void openDateTimePopup(int type, const WebString& value, const WebString& min, const WebString& max, double step) = 0;
- virtual void openColorPopup(const WebString& value) = 0;
-
virtual bool chooseFilenames(bool allowMultiple, const SharedArray<WebString>& acceptTypes, const SharedArray<WebString>& initialFiles, const WebString& capture, SharedArray<WebString>& chosenFiles) = 0;
virtual void loadPluginForMimetype(int, int width, int height, const SharedArray<WebString>& paramNames, const SharedArray<WebString>& paramValues, const char* url) = 0;
@@ -269,6 +267,10 @@ public:
virtual void registerProtocolHandler(const WebString& /*scheme*/, const WebString& /*baseURL*/, const WebString& /*url*/, const WebString& /*title*/) = 0;
virtual ProtocolHandlersState isProtocolHandlerRegistered(const WebString& /*scheme*/, const WebString& /*baseURL*/, const WebString& /*url*/) = 0;
virtual void unregisterProtocolHandler(const WebString& /*scheme*/, const WebString& /*baseURL*/, const WebString& /*url*/) = 0;
+
+ virtual void requestUserMedia(const Platform::WebUserMediaRequest&) = 0;
+ virtual void cancelUserMediaRequest(const Platform::WebUserMediaRequest&) = 0;
+ virtual void updateFindStringResult(int numMatches, int currentIndex) = 0;
};
} // namespace WebKit
} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/Api/WebPage_p.h b/Source/WebKit/blackberry/Api/WebPage_p.h
index 1e5af0bce..6308971c5 100644
--- a/Source/WebKit/blackberry/Api/WebPage_p.h
+++ b/Source/WebKit/blackberry/Api/WebPage_p.h
@@ -45,6 +45,7 @@
#define DEFAULT_MAX_LAYOUT_HEIGHT 768
namespace WebCore {
+class AuthenticationChallengeClient;
class AutofillManager;
class DOMWrapperWorld;
class Document;
@@ -152,7 +153,7 @@ public:
void setScrollPosition(const WebCore::IntPoint&);
void scrollBy(int deltaX, int deltaY);
- void enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling(WebCore::Node*);
+ void enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling();
void notifyInRegionScrollStopped();
void setScrollOriginPoint(const Platform::IntPoint&);
void setHasInRegionScrollableAreas(bool);
@@ -201,7 +202,7 @@ public:
virtual int showAlertDialog(WebPageClient::AlertType atype);
virtual bool isActive() const;
virtual bool isVisible() const { return m_visible; }
- virtual bool authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, WebCore::Credential&);
+ virtual void authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, const WebCore::Credential&, WebCore::AuthenticationChallengeClient*);
virtual SaveCredentialType notifyShouldSaveCredential(bool);
virtual void syncProxyCredential(const WebCore::Credential&);
@@ -409,7 +410,6 @@ public:
// Thread safe.
void resetCompositingSurface();
- void drawLayersOnCommit(); // Including backing store blit.
// Compositing thread.
void setRootLayerCompositingThread(WebCore::LayerCompositingThread*);
diff --git a/Source/WebKit/blackberry/Api/WebSettings.cpp b/Source/WebKit/blackberry/Api/WebSettings.cpp
index de6f505d7..18bfbc53a 100644
--- a/Source/WebKit/blackberry/Api/WebSettings.cpp
+++ b/Source/WebKit/blackberry/Api/WebSettings.cpp
@@ -37,67 +37,67 @@
namespace BlackBerry {
namespace WebKit {
-DEFINE_STATIC_LOCAL(String, BlackBerryAllowCrossSiteRequests, ("BlackBerryAllowCrossSiteRequests"));
-DEFINE_STATIC_LOCAL(String, BlackBerryAsynchronousSpellChecking, ("BlackBerryAsynchronousSpellChecking"));
-DEFINE_STATIC_LOCAL(String, BlackBerryBackgroundColor, ("BlackBerryBackgroundColor"));
-DEFINE_STATIC_LOCAL(String, BlackBerryCookiesEnabled, ("BlackBerryCookiesEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryDirectRenderingToWindowEnabled, ("BlackBerryDirectRenderingToWindowEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryDrawBorderWhileLoadingImages, ("BlackBerryDrawBorderWhileLoadingImages"));
-DEFINE_STATIC_LOCAL(String, BlackBerryEmailModeEnabled, ("BlackBerryEmailModeEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryGetFocusNodeContextEnabled, ("BlackBerryGetFocusNodeContextEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryHandlePatternURLs, ("BlackBerryHandlePatternURLs"));
-DEFINE_STATIC_LOCAL(String, BlackBerryInitialScale, ("BlackBerryInitialScale"));
-DEFINE_STATIC_LOCAL(String, BlackBerryLinksHandledExternallyEnabled, ("BlackBerryLinksHandledExternallyEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryMaxPluginInstances, ("BlackBerryMaxPluginInstances"));
-DEFINE_STATIC_LOCAL(String, BlackBerryOverScrollColor, ("BlackBerryOverScrollColor"));
-DEFINE_STATIC_LOCAL(String, BlackBerryEnableDefaultOverScrollBackground, ("BlackBerryEnableDefaultOverScrollBackground"));
-DEFINE_STATIC_LOCAL(String, BlackBerryRenderAnimationsOnScrollOrZoomEnabled, ("BlackBerryRenderAnimationsOnScrollOrZoomEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryScrollbarsEnabled, ("BlackBerryScrollbarsEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryTextReflowMode, ("BlackBerryTextReflowMode"));
-DEFINE_STATIC_LOCAL(String, BlackBerryUseRTLWritingDirection, ("BlackBerryUseRTLWritingDirection"));
-DEFINE_STATIC_LOCAL(String, BlackBerryUseWebKitCache, ("BlackBerryUseWebKitCache"));
-DEFINE_STATIC_LOCAL(String, BlackBerryUserAgentString, ("BlackBerryUserAgentString"));
-DEFINE_STATIC_LOCAL(String, BlackBerryUserScalableEnabled, ("BlackBerryUserScalableEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryViewportWidth, ("BlackBerryViewportWidth"));
-DEFINE_STATIC_LOCAL(String, BlackBerryZoomToFitOnLoadEnabled, ("BlackBerryZoomToFitOnLoadEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryFullScreenVideoCapable, ("BlackBerryFullScreenVideoCapable"));
-DEFINE_STATIC_LOCAL(String, BlackBerryCredentialAutofillEnabled, ("BlackBerryCredentialAutofillEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryFormAutofillEnabled, ("BlackBerryFormAutofillEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryDevicePixelRatio, ("BlackBerryDevicePixelRatio"));
-DEFINE_STATIC_LOCAL(String, SpatialNavigationEnabled, ("SpatialNavigationEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitDatabasePath, ("WebKitDatabasePath"));
-DEFINE_STATIC_LOCAL(String, WebKitDatabasesEnabled, ("WebKitDatabasesEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitDefaultFixedFontSize, ("WebKitDefaultFixedFontSize"));
-DEFINE_STATIC_LOCAL(String, WebKitDefaultFontSize, ("WebKitDefaultFontSize"));
-DEFINE_STATIC_LOCAL(String, WebKitDefaultTextEncodingName, ("WebKitDefaultTextEncodingName"));
-DEFINE_STATIC_LOCAL(String, WebKitDownloadableBinaryFontsEnabled, ("WebKitDownloadableBinaryFontsEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitFirstScheduledLayoutDelay, ("WebKitFirstScheduledLayoutDelay"));
-DEFINE_STATIC_LOCAL(String, WebKitFixedFontFamily, ("WebKitFixedFontFamily"));
-DEFINE_STATIC_LOCAL(String, WebKitFrameFlatteningEnabled, ("WebKitFrameFlatteningEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitGeolocationEnabled, ("WebKitGeolocationEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitIndexedDataBasePath, ("WebKitIndexedDataBasePath"));
-DEFINE_STATIC_LOCAL(String, WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled, ("WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitJavaScriptEnabled, ("WebKitJavaScriptEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitLoadsImagesAutomatically, ("WebKitLoadsImagesAutomatically"));
-DEFINE_STATIC_LOCAL(String, WebKitLocalStorageEnabled, ("WebKitLocalStorageEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitLocalStoragePath, ("WebKitLocalStoragePath"));
-DEFINE_STATIC_LOCAL(String, WebKitLocalStorageQuota, ("WebKitLocalStorageQuota"));
-DEFINE_STATIC_LOCAL(String, WebKitSessionStorageQuota, ("WebKitSessionStorageQuota"));
-DEFINE_STATIC_LOCAL(String, WebKitMaximumPagesInCache, ("WebKitMaximumPagesInCache"));
-DEFINE_STATIC_LOCAL(String, WebKitMinimumFontSize, ("WebKitMinimumFontSize"));
-DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCacheEnabled, ("WebKitOfflineWebApplicationCacheEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCachePath, ("WebKitOfflineWebApplicationCachePath"));
-DEFINE_STATIC_LOCAL(String, WebKitPageGroupName, ("WebKitPageGroupName"));
-DEFINE_STATIC_LOCAL(String, WebKitPluginsEnabled, ("WebKitPluginsEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitPrivateBrowsingEnabled, ("WebKitPrivateBrowsingEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitDeviceSupportsMouse, ("WebKitDeviceSupportsMouse"));
-DEFINE_STATIC_LOCAL(String, WebKitSansSeriffFontFamily, ("WebKitSansSeriffFontFamily"));
-DEFINE_STATIC_LOCAL(String, WebKitSeriffFontFamily, ("WebKitSeriffFontFamily"));
-DEFINE_STATIC_LOCAL(String, WebKitStandardFontFamily, ("WebKitStandardFontFamily"));
-DEFINE_STATIC_LOCAL(String, WebKitUserStyleSheet, ("WebKitUserStyleSheet"));
-DEFINE_STATIC_LOCAL(String, WebKitUserStyleSheetLocation, ("WebKitUserStyleSheetLocation"));
-DEFINE_STATIC_LOCAL(String, WebKitWebSocketsEnabled, ("WebKitWebSocketsEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitXSSAuditorEnabled, ("WebKitXSSAuditorEnabled"));
+DEFINE_STATIC_LOCAL(String, BlackBerryAllowCrossSiteRequests, (ASCIILiteral("BlackBerryAllowCrossSiteRequests")));
+DEFINE_STATIC_LOCAL(String, BlackBerryAsynchronousSpellChecking, (ASCIILiteral("BlackBerryAsynchronousSpellChecking")));
+DEFINE_STATIC_LOCAL(String, BlackBerryBackgroundColor, (ASCIILiteral("BlackBerryBackgroundColor")));
+DEFINE_STATIC_LOCAL(String, BlackBerryCookiesEnabled, (ASCIILiteral("BlackBerryCookiesEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryDirectRenderingToWindowEnabled, (ASCIILiteral("BlackBerryDirectRenderingToWindowEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryDrawBorderWhileLoadingImages, (ASCIILiteral("BlackBerryDrawBorderWhileLoadingImages")));
+DEFINE_STATIC_LOCAL(String, BlackBerryEmailModeEnabled, (ASCIIliteral("BlackBerryEmailModeEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryGetFocusNodeContextEnabled, (ASCIILiteral("BlackBerryGetFocusNodeContextEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryHandlePatternURLs, (ASCIILiteral("BlackBerryHandlePatternURLs")));
+DEFINE_STATIC_LOCAL(String, BlackBerryInitialScale, (ASCIILiteral("BlackBerryInitialScale")));
+DEFINE_STATIC_LOCAL(String, BlackBerryLinksHandledExternallyEnabled, (ASCIILiteral("BlackBerryLinksHandledExternallyEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryMaxPluginInstances, (ASCIILiteral("BlackBerryMaxPluginInstances")));
+DEFINE_STATIC_LOCAL(String, BlackBerryOverScrollColor, (ASCIILiteral("BlackBerryOverScrollColor")));
+DEFINE_STATIC_LOCAL(String, BlackBerryEnableDefaultOverScrollBackground, (ASCIILiteral("BlackBerryEnableDefaultOverScrollBackground")));
+DEFINE_STATIC_LOCAL(String, BlackBerryRenderAnimationsOnScrollOrZoomEnabled, (ASCIILiteral("BlackBerryRenderAnimationsOnScrollOrZoomEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryScrollbarsEnabled, (ASCIILiteral("BlackBerryScrollbarsEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryTextReflowMode, (ASCIILiteral("BlackBerryTextReflowMode")));
+DEFINE_STATIC_LOCAL(String, BlackBerryUseRTLWritingDirection, (ASCIILiteral("BlackBerryUseRTLWritingDirection")));
+DEFINE_STATIC_LOCAL(String, BlackBerryUseWebKitCache, (ASCIILiteral("BlackBerryUseWebKitCache")));
+DEFINE_STATIC_LOCAL(String, BlackBerryUserAgentString, (ASCIILiteral("BlackBerryUserAgentString")));
+DEFINE_STATIC_LOCAL(String, BlackBerryUserScalableEnabled, (ASCIILiteral("BlackBerryUserScalableEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryViewportWidth, (ASCIILiteral("BlackBerryViewportWidth")));
+DEFINE_STATIC_LOCAL(String, BlackBerryZoomToFitOnLoadEnabled, (ASCIILiteral("BlackBerryZoomToFitOnLoadEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryFullScreenVideoCapable, (ASCIILiteral("BlackBerryFullScreenVideoCapable")));
+DEFINE_STATIC_LOCAL(String, BlackBerryCredentialAutofillEnabled, (ASCIILiteral("BlackBerryCredentialAutofillEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryFormAutofillEnabled, (ASCIILiteral("BlackBerryFormAutofillEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryDevicePixelRatio, (ASCCIILiteral("BlackBerryDevicePixelRatio")));
+DEFINE_STATIC_LOCAL(String, SpatialNavigationEnabled, (ASCIILiteral("SpatialNavigationEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitDatabasePath, (ASCIILiteral("WebKitDatabasePath")));
+DEFINE_STATIC_LOCAL(String, WebKitDatabasesEnabled, (ASCIILiteral("WebKitDatabasesEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitDefaultFixedFontSize, (ASCIILiteral("WebKitDefaultFixedFontSize")));
+DEFINE_STATIC_LOCAL(String, WebKitDefaultFontSize, (ASCIILiteral("WebKitDefaultFontSize")));
+DEFINE_STATIC_LOCAL(String, WebKitDefaultTextEncodingName, (ASCIILiteral("WebKitDefaultTextEncodingName")));
+DEFINE_STATIC_LOCAL(String, WebKitDownloadableBinaryFontsEnabled, (ASCIILiteral("WebKitDownloadableBinaryFontsEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitFirstScheduledLayoutDelay, (ASCIILiteral("WebKitFirstScheduledLayoutDelay")));
+DEFINE_STATIC_LOCAL(String, WebKitFixedFontFamily, (ASCIILiteral("WebKitFixedFontFamily")));
+DEFINE_STATIC_LOCAL(String, WebKitFrameFlatteningEnabled, (ASCIILiteral("WebKitFrameFlatteningEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitGeolocationEnabled, (ASCIILiteral("WebKitGeolocationEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitIndexedDataBasePath, (ASCIILiteral("WebKitIndexedDataBasePath")));
+DEFINE_STATIC_LOCAL(String, WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled, (ASCIILiteral("WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitJavaScriptEnabled, (ASCIILiteral("WebKitJavaScriptEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitLoadsImagesAutomatically, (ASCIILiteral("WebKitLoadsImagesAutomatically")));
+DEFINE_STATIC_LOCAL(String, WebKitLocalStorageEnabled, (ASCIILiteral("WebKitLocalStorageEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitLocalStoragePath, (ASCIILiteral("WebKitLocalStoragePath")));
+DEFINE_STATIC_LOCAL(String, WebKitLocalStorageQuota, (ASCIILiteral("WebKitLocalStorageQuota")));
+DEFINE_STATIC_LOCAL(String, WebKitSessionStorageQuota, (ASCIILiteral("WebKitSessionStorageQuota")));
+DEFINE_STATIC_LOCAL(String, WebKitMaximumPagesInCache, (ASCIILiteral("WebKitMaximumPagesInCache")));
+DEFINE_STATIC_LOCAL(String, WebKitMinimumFontSize, (ASCIILiteral("WebKitMinimumFontSize")));
+DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCacheEnabled, (ASCIILiteral("WebKitOfflineWebApplicationCacheEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCachePath, (ASCIILiteral("WebKitOfflineWebApplicationCachePath")));
+DEFINE_STATIC_LOCAL(String, WebKitPageGroupName, (ASCIILiteral("WebKitPageGroupName")));
+DEFINE_STATIC_LOCAL(String, WebKitPluginsEnabled, (ASCIILiteral("WebKitPluginsEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitPrivateBrowsingEnabled, (ASCIILiteral("WebKitPrivateBrowsingEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitDeviceSupportsMouse, (ASCIILiteral("WebKitDeviceSupportsMouse")));
+DEFINE_STATIC_LOCAL(String, WebKitSansSeriffFontFamily, (ASCIILiteral("WebKitSansSeriffFontFamily")));
+DEFINE_STATIC_LOCAL(String, WebKitSeriffFontFamily, (ASCIILiteral("WebKitSeriffFontFamily")));
+DEFINE_STATIC_LOCAL(String, WebKitStandardFontFamily, (ASCIILiteral("WebKitStandardFontFamily")));
+DEFINE_STATIC_LOCAL(String, WebKitUserStyleSheet, (ASCIILiteral("WebKitUserStyleSheet")));
+DEFINE_STATIC_LOCAL(String, WebKitUserStyleSheetLocation, (ASCIILiteral("WebKitUserStyleSheetLocation")));
+DEFINE_STATIC_LOCAL(String, WebKitWebSocketsEnabled, (ASCIILiteral("WebKitWebSocketsEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitXSSAuditorEnabled, (ASCIILiteral("WebKitXSSAuditorEnabled")));
static HashSet<String>* s_supportedObjectMIMETypes;
diff --git a/Source/WebKit/blackberry/Api/WebString.cpp b/Source/WebKit/blackberry/Api/WebString.cpp
index 7fc9a1a77..640b673c9 100644
--- a/Source/WebKit/blackberry/Api/WebString.cpp
+++ b/Source/WebKit/blackberry/Api/WebString.cpp
@@ -67,6 +67,8 @@ WebString WebString::fromUtf8(const char* utf8)
WebString& WebString::operator=(const WebString& str)
{
+ if (&str == this)
+ return *this;
if (str.m_impl)
str.m_impl->ref();
if (m_impl)
diff --git a/Source/WebKit/blackberry/ChangeLog b/Source/WebKit/blackberry/ChangeLog
index a7715af0a..823f9b8b0 100644
--- a/Source/WebKit/blackberry/ChangeLog
+++ b/Source/WebKit/blackberry/ChangeLog
@@ -1,3 +1,1178 @@
+2012-09-09 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Fix flicker due to introduction of the fence extension.
+ https://bugs.webkit.org/show_bug.cgi?id=96207
+
+ Reviewed by George Staikos.
+
+ Don't immediately add fence to garbage list, so it is destroyed
+ after only one swap, for a set of tiles just because one tile in
+ the set gets a new fence, the old fence may still not be signalled
+ and before rendering the other tiles in the set we have to wait for it.
+
+ * WebKitSupport/BackingStoreTile.cpp:
+ (BlackBerry::WebKit::Fence::~Fence):
+ (WebKit):
+ * WebKitSupport/BackingStoreTile.h:
+ (WebKit):
+ (Fence):
+ * WebKitSupport/SurfacePool.cpp:
+ (BlackBerry::WebKit::SurfacePool::initialize):
+ (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
+ (WebKit):
+ (BlackBerry::WebKit::SurfacePool::destroyPlatformSync):
+ * WebKitSupport/SurfacePool.h:
+ (SurfacePool):
+
+2012-09-08 Max Feil <mfeil@rim.com>
+
+ [BlackBerry] Exiting fullscreen mode can leave user stuck without Browser menus
+ https://bugs.webkit.org/show_bug.cgi?id=96027
+
+ Reviewed by Antonio Gomes.
+
+ The changes for bug 87337 (landed as trunk svn revision 119119)
+ introduced a bug. The same conditions are not checked on enter
+ fullscreen vs. exit. Web sites such as http://videojs.com
+ and youtube's mobile HTML5 player make the div container
+ of the video element go fullscreen. This is allowed in
+ WebPagePrivate::enterFullScreenForElement() but disallowed in
+ WebPagePrivate::exitFullScreenForElement(). I am fixing this by
+ allowing containers of video elements to exit fullscreen.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
+
+2012-09-07 Ming Xie <mxie@rim.com>
+
+
+ [BlackBerry] Remove browser from the build info page
+ https://bugs.webkit.org/show_bug.cgi?id=96162
+
+ Reviewed by George Staikos.
+ Internal reviewed by Jeff Rogers.
+
+ WebKit build should not have the build info for browser which is
+ built on top of webkit.
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::buildPage):
+
+2012-09-07 Yongxin Dai <yodai@rim.com>
+
+ [BlackBerry] Initialize caret rectangle with invalid location
+ https://bugs.webkit.org/show_bug.cgi?id=96011
+
+ Reviewed by Rob Buis.
+
+ In SelectionHandler::selectionPositionChanged() method, startCaret and
+ endCaret are used to notify clients about new caret positions. This patch
+ initializes startCaret and endCaret with location(-1. -1), and keeps them
+ empty before they are assigned to valid values. This would help for other
+ classes to check validity of the caret correctly.
+
+ Internal reviewed by Mike Fenton.
+
+ * WebKitSupport/SelectionHandler.cpp:
+ (BlackBerry::WebKit::adjustCaretRects):
+ (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
+
+2012-09-07 Lianghui Chen <liachen@rim.com>
+
+ [BlackBerry] when one of multiple tabs uses authentication, user can get the auth dialog while the other tab has focus.
+ https://bugs.webkit.org/show_bug.cgi?id=95488
+ PR: 186597.
+
+ Internally reviewed by Joe Mason.
+ Reviewed by Yong Li.
+
+ Use new AuthenticationChallengeClient interface to make authentication
+ challenge asynchronous to NetworkJob, MediaPlayerPrivateBlackBerry, and
+ other module that will use HTTP authentication. WebPage itself still use
+ synchronous authentication though. Switching to asynchronous authentication
+ in WebPage will require bigger platform layer change and not very necessary
+ at the moment for this bug.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
+ * Api/WebPage_p.h:
+ (WebCore):
+ (WebPagePrivate):
+
+2012-09-07 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] Remove feature about:cache/disable and about:cache/enable
+ https://bugs.webkit.org/show_bug.cgi?id=95820
+
+ Reviewed by Yong Li.
+
+ Fix warning that was caused by r127680.
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::cachePage):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::contextNode):
+ (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
+ (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
+ (BlackBerry::WebKit::WebPage::nodeAtPoint):
+ * WebKitSupport/FatFingers.cpp:
+ (BlackBerry::WebKit::FatFingers::getNodesFromRect):
+ (BlackBerry::WebKit::FatFingers::getRelevantInfoFromPoint):
+ * WebKitSupport/SelectionHandler.cpp:
+ (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
+
+2012-09-07 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Rendering issue after rotation
+ https://bugs.webkit.org/show_bug.cgi?id=96094
+ PR #201930
+
+ Reviewed by George Staikos.
+
+ The cause of the rendering issue is that the BackingStore tiles
+ are not reset after layout. This is a regression of r125680, which
+ overwrites a local variable that are used later in the function.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
+
+2012-09-06 Crystal Zhang <haizhang@rim.com>
+
+ [BlackBerry] Implement a color picker
+ https://bugs.webkit.org/show_bug.cgi?id=96001
+
+ Reviewed by Rob Buis.
+
+ Add files for color picker, replace old hook to AIR color picker.
+
+ * WebCoreSupport/ColorPickerClient.cpp: Added.
+ (WebCore):
+ (WebCore::ColorPickerClient::ColorPickerClient):
+ (WebCore::ColorPickerClient::~ColorPickerClient):
+ (WebCore::ColorPickerClient::generateHTML):
+ (WebCore::ColorPickerClient::closePopup):
+ (WebCore::ColorPickerClient::contentSize):
+ (WebCore::ColorPickerClient::htmlSource):
+ (WebCore::ColorPickerClient::setValueAndClosePopup):
+ (WebCore::ColorPickerClient::didClosePopup):
+ (WebCore::ColorPickerClient::writeDocument):
+ * WebCoreSupport/ColorPickerClient.h: Added.
+ (WebKit):
+ (WebCore):
+ (ColorPickerClient):
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::openColorPopup):
+
+2012-09-06 Genevieve Mak <gmak@rim.com>
+
+ Add data-blackberry-webworks-context attribute and set the custom context when
+ getting context.
+ https://bugs.webkit.org/show_bug.cgi?id=95993
+
+ Reviewed by Antonio Gomes.
+
+ PR #193726
+ Reviewed Internally by Mike Fenton.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::webContext):
+ - Check for custom WebWorks context and add it if there.
+ * WebKitSupport/DOMSupport.cpp:
+ (BlackBerry::WebKit::DOMSupport::webWorksContext):
+ (DOMSupport):
+ * WebKitSupport/DOMSupport.h:
+ - Add a method that checks a given element for the data-webworks-context
+ attribute and returns its value if present.
+
+2012-09-06 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Allow overscroll to composited scroll layers
+ https://bugs.webkit.org/show_bug.cgi?id=95998
+ PR #195305
+
+ Reviewed by Rob Buis.
+ Internally reviewed by Gen Mak.
+
+ No need to reset the overscroll limit factor at creation to 0.
+ It is already 0 by default, and later on the client sets the
+ appropriated value.
+
+ * WebKitSupport/InRegionScrollableArea.cpp:
+ (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * Api/DumpRenderTreeClient.h:
+ * WebCoreSupport/ChromeClientBlackBerry.cpp:
+ * WebCoreSupport/InspectorClientBlackBerry.h:
+ * WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp:
+ * WebKitSupport/AboutData.h:
+
+2012-09-05 Jason Liu <jason.liu@torchmobile.com.cn>
+
+ [BlackBerry] Remove feature about:cache/disable and about:cache/enable
+ https://bugs.webkit.org/show_bug.cgi?id=95820
+
+ Reviewed by Rob Buis.
+
+ Remove this feature since we need to add a button in settings.
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::cachePage):
+
+2012-09-05 Mike Fenton <mifenton@rim.com>
+
+ [BlackBerry] Remove deprecated dialog connections.
+ https://bugs.webkit.org/show_bug.cgi?id=95868
+
+ Reviewed by Rob Buis.
+
+ PR 187481.
+ Remove deprecated logic for unsupported
+ Dialog types.
+
+ * Api/WebPageClient.h:
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::openDatePopup):
+ (BlackBerry::WebKit::InputHandler::openColorPopup):
+
+2012-09-05 George Staikos <staikos@webkit.org>
+
+ [BlackBerry] Assignment operators missing self-check
+ https://bugs.webkit.org/show_bug.cgi?id=95774
+
+ Reviewed by Rob Buis.
+
+ Add a test for self-assignment.
+
+ * Api/WebAnimation.cpp:
+ (BlackBerry::WebKit::WebAnimation::operator=):
+ * Api/WebString.cpp:
+ (BlackBerry::WebKit::WebString::operator=):
+
+2012-09-05 Leo Yang <leoyang@rim.com>
+
+ [BlackBerry] Optimize BackingStorePrivate::isCurrentVisibleJob
+ https://bugs.webkit.org/show_bug.cgi?id=95897
+
+ Reviewed by Antonio Gomes.
+
+ Bail out the loop early if one of the not-rendered rectangle is
+ not current regular render job.
+
+ No behavior change, just code optimization.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
+
+2012-09-05 Benjamin C Meyer <bmeyer@rim.com>
+
+ [BlackBerry] JavaScriptVariant can crash when operator= is called with itself
+ https://bugs.webkit.org/show_bug.cgi?id=95859
+
+ Reviewed by George Staikos.
+
+ * Api/JavaScriptVariant.cpp:
+ (BlackBerry::WebKit::JavaScriptVariant::operator=):
+ When JavaScriptVariant contains a string and operator= is
+ called with itself the memory will be free'd in 'this' and
+ then a copy will be attempted from 'that' resulting in a crash.
+
+2012-09-05 Leo Yang <leoyang@rim.com>
+
+ [BlackBerry] Rotation and then reload causes less sized webpage (PR 190469)
+ https://bugs.webkit.org/show_bug.cgi?id=95870
+
+ Reviewed by George Staikos.
+ Reviewed internally by Jacky Jiang.
+
+ Use the new zoom to fit scale if the page was zoomed to fit initial scale
+ When a page is reloaded the layout size may be changed. So the contents
+ size on which the initial scale depends may be changed. Use the new initial
+ scale in this case to make sure the page will be zoomed to correct scale.
+
+ * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+ (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
+
+2012-09-05 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Do not release shared backingstore memory prematurely
+ https://bugs.webkit.org/show_bug.cgi?id=95841
+ PR #202517
+
+ Reviewed by George Staikos.
+
+ The BackingStore memory is shared by all web pages. We should check if
+ the current backingStore is active before create/release this shared memory.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
+ (BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):
+
+2012-09-05 Andy Chen <andchen@rim.com>
+
+ [BlackBerry] Implement number of matches and current active match index for find-on-page
+ https://bugs.webkit.org/show_bug.cgi?id=95801
+
+ Reviewed by Antonio Gomes.
+
+ - Calculate current match index for find-on-page
+ - Notify client when number of matches and current match index update.
+ PR 162090 162091.
+ Internally reviewed by Mike Fenton and Joe Mason
+
+ * Api/WebPageClient.h:
+ * WebKitSupport/InPageSearchManager.cpp:
+ (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::DeferredScopeStringMatches):
+ (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::doTimeout):
+ (InPageSearchManager::DeferredScopeStringMatches):
+ (BlackBerry::WebKit::InPageSearchManager::findNextString):
+ (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
+ (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
+ (BlackBerry::WebKit::InPageSearchManager::scopeStringMatchesSoon):
+ (BlackBerry::WebKit::InPageSearchManager::callScopeStringMatches):
+ * WebKitSupport/InPageSearchManager.h:
+ (InPageSearchManager):
+
+2012-09-04 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] FatFingers::cachingStrategy uses incorrect enum value
+ https://bugs.webkit.org/show_bug.cgi?id=95783
+
+ Reviewed by Antonio Gomes.
+
+ Use the correct enum values.
+
+ * WebKitSupport/FatFingers.cpp:
+ (BlackBerry::WebKit::FatFingers::cachingStrategy):
+
+2012-09-04 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Use child/ScrollableContent layer's position instead of parent/ScrollLayer's boundsOrigin
+ https://bugs.webkit.org/show_bug.cgi?id=95778
+ PR #202252
+
+ Reviewed by Rob Buis.
+ Internally reviewed by Arvid Nilsson.
+
+ Upstream has switch away from using the parent scroll layer's bounds origin
+ in order to translate contents of all its child layers. Instead now, it directly
+ sets the scroll position of the child scrollable contents layer.
+
+ Source/WebKit/blackberry:
+ * Api/InRegionScroller.cpp:
+ (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
+ * WebKitSupport/InRegionScrollableArea.cpp:
+ (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
+
+ No new tests, since it is a catch-up with upstreaming code.
+
+2012-09-04 George Staikos <staikos@webkit.org>
+
+ [BlackBerry] Fix memory leak in InputHandler
+ https://bugs.webkit.org/show_bug.cgi?id=95771
+
+ Reviewed by Rob Buis.
+
+ Simply delete the arrays at function exit.
+
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::openSelectPopup):
+
+2012-09-04 George Staikos <staikos@webkit.org>
+
+ [BlackBerry] pass isMainFrame() through to notifyDocumentOnLoad()
+ https://bugs.webkit.org/show_bug.cgi?id=95766
+
+ Reviewed by Rob Buis.
+
+ Passing the frame status through will allow the client to make better
+ decisions about how to act on the onload.
+
+ * Api/WebPageClient.h:
+ * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+ (WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):
+
+2012-09-04 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] Provide virtual dtor for DumpRenderTreeClient
+ https://bugs.webkit.org/show_bug.cgi?id=95769
+
+ Reviewed by Yong Li.
+
+ Also remove WTF prefixes.
+
+ * Api/DumpRenderTreeClient.h:
+
+2012-09-04 Mary Wu <mary.wu@torchmobile.com.cn>
+
+ [BlackBerry] Add webplatform and browser to build info
+ https://bugs.webkit.org/show_bug.cgi?id=95715
+
+ Reviewed by George Staikos.
+
+ PR# 202102
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::buildPage):
+
+2012-08-31 Jacky Jiang <zhajiang@rim.com>
+
+ [BlackBerry] ASSERT failure in RenderBlock::checkPositionedObjectsNeedLayout
+ https://bugs.webkit.org/show_bug.cgi?id=95611
+
+ Reviewed by Antonio Gomes.
+
+ PR:200127
+ Remove r118405 now as we already have a new fix webkit/43f8394b for
+ that issue and it is not reproducible anymore after the removal.
+ In this way, we can get rid of this ASSERT failure as well.
+ Thanks Antonio for the suggestion.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
+
+2012-08-31 Joshua Netterfield <jnetterfield@rim.com>
+
+ [BlackBerry] Eliminate WebGL IT policy
+ https://bugs.webkit.org/show_bug.cgi?id=95604
+ Internal RIM PR #198764
+
+ Reviewed by Rob Buis.
+
+ This is no longer a requirement for the BlackBerry port.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::init):
+ (BlackBerry::WebKit::WebPage::setWebGLEnabled):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::configPage):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * WebCoreSupport/ClientExtension.cpp:
+ * WebCoreSupport/PagePopupBlackBerry.cpp:
+ (WebCore::PagePopupBlackBerry::installDomFunction):
+
+2012-08-30 Jacky Jiang <zhajiang@rim.com>
+
+ [BlackBerry] ASSERT failure in JSC::MarkedAllocator::allocateSlowCase
+ https://bugs.webkit.org/show_bug.cgi?id=95492
+
+ Reviewed by Yong Li.
+
+ PR: 200724
+ Hold the JSLock for the current thread before we call toRef to avoid
+ the ASSERT failure.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
+
+2012-08-30 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Remove unneeded force-immediate-repaint from InRegionScroller::setLayerScrollPosition
+ https://bugs.webkit.org/show_bug.cgi?id=95476
+ PR #200704
+
+ Reviewed by Yong Li.
+
+ This code is not needed at this point for neither the fast nor slow in-region
+ scroll codepaths, and it is a huge performance beast as it forces all
+ containers to get full-repainted per scroll call (in webkit thread).
+
+ Patch also take this opportunity to remove an early-return we
+ have in the {i}frame slow scrolling code path so that we can
+ adjust the selection handles in this case as well.
+
+ * Api/InRegionScroller.cpp:
+ (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
+
+2012-08-30 Hanna Ma <Hanma@rim.com>
+
+ [BlackBerry] node search does not work with elements on touch start listener
+ https://bugs.webkit.org/show_bug.cgi?id=95252
+
+ Reviewed by Antonio Gomes.
+
+ Fix the node search function of web insepctor on elements with touch start listener.
+ Add methods from webPage to check if the node search functionality is enabled before handling touch events.
+ PR194107
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPage::touchEvent):
+
+2012-08-30 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] One shot drawing sync flag never cleared when there's no layers
+ https://bugs.webkit.org/show_bug.cgi?id=95447
+
+ Reviewed by Antonio Gomes.
+
+ PR 199866
+ When we remove the layers, WebKit could tell us we need a one shot
+ drawing sync to repaint the BackingStore with the content that was
+ previously drawn by layers. We also sometimes set the one shot drawing
+ sync flag manually.
+
+ We would bail from commit if there were no layers and not actually
+ perform the osds, so it left the osds flag set forever and the
+ situation prevails, because nobody will ever clear the osds flag.
+
+ The BackingStore surrenders the responsibility of blitting to the AC
+ commit mechanism when a one shot drawing sync is pending, because we
+ want the operations render, commit and blit to happen in the correct
+ order with no intermediate blits.
+
+ So, no commit means no blit, and the result of regular rendering did
+ not show up on screen.
+
+ Fixed by not bailing from commit if there's no layers, instead clearing
+ the "needs commit" and osds flags and performing a blit.
+
+ Reviewed internally by Andrew Lo.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
+
+2012-08-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Use ASCIILiteral for DEFINE_STATIC_LOCAL string
+ https://bugs.webkit.org/show_bug.cgi?id=95420
+
+ Reviewed by Benjamin Poulain.
+
+ As recommended by http://trac.webkit.org/wiki/EfficientStrings,
+ WebKit needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
+
+ * Api/WebSettings.cpp:
+ (WebKit):
+
+2012-08-29 Nima Ghanavatian <nghanavatian@rim.com>
+
+ [BlackBerry] Do not use the shadow tree when retrieving the underlying element for FatFinger.
+ https://bugs.webkit.org/show_bug.cgi?id=95372
+
+ By using the shadow tree we were getting a mismatch between elements of the
+ current element under focus and the one return to us from FatFingers.
+ Passing ShadowContentNotAllowed to get the right handle.
+
+ Reviewed by Antonio Gomes.
+
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
+
+2012-08-29 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Move the handling of UserMedia requests to the client
+ https://bugs.webkit.org/show_bug.cgi?id=95317
+ PR #197283
+
+ Reviewed by George Staikos.
+
+ Internally reviewed by George Staikos.
+
+ Move the logic for user media requests handling to the client, as it requires
+ inputs from users. Also adds a origin field to WebUserMediaRequest.
+
+ * Api/WebPageClient.h:
+ (Platform):
+ * WebCoreSupport/UserMediaClientImpl.cpp:
+ (WebCore::UserMediaClientImpl::UserMediaClientImpl):
+ (WebCore::UserMediaClientImpl::~UserMediaClientImpl):
+ (WebCore::UserMediaClientImpl::requestUserMedia):
+ (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
+ * WebCoreSupport/UserMediaClientImpl.h:
+ (UserMediaClientImpl):
+
+2012-08-29 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Replace blackberry specific HitTestRequest::FingerUp by TouchEvent + Release
+ https://bugs.webkit.org/show_bug.cgi?id=95383
+
+ Reviewed by Rob Buis.
+
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
+
+2012-08-29 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] Adjust wtf include header style
+ https://bugs.webkit.org/show_bug.cgi?id=95368
+
+ Reviewed by Yong Li.
+
+ Switch to #include <wtf/...> like the other ports.
+
+ * Api/BlackBerryGlobal.cpp:
+ * Api/WebPage.cpp:
+ * WebCoreSupport/ChromeClientBlackBerry.cpp:
+ * WebCoreSupport/GeolocationControllerClientBlackBerry.h:
+ * WebCoreSupport/SelectPopupClient.h:
+ * WebKitSupport/AboutData.cpp:
+ * WebKitSupport/DOMSupport.cpp:
+ * WebKitSupport/GLES2Context.cpp:
+ * WebKitSupport/InPageSearchManager.h:
+ * WebKitSupport/InputHandler.cpp:
+
+2012-08-29 Jacky Jiang <zhajiang@rim.com>
+
+ [BlackBerry] Remove unused tapGesture in WebPage.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=95357
+
+ Reviewed by Rob Buis.
+
+ Remove unused variable tapGesture in WebPage.cpp.
+ Internally reviewed by Gen Mak.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPage::touchEvent):
+
+2012-08-28 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] crash while trying to scroll any inner frame
+ https://bugs.webkit.org/show_bug.cgi?id=95287
+ PR #198510
+
+ Reviewed by George Staikos.
+
+ Set the starting point of scrolling (slow path only still)
+ for inner frames. It was left over as set to 0 by r126474.
+
+ In practice, patch fixes a crash on gmail.com desktop edition.
+
+ * WebKitSupport/InRegionScrollableArea.cpp:
+ (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
+ (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
+ (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
+ (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
+ * WebCoreSupport/NotificationPresenterImpl.cpp:
+ (WebCore::NotificationPresenterImpl::cancel):
+ (WebCore::NotificationPresenterImpl::onPermission):
+ (WebCore::NotificationPresenterImpl::notificationClicked):
+ * WebCoreSupport/UserMediaClientImpl.cpp:
+ (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
+ * WebKitSupport/FrameLayers.cpp:
+ (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
+ (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
+ (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
+
+2012-08-28 Nima Ghanavatian <nghanavatian@rim.com>
+
+ [BlackBerry] Spellcheck should be enabled if undefined in content.
+ https://bugs.webkit.org/show_bug.cgi?id=95139
+
+ Currently we only enable spellcheck if it is defined as such in
+ the web content explicitly.
+ Making this change to enable by default, and only turn off if it is
+ explicitly set, or if we expect the field to be a username, email or
+ url.
+
+ Internally reviewed by Mike Fenton.
+
+ Reviewed by Rob Buis.
+
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
+ (BlackBerry::WebKit::InputHandler::setElementFocused):
+ (BlackBerry::WebKit::InputHandler::unlockSequenceMap):
+ (WebKit):
+ (BlackBerry::WebKit::InputHandler::shouldSpellCheckElement):
+ * WebKitSupport/InputHandler.h:
+ (InputHandler):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
+ (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
+ (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
+ (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
+ * WebCoreSupport/NotificationPresenterImpl.cpp:
+ (WebCore::NotificationPresenterImpl::cancel):
+ (WebCore::NotificationPresenterImpl::onPermission):
+ (WebCore::NotificationPresenterImpl::notificationClicked):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
+ * WebKitSupport/FrameLayers.cpp:
+ (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
+ (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
+ (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
+ * WebCoreSupport/UserMediaClientImpl.cpp:
+ (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
+
+2012-08-28 Nima Ghanavatian <nghanavatian@rim.com>
+
+ [BlackBerry] Range boundaries should use endOfBlock instead of endOfLine.
+ https://bugs.webkit.org/show_bug.cgi?id=95135
+
+ The original implementation used nextLinePosition to iterate
+ through the field from the start of each line, and was bounded in
+ comparison to the endOfLine. This works fine as long as there aren't any
+ empty lines between paragraphs of text, since these will have
+ startOfLine == endOfLine and break out.
+
+ Also, protect map access with a mutex in case we get a response
+ before updating the map. Further, we should check the Range pointer
+ before using it, since its not guaranteed to be valid.
+
+ Internally reviewed by Mike Fenton.
+
+ Reviewed by Antonio Gomes.
+
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::spellCheckBlock):
+
+2012-08-28 Andrew Lo <anlo@rim.com>
+
+ [BlackBerry] One shot drawing synchronization broken
+ https://bugs.webkit.org/show_bug.cgi?id=95179
+
+ Reviewed by Antonio Gomes.
+ Internally reviewed by Arvid Nilsson.
+
+ Make sure no backing store blits happen during one shot drawing
+ synchronization.
+ Since we always blit during commit now, make sure we don't blit if
+ we commit after a render.
+ We no longer need a deferred blit since we don't commit during renderContents
+ now. Instead, we only commit & blit once after a full render job.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
+ (BlackBerry::WebKit::BackingStorePrivate::repaint):
+ (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
+ (BlackBerry::WebKit::BackingStorePrivate::renderJob):
+ (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
+ (BlackBerry::WebKit::BackingStorePrivate::blitContents):
+ (BlackBerry::WebKit::BackingStorePrivate::renderContents):
+ (WebKit):
+ (BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
+ (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
+ * Api/BackingStore_p.h:
+ (BackingStorePrivate):
+ * Api/WebPage.cpp:
+ (WebKit):
+ (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
+ * Api/WebPage_p.h:
+ (WebPagePrivate):
+ * WebKitSupport/RenderQueue.cpp:
+ (BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
+ (BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
+ (BlackBerry::WebKit::RenderQueue::visibleScrollJobsCompleted):
+
+2012-08-28 Parth Patel <parpatel@rim.com>
+
+ [BlackBerry] Removing unnecessary include of Class BlackBerryPlatformClient
+ https://bugs.webkit.org/show_bug.cgi?id=95113
+
+ Reviewed by Kentaro Hara.
+
+ Refactoring has lead to relocation of many or all methods from Class
+ BlackBerryPlatformClient to other classes. Some files include
+ BlackBerryPlatformClient but does not use its instance thus these
+ includes has to be removed.
+
+ * Api/BackingStore.cpp:
+
+2012-08-28 Andy Chen <andchen@rim.com>
+
+ [BlackBerry] UpdateViewport uses wrong size for frameView
+ https://bugs.webkit.org/show_bug.cgi?id=95138
+
+ Reviewed by Antonio Gomes.
+ Internally reviewed by Jakob Petsovits.
+
+ Use actual visible size instead of screen size when updating viewport size,
+ otherwise, frameView size would be too big.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
+
+2012-08-28 Andy Chen <andchen@rim.com>
+
+ [BlackBerry] Pseudo class "active" is broken
+ https://bugs.webkit.org/show_bug.cgi?id=95142
+
+ Reviewed by Antonio Gomes.
+
+ Check if an element is affected by active rule before cancelling
+ the touch event.
+ PR 198544.
+
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
+ (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
+ (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
+ (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
+ * WebCoreSupport/NotificationPresenterImpl.cpp:
+ (WebCore::NotificationPresenterImpl::cancel):
+ (WebCore::NotificationPresenterImpl::onPermission):
+ (WebCore::NotificationPresenterImpl::notificationClicked):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
+ * WebKitSupport/FrameLayers.cpp:
+ (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
+ (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
+ (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
+ (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
+ (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
+ (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
+ * WebCoreSupport/NotificationPresenterImpl.cpp:
+ (WebCore::NotificationPresenterImpl::cancel):
+ (WebCore::NotificationPresenterImpl::onPermission):
+ (WebCore::NotificationPresenterImpl::notificationClicked):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
+ * WebKitSupport/FrameLayers.cpp:
+ (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
+ (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
+ (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126772.
+ http://trac.webkit.org/changeset/126772
+ https://bugs.webkit.org/show_bug.cgi?id=95137
+
+ "This change breaks news.qq.com" (Requested by leoyang on
+ #webkit).
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
+
+2012-08-27 Leo Yang <leoyang@rim.com>
+
+ [BlackBerry] Not using absoluteVisibleOverSize when rotating
+ https://bugs.webkit.org/show_bug.cgi?id=95092
+ PR #190469
+
+ Reviewed by Antonio Gomes.
+ Reviewed internally by Arvid Nilsson.
+
+ When we are rotating don't count absolute overflow visible size
+ into fixed layout size because we are in a transient state. The
+ absolute overflow visible size remains old size during rotation.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
+
+2012-08-25 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Remove the 'in region scrollable starting node' concept from InRegionScroller
+ https://bugs.webkit.org/show_bug.cgi?id=95020
+
+ Reviewed by Rob Buis.
+
+ 'In-region start scrolling node' is an obsolete concept, and we can remove it
+ in favor of using the information from the cached layers.
+
+ * Api/InRegionScroller.cpp:
+ (WebKit):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::reset): Adjusted as it used to clear
+ the cached 'node'.
+ (BlackBerry::WebKit::InRegionScrollerPrivate::isActive): Added method to be
+ checked directly instead of only null-checking the previously cached 'node'.
+ (BlackBerry::WebKit::InRegionScrollerPrivate::clearDocumentData): New method to
+ clear the cached resources if its document is done.
+ (BlackBerry::WebKit::InRegionScrollerPrivate::pushBackInRegionScrollable): Adjusted
+ to not care about the cached 'node' anymore.
+ * Api/InRegionScroller_p.h:
+ (InRegionScrollerPrivate):
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped): Check ::isActive instead
+ of ::hasNode, since the later is gone.
+ (BlackBerry::WebKit::WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling):
+ Changed the method signature, given that we do have a cached 'node' to pass in as parameter anymore.
+ (BlackBerry::WebKit::WebPagePrivate::clearDocumentData): Delegate all the related work to InRegionScroller.
+ * Api/WebPage_p.h:
+ (WebPagePrivate):
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
+.
+2012-08-25 Antonio Gomes <agomes@rim.com>
+
+ BlackBerry] Shrink the in-region nested scrollable list as soon as we can
+ https://bugs.webkit.org/show_bug.cgi?id=95019
+
+ Reviewed by Rob Buis.
+
+ We cache all possible nested scrollable in-region layers given a point.
+ It is up to the client to pick a view, based on the scroll position and limits
+ of each layer, and on the direction user swipes its finger.
+ From the point we pick a view on, we stick with it, and any other
+ possibly cached layer can be uncached, as it won't be needed.
+ Patch provides a simple solution to that.
+
+ * Api/InRegionScroller.cpp:
+ (BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::calculateActiveAndShrinkCachedScrollableAreas):
+ (WebKit):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
+ * Api/InRegionScroller_p.h:
+ (InRegionScrollerPrivate):
+
+2012-08-25 Antonio Gomes <agomes@rim.com>
+
+ For convenience, make RenderLayer::enclosingElement a public method.
+ https://bugs.webkit.org/show_bug.cgi?id=95018
+
+ Reviewed by George Staikos.
+
+ Make use of the new public RenderLayer::enclosingElement method and
+ remove duplicated code.
+
+ * WebKitSupport/InRegionScrollableArea.cpp:
+ (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+
+ * WebCoreSupport/AboutDataEnableFeatures.in:
+ * WebCoreSupport/ChromeClientBlackBerry.cpp:
+ (WebCore):
+ (WebCore::ChromeClientBlackBerry::registerProtocolHandler):
+ * WebCoreSupport/ChromeClientBlackBerry.h:
+ (ChromeClientBlackBerry):
+
+2012-08-26 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] ASSERT failed in WebPagePrivate::commitRootLayerIfNeeded()
+ https://bugs.webkit.org/show_bug.cgi?id=94921
+
+ PR 104676
+ As visibility changed due to WebPage::setVisible(true),
+ resumeRootLayerCommit() would call commitRootLayerIfNeeded(), without
+ layouting or rendering. If a one shot drawing sync was pending at this
+ time, it would cause the condition
+ ASSERT(!needsOneShotDrawingSynchronization()) to fail.
+
+ The comment immediately before the assert states that "In case of one
+ shot drawing synchronization, you should first layoutIfNeeded, render,
+ then commit and draw the layers". However, resumeRootLayerCommit() did
+ no such thing.
+
+ Fixed by removing the call to commitRootLayerIfNeeded() from
+ resumeRootLayerCommit(), because the latter is only called in a code
+ path where we're going to layout, render and then commit anyway. These
+ operations will be performed from resumeBackingStore() which is called
+ at the end of setVisible().
+
+ Reviewed by George Staikos.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::resumeRootLayerCommit):
+
+2012-08-24 Adam Treat <atreat@rim.com>
+
+ [BlackBerry] Web pages are zoomed out to much on initial load
+ https://bugs.webkit.org/show_bug.cgi?id=94830
+
+ The previous patch caused a slight regression to the calculation we do
+ for the default splitting factor in the render queue. The default value
+ we use to represent the max area should be the tile size. This was true
+ with the old calculation of default max layout width since it was the
+ screen size. The fix is to be explicit and use the tile size directly.
+
+ Reviewed by George Staikos.
+
+ * WebKitSupport/RenderQueue.cpp:
+ (BlackBerry::WebKit::RenderQueue::splittingFactor):
+
+2012-08-24 Parth Patel <parpatel@rim.com>
+
+ [BlackBerry] Changes resulting from moving network related methods
+ from platform client to platform settings.
+ https://bugs.webkit.org/show_bug.cgi?id=94963
+
+ Reviewed by Yong Li.
+
+ Changes in response to Network methods moved from
+ class BlackBerryPlatformClient to class BlackBerryPlatformSettings
+ in platform repository.
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::cachePage):
+
+2012-08-24 Liam Quinn <lquinn@rim.com>
+
+ [BlackBerry] Debug assertion fires in BackingStorePrivate::renderJob()
+ https://bugs.webkit.org/show_bug.cgi?id=94960
+
+ Reviewed by Adam Treat.
+
+ Change the assertion into an early return as recommended by Adam Treat.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::renderJob):
+
+2012-08-24 Andrew Lo <anlo@rim.com>
+
+ [BlackBerry] Animation & UI lag when rendering
+ https://bugs.webkit.org/show_bug.cgi?id=94943
+
+ Reviewed by Rob Buis.
+
+ Schedule a backing store blit & composite when commiting root layer.
+ This results in compositing not having to wait until after a long render
+ operation, increasing responsiveness & fixing animations which skip to
+ the last frame due to lag.
+
+ This can cause a blit during a "one shot drawing synchronization", which is
+ a render & commit on the AC layers, which may result in flashing.
+ However, this can happen in other situations as well, and we feel that
+ the responsiveness, reduced lag, and smoothness of animations is
+ more important.
+
+ Internal PR194209
+ Internally reviewed by: George Staikos.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
+
+2012-08-24 Parth Patel <parpatel@rim.com>
+
+ [BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings.
+ https://bugs.webkit.org/show_bug.cgi?id=94249
+
+ Reviewed by Rob Buis.
+
+ PR# 170160
+ Changes in response to Application Directory methods moved from
+ Class BlackBerryPlatformClient to BlackBerryPlatformSettings in
+ platform respository since these methods are more appropriate in
+ class BlackBerryPlatformSettings.
+
+ * WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
+ (WebCore::IconDatabaseClientBlackBerry::initIconDatabase):
+
+2012-08-24 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Touch cancel can cause huge and needless invalidations
+ https://bugs.webkit.org/show_bug.cgi?id=94938
+ PR #198051
+
+ Reviewed by George Staikos.
+ Internally reviewed by Gen Mak.
+
+ In order to remove the possible hover effect on touch_cancel, we always
+ invalidate the node under the fat finger, being the fat finger valid or not.
+
+ Point is: having a valid fat finger node does not mean the original touch
+ position was actually adjust for clicking or that the fat finger is actually
+ valid. We set the fat finger node to be the result of the point-based hit-test
+ regardless if it is a click target or not (in order to make our mouse-move
+ machinery to work).
+
+ We should can less aggressively invalidate the fat finger node, since it can
+ be rather an expensive call (longer than 1s in the worst scenario).
+
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
+
+2012-08-24 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Add WebPage API to reset block zoom
+ https://bugs.webkit.org/show_bug.cgi?id=94863
+
+ PR 187478
+ This is an alternative to WebPage::blockZoomAnimationFinished() when
+ it's desirable to avoid rerendering of the whole web page at the end
+ of block zoom. This is the case when the planned "incremental zoom
+ factor" is used instead of zoomAboutPoint and it's relatives.
+
+ Ideally, the block zoom algorithm would be clever enough not to need
+ a reset or any form of callback when the animation finishes, but that
+ requires the implementation of said incremental zoom factor, which is
+ not done yet.
+
+ Reviewed by Antonio Gomes.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPage::resetBlockZoom):
+ (WebKit):
+ * Api/WebPage.h:
+
2012-08-23 Antonio Gomes <agomes@rim.com>
[BlackBerry] Obsolete the in-region scroll codepath prior to BB10's
diff --git a/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in b/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
index 15e40e66b..42fc389f8 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
+++ b/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
@@ -122,6 +122,7 @@ MHTML
MICRODATA
MUTATION_OBSERVERS
MYSTERIOUS_FEATURE
+NAVIGATOR_CONTENT_UTILS
NETSCAPE_PLUGIN_METADATA_CACHE
NETWORK_INFO
NEW_XML
@@ -150,7 +151,6 @@ PROGRESS_TAG
PURGEABLE_MEMORY
QUOTA
REGEXP_TRACING
-REGISTER_PROTOCOL_HANDLER
REPAINT_THROTTLING
REQUEST_ANIMATION_FRAME
RUBBER_BANDING
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
index 9a6325fcd..8fbf9a56a 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
@@ -23,7 +23,6 @@
#include "BackingStore.h"
#include "BackingStoreClient.h"
#include "BackingStore_p.h"
-#include "CString.h"
#include "ColorChooser.h"
#include "DatabaseTracker.h"
#include "Document.h"
@@ -50,7 +49,6 @@
#include "PageGroupLoadDeferrer.h"
#include "PagePopupBlackBerry.h"
#include "PagePopupClient.h"
-#include "PlatformString.h"
#include "PopupMenuBlackBerry.h"
#include "RenderView.h"
#include "SVGZoomAndPan.h"
@@ -70,6 +68,9 @@
#include <BlackBerryPlatformSettings.h>
#include <BlackBerryPlatformWindow.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
+
#define DEBUG_OVERFLOW_DETECTION 0
using namespace BlackBerry::WebKit;
@@ -825,6 +826,12 @@ PassOwnPtr<ColorChooser> ChromeClientBlackBerry::createColorChooser(ColorChooser
return nullptr;
}
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+void ChromeClientBlackBerry::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
+{
+ m_webPagePrivate->m_client->registerProtocolHandler(scheme, baseURL, url, title);
+}
+
#if ENABLE(CUSTOM_SCHEME_HANDLER)
ChromeClient::CustomHandlersState ChromeClientBlackBerry::isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url)
{
@@ -836,12 +843,6 @@ void ChromeClientBlackBerry::unregisterProtocolHandler(const String& scheme, con
m_webPagePrivate->m_client->unregisterProtocolHandler(scheme, baseURL, url);
}
#endif
-
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-void ChromeClientBlackBerry::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
-{
- m_webPagePrivate->m_client->registerProtocolHandler(scheme, baseURL, url, title);
-}
#endif
} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h
index d4d02f8bd..5602ff1da 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h
@@ -154,14 +154,14 @@ public:
virtual bool allowsAcceleratedCompositing() const;
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
virtual void registerProtocolHandler(const String& /*scheme*/, const String& /*baseURL*/, const String& /*url*/, const String& /*title*/);
-#endif
#if ENABLE(CUSTOM_SCHEME_HANDLER)
virtual CustomHandlersState isProtocolHandlerRegistered(const String& /*scheme*/, const String& /*baseURL*/, const String& /*url*/);
virtual void unregisterProtocolHandler(const String& /*scheme*/, const String& /*baseURL*/, const String& /*url*/);
#endif
+#endif
BlackBerry::WebKit::WebPagePrivate* webPagePrivate() const { return m_webPagePrivate; }
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp b/Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp
index 392097189..54c456a71 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp
@@ -103,7 +103,7 @@ void attachExtensionObjectToFrame(Frame* frame, WebPageClient* client)
JSObjectRef clientClassObject = JSObjectMake(scriptCtx, clientClass, 0);
JSObjectSetPrivate(clientClassObject, reinterpret_cast<void*>(client));
- JSC::UString name("qnx");
+ String name("qnx");
JSC::PutPropertySlot slot;
window->put(window, exec, JSC::Identifier(exec, name), toJS(clientClassObject), slot);
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp b/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp
new file mode 100644
index 000000000..7ffc8fef6
--- /dev/null
+++ b/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2012 Research In Motion Limited. 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
+ * 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 "ColorPickerClient.h"
+
+#include "Chrome.h"
+#include "ChromeClient.h"
+#include "Document.h"
+#include "DocumentWriter.h"
+#include "HTMLInputElement.h"
+#include "Page.h"
+#include "PagePopup.h"
+#include "PopupPicker.h"
+#include "RenderObject.h"
+#include "WebPage_p.h"
+#include "WebString.h"
+
+#include <wtf/text/StringBuilder.h>
+
+namespace WebCore {
+
+ColorPickerClient::ColorPickerClient(const BlackBerry::WebKit::WebString& value, BlackBerry::WebKit::WebPagePrivate* webPage, HTMLInputElement* element)
+ : m_webPage(webPage)
+ , m_element(element)
+{
+ generateHTML(value);
+}
+
+void ColorPickerClient::generateHTML(const BlackBerry::WebKit::WebString& value)
+{
+ StringBuilder source;
+ source.append("<style>\n");
+ // Include CSS file.
+ source.append(popupControlBlackBerryCss,
+ sizeof(popupControlBlackBerryCss));
+ source.append("</style>\n<style>");
+ source.append(colorControlBlackBerryCss,
+ sizeof(colorControlBlackBerryCss));
+ source.append("</style></head><body>\n");
+ source.append("<script>\n");
+ source.append("window.addEventListener('load', function () {");
+ source.append("window.popupcontrol.show(");
+ if (!value.isEmpty())
+ source.append("\"" + String(value.impl()) + "\"); \n }); \n");
+ else
+ source.append("); \n }); \n");
+ source.append(colorControlBlackBerryJs, sizeof(colorControlBlackBerryJs));
+ source.append("</script>\n");
+ source.append("</body> </html>\n");
+ m_source = source.toString();
+}
+
+void ColorPickerClient::closePopup()
+{
+ ASSERT(m_webPage);
+ m_webPage->m_page->chrome()->client()->closePagePopup(0);
+}
+
+IntSize ColorPickerClient::contentSize()
+{
+ // FIXME: will generate content size dynamically
+ return IntSize(320, 256);
+}
+
+String ColorPickerClient::htmlSource() const
+{
+ return m_source;
+}
+
+void ColorPickerClient::setValueAndClosePopup(int, const String& value)
+{
+ ASSERT(m_element);
+
+ static const char* cancelValue = "-1";
+ if (value != cancelValue)
+ m_element->setValue(value);
+ closePopup();
+}
+
+void ColorPickerClient::didClosePopup()
+{
+ m_webPage = 0;
+ m_element = 0;
+}
+
+void ColorPickerClient::writeDocument(DocumentWriter& writer)
+{
+ CString sourceString = m_source.utf8();
+ writer.addData(sourceString.data(), sourceString.length());
+}
+}
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h b/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h
new file mode 100644
index 000000000..8a75ea454
--- /dev/null
+++ b/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2012 Research In Motion Limited. 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
+ * 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 ColorPickerClient_h
+#define ColorPickerClient_h
+
+#include "PagePopupClient.h"
+#include <BlackBerryPlatformInputEvents.h>
+
+namespace BlackBerry {
+namespace WebKit {
+class WebPagePrivate;
+class WebString;
+}
+}
+
+namespace WebCore {
+class DocumentWriter;
+class HTMLInputElement;
+
+class ColorPickerClient : public PagePopupClient {
+public:
+ ColorPickerClient(const BlackBerry::WebKit::WebString& value, BlackBerry::WebKit::WebPagePrivate*, HTMLInputElement*);
+
+ void generateHTML(const BlackBerry::WebKit::WebString& value);
+ void writeDocument(DocumentWriter&);
+ IntSize contentSize();
+ String htmlSource() const;
+ void setValueAndClosePopup(int, const String&);
+ void didClosePopup();
+
+private:
+ void closePopup();
+
+ String m_source;
+ BlackBerry::WebKit::WebPagePrivate* m_webPage;
+ HTMLInputElement* m_element;
+};
+} // namespace WebCore
+#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
index bbaf2cecb..58cb66821 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
@@ -572,7 +572,7 @@ void FrameLoaderClientBlackBerry::dispatchDidCommitLoad()
void FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents()
{
- m_webPagePrivate->m_client->notifyDocumentOnLoad();
+ m_webPagePrivate->m_client->notifyDocumentOnLoad(isMainFrame());
if (m_webPagePrivate->m_dumpRenderTree)
m_webPagePrivate->m_dumpRenderTree->didHandleOnloadEventsForFrame(m_frame);
}
@@ -1076,8 +1076,16 @@ void FrameLoaderClientBlackBerry::restoreViewState()
m_webPagePrivate->m_minimumScale = viewState.minimumScale;
m_webPagePrivate->m_maximumScale = viewState.maximumScale;
m_webPagePrivate->m_userScalable = viewState.isUserScalable;
+
// Also, try to keep the users zoom if any.
double scale = viewState.scale;
+
+ // If it was zoomToFitScale use the new zoomToFitScale because
+ // the new one may be different to the old one due to contents
+ // size change (e.g. after reloaded).
+ if (viewState.isZoomToFitScale)
+ scale = m_webPagePrivate->zoomToFitScale();
+
bool shouldReflowBlock = viewState.shouldReflowBlock;
if (m_webPagePrivate->m_userPerformedManualZoom) {
scale = m_webPagePrivate->currentScale();
diff --git a/Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h
index c32449aee..ab56d62d3 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h
@@ -22,7 +22,7 @@
#include <BlackBerryPlatformGeoTracker.h>
#include <BlackBerryPlatformGeoTrackerListener.h>
#include <GeolocationClient.h>
-#include <RefPtr.h>
+#include <wtf/RefPtr.h>
namespace BlackBerry {
namespace WebKit {
diff --git a/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
index 5f6442fdf..4728146fd 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
@@ -19,7 +19,7 @@
#include "config.h"
#include "IconDatabaseClientBlackBerry.h"
-#include "BlackBerryPlatformClient.h"
+#include "BlackBerryPlatformSettings.h"
#include "IconDatabase.h"
#include "WebSettings.h"
#include "WebString.h"
@@ -51,7 +51,7 @@ bool IconDatabaseClientBlackBerry::initIconDatabase(const BlackBerry::WebKit::We
iconDatabase().setClient(this);
- m_initState = iconDatabase().open(BlackBerry::Platform::Client::get()->getApplicationDataDirectory().c_str(),
+ m_initState = iconDatabase().open(BlackBerry::Platform::Settings::instance()->applicationDataDirectory().c_str(),
IconDatabase::defaultDatabaseFilename()) ? InitializeSucceeded : InitializeFailed;
return m_initState == InitializeSucceeded;
diff --git a/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h
index 2af37526a..274bc8cce 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h
@@ -23,8 +23,8 @@
#include "InspectorClient.h"
#include "InspectorFrontendChannel.h"
#include "InspectorOverlay.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
namespace BlackBerry {
namespace WebKit {
diff --git a/Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp
index ffe7e9383..ea4c4266f 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp
@@ -24,10 +24,10 @@
#include "JavaScriptCallFrame.h"
#include "PageScriptDebugServer.h"
-#include "PlatformString.h"
#include "ScriptBreakpoint.h"
#include "SourceCode.h"
#include "WebPage_p.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp
index 402b52333..e2ed3490b 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp
@@ -166,7 +166,7 @@ void PagePopupBlackBerry::installDomFunction(Frame* frame)
JSObjectRef clientClassObject = JSObjectMake(context, clientClass, 0);
JSObjectSetPrivate(clientClassObject, reinterpret_cast<void*>(m_client.get()));
- JSC::UString name("popUp");
+ String name("popUp");
JSC::PutPropertySlot slot;
window->put(window, exec, JSC::Identifier(exec, name),
diff --git a/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h b/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h
index 17cc776dc..24141a7e7 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h
@@ -23,8 +23,8 @@
#include "PagePopupClient.h"
#include "ScopePointer.h"
#include "Timer.h"
-#include "WTFString.h"
#include "WebString.h"
+#include <wtf/text/WTFString.h>
namespace BlackBerry {
namespace WebKit {
diff --git a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp
index a4e45c2e5..6b09f2a64 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp
@@ -21,14 +21,18 @@
#if ENABLE(MEDIA_STREAM)
#include "MediaStreamDescriptor.h"
+#include "ScriptExecutionContext.h"
+#include "SecurityOrigin.h"
#include "WebPage.h"
+#include "WebPageClient.h"
#include <BlackBerryPlatformWebMediaStreamDescriptor.h>
-#include <BlackBerryPlatformWebUserMedia.h>
+#include <BlackBerryPlatformWebUserMediaRequest.h>
#include <wtf/HashMap.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/CString.h>
using namespace BlackBerry::Platform;
@@ -95,14 +99,13 @@ private:
RefPtr<UserMediaRequest> m_request;
};
-UserMediaClientImpl::UserMediaClientImpl(BlackBerry::WebKit::WebPage*)
- : m_webUserMedia(0)
+UserMediaClientImpl::UserMediaClientImpl(BlackBerry::WebKit::WebPage* page)
+ : m_page(page)
{
}
UserMediaClientImpl::~UserMediaClientImpl()
{
- BlackBerry::Platform::deleteGuardedObject(m_webUserMedia);
}
void UserMediaClientImpl::pageDestroyed()
@@ -114,7 +117,8 @@ void UserMediaClientImpl::requestUserMedia(PassRefPtr<UserMediaRequest> prpReque
UserMediaRequest* request = prpRequest.get();
OwnPtr<WebUserMediaRequestClientImpl> requestClient = adoptPtr(new WebUserMediaRequestClientImpl(prpRequest));
- webUserMedia()->requestUserMedia(WebUserMediaRequest(request->audio(), request->video(), requestClient.get()));
+ SecurityOrigin* origin = request->scriptExecutionContext()->securityOrigin();
+ m_page->client()->requestUserMedia(WebUserMediaRequest(request->audio(), request->video(), origin->toString().utf8().data(), requestClient.get()));
userMediaRequestsMap().add(request, requestClient.release());
}
@@ -124,16 +128,10 @@ void UserMediaClientImpl::cancelUserMediaRequest(UserMediaRequest* request)
if (it == userMediaRequestsMap().end())
return;
- webUserMedia()->cancelUserMediaRequest(WebUserMediaRequest(request->audio(), request->video(), it->second.get()));
+ SecurityOrigin* origin = request->scriptExecutionContext()->securityOrigin();
+ m_page->client()->cancelUserMediaRequest(WebUserMediaRequest(request->audio(), request->video(), origin->toString().utf8().data(), it->second.get()));
userMediaRequestsMap().remove(it);
}
-BlackBerry::Platform::WebUserMedia* UserMediaClientImpl::webUserMedia()
-{
- if (!m_webUserMedia)
- m_webUserMedia = new WebUserMedia;
- return m_webUserMedia;
-}
-
}
#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h
index a31233b86..f76cb3d56 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h
@@ -30,10 +30,6 @@ namespace BlackBerry {
namespace WebKit {
class WebPage;
}
-
-namespace Platform {
-class WebUserMedia;
-}
}
namespace WebCore {
@@ -51,9 +47,8 @@ public:
private:
UserMediaClientImpl();
- BlackBerry::Platform::WebUserMedia* webUserMedia();
- BlackBerry::Platform::WebUserMedia* m_webUserMedia;
+ BlackBerry::WebKit::WebPage* m_page;
};
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp b/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp
index a6772ccb5..24260b039 100644
--- a/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp
@@ -20,7 +20,7 @@
#include "AboutData.h"
#include "AboutTemplate.html.cpp"
-#include "CString.h"
+#include "CacheHelper.h"
#include "CookieManager.h"
#include "JSDOMWindow.h"
#include "MemoryCache.h"
@@ -28,7 +28,6 @@
#include "SurfacePool.h"
#include "WebKitVersion.h"
-#include <BlackBerryPlatformClient.h>
#include <BlackBerryPlatformLog.h>
#include <BlackBerryPlatformMemory.h>
#include <BlackBerryPlatformSettings.h>
@@ -39,6 +38,7 @@
#include <runtime/JSGlobalData.h>
#include <sys/stat.h>
#include <sys/utsname.h>
+#include <wtf/text/CString.h>
using namespace WebCore;
@@ -142,7 +142,6 @@ static String configPage()
page += numberToHTMLTr("allowCenterScrollAdjustmentForInputFields", settings->allowCenterScrollAdjustmentForInputFields());
page += numberToHTMLTr("unrestrictedResizeEvents", settings->unrestrictedResizeEvents());
page += numberToHTMLTr("isBridgeBrowser", settings->isBridgeBrowser());
- page += numberToHTMLTr("isWebGLSupported", settings->isWebGLSupported());
page += numberToHTMLTr("showImageLocationOptionsInGCM", settings->showImageLocationOptionsInGCM());
page += numberToHTMLTr("forceGLES2WindowUsage", settings->forceGLES2WindowUsage());
page += numberToHTMLTr("maxClickableSpeed", settings->maxClickableSpeed());
@@ -458,27 +457,14 @@ static String cachePage(String cacheCommand)
result.append(String("<html><head><title>BlackBerry Browser Disk Cache</title></head><body>"));
- BlackBerry::Platform::Client* client = BlackBerry::Platform::Client::get();
- ASSERT(client);
-
if (cacheCommand.isEmpty())
- result.append(String(client->generateHtmlFragmentForCacheKeys().data()));
+ result.append(String(BlackBerry::Platform::generateHtmlFragmentForCacheKeys().data()));
else if (cacheCommand.startsWith("?query=", false)) {
std::string key(cacheCommand.substring(7).utf8().data()); // 7 is length of "query=".
result.append(String(key.data()));
result.append(String("<hr>"));
- result.append(String(client->generateHtmlFragmentForCacheHeaders(key).data()));
- }
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- else if (equalIgnoringCase(cacheCommand, "/disable")) {
- client->setDiskCacheEnabled(false);
- result.append("Http disk cache is disabled.");
- } else if (equalIgnoringCase(cacheCommand, "/enable")) {
- client->setDiskCacheEnabled(true);
- result.append("Http disk cache is enabled.");
- }
-#endif
- else {
+ result.append(String(BlackBerry::Platform::generateHtmlFragmentForCacheHeaders(key).data()));
+ } else {
// Unknown cache command.
return String();
}
@@ -506,6 +492,7 @@ static String buildPage()
result.append(String(BlackBerry::Platform::BUILDINFO_WEBKIT));
result.append(String(BlackBerry::Platform::BUILDINFO_PLATFORM));
result.append(String(BlackBerry::Platform::BUILDINFO_LIBWEBVIEW));
+ result.append(String(BlackBerry::Platform::BUILDINFO_WEBPLATFORM));
result.append(String("</body></html>"));
return result;
diff --git a/Source/WebKit/blackberry/WebKitSupport/AboutData.h b/Source/WebKit/blackberry/WebKitSupport/AboutData.h
index 0e11a60c8..da040c670 100644
--- a/Source/WebKit/blackberry/WebKitSupport/AboutData.h
+++ b/Source/WebKit/blackberry/WebKitSupport/AboutData.h
@@ -19,7 +19,7 @@
#ifndef AboutData_h
#define AboutData_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace BlackBerry {
namespace WebKit {
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp
index 2c8242cbb..262fbeff2 100644
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp
@@ -27,6 +27,12 @@
namespace BlackBerry {
namespace WebKit {
+Fence::~Fence()
+{
+ if (m_platformSync)
+ SurfacePool::globalSurfacePool()->destroyPlatformSync(m_platformSync);
+}
+
TileBuffer::TileBuffer(const Platform::IntSize& size)
: m_size(size)
, m_fence(Fence::create())
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h
index 69bf40aa2..036808f32 100644
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h
+++ b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h
@@ -32,6 +32,8 @@ struct Buffer;
}
}
+namespace WebKit {
+
// Represents a fence that has been inserted into the command stream. You can wait on the corresponding platform sync
// object to make sure that previous commands have been completed.
// There is no reason to wait twice on the same platform sync object, so the only mechanism provided to access the sync
@@ -54,6 +56,8 @@ public:
return tmp;
}
+ ~Fence();
+
private:
Fence(void* platformSync)
: m_platformSync(platformSync)
@@ -63,7 +67,6 @@ private:
void* m_platformSync;
};
-namespace WebKit {
class TileBuffer {
public:
TileBuffer(const Platform::IntSize&);
diff --git a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
index 4b0ffbc52..433b8cdc9 100644
--- a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
@@ -33,13 +33,14 @@
#include "RenderTextControl.h"
#include "TextIterator.h"
#include "VisibleSelection.h"
-#include "WTFString.h"
#include "htmlediting.h"
#include "visible_units.h"
#include <limits>
+#include <wtf/text/WTFString.h>
+
using WTF::Vector;
using namespace WebCore;
@@ -115,6 +116,18 @@ WTF::String inputElementText(Element* element)
return elementText;
}
+WTF::String webWorksContext(const WebCore::Element* element)
+{
+ if (!element)
+ return WTF::String();
+
+ DEFINE_STATIC_LOCAL(QualifiedName, webworksContextAttr, (nullAtom, "data-blackberry-webworks-context", nullAtom));
+ if (element->fastHasAttribute(webworksContextAttr))
+ return element->fastGetAttribute(webworksContextAttr);
+
+ return WTF::String();
+}
+
bool isElementTypePlugin(const Element* element)
{
if (!element)
diff --git a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
index 5de7f731f..cdfe0fcfa 100644
--- a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
+++ b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
@@ -63,6 +63,7 @@ AttributeState elementSupportsAutocomplete(const WebCore::Element*);
AttributeState elementSupportsSpellCheck(const WebCore::Element*);
WTF::String inputElementText(WebCore::Element*);
+WTF::String webWorksContext(const WebCore::Element*);
WebCore::HTMLTextFormControlElement* toTextControlElement(WebCore::Node*);
diff --git a/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp b/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp
index 381e7a1ec..f42f5edbf 100644
--- a/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp
@@ -465,7 +465,7 @@ void FatFingers::getPaddings(unsigned& top, unsigned& right, unsigned& bottom, u
FatFingers::CachedResultsStrategy FatFingers::cachingStrategy() const
{
switch (m_matchingApproach) {
- case ClickableElement:
+ case ClickableByDefault:
return GetFromRenderTree;
case MadeClickableByTheWebpage:
return GetFromCache;
@@ -491,11 +491,12 @@ void FatFingers::getNodesFromRect(Document* document, const IntPoint& contentPos
unsigned topPadding, rightPadding, bottomPadding, leftPadding;
getPaddings(topPadding, rightPadding, bottomPadding, leftPadding);
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping);
// The user functions checkForText() and findIntersectingRegions() uses the Node.wholeText() to checkFingerIntersection()
// not the text in its shadow tree.
- ShadowContentFilterPolicy allowShadow = m_targetType == Text ? DoNotAllowShadowContent : AllowShadowContent;
- HitTestResult result(contentPos, topPadding, rightPadding, bottomPadding, leftPadding, allowShadow);
+ HitTestRequest request = HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping;
+ if (m_targetType != Text)
+ request |= HitTestRequest::AllowShadowContent;
+ HitTestResult result(contentPos, topPadding, rightPadding, bottomPadding, leftPadding);
document->renderView()->layer()->hitTest(request, result);
intersectedNodes = result.rectBasedTestResult();
@@ -510,7 +511,7 @@ void FatFingers::getRelevantInfoFromPoint(Document* document, const IntPoint& co
if (!document || !document->renderer() || !document->frame())
return;
- HitTestResult result = document->frame()->eventHandler()->hitTestResultAtPoint(contentPos, true /*allowShadowContent*/);
+ HitTestResult result = document->frame()->eventHandler()->hitTestResultAtPoint(contentPos, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
Node* node = result.innerNode();
while (node && !node->isElementNode())
node = node->parentNode();
diff --git a/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp b/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp
index 7812da8df..c50c8804e 100644
--- a/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp
@@ -32,7 +32,6 @@
#include "config.h"
#include "GLES2Context.h"
-#include "Assertions.h"
#include "BackingStoreCompositingSurface.h"
#include "Chrome.h"
#include "ChromeClient.h"
@@ -42,6 +41,8 @@
#include <GLES2/gl2.h>
+#include <wtf/Assertions.h>
+
using BlackBerry::Platform::Graphics::Window;
namespace BlackBerry {
diff --git a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
index 4adb9b4aa..c57de91b0 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
@@ -40,12 +40,13 @@ namespace WebKit {
class InPageSearchManager::DeferredScopeStringMatches {
public:
- DeferredScopeStringMatches(InPageSearchManager* ipsm, Frame* scopingFrame, const String& text, bool reset)
+ DeferredScopeStringMatches(InPageSearchManager* ipsm, Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly)
: m_searchManager(ipsm)
, m_scopingFrame(scopingFrame)
, m_timer(this, &DeferredScopeStringMatches::doTimeout)
, m_searchText(text)
, m_reset(reset)
+ , m_locateActiveMatchOnly(locateActiveMatchOnly)
{
m_timer.startOneShot(0.0);
}
@@ -53,13 +54,14 @@ public:
private:
void doTimeout(Timer<DeferredScopeStringMatches>*)
{
- m_searchManager->callScopeStringMatches(this, m_scopingFrame, m_searchText, m_reset);
+ m_searchManager->callScopeStringMatches(this, m_scopingFrame, m_searchText, m_reset, m_locateActiveMatchOnly);
}
InPageSearchManager* m_searchManager;
Frame* m_scopingFrame;
Timer<DeferredScopeStringMatches> m_timer;
String m_searchText;
bool m_reset;
+ bool m_locateActiveMatchOnly;
};
InPageSearchManager::InPageSearchManager(WebPagePrivate* page)
@@ -88,11 +90,13 @@ bool InPageSearchManager::findNextString(const String& text, FindOptions findOpt
clearTextMatches();
cancelPendingScopingEffort();
m_activeSearchString = String();
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
return false;
}
if (!shouldSearchForText(text)) {
m_activeSearchString = text;
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
return false;
}
@@ -120,15 +124,17 @@ bool InPageSearchManager::findNextString(const String& text, FindOptions findOpt
}
// If there is any active selection, new search should start from the beginning of it.
+ bool startFromSelection = false;
VisibleSelection selection = m_webPage->focusedOrMainFrame()->selection()->selection();
if (!selection.isNone()) {
searchStartingPoint = selection.firstRange().get();
m_webPage->focusedOrMainFrame()->selection()->clear();
+ startFromSelection = true;
}
Frame* currentActiveMatchFrame = selection.isNone() && m_activeMatch ? m_activeMatch->ownerDocument()->frame() : m_webPage->focusedOrMainFrame();
- if (findAndMarkText(text, searchStartingPoint.get(), currentActiveMatchFrame, findOptions, newSearch))
+ if (findAndMarkText(text, searchStartingPoint.get(), currentActiveMatchFrame, findOptions, newSearch, startFromSelection))
return true;
Frame* startFrame = currentActiveMatchFrame;
@@ -139,16 +145,17 @@ bool InPageSearchManager::findNextString(const String& text, FindOptions findOpt
// We should only ever have a null frame if we haven't found any
// matches and we're not wrapping. We have searched every frame.
ASSERT(!wrap);
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
return false;
}
- if (findAndMarkText(text, 0, currentActiveMatchFrame, findOptions, newSearch))
+ if (findAndMarkText(text, 0, currentActiveMatchFrame, findOptions, newSearch, startFromSelection))
return true;
} while (startFrame != currentActiveMatchFrame);
clearTextMatches();
- // FIXME: We need to notify client here.
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
return false;
}
@@ -168,25 +175,45 @@ bool InPageSearchManager::shouldSearchForText(const String& text)
return true;
}
-bool InPageSearchManager::findAndMarkText(const String& text, Range* range, Frame* frame, const FindOptions& options, bool isNewSearch)
+bool InPageSearchManager::findAndMarkText(const String& text, Range* range, Frame* frame, const FindOptions& options, bool isNewSearch, bool startFromSelection)
{
if (RefPtr<Range> match = frame->editor()->findStringAndScrollToVisible(text, range, options)) {
// Move the highlight to the new match.
setActiveMatchAndMarker(match);
-
- if (m_highlightAllMatches) {
- // FIXME: If it is a not new search, we need to calculate activeMatchIndex and notify client.
- if (isNewSearch)
- scopeStringMatches(text, true /* reset */);
+ if (isNewSearch) {
+ scopeStringMatches(text, true /* reset */, false /* locateActiveMatchOnly */);
+ return true;
+ }
+ if (startFromSelection || m_locatingActiveMatch) {
+ // We are finding next, but
+ // - starting from a new node, or
+ // - last locating active match effort is not done yet
+ if (!m_scopingComplete) {
+ // Last scoping is not done yet, let's restart it.
+ scopeStringMatches(text, true /* reset */, false /* locateActiveMatchOnly */);
+ } else {
+ // Last scoping is done, but we are jumping to somewhere instead of
+ // searching one by one, or there is another locating active match effort,
+ // let's start a scoping effort to locate active match only.
+ scopeStringMatches(text, true /* reset */, true /* locateActiveMatchOnly */);
+ }
} else {
- // When only showing single matches, cancel any scoping effort and ensure
- // only the single active match is marked.
- cancelPendingScopingEffort();
+ // We are finding next one by one, let's calculate active match index
+ // There is at least one match, because otherwise we won't get into this block,
+ // so m_activeMatchIndex is at least one.
+ ASSERT(m_activeMatchCount);
+ if (!(options & WebCore::Backwards))
+ m_activeMatchIndex = m_activeMatchIndex + 1 > m_activeMatchCount ? 1 : m_activeMatchIndex + 1;
+ else
+ m_activeMatchIndex = m_activeMatchIndex - 1 < 1 ? m_activeMatchCount : m_activeMatchIndex - 1;
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
+ }
+ if (!m_highlightAllMatches) {
+ // When only showing single matches, the scoping effort won't highlight
+ // all matches but count them.
m_webPage->m_page->unmarkAllTextMatches();
m_activeMatch->ownerDocument()->markers()->addTextMatchMarker(m_activeMatch.get(), true);
frame->editor()->setMarkedTextMatchesAreHighlighted(true /* highlight */);
- m_activeMatchCount = 1;
- m_activeMatchIndex = 1;
}
return true;
@@ -239,15 +266,18 @@ void InPageSearchManager::frameUnloaded(const Frame* frame)
}
}
-void InPageSearchManager::scopeStringMatches(const String& text, bool reset, Frame* scopingFrame)
+void InPageSearchManager::scopeStringMatches(const String& text, bool reset, bool locateActiveMatchOnly, Frame* scopingFrame)
{
if (reset) {
- m_activeMatchCount = 0;
+ if (!locateActiveMatchOnly) {
+ m_activeMatchCount = 0;
+ m_scopingComplete = false;
+ }
m_resumeScopingFromRange = 0;
- m_scopingComplete = false;
m_locatingActiveMatch = true;
+ m_activeMatchIndex = 0;
// New search should always start from mainFrame.
- scopeStringMatchesSoon(m_webPage->mainFrame(), text, false /* reset */);
+ scopeStringMatchesSoon(m_webPage->mainFrame(), text, false /* reset */, locateActiveMatchOnly);
return;
}
@@ -284,10 +314,15 @@ void InPageSearchManager::scopeStringMatches(const String& text, bool reset, Fra
if (m_locatingActiveMatch && areRangesEqual(resultRange.get(), m_activeMatch.get())) {
foundActiveMatch = true;
m_locatingActiveMatch = false;
+ if (locateActiveMatchOnly) {
+ m_activeMatchIndex += matchCount;
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
+ return;
+ }
m_activeMatchIndex = m_activeMatchCount + matchCount;
- // FIXME: We need to notify client with m_activeMatchIndex.
}
- resultRange->ownerDocument()->markers()->addTextMatchMarker(resultRange.get(), foundActiveMatch);
+ if (!locateActiveMatchOnly && m_highlightAllMatches)
+ resultRange->ownerDocument()->markers()->addTextMatchMarker(resultRange.get(), foundActiveMatch);
searchRange->setStart(resultRange->endContainer(ec), resultRange->endOffset(ec), ec);
Node* shadowTreeRoot = searchRange->shadowTreeRootNode();
@@ -298,12 +333,20 @@ void InPageSearchManager::scopeStringMatches(const String& text, bool reset, Fra
} while (!timeout);
if (matchCount > 0) {
- scopingFrame->editor()->setMarkedTextMatchesAreHighlighted(true /* highlight */);
- m_activeMatchCount += matchCount;
+ if (locateActiveMatchOnly) {
+ // We have not found it yet.
+ // m_activeMatchIndex now temporarily remember where we left over in this time slot.
+ m_activeMatchIndex += matchCount;
+ } else {
+ if (m_highlightAllMatches)
+ scopingFrame->editor()->setMarkedTextMatchesAreHighlighted(true /* highlight */);
+ m_activeMatchCount += matchCount;
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
+ }
}
if (timeout)
- scopeStringMatchesSoon(scopingFrame, text, false /* reset */);
+ scopeStringMatchesSoon(scopingFrame, text, false /* reset */, locateActiveMatchOnly);
else {
// Scoping is done for this frame.
Frame* nextFrame = DOMSupport::incrementFrame(scopingFrame, true /* forward */, false /* wrapFlag */);
@@ -311,19 +354,19 @@ void InPageSearchManager::scopeStringMatches(const String& text, bool reset, Fra
m_scopingComplete = true;
return; // Scoping is done for all frames;
}
- scopeStringMatchesSoon(nextFrame, text, false /* reset */);
+ scopeStringMatchesSoon(nextFrame, text, false /* reset */, locateActiveMatchOnly);
}
}
-void InPageSearchManager::scopeStringMatchesSoon(Frame* scopingFrame, const String& text, bool reset)
+void InPageSearchManager::scopeStringMatchesSoon(Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly)
{
- m_deferredScopingWork.append(new DeferredScopeStringMatches(this, scopingFrame, text, reset));
+ m_deferredScopingWork.append(new DeferredScopeStringMatches(this, scopingFrame, text, reset, locateActiveMatchOnly));
}
-void InPageSearchManager::callScopeStringMatches(DeferredScopeStringMatches* caller, Frame* scopingFrame, const String& text, bool reset)
+void InPageSearchManager::callScopeStringMatches(DeferredScopeStringMatches* caller, Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly)
{
m_deferredScopingWork.remove(m_deferredScopingWork.find(caller));
- scopeStringMatches(text, reset, scopingFrame);
+ scopeStringMatches(text, reset, locateActiveMatchOnly, scopingFrame);
delete caller;
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h
index f48bb8e29..421dd2c2a 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h
+++ b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h
@@ -20,7 +20,7 @@
#define InPageSearchManager_h
#include "FindOptions.h"
-#include "WTFString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Frame;
@@ -48,11 +48,11 @@ private:
void clearTextMatches();
void setActiveMatchAndMarker(PassRefPtr<WebCore::Range>);
- bool findAndMarkText(const String&, WebCore::Range*, WebCore::Frame*, const WebCore::FindOptions&, bool);
+ bool findAndMarkText(const String&, WebCore::Range*, WebCore::Frame*, const WebCore::FindOptions&, bool /* isNewSearch */, bool /* startFromSelection */);
bool shouldSearchForText(const String&);
- void scopeStringMatches(const String& text, bool reset, WebCore::Frame* scopingFrame = 0);
- void scopeStringMatchesSoon(WebCore::Frame* scopingFrame, const String& text, bool reset);
- void callScopeStringMatches(DeferredScopeStringMatches* caller, WebCore::Frame* scopingFrame, const String& text, bool reset);
+ void scopeStringMatches(const String& text, bool reset, bool locateActiveMatchOnly, WebCore::Frame* scopingFrame = 0);
+ void scopeStringMatchesSoon(WebCore::Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly);
+ void callScopeStringMatches(DeferredScopeStringMatches* caller, WebCore::Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly);
void cancelPendingScopingEffort();
Vector<DeferredScopeStringMatches*> m_deferredScopingWork;
diff --git a/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp b/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp
index f1141c336..0e6c95432 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp
@@ -46,17 +46,6 @@ InRegionScrollableArea::~InRegionScrollableArea()
m_cachedCompositedScrollableLayer->clearOverride();
}
-// FIXME: Make RenderLayer::enclosingElement public so this one can be removed.
-static Node* enclosingLayerNode(RenderLayer* layer)
-{
- for (RenderObject* r = layer->renderer(); r; r = r->parent()) {
- if (Node* e = r->node())
- return e;
- }
- ASSERT_NOT_REACHED();
- return 0;
-}
-
InRegionScrollableArea::InRegionScrollableArea(WebPagePrivate* webPage, RenderLayer* layer)
: m_webPage(webPage)
, m_layer(layer)
@@ -86,8 +75,8 @@ InRegionScrollableArea::InRegionScrollableArea(WebPagePrivate* webPage, RenderLa
m_scrollsHorizontally = view->contentsWidth() > view->visibleWidth();
m_scrollsVertically = view->contentsHeight() > view->visibleHeight();
- m_overscrollLimitFactor = 0.0; // FIXME eventually support overscroll
- m_cachedCompositedScrollableLayer = 0; // FIXME: Needs composited layer for inner frames.
+ m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->enclosingElement()); // FIXME: Needs composited layer for inner frames.
+ m_cachedNonCompositedScrollableNode = m_layer->enclosingElement();
} else { // RenderBox-based elements case (scrollable boxes (div's, p's, textarea's, etc)).
@@ -107,16 +96,14 @@ InRegionScrollableArea::InRegionScrollableArea(WebPagePrivate* webPage, RenderLa
if (m_layer->usesCompositedScrolling()) {
m_supportsCompositedScrolling = true;
ASSERT(m_layer->backing()->hasScrollingLayer());
- m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->backing()->scrollingLayer()->platformLayer());
- m_cachedCompositedScrollableLayer = m_layer->backing()->scrollingLayer()->platformLayer();
+ m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->backing()->scrollingContentsLayer()->platformLayer());
+ m_cachedCompositedScrollableLayer = m_layer->backing()->scrollingContentsLayer()->platformLayer();
ASSERT(!m_cachedNonCompositedScrollableNode);
} else {
- m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(enclosingLayerNode(m_layer));
- m_cachedNonCompositedScrollableNode = enclosingLayerNode(m_layer);
+ m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->enclosingElement());
+ m_cachedNonCompositedScrollableNode = m_layer->enclosingElement();
ASSERT(!m_cachedCompositedScrollableLayer);
}
-
- m_overscrollLimitFactor = 0.0;
}
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
index 77f8ada84..7e5d46262 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
@@ -22,8 +22,8 @@
#include "BackingStore.h"
#include "BackingStoreClient.h"
#include "CSSStyleDeclaration.h"
-#include "CString.h"
#include "Chrome.h"
+#include "ColorPickerClient.h"
#include "DOMSupport.h"
#include "DatePickerClient.h"
#include "Document.h"
@@ -68,6 +68,7 @@
#include <BlackBerryPlatformMisc.h>
#include <BlackBerryPlatformSettings.h>
#include <sys/keycodes.h>
+#include <wtf/text/CString.h>
#define ENABLE_INPUT_LOG 0
#define ENABLE_FOCUS_LOG 0
@@ -135,6 +136,7 @@ InputHandler::InputHandler(WebPagePrivate* page)
, m_pendingKeyboardVisibilityChange(NoChange)
, m_delayKeyboardVisibilityChange(false)
{
+ pthread_mutex_init(&m_sequenceMapMutex, 0);
}
InputHandler::~InputHandler()
@@ -540,8 +542,8 @@ void InputHandler::requestCheckingOfString(PassRefPtr<WebCore::TextCheckingReque
return;
}
- // Check if field explicitly asked for spellchecking.
- if (DOMSupport::elementSupportsSpellCheck(m_currentFocusElement.get()) != DOMSupport::On) {
+ // Check if the field should be spellchecked.
+ if (!shouldSpellCheckElement(m_currentFocusElement.get())) {
spellCheckingRequestCancelled(sequenceId, true /* isSequenceId */);
return;
}
@@ -581,6 +583,7 @@ void InputHandler::requestCheckingOfString(PassRefPtr<WebCore::TextCheckingReque
return;
}
+ BlackBerry::Platform::MutexLocker lock(&m_sequenceMapMutex);
int32_t transactionId = m_webPage->m_client->checkSpellingOfStringAsync(checkingString, paragraphLength);
free(checkingString);
@@ -598,6 +601,7 @@ void InputHandler::requestCheckingOfString(PassRefPtr<WebCore::TextCheckingReque
int32_t InputHandler::convertTransactionIdToSequenceId(int32_t transactionId)
{
+ BlackBerry::Platform::MutexLocker lock(&m_sequenceMapMutex);
std::map<int32_t, int32_t>::iterator it = m_sequenceMap.find(transactionId);
if (it == m_sequenceMap.end())
@@ -660,6 +664,7 @@ void InputHandler::spellCheckingRequestProcessed(int32_t transactionId, spannabl
void InputHandler::cancelAllSpellCheckingRequests()
{
+ BlackBerry::Platform::MutexLocker lock(&m_sequenceMapMutex);
for (std::map<int32_t, int32_t>::iterator it = m_sequenceMap.begin(); it != m_sequenceMap.end(); ++it)
spellCheckingRequestCancelled(it->second, true /* isSequenceId */);
m_sequenceMap.clear();
@@ -672,7 +677,7 @@ void InputHandler::spellCheckingRequestCancelled(int32_t id, bool isSequenceId)
int32_t sequenceId = isSequenceId ? id : convertTransactionIdToSequenceId(id);
SpellChecker* spellChecker = getSpellChecker();
- if (!spellChecker) {
+ if (!spellChecker || !sequenceId) {
SpellingLog(LogLevelWarn, "InputHandler::spellCheckingRequestCancelled failed to cancel the request with sequenceId %d", sequenceId);
return;
}
@@ -838,8 +843,8 @@ void InputHandler::setElementFocused(Element* element)
SpellingLog(LogLevelInfo, "InputHandler::setElementFocused Focusing the field took %f seconds.", timer.elapsed());
#endif
- // Check if the field explicitly asks for spellchecking.
- if (DOMSupport::elementSupportsSpellCheck(element) != DOMSupport::On)
+ // Check if the field should be spellchecked.
+ if (!shouldSpellCheckElement(element))
return;
// Spellcheck the field in its entirety.
@@ -851,19 +856,36 @@ void InputHandler::setElementFocused(Element* element)
#endif
}
+bool InputHandler::shouldSpellCheckElement(const Element* element) const
+{
+ DOMSupport::AttributeState spellCheckAttr = DOMSupport::elementSupportsSpellCheck(element);
+
+ // Explicitly set to off.
+ if (spellCheckAttr == DOMSupport::Off)
+ return false;
+
+ // Undefined and part of a set of cases which we do not wish to check. This includes user names and email addresses, so we are piggybacking on NoAutocomplete cases.
+ if (spellCheckAttr == DOMSupport::Default && (m_currentFocusElementTextEditMask & NO_AUTO_TEXT))
+ return false;
+
+ return true;
+}
+
void InputHandler::spellCheckBlock(VisibleSelection& visibleSelection, TextCheckingProcessType textCheckingProcessType)
{
if (!isActiveTextEdit())
return;
+ RefPtr<Range> rangeForSpellChecking = visibleSelection.toNormalizedRange();
+ if (!rangeForSpellChecking || !rangeForSpellChecking->text() || !rangeForSpellChecking->text().length())
+ return;
+
SpellChecker* spellChecker = getSpellChecker();
if (!spellChecker) {
SpellingLog(LogLevelInfo, "InputHandler::spellCheckBlock Failed to spellcheck the current focused element.");
return;
}
- RefPtr<Range> rangeForSpellChecking = visibleSelection.toNormalizedRange();
-
// If we have a batch request, try to send off the entire block.
if (textCheckingProcessType == TextCheckingProcessBatch) {
// If total block text is under the limited amount, send the entire chunk.
@@ -876,13 +898,16 @@ void InputHandler::spellCheckBlock(VisibleSelection& visibleSelection, TextCheck
// Since we couldn't check the entire block at once, set up starting and ending markers to fire incrementally.
VisiblePosition startPos = visibleSelection.visibleStart();
VisiblePosition startOfCurrentLine = startOfLine(startPos);
- VisiblePosition endOfCurrentLine = endOfLine(startPos);
+ VisiblePosition endOfCurrentLine = endOfLine(startOfCurrentLine);
- while (startOfCurrentLine != endOfCurrentLine) {
+ while (!isEndOfBlock(startOfCurrentLine)) {
// Create a selection with the start and end points of the line, and convert to Range to create a SpellCheckRequest.
rangeForSpellChecking = VisibleSelection(startOfCurrentLine, endOfCurrentLine).toNormalizedRange();
- if (rangeForSpellChecking->text().length() >= MaxSpellCheckingStringLength) {
+ if (rangeForSpellChecking->text().length() < MaxSpellCheckingStringLength) {
+ startOfCurrentLine = nextLinePosition(startOfCurrentLine, startOfCurrentLine.lineDirectionPointForBlockDirectionNavigation());
+ endOfCurrentLine = endOfLine(startOfCurrentLine);
+ } else {
// Iterate through words from the start of the line to the end.
rangeForSpellChecking = getRangeForSpellCheckWithFineGranularity(startOfCurrentLine, endOfCurrentLine);
if (!rangeForSpellChecking) {
@@ -890,12 +915,6 @@ void InputHandler::spellCheckBlock(VisibleSelection& visibleSelection, TextCheck
return;
}
startOfCurrentLine = VisiblePosition(rangeForSpellChecking->endPosition());
- } else {
- startOfCurrentLine = nextLinePosition(startOfCurrentLine, startOfCurrentLine.lineDirectionPointForBlockDirectionNavigation());
- endOfCurrentLine = endOfLine(startOfCurrentLine);
- // If we are at the last line, nextLinePosition will return the position at the end of the line. If we're not at the end, wrap with a call to startOfLine to be safe.
- if (startOfCurrentLine != endOfCurrentLine)
- startOfCurrentLine = startOfLine(startOfCurrentLine);
}
SpellingLog(LogLevelInfo, "InputHandler::spellCheckBlock Substring text is '%s', of size %d", rangeForSpellChecking->text().latin1().data(), rangeForSpellChecking->text().length());
@@ -941,11 +960,7 @@ bool InputHandler::openDatePopup(HTMLInputElement* element, BlackBerryInputType
double step = element->getAttribute(HTMLNames::stepAttr).toDouble();
DatePickerClient* client = new DatePickerClient(type, value, min, max, step, m_webPage, element);
- // Fail to create HTML popup, use the old path
- if (!m_webPage->m_page->chrome()->client()->openPagePopup(client, WebCore::IntRect()))
- m_webPage->m_client->openDateTimePopup(type, value, min, max, step);
-
- return true;
+ return m_webPage->m_page->chrome()->client()->openPagePopup(client, WebCore::IntRect());
}
default: // Other types not supported
return false;
@@ -963,7 +978,10 @@ bool InputHandler::openColorPopup(HTMLInputElement* element)
m_currentFocusElement = element;
m_currentFocusElementType = TextPopup;
- m_webPage->m_client->openColorPopup(element->value());
+ // Check if popup already exists, close it if does.
+ m_webPage->m_page->chrome()->client()->closePagePopup(0);
+ ColorPickerClient* client = new ColorPickerClient(element->value(), m_webPage, element);
+ m_webPage->m_page->chrome()->client()->openPagePopup(client, WebCore::IntRect());
return true;
}
@@ -1642,6 +1660,9 @@ bool InputHandler::openSelectPopup(HTMLSelectElement* select)
// Fail to create HTML popup, use the old path
if (!m_webPage->m_page->chrome()->client()->openPagePopup(selectClient, elementRectInRootView))
m_webPage->m_client->openPopupList(multiple, size, labels, enableds, itemTypes, selecteds);
+ delete[] enableds;
+ delete[] itemTypes;
+ delete[] selecteds;
return true;
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InputHandler.h b/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
index 869cfc273..f0ecb7dfe 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
+++ b/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
@@ -26,6 +26,7 @@
#include <imf/events.h>
#include <imf/input_data.h>
#include <map>
+#include <pthread.h>
#include <wtf/RefPtr.h>
namespace WTF {
@@ -198,6 +199,7 @@ private:
PassRefPtr<WebCore::Range> getRangeForSpellCheckWithFineGranularity(WebCore::VisiblePosition startPosition, WebCore::VisiblePosition endPosition);
void cancelAllSpellCheckingRequests();
WebCore::SpellChecker* getSpellChecker();
+ bool shouldSpellCheckElement(const WebCore::Element*) const;
WebPagePrivate* m_webPage;
@@ -217,6 +219,7 @@ private:
bool m_delayKeyboardVisibilityChange;
std::map<int32_t, int32_t> m_sequenceMap;
+ pthread_mutex_t m_sequenceMapMutex;
};
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp b/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp
index 3460bd8f0..110be1aa1 100644
--- a/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp
@@ -243,7 +243,7 @@ int RenderQueue::splittingFactor(const Platform::IntRect& rect) const
// rendered in any one pass should stay fixed with regard to the zoom level.
Platform::IntRect untransformedRect = m_parent->m_webPage->d->mapFromTransformed(rect);
double rectArea = untransformedRect.width() * untransformedRect.height();
- double maxArea = DEFAULT_MAX_LAYOUT_WIDTH * DEFAULT_MAX_LAYOUT_HEIGHT; // Defined in WebPage_p.h.
+ double maxArea = m_parent->tileWidth() * m_parent->tileHeight();
const unsigned splitFactor = 1 << 0;
double renderRectArea = maxArea / splitFactor;
@@ -655,14 +655,8 @@ void RenderQueue::renderAllCurrentRegularRenderJobs()
m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion();
m_currentRegularRenderJobsBatchUnderPressure = false;
- // Update the screen only if we're not scrolling or zooming.
- if (rendered && !m_parent->isScrollingOrZooming()) {
- if (!m_parent->shouldDirectRenderingToWindow())
- m_parent->blitVisibleContents();
- else
- m_parent->invalidateWindow();
- m_parent->m_webPage->client()->notifyContentRendered(renderedRect);
- }
+ if (rendered)
+ m_parent->didRenderContent(renderedRect);
if (m_parent->shouldSuppressNonVisibleRegularRenderJobs() && !regionNotRendered.isEmpty())
m_parent->updateTilesForScrollOrNotRenderedRegion(false /*checkLoading*/);
@@ -810,14 +804,7 @@ void RenderQueue::renderRegularRenderJob()
// Clear the region and the and blit since this batch is now complete.
m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion();
m_currentRegularRenderJobsBatchUnderPressure = false;
- // Update the screen only if we're not scrolling or zooming.
- if (!m_parent->isScrollingOrZooming()) {
- if (!m_parent->shouldDirectRenderingToWindow())
- m_parent->blitVisibleContents();
- else
- m_parent->invalidateWindow();
- m_parent->m_webPage->client()->notifyContentRendered(renderedRect);
- }
+ m_parent->didRenderContent(renderedRect);
}
// Make sure we didn't alter state of the queues that should have been empty
@@ -880,13 +867,8 @@ void RenderQueue::visibleScrollJobsCompleted(bool shouldBlit)
// Now blit to the screen if we are done and get rid of the completed list!
ASSERT(m_visibleScrollJobs.empty());
m_visibleScrollJobsCompleted.clear();
- if (shouldBlit && !m_parent->isScrollingOrZooming()) {
- if (!m_parent->shouldDirectRenderingToWindow())
- m_parent->blitVisibleContents();
- else
- m_parent->invalidateWindow();
- m_parent->m_webPage->client()->notifyContentRendered(m_parent->visibleContentsRect());
- }
+ if (shouldBlit)
+ m_parent->didRenderContent(m_parent->visibleContentsRect());
}
void RenderQueue::nonVisibleScrollJobsCompleted()
diff --git a/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
index 3b04247be..1e150c33e 100644
--- a/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
@@ -159,7 +159,7 @@ static VisiblePosition visiblePositionForPointIgnoringClipping(const Frame& fram
// outside the visible rect. To work around the bug, this is a copy of
// visiblePositionAtPoint which which passes ignoreClipping=true.
// See RIM Bug #4315.
- HitTestResult result = frame.eventHandler()->hitTestResultAtPoint(framePoint, true /* allowShadowContent */, true /* ignoreClipping */);
+ HitTestResult result = frame.eventHandler()->hitTestResultAtPoint(framePoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent | HitTestRequest::IgnoreClipping);
Node* node = result.innerNode();
if (!node || node->document() != frame.document())
@@ -738,6 +738,8 @@ static void adjustCaretRects(WebCore::IntRect& startCaret, bool isStartCaretClip
else {
startCaret = rectList[0];
startCaret.setLocation(caretLocationForRect(startCaret, true, isRTL));
+ // Reset width to 1 as we are strictly interested in caret location.
+ startCaret.setWidth(1);
}
if (isEndCaretClippedOut)
@@ -745,15 +747,13 @@ static void adjustCaretRects(WebCore::IntRect& startCaret, bool isStartCaretClip
else {
endCaret = rectList[0];
endCaret.setLocation(caretLocationForRect(endCaret, false, isRTL));
+ // Reset width to 1 as we are strictly interested in caret location.
+ endCaret.setWidth(1);
}
if (isStartCaretClippedOut && isEndCaretClippedOut)
return;
- // Reset width to 1 as we are strictly interested in caret location.
- startCaret.setWidth(1);
- endCaret.setWidth(1);
-
for (unsigned i = 1; i < rectList.size(); i++) {
WebCore::IntRect currentRect(rectList[i]);
@@ -874,8 +874,8 @@ void SelectionHandler::selectionPositionChanged(bool forceUpdateWithoutChange)
SelectionTimingLog(LogLevelInfo, "SelectionHandler::selectionPositionChanged starting at %f", m_timer.elapsed());
- WebCore::IntRect startCaret;
- WebCore::IntRect endCaret;
+ WebCore::IntRect startCaret(DOMSupport::InvalidPoint, WebCore::IntSize());
+ WebCore::IntRect endCaret(DOMSupport::InvalidPoint, WebCore::IntSize());
// Get the text rects from the selections range.
Vector<FloatQuad> quads;
diff --git a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp
index 3a09b8c42..694cc16b2 100644
--- a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp
@@ -123,7 +123,13 @@ void SurfacePool::initialize(const BlackBerry::Platform::IntSize& tileSize)
}
#endif
- pthread_mutex_init(&m_mutex, 0);
+ // m_mutex must be recursive because destroyPlatformSync may be called indirectly
+ // from notifyBuffersComposited
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_init(&attr);
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+ pthread_mutex_init(&m_mutex, &attr);
+ pthread_mutexattr_destroy(&attr);
}
PlatformGraphicsContext* SurfacePool::createPlatformGraphicsContext(BlackBerry::Platform::Graphics::Drawable* drawable) const
@@ -280,12 +286,16 @@ void SurfacePool::notifyBuffersComposited(const Vector<TileBuffer*>& tileBuffers
// fence that may be active among these tiles and add its sync object to the garbage set
// for later destruction to make sure it doesn't leak.
RefPtr<Fence> fence = Fence::create(eglCreateSyncKHR(display, EGL_SYNC_FENCE_KHR, 0));
- for (unsigned int i = 0; i < tileBuffers.size(); ++i) {
- if (EGLSyncKHR platformSync = tileBuffers[i]->fence()->takePlatformSync())
- m_garbage.insert(platformSync);
-
+ for (unsigned int i = 0; i < tileBuffers.size(); ++i)
tileBuffers[i]->setFence(fence);
- }
+#endif
+}
+
+void SurfacePool::destroyPlatformSync(void* platformSync)
+{
+#if BLACKBERRY_PLATFORM_GRAPHICS_EGL && USE(SKIA)
+ Platform::MutexLocker locker(&m_mutex);
+ m_garbage.insert(platformSync);
#endif
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h
index 40788fab6..8e0d8b138 100644
--- a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h
+++ b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h
@@ -83,6 +83,8 @@ public:
// Compositing thread must notify the SurfacePool when EGLImages are composited
void notifyBuffersComposited(const Vector<TileBuffer*>& buffers);
+ void destroyPlatformSync(void* platformSync);
+
private:
// This is necessary so BackingStoreTile can atomically swap buffers with m_backBuffer.
friend class BackingStoreTile;
diff --git a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp
index ee3a75f32..e64a4c5cc 100644
--- a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp
@@ -135,10 +135,16 @@ void TouchEventHandler::touchEventCancel()
// If we cancel a single touch event, we need to also clean up any hover
// state we get into by synthetically moving the mouse to the m_fingerPoint.
- Element* elementUnderFatFinger = m_lastFatFingersResult.nodeAsElementIfApplicable();
- if (elementUnderFatFinger && elementUnderFatFinger->renderer()) {
+ Element* elementUnderFatFinger = m_lastFatFingersResult.positionWasAdjusted() ? m_lastFatFingersResult.nodeAsElementIfApplicable() : 0;
+ do {
+ if (!elementUnderFatFinger || !elementUnderFatFinger->renderer())
+ break;
+
+ if (!elementUnderFatFinger->renderer()->style()->affectedByHoverRules()
+ && !elementUnderFatFinger->renderer()->style()->affectedByActiveRules())
+ break;
- HitTestRequest request(HitTestRequest::FingerUp);
+ HitTestRequest request(HitTestRequest::TouchEvent | HitTestRequest::Release);
// The HitTestResult point is not actually needed.
HitTestResult result(IntPoint::zero());
result.setInnerNode(elementUnderFatFinger);
@@ -147,11 +153,14 @@ void TouchEventHandler::touchEventCancel()
ASSERT(document);
document->renderView()->layer()->updateHoverActiveState(request, result);
document->updateStyleIfNeeded();
+
// Updating the document style may destroy the renderer.
- if (elementUnderFatFinger->renderer())
- elementUnderFatFinger->renderer()->repaint();
+ if (!elementUnderFatFinger->renderer())
+ break;
+
+ elementUnderFatFinger->renderer()->repaint();
ASSERT(!elementUnderFatFinger->hovered());
- }
+ } while (0);
m_lastFatFingersResult.reset();
}
@@ -220,7 +229,9 @@ bool TouchEventHandler::handleTouchPoint(Platform::TouchPoint& point, bool useFa
bool shouldRequestSpellCheckOptions = false;
if (m_lastFatFingersResult.isTextInput())
- shouldRequestSpellCheckOptions = m_webPage->m_inputHandler->shouldRequestSpellCheckingOptionsForPoint(point.m_pos, m_lastFatFingersResult.nodeAsElementIfApplicable(), spellCheckOptionRequest);
+ shouldRequestSpellCheckOptions = m_webPage->m_inputHandler->shouldRequestSpellCheckingOptionsForPoint(point.m_pos
+ , m_lastFatFingersResult.nodeAsElementIfApplicable(FatFingersResult::ShadowContentNotAllowed)
+ , spellCheckOptionRequest);
// Apply any suppressed changes. This does not eliminate the need
// for the show after the handling of fat finger pressed as it may
@@ -343,7 +354,7 @@ void TouchEventHandler::drawTapHighlight()
// On the client side, this info is being used to hide the tap highlight window on scroll.
RenderLayer* layer = m_webPage->enclosingFixedPositionedAncestorOrSelfIfFixedPositioned(renderer->enclosingLayer());
bool shouldHideTapHighlightRightAfterScrolling = !layer->renderer()->isRenderView();
- shouldHideTapHighlightRightAfterScrolling |= !!m_webPage->m_inRegionScroller->d->node();
+ shouldHideTapHighlightRightAfterScrolling |= !!m_webPage->m_inRegionScroller->d->isActive();
IntPoint framePos(m_webPage->frameOffset(elementFrame));
diff --git a/Source/WebKit/cf/ChangeLog b/Source/WebKit/cf/ChangeLog
index ee69fa6a7..5863e92f4 100644
--- a/Source/WebKit/cf/ChangeLog
+++ b/Source/WebKit/cf/ChangeLog
@@ -1,3 +1,15 @@
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * WebCoreSupport/WebInspectorClientCF.cpp:
+ (WebInspectorClient::createFrontendSettings):
+
2012-06-19 Sergio Villar Senin <svillar@igalia.com>
Calling nativeImageForCurrentFrame() causes assertion failure: m_verifier.isSafeToUse()
diff --git a/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp b/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
index 16c5b6b4e..83747f223 100644
--- a/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
+++ b/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
@@ -53,11 +53,11 @@
#include <WebCore/Frame.h>
#include <WebCore/InspectorFrontendClientLocal.h>
#include <WebCore/Page.h>
-#include <WebCore/PlatformString.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
@@ -115,7 +115,7 @@ void WebInspectorClient::setInspectorStartsAttached(bool attached)
storeSetting(inspectorStartsAttachedSetting, attached ? "true" : "false");
}
-WTF::PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> WebInspectorClient::createFrontendSettings()
+PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> WebInspectorClient::createFrontendSettings()
{
class InspectorFrontendSettingsCF : public WebCore::InspectorFrontendClientLocal::Settings {
public:
diff --git a/Source/WebKit/chromium/.gitignore b/Source/WebKit/chromium/.gitignore
deleted file mode 100644
index 4def72c92..000000000
--- a/Source/WebKit/chromium/.gitignore
+++ /dev/null
@@ -1,40 +0,0 @@
-# Ignore Chromium dependencies
-
-*.Makefile
-*.mk
-*.sln
-*.vcproj*
-*.vcxproj*
-All.ncb
-All.sdf
-All.xcodeproj
-WebKit.ncb
-WebKit.xcodeproj
-WebKitUnitTests.xcodeproj
-
-.gclient
-.gclient_entries
-base/
-cc/
-chromium_deps/
-crypto/
-depot_tools/
-dbus/
-gfx/
-googleurl/
-gpu/
-ipc/
-media/
-net/
-ppapi/
-printing/
-sdch/
-skia/
-sql/
-testing/
-third_party/
-tools/
-ui/
-v8/
-webkit/
-xcodebuild/
diff --git a/Source/WebKit/chromium/All.gyp b/Source/WebKit/chromium/All.gyp
index 739a0c8ec..882120207 100644
--- a/Source/WebKit/chromium/All.gyp
+++ b/Source/WebKit/chromium/All.gyp
@@ -47,8 +47,15 @@
'conditions': [
['OS=="android"', {
'dependencies': [
- 'WebKitUnitTests.gyp:webkit_unit_tests_apk',
'../../../Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:DumpRenderTree_apk',
+ ],
+ }],
+ # Special target to wrap a gtest_target_type==shared_library
+ # webkit_unit_tests and TestWebKitAPI into an android apk for
+ # execution. See base.gyp for TODO(jrg)s about this strategy.
+ ['OS=="android" and gtest_target_type == "shared_library"', {
+ 'dependencies': [
+ 'WebKitUnitTests.gyp:webkit_unit_tests_apk',
'../../../Tools/TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:TestWebKitAPI_apk',
],
}],
diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog
index 2e08a17ed..2a621451b 100644
--- a/Source/WebKit/chromium/ChangeLog
+++ b/Source/WebKit/chromium/ChangeLog
@@ -1,3 +1,2495 @@
+2012-09-10 Rick Byers <rbyers@chromium.org>
+
+ [chromium] Don't use WebGestureEvent.boundingBox for touch adjustment
+ https://bugs.webkit.org/show_bug.cgi?id=95996
+
+ Reviewed by Adam Barth.
+
+ Switch from WebGestureEvent.boundingBox to new gesture-type specific
+ data fields.
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+
+2012-09-09 Keishi Hattori <keishi@webkit.org>
+
+ REGRESSION(r127558): Fix a crash in DateTimeChooserImpl::didClosePopup
+ https://bugs.webkit.org/show_bug.cgi?id=96222
+
+ Reviewed by Kent Tamura.
+
+ DateTimeChooserClient will delete DateTimeChooserImpl inside didEndChooser()
+ so we shouldn't be changing the members after that.
+
+ Testing covered by fast/forms/date/calendar-picker-appearance-pre-100.html.
+
+ * src/DateTimeChooserImpl.cpp:
+ (WebKit::DateTimeChooserImpl::didClosePopup):
+
+2012-09-09 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] Unreviewed gardening after r127907
+
+ Fix CCRenderPassTest::copyShouldBeIdenticalExceptIdAndQuads
+
+ * tests/CCRenderPassTest.cpp:
+ (CCRenderPassSize): Changed type of m_id
+
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Update WebViewImpl to call boundingBox/pixelSnappedBoundingBox.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::computeBlockBounds):
+ (WebKit::WebViewImpl::applyAutofillSuggestions):
+ (WebKit::WebViewImpl::refreshAutofillPopup):
+
+2012-09-09 James Robinson <jamesr@chromium.org>
+
+ [chromium] webkit_platform should only be linked into the webkit target
+ https://bugs.webkit.org/show_bug.cgi?id=96213
+
+ Reviewed by Adrienne Walker.
+
+ The Platform.gyp:webkit_platform target provides the implementation of several WEBKIT_EXPORTed symbols. It only
+ makes sense as a target of WebKit.gyp:webkit, other targets shouldn't directly depend on it.
+
+ * WebKit.gyp:
+
+2012-09-09 James Robinson <jamesr@chromium.org>
+
+ [chromium] Use WebCompositorSupport creation functions in GraphicsLayerChromiumTest
+ https://bugs.webkit.org/show_bug.cgi?id=96212
+
+ Reviewed by Adrienne Walker.
+
+ The static ::create()s the test references currently are going away soon.
+
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+ (WebKit::TEST_F):
+
+2012-09-07 Benjamin Poulain <benjamin@webkit.org>
+
+ Unreviewed prospective build fix.
+
+ * tests/WebCompositorInputHandlerImplTest.cpp: Looks like someone is missing an #include.
+ Remove the using directive from r127959.
+
+2012-09-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed prospective build fix.
+
+ Use WTF namespace like in other files in the same directory to resolve unqualified
+ adoptPtr correctly.
+
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove transitional WebCompositorSupport fallback code
+ https://bugs.webkit.org/show_bug.cgi?id=96155
+
+ Reviewed by Adrienne Walker.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::LinkHighlight):
+ (WebKit::LinkHighlight::startHighlightAnimation):
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::setBackingTextureId):
+ (WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ (WebKit):
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Implement WebCompositorInputHandlerImpl on top of exposed API instead of CC internals
+ https://bugs.webkit.org/show_bug.cgi?id=96151
+
+ Reviewed by Adrienne Walker.
+
+ Moves input handler setup code up to the WebKit layer instead of reaching in to CC internals.
+ WebLayerTreeViewImpl implements createInputHandler() by asking its embedder for a WebInputHandler. If one is
+ provided, it wraps the WebInputHandler in a CCInputHandler implementation to pass down to CC.
+
+ WebViewImpl implements WebLayerTreeView::createInputHandler() by constructing a WebCompositorInputHandlerImpl
+ and storing its identifier for the didActivateCompositor call. From this point on the setup is the same as
+ before.
+
+ WCIHI changes covered by unit tests, overall scrolling behavior manually tested.
+
+ * WebKit.gypi:
+ * src/WebCompositorInputHandlerImpl.cpp:
+ (WebKit::WebCompositorInputHandlerImpl::fromIdentifier):
+ (WebKit::WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl):
+ (WebKit::WebCompositorInputHandlerImpl::~WebCompositorInputHandlerImpl):
+ (WebKit::WebCompositorInputHandlerImpl::setClient):
+ (WebKit::WebCompositorInputHandlerImpl::handleInputEvent):
+ (WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
+ (WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
+ (WebKit::WebCompositorInputHandlerImpl::bindToClient):
+ * src/WebCompositorInputHandlerImpl.h:
+ (WebCompositorInputHandlerImpl):
+ (WebKit::WebCompositorInputHandlerImpl::identifier):
+ * src/WebLayerTreeViewImpl.cpp:
+ (WebKit::WebLayerTreeViewImpl::createInputHandler):
+ (WebKit):
+ * src/WebLayerTreeViewImpl.h:
+ (WebLayerTreeViewImpl):
+ * src/WebToCCInputHandlerAdapter.cpp: Added.
+ (WebKit):
+ (WebKit::WebToCCInputHandlerAdapter::create):
+ (WebKit::WebToCCInputHandlerAdapter::WebToCCInputHandlerAdapter):
+ (WebKit::WebToCCInputHandlerAdapter::~WebToCCInputHandlerAdapter):
+ (WebToCCInputHandlerAdapter::ClientAdapter):
+ (WebKit::WebToCCInputHandlerAdapter::ClientAdapter::ClientAdapter):
+ (WebKit::WebToCCInputHandlerAdapter::ClientAdapter::~ClientAdapter):
+ (WebKit::WebToCCInputHandlerAdapter::bindToClient):
+ (WebKit::WebToCCInputHandlerAdapter::animate):
+ * src/WebToCCInputHandlerAdapter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostClient.h.
+ (WebKit):
+ (WebToCCInputHandlerAdapter):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ (WebKit):
+ (WebKit::WebViewImpl::createInputHandler):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+ * tests/CCThreadedTest.cpp:
+ * tests/FakeCCLayerTreeHostClient.h:
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+ (MockWebInputHandlerClient):
+ (WebKit::MockWebInputHandlerClient::MockWebInputHandlerClient):
+ (WebKit::MockWebInputHandlerClient::~MockWebInputHandlerClient):
+ (WebKit::WebCompositorInputHandlerImplTest::WebCompositorInputHandlerImplTest):
+ (WebCompositorInputHandlerImplTest):
+ (WebKit::TEST_F):
+
+2012-09-07 David Reveman <reveman@chromium.org>
+
+ [Chromium] Multiple commits without invalidation allowed per redraw.
+ https://bugs.webkit.org/show_bug.cgi?id=95661
+
+ Reviewed by James Robinson.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ (CCLayerTreeHostTestContinuousCommit):
+ (WebKitTests::CCLayerTreeHostTestContinuousCommit::CCLayerTreeHostTestContinuousCommit):
+ (WebKitTests):
+ (WebKitTests::TEST_F):
+ (CCLayerTreeHostTestContinuousInvalidate):
+ (WebKitTests::CCLayerTreeHostTestContinuousInvalidate::CCLayerTreeHostTestContinuousInvalidate):
+ (CCLayerTreeHostTestContinuousAnimate):
+ (WebKitTests::CCLayerTreeHostTestContinuousAnimate::CCLayerTreeHostTestContinuousAnimate):
+ * tests/CCSchedulerStateMachineTest.cpp:
+ (WebCore::TEST):
+
+2012-09-07 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: WebCore accessibility roles should be cross-platform
+ https://bugs.webkit.org/show_bug.cgi?id=94870
+
+ Reviewed by Chris Fleizach.
+
+ Add a new accessibility role.
+
+ * public/WebAccessibilityRole.h:
+ * src/AssertMatchingEnums.cpp:
+
+2012-09-07 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Chromium needs access to canvasHasFallbackContent
+ https://bugs.webkit.org/show_bug.cgi?id=96124
+
+ Reviewed by Chris Fleizach.
+
+ Expose canvasHasFallbackContent on Chromium.
+
+ * public/WebAccessibilityObject.h:
+ (WebAccessibilityObject):
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::canvasHasFallbackContent):
+ (WebKit):
+
+2012-09-07 Robert Kroeger <rjkroege@chromium.org>
+
+ [chromium] Add touchscreen specific fling curve parametrization
+ https://bugs.webkit.org/show_bug.cgi?id=95997
+
+ Reviewed by James Robinson.
+
+ Added a new set of fling curve parameters with a good feel for touchscreen
+ initiated flings. Renamed TouchpadFlingPlatformGestureCurve to
+ TouchFlingPlatformGestureCurve to better reflect that the class
+ can serve for both touchscreen and touchpad flings when appropriately
+ parametrized. Updated build files as necessary for the rename.
+
+ No new tests - existing tests apply.
+
+
+ * tests/PlatformGestureCurveTest.cpp: To use the renamed curve constructor.
+
+2012-09-07 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Make RenderPass ids hold both generating layer id and an index
+ https://bugs.webkit.org/show_bug.cgi?id=95500
+
+ Reviewed by Adrienne Walker.
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCRenderSurfaceTest.cpp:
+ * tests/CCRendererGLTest.cpp:
+ (FakeCCRendererClient::FakeCCRendererClient):
+
+2012-09-07 Joshua Bell <jsbell@chromium.org>
+
+ [Chromium] IndexedDB: public WebKit API changes for consolidating two-phase connect
+ https://bugs.webkit.org/show_bug.cgi?id=96122
+
+ Reviewed by Adam Barth.
+
+ Prep work for landing Chromium side of http://webkit.org/b/90411 - the IDBFactory
+ open() method now takes the "database callbacks", rather than being sent through
+ in a later call.
+
+ Also, delete an obsolete method.
+
+ * public/WebIDBFactory.h:
+ (WebKit):
+ (WebIDBFactory): Delete pre-version overload of open().
+ (WebKit::WebIDBFactory::open): Add overload that takes WebIDBDatabaseCallbacks.
+
+2012-09-07 Sami Kyostila <skyostil@google.com>
+
+ [Chromium] GraphicsLayerChromiumTest::applyScrollToScrollableArea() is failing
+ https://bugs.webkit.org/show_bug.cgi?id=95932
+
+ Reviewed by James Robinson.
+
+ Give the FakeScrollableArea valid geometry to allow ScrollAnimatorMac to
+ properly scroll it.
+
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::TEST_F): Re-enable the test.
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Move some CC unit tests into correct gyp variable
+ https://bugs.webkit.org/show_bug.cgi?id=96048
+
+ Reviewed by Adrienne Walker.
+
+ These tests are testing compositor internals, so they belong in the webkit_compositor_unittest_files variable.
+
+ * WebKit.gypi:
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove dead CCActiveGestureAnimation code and related classes
+ https://bugs.webkit.org/show_bug.cgi?id=96075
+
+ Reviewed by Adrienne Walker.
+
+ Cuts out unnecessary boilerplate in PlatformGestureCurve evaluation for handling flings. WCIHI can easily
+ evaluate the curve itself without intermediate classes.
+
+ * src/WebCompositorInputHandlerImpl.cpp:
+ (WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
+ (WebKit::WebCompositorInputHandlerImpl::animate):
+ (WebKit::WebCompositorInputHandlerImpl::cancelCurrentFling):
+ * src/WebCompositorInputHandlerImpl.h:
+ (WebCore):
+ (WebCompositorInputHandlerImpl):
+ * tests/PlatformGestureCurveTest.cpp:
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up dependencies in ScrollbarLayerChromiumTest
+ https://bugs.webkit.org/show_bug.cgi?id=96052
+
+ Reviewed by Adrienne Walker.
+
+ Fixes two minor but annoying dependencies in ScrollbarLayerChromiumTest:
+ *) WebScrollbarImpl.h is #included, but not use
+ *) The two-arg constructor of WebThemeScrollbarPainter is used, but this is guarded by #if
+ WEBKIT_IMPLEMENTATION. The no-arg c'tor does the right thing for this test.
+
+ * tests/ScrollbarLayerChromiumTest.cpp:
+ (WebCore::TEST):
+
+2012-09-07 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: ARIA spin button should support range value attributes
+ https://bugs.webkit.org/show_bug.cgi?id=96076
+
+ Reviewed by Chris Fleizach.
+
+ Expose supportsRangeValue to simplify Chromium logic for when to
+ extract a value from a range.
+
+ * public/WebAccessibilityObject.h:
+ (WebAccessibilityObject):
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::supportsRangeValue):
+ (WebKit):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * src/ContextMenuClientImpl.cpp:
+ (WebKit::selectMisspelledWord):
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::dispatchDecidePolicyForNavigationAction):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::characterIndexForPoint):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::isRectTopmost):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleMouseUp):
+ (WebKit::WebViewImpl::computeBlockBounds):
+
+2012-09-07 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: move WebCore specific code to separate header
+ https://bugs.webkit.org/show_bug.cgi?id=96101
+
+ Reviewed by Yury Semikhatsky.
+
+ I extracted WebCore related code from MemoryInstrumentation.h to WebCoreMemoryInstrumentation.h
+
+ * tests/MemoryInstrumentationTest.cpp:
+
+2012-09-07 Ian Vollick <vollick@chromium.org>
+
+ [chromium] We should accelerate all transformations, except when we must blend matrices that cannot be decomposed.
+ https://bugs.webkit.org/show_bug.cgi?id=95855
+
+ Reviewed by James Robinson.
+
+ Added the following unit tests:
+ AnimationTranslationUtilTest.createTransformAnimationWithNonDecomposableMatrix
+ AnimationTranslationUtilTest.createTransformAnimationWithNonInvertibleTransform
+
+ * tests/AnimationTranslationUtilTest.cpp:
+ (WebKit::TEST):
+ (WebKit):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ X11 Global Selection
+ https://bugs.webkit.org/show_bug.cgi?id=88238
+
+ Reviewed by Tony Chang.
+
+ Use new editor command for pasting global selection.
+
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::supportsGlobalSelection):
+ * src/EditorClientImpl.h:
+ (EditorClientImpl):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleMouseUp):
+
+2012-09-07 Yoshifumi Inoue <yosin@chromium.org>
+
+ We should have a localized string of empty for date time field
+ https://bugs.webkit.org/show_bug.cgi?id=96081
+
+ Reviewed by Kent Tamura.
+
+ This patch add a function for getting localized string of empty field
+ value of date time fields for accessibility inside
+ ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ These functions will be used by derived classes of DateTimeFieldElement.
+
+ Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name
+ to support "date", "datetime", "month" and "week" multiple fields input
+ UI.
+
+ * src/LocalizedStrings.cpp:
+ (WebCore::AXDateTimeFieldEmptyValueText): Added.
+
+2012-09-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127822.
+ http://trac.webkit.org/changeset/127822
+ https://bugs.webkit.org/show_bug.cgi?id=96073
+
+ It broke compilation on chromium debug bots (Requested by
+ loislo on #webkit).
+
+ * tests/CCDrawQuadTest.cpp:
+ (WebCore::TEST):
+ * tests/CCLayerTreeHostImplTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCRenderPassTest.cpp:
+ (WebCore::TEST):
+ * tests/CCRenderSurfaceTest.cpp:
+ * tests/CCRendererGLTest.cpp:
+ (FakeCCRendererClient::FakeCCRendererClient):
+
+2012-09-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Make RenderPass ids hold both generating layer id and an index
+ https://bugs.webkit.org/show_bug.cgi?id=95500
+
+ Reviewed by Adrienne Walker.
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCRenderSurfaceTest.cpp:
+ * tests/CCRendererGLTest.cpp:
+ (FakeCCRendererClient::FakeCCRendererClient):
+
+2012-09-06 Yoshifumi Inoue <yosin@chromium.org>
+
+ We should have localized strings of date time fields for accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=96050
+
+ Reviewed by Kent Tamura.
+
+ This patch adds functions for getting localized strings of date time
+ fields for accessibility inside ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ These functions will be used by derived classes of DateTimeFieldElement.
+
+ Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name
+ to support "date", "datetime", "month" and "week" multiple fields input
+ UI.
+
+ * src/LocalizedStrings.cpp:
+ (WebCore::AXAMPMFieldText): Added.
+ (WebCore::AXDayOfMonthFieldText): Added.
+ (WebCore::AXHourFieldText): Added.
+ (WebCore::AXMillisecondFieldText): Added.
+ (WebCore::AXMinuteFieldText): Added.
+ (WebCore::AXMonthFieldText): Added.
+ (WebCore::AXSecondFieldText): Added.
+ (WebCore::AXWeekOfYearFieldText): Added.
+ (WebCore::AXYearFieldText): Added.
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Don't link cc in to WebKit.dll when use_libcc_for_compositor=1
+ https://bugs.webkit.org/show_bug.cgi?id=96024
+
+ Reviewed by Adam Barth.
+
+ When use_libcc_for_compositor=1, the implementation of the compositor guts are provided through PlatformSupport.
+ We don't need to link anything in to WebKit.dll.
+
+ * WebKit.gyp:
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Use WebCompositorSupport functions instead of WebCompositor statics
+ https://bugs.webkit.org/show_bug.cgi?id=96007
+
+ Reviewed by Adrienne Walker.
+
+ Updates many tests to initialize / shutdown compositing with WebCompositorSupport. Adds a
+ WebCompositorInitializer RAII class to simplify this somewhat tedious process.
+
+ * WebKit.gypi:
+ * public/WebCompositorInputHandlerClient.h:
+ (WebCompositorInputHandlerClient):
+ * src/WebCompositorInputHandlerImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::composite):
+ (WebKit::WebViewImpl::scheduleAnimation):
+ (WebKit::WebViewImpl::scheduleComposite):
+ * tests/CCPrioritizedTextureTest.cpp:
+ (WTF::CCPrioritizedTextureTest::CCPrioritizedTextureTest):
+ (WTF::CCPrioritizedTextureTest::~CCPrioritizedTextureTest):
+ (CCPrioritizedTextureTest):
+ * tests/CCRendererGLTest.cpp:
+ (CCRendererGLTest::CCRendererGLTest):
+ (CCRendererGLTest::SetUp):
+ (CCRendererGLTest):
+ * tests/CCTextureUpdateControllerTest.cpp:
+ * tests/CCThreadedTest.cpp:
+ (WebKitTests::CCThreadedTest::runTest):
+ * tests/Canvas2DLayerBridgeTest.cpp:
+ (Canvas2DLayerBridgeTest::fullLifecycleTest):
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+ (WebKit::GraphicsLayerChromiumTest::~GraphicsLayerChromiumTest):
+ * tests/LayerChromiumTest.cpp:
+ * tests/LinkHighlightTest.cpp:
+ (WebCore::TEST):
+ * tests/TextureLayerChromiumTest.cpp:
+ * tests/TiledLayerChromiumTest.cpp:
+ * tests/WebCompositorInitializer.h: Added.
+ (WebKit):
+ (WebKitTests):
+ (WebCompositorInitializer):
+ (WebKitTests::WebCompositorInitializer::WebCompositorInitializer):
+ (WebKitTests::WebCompositorInitializer::~WebCompositorInitializer):
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+ (WebKit::TEST):
+ (WebKit::WebCompositorInputHandlerImplTest::WebCompositorInputHandlerImplTest):
+ (WebCompositorInputHandlerImplTest):
+ * tests/WebLayerTest.cpp:
+ * tests/WebLayerTreeViewTest.cpp:
+
+2012-09-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-09-06 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: make IDBKeyPath's string and array constructors explicit
+ https://bugs.webkit.org/show_bug.cgi?id=96004
+
+ Reviewed by Tony Chang.
+
+ Fix test to use explicit constructor for IDBKeyPath.
+
+ * tests/IDBDatabaseBackendTest.cpp:
+
+2012-09-06 Adrienne Walker <enne@google.com>
+
+ [chromium] Remove GraphicsContext references from ContentLayerChromiumTest
+ https://bugs.webkit.org/show_bug.cgi?id=96002
+
+ Reviewed by James Robinson.
+
+ This is a compositor unit test, so it shouldn't reference things
+ outside of the compositor like GraphicsContext. The
+ OpaqueRectTrackingContentLayerDelegateTest already tests opaque
+ tracking right at the time of paint. This test is about verifying that
+ transformed canvases work properly, so can just fake the opaque rect
+ coming back from the paint.
+
+ * tests/ContentLayerChromiumTest.cpp:
+ (WebKit::MockContentLayerChromiumClient::MockContentLayerChromiumClient):
+ (WebKit::TEST):
+
+2012-09-06 Jeff Timanus <twiz@chromium.org>
+
+ [Chromium] Remove contentsScale and related logic from GraphicsLayerChromium.
+ https://bugs.webkit.org/show_bug.cgi?id=95094
+
+ Reviewed by Adrienne Walker.
+
+ In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class. This is a first pass to
+ try to remove the page-scale logic from GraphicsLayerChromium. This change should be a no-op in terms of
+ contentsScale behaviour.
+ This change exports the disregardsPageScale() set of functions from WebContentLayer to LayerChromium.
+
+ * src/NonCompositedContentHost.cpp:
+ (WebKit::NonCompositedContentHost::NonCompositedContentHost):
+ Inform the layer associated with the NCCH that it is to disregard the page scale factor.
+ Also remove now unused m_deviceScaleFactor and associated routines.
+ (WebKit::NonCompositedContentHost::setViewport):
+ * src/NonCompositedContentHost.h:
+ (NonCompositedContentHost):
+ * src/WebContentLayerImpl.cpp:
+ (WebKit::WebContentLayerImpl::setBoundsContainPageScale):
+ (WebKit):
+ (WebKit::WebContentLayerImpl::boundsContainPageScale):
+ * src/WebContentLayerImpl.h:
+ (WebContentLayerImpl):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::updateLayerTreeViewport):
+ * tests/CCLayerTreeHostTest.cpp:
+ (NoScaleContentLayerChromium):
+ (WebKitTests::NoScaleContentLayerChromium::create):
+ (WebKitTests::NoScaleContentLayerChromium::NoScaleContentLayerChromium):
+ (WebKitTests):
+ (WebKitTests::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers):
+ Rebaselined to correspond to the new behaviour. Because the layers are now assigned a contentsScale, the
+ scale on the draw transforms remain identity.
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit): Remove now obsolete unit-test.
+
+2012-09-06 Adrienne Walker <enne@google.com>
+
+ [chromium] Remove Scrollbar/Settings dependencies from ScrollbarLayerChromiumTest
+ https://bugs.webkit.org/show_bug.cgi?id=95994
+
+ Reviewed by James Robinson.
+
+ This compositor test shouldn't depend on code outside the compositor.
+
+ * tests/ScrollbarLayerChromiumTest.cpp:
+ (WebCore::FakeWebScrollbar::create):
+ (FakeWebScrollbar):
+ (WebCore::TEST):
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Put chromium implementations of WTF symbols in separate static library
+ https://bugs.webkit.org/show_bug.cgi?id=95933
+
+ Reviewed by Adam Barth.
+
+ A few symbols from WTF are implemented in chromium on top of the chromium WebKit Platform API. These
+ implementation files are in WebKit/chromium/src and currently link into the webkit target, which in the
+ component build is a DLL. This moves these files into a static library that webkit depends on so targets can
+ statically link in wtf and these support files without depending directly on webkit.
+
+ * WebKit.gyp:
+
+2012-09-06 Iain Merrick <husky@chromium.org>
+
+ [chromium] Add WebFrame::moveSelectionStart, moveSelectionEnd, moveCaret
+ https://bugs.webkit.org/show_bug.cgi?id=93998
+
+ Reviewed by Adam Barth.
+
+ These provide the same functionality selectRange(WebPoint, WebPoint),
+ with finer-grained control needed on the Android platform. By passing
+ allowCollapsedSelection=false, we can ensure the selection stays at
+ least one character wide.
+
+ I have reimplemented WebFrameImpl::selectRange(WebPoint, WebPoint) by
+ calling the new methods. The existing test passes, and I've added new
+ tests for the new methods.
+
+ * public/WebFrame.h:
+ (WebFrame):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::selectRange):
+ (WebKit):
+ (WebKit::WebFrameImpl::moveSelectionStart):
+ (WebKit::WebFrameImpl::moveSelectionEnd):
+ (WebKit::WebFrameImpl::moveCaret):
+ * src/WebFrameImpl.h:
+ (WebFrameImpl):
+ * tests/WebFrameTest.cpp:
+ * tests/data/text_selection.html: Added.
+
+2012-09-06 Robert Kroeger <rjkroege@chromium.org>
+
+ [chromium] Enable different fling behaviour for touchscreen and touchpad
+ https://bugs.webkit.org/show_bug.cgi?id=95756
+
+ Reviewed by James Robinson.
+
+ Add support for a flag on WebGestureEvents that differentiates GestureFlingStart
+ events by their originating device and pass this flag to a factory that produces
+ different device specific fling curves based on the value of the flag.
+
+ * public/WebActiveWheelFlingParameters.h:
+ (WebActiveWheelFlingParameters): Store source device for transfer to mainthread.
+ (WebKit::WebActiveWheelFlingParameters::WebActiveWheelFlingParameters):
+ * public/WebInputEvent.h: Added source device flag to WebGestureEvent.
+ * src/WebCompositorInputHandlerImpl.cpp:
+ (WebKit::WebCompositorInputHandlerImpl::handleGestureFling): Use factory to
+ obtain device-appropriate fling curve.
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent): Use factory to obtain device-appropriate
+ fling curve.
+ (WebKit::WebViewImpl::transferActiveWheelFlingAnimation):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * src/ContextMenuClientImpl.cpp:
+ * src/EditorClientImpl.cpp:
+ * src/InspectorFrontendClientImpl.cpp:
+ * src/LocalFileSystemChromium.cpp:
+ * src/SpeechInputClientImpl.cpp:
+ * src/SpeechRecognitionClientProxy.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ * src/WebDevToolsFrontendImpl.cpp:
+ * src/WebDevToolsFrontendImpl.h:
+ * src/WebEntities.h:
+ * src/WebFrameImpl.h:
+ * src/WorkerFileSystemCallbacksBridge.h:
+ * tests/UniscribeHelperTest.cpp:
+
+2012-09-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add a customized copy() method to CCRenderPassDrawQuad
+ https://bugs.webkit.org/show_bug.cgi?id=95871
+
+ Reviewed by Adrienne Walker.
+
+ * tests/CCDrawQuadTest.cpp:
+ (WebCore):
+ (WebCore::TEST):
+
+2012-09-06 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed Web Inspector: test fix.
+
+ * tests/MemoryInstrumentationTest.cpp:
+ (StringOwnerInstrumented):
+ (WebCore::StringOwnerInstrumented::StringOwnerInstrumented):
+ (WebCore::StringOwnerInstrumented::reportMemoryUsage):
+ (WebCore):
+ (WebCore::TEST):
+
+2012-09-06 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: switch to hierarchical identifiers of MemoryBlockTypes and use these identifiers in protocol.
+ https://bugs.webkit.org/show_bug.cgi?id=95957
+
+ Reviewed by Yury Semikhatsky.
+
+ Now when we use string identifiers as MemoryObjectType we can use them as the identifiers for the protocol
+ instead of MemoryBlockNames hardcoded in InspectorMemoryAgent..
+ At a later stage, when each memory type is counted in MemoryInstrumentation
+ we will build the blocks hierarchy for the front-end automatically.
+
+ * tests/MemoryInstrumentationTest.cpp:
+ (WebCore::InstrumentedUndefined::InstrumentedUndefined):
+ (WebCore::InstrumentedUndefined::reportMemoryUsage):
+ (WebCore::InstrumentedDOM::InstrumentedDOM):
+ (WebCore::InstrumentedDOM::reportMemoryUsage):
+ (InstrumentedDOM):
+ (WebCore::TEST):
+
+2012-09-06 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] Win build fix attempt after r127715
+
+ * tests/CCRenderPassTest.cpp:
+ (WebCore::TEST):
+
+2012-09-06 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-09-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add a copy() method to CCRenderPass
+ https://bugs.webkit.org/show_bug.cgi?id=95485
+
+ Reviewed by Adrienne Walker.
+
+ * WebKit.gypi:
+ * tests/CCRenderPassTest.cpp: Added.
+ (CCTestRenderPass):
+ (CCTestRenderPass::quadList):
+ (CCTestRenderPass::sharedQuadStateList):
+ (CCRenderPassSize):
+ (TEST):
+
+2012-09-06 Peter Beverloo <peter@chromium.org>
+
+ [Chromium] Chromium Mac build fix after revision r127711
+ https://bugs.webkit.org/show_bug.cgi?id=95958
+
+ Unreviewed build fix.
+
+ This is a clear typo in the source file, so changing the function to
+ call locationModifiersFromWindowsKeyCode instead.
+
+ * src/mac/WebInputEventFactory.mm:
+ (WebKit::WebInputEventFactory::keyboardEvent):
+
+2012-09-06 Raymes Khoury <raymes@chromium.org>
+
+ Added modifiers to distinguish between left/right Shift/Ctrl/Alt in WebInputEvents
+ https://bugs.webkit.org/show_bug.cgi?id=94142
+
+ Reviewed by Tony Chang.
+
+ Previously we distinguished between left/right Shift/Ctrl/Alt in
+ WebInputEvents by using the location-specific virtual keycodes (e.g.
+ VK_LSHIFT instead of VK_SHIFT. However, the Windows API for key events
+ always returns the non-locational version (e.g. VK_SHIFT).
+ Furthermore, KeyboardEvent also returns
+ non-locational keycodes and separates the location information which
+ matches the behavior described in the DOM3
+ spec http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboardevents. We
+ should be consistent with this in our representation of key events.
+ This patch changes WebInputEvents so they always store the
+ non-locational keycode and location information is stored in
+ modifiers. Since this only changes internal representation, no new
+ tests are added.
+
+ This patch also ensures that when KeyboardEvents are converted back to
+ WebInputEvents location information is preserved (which was not
+ happening before). This is important so that key location information
+ is passed on to plugins. A unittest is added for this.
+
+ * WebKit.gypi:
+ * public/WebInputEvent.h:
+ (WebKeyboardEvent):
+ * src/WebInputEvent.cpp:
+ (WebKit):
+ (WebKit::WebKeyboardEvent::windowsKeyCodeWithoutLocation):
+ (WebKit::WebKeyboardEvent::locationModifiersFromWindowsKeyCode):
+ * src/WebInputEventConversion.cpp:
+ (WebKit::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
+ (WebKit::WebKeyboardEventBuilder::WebKeyboardEventBuilder):
+ * src/android/WebInputEventFactory.cpp:
+ (WebKit::WebInputEventFactory::keyboardEvent):
+ * src/gtk/WebInputEventFactory.cpp:
+ (WebKit::WebInputEventFactory::keyboardEvent):
+ * src/mac/WebInputEventFactory.mm:
+ (WebKit::WebInputEventFactory::keyboardEvent):
+ * src/win/WebInputEventFactory.cpp:
+ (WebKit::getLocationModifier):
+ (WebKit::WebInputEventFactory::keyboardEvent):
+ * tests/WebInputEventConversionTest.cpp: Added.
+
+2012-09-06 Adam Barth <abarth@webkit.org>
+
+ Chromium should call restrictScaleFactorToInitialScaleIfNotUserScalable unless/until userScalable is supported directly.
+ https://bugs.webkit.org/show_bug.cgi?id=91110
+
+ Reviewed by Tony Chang.
+
+ Prior to this patch, we were ignoring the user-scalable property of
+ viewport meta tags. This patch enforces the user-scalable property by
+ claming the minimum-scale and maximum-scale values, effectively
+ preventing user scaling. This approach isn't perfect, as discussed in
+ https://bugs.webkit.org/show_bug.cgi?id=70609, but it is an improvement
+ over the status quo.
+
+ This approach is also used by EFL, GTK, and Qt.
+
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):
+
+2012-09-05 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add a copy() method to CCDrawQuad and CCSharedQuadState
+ https://bugs.webkit.org/show_bug.cgi?id=95374
+
+ Reviewed by Adrienne Walker.
+
+ * WebKit.gypi:
+ * tests/CCDrawQuadTest.cpp: Added.
+ (TEST):
+ (createSharedQuadState):
+ (compareDrawQuad):
+
+2012-09-05 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] Unreviewed gardening
+
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::TEST_F): Disabled applyScrollToScrollableArea()
+
+2012-09-05 Tony Chang <tony@chromium.org>
+
+ [chromium] Remove dependency on webkit_user_agent
+ https://bugs.webkit.org/show_bug.cgi?id=95886
+
+ Reviewed by Adam Barth.
+
+ The code isn't used by webkit_unit_tests.
+
+ * WebKitUnitTests.gyp:
+
+2012-09-05 Nate Chapin <japhet@chromium.org>
+
+ Test for https://bugs.webkit.org/show_bug.cgi?id=91685
+
+ Reviewed by Adam Barth.
+
+ * tests/WebFrameTest.cpp:
+
+2012-09-05 Rick Byers <rbyers@chromium.org>
+
+ Use new type-specific WebGestureEvent fields
+ https://bugs.webkit.org/show_bug.cgi?id=95573
+
+ Reviewed by James Robinson.
+
+ Chromium has been updated to store gesture-type specific details in the
+ new WebGestureEvent fields (crrev.com/152508, crrev.com/154815 and
+ crrev.com/154959), so we can now rely on them.
+
+ * src/WebCompositorInputHandlerImpl.cpp:
+ Update the compositor scroll, pinch and fling handling to use these new fields.
+ (WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
+ (WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
+ * src/WebInputEventConversion.cpp:
+ Update PlatformGestureEvent/WebGestureEvent conversion to use the new
+ fields, storing into the existing overloaded PlatformGestureEvent
+ fields (which will be cleaned up in my next CL).
+ (WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
+ (WebKit::WebGestureEventBuilder::WebGestureEventBuilder):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+ Update fling scrolling implementation for correct location of velocity.
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+ (WebKit::TEST_F):
+ Update tests to use the new fields.
+
+
+2012-09-05 James Robinson <jamesr@chromium.org>
+
+ [chromium] Test WebSolidColorLayer in WebLayerTest.Client unit test
+ https://bugs.webkit.org/show_bug.cgi?id=95819
+
+ Reviewed by Adam Barth.
+
+ This unit test doesn't do all that much, but it does verify that WebSolidColorLayer doesn't completely explode
+ upon use and also makes sure that the WebSolidColorLayer::create() symbol is referenced and not dropped from
+ webkit.dll in the component build.
+
+ * tests/WebLayerTest.cpp:
+
+2012-09-05 Victoria Kirst <vrk@chromium.org>
+
+ Add the duration attribute to MediaSource
+ https://bugs.webkit.org/show_bug.cgi?id=95149
+
+ Reviewed by Eric Carlson.
+
+ Add support for the duration attribute recently added to the MediaSource spec.
+ http://dev.w3.org/html5/spec/media-elements.html#dom-media-duration
+
+ * public/WebMediaPlayer.h:
+ (WebKit::WebMediaPlayer::sourceSetDuration): Add empty definition.
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::sourceSetDuration): Forward call to m_webMediaPlayer.
+ (WebKit):
+ * src/WebMediaPlayerClientImpl.h:
+ (WebMediaPlayerClientImpl):
+
+2012-09-05 Mihai Parparita <mihaip@chromium.org>
+
+ [Chromium] history.{push,replace}State should no longer be V8EnabledAtRuntime
+ https://bugs.webkit.org/show_bug.cgi?id=95865
+
+ Reviewed by Darin Fisher.
+
+ Make WebRuntimeFeatures::{enablePushState,isPushStateEnabled} into
+ no-ops.
+
+ * public/WebRuntimeFeatures.h:
+ (WebRuntimeFeatures):
+ * src/WebRuntimeFeatures.cpp:
+ (WebKit::WebRuntimeFeatures::enablePushState):
+ (WebKit::WebRuntimeFeatures::isPushStateEnabled):
+
+2012-09-05 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove getRenderStyleForStrike from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95363
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * public/linux/WebFontInfo.h:
+ * public/linux/WebFontRenderStyle.h:
+ * src/PlatformSupport.cpp:
+ (WebCore):
+
+2012-09-05 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed: WebInspector: remove accidentally committed speed test.
+
+ * tests/MemoryInstrumentationTest.cpp:
+
+2012-09-05 Sami Kyostila <skyostil@chromium.org>
+
+ [chromium] Wire up scrollable sublayers in ScrollingCoordinatorChromium
+ https://bugs.webkit.org/show_bug.cgi?id=95679
+
+ Reviewed by James Robinson.
+
+ Introduce WebLayerScrollClient for getting notified about scroll events targeting a WebLayer.
+
+ * src/WebLayerImpl.cpp:
+ (WebKit::WebLayerImpl::setMaxScrollPosition):
+ (WebKit):
+ (WebKit::WebLayerImpl::setScrollClient):
+ (WebKit::WebLayerImpl::scrollBy):
+ * src/WebLayerImpl.h:
+ (WebLayerImpl):
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (MockScrollableArea):
+ (WebKit):
+ (WebKit::TEST_F):
+ * tests/WebLayerTest.cpp:
+
+2012-09-05 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: extract MemoryObjectType constants from MemoryInstrumentation.
+ https://bugs.webkit.org/show_bug.cgi?id=95850
+
+ Reviewed by Yury Semikhatsky.
+
+ I'd like to extract MemoryObjectTypes into separate classes.
+ After that we will be able to move core NMI instrumentation code to WTF.
+
+ * tests/MemoryInstrumentationTest.cpp:
+ (WebCore::Instrumented::reportMemoryUsage):
+ (WebCore::InstrumentedRefPtr::reportMemoryUsage):
+ (WebCore::InstrumentedWithOwnPtr::reportMemoryUsage):
+ (WebCore::InstrumentedOther::reportMemoryUsage):
+ (WebCore::InstrumentedDOM::reportMemoryUsage):
+ (WebCore::TEST):
+ (WebCore::NonVirtualInstrumented::reportMemoryUsage):
+
+2012-09-05 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed, rolling out r127590.
+ http://trac.webkit.org/changeset/127590
+
+ Broke the Chromium bots because of a compile error in the compositor.
+
+ * DEPS:
+
+2012-09-05 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-09-04 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: replace ObjectType enum with static const char* string identifiers.
+ https://bugs.webkit.org/show_bug.cgi?id=95739
+
+ Reviewed by Yury Semikhatsky.
+
+ When we go deeper into different parts of browser like skia, chromium itself etc.
+ we can't use a single enum for all reported object types.
+ The current idea is to use plain simple strings as ObjectType identifiers.
+ In the future patches we will extract these identifiers into separate class or namespace
+ and and split it between components.
+
+ * tests/MemoryInstrumentationTest.cpp:
+ (WebCore::TEST):
+ (WebCore):
+
+2012-09-04 Keishi Hattori <keishi@webkit.org>
+
+ Move PagePopupClient implementation for input[type=date] to Chromium WebKit layer
+ https://bugs.webkit.org/show_bug.cgi?id=95681
+
+ Reviewed by Kent Tamura.
+
+ * WebKit.gyp:
+ * src/ChromeClientImpl.cpp:
+ (WebKit):
+ (WebKit::ChromeClientImpl::openDateTimeChooser):
+ * src/ChromeClientImpl.h:
+ (WebCore):
+ (ChromeClientImpl):
+ * src/DateTimeChooserImpl.cpp: Added.
+ (WebKit):
+ (WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
+ (WebKit::DateTimeChooserImpl::~DateTimeChooserImpl):
+ (WebKit::DateTimeChooserImpl::endChooser):
+ (WebKit::DateTimeChooserImpl::contentSize):
+ (WebKit::DateTimeChooserImpl::writeDocument):
+ (WebKit::DateTimeChooserImpl::setValueAndClosePopup):
+ (WebKit::DateTimeChooserImpl::didClosePopup):
+ * src/DateTimeChooserImpl.h:
+ (WebCore):
+ (WebKit):
+ (DateTimeChooserImpl):
+
+2012-09-04 Adam Barth <abarth@chromium.org>
+
+ Make chromium-linux build without WTF_DEPRECATED_STRING_OPERATORS
+ https://bugs.webkit.org/show_bug.cgi?id=95798
+
+ Reviewed by Eric Seidel.
+
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::keyboardShortcut):
+ - Remove use of WTF::String::operator+=
+ * src/WebPageSerializerImpl.cpp:
+ - Whitelist use of WTF::String::operator+=. Remove this use will take
+ some more careful thought.
+
+2012-09-04 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: remove final createIndex backend glue
+ https://bugs.webkit.org/show_bug.cgi?id=95385
+
+ Reviewed by Adam Barth.
+
+ Remove chromium glue for old key-generation code.
+
+ * public/WebIDBKey.h:
+ (WebIDBKey):
+ * src/WebIDBKey.cpp:
+
+2012-09-04 Tien-Ren Chen <trchen@chromium.org>
+
+ [chromium] Rename WebViewClient::handleDisambiguationPopup
+ https://bugs.webkit.org/show_bug.cgi?id=95529
+
+ Reviewed by Adam Barth.
+
+ Rename it to something more descriptive (WebViewClient::didTapMultipleTargets) before people start using it.
+
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::didTapMultipleTargets):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+ * tests/WebFrameTest.cpp:
+
+2012-09-03 Tao Bai <michaelbai@chromium.org>
+
+ Added ANDROID_GDBSERVER definition for Ant
+ https://bugs.webkit.org/show_bug.cgi?id=95265
+
+ Reviewed by Adam Barth.
+
+ ANDROID_GDBSERVER will replace ANDROID_TOOLCHAIN, because the ANDROID_TOOLCHAIN
+ is only used for finding the gdbserver.
+
+ * WebKitUnitTests.gyp:
+
+2012-09-03 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-09-03 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add Ice-related functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95565
+
+ Reviewed by Adam Barth.
+
+ * src/AssertMatchingEnums.cpp:
+
+2012-09-01 James Robinson <jamesr@chromium.org>
+
+ Unreviewed chromium buildfix when use_libcc_for_compositor=1
+
+ This gyp target was renamed downstream.
+
+ * WebKit.gyp:
+
+2012-09-01 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add MediaStream management to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95543
+
+ Reviewed by Adam Barth.
+
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-31 Koji Ishii <kojiishi@gmail.com>
+
+ Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Windows
+ https://bugs.webkit.org/show_bug.cgi?id=51450
+
+ Reviewed by Tony Chang.
+
+ When writing-mode is vertical-*, Chromium Win does not render glyphs correctly.
+ http://dev.w3.org/csswg/css3-writing-modes/#writing-mode
+ Glyphs are now drawn in the correct orientation, regardless of the leading '@' in the font name,
+ and vertical alternate glyphs (OpenType 'vert' feature) is not enabled.
+ CJK characters drawn at wrong baseline position is also fixed.
+ In addition, fontMetrics().unitsPerEm() and SimpleFontData::platformBoundsForGlyph() were empty
+ in Chromium Win but they were implemented because they were needed to draw vertical flow correctly.
+
+ Note that this patch does not address issues in vertical flow for complex code path.
+ The issue is under discussion with Google people and it will not be fixed in short term.
+
+ Existing tests in fast/writing-mode/* are enabled in LayoutTests/platform/chromium/TestExpectations.
+
+ * features.gypi: ENABLE_OPENTYPE_VERTICAL=1.
+
+2012-08-31 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Make link highlighter use same node selection criteria as Chromium for Android.
+ https://bugs.webkit.org/show_bug.cgi?id=95371
+
+ Reviewed by James Robinson.
+
+ This CL brings the selection criteria for link highlight targets into alignment with Chromium for Android.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::highlightConditions):
+ (WebKit::WebViewImpl::bestTouchLinkNode):
+ * tests/data/test_touch_link_highlight.html:
+
+2012-08-31 James Robinson <jamesr@chromium.org>
+
+ [chromium] Consolidate geometry unit testing functions for cc
+ https://bugs.webkit.org/show_bug.cgi?id=95526
+
+ Reviewed by Julien Chaffraix.
+
+ This consolidates geometry equality (rects, matrices) in CCGeometryUtils and removes a few duplicate macros for
+ testing rect equality.
+
+ * WebKit.gypi:
+ * tests/CCDamageTrackerTest.cpp:
+ (WebKitTests::TEST_F):
+ * tests/CCGeometryTestUtils.cpp: Added.
+ (WebKitTests):
+ (WebKitTests::ExpectTransformationMatrixEq):
+ * tests/CCGeometryTestUtils.h: Renamed from Source/WebKit/chromium/tests/CCLayerTreeTestCommon.h.
+ (WebKit):
+ (WebKitTests):
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCMathUtilTest.cpp:
+ (WebKit::TEST):
+ * tests/TiledLayerChromiumTest.cpp:
+
+2012-08-31 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up Web*Layer initialization paths
+ https://bugs.webkit.org/show_bug.cgi?id=95523
+
+ Reviewed by Darin Fisher.
+
+ Constructing a Web*LayerImpl (or other compositor type) wrapper shouldn't require knowledge of the underyling
+ implementation. Also normalizes naming conventions in these files.
+
+ * src/WebAnimationImpl.cpp:
+ (WebKit::WebAnimation::create):
+ (WebKit::WebAnimationImpl::WebAnimationImpl):
+ * src/WebAnimationImpl.h:
+ (WebAnimationImpl):
+ * src/WebContentLayerImpl.cpp:
+ (WebKit::WebContentLayerImpl::WebContentLayerImpl):
+ (WebKit::WebContentLayerImpl::~WebContentLayerImpl):
+ (WebKit::WebContentLayerImpl::layer):
+ (WebKit::WebContentLayerImpl::setDoubleSided):
+ (WebKit::WebContentLayerImpl::setContentsScale):
+ (WebKit::WebContentLayerImpl::setUseLCDText):
+ (WebKit::WebContentLayerImpl::setDrawCheckerboardForMissingTiles):
+ * src/WebContentLayerImpl.h:
+ (WebContentLayerImpl):
+ * src/WebFloatAnimationCurveImpl.cpp:
+ (WebKit::WebFloatAnimationCurve::create):
+ (WebKit::WebFloatAnimationCurveImpl::WebFloatAnimationCurveImpl):
+ * src/WebFloatAnimationCurveImpl.h:
+ (WebFloatAnimationCurveImpl):
+ * src/WebIOSurfaceLayerImpl.cpp:
+ (WebKit::WebIOSurfaceLayer::create):
+ (WebKit::WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl):
+ * src/WebIOSurfaceLayerImpl.h:
+ (WebIOSurfaceLayerImpl):
+ * src/WebImageLayerImpl.cpp:
+ (WebKit::WebImageLayer::create):
+ (WebKit::WebImageLayerImpl::WebImageLayerImpl):
+ * src/WebImageLayerImpl.h:
+ (WebImageLayerImpl):
+ * src/WebLayerImpl.cpp:
+ (WebKit::WebLayer::create):
+ (WebKit):
+ (WebKit::WebLayerImpl::WebLayerImpl):
+ * src/WebLayerImpl.h:
+ (WebLayerImpl):
+ * src/WebScrollbarLayerImpl.cpp:
+ (WebKit::WebScrollbarLayer::create):
+ (WebKit::WebScrollbarLayerImpl::WebScrollbarLayerImpl):
+ * src/WebScrollbarLayerImpl.h:
+ (WebScrollbarLayerImpl):
+ * src/WebSolidColorLayerImpl.cpp:
+ (WebKit::WebSolidColorLayer::create):
+ (WebKit::WebSolidColorLayerImpl::WebSolidColorLayerImpl):
+ * src/WebSolidColorLayerImpl.h:
+ (WebSolidColorLayerImpl):
+ * src/WebTransformAnimationCurveImpl.cpp:
+ (WebKit::WebTransformAnimationCurve::create):
+ (WebKit::WebTransformAnimationCurveImpl::WebTransformAnimationCurveImpl):
+ * src/WebTransformAnimationCurveImpl.h:
+ (WebTransformAnimationCurveImpl):
+ * src/WebVideoLayerImpl.cpp:
+ (WebKit::WebVideoLayer::create):
+ (WebKit::WebVideoLayerImpl::WebVideoLayerImpl):
+ * src/WebVideoLayerImpl.h:
+ (WebVideoLayerImpl):
+
+2012-08-31 Tony Chang <tony@chromium.org>
+
+ Remove ENABLE_CSS3_FLEXBOX compile time flag
+ https://bugs.webkit.org/show_bug.cgi?id=95382
+
+ Reviewed by Ojan Vafai.
+
+ Everyone is already enabling this by default and the spec has stablized.
+
+ * features.gypi:
+
+2012-08-31 Christopher Cameron <ccameron@chromium.org>
+
+ [chromium] Add main versus impl thread asserts
+ https://bugs.webkit.org/show_bug.cgi?id=95596
+
+ Reviewed by James Robinson.
+
+ Add asserts to prioritized texture manager that specify that a
+ function be called on the main or impl thread.
+
+ Add debug signs that the main thread is blocked to the threaded
+ proxy.
+
+ Add a mechanism to simultaneously set the thread to the impl thread
+ and indicate that the main thread is blocked.
+
+ Update tests that hit asserts in the prioritized texture manager to
+ set their impl thread and main thread blocked state correctly.
+
+ * tests/CCPrioritizedTextureTest.cpp:
+ (WTF::CCPrioritizedTextureTest::CCPrioritizedTextureTest):
+ (WTF::CCPrioritizedTextureTest::~CCPrioritizedTextureTest):
+ (WTF::CCPrioritizedTextureTest::validateTexture):
+ (WTF::TEST_F):
+ * tests/TiledLayerChromiumTest.cpp:
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Put compositor client interfaces in separate headers, normalize naming
+ https://bugs.webkit.org/show_bug.cgi?id=95522
+
+ Reviewed by Adam Barth.
+
+ * src/WebContentLayerImpl.cpp:
+ (WebKit::WebContentLayerImpl::~WebContentLayerImpl):
+ * src/WebContentLayerImpl.h:
+ (WebContentLayerImpl):
+ * src/WebExternalTextureLayerImpl.h:
+ * src/WebLayerTreeViewImpl.h:
+ (WebCore):
+ * tests/CCLayerTreeHostCommonTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ (WebKitTests::ContentLayerChromiumWithUpdateTracking::create):
+ (WebKitTests::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
+ (WebKitTests::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers):
+ (WebKitTests::CCLayerTreeHostTestAtomicCommit::CCLayerTreeHostTestAtomicCommit):
+ (WebKitTests::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::CCLayerTreeHostTestAtomicCommitWithPartialUpdate):
+ (WebKitTests::CCLayerTreeHostTestLostContextWhileUpdatingResources::CCLayerTreeHostTestLostContextWhileUpdatingResources):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources):
+ * tests/ContentLayerChromiumTest.cpp:
+ (WebKit::MockContentLayerChromiumClient::MockContentLayerChromiumClient):
+ (WebKit::TEST):
+
+2012-08-31 Gavin Peters <gavinp@chromium.org>
+
+ [chromium] DEPS roll with a test skip.
+ https://bugs.webkit.org/show_bug.cgi?id=95601
+
+ Unreviewed gardening & DEPS roll.
+
+
+ fast/frames/cached-frame-counter.html was never the most stable test, and now it's failing on more platforms. Marking it flaky, along with a DEPS roll (earlier attempts at the DEPS roll failed on this)
+
+ * DEPS:
+
+2012-08-31 Gavin Peters <gavinp@chromium.org>
+
+ [chromium] Disable WebViewTest.AutoResizeMinimumSize
+ https://bugs.webkit.org/show_bug.cgi?id=95571
+
+ Unreviewed gardening.
+
+ Disabling this test since it started failing in build 17225, see http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win/builds/17247 for instance. Will shortly file bug to re-enable this.
+
+ * tests/WebViewTest.cpp:
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected
+ https://bugs.webkit.org/show_bug.cgi?id=95520
+
+ Reviewed by Darin Fisher.
+
+ Adopt the return value of WebCompositorSupport explicitly.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::LinkHighlight):
+ (WebKit::LinkHighlight::startHighlightAnimation):
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::setBackingTextureId):
+ (WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Make webkit_compositor specific unit test compilation conditional on gyp var
+ https://bugs.webkit.org/show_bug.cgi?id=95401
+
+ Reviewed by Dirk Pranke.
+
+ If use_libcc_for_compositor is set, these tests are being compiled and run elsewhere.
+
+ * WebKit.gyp:
+ * WebKit.gypi:
+ * WebKitUnitTests.gyp:
+
+2012-08-27 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add CompositorSupport interface for constructing compositor classes
+ https://bugs.webkit.org/show_bug.cgi?id=95040
+
+ Reviewed by Darin Fisher.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::LinkHighlight):
+ (WebKit::LinkHighlight::startHighlightAnimation):
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
+ * src/WebMediaPlayerClientImpl.h:
+ (WebKit):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::setBackingTextureId):
+ (WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
+ * src/WebPluginContainerImpl.h:
+ (WebKit):
+
+2012-08-30 Gavin Peters <gavinp@chromium.org>
+
+ [chromium] Disable CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
+ https://bugs.webkit.org/show_bug.cgi?id=95472
+
+ Unreviewed gardening.
+
+ When landing r127079, this test was re-enabled, and has not passed since. I'm disabling it, and created bug 95473 to track fixing this issue.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ (WebKitTests::TEST_F):
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up some webkit compositor unit tests
+ https://bugs.webkit.org/show_bug.cgi?id=95410
+
+ Reviewed by Adrienne Walker.
+
+ This adds includes that were implicitly being picked up, removes ones that weren't being used, removes
+ dead code, adds OVERRIDE on functions that OVERRIDE, and deinlines virtuals that the chromium clang style
+ plugin is unhappy about.
+
+ * tests/CCAnimationTestCommon.cpp:
+ (WebKitTests::FakeFloatAnimationCurve::duration):
+ (WebKitTests):
+ (WebKitTests::FakeFloatAnimationCurve::getValue):
+ (WebKitTests::FakeTransformTransition::duration):
+ (WebKitTests::FakeFloatTransition::duration):
+ (WebKitTests::FakeLayerAnimationControllerClient::id):
+ (WebKitTests::FakeLayerAnimationControllerClient::setOpacityFromAnimation):
+ (WebKitTests::FakeLayerAnimationControllerClient::opacity):
+ (WebKitTests::FakeLayerAnimationControllerClient::setTransformFromAnimation):
+ (WebKitTests::FakeLayerAnimationControllerClient::transform):
+ * tests/CCAnimationTestCommon.h:
+ (FakeFloatAnimationCurve):
+ (FakeTransformTransition):
+ (FakeFloatTransition):
+ (FakeLayerAnimationControllerClient):
+ * tests/CCTiledLayerTestCommon.cpp:
+ (WebKitTests::FakeLayerTextureUpdater::sampledTexelFormat):
+ (WebKitTests):
+ (WebKitTests::FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds):
+ (WebKitTests::FakeTiledLayerChromium::textureManager):
+ (WebKitTests::FakeTiledLayerChromium::textureUpdater):
+ (WebKitTests::FakeTiledLayerWithScaledBounds::contentBounds):
+ (WebKitTests::FakeTextureUploader::isBusy):
+ (WebKitTests::FakeTextureUploader::uploadTexture):
+ * tests/CCTiledLayerTestCommon.h:
+ (FakeLayerTextureUpdater):
+ (FakeTiledLayerChromium):
+ (FakeTiledLayerWithScaledBounds):
+ (FakeTextureUploader):
+ * tests/FakeWebCompositorOutputSurface.h:
+ * tests/TextureCopierTest.cpp:
+ (MockContext):
+ (TEST):
+ * tests/ThrottledTextureUploaderTest.cpp:
+ (WebKit::TEST):
+ * tests/WebLayerTreeViewTest.cpp:
+
+2012-08-29 Hironori Bono <hbono@chromium.org>
+
+ Fix Chromium builds (Win and Mac)
+ https://bugs.webkit.org/show_bug.cgi?id=95421
+
+ Reviewed by James Robinson.
+
+ This change replaces 'class WebRect' with 'struct WebRect' to fix build breaks
+ on the "Chromium Mac Release" and the "Chromium Win Release" bot caused by
+ r127095.
+
+ * public/WebViewClient.h:
+ (WebKit):
+
+2012-08-29 Nat Duca <nduca@chromium.org>
+
+ [chromium] setNeedsAnimate should not cause commitRequested to become true
+ https://bugs.webkit.org/show_bug.cgi?id=95393
+
+ Reviewed by James Robinson.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ (CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested):
+ (CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested::CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested):
+
+2012-08-29 Tien-Ren Chen <trchen@chromium.org>
+
+ [chromium] Implement disambiguation popup (a.k.a. Link Preview)
+ https://bugs.webkit.org/show_bug.cgi?id=94182
+
+ Reviewed by Adam Barth.
+
+ In this new implementation, we add a new WebViewClient::handleDisambiguationPopup delegate.
+ The disambiguation sequence will be initiated by the gesture event handler
+ in WebViewImpl if an ambiguous tap is detected, then
+ m_client->handleDisambiguationPopup will be called, so the embedder can
+ decide whether to swallow the touch event and show a popup.
+
+ New test: WebFrameTest.DisambiguationPopupTest
+
+ * WebKit.gyp:
+ * features.gypi:
+ * public/WebInputEvent.h:
+ (WebGestureEvent):
+ (WebKit::WebGestureEvent::WebGestureEvent):
+ * public/WebTouchCandidatesInfo.h: Removed.
+ * public/WebView.h:
+ (WebKit):
+ * public/WebViewClient.h:
+ (WebKit):
+ (WebViewClient):
+ (WebKit::WebViewClient::triggersLinkPreview):
+ * src/WebInputEvent.cpp:
+ (SameSizeAsWebGestureEvent):
+ * src/WebViewImpl.cpp:
+ (WebKit):
+ (WebKit::WebViewImpl::handleGestureEventWithLinkPreview):
+ (WebKit::WebViewImpl::handleGestureEvent):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Add support for canvas accessibility role.
+
+ * public/WebAccessibilityRole.h:
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-29 Alex Sakhartchouk <alexst@chromium.org>
+
+ [chromium] CCLayerTreeHost::finishCommitOnImplThread wrong setter order
+ https://bugs.webkit.org/show_bug.cgi?id=94828
+
+ Reviewed by Adrienne Walker.
+
+ Testing that setDeviceScaleFactor properly changes maxScrollPosition
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+
+2012-08-29 James Robinson <jamesr@chromium.org>
+
+ Unreviewed, rolling out r126956.
+ http://trac.webkit.org/changeset/126956
+ https://bugs.webkit.org/show_bug.cgi?id=94721
+
+ Breaks several unit tests
+
+ * tests/CCSchedulerTest.cpp:
+ (WebKitTests::FakeCCSchedulerClient::reset):
+ (WebKitTests::FakeCCSchedulerClient::setHasMoreResourceUpdates):
+ (WebKitTests::TEST):
+ * tests/CCTextureUpdateControllerTest.cpp:
+
+2012-08-29 James Robinson <jamesr@chromium.org>
+
+ [chromium] Register/unregister contents layers with GraphicsLayerChromium
+ https://bugs.webkit.org/show_bug.cgi?id=95379
+
+ Reviewed by Adrienne Walker.
+
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl):
+ (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::setBackingTextureId):
+ (WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
+ (WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):
+
+2012-08-29 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Add WebSettings support for flag to enable/disable gesture tap highlights.
+ https://bugs.webkit.org/show_bug.cgi?id=95119
+
+ Reviewed by Adam Barth.
+
+ Add support to WebSettings for flag to enable/disable gesture tap highlights. Relies on existing tests.
+
+ * public/WebSettings.h:
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::WebSettingsImpl):
+ (WebKit::WebSettingsImpl::setGestureTapHighlightEnabled):
+ (WebKit):
+ * src/WebSettingsImpl.h:
+ (WebSettingsImpl):
+ (WebKit::WebSettingsImpl::gestureTapHighlightEnabled):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+
+2012-08-29 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Remove HUD layer when rootLayer is set to null
+ https://bugs.webkit.org/show_bug.cgi?id=95257
+
+ Reviewed by James Robinson.
+
+ * WebKit.gypi:
+ * tests/CCHeadsUpDisplayTest.cpp: Added.
+ (CCHeadsUpDisplayTest):
+ (DrawsContentLayerChromium):
+ (DrawsContentLayerChromium::create):
+ (DrawsContentLayerChromium::DrawsContentLayerChromium):
+ (CCHudWithRootLayerChange):
+ (CCHudWithRootLayerChange::CCHudWithRootLayerChange):
+ (TEST_F):
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCThreadedTest.cpp:
+ (WebKitTests::CCThreadedTest::runTest):
+ * tests/CCThreadedTest.h:
+ (WebKitTests::CCThreadedTest::initializeSettings):
+ (CCThreadedTest):
+
+2012-08-29 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Add more unit test coverage for semantics of drawableContentRect and visibleContentRect
+ https://bugs.webkit.org/show_bug.cgi?id=94542
+
+ Reviewed by Adrienne Walker.
+
+ To make upcoming refactors safer, it was appropriate to (finally)
+ add unit tests that check the behavior of drawableContentRect and
+ visibleContentRect computations in calculateDrawTransforms.
+
+ * tests/CCLayerTreeHostCommonTest.cpp:
+
+2012-08-29 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Link highlight should clear on page navigation.
+ https://bugs.webkit.org/show_bug.cgi?id=95129
+
+ Reviewed by James Robinson.
+
+ Modified WebViewImpl to clear link highlight when navigating to new url.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::didCommitLoad):
+
+2012-08-29 James Robinson <jamesr@chromium.org>
+
+ [chromium] CCThreadImpl / WebCompositorImpl shouldn't compile from webkit when use_libcc_for_compositor=1
+ https://bugs.webkit.org/show_bug.cgi?id=94995
+
+ Reviewed by Adam Barth.
+
+ * WebKit.gyp:
+
+2012-08-28 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Do not clip root layer's subtree to viewport
+ https://bugs.webkit.org/show_bug.cgi?id=95235
+
+ Reviewed by Adrienne Walker.
+
+ Existing tests updated, and otherwise this change is already
+ covered by layout and unit tests.
+
+ * tests/CCLayerTreeHostCommonTest.cpp:
+ * tests/CCOcclusionTrackerTest.cpp:
+ (WebKitTests::CCOcclusionTrackerTestChildInRotatedChild::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestVisitTargetTwoTimes::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestSurfaceWithTwoOpaqueChildren::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblings::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblingsWithTwoTransforms::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestFilters::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestReplicaWithClipping::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestSurfaceOcclusionTranslatesWithClipping::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestSurfaceChildOfClippingSurface::runMyTest):
+
+2012-08-29 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [Chromium] CCLayerTreeHostTestScrollChildLayer makes the wrong assumptions
+ https://bugs.webkit.org/show_bug.cgi?id=95358
+
+ Unreviewed gardening.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ Disabled the test until it is fixed.
+
+2012-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126972.
+ http://trac.webkit.org/changeset/126972
+ https://bugs.webkit.org/show_bug.cgi?id=95349
+
+ accessibility/canvas-description-and-role.html has been
+ failing consistently on several bots and Dominic needs some
+ time to investigate why (Requested by jchaffraix on #webkit).
+
+ * public/WebAccessibilityRole.h:
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-29 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Add support for canvas accessibility role.
+
+ * public/WebAccessibilityRole.h:
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-28 David Reveman <reveman@chromium.org>
+
+ [Chromium] Scheduler will never process a commit until it receives a vsync tick.
+ https://bugs.webkit.org/show_bug.cgi?id=94721
+
+ Reviewed by James Robinson.
+
+ * tests/CCSchedulerTest.cpp:
+ (WebKitTests::FakeCCSchedulerClient::reset):
+ (WebKitTests::TEST):
+ * tests/CCTextureUpdateControllerTest.cpp:
+
+2012-08-28 Adam Barth <abarth@webkit.org>
+
+ Fix ASSERT in fast/events/touch/gesture/context-menu-on-two-finger-tap.html
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::detectContentOnTouch):
+
+2012-08-28 Leandro Gracia Gil <leandrogracia@chromium.org>
+
+ Content detection should not disrupt the page behaviour
+ https://bugs.webkit.org/show_bug.cgi?id=94727
+
+ Reviewed by Adam Barth.
+
+ Triggers content detection in the embedder on tap gestures and
+ add checks for the appropriate event listeners in order to prevent
+ triggering content detection when it would disrupt the page's behaviour.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+ (WebKit::WebViewImpl::detectContentOnTouch):
+ * tests/WebViewTest.cpp:
+ * tests/data/content_listeners.html: Added.
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126933.
+ http://trac.webkit.org/changeset/126933
+ https://bugs.webkit.org/show_bug.cgi?id=95261
+
+ Turns out we do need this! (Requested by abarth on #webkit).
+
+ * public/WebWidget.h:
+ (WebKit::WebWidget::paint):
+ * src/WebPagePopupImpl.cpp:
+ (WebKit::WebPagePopupImpl::paint):
+ * src/WebPagePopupImpl.h:
+ (WebPagePopupImpl):
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::paint):
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::paint):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+
+2012-08-28 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove decodeAudioFileData from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95250
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * src/PlatformSupport.cpp:
+ (WebCore):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126344.
+ http://trac.webkit.org/changeset/126344
+ https://bugs.webkit.org/show_bug.cgi?id=95253
+
+ This change is no longer needed (Requested by abarth on
+ #webkit).
+
+ * public/WebWidget.h:
+ (WebKit::WebWidget::paint):
+ * src/WebPagePopupImpl.cpp:
+ (WebKit::WebPagePopupImpl::paint):
+ * src/WebPagePopupImpl.h:
+ (WebPagePopupImpl):
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::paint):
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::paint):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+
+2012-08-28 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Crash due to object getting deleted inside updateBackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=94619
+
+ Reviewed by Chris Fleizach.
+
+ Chromium now calls updateBackingStoreAndCheckValidity explicitly,
+ so we can now get rid of calls to updateBackingStore in the
+ method implementations, and just make sure we're checking isDetached.
+
+ * public/WebAccessibilityObject.h:
+ (WebAccessibilityObject):
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::axID):
+ (WebKit::WebAccessibilityObject::accessibilityDescription):
+ (WebKit::WebAccessibilityObject::actionVerb):
+ (WebKit::WebAccessibilityObject::canSetFocusAttribute):
+ (WebKit::WebAccessibilityObject::canSetValueAttribute):
+ (WebKit::WebAccessibilityObject::childCount):
+ (WebKit::WebAccessibilityObject::childAt):
+ (WebKit::WebAccessibilityObject::firstChild):
+ (WebKit::WebAccessibilityObject::focusedChild):
+ (WebKit::WebAccessibilityObject::lastChild):
+ (WebKit::WebAccessibilityObject::nextSibling):
+ (WebKit::WebAccessibilityObject::parentObject):
+ (WebKit::WebAccessibilityObject::previousSibling):
+ (WebKit::WebAccessibilityObject::canSetSelectedAttribute):
+ (WebKit::WebAccessibilityObject::isAnchor):
+ (WebKit::WebAccessibilityObject::isAriaReadOnly):
+ (WebKit::WebAccessibilityObject::isButtonStateMixed):
+ (WebKit::WebAccessibilityObject::isChecked):
+ (WebKit::WebAccessibilityObject::isCollapsed):
+ (WebKit::WebAccessibilityObject::isControl):
+ (WebKit::WebAccessibilityObject::isEnabled):
+ (WebKit::WebAccessibilityObject::isFocused):
+ (WebKit::WebAccessibilityObject::isHovered):
+ (WebKit::WebAccessibilityObject::isIndeterminate):
+ (WebKit::WebAccessibilityObject::isLinked):
+ (WebKit::WebAccessibilityObject::isLoaded):
+ (WebKit::WebAccessibilityObject::isMultiSelectable):
+ (WebKit::WebAccessibilityObject::isOffScreen):
+ (WebKit::WebAccessibilityObject::isPasswordField):
+ (WebKit::WebAccessibilityObject::isPressed):
+ (WebKit::WebAccessibilityObject::isReadOnly):
+ (WebKit::WebAccessibilityObject::isRequired):
+ (WebKit::WebAccessibilityObject::isSelected):
+ (WebKit::WebAccessibilityObject::isSelectedOptionActive):
+ (WebKit::WebAccessibilityObject::isVertical):
+ (WebKit::WebAccessibilityObject::isVisible):
+ (WebKit::WebAccessibilityObject::isVisited):
+ (WebKit::WebAccessibilityObject::accessKey):
+ (WebKit::WebAccessibilityObject::ariaHasPopup):
+ (WebKit::WebAccessibilityObject::ariaLiveRegionAtomic):
+ (WebKit::WebAccessibilityObject::ariaLiveRegionBusy):
+ (WebKit::WebAccessibilityObject::ariaLiveRegionRelevant):
+ (WebKit::WebAccessibilityObject::ariaLiveRegionStatus):
+ (WebKit::WebAccessibilityObject::boundingBoxRect):
+ (WebKit::WebAccessibilityObject::estimatedLoadingProgress):
+ (WebKit::WebAccessibilityObject::helpText):
+ (WebKit::WebAccessibilityObject::headingLevel):
+ (WebKit::WebAccessibilityObject::hierarchicalLevel):
+ (WebKit::WebAccessibilityObject::hitTest):
+ (WebKit::WebAccessibilityObject::keyboardShortcut):
+ (WebKit::WebAccessibilityObject::performDefaultAction):
+ (WebKit::WebAccessibilityObject::roleValue):
+ (WebKit::WebAccessibilityObject::selectionEnd):
+ (WebKit::WebAccessibilityObject::selectionStart):
+ (WebKit::WebAccessibilityObject::stringValue):
+ (WebKit::WebAccessibilityObject::title):
+ (WebKit::WebAccessibilityObject::titleUIElement):
+ (WebKit::WebAccessibilityObject::url):
+ (WebKit::WebAccessibilityObject::valueDescription):
+ (WebKit::WebAccessibilityObject::valueForRange):
+ (WebKit::WebAccessibilityObject::maxValueForRange):
+ (WebKit::WebAccessibilityObject::minValueForRange):
+ (WebKit::WebAccessibilityObject::node):
+ (WebKit::WebAccessibilityObject::document):
+ (WebKit::WebAccessibilityObject::accessibilityIsIgnored):
+ (WebKit::WebAccessibilityObject::lineBreaks):
+ (WebKit::WebAccessibilityObject::columnCount):
+ (WebKit::WebAccessibilityObject::rowCount):
+ (WebKit::WebAccessibilityObject::cellForColumnAndRow):
+ (WebKit::WebAccessibilityObject::cellColumnIndex):
+ (WebKit::WebAccessibilityObject::cellColumnSpan):
+ (WebKit::WebAccessibilityObject::cellRowIndex):
+ (WebKit::WebAccessibilityObject::cellRowSpan):
+ (WebKit::WebAccessibilityObject::scrollToMakeVisible):
+ (WebKit::WebAccessibilityObject::scrollToMakeVisibleWithSubFocus):
+ (WebKit::WebAccessibilityObject::scrollToGlobalPoint):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * src/WebGeolocationPermissionRequestManager.cpp:
+ (WebGeolocationPermissionRequestManager::remove):
+ * src/WebIDBMetadata.cpp:
+ (WebKit::WebIDBMetadata::WebIDBMetadata):
+ * src/WebIntent.cpp:
+ (WebKit::WebIntent::extrasValue):
+ * tests/WebSocketExtensionDispatcherTest.cpp:
+ (WebCore::TEST_F):
+
+2012-08-28 W. James MacLean <wjmaclean@chromium.org>
+
+ [unreviewed] Compile fix: windows compiler expects float but find double.
+
+ Need to specify a float literal when initialising the highlight animation duration.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::startHighlightAnimation):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * src/WebGeolocationPermissionRequestManager.cpp:
+ (WebGeolocationPermissionRequestManager::remove):
+ * src/WebIDBMetadata.cpp:
+ (WebKit::WebIDBMetadata::WebIDBMetadata):
+ * src/WebIntent.cpp:
+ (WebKit::WebIntent::extrasValue):
+ * tests/WebSocketExtensionDispatcherTest.cpp:
+ (WebCore::TEST_F):
+
+2012-08-28 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Drastically shorten the link highlight duration.
+ https://bugs.webkit.org/show_bug.cgi?id=95216
+
+ Reviewed by James Robinson.
+
+ Parameter change; covered by existing layout tests.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::startHighlightAnimation):
+
+2012-08-27 Tien-Ren Chen <trchen@chromium.org>
+
+ [Chromium] Remove stub for WebView::getTouchHighlightQuads()
+ https://bugs.webkit.org/show_bug.cgi?id=95164
+
+ Reviewed by Adam Barth.
+
+ Reverts https://bugs.webkit.org/show_bug.cgi?id=92997
+ We're uploading a new implementation that no longer uses this API.
+ See https://bugs.webkit.org/show_bug.cgi?id=94182
+
+ * WebKit.gyp:
+ * public/WebTouchCandidatesInfo.h: Removed.
+ * public/WebView.h:
+ (WebKit):
+ * src/WebViewImpl.cpp:
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+
+2012-08-27 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Should accelerate rotations of >= 180 degrees
+ https://bugs.webkit.org/show_bug.cgi?id=94860
+
+ Reviewed by James Robinson.
+
+ Added new unit tests:
+ WebTransformOperationTest.transformTypesAreUnique
+ WebTransformOperationTest.matchTypesSameLength
+ WebTransformOperationTest.identityAlwaysMatches
+ WebTransformOperationTest.largeRotationsWithSameAxis
+ WebTransformOperationTest.largeRotationsWithSameAxisInDifferentDirection
+ WebTransformOperationTest.largeRotationsWithDifferentAxes
+ WebTransformOperationTest.blendRotationFromIdentity
+ WebTransformOperationTest.blendTranslationFromIdentity
+ WebTransformOperationTest.blendScaleFromIdentity
+ WebTransformOperationTest.blendSkewFromIdentity
+ WebTransformOperationTest.blendPerspectiveFromIdentity
+ WebTransformOperationTest.blendRotationToIdentity
+ WebTransformOperationTest.blendTranslationToIdentity
+ WebTransformOperationTest.blendScaleToIdentity
+ WebTransformOperationTest.blendSkewToIdentity
+ WebTransformOperationTest.blendPerspectiveToIdentity
+ AnimationTranslationUtilTest.createTransformAnimationWithBigRotation
+ AnimationTranslationUtilTest.createTransformAnimationWithBigRotationAndEmptyTransformOperationList
+
+ * tests/AnimationTranslationUtilTest.cpp:
+ (WebKit::TEST):
+ * tests/WebTransformOperationsTest.cpp:
+ (TEST):
+ (getIdentityOperations):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * src/WebGeolocationPermissionRequestManager.cpp:
+ (WebGeolocationPermissionRequestManager::remove):
+ * src/WebIDBMetadata.cpp:
+ (WebKit::WebIDBMetadata::WebIDBMetadata):
+ * src/WebIntent.cpp:
+ (WebKit::WebIntent::extrasValue):
+ * tests/WebSocketExtensionDispatcherTest.cpp:
+ (WebCore::TEST_F):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * src/WebGeolocationPermissionRequestManager.cpp:
+ (WebGeolocationPermissionRequestManager::remove):
+ * src/WebIDBMetadata.cpp:
+ (WebKit::WebIDBMetadata::WebIDBMetadata):
+ * src/WebIntent.cpp:
+ (WebKit::WebIntent::extrasValue):
+ * tests/WebSocketExtensionDispatcherTest.cpp:
+ (WebCore::TEST_F):
+
+2012-08-27 David Reveman <reveman@chromium.org>
+
+ [Chromium] Stop texture updates when context is lost.
+ https://bugs.webkit.org/show_bug.cgi?id=94983
+
+ Reviewed by James Robinson.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::create):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::setContextLostCallback):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::isContextLost):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::beginQueryEXT):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::endQueryEXT):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::getQueryObjectuivEXT):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::CCLayerTreeHostTestLostContextWhileUpdatingResources):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::createOutputSurface):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::beginTest):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::commitCompleteOnCCThread):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::layout):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::afterTest):
+ (TEST_F):
+
+2012-08-27 Dana Jansens <danakj@chromium.org>
+
+ [chromium] A general mechanism for passing data into and out of appendQuads and quadCuller via CCAppendQuadsData
+ https://bugs.webkit.org/show_bug.cgi?id=95109
+
+ Reviewed by Adrienne Walker.
+
+ Update tests to use the new data structure.
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCQuadCullerTest.cpp:
+ * tests/CCRenderSurfaceTest.cpp:
+ * tests/CCSolidColorLayerImplTest.cpp:
+ (CCLayerTestCommon::TEST):
+ * tests/CCTiledLayerImplTest.cpp:
+ (CCLayerTestCommon::TEST):
+ (CCLayerTestCommon::getQuads):
+ * tests/MockCCQuadCuller.h:
+
+2012-08-24 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up dependencies of WebScrollbar and WebScrollbarLayer
+ https://bugs.webkit.org/show_bug.cgi?id=94996
+
+ Reviewed by Adrienne Walker.
+
+ Fix up tests for API changes.
+
+ * WebKit.gyp:
+ * src/WebScrollbarLayerImpl.cpp:
+ (WebKit::WebScrollbarLayer::create):
+ * tests/ScrollbarLayerChromiumTest.cpp:
+ (WebCore::TEST):
+
+2012-08-27 Adrienne Walker <enne@google.com>
+
+ [chromium] Prevent scrollbar thumb size from changing during compositor zoom
+ https://bugs.webkit.org/show_bug.cgi?id=94859
+
+ Reviewed by James Robinson.
+
+ Update test.
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+
+2012-08-27 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Have RenderSurface create and add its own generated RenderPass
+ https://bugs.webkit.org/show_bug.cgi?id=94957
+
+ Reviewed by Adrienne Walker.
+
+ Test that a RenderSurface generates the RenderPass that we expect.
+
+ * tests/CCRenderSurfaceTest.cpp:
+
+2012-08-27 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Fixing infinite recursion in Canvas2DLayerManager
+ https://bugs.webkit.org/show_bug.cgi?id=95110
+
+ Reviewed by Stephen White.
+
+ Breaking recursion cycle by not reporting a change in memory allocation
+ when no memory is freed in FakeCanvas2DLayer::freeMemoryIfPossible.
+
+ * tests/Canvas2DLayerManagerTest.cpp:
+
+2012-08-27 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Implementing a global limit on memory consumed by deferred 2D canvases
+ https://bugs.webkit.org/show_bug.cgi?id=94386
+
+ Reviewed by Stephen White.
+
+ Adding unit tests for WebCore::Canvas2DLayerManager
+
+ * WebKit.gypi:
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+ RegisterProtocolHandlerClientImpl is renamed to NavigatorContentUtilsClientImpl.
+
+ * features.gypi:
+ * src/ChromeClientImpl.cpp:
+ (WebKit):
+ (WebKit::NavigatorContentUtilsClientImpl::create):
+ (WebKit::NavigatorContentUtilsClientImpl::NavigatorContentUtilsClientImpl):
+ (WebKit::NavigatorContentUtilsClientImpl::registerProtocolHandler):
+ * src/ChromeClientImpl.h:
+ (NavigatorContentUtilsClientImpl):
+ (WebKit::NavigatorContentUtilsClientImpl::~NavigatorContentUtilsClientImpl):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ * src/WebViewImpl.h:
+
+2012-08-27 Johnny Ding <jnd@chromium.org>
+
+ [Chromium-Android]Move webkit_unit_tests_apk and TestWebKitAPI_apk into a
+ condition block:['OS=="android" and gtest_target_type == "shared_library"'].
+ https://bugs.webkit.org/show_bug.cgi?id=95049
+
+ Reviewed by Adam Barth.
+
+ Move webkit_unit_tests_apk and TestWebKitAPI_apk into block of gtest_target_type == "shared_library"
+
+ * All.gyp:
+
+2012-08-24 Dominic Mazzoni <dmazzoni@google.com>
+
+ Chromium: WebAccessibilityObject should expose updateBackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=94611
+
+ Reviewed by Chris Fleizach.
+
+ This change just exposes a method, with no new tests. Next, Chromium
+ will be modified to call this new method, and this will be followed
+ by a change that gets rid of calls to updateBackingStore under the
+ hood. That last change may add a test or update an existing test.
+
+ * public/WebAccessibilityObject.h:
+ (WebAccessibilityObject):
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::updateBackingStoreAndCheckValidity):
+ (WebKit):
+
+2012-08-24 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] WebViewImpl::enableTouchHighlight() should always clear any existing highlight when invoked.
+ https://bugs.webkit.org/show_bug.cgi?id=94978
+
+ Reviewed by James Robinson.
+
+ Modified WebViewImpl::enableTouchHighlight() so it always clears any existing highlight, even if no new
+ highlight target is found.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::enableTouchHighlight):
+
+2012-08-23 James Robinson <jamesr@chromium.org>
+
+ [chromium] Convert WebLayerTreeView interface into pure virtual
+ https://bugs.webkit.org/show_bug.cgi?id=94866
+
+ Reviewed by Adrienne Walker.
+
+ Updates WebLayerTreeView implementation and callers to new interface. The createGraphicsContext3D() wrapper
+ stuff can just go away now since downstream has updated to createOutputSurface().
+
+ * WebKit.gypi:
+ * src/WebLayerTreeView.cpp: Removed.
+ * src/WebLayerTreeViewImpl.cpp:
+ (WebKit::WebLayerTreeView::create):
+ (WebKit::WebLayerTreeViewImpl::WebLayerTreeViewImpl):
+ (WebKit::WebLayerTreeViewImpl::initialize):
+ (WebKit):
+ (WebKit::WebLayerTreeViewImpl::setSurfaceReady):
+ (WebKit::WebLayerTreeViewImpl::setRootLayer):
+ (WebKit::WebLayerTreeViewImpl::clearRootLayer):
+ (WebKit::WebLayerTreeViewImpl::compositorIdentifier):
+ (WebKit::WebLayerTreeViewImpl::setViewportSize):
+ (WebKit::WebLayerTreeViewImpl::layoutViewportSize):
+ (WebKit::WebLayerTreeViewImpl::deviceViewportSize):
+ (WebKit::WebLayerTreeViewImpl::setDeviceScaleFactor):
+ (WebKit::WebLayerTreeViewImpl::deviceScaleFactor):
+ (WebKit::WebLayerTreeViewImpl::setBackgroundColor):
+ (WebKit::WebLayerTreeViewImpl::setHasTransparentBackground):
+ (WebKit::WebLayerTreeViewImpl::setVisible):
+ (WebKit::WebLayerTreeViewImpl::setPageScaleFactorAndLimits):
+ (WebKit::WebLayerTreeViewImpl::startPageScaleAnimation):
+ (WebKit::WebLayerTreeViewImpl::setNeedsAnimate):
+ (WebKit::WebLayerTreeViewImpl::setNeedsRedraw):
+ (WebKit::WebLayerTreeViewImpl::commitRequested):
+ (WebKit::WebLayerTreeViewImpl::composite):
+ (WebKit::WebLayerTreeViewImpl::updateAnimations):
+ (WebKit::WebLayerTreeViewImpl::compositeAndReadback):
+ (WebKit::WebLayerTreeViewImpl::finishAllRendering):
+ (WebKit::WebLayerTreeViewImpl::renderingStats):
+ (WebKit::WebLayerTreeViewImpl::setFontAtlas):
+ (WebKit::WebLayerTreeViewImpl::loseCompositorContext):
+ (WebKit::WebLayerTreeViewImpl::willBeginFrame):
+ (WebKit::WebLayerTreeViewImpl::didBeginFrame):
+ (WebKit::WebLayerTreeViewImpl::animate):
+ (WebKit::WebLayerTreeViewImpl::layout):
+ (WebKit::WebLayerTreeViewImpl::applyScrollAndScale):
+ (WebKit::WebLayerTreeViewImpl::createOutputSurface):
+ (WebKit::WebLayerTreeViewImpl::didRecreateOutputSurface):
+ (WebKit::WebLayerTreeViewImpl::willCommit):
+ (WebKit::WebLayerTreeViewImpl::didCommit):
+ (WebKit::WebLayerTreeViewImpl::didCommitAndDrawFrame):
+ (WebKit::WebLayerTreeViewImpl::didCompleteSwapBuffers):
+ (WebKit::WebLayerTreeViewImpl::scheduleComposite):
+ * src/WebLayerTreeViewImpl.h:
+ (WebLayerTreeViewImpl):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::renderingStats):
+ (WebKit::WebViewImpl::startPageScaleAnimation):
+ (WebKit::WebViewImpl::setCompositorSurfaceReady):
+ (WebKit::WebViewImpl::animate):
+ (WebKit::WebViewImpl::doPixelReadbackToCanvas):
+ (WebKit::WebViewImpl::paint):
+ (WebKit::WebViewImpl::composite):
+ (WebKit::WebViewImpl::setNeedsRedraw):
+ (WebKit::WebViewImpl::isInputThrottled):
+ (WebKit::WebViewImpl::loseCompositorContext):
+ (WebKit::WebViewImpl::setDeviceScaleFactor):
+ (WebKit::WebViewImpl::computePageScaleFactorLimits):
+ (WebKit::WebViewImpl::setIsTransparent):
+ (WebKit::WebViewImpl::setRootGraphicsLayer):
+ (WebKit::WebViewImpl::scheduleCompositingLayerSync):
+ (WebKit::WebViewImpl::invalidateRootLayerRect):
+ (WebKit::WebViewImpl::setBackgroundColor):
+ (WebKit::WebViewImpl::scheduleAnimation):
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ (WebKit):
+ (WebKit::WebViewImpl::updateLayerTreeViewport):
+ (WebKit::WebViewImpl::setVisibilityState):
+ * src/WebViewImpl.h:
+ (WebKit):
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCThreadedTest.cpp:
+ * tests/CCThreadedTest.h:
+ (WebKitTests::TestHooks::animate):
+ * tests/FakeCCLayerTreeHostClient.h:
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+ (WebKit::GraphicsLayerChromiumTest::~GraphicsLayerChromiumTest):
+ (GraphicsLayerChromiumTest):
+ * tests/WebLayerTest.cpp:
+ * tests/WebLayerTreeViewTest.cpp:
+ * tests/WebLayerTreeViewTestCommon.h:
+ (MockWebLayerTreeViewClient):
+
+2012-08-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-08-24 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up WebAnimation animationId/groupId generation
+ https://bugs.webkit.org/show_bug.cgi?id=94973
+
+ Reviewed by Adrienne Walker.
+
+ * src/WebAnimationImpl.cpp:
+ (WebKit::WebAnimation::create):
+ (WebKit::WebAnimationImpl::WebAnimationImpl):
+ (WebKit::WebAnimationImpl::id):
+ (WebKit):
+ * src/WebAnimationImpl.h:
+ (WebAnimationImpl):
+ * tests/AnimationTranslationUtilTest.cpp:
+ (WebKit::animationCanBeTranslated):
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::TEST_F):
+
+2012-08-24 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove visitedLinkHash from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=94965
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * src/PlatformSupport.cpp:
+ (WebCore):
+
+2012-08-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126620.
+ http://trac.webkit.org/changeset/126620
+ https://bugs.webkit.org/show_bug.cgi?id=94976
+
+ ASSERT((intptr_t)m_bytesAllocated + deltaBytes > 0) is
+ triggering on the bots (Requested by jchaffraix on #webkit).
+
+ * WebKit.gypi:
+ * tests/Canvas2DLayerManagerTest.cpp: Removed.
+
+2012-08-24 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Implementing a global limit on memory consumed by deferred 2D canvases
+ https://bugs.webkit.org/show_bug.cgi?id=94386
+
+ Reviewed by Stephen White.
+
+ Adding unit tests for WebCore::Canvas2DLayerManager
+
+ * WebKit.gypi:
+ * tests/Canvas2DLayerManagerTest.cpp: Added.
+ (FakeCanvas2DLayerBridge):
+ (FakeCanvas2DLayerBridge::FakeCanvas2DLayerBridge):
+ (FakeCanvas2DLayerBridge::fakeFreeableBytes):
+ (Canvas2DLayerManagerTest):
+ (Canvas2DLayerManagerTest::storageAllocationTrackingTest):
+ (Canvas2DLayerManagerTest::evictionTest):
+ (Canvas2DLayerManagerTest::flushEvictionTest):
+
+2012-08-24 Cris Neckar <cdn@chromium.org>
+
+ Plumb consumeUserGesture() to the chromium platform layer.
+ https://bugs.webkit.org/show_bug.cgi?id=9475294867
+
+ Reviewed by Adam Barth.
+
+ * public/WebFrame.h:
+ (WebFrame):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::consumeUserGesture):
+ (WebKit):
+ * src/WebFrameImpl.h:
+ (WebFrameImpl):
+
+2012-08-24 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] gestureTapDown should not select a RenderView node as target.
+ https://bugs.webkit.org/show_bug.cgi?id=94956
+
+ Reviewed by James Robinson.
+
+ Add check to prevent selecting a RenderView node as a highlight target.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::bestTouchLinkNode):
+
+2012-08-24 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add readyState functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=94813
+
+ Reviewed by Adam Barth.
+
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-24 Dan Carney <dcarney@google.com>
+
+ [V8] Refactor away IsolatedWorld
+ https://bugs.webkit.org/show_bug.cgi?id=93971
+
+ Reviewed by Kentaro Hara.
+
+ Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebView::addUserScript):
+ (WebKit::WebView::addUserStyleSheet):
+
2012-08-23 Antoine Labour <piman@chromium.org>
[chromium] Fix lost context when textures are evicted
@@ -14482,7 +16974,7 @@
(WebKit::WebAccessibilityObject::ariaLiveRegionBusy):
(WebKit::WebAccessibilityObject::ariaLiveRegionRelevant):
(WebKit::WebAccessibilityObject::ariaLiveRegionStatus):
- (WebKit::WebAccessibilityObject::boundingBoxRect):
+ (WebKit::WebAccessibilityObject::boundingBox):
(WebKit::WebAccessibilityObject::estimatedLoadingProgress):
(WebKit::WebAccessibilityObject::helpText):
(WebKit::WebAccessibilityObject::headingLevel):
diff --git a/Source/WebKit/chromium/DEPS b/Source/WebKit/chromium/DEPS
index 479de4270..d16efe14c 100644
--- a/Source/WebKit/chromium/DEPS
+++ b/Source/WebKit/chromium/DEPS
@@ -32,7 +32,7 @@
vars = {
'chromium_svn': 'http://src.chromium.org/svn/trunk/src',
- 'chromium_rev': '153032'
+ 'chromium_rev': '155215'
}
deps = {
diff --git a/Source/WebKit/chromium/WebKit.gyp b/Source/WebKit/chromium/WebKit.gyp
index 1fd2164bc..179ad50ef 100644
--- a/Source/WebKit/chromium/WebKit.gyp
+++ b/Source/WebKit/chromium/WebKit.gyp
@@ -54,7 +54,7 @@
# stored as is. Otherwise, a concatenated file is stored.
'debug_devtools%': 0,
- # If set to 1, links against the compositor bindings from the chromium repository
+ # If set to 1, uses the compositor bindings provided by PlatformSupport
# instead of the compositor-implementation binding files in WebKit/chromium/src.
'use_libcc_for_compositor%': 0,
@@ -71,13 +71,14 @@
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
- '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
'../../Platform/Platform.gyp/Platform.gyp:webkit_platform',
+ '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
'<(chromium_src_dir)/skia/skia.gyp:skia',
+ '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_glsl',
'<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
'<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
- '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_glsl',
'<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
+ 'webkit_wtf_support',
],
'export_dependent_settings': [
'../../Platform/Platform.gyp/Platform.gyp:webkit_platform',
@@ -277,7 +278,6 @@
'public/WebTextInputType.h',
'public/WebTextRun.h',
'public/WebTimeRange.h',
- 'public/WebTouchCandidatesInfo.h',
'public/WebURLLoaderOptions.h',
'public/WebUserMediaClient.h',
'public/WebUserMediaRequest.h',
@@ -359,11 +359,10 @@
'src/BatteryClientImpl.h',
'src/BlobRegistryProxy.cpp',
'src/BlobRegistryProxy.h',
+ 'src/DateTimeChooserImpl.cpp',
+ 'src/DateTimeChooserImpl.h',
'src/ChromeClientImpl.cpp',
'src/ChromeClientImpl.h',
- 'src/ChromiumCurrentTime.cpp',
- 'src/ChromiumOSRandomSource.cpp',
- 'src/ChromiumThreading.cpp',
'src/ColorChooserUIController.cpp',
'src/ColorChooserUIController.h',
'src/CompositionUnderlineBuilder.h',
@@ -486,6 +485,8 @@
'src/WebCache.cpp',
'src/WebColorName.cpp',
'src/WebCommon.cpp',
+ 'src/WebCompositorInputHandlerImpl.cpp',
+ 'src/WebCompositorInputHandlerImpl.h',
'src/WebCrossOriginPreflightResultCache.cpp',
'src/WebCursorInfo.cpp',
'src/WebDOMEvent.cpp',
@@ -605,8 +606,6 @@
'src/WebScopedMicrotaskSuppression.cpp',
'src/WebScopedUserGesture.cpp',
'src/WebScriptController.cpp',
- 'src/WebScrollbarImpl.cpp',
- 'src/WebScrollbarImpl.h',
'src/WebScrollbarThemeClientImpl.cpp',
'src/WebScrollbarThemeClientImpl.h',
'src/WebScrollbarThemePainter.cpp',
@@ -741,6 +740,11 @@
'WARNING_CFLAGS!': ['-Wglobal-constructors'],
},
}],
+ ['use_libcc_for_compositor==0', {
+ 'sources': [
+ '<@(webkit_compositor_unittest_files)',
+ ],
+ }],
],
'msvs_settings': {
'VCLinkerTool': {
@@ -836,8 +840,11 @@
},
}],
['use_libcc_for_compositor==1', {
- 'dependencies': [
- '<(chromium_src_dir)/webkit/compositor/compositor.gyp:webkit_compositor',
+ 'sources!': [
+ '../../WebCore/platform/chromium/support/CCThreadImpl.cpp',
+ '../../WebCore/platform/chromium/support/CCThreadImpl.h',
+ '../../WebCore/platform/chromium/support/WebCompositorImpl.cpp',
+ '../../WebCore/platform/chromium/support/WebCompositorImpl.h',
],
}, { # else: use_libcc_for_compositor==0
'sources': [
@@ -855,6 +862,31 @@
],
},
{
+ 'target_name': 'webkit_wtf_support',
+ 'type': 'static_library',
+ 'dependencies': [
+ '../../WTF/WTF.gyp/WTF.gyp:wtf',
+ ],
+ 'defines': [
+ 'WEBKIT_IMPLEMENTATION=1',
+ ],
+ 'include_dirs': [
+ '../../Platform/chromium',
+ ],
+ 'sources': [
+ 'src/ChromiumCurrentTime.cpp',
+ 'src/ChromiumOSRandomSource.cpp',
+ 'src/ChromiumThreading.cpp',
+ ],
+ 'conditions': [
+ ['component=="shared_library"', {
+ 'defines': [
+ 'WEBKIT_DLL',
+ ],
+ }],
+ ],
+ },
+ {
'target_name': 'inspector_resources',
'type': 'none',
'dependencies': [
diff --git a/Source/WebKit/chromium/WebKit.gypi b/Source/WebKit/chromium/WebKit.gypi
index 890b3f675..5d3f850d5 100644
--- a/Source/WebKit/chromium/WebKit.gypi
+++ b/Source/WebKit/chromium/WebKit.gypi
@@ -56,12 +56,72 @@
'tests/ArenaTestHelpers.h',
'tests/AssociatedURLLoaderTest.cpp',
'tests/Canvas2DLayerBridgeTest.cpp',
+ 'tests/Canvas2DLayerManagerTest.cpp',
+ 'tests/ClipboardChromiumTest.cpp',
+ 'tests/DateTimeFormatTest.cpp',
+ 'tests/DecimalTest.cpp',
+ 'tests/DragImageTest.cpp',
+ 'tests/EventListenerTest.cpp',
+ 'tests/FrameLoaderClientImplTest.cpp',
+ 'tests/FrameTestHelpers.cpp',
+ 'tests/FrameTestHelpers.h',
+ 'tests/GraphicsLayerChromiumTest.cpp',
+ 'tests/IDBAbortOnCorruptTest.cpp',
+ 'tests/IDBBindingUtilitiesTest.cpp',
+ 'tests/IDBDatabaseBackendTest.cpp',
+ 'tests/IDBFakeBackingStore.h',
+ 'tests/IDBKeyPathTest.cpp',
+ 'tests/IDBLevelDBCodingTest.cpp',
+ 'tests/IDBRequestTest.cpp',
+ 'tests/ImageLayerChromiumTest.cpp',
+ 'tests/KeyboardTest.cpp',
+ 'tests/KURLTest.cpp',
+ 'tests/LevelDBTest.cpp',
+ 'tests/LinkHighlightTest.cpp',
+ 'tests/ListenerLeakTest.cpp',
+ 'tests/MemoryInfo.cpp',
+ 'tests/MemoryInstrumentationTest.cpp',
+ 'tests/OpaqueRectTrackingContentLayerDelegateTest.cpp',
+ 'tests/OpenTypeVerticalDataTest.cpp',
+ 'tests/PaintAggregatorTest.cpp',
+ 'tests/PlatformGestureCurveTest.cpp',
+ 'tests/PlatformContextSkiaTest.cpp',
+ 'tests/PODArenaTest.cpp',
+ 'tests/PODIntervalTreeTest.cpp',
+ 'tests/PODRedBlackTreeTest.cpp',
+ 'tests/PopupContainerTest.cpp',
+ 'tests/RegionTest.cpp',
+ 'tests/RenderTableCellTest.cpp',
+ 'tests/RenderTableRowTest.cpp',
+ 'tests/TilingDataTest.cpp',
+ 'tests/TreeTestHelpers.cpp',
+ 'tests/TreeTestHelpers.h',
+ 'tests/URLTestHelpers.cpp',
+ 'tests/URLTestHelpers.h',
+ 'tests/WebCompositorInitializer.h',
+ 'tests/WebCompositorInputHandlerImplTest.cpp',
+ 'tests/WebFrameTest.cpp',
+ 'tests/WebMediaPlayerClientImplTest.cpp',
+ 'tests/WebPageNewSerializerTest.cpp',
+ 'tests/WebPageSerializerTest.cpp',
+ 'tests/WebSocketDeflaterTest.cpp',
+ 'tests/WebSocketExtensionDispatcherTest.cpp',
+ 'tests/WebURLRequestTest.cpp',
+ 'tests/WebURLResponseTest.cpp',
+ 'tests/WebViewTest.cpp',
+ ],
+
+ 'webkit_compositor_unittest_files': [
'tests/CCActiveAnimationTest.cpp',
'tests/CCAnimationTestCommon.cpp',
'tests/CCAnimationTestCommon.h',
'tests/CCDamageTrackerTest.cpp',
'tests/CCDelayBasedTimeSourceTest.cpp',
+ 'tests/CCDrawQuadTest.cpp',
'tests/CCFrameRateControllerTest.cpp',
+ 'tests/CCGeometryTestUtils.cpp',
+ 'tests/CCGeometryTestUtils.h',
+ 'tests/CCHeadsUpDisplayTest.cpp',
'tests/CCKeyframedAnimationCurveTest.cpp',
'tests/CCLayerAnimationControllerTest.cpp',
'tests/CCLayerImplTest.cpp',
@@ -73,36 +133,33 @@
'tests/CCLayerTreeHostCommonTest.cpp',
'tests/CCLayerTreeHostImplTest.cpp',
'tests/CCLayerTreeHostTest.cpp',
- 'tests/CCLayerTreeTestCommon.h',
'tests/CCMathUtilTest.cpp',
'tests/CCOcclusionTrackerTest.cpp',
'tests/CCOcclusionTrackerTestCommon.h',
+ 'tests/CCPrioritizedTextureTest.cpp',
'tests/CCQuadCullerTest.cpp',
+ 'tests/CCRenderPassTest.cpp',
'tests/CCRenderSurfaceFiltersTest.cpp',
'tests/CCRenderSurfaceTest.cpp',
+ 'tests/CCRendererGLTest.cpp',
'tests/CCResourceProviderTest.cpp',
'tests/CCSchedulerStateMachineTest.cpp',
- 'tests/CCSchedulerTestCommon.h',
'tests/CCSchedulerTest.cpp',
+ 'tests/CCSchedulerTestCommon.h',
'tests/CCScopedTextureTest.cpp',
'tests/CCScrollbarAnimationControllerLinearFadeTest.cpp',
'tests/CCSolidColorLayerImplTest.cpp',
'tests/CCTestCommon.h',
'tests/CCTextureUpdateControllerTest.cpp',
- 'tests/CCTiledLayerImplTest.cpp',
- 'tests/CCTiledLayerTestCommon.h',
- 'tests/CCTiledLayerTestCommon.cpp',
'tests/CCThreadTaskTest.cpp',
'tests/CCThreadedTest.cpp',
'tests/CCThreadedTest.h',
+ 'tests/CCTiledLayerImplTest.cpp',
+ 'tests/CCTiledLayerTestCommon.cpp',
+ 'tests/CCTiledLayerTestCommon.h',
'tests/CCTimerTest.cpp',
- 'tests/ClipboardChromiumTest.cpp',
'tests/CompositorFakeWebGraphicsContext3D.h',
'tests/ContentLayerChromiumTest.cpp',
- 'tests/DateTimeFormatTest.cpp',
- 'tests/DecimalTest.cpp',
- 'tests/DragImageTest.cpp',
- 'tests/EventListenerTest.cpp',
'tests/FakeCCLayerTreeHostClient.h',
'tests/FakeGraphicsContext3DTest.cpp',
'tests/FakeWebCompositorOutputSurface.h',
@@ -110,70 +167,23 @@
'tests/FakeWebScrollbarThemeGeometry.h',
'tests/FilterOperationsTest.cpp',
'tests/FloatQuadTest.cpp',
- 'tests/FrameLoaderClientImplTest.cpp',
- 'tests/FrameTestHelpers.cpp',
- 'tests/FrameTestHelpers.h',
- 'tests/GraphicsLayerChromiumTest.cpp',
- 'tests/IDBAbortOnCorruptTest.cpp',
- 'tests/IDBBindingUtilitiesTest.cpp',
- 'tests/IDBDatabaseBackendTest.cpp',
- 'tests/IDBFakeBackingStore.h',
- 'tests/IDBKeyPathTest.cpp',
- 'tests/IDBLevelDBCodingTest.cpp',
- 'tests/IDBRequestTest.cpp',
- 'tests/ImageLayerChromiumTest.cpp',
- 'tests/KeyboardTest.cpp',
- 'tests/KURLTest.cpp',
'tests/LayerChromiumTest.cpp',
- 'tests/CCRendererGLTest.cpp',
- 'tests/LevelDBTest.cpp',
- 'tests/LinkHighlightTest.cpp',
- 'tests/ListenerLeakTest.cpp',
- 'tests/MemoryInfo.cpp',
- 'tests/MemoryInstrumentationTest.cpp',
'tests/MockCCQuadCuller.h',
- 'tests/OpaqueRectTrackingContentLayerDelegateTest.cpp',
- 'tests/OpenTypeVerticalDataTest.cpp',
- 'tests/PaintAggregatorTest.cpp',
- 'tests/PlatformGestureCurveTest.cpp',
- 'tests/PlatformContextSkiaTest.cpp',
- 'tests/PODArenaTest.cpp',
- 'tests/PODIntervalTreeTest.cpp',
- 'tests/PODRedBlackTreeTest.cpp',
- 'tests/PopupContainerTest.cpp',
- 'tests/CCPrioritizedTextureTest.cpp',
- 'tests/RegionTest.cpp',
- 'tests/RenderTableCellTest.cpp',
- 'tests/RenderTableRowTest.cpp',
'tests/ScrollbarLayerChromiumTest.cpp',
'tests/TextureCopierTest.cpp',
'tests/TextureLayerChromiumTest.cpp',
'tests/ThrottledTextureUploaderTest.cpp',
'tests/TiledLayerChromiumTest.cpp',
- 'tests/TilingDataTest.cpp',
'tests/TreeSynchronizerTest.cpp',
- 'tests/TreeTestHelpers.cpp',
- 'tests/TreeTestHelpers.h',
- 'tests/URLTestHelpers.cpp',
- 'tests/URLTestHelpers.h',
'tests/WebAnimationTest.cpp',
- 'tests/WebCompositorInputHandlerImplTest.cpp',
'tests/WebFloatAnimationCurveTest.cpp',
- 'tests/WebFrameTest.cpp',
+ 'tests/WebInputEventConversionTest.cpp',
'tests/WebLayerTest.cpp',
'tests/WebLayerTreeViewTest.cpp',
'tests/WebLayerTreeViewTestCommon.h',
- 'tests/WebMediaPlayerClientImplTest.cpp',
- 'tests/WebPageNewSerializerTest.cpp',
- 'tests/WebPageSerializerTest.cpp',
- 'tests/WebSocketDeflaterTest.cpp',
- 'tests/WebSocketExtensionDispatcherTest.cpp',
'tests/WebTransformAnimationCurveTest.cpp',
- 'tests/WebTransformationMatrixTest.cpp',
'tests/WebTransformOperationsTest.cpp',
- 'tests/WebURLRequestTest.cpp',
- 'tests/WebURLResponseTest.cpp',
- 'tests/WebViewTest.cpp',
+ 'tests/WebTransformationMatrixTest.cpp',
],
'webkit_compositor_bindings_files': [
@@ -181,8 +191,6 @@
'src/WebAnimationCurveCommon.h',
'src/WebAnimationImpl.cpp',
'src/WebAnimationImpl.h',
- 'src/WebCompositorInputHandlerImpl.cpp',
- 'src/WebCompositorInputHandlerImpl.h',
'src/WebContentLayerImpl.cpp',
'src/WebContentLayerImpl.h',
'src/WebExternalTextureLayerImpl.cpp',
@@ -195,7 +203,8 @@
'src/WebImageLayerImpl.h',
'src/WebLayerImpl.cpp',
'src/WebLayerImpl.h',
- 'src/WebLayerTreeView.cpp',
+ 'src/WebToCCInputHandlerAdapter.cpp',
+ 'src/WebToCCInputHandlerAdapter.h',
'src/WebLayerTreeViewImpl.cpp',
'src/WebLayerTreeViewImpl.h',
'src/WebScrollbarLayerImpl.cpp',
diff --git a/Source/WebKit/chromium/WebKitUnitTests.gyp b/Source/WebKit/chromium/WebKitUnitTests.gyp
index a77392ef4..b0f155a74 100644
--- a/Source/WebKit/chromium/WebKitUnitTests.gyp
+++ b/Source/WebKit/chromium/WebKitUnitTests.gyp
@@ -46,6 +46,8 @@
'chromium_src_dir': '../../../../..',
}],
],
+
+ 'use_libcc_for_compositor%': 0,
},
'targets': [
{
@@ -64,7 +66,6 @@
'<(chromium_src_dir)/base/base.gyp:test_support_base',
'<(chromium_src_dir)/third_party/zlib/zlib.gyp:zlib',
'<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
- '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_user_agent',
],
'sources': [
'tests/RunAllTests.cpp',
@@ -103,6 +104,11 @@
'chromium_code': 1,
},
}],
+ ['use_libcc_for_compositor==0', {
+ 'sources': [
+ '<@(webkit_compositor_unittest_files)',
+ ],
+ }],
],
}],
['inside_chromium_build==1 and OS=="win" and component!="shared_library"', {
@@ -190,6 +196,8 @@
'--ant-args',
'-DANDROID_TOOLCHAIN=<(android_toolchain)',
'--ant-args',
+ '-DANDROID_GDBSERVER=<(android_gdbserver)',
+ '--ant-args',
'-DPRODUCT_DIR=<(ant_build_out)',
'--ant-args',
'-DCHROMIUM_SRC=<(ant_build_to_chromium_src)',
diff --git a/Source/WebKit/chromium/features.gypi b/Source/WebKit/chromium/features.gypi
index 6b165fd8e..4664b04a4 100644
--- a/Source/WebKit/chromium/features.gypi
+++ b/Source/WebKit/chromium/features.gypi
@@ -38,7 +38,6 @@
'ENABLE_BLOB_SLICE=1',
'ENABLE_CHANNEL_MESSAGING=1',
'ENABLE_CSP_NEXT=1',
- 'ENABLE_CSS3_FLEXBOX=1',
'ENABLE_CSS3_TEXT_DECORATION=0',
'ENABLE_CSS_BOX_DECORATION_BREAK=1',
'ENABLE_CSS_COMPOSITING=0',
@@ -87,11 +86,11 @@
'ENABLE_MHTML=1',
'ENABLE_MICRODATA=0',
'ENABLE_MUTATION_OBSERVERS=<(enable_mutation_observers)',
+ 'ENABLE_NAVIGATOR_CONTENT_UTILS=1',
'ENABLE_PAGE_VISIBILITY_API=1',
'ENABLE_POINTER_LOCK=1',
'ENABLE_PROGRESS_ELEMENT=1',
'ENABLE_QUOTA=1',
- 'ENABLE_REGISTER_PROTOCOL_HANDLER=1',
'ENABLE_REQUEST_ANIMATION_FRAME=1',
'ENABLE_RUBY=1',
'ENABLE_SANDBOX=1',
@@ -201,6 +200,11 @@
'WTF_USE_WEBAUDIO_FFMPEG=1',
],
}],
+ ['OS=="win"', {
+ 'feature_defines': [
+ 'ENABLE_OPENTYPE_VERTICAL=1',
+ ],
+ }],
['enable_web_intents==1', {
'feature_defines': [
'ENABLE_WEB_INTENTS=1',
diff --git a/Source/WebKit/chromium/public/WebAccessibilityObject.h b/Source/WebKit/chromium/public/WebAccessibilityObject.h
index 029f43872..3a32a95ee 100644
--- a/Source/WebKit/chromium/public/WebAccessibilityObject.h
+++ b/Source/WebKit/chromium/public/WebAccessibilityObject.h
@@ -69,6 +69,7 @@ public:
WEBKIT_EXPORT bool equals(const WebAccessibilityObject&) const;
bool isNull() const { return m_private.isNull(); }
+ // isDetached also checks for null, so it's safe to just call isDetached.
WEBKIT_EXPORT bool isDetached() const;
// Static methods for enabling accessibility.
@@ -77,11 +78,17 @@ public:
WEBKIT_EXPORT int axID() const;
+ // Update the underlying tree, and return true if this object is
+ // still valid (not detached). Note that calling this method
+ // can cause other WebAccessibilityObjects to become invalid, too,
+ // so always call isDetached if updateBackingStoreAndCheckValidity
+ // has been called on any object, or if any other WebCore code has run.
+ WEBKIT_EXPORT bool updateBackingStoreAndCheckValidity();
+
WEBKIT_EXPORT WebString accessibilityDescription() const;
WEBKIT_EXPORT WebString actionVerb() const;
WEBKIT_EXPORT bool canSetFocusAttribute() const;
WEBKIT_EXPORT bool canSetValueAttribute() const;
- WEBKIT_EXPORT bool isValid() const;
WEBKIT_EXPORT unsigned childCount() const;
@@ -126,6 +133,7 @@ public:
WEBKIT_EXPORT WebString ariaLiveRegionRelevant() const;
WEBKIT_EXPORT WebString ariaLiveRegionStatus() const;
WEBKIT_EXPORT WebRect boundingBoxRect() const;
+ WEBKIT_EXPORT bool canvasHasFallbackContent() const;
WEBKIT_EXPORT double estimatedLoadingProgress() const;
WEBKIT_EXPORT WebString helpText() const;
WEBKIT_EXPORT int headingLevel() const;
@@ -142,6 +150,7 @@ public:
WEBKIT_EXPORT WebAccessibilityObject titleUIElement() const;
WEBKIT_EXPORT WebURL url() const;
+ WEBKIT_EXPORT bool supportsRangeValue() const;
WEBKIT_EXPORT WebString valueDescription() const;
WEBKIT_EXPORT float valueForRange() const;
WEBKIT_EXPORT float maxValueForRange() const;
diff --git a/Source/WebKit/chromium/public/WebAccessibilityRole.h b/Source/WebKit/chromium/public/WebAccessibilityRole.h
index f40c1d99b..db8fbcbd4 100644
--- a/Source/WebKit/chromium/public/WebAccessibilityRole.h
+++ b/Source/WebKit/chromium/public/WebAccessibilityRole.h
@@ -49,6 +49,7 @@ enum WebAccessibilityRole {
WebAccessibilityRoleBrowser,
WebAccessibilityRoleBusyIndicator,
WebAccessibilityRoleButton,
+ WebAccessibilityRoleCanvas,
WebAccessibilityRoleCell,
WebAccessibilityRoleCheckBox,
WebAccessibilityRoleColorWell,
@@ -74,6 +75,7 @@ enum WebAccessibilityRole {
WebAccessibilityRoleGrowArea,
WebAccessibilityRoleHeading,
WebAccessibilityRoleHelpTag,
+ WebAccessibilityRoleHorizontalRule,
WebAccessibilityRoleIgnored,
WebAccessibilityRoleImage,
WebAccessibilityRoleImageMap,
diff --git a/Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h b/Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h
index ef277d5fd..2133e8508 100644
--- a/Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h
+++ b/Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h
@@ -26,6 +26,7 @@
#ifndef WebActiveWheelFlingParameters_h
#define WebActiveWheelFlingParameters_h
+#include "WebInputEvent.h"
#include "platform/WebCommon.h"
#include "platform/WebFloatPoint.h"
@@ -39,11 +40,13 @@ struct WebActiveWheelFlingParameters {
WebPoint point;
WebPoint globalPoint;
int modifiers;
+ WebGestureEvent::SourceDevice sourceDevice;
WebSize cumulativeScroll;
double startTime;
WebActiveWheelFlingParameters()
: modifiers(0)
+ , sourceDevice(WebGestureEvent::Touchpad)
, startTime(0)
{
}
diff --git a/Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h b/Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h
index 7c911d8f8..a4c4f62c3 100644
--- a/Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h
+++ b/Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h
@@ -35,12 +35,12 @@ public:
// Callbacks invoked from the compositor thread.
virtual void willShutdown() = 0;
- // Exactly one of the following two callbacks will be invoked after every call to WebCompositor::handleInputEvent():
+ // Exactly one of the following two callbacks will be invoked after every call to WebCompositorInputHandler::handleInputEvent():
- // Called when the WebCompositor handled the input event and no further processing is required.
+ // Called when the WebCompositorInputHandler handled the input event and no further processing is required.
virtual void didHandleInputEvent() = 0;
- // Called when the WebCompositor did not handle the input event. If sendToWidget is true, the input event
+ // Called when the WebCompositorInputHandler did not handle the input event. If sendToWidget is true, the input event
// should be forwarded to the WebWidget associated with this compositor for further processing.
virtual void didNotHandleInputEvent(bool sendToWidget) = 0;
diff --git a/Source/WebKit/chromium/public/WebFrame.h b/Source/WebKit/chromium/public/WebFrame.h
index 06531df8f..56cbe1ea4 100644
--- a/Source/WebKit/chromium/public/WebFrame.h
+++ b/Source/WebKit/chromium/public/WebFrame.h
@@ -415,6 +415,9 @@ public:
// Returns true if a user gesture is currently being processed.
virtual bool isProcessingUserGesture() const = 0;
+ // Returns true if a consumable gesture exists and has been successfully consumed.
+ virtual bool consumeUserGesture() const = 0;
+
// Returns true if this frame is in the process of opening a new frame
// with a suppressed opener.
virtual bool willSuppressOpenerInNewFrame() const = 0;
@@ -469,10 +472,29 @@ public:
// there is ranged selection.
virtual bool selectWordAroundCaret() = 0;
+ // DEPRECATED: Use moveSelectionStart / moveSelectionEnd / moveCaret
+ // This method is intended for touch-based UIs, but it's missing some
+ // functionality needed on Android, like preventing collapsed selections.
virtual void selectRange(const WebPoint& start, const WebPoint& end) = 0;
virtual void selectRange(const WebRange&) = 0;
+ // The methods below are for adjusting the start and/or end of the current
+ // selection by direct manipulation on a touch-based UI. To enter selection
+ // mode in the first place, call selectRange() or send a fake mouse event.
+
+ // Moves the start of the current selection, keeping the end fixed.
+ // Returns true on success, false if there is no selection to modify.
+ virtual bool moveSelectionStart(const WebPoint&, bool allowCollapsedSelection) = 0;
+
+ // Moves the end of the current selection, keeping the start fixed.
+ // Returns true on success, false if there is no selection to modify.
+ virtual bool moveSelectionEnd(const WebPoint&, bool allowCollapsedSelection) = 0;
+
+ // Move both endpoints of the current selection to the given position.
+ // The caret will remain pinned inside the current editable region.
+ // Returns true on success, false if there is no selection or if we're not editing.
+ virtual bool moveCaret(const WebPoint&) = 0;
// Printing ------------------------------------------------------------
diff --git a/Source/WebKit/chromium/public/WebIDBFactory.h b/Source/WebKit/chromium/public/WebIDBFactory.h
index f10a8eb9a..70c8c840c 100644
--- a/Source/WebKit/chromium/public/WebIDBFactory.h
+++ b/Source/WebKit/chromium/public/WebIDBFactory.h
@@ -41,6 +41,7 @@ namespace WebKit {
class WebFrame;
class WebIDBDatabase;
+class WebIDBDatabaseCallbacks;
class WebSecurityOrigin;
// The entry point into the IndexedDatabase API. These classes match their Foo and
@@ -54,16 +55,13 @@ public:
virtual void getDatabaseNames(WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* frame, const WebString& dataDir) { WEBKIT_ASSERT_NOT_REACHED(); }
- // FIXME: Delete this method when derived classes in chromium have
- // implemented the other open method.
- virtual void open(const WebString& name, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* frame, const WebString& dataDir)
- {
- open(name, WebIDBMetadata::NoIntVersion, callbacks, origin, frame, dataDir);
- }
-
+ // FIXME: This overload should be removed when WK90411 lands.
// The WebKit implementation of open ignores the WebFrame* parameter.
virtual void open(const WebString& name, long long version, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* frame, const WebString& dataDir) { WEBKIT_ASSERT_NOT_REACHED(); }
+ // The WebKit implementation of open ignores the WebFrame* parameter.
+ virtual void open(const WebString& name, long long version, WebIDBCallbacks* callbacks, WebIDBDatabaseCallbacks* databaseCallbacks, const WebSecurityOrigin& origin, WebFrame* frame, const WebString& dataDir) { WEBKIT_ASSERT_NOT_REACHED(); }
+
virtual void deleteDatabase(const WebString& name, WebIDBCallbacks*, const WebSecurityOrigin&, WebFrame*, const WebString& dataDir) { WEBKIT_ASSERT_NOT_REACHED(); }
};
diff --git a/Source/WebKit/chromium/public/WebIDBKey.h b/Source/WebKit/chromium/public/WebIDBKey.h
index 0b704cac2..3819de875 100644
--- a/Source/WebKit/chromium/public/WebIDBKey.h
+++ b/Source/WebKit/chromium/public/WebIDBKey.h
@@ -35,9 +35,6 @@ namespace WebCore { class IDBKey; }
namespace WebKit {
-class WebIDBKeyPath;
-class WebSerializedScriptValue;
-
class WebIDBKey {
public:
// Please use one of the factory methods. This is public only to allow WebVector.
@@ -50,8 +47,6 @@ public:
WEBKIT_EXPORT static WebIDBKey createNumber(double);
WEBKIT_EXPORT static WebIDBKey createInvalid();
WEBKIT_EXPORT static WebIDBKey createNull();
- WEBKIT_EXPORT static WebIDBKey createFromValueAndKeyPath(const WebSerializedScriptValue&, const WebIDBKeyPath&);
- WEBKIT_EXPORT static WebSerializedScriptValue injectIDBKeyIntoSerializedValue(const WebIDBKey&, const WebSerializedScriptValue&, const WebIDBKeyPath&);
WebIDBKey(const WebIDBKey& e) { assign(e); }
WebIDBKey& operator=(const WebIDBKey& e)
diff --git a/Source/WebKit/chromium/public/WebInputEvent.h b/Source/WebKit/chromium/public/WebInputEvent.h
index d1f5173e9..63ce7131c 100644
--- a/Source/WebKit/chromium/public/WebInputEvent.h
+++ b/Source/WebKit/chromium/public/WebInputEvent.h
@@ -151,6 +151,10 @@ public:
// event and back will not preserve these flags.
CapsLockOn = 1 << 9,
NumLockOn = 1 << 10,
+
+ // Left/right modifiers for keyboard events.
+ IsLeft = 1 << 11,
+ IsRight = 1 << 12,
};
static const int InputModifiers = ShiftKey | ControlKey | AltKey | MetaKey;
@@ -237,7 +241,11 @@ public:
// |windowsKeyCode| is the Windows key code associated with this key
// event. Sometimes it's direct from the event (i.e. on Windows),
// sometimes it's via a mapping function. If you want a list, see
- // WebCore/platform/chromium/KeyboardCodes* .
+ // WebCore/platform/chromium/KeyboardCodes* . Note that this should
+ // ALWAYS store the non-locational version of a keycode as this is
+ // what is returned by the Windows API. For example, it should
+ // store VK_SHIFT instead of VK_RSHIFT. The location information
+ // should be stored in |modifiers|.
int windowsKeyCode;
// The actual key code genenerated by the platform. The DOM spec runs
@@ -279,6 +287,9 @@ public:
// Sets keyIdentifier based on the value of windowsKeyCode. This is
// handy for generating synthetic keyboard events.
WEBKIT_EXPORT void setKeyIdentifierFromWindowsKeyCode();
+
+ static int windowsKeyCodeWithoutLocation(int keycode);
+ static int locationModifiersFromWindowsKeyCode(int keycode);
};
// WebMouseEvent --------------------------------------------------------------
@@ -365,6 +376,11 @@ public:
class WebGestureEvent : public WebInputEvent {
public:
+ enum SourceDevice {
+ Touchpad,
+ Touchscreen,
+ };
+
int x;
int y;
int globalX;
@@ -398,6 +414,7 @@ public:
struct {
float velocityX;
float velocityY;
+ SourceDevice sourceDevice;
} flingStart;
struct {
diff --git a/Source/WebKit/chromium/public/WebMediaPlayer.h b/Source/WebKit/chromium/public/WebMediaPlayer.h
index ed62754d3..e0395ccd3 100644
--- a/Source/WebKit/chromium/public/WebMediaPlayer.h
+++ b/Source/WebKit/chromium/public/WebMediaPlayer.h
@@ -186,6 +186,7 @@ public:
virtual WebTimeRanges sourceBuffered(const WebString& id) { return WebTimeRanges(); };
virtual bool sourceAppend(const WebString& id, const unsigned char* data, unsigned length) { return false; }
virtual bool sourceAbort(const WebString& id) { return false; }
+ virtual void sourceSetDuration(double) { }
virtual void sourceEndOfStream(EndOfStreamStatus) { }
virtual bool sourceSetTimestampOffset(const WebString& id, double offset) { return false; }
diff --git a/Source/WebKit/chromium/public/WebRuntimeFeatures.h b/Source/WebKit/chromium/public/WebRuntimeFeatures.h
index 7152249e5..012efe82d 100644
--- a/Source/WebKit/chromium/public/WebRuntimeFeatures.h
+++ b/Source/WebKit/chromium/public/WebRuntimeFeatures.h
@@ -63,7 +63,7 @@ public:
WEBKIT_EXPORT static void enableApplicationCache(bool);
WEBKIT_EXPORT static bool isApplicationCacheEnabled();
-
+
WEBKIT_EXPORT static void enableDataTransferItems(bool);
WEBKIT_EXPORT static bool isDataTransferItemsEnabled();
@@ -76,6 +76,7 @@ public:
WEBKIT_EXPORT static void enableWebAudio(bool);
WEBKIT_EXPORT static bool isWebAudioEnabled();
+ // TODO: Remove these (since they're no-ops) once Chromium code stops calling them.
WEBKIT_EXPORT static void enablePushState(bool);
WEBKIT_EXPORT static bool isPushStateEnabled(bool);
@@ -99,7 +100,7 @@ public:
WEBKIT_EXPORT static void enableFileSystem(bool);
WEBKIT_EXPORT static bool isFileSystemEnabled();
-
+
WEBKIT_EXPORT static void enableJavaScriptI18NAPI(bool);
WEBKIT_EXPORT static bool isJavaScriptI18NAPIEnabled();
diff --git a/Source/WebKit/chromium/public/WebSettings.h b/Source/WebKit/chromium/public/WebSettings.h
index e1e74a9b9..f47ff9f7c 100644
--- a/Source/WebKit/chromium/public/WebSettings.h
+++ b/Source/WebKit/chromium/public/WebSettings.h
@@ -103,6 +103,7 @@ public:
virtual void setForceCompositingMode(bool) = 0;
virtual void setFrameFlatteningEnabled(bool) = 0;
virtual void setFullScreenEnabled(bool) = 0;
+ virtual void setGestureTapHighlightEnabled(bool) = 0;
virtual void setHyperlinkAuditingEnabled(bool) = 0;
virtual void setImagesEnabled(bool) = 0;
virtual void setInteractiveFormValidationEnabled(bool) = 0;
diff --git a/Source/WebKit/chromium/public/WebView.h b/Source/WebKit/chromium/public/WebView.h
index e95ec6b53..5bb5712fa 100644
--- a/Source/WebKit/chromium/public/WebView.h
+++ b/Source/WebKit/chromium/public/WebView.h
@@ -60,11 +60,9 @@ class WebString;
class WebTextFieldDecoratorClient;
class WebViewClient;
struct WebActiveWheelFlingParameters;
-struct WebFloatQuad;
struct WebMediaPlayerAction;
struct WebPluginAction;
struct WebPoint;
-struct WebTouchCandidatesInfo;
class WebView : public WebWidget {
public:
@@ -469,20 +467,6 @@ public:
virtual WebViewBenchmarkSupport* benchmarkSupport() { return 0; }
-
- // Touch ----------------------------------------------------------------
-
- // Returns a list of layout bounding boxes of the event target node touched by
- // the input point with the padding. If no target node is found, an empty
- // list is returned. If the node is of an inline type, each line box is returned
- // separately. Otherwise, one bounding box is returned. Also returns information
- // about the found candidates and their dimension, and the highlight color to use.
- virtual WebVector<WebFloatQuad> getTouchHighlightQuads(const WebPoint&,
- int padding,
- WebTouchCandidatesInfo& outTouchInfo,
- WebColor& outTapHighlightColor) = 0;
-
-
// Visibility -----------------------------------------------------------
// Sets the visibility of the WebView.
diff --git a/Source/WebKit/chromium/public/WebViewClient.h b/Source/WebKit/chromium/public/WebViewClient.h
index 904d4a2d2..839ed0d17 100644
--- a/Source/WebKit/chromium/public/WebViewClient.h
+++ b/Source/WebKit/chromium/public/WebViewClient.h
@@ -62,6 +62,7 @@ class WebFileChooserCompletion;
class WebFrame;
class WebGeolocationClient;
class WebGeolocationService;
+class WebGestureEvent;
class WebHelperPlugin;
class WebHitTestResult;
class WebIconLoadingCompletion;
@@ -84,6 +85,7 @@ struct WebConsoleMessage;
struct WebContextMenuData;
struct WebPoint;
struct WebPopupMenuInfo;
+struct WebRect;
struct WebSize;
struct WebWindowFeatures;
@@ -285,6 +287,9 @@ public:
// unless the view did not need a layout.
virtual void didUpdateLayout() { }
+ // Return true to swallow the input event if the embedder will start a disambiguation popup
+ virtual bool didTapMultipleTargets(const WebGestureEvent&, const WebVector<WebRect>& targetRects) { return false; }
+
// Session history -----------------------------------------------------
// Tells the embedder to navigate back or forward in session history by
diff --git a/Source/WebKit/chromium/public/linux/WebFontInfo.h b/Source/WebKit/chromium/public/linux/WebFontInfo.h
index ed88b9306..a5758f1d4 100644
--- a/Source/WebKit/chromium/public/linux/WebFontInfo.h
+++ b/Source/WebKit/chromium/public/linux/WebFontInfo.h
@@ -28,51 +28,4 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebFontInfo_h
-#define WebFontInfo_h
-
-#include "../linux/WebFontRenderStyle.h"
-#include "../platform/WebCString.h"
-#include "../platform/linux/WebFontFamily.h"
-
-#include <string.h>
-#include <unistd.h>
-
-namespace WebKit {
-
-class WebFontInfo {
-public:
- // Set a global preference describing whether renderStyleForStrike() should
- // enable subpixel positioning or not. FontConfig doesn't currently provide
- // a parameter for controlling this.
- WEBKIT_EXPORT static void setSubpixelPositioning(bool);
-
- // Return a font family which provides glyphs for the Unicode code points
- // specified by |utf16|
- // characters: a native-endian UTF16 string
- // numCharacters: the number of 16-bit words in |utf16|
- // preferredLocale: preferred locale identifier for the |characters|
- // (e.g. "en", "ja", "zh-CN")
- //
- // Returns: the font family or an empty string if the request could not be
- // satisfied.
- // Returns: the font family instance. The instance has an empty font name if the request could not be satisfied.
- WEBKIT_EXPORT static void familyForChars(const WebUChar* characters, size_t numCharacters, const char* preferredLocale, WebFontFamily*);
-
- // Fill out the given WebFontRenderStyle with the user's preferences for
- // rendering the given font at the given size (in pixels).
- // family: i.e. "Times New Roman"
- // sizeAndStyle:
- // 3322222222221111111111
- // 10987654321098765432109876543210
- // +--------------------------------+
- // |..............Size............IB|
- // +--------------------------------+
- // I: italic flag
- // B: bold flag
- WEBKIT_EXPORT static void renderStyleForStrike(const char* family, int sizeAndStyle, WebFontRenderStyle* result);
-};
-
-} // namespace WebKit
-
-#endif
+#include "../../../../Platform/chromium/public/linux/WebFontInfo.h"
diff --git a/Source/WebKit/chromium/public/linux/WebFontRenderStyle.h b/Source/WebKit/chromium/public/linux/WebFontRenderStyle.h
index f4858f3ec..26f61aa4b 100644
--- a/Source/WebKit/chromium/public/linux/WebFontRenderStyle.h
+++ b/Source/WebKit/chromium/public/linux/WebFontRenderStyle.h
@@ -28,36 +28,4 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebFontRenderStyle_h
-#define WebFontRenderStyle_h
-
-#include "../platform/WebCommon.h"
-
-namespace WebCore { struct FontRenderStyle; }
-
-namespace WebKit {
-
-struct WEBKIT_EXPORT WebFontRenderStyle {
- // Each of the use* members below can take one of three values:
- // 0: off
- // 1: on
- // 2: no preference expressed
- char useBitmaps; // use embedded bitmap strike if possible
- char useAutoHint; // use 'auto' hinting (FreeType specific)
- char useHinting; // hint glyphs to the pixel grid
- char hintStyle; // level of hinting, 0..3
- char useAntiAlias; // antialias glyph shapes
- char useSubpixelRendering; // use subpixel rendering (partially-filled pixels)
- char useSubpixelPositioning; // use subpixel positioning (fractional X positions for glyphs)
-
-#if WEBKIT_IMPLEMENTATION
- // Translates the members of this struct to a FontRenderStyle
- void toFontRenderStyle(WebCore::FontRenderStyle*);
-#endif
-
- void setDefaults();
-};
-
-} // namespace WebKit
-
-#endif // WebFontRenderStyle_h
+#include "../../../../Platform/chromium/public/linux/WebFontRenderStyle.h"
diff --git a/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h b/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h
index 70ad85228..a4e2397cd 100644
--- a/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h
+++ b/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h
@@ -49,8 +49,6 @@ namespace WebKit {
class WebApplicationCacheHost; // FIXME: Does this belong in platform?
class WebApplicationCacheHostClient; // FIXME: Does this belong in platform?
class WebIDBFactory; // FIXME: Does this belong in platform?
-class WebIDBKey; // FIXME: Does this belong in platform?
-class WebIDBKeyPath; // FIXME: Does this belong in platform?
class WebPluginListBuilder; // FIXME: Does this belong in platform?
class WebSharedWorkerRepository; // FIXME: Does this belong in platform?
@@ -60,8 +58,6 @@ public:
// Indexed Database ----------------------------------------------------
virtual WebIDBFactory* idbFactory() { return 0; }
- virtual void createIDBKeysFromSerializedValuesAndKeyPath(const WebVector<WebSerializedScriptValue>& values, const WebIDBKeyPath& keyPath, WebVector<WebIDBKey>& keys) { }
- virtual WebSerializedScriptValue injectIDBKeyIntoSerializedValue(const WebIDBKey& key, const WebSerializedScriptValue& value, const WebIDBKeyPath& keyPath) { return WebSerializedScriptValue(); }
// Plugins -------------------------------------------------------------
diff --git a/Source/WebKit/chromium/src/AssertMatchingEnums.cpp b/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
index 27239d769..cfaa26bab 100644
--- a/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
+++ b/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
@@ -64,6 +64,7 @@
#include "PageVisibilityState.h"
#include "PeerConnection00.h"
#include "PlatformCursor.h"
+#include "RTCPeerConnectionHandlerClient.h"
#include "ReferrerPolicy.h"
#include "ResourceResponse.h"
#include "Settings.h"
@@ -108,13 +109,15 @@
#include "WebTextCheckingResult.h"
#include "WebTextCheckingType.h"
#include "WebView.h"
-#include "platform/WebICEOptions.h"
-#include "platform/WebMediaStreamSource.h"
-#include "platform/WebPeerConnection00Handler.h"
-#include "platform/WebPeerConnection00HandlerClient.h"
#include <public/WebClipboard.h>
#include <public/WebFileSystem.h>
#include <public/WebFilterOperation.h>
+#include <public/WebICEOptions.h>
+#include <public/WebMediaStreamSource.h>
+#include <public/WebPeerConnection00Handler.h>
+#include <public/WebPeerConnection00HandlerClient.h>
+#include <public/WebRTCPeerConnectionHandler.h>
+#include <public/WebRTCPeerConnectionHandlerClient.h>
#include <public/WebReferrerPolicy.h>
#include <public/WebScrollbar.h>
#include <public/WebURLResponse.h>
@@ -258,6 +261,7 @@ COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleDocumentNote, DocumentNoteRole)
COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleDocumentRegion, DocumentRegionRole);
COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleUserInterfaceTooltip, UserInterfaceTooltipRole);
COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleToggleButton, ToggleButtonRole);
+COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleCanvas, CanvasRole);
COMPILE_ASSERT_MATCHING_ENUM(WebApplicationCacheHost::Uncached, ApplicationCacheHost::UNCACHED);
COMPILE_ASSERT_MATCHING_ENUM(WebApplicationCacheHost::Idle, ApplicationCacheHost::IDLE);
@@ -592,6 +596,21 @@ COMPILE_ASSERT_MATCHING_ENUM(WebPeerConnection00HandlerClient::ICEStateConnected
COMPILE_ASSERT_MATCHING_ENUM(WebPeerConnection00HandlerClient::ICEStateCompleted, PeerConnection00::ICE_COMPLETED);
COMPILE_ASSERT_MATCHING_ENUM(WebPeerConnection00HandlerClient::ICEStateFailed, PeerConnection00::ICE_FAILED);
COMPILE_ASSERT_MATCHING_ENUM(WebPeerConnection00HandlerClient::ICEStateClosed, PeerConnection00::ICE_CLOSED);
+
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateNew, RTCPeerConnectionHandlerClient::ReadyStateNew);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateOpening, RTCPeerConnectionHandlerClient::ReadyStateOpening);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateActive, RTCPeerConnectionHandlerClient::ReadyStateActive);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateClosing, RTCPeerConnectionHandlerClient::ReadyStateClosing);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateClosed, RTCPeerConnectionHandlerClient::ReadyStateClosed);
+
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateNew, RTCPeerConnectionHandlerClient::IceStateNew);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateGathering, RTCPeerConnectionHandlerClient::IceStateGathering);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateWaiting, RTCPeerConnectionHandlerClient::IceStateWaiting);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateChecking, RTCPeerConnectionHandlerClient::IceStateChecking);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateConnected, RTCPeerConnectionHandlerClient::IceStateConnected);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateCompleted, RTCPeerConnectionHandlerClient::IceStateCompleted);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateFailed, RTCPeerConnectionHandlerClient::IceStateFailed);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateClosed, RTCPeerConnectionHandlerClient::IceStateClosed);
#endif
#if ENABLE(SCRIPTED_SPEECH)
diff --git a/Source/WebKit/chromium/src/ChromeClientImpl.cpp b/Source/WebKit/chromium/src/ChromeClientImpl.cpp
index d73654578..985757783 100644
--- a/Source/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/Source/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -42,6 +42,7 @@
#include "Console.h"
#include "Cursor.h"
#include "DatabaseTracker.h"
+#include "DateTimeChooserImpl.h"
#include "Document.h"
#include "DocumentLoader.h"
#include "ExternalPopupMenu.h"
@@ -652,6 +653,8 @@ void ChromeClientImpl::dispatchViewportPropertiesDidChange(const ViewportArgumen
args, settings->layoutFallbackWidth(), deviceRect.width, deviceRect.height,
dpi / ViewportArguments::deprecatedTargetDPI, IntSize(deviceRect.width, deviceRect.height));
+ restrictScaleFactorToInitialScaleIfNotUserScalable(computed);
+
if (m_webView->ignoreViewportTagMaximumScale()) {
computed.maximumScale = max(computed.maximumScale, m_webView->maxPageScaleFactor);
computed.userScalable = true;
@@ -704,6 +707,13 @@ PassOwnPtr<WebColorChooser> ChromeClientImpl::createWebColorChooser(WebColorChoo
}
#endif
+#if ENABLE(CALENDAR_PICKER)
+PassOwnPtr<WebCore::DateTimeChooser> ChromeClientImpl::openDateTimeChooser(WebCore::DateTimeChooserClient* pickerClient, const WebCore::DateTimeChooserParameters& parameters)
+{
+ return adoptPtr(new DateTimeChooserImpl(this, pickerClient, parameters));
+}
+#endif
+
void ChromeClientImpl::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> fileChooser)
{
WebViewClient* client = m_webView->client();
@@ -1119,18 +1129,18 @@ void ChromeClientImpl::dashboardRegionsChanged()
}
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-PassOwnPtr<RegisterProtocolHandlerClientImpl> RegisterProtocolHandlerClientImpl::create(WebViewImpl* webView)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+PassOwnPtr<NavigatorContentUtilsClientImpl> NavigatorContentUtilsClientImpl::create(WebViewImpl* webView)
{
- return adoptPtr(new RegisterProtocolHandlerClientImpl(webView));
+ return adoptPtr(new NavigatorContentUtilsClientImpl(webView));
}
-RegisterProtocolHandlerClientImpl::RegisterProtocolHandlerClientImpl(WebViewImpl* webView)
+NavigatorContentUtilsClientImpl::NavigatorContentUtilsClientImpl(WebViewImpl* webView)
: m_webView(webView)
{
}
-void RegisterProtocolHandlerClientImpl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
+void NavigatorContentUtilsClientImpl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
{
m_webView->client()->registerProtocolHandler(scheme, baseURL, url, title);
}
diff --git a/Source/WebKit/chromium/src/ChromeClientImpl.h b/Source/WebKit/chromium/src/ChromeClientImpl.h
index a786dc5eb..7d456fbf5 100644
--- a/Source/WebKit/chromium/src/ChromeClientImpl.h
+++ b/Source/WebKit/chromium/src/ChromeClientImpl.h
@@ -33,8 +33,8 @@
#define ChromeClientImpl_h
#include "ChromeClientChromium.h"
+#include "NavigatorContentUtilsClient.h"
#include "PopupMenu.h"
-#include "RegisterProtocolHandlerClient.h"
#include "SearchPopupMenu.h"
#include "WebNavigationPolicy.h"
#include <public/WebColor.h>
@@ -50,6 +50,8 @@ class PopupContainer;
class PopupMenuClient;
class RenderBox;
class SecurityOrigin;
+class DateTimeChooser;
+class DateTimeChooserClient;
struct WindowFeatures;
}
@@ -144,6 +146,9 @@ public:
virtual PassOwnPtr<WebCore::ColorChooser> createColorChooser(WebCore::ColorChooserClient*, const WebCore::Color&) OVERRIDE;
PassOwnPtr<WebColorChooser> createWebColorChooser(WebColorChooserClient*, const WebColor&);
#endif
+#if ENABLE(CALENDAR_PICKER)
+ virtual PassOwnPtr<WebCore::DateTimeChooser> openDateTimeChooser(WebCore::DateTimeChooserClient*, const WebCore::DateTimeChooserParameters&) OVERRIDE;
+#endif
virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*);
#if ENABLE(DIRECTORY_UPLOAD)
@@ -237,15 +242,15 @@ private:
#endif
};
-class RegisterProtocolHandlerClientImpl : public WebCore::RegisterProtocolHandlerClient {
+class NavigatorContentUtilsClientImpl : public WebCore::NavigatorContentUtilsClient {
public:
- static PassOwnPtr<RegisterProtocolHandlerClientImpl> create(WebViewImpl*);
- ~RegisterProtocolHandlerClientImpl() { }
+ static PassOwnPtr<NavigatorContentUtilsClientImpl> create(WebViewImpl*);
+ ~NavigatorContentUtilsClientImpl() { }
virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title) OVERRIDE;
private:
- explicit RegisterProtocolHandlerClientImpl(WebViewImpl*);
+ explicit NavigatorContentUtilsClientImpl(WebViewImpl*);
WebViewImpl* m_webView;
};
diff --git a/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp b/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp
index adaa41392..2fd6431c1 100644
--- a/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp
+++ b/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp
@@ -53,7 +53,6 @@
#include "KURL.h"
#include "MediaError.h"
#include "Page.h"
-#include "PlatformString.h"
#include "RenderWidget.h"
#include "Settings.h"
#include "TextBreakIterator.h"
@@ -75,6 +74,7 @@
#include "platform/WebVector.h"
#include "WebViewClient.h"
#include "WebViewImpl.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
@@ -122,7 +122,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(selectedFrame->page()->contextMenuController()->hitTestResult().point(), true);
+ hitTestResultAtPoint(selectedFrame->page()->contextMenuController()->hitTestResult().point(), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
Node* innerNode = hitTestResult.innerNode();
VisiblePosition pos(innerNode->renderer()->positionForPoint(
hitTestResult.localPoint()));
diff --git a/Source/WebKit/chromium/src/DateTimeChooserImpl.cpp b/Source/WebKit/chromium/src/DateTimeChooserImpl.cpp
new file mode 100644
index 000000000..69718dcb6
--- /dev/null
+++ b/Source/WebKit/chromium/src/DateTimeChooserImpl.cpp
@@ -0,0 +1,132 @@
+/*
+ * Copyright (C) 2012 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 "DateTimeChooserImpl.h"
+
+#if ENABLE(CALENDAR_PICKER)
+
+#include "CalendarPicker.h"
+#include "ChromeClientImpl.h"
+#include "DateComponents.h"
+#include "DateTimeChooserClient.h"
+#include "Language.h"
+#include "LocalizedDate.h"
+#include "NotImplemented.h"
+#include "PickerCommon.h"
+#include "RenderTheme.h"
+#include "platform/WebKitPlatformSupport.h"
+#include <public/WebLocalizedString.h>
+
+using namespace WTF::Unicode;
+
+namespace WebKit {
+
+DateTimeChooserImpl::DateTimeChooserImpl(ChromeClientImpl* chromeClient, WebCore::DateTimeChooserClient* client, const WebCore::DateTimeChooserParameters& parameters)
+ : m_chromeClient(chromeClient)
+ , m_client(client)
+ , m_popup(0)
+ , m_parameters(parameters)
+{
+ ASSERT(m_chromeClient);
+ ASSERT(m_client);
+ m_popup = m_chromeClient->openPagePopup(this, m_parameters.anchorRectInRootView);
+}
+
+DateTimeChooserImpl::~DateTimeChooserImpl()
+{
+}
+
+void DateTimeChooserImpl::endChooser()
+{
+ if (!m_popup)
+ return;
+ m_chromeClient->closePagePopup(m_popup);
+}
+
+WebCore::IntSize DateTimeChooserImpl::contentSize()
+{
+ return WebCore::IntSize(0, 0);
+}
+
+void DateTimeChooserImpl::writeDocument(WebCore::DocumentWriter& writer)
+{
+ WebCore::DateComponents date;
+ date.setMillisecondsSinceEpochForDate(m_parameters.minimum);
+ String minString = date.toString();
+ date.setMillisecondsSinceEpochForDate(m_parameters.maximum);
+ String maxString = date.toString();
+ String stepString = String::number(m_parameters.step);
+
+ addString("<!DOCTYPE html><head><meta charset='UTF-8'><style>\n", writer);
+ writer.addData(WebCore::pickerCommonCss, sizeof(WebCore::pickerCommonCss));
+ writer.addData(WebCore::calendarPickerCss, sizeof(WebCore::calendarPickerCss));
+ CString extraStyle = WebCore::RenderTheme::defaultTheme()->extraCalendarPickerStyleSheet();
+ if (extraStyle.length())
+ writer.addData(extraStyle.data(), extraStyle.length());
+ addString("</style></head><body><div id=main>Loading...</div><script>\n"
+ "window.dialogArguments = {\n", writer);
+ addProperty("min", minString, writer);
+ addProperty("max", maxString, writer);
+ addProperty("step", stepString, writer);
+ addProperty("required", m_parameters.required, writer);
+ addProperty("currentValue", m_parameters.currentValue, writer);
+ addProperty("locale", WebCore::defaultLanguage(), writer);
+ addProperty("todayLabel", Platform::current()->queryLocalizedString(WebLocalizedString::CalendarToday), writer);
+ addProperty("clearLabel", Platform::current()->queryLocalizedString(WebLocalizedString::CalendarClear), writer);
+ addProperty("weekStartDay", WebCore::firstDayOfWeek(), writer);
+ addProperty("monthLabels", WebCore::monthLabels(), writer);
+ addProperty("dayLabels", WebCore::weekDayShortLabels(), writer);
+ Direction dir = direction(WebCore::monthLabels()[0][0]);
+ addProperty("isRTL", dir == RightToLeft || dir == RightToLeftArabic, writer);
+ addString("}\n", writer);
+
+ writer.addData(WebCore::pickerCommonJs, sizeof(WebCore::pickerCommonJs));
+ writer.addData(WebCore::calendarPickerJs, sizeof(WebCore::calendarPickerJs));
+ addString("</script></body>\n", writer);
+}
+
+void DateTimeChooserImpl::setValueAndClosePopup(int numValue, const String& stringValue)
+{
+ if (numValue >= 0)
+ m_client->didChooseValue(stringValue);
+ endChooser();
+}
+
+void DateTimeChooserImpl::didClosePopup()
+{
+ ASSERT(m_client);
+ m_popup = 0;
+ m_client->didEndChooser();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(CALENDAR_PICKER)
diff --git a/Source/WebKit/chromium/src/DateTimeChooserImpl.h b/Source/WebKit/chromium/src/DateTimeChooserImpl.h
new file mode 100644
index 000000000..e504592bc
--- /dev/null
+++ b/Source/WebKit/chromium/src/DateTimeChooserImpl.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2012 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 DateTimeChooserImpl_h
+#define DateTimeChooserImpl_h
+
+#include "DateTimeChooser.h"
+#include "PagePopupClient.h"
+
+#if ENABLE(CALENDAR_PICKER)
+
+namespace WebCore {
+class PagePopup;
+class DateTimeChooserClient;
+}
+
+namespace WebKit {
+
+class ChromeClientImpl;
+
+class DateTimeChooserImpl : public WebCore::DateTimeChooser, public WebCore::PagePopupClient {
+public:
+ DateTimeChooserImpl(ChromeClientImpl*, WebCore::DateTimeChooserClient*, const WebCore::DateTimeChooserParameters&);
+ virtual ~DateTimeChooserImpl();
+
+ // DateTimeChooser functions:
+ virtual void endChooser() OVERRIDE;
+
+private:
+ // PagePopupClient functions:
+ virtual WebCore::IntSize contentSize() OVERRIDE;
+ virtual void writeDocument(WebCore::DocumentWriter&) OVERRIDE;
+ virtual void setValueAndClosePopup(int, const String&) OVERRIDE;
+ virtual void didClosePopup() OVERRIDE;
+
+ ChromeClientImpl* m_chromeClient;
+ WebCore::DateTimeChooserClient* m_client;
+ WebCore::PagePopup* m_popup;
+ WebCore::DateTimeChooserParameters m_parameters;
+};
+
+}
+
+#endif // ENABLE(CALENDAR_PICKER)
+
+#endif // DateTimeChooserImpl_h
diff --git a/Source/WebKit/chromium/src/EditorClientImpl.cpp b/Source/WebKit/chromium/src/EditorClientImpl.cpp
index b5eaf595f..3046db32e 100644
--- a/Source/WebKit/chromium/src/EditorClientImpl.cpp
+++ b/Source/WebKit/chromium/src/EditorClientImpl.cpp
@@ -37,7 +37,6 @@
#include "KeyboardCodes.h"
#include "KeyboardEvent.h"
#include "PlatformKeyboardEvent.h"
-#include "PlatformString.h"
#include "RenderObject.h"
#include "Settings.h"
#include "SpellChecker.h"
@@ -61,6 +60,7 @@
#include "WebTextCheckingResult.h"
#include "WebViewClient.h"
#include "WebViewImpl.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
@@ -849,6 +849,15 @@ void EditorClientImpl::getGuessesForWord(const String& word,
notImplemented();
}
+bool EditorClientImpl::supportsGlobalSelection()
+{
+#if OS(UNIX) && !OS(DARWIN)
+ return true;
+#else
+ return false;
+#endif
+}
+
void EditorClientImpl::willSetInputMethodState()
{
if (m_webView->client())
diff --git a/Source/WebKit/chromium/src/EditorClientImpl.h b/Source/WebKit/chromium/src/EditorClientImpl.h
index 3ee9ebaaa..a79bb9b1f 100644
--- a/Source/WebKit/chromium/src/EditorClientImpl.h
+++ b/Source/WebKit/chromium/src/EditorClientImpl.h
@@ -113,6 +113,7 @@ public:
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
virtual void requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest>);
+ virtual bool supportsGlobalSelection() OVERRIDE;
virtual WebCore::TextCheckerClient* textChecker() { return this; }
diff --git a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index 5dd02b563..c99bd7c57 100644
--- a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -997,8 +997,7 @@ void FrameLoaderClientImpl::dispatchDecidePolicyForNavigationAction(
if (event->isMouseEvent()) {
const MouseEvent* mouseEvent =
static_cast<const MouseEvent*>(event);
- node = m_webFrame->frame()->eventHandler()->hitTestResultAtPoint(
- mouseEvent->absoluteLocation(), false).innerNonSharedNode();
+ node = m_webFrame->frame()->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation()).innerNonSharedNode();
break;
}
}
diff --git a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
index 4f257c77c..f2657a7bd 100644
--- a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
+++ b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
@@ -35,13 +35,13 @@
#include "Frame.h"
#include "InspectorFrontendHost.h"
#include "Page.h"
-#include "PlatformString.h"
#include "ScriptController.h"
#include "V8InspectorFrontendHost.h"
#include "WebDevToolsFrontendClient.h"
#include "WebDevToolsFrontendImpl.h"
#include "platform/WebFloatPoint.h"
#include "platform/WebString.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/chromium/src/LinkHighlight.cpp b/Source/WebKit/chromium/src/LinkHighlight.cpp
index 2c804a8cd..1e72900c4 100644
--- a/Source/WebKit/chromium/src/LinkHighlight.cpp
+++ b/Source/WebKit/chromium/src/LinkHighlight.cpp
@@ -41,7 +41,9 @@
#include "WebFrameImpl.h"
#include "WebKit.h"
#include "WebViewImpl.h"
+#include <public/Platform.h>
#include <public/WebAnimationCurve.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebFloatAnimationCurve.h>
#include <public/WebFloatPoint.h>
#include <public/WebRect.h>
@@ -59,16 +61,16 @@ PassOwnPtr<LinkHighlight> LinkHighlight::create(Node* node, WebViewImpl* owningW
}
LinkHighlight::LinkHighlight(Node* node, WebViewImpl* owningWebViewImpl)
- : m_contentLayer(adoptPtr(WebContentLayer::create(this)))
- , m_clipLayer(adoptPtr(WebLayer::create()))
- , m_node(node)
+ : m_node(node)
, m_owningWebViewImpl(owningWebViewImpl)
, m_currentGraphicsLayer(0)
, m_geometryNeedsUpdate(false)
{
ASSERT(m_node);
ASSERT(owningWebViewImpl);
-
+ WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport();
+ m_contentLayer = adoptPtr(compositorSupport->createContentLayer(this));
+ m_clipLayer = adoptPtr(compositorSupport->createLayer());
m_clipLayer->setAnchorPoint(WebFloatPoint());
m_clipLayer->addChild(m_contentLayer->layer());
m_contentLayer->layer()->setDrawsContent(false);
@@ -147,7 +149,7 @@ bool LinkHighlight::computeHighlightLayerPathAndPosition(RenderLayer* compositin
return false;
bool pathHasChanged = false;
- FloatRect boundingRect = m_node->getPixelSnappedRect();
+ FloatRect boundingRect = m_node->pixelSnappedBoundingBox();
// FIXME: If we ever use a more sophisticated highlight path, we'll need
// to devise a way of detecting when it changes.
@@ -196,17 +198,21 @@ void LinkHighlight::startHighlightAnimation()
{
const float startOpacity = 1;
// FIXME: Should duration be configurable?
- const float duration = 2;
+ const float duration = 0.1f;
m_contentLayer->layer()->setOpacity(startOpacity);
- OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(WebFloatAnimationCurve::create());
+ WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport();
+
+ OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(compositorSupport->createFloatAnimationCurve());
+
curve->add(WebFloatKeyframe(0, startOpacity));
curve->add(WebFloatKeyframe(duration / 2, startOpacity));
// For layout tests we don't fade out.
curve->add(WebFloatKeyframe(duration, WebKit::layoutTestMode() ? startOpacity : 0));
- m_animation = adoptPtr(WebAnimation::create(*curve, WebAnimation::TargetPropertyOpacity));
+ m_animation = adoptPtr(compositorSupport->createAnimation(*curve, WebAnimation::TargetPropertyOpacity));
+
m_contentLayer->layer()->setDrawsContent(true);
m_contentLayer->layer()->addAnimation(m_animation.get());
diff --git a/Source/WebKit/chromium/src/LocalFileSystemChromium.cpp b/Source/WebKit/chromium/src/LocalFileSystemChromium.cpp
index d22412ac8..5fa07ddad 100644
--- a/Source/WebKit/chromium/src/LocalFileSystemChromium.cpp
+++ b/Source/WebKit/chromium/src/LocalFileSystemChromium.cpp
@@ -39,7 +39,6 @@
#include "FileSystemCallback.h"
#include "FileSystemCallbacks.h"
#include "FileSystemType.h"
-#include "PlatformString.h"
#include "WebFileError.h"
#include "WebFileSystemCallbacksImpl.h"
#include "WebFrameClient.h"
@@ -52,6 +51,7 @@
#include "WorkerThread.h"
#include <public/WebFileSystem.h>
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
using namespace WebKit;
diff --git a/Source/WebKit/chromium/src/LocalizedStrings.cpp b/Source/WebKit/chromium/src/LocalizedStrings.cpp
index 2a4432d8a..40a009369 100644
--- a/Source/WebKit/chromium/src/LocalizedStrings.cpp
+++ b/Source/WebKit/chromium/src/LocalizedStrings.cpp
@@ -202,6 +202,58 @@ String AXMenuListActionVerb()
return String();
}
+#if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS)
+String AXAMPMFieldText()
+{
+ return query(WebLocalizedString::AXAMPMFieldText);
+}
+
+String AXDayOfMonthFieldText()
+{
+ return query(WebLocalizedString::AXDayOfMonthFieldText);
+}
+
+String AXDateTimeFieldEmptyValueText()
+{
+ return query(WebLocalizedString::AXDateTimeFieldEmptyValueText);
+}
+
+String AXHourFieldText()
+{
+ return query(WebLocalizedString::AXHourFieldText);
+}
+
+String AXMillisecondFieldText()
+{
+ return query(WebLocalizedString::AXMillisecondFieldText);
+}
+
+String AXMinuteFieldText()
+{
+ return query(WebLocalizedString::AXMinuteFieldText);
+}
+
+String AXMonthFieldText()
+{
+ return query(WebLocalizedString::AXMonthFieldText);
+}
+
+String AXSecondFieldText()
+{
+ return query(WebLocalizedString::AXSecondFieldText);
+}
+
+String AXWeekOfYearFieldText()
+{
+ return query(WebLocalizedString::AXWeekOfYearFieldText);
+}
+
+String AXYearFieldText()
+{
+ return query(WebLocalizedString::AXYearFieldText);
+}
+#endif
+
String missingPluginText()
{
return query(WebLocalizedString::MissingPluginText);
diff --git a/Source/WebKit/chromium/src/NonCompositedContentHost.cpp b/Source/WebKit/chromium/src/NonCompositedContentHost.cpp
index 4df4204b3..ae99ba889 100644
--- a/Source/WebKit/chromium/src/NonCompositedContentHost.cpp
+++ b/Source/WebKit/chromium/src/NonCompositedContentHost.cpp
@@ -42,13 +42,13 @@ NonCompositedContentHost::NonCompositedContentHost(WebViewImpl* webView)
: m_webView(webView)
, m_opaque(true)
, m_showDebugBorders(false)
- , m_deviceScaleFactor(1.0)
{
m_graphicsLayer = WebCore::GraphicsLayer::create(this);
#ifndef NDEBUG
m_graphicsLayer->setName("non-composited content");
#endif
m_graphicsLayer->setDrawsContent(true);
+ m_graphicsLayer->setAppliesPageScale(true);
WebContentLayer* layer = static_cast<WebCore::GraphicsLayerChromium*>(m_graphicsLayer.get())->contentLayer();
layer->setUseLCDText(true);
layer->layer()->setOpaque(true);
@@ -88,7 +88,7 @@ void NonCompositedContentHost::setScrollLayer(WebCore::GraphicsLayer* layer)
ASSERT(haveScrollLayer());
}
-void NonCompositedContentHost::setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin, float deviceScale)
+void NonCompositedContentHost::setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin)
{
if (!haveScrollLayer())
return;
@@ -102,8 +102,6 @@ void NonCompositedContentHost::setViewport(const WebCore::IntSize& viewportSize,
// Due to the possibility of pinch zoom, the noncomposited layer is always
// assumed to be scrollable.
layer->setScrollable(true);
- m_deviceScaleFactor = deviceScale;
- m_graphicsLayer->deviceOrPageScaleFactorChanged();
m_graphicsLayer->setSize(contentsSize);
// In RTL-style pages, the origin of the initial containing block for the
diff --git a/Source/WebKit/chromium/src/NonCompositedContentHost.h b/Source/WebKit/chromium/src/NonCompositedContentHost.h
index 08b5f6a41..69776d90f 100644
--- a/Source/WebKit/chromium/src/NonCompositedContentHost.h
+++ b/Source/WebKit/chromium/src/NonCompositedContentHost.h
@@ -58,7 +58,7 @@ public:
void setBackgroundColor(const WebCore::Color&);
void setOpaque(bool);
void setScrollLayer(WebCore::GraphicsLayer*);
- void setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin, float deviceScale);
+ void setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin);
WebCore::GraphicsLayer* topLevelRootLayer() const { return m_graphicsLayer.get(); }
void setShowDebugBorders(bool);
@@ -73,11 +73,6 @@ private:
virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& clipRect);
virtual bool showDebugBorders(const WebCore::GraphicsLayer*) const;
virtual bool showRepaintCounter(const WebCore::GraphicsLayer*) const;
- // The deviceScaleFactor given to the GraphicsLayer can be non-1 when the
- // contents are scaled in the compositor instead of by the pageScaleFactor.
- // However, the pageScaleFactor is always baked into the GraphicsLayer's
- // size, so it is always 1 for the GraphicsLayer.
- virtual float deviceScaleFactor() const OVERRIDE { return m_deviceScaleFactor; }
bool haveScrollLayer();
WebLayer* scrollLayer();
@@ -89,7 +84,6 @@ private:
bool m_opaque;
bool m_showDebugBorders;
- float m_deviceScaleFactor;
};
} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/PlatformSupport.cpp b/Source/WebKit/chromium/src/PlatformSupport.cpp
index aca97d0a3..762055497 100644
--- a/Source/WebKit/chromium/src/PlatformSupport.cpp
+++ b/Source/WebKit/chromium/src/PlatformSupport.cpp
@@ -31,8 +31,6 @@
#include "config.h"
#include "PlatformSupport.h"
-#include <googleurl/src/url_util.h>
-
#include "Chrome.h"
#include "ChromeClientImpl.h"
#include "FileMetadata.h"
@@ -41,8 +39,6 @@
#include "WebFileUtilities.h"
#include "WebFrameClient.h"
#include "WebFrameImpl.h"
-#include "WebIDBKey.h"
-#include "WebIDBKeyPath.h"
#include "WebKit.h"
#include "WebPluginContainerImpl.h"
#include "WebPluginListBuilderImpl.h"
@@ -257,23 +253,6 @@ void PlatformSupport::getFontFamilyForCharacters(const UChar* characters, size_t
#endif
}
-void PlatformSupport::getRenderStyleForStrike(const char* font, int sizeAndStyle, FontRenderStyle* result)
-{
- WebFontRenderStyle style;
-
-#if OS(ANDROID)
- style.setDefaults();
-#else
- if (!font || !*font)
- style.setDefaults(); // It's probably a webfont. Take the system defaults.
- else if (WebKit::Platform::current()->sandboxSupport())
- WebKit::Platform::current()->sandboxSupport()->getRenderStyleForStrike(font, sizeAndStyle, &style);
- else
- WebFontInfo::renderStyleForStrike(font, sizeAndStyle, &style);
-#endif
-
- style.toFontRenderStyle(result);
-}
#endif
// Indexed Database -----------------------------------------------------------
@@ -285,23 +264,6 @@ PassRefPtr<IDBFactoryBackendInterface> PlatformSupport::idbFactory()
return IDBFactoryBackendProxy::create();
}
-void PlatformSupport::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue> >& values, const IDBKeyPath& keyPath, Vector<RefPtr<IDBKey> >& keys)
-{
- WebVector<WebSerializedScriptValue> webValues = values;
- WebVector<WebIDBKey> webKeys;
- webKitPlatformSupport()->createIDBKeysFromSerializedValuesAndKeyPath(webValues, keyPath, webKeys);
-
- size_t webKeysSize = webKeys.size();
- keys.reserveCapacity(webKeysSize);
- for (size_t i = 0; i < webKeysSize; ++i)
- keys.append(PassRefPtr<IDBKey>(webKeys[i]));
-}
-
-PassRefPtr<SerializedScriptValue> PlatformSupport::injectIDBKeyIntoSerializedValue(PassRefPtr<IDBKey> key, PassRefPtr<SerializedScriptValue> value, const IDBKeyPath& keyPath)
-{
- return webKitPlatformSupport()->injectIDBKeyIntoSerializedValue(key, value, keyPath);
-}
-
// Plugin ---------------------------------------------------------------------
bool PlatformSupport::plugins(bool refresh, Vector<PluginInfo>* results)
@@ -319,20 +281,6 @@ NPObject* PlatformSupport::pluginScriptableObject(Widget* widget)
return static_cast<WebPluginContainerImpl*>(widget)->scriptableObject();
}
-// Resources ------------------------------------------------------------------
-
-#if ENABLE(WEB_AUDIO)
-
-PassOwnPtr<AudioBus> PlatformSupport::decodeAudioFileData(const char* data, size_t size, double sampleRate)
-{
- WebAudioBus webAudioBus;
- if (webKitPlatformSupport()->loadAudioResource(&webAudioBus, data, size, sampleRate))
- return webAudioBus.release();
- return nullptr;
-}
-
-#endif // ENABLE(WEB_AUDIO)
-
// Theming --------------------------------------------------------------------
#if OS(WINDOWS)
@@ -547,51 +495,6 @@ void PlatformSupport::paintThemePart(
#endif
-// Visited Links --------------------------------------------------------------
-
-LinkHash PlatformSupport::visitedLinkHash(const UChar* url, unsigned length)
-{
- url_canon::RawCanonOutput<2048> buffer;
- url_parse::Parsed parsed;
- if (!url_util::Canonicalize(url, length, 0, &buffer, &parsed))
- return 0; // Invalid URLs are unvisited.
- return webKitPlatformSupport()->visitedLinkHash(buffer.data(), buffer.length());
-}
-
-LinkHash PlatformSupport::visitedLinkHash(const KURL& base,
- const AtomicString& attributeURL)
-{
- // Resolve the relative URL using googleurl and pass the absolute URL up to
- // the embedder. We could create a GURL object from the base and resolve
- // the relative URL that way, but calling the lower-level functions
- // directly saves us the string allocation in most cases.
- url_canon::RawCanonOutput<2048> buffer;
- url_parse::Parsed parsed;
-
-#if USE(GOOGLEURL)
- const CString& cstr = base.utf8String();
- const char* data = cstr.data();
- int length = cstr.length();
- const url_parse::Parsed& srcParsed = base.parsed();
-#else
- // When we're not using GoogleURL, first canonicalize it so we can resolve it
- // below.
- url_canon::RawCanonOutput<2048> srcCanon;
- url_parse::Parsed srcParsed;
- String str = base.string();
- if (!url_util::Canonicalize(str.characters(), str.length(), 0, &srcCanon, &srcParsed))
- return 0;
- const char* data = srcCanon.data();
- int length = srcCanon.length();
-#endif
-
- if (!url_util::ResolveRelative(data, length, srcParsed, attributeURL.characters(),
- attributeURL.length(), 0, &buffer, &parsed))
- return 0; // Invalid resolved URL.
-
- return webKitPlatformSupport()->visitedLinkHash(buffer.data(), buffer.length());
-}
-
// These are temporary methods that the WebKit layer can use to call to the
// Glue layer. Once the Glue layer moves entirely into the WebKit layer, these
// methods will be deleted.
diff --git a/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp b/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp
index 147f40e13..09176ee98 100644
--- a/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp
+++ b/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp
@@ -31,7 +31,6 @@
#include "config.h"
#include "SpeechInputClientImpl.h"
-#include "PlatformString.h"
#include "SecurityOrigin.h"
#include "SpeechInputListener.h"
#include "WebSecurityOrigin.h"
@@ -39,6 +38,7 @@
#include "platform/WebString.h"
#include "WebViewClient.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INPUT_SPEECH)
diff --git a/Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h b/Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h
index 750cbae5c..312e88b13 100644
--- a/Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h
+++ b/Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h
@@ -26,11 +26,11 @@
#ifndef SpeechRecognitionClientProxy_h
#define SpeechRecognitionClientProxy_h
-#include "PlatformString.h"
#include "SpeechRecognitionClient.h"
#include "WebSpeechRecognizerClient.h"
#include <wtf/Compiler.h>
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp
index 1eb69d28f..f559715d9 100644
--- a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp
+++ b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp
@@ -50,6 +50,7 @@
#include "platform/WebRect.h"
#include "platform/WebString.h"
#include "platform/WebURL.h"
+#include <wtf/text/StringBuilder.h>
using namespace WebCore;
@@ -95,16 +96,21 @@ int WebAccessibilityObject::axID() const
if (isDetached())
return -1;
- m_private->updateBackingStore();
return m_private->axObjectID();
}
+bool WebAccessibilityObject::updateBackingStoreAndCheckValidity()
+{
+ if (!isDetached())
+ m_private->updateBackingStore();
+ return !isDetached();
+}
+
WebString WebAccessibilityObject::accessibilityDescription() const
{
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->accessibilityDescription();
}
@@ -113,7 +119,6 @@ WebString WebAccessibilityObject::actionVerb() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->actionVerb();
}
@@ -122,7 +127,6 @@ bool WebAccessibilityObject::canSetFocusAttribute() const
if (isDetached())
return false;
- m_private->updateBackingStore();
return m_private->canSetFocusAttribute();
}
@@ -131,25 +135,14 @@ bool WebAccessibilityObject::canSetValueAttribute() const
if (isDetached())
return false;
- m_private->updateBackingStore();
return m_private->canSetValueAttribute();
}
-bool WebAccessibilityObject::isValid() const
-{
- if (isDetached())
- return false;
-
- m_private->updateBackingStore();
- return m_private->axObjectID();
-}
-
unsigned WebAccessibilityObject::childCount() const
{
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->children().size();
}
@@ -158,7 +151,6 @@ WebAccessibilityObject WebAccessibilityObject::childAt(unsigned index) const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
if (m_private->children().size() <= index)
return WebAccessibilityObject();
@@ -170,7 +162,6 @@ WebAccessibilityObject WebAccessibilityObject::firstChild() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->firstChild());
}
@@ -179,7 +170,6 @@ WebAccessibilityObject WebAccessibilityObject::focusedChild() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
RefPtr<AccessibilityObject> focused = m_private->focusedUIElement();
if (m_private.get() == focused.get() || m_private.get() == focused->parentObject())
return WebAccessibilityObject(focused);
@@ -192,7 +182,6 @@ WebAccessibilityObject WebAccessibilityObject::lastChild() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->lastChild());
}
@@ -202,7 +191,6 @@ WebAccessibilityObject WebAccessibilityObject::nextSibling() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->nextSibling());
}
@@ -211,7 +199,6 @@ WebAccessibilityObject WebAccessibilityObject::parentObject() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->parentObject());
}
@@ -221,7 +208,6 @@ WebAccessibilityObject WebAccessibilityObject::previousSibling() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->previousSibling());
}
@@ -230,7 +216,6 @@ bool WebAccessibilityObject::canSetSelectedAttribute() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->canSetSelectedAttribute();
}
@@ -239,7 +224,6 @@ bool WebAccessibilityObject::isAnchor() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isAnchor();
}
@@ -248,7 +232,6 @@ bool WebAccessibilityObject::isAriaReadOnly() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return equalIgnoringCase(m_private->getAttribute(HTMLNames::aria_readonlyAttr), "true");
}
@@ -257,7 +240,6 @@ bool WebAccessibilityObject::isButtonStateMixed() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->checkboxOrRadioValue() == ButtonStateMixed;
}
@@ -266,7 +248,6 @@ bool WebAccessibilityObject::isChecked() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isChecked();
}
@@ -275,7 +256,6 @@ bool WebAccessibilityObject::isCollapsed() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isCollapsed();
}
@@ -284,7 +264,6 @@ bool WebAccessibilityObject::isControl() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isControl();
}
@@ -293,7 +272,6 @@ bool WebAccessibilityObject::isEnabled() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isEnabled();
}
@@ -302,7 +280,6 @@ bool WebAccessibilityObject::isFocused() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isFocused();
}
@@ -311,7 +288,6 @@ bool WebAccessibilityObject::isHovered() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isHovered();
}
@@ -320,7 +296,6 @@ bool WebAccessibilityObject::isIndeterminate() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isIndeterminate();
}
@@ -329,7 +304,6 @@ bool WebAccessibilityObject::isLinked() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isLinked();
}
@@ -338,7 +312,6 @@ bool WebAccessibilityObject::isLoaded() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isLoaded();
}
@@ -347,7 +320,6 @@ bool WebAccessibilityObject::isMultiSelectable() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isMultiSelectable();
}
@@ -356,7 +328,6 @@ bool WebAccessibilityObject::isOffScreen() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isOffScreen();
}
@@ -365,7 +336,6 @@ bool WebAccessibilityObject::isPasswordField() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isPasswordField();
}
@@ -374,7 +344,6 @@ bool WebAccessibilityObject::isPressed() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isPressed();
}
@@ -383,7 +352,6 @@ bool WebAccessibilityObject::isReadOnly() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isReadOnly();
}
@@ -392,7 +360,6 @@ bool WebAccessibilityObject::isRequired() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isRequired();
}
@@ -401,7 +368,6 @@ bool WebAccessibilityObject::isSelected() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isSelected();
}
@@ -410,7 +376,6 @@ bool WebAccessibilityObject::isSelectedOptionActive() const
if (isDetached())
return false;
- m_private->updateBackingStore();
return m_private->isSelectedOptionActive();
}
@@ -419,7 +384,6 @@ bool WebAccessibilityObject::isVertical() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->orientation() == AccessibilityOrientationVertical;
}
@@ -428,7 +392,6 @@ bool WebAccessibilityObject::isVisible() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isVisible();
}
@@ -437,7 +400,6 @@ bool WebAccessibilityObject::isVisited() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isVisited();
}
@@ -446,7 +408,6 @@ WebString WebAccessibilityObject::accessKey() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return WebString(m_private->accessKey());
}
@@ -455,7 +416,6 @@ bool WebAccessibilityObject::ariaHasPopup() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->ariaHasPopup();
}
@@ -464,7 +424,6 @@ bool WebAccessibilityObject::ariaLiveRegionAtomic() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->ariaLiveRegionAtomic();
}
@@ -473,7 +432,6 @@ bool WebAccessibilityObject::ariaLiveRegionBusy() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->ariaLiveRegionBusy();
}
@@ -482,7 +440,6 @@ WebString WebAccessibilityObject::ariaLiveRegionRelevant() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->ariaLiveRegionRelevant();
}
@@ -491,7 +448,6 @@ WebString WebAccessibilityObject::ariaLiveRegionStatus() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->ariaLiveRegionStatus();
}
@@ -500,16 +456,22 @@ WebRect WebAccessibilityObject::boundingBoxRect() const
if (isDetached())
return WebRect();
- m_private->updateBackingStore();
return m_private->pixelSnappedBoundingBoxRect();
}
+bool WebAccessibilityObject::canvasHasFallbackContent() const
+{
+ if (isDetached())
+ return false;
+
+ return m_private->canvasHasFallbackContent();
+}
+
double WebAccessibilityObject::estimatedLoadingProgress() const
{
if (isDetached())
return 0.0;
- m_private->updateBackingStore();
return m_private->estimatedLoadingProgress();
}
@@ -518,7 +480,6 @@ WebString WebAccessibilityObject::helpText() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->helpText();
}
@@ -527,7 +488,6 @@ int WebAccessibilityObject::headingLevel() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->headingLevel();
}
@@ -536,7 +496,6 @@ int WebAccessibilityObject::hierarchicalLevel() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->hierarchicalLevel();
}
@@ -545,7 +504,6 @@ WebAccessibilityObject WebAccessibilityObject::hitTest(const WebPoint& point) co
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
IntPoint contentsPoint = m_private->documentFrameView()->windowToContents(point);
RefPtr<AccessibilityObject> hit = m_private->accessibilityHitTest(contentsPoint);
@@ -563,7 +521,6 @@ WebString WebAccessibilityObject::keyboardShortcut() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
String accessKey = m_private->accessKey();
if (accessKey.isNull())
return WebString();
@@ -574,14 +531,16 @@ WebString WebAccessibilityObject::keyboardShortcut() const
// Follow the same order as Mozilla MSAA implementation:
// Ctrl+Alt+Shift+Meta+key. MSDN states that keyboard shortcut strings
// should not be localized and defines the separator as "+".
+ StringBuilder modifierStringBuilder;
if (modifiers & PlatformEvent::CtrlKey)
- modifierString += "Ctrl+";
+ modifierStringBuilder.appendLiteral("Ctrl+");
if (modifiers & PlatformEvent::AltKey)
- modifierString += "Alt+";
+ modifierStringBuilder.appendLiteral("Alt+");
if (modifiers & PlatformEvent::ShiftKey)
- modifierString += "Shift+";
+ modifierStringBuilder.appendLiteral("Shift+");
if (modifiers & PlatformEvent::MetaKey)
- modifierString += "Win+";
+ modifierStringBuilder.appendLiteral("Win+");
+ modifierString = modifierStringBuilder.toString();
}
return String(modifierString + accessKey);
@@ -594,7 +553,6 @@ bool WebAccessibilityObject::performDefaultAction() const
UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture);
- m_private->updateBackingStore();
return m_private->performDefaultAction();
}
@@ -603,7 +561,6 @@ WebAccessibilityRole WebAccessibilityObject::roleValue() const
if (isDetached())
return WebKit::WebAccessibilityRoleUnknown;
- m_private->updateBackingStore();
return static_cast<WebAccessibilityRole>(m_private->roleValue());
}
@@ -612,7 +569,6 @@ unsigned WebAccessibilityObject::selectionEnd() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->selectedTextRange().start + m_private->selectedTextRange().length;
}
@@ -621,7 +577,6 @@ unsigned WebAccessibilityObject::selectionStart() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->selectedTextRange().start;
}
@@ -636,7 +591,6 @@ WebString WebAccessibilityObject::stringValue() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->stringValue();
}
@@ -645,7 +599,6 @@ WebString WebAccessibilityObject::title() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->title();
}
@@ -654,7 +607,6 @@ WebAccessibilityObject WebAccessibilityObject::titleUIElement() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->titleUIElement());
}
@@ -663,16 +615,22 @@ WebURL WebAccessibilityObject::url() const
if (isDetached())
return WebURL();
- m_private->updateBackingStore();
return m_private->url();
}
+bool WebAccessibilityObject::supportsRangeValue() const
+{
+ if (isDetached())
+ return false;
+
+ return m_private->supportsRangeValue();
+}
+
WebString WebAccessibilityObject::valueDescription() const
{
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->valueDescription();
}
@@ -681,7 +639,6 @@ float WebAccessibilityObject::valueForRange() const
if (isDetached())
return 0.0;
- m_private->updateBackingStore();
return m_private->valueForRange();
}
@@ -690,7 +647,6 @@ float WebAccessibilityObject::maxValueForRange() const
if (isDetached())
return 0.0;
- m_private->updateBackingStore();
return m_private->maxValueForRange();
}
@@ -699,7 +655,6 @@ float WebAccessibilityObject::minValueForRange() const
if (isDetached())
return 0.0;
- m_private->updateBackingStore();
return m_private->minValueForRange();
}
@@ -708,8 +663,6 @@ WebNode WebAccessibilityObject::node() const
if (isDetached())
return WebNode();
- m_private->updateBackingStore();
-
Node* node = m_private->node();
if (!node)
return WebNode();
@@ -722,8 +675,6 @@ WebDocument WebAccessibilityObject::document() const
if (isDetached())
return WebDocument();
- m_private->updateBackingStore();
-
Document* document = m_private->document();
if (!document)
return WebDocument();
@@ -772,7 +723,6 @@ bool WebAccessibilityObject::accessibilityIsIgnored() const
if (isDetached())
return false;
- m_private->updateBackingStore();
return m_private->accessibilityIsIgnored();
}
@@ -781,7 +731,6 @@ bool WebAccessibilityObject::lineBreaks(WebVector<int>& result) const
if (isDetached())
return false;
- m_private->updateBackingStore();
int textLength = m_private->textLength();
if (!textLength)
return false;
@@ -805,7 +754,6 @@ unsigned WebAccessibilityObject::columnCount() const
if (isDetached())
return false;
- m_private->updateBackingStore();
if (!m_private->isAccessibilityTable())
return 0;
@@ -817,7 +765,6 @@ unsigned WebAccessibilityObject::rowCount() const
if (isDetached())
return false;
- m_private->updateBackingStore();
if (!m_private->isAccessibilityTable())
return 0;
@@ -826,7 +773,9 @@ unsigned WebAccessibilityObject::rowCount() const
WebAccessibilityObject WebAccessibilityObject::cellForColumnAndRow(unsigned column, unsigned row) const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return WebAccessibilityObject();
+
if (!m_private->isAccessibilityTable())
return WebAccessibilityObject();
@@ -836,7 +785,9 @@ WebAccessibilityObject WebAccessibilityObject::cellForColumnAndRow(unsigned colu
unsigned WebAccessibilityObject::cellColumnIndex() const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return 0;
+
if (!m_private->isTableCell())
return 0;
@@ -847,7 +798,9 @@ unsigned WebAccessibilityObject::cellColumnIndex() const
unsigned WebAccessibilityObject::cellColumnSpan() const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return 0;
+
if (!m_private->isTableCell())
return 0;
@@ -858,7 +811,9 @@ unsigned WebAccessibilityObject::cellColumnSpan() const
unsigned WebAccessibilityObject::cellRowIndex() const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return 0;
+
if (!m_private->isTableCell())
return 0;
@@ -869,7 +824,9 @@ unsigned WebAccessibilityObject::cellRowIndex() const
unsigned WebAccessibilityObject::cellRowSpan() const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return 0;
+
if (!m_private->isTableCell())
return 0;
@@ -880,20 +837,20 @@ unsigned WebAccessibilityObject::cellRowSpan() const
void WebAccessibilityObject::scrollToMakeVisible() const
{
- m_private->updateBackingStore();
- m_private->scrollToMakeVisible();
+ if (!isDetached())
+ m_private->scrollToMakeVisible();
}
void WebAccessibilityObject::scrollToMakeVisibleWithSubFocus(const WebRect& subfocus) const
{
- m_private->updateBackingStore();
- m_private->scrollToMakeVisibleWithSubFocus(subfocus);
+ if (!isDetached())
+ m_private->scrollToMakeVisibleWithSubFocus(subfocus);
}
void WebAccessibilityObject::scrollToGlobalPoint(const WebPoint& point) const
{
- m_private->updateBackingStore();
- m_private->scrollToGlobalPoint(point);
+ if (!isDetached())
+ m_private->scrollToGlobalPoint(point);
}
WebAccessibilityObject::WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object)
diff --git a/Source/WebKit/chromium/src/WebAnimationImpl.cpp b/Source/WebKit/chromium/src/WebAnimationImpl.cpp
index e5d9ef2a3..b5a94d714 100644
--- a/Source/WebKit/chromium/src/WebAnimationImpl.cpp
+++ b/Source/WebKit/chromium/src/WebAnimationImpl.cpp
@@ -26,7 +26,6 @@
#include "WebAnimationImpl.h"
-#include "AnimationIdVendor.h"
#include "CCActiveAnimation.h"
#include "CCAnimationCurve.h"
#include "WebFloatAnimationCurveImpl.h"
@@ -36,23 +35,24 @@
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
-using WebCore::AnimationIdVendor;
using WebCore::CCActiveAnimation;
namespace WebKit {
-WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, TargetProperty targetProperty)
+WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, TargetProperty targetProperty, int animationId)
{
- return WebAnimation::create(curve, AnimationIdVendor::getNextAnimationId(), AnimationIdVendor::getNextGroupId(), targetProperty);
+ return new WebAnimationImpl(curve, targetProperty, animationId, 0);
}
-WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, int animationId, int groupId, TargetProperty targetProperty)
+WebAnimationImpl::WebAnimationImpl(const WebAnimationCurve& webCurve, TargetProperty targetProperty, int animationId, int groupId)
{
- return new WebAnimationImpl(curve, animationId, groupId, targetProperty);
-}
+ static int nextAnimationId = 1;
+ static int nextGroupId = 1;
+ if (!animationId)
+ animationId = nextAnimationId++;
+ if (!groupId)
+ groupId = nextGroupId++;
-WebAnimationImpl::WebAnimationImpl(const WebAnimationCurve& webCurve, int animationId, int groupId, TargetProperty targetProperty)
-{
WebAnimationCurve::AnimationCurveType curveType = webCurve.type();
OwnPtr<WebCore::CCAnimationCurve> curve;
switch (curveType) {
@@ -74,6 +74,11 @@ WebAnimationImpl::~WebAnimationImpl()
{
}
+int WebAnimationImpl::id()
+{
+ return m_animation->id();
+}
+
WebAnimation::TargetProperty WebAnimationImpl::targetProperty() const
{
return static_cast<WebAnimationImpl::TargetProperty>(m_animation->targetProperty());
diff --git a/Source/WebKit/chromium/src/WebAnimationImpl.h b/Source/WebKit/chromium/src/WebAnimationImpl.h
index d7ceba51f..ccf451786 100644
--- a/Source/WebKit/chromium/src/WebAnimationImpl.h
+++ b/Source/WebKit/chromium/src/WebAnimationImpl.h
@@ -37,10 +37,11 @@ namespace WebKit {
class WebAnimationImpl : public WebAnimation {
public:
- WebAnimationImpl(const WebAnimationCurve&, int animationId, int groupId, TargetProperty);
+ WebAnimationImpl(const WebAnimationCurve&, TargetProperty, int animationId, int groupId = 0);
virtual ~WebAnimationImpl();
// WebAnimation implementation
+ virtual int id() OVERRIDE;
virtual TargetProperty targetProperty() const OVERRIDE;
virtual int iterations() const OVERRIDE;
virtual void setIterations(int) OVERRIDE;
diff --git a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp
index 8084d715c..16222ac4f 100644
--- a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp
@@ -27,63 +27,16 @@
#include "WebCompositorInputHandlerImpl.h"
-#include "CCActiveGestureAnimation.h"
-#include "CCProxy.h"
+#include "PlatformGestureCurveFactory.h"
#include "PlatformGestureCurveTarget.h"
-#include "TouchpadFlingPlatformGestureCurve.h"
#include "TraceEvent.h"
-#include "WebCompositorImpl.h"
#include "WebCompositorInputHandlerClient.h"
#include "WebInputEvent.h"
+#include <public/WebInputHandlerClient.h>
#include <wtf/ThreadingPrimitives.h>
using namespace WebCore;
-namespace WebCore {
-
-PassOwnPtr<CCInputHandler> CCInputHandler::create(CCInputHandlerClient* inputHandlerClient)
-{
- return WebKit::WebCompositorInputHandlerImpl::create(inputHandlerClient);
-}
-
-class PlatformGestureToCCGestureAdapter : public CCGestureCurve, public PlatformGestureCurveTarget {
-public:
- static PassOwnPtr<CCGestureCurve> create(PassOwnPtr<PlatformGestureCurve> platformCurve)
- {
- return adoptPtr(new PlatformGestureToCCGestureAdapter(platformCurve));
- }
-
- virtual const char* debugName() const
- {
- return m_curve->debugName();
- }
-
- virtual bool apply(double time, CCGestureCurveTarget* target)
- {
- ASSERT(target);
- m_target = target;
- return m_curve->apply(time, this);
- }
-
- virtual void scrollBy(const IntPoint& scrollDelta)
- {
- ASSERT(m_target);
- m_target->scrollBy(scrollDelta);
- }
-
-private:
- PlatformGestureToCCGestureAdapter(PassOwnPtr<PlatformGestureCurve> curve)
- : m_curve(curve)
- , m_target(0)
- {
- }
-
- OwnPtr<PlatformGestureCurve> m_curve;
- CCGestureCurveTarget* m_target;
-};
-
-}
-
namespace WebKit {
// These statics may only be accessed from the compositor thread.
@@ -95,15 +48,8 @@ WebCompositorInputHandler* WebCompositorInputHandler::fromIdentifier(int identif
return WebCompositorInputHandlerImpl::fromIdentifier(identifier);
}
-PassOwnPtr<WebCompositorInputHandlerImpl> WebCompositorInputHandlerImpl::create(WebCore::CCInputHandlerClient* inputHandlerClient)
-{
- return adoptPtr(new WebCompositorInputHandlerImpl(inputHandlerClient));
-}
-
WebCompositorInputHandler* WebCompositorInputHandlerImpl::fromIdentifier(int identifier)
{
- ASSERT(WebCompositorImpl::initialized());
- ASSERT(CCProxy::isImplThread());
if (!s_compositors)
return 0;
@@ -115,26 +61,20 @@ WebCompositorInputHandler* WebCompositorInputHandlerImpl::fromIdentifier(int ide
return 0;
}
-WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl(CCInputHandlerClient* inputHandlerClient)
+WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl()
: m_client(0)
, m_identifier(s_nextAvailableIdentifier++)
- , m_inputHandlerClient(inputHandlerClient)
+ , m_inputHandlerClient(0)
#ifndef NDEBUG
, m_expectScrollUpdateEnd(false)
, m_expectPinchUpdateEnd(false)
#endif
, m_gestureScrollStarted(false)
{
- ASSERT(CCProxy::isImplThread());
-
- if (!s_compositors)
- s_compositors = new HashSet<WebCompositorInputHandlerImpl*>;
- s_compositors->add(this);
}
WebCompositorInputHandlerImpl::~WebCompositorInputHandlerImpl()
{
- ASSERT(CCProxy::isImplThread());
if (m_client)
m_client->willShutdown();
@@ -148,7 +88,6 @@ WebCompositorInputHandlerImpl::~WebCompositorInputHandlerImpl()
void WebCompositorInputHandlerImpl::setClient(WebCompositorInputHandlerClient* client)
{
- ASSERT(CCProxy::isImplThread());
// It's valid to set a new client if we've never had one or to clear the client, but it's not valid to change from having one client to a different one.
ASSERT(!m_client || !client);
m_client = client;
@@ -156,7 +95,6 @@ void WebCompositorInputHandlerImpl::setClient(WebCompositorInputHandlerClient* c
void WebCompositorInputHandlerImpl::handleInputEvent(const WebInputEvent& event)
{
- ASSERT(CCProxy::isImplThread());
ASSERT(m_client);
WebCompositorInputHandlerImpl::EventDisposition disposition = handleInputEventInternal(event);
@@ -177,19 +115,19 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
{
if (event.type == WebInputEvent::MouseWheel) {
const WebMouseWheelEvent& wheelEvent = *static_cast<const WebMouseWheelEvent*>(&event);
- CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(wheelEvent.x, wheelEvent.y), CCInputHandlerClient::Wheel);
+ WebInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(WebPoint(wheelEvent.x, wheelEvent.y), WebInputHandlerClient::ScrollInputTypeWheel);
switch (scrollStatus) {
- case CCInputHandlerClient::ScrollStarted: {
+ case WebInputHandlerClient::ScrollStatusStarted: {
TRACE_EVENT_INSTANT2("cc", "WebCompositorInputHandlerImpl::handleInput wheel scroll", "deltaX", -wheelEvent.deltaX, "deltaY", -wheelEvent.deltaY);
- m_inputHandlerClient->scrollBy(IntPoint(wheelEvent.x, wheelEvent.y), IntSize(-wheelEvent.deltaX, -wheelEvent.deltaY));
+ m_inputHandlerClient->scrollBy(WebPoint(wheelEvent.x, wheelEvent.y), IntSize(-wheelEvent.deltaX, -wheelEvent.deltaY));
m_inputHandlerClient->scrollEnd();
return DidHandle;
}
- case CCInputHandlerClient::ScrollIgnored:
+ case WebInputHandlerClient::ScrollStatusIgnored:
// FIXME: This should be DropEvent, but in cases where we fail to properly sync scrollability it's safer to send the
// event to the main thread. Change back to DropEvent once we have synchronization bugs sorted out.
return DidNotHandle;
- case CCInputHandlerClient::ScrollOnMainThread:
+ case WebInputHandlerClient::ScrollStatusOnMainThread:
return DidNotHandle;
}
} else if (event.type == WebInputEvent::GestureScrollBegin) {
@@ -199,14 +137,14 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
m_expectScrollUpdateEnd = true;
#endif
const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event);
- CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(gestureEvent.x, gestureEvent.y), CCInputHandlerClient::Gesture);
+ WebInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(WebPoint(gestureEvent.x, gestureEvent.y), WebInputHandlerClient::ScrollInputTypeGesture);
switch (scrollStatus) {
- case CCInputHandlerClient::ScrollStarted:
+ case WebInputHandlerClient::ScrollStatusStarted:
m_gestureScrollStarted = true;
return DidHandle;
- case CCInputHandlerClient::ScrollOnMainThread:
+ case WebInputHandlerClient::ScrollStatusOnMainThread:
return DidNotHandle;
- case CCInputHandlerClient::ScrollIgnored:
+ case WebInputHandlerClient::ScrollStatusIgnored:
return DropEvent;
}
} else if (event.type == WebInputEvent::GestureScrollUpdate) {
@@ -216,7 +154,8 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
return DidNotHandle;
const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event);
- m_inputHandlerClient->scrollBy(IntPoint(gestureEvent.x, gestureEvent.y), IntSize(-gestureEvent.deltaX, -gestureEvent.deltaY));
+ m_inputHandlerClient->scrollBy(WebPoint(gestureEvent.x, gestureEvent.y),
+ IntSize(-gestureEvent.data.scrollUpdate.deltaX, -gestureEvent.data.scrollUpdate.deltaY));
return DidHandle;
} else if (event.type == WebInputEvent::GestureScrollEnd) {
ASSERT(m_expectScrollUpdateEnd);
@@ -246,7 +185,7 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
} else if (event.type == WebInputEvent::GesturePinchUpdate) {
ASSERT(m_expectPinchUpdateEnd);
const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event);
- m_inputHandlerClient->pinchGestureUpdate(gestureEvent.deltaX, IntPoint(gestureEvent.x, gestureEvent.y));
+ m_inputHandlerClient->pinchGestureUpdate(gestureEvent.data.pinchUpdate.scale, WebPoint(gestureEvent.x, gestureEvent.y));
return DidHandle;
} else if (event.type == WebInputEvent::GestureFlingStart) {
const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event);
@@ -263,24 +202,24 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::handleGestureFling(const WebGestureEvent& gestureEvent)
{
- CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(gestureEvent.x, gestureEvent.y), CCInputHandlerClient::Gesture);
+ WebInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(WebPoint(gestureEvent.x, gestureEvent.y), WebInputHandlerClient::ScrollInputTypeGesture);
switch (scrollStatus) {
- case CCInputHandlerClient::ScrollStarted: {
- TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::handleGestureFling::started");
- OwnPtr<PlatformGestureCurve> flingCurve = TouchpadFlingPlatformGestureCurve::create(FloatPoint(gestureEvent.deltaX, gestureEvent.deltaY));
- m_wheelFlingAnimation = CCActiveGestureAnimation::create(PlatformGestureToCCGestureAdapter::create(flingCurve.release()), this);
- m_wheelFlingParameters.delta = WebFloatPoint(gestureEvent.deltaX, gestureEvent.deltaY);
+ case WebInputHandlerClient::ScrollStatusStarted: {
+ m_wheelFlingCurve = PlatformGestureCurveFactory::get()->createCurve(gestureEvent.data.flingStart.sourceDevice, FloatPoint(gestureEvent.data.flingStart.velocityX, gestureEvent.data.flingStart.velocityY));
+ TRACE_EVENT_ASYNC_BEGIN1("cc", "WebCompositorInputHandlerImpl::handleGestureFling::started", this, "curve", m_wheelFlingCurve->debugName());
+ m_wheelFlingParameters.delta = WebFloatPoint(gestureEvent.data.flingStart.velocityX, gestureEvent.data.flingStart.velocityY);
m_wheelFlingParameters.point = WebPoint(gestureEvent.x, gestureEvent.y);
m_wheelFlingParameters.globalPoint = WebPoint(gestureEvent.globalX, gestureEvent.globalY);
m_wheelFlingParameters.modifiers = gestureEvent.modifiers;
+ m_wheelFlingParameters.sourceDevice = gestureEvent.data.flingStart.sourceDevice;
m_inputHandlerClient->scheduleAnimation();
return DidHandle;
}
- case CCInputHandlerClient::ScrollOnMainThread: {
+ case WebInputHandlerClient::ScrollStatusOnMainThread: {
TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::handleGestureFling::scrollOnMainThread");
return DidNotHandle;
}
- case CCInputHandlerClient::ScrollIgnored: {
+ case WebInputHandlerClient::ScrollStatusIgnored: {
TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::handleGestureFling::ignored");
// We still pass the curve to the main thread if there's nothing scrollable, in case something
// registers a handler before the curve is over.
@@ -290,21 +229,30 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
return DidNotHandle;
}
-int WebCompositorInputHandlerImpl::identifier() const
+void WebCompositorInputHandlerImpl::bindToClient(WebInputHandlerClient* client)
{
- ASSERT(CCProxy::isImplThread());
- return m_identifier;
+ ASSERT(!m_inputHandlerClient);
+
+ TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::bindToClient");
+ if (!s_compositors)
+ s_compositors = new HashSet<WebCompositorInputHandlerImpl*>;
+ s_compositors->add(this);
+
+ m_inputHandlerClient = client;
}
void WebCompositorInputHandlerImpl::animate(double monotonicTime)
{
- if (!m_wheelFlingAnimation)
+ if (!m_wheelFlingCurve)
return;
- if (!m_wheelFlingParameters.startTime)
+ if (!m_wheelFlingParameters.startTime) {
m_wheelFlingParameters.startTime = monotonicTime;
+ m_inputHandlerClient->scheduleAnimation();
+ return;
+ }
- if (m_wheelFlingAnimation->animate(monotonicTime))
+ if (m_wheelFlingCurve->apply(monotonicTime - m_wheelFlingParameters.startTime, this))
m_inputHandlerClient->scheduleAnimation();
else {
TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::animate::flingOver");
@@ -314,9 +262,12 @@ void WebCompositorInputHandlerImpl::animate(double monotonicTime)
bool WebCompositorInputHandlerImpl::cancelCurrentFling()
{
- bool hadFlingAnimation = m_wheelFlingAnimation;
+ bool hadFlingAnimation = m_wheelFlingCurve;
+ if (hadFlingAnimation)
+ TRACE_EVENT_ASYNC_END0("cc", "WebCompositorInputHandlerImpl::handleGestureFling::started", this);
+
TRACE_EVENT_INSTANT1("cc", "WebCompositorInputHandlerImpl::cancelCurrentFling", "hadFlingAnimation", hadFlingAnimation);
- m_wheelFlingAnimation.clear();
+ m_wheelFlingCurve.clear();
m_wheelFlingParameters = WebActiveWheelFlingParameters();
return hadFlingAnimation;
}
diff --git a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h
index 9474b2193..fa81de945 100644
--- a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h
+++ b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h
@@ -26,12 +26,11 @@
#ifndef WebCompositorInputHandlerImpl_h
#define WebCompositorInputHandlerImpl_h
-#include "CCGestureCurve.h"
-#include "CCInputHandler.h"
+#include "PlatformGestureCurveTarget.h"
#include "WebActiveWheelFlingParameters.h"
#include "WebCompositorInputHandler.h"
#include "WebInputEvent.h"
-#include <public/WebCompositor.h>
+#include <public/WebInputHandler.h>
#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
#include <wtf/OwnPtr.h>
@@ -42,36 +41,35 @@ class Mutex;
namespace WebCore {
class IntPoint;
-class CCGestureCurveTarget;
-class CCInputHandlerClient;
-class CCThread;
+class PlatformGestureCurve;
}
namespace WebKit {
class WebCompositorInputHandlerClient;
-class WebCompositorInputHandlerImpl : public WebCompositorInputHandler, public WebCore::CCInputHandler, public WebCore::CCGestureCurveTarget {
+class WebCompositorInputHandlerImpl : public WebCompositorInputHandler, public WebInputHandler, public WebCore::PlatformGestureCurveTarget {
WTF_MAKE_NONCOPYABLE(WebCompositorInputHandlerImpl);
public:
- static PassOwnPtr<WebCompositorInputHandlerImpl> create(WebCore::CCInputHandlerClient*);
static WebCompositorInputHandler* fromIdentifier(int identifier);
+ WebCompositorInputHandlerImpl();
virtual ~WebCompositorInputHandlerImpl();
// WebCompositorInputHandler implementation.
virtual void setClient(WebCompositorInputHandlerClient*);
virtual void handleInputEvent(const WebInputEvent&);
- // WebCore::CCInputHandler implementation.
- virtual int identifier() const;
+ // WebInputHandler implementation.
+ virtual void bindToClient(WebInputHandlerClient*);
virtual void animate(double monotonicTime);
- // WebCore::CCGestureCurveTarget implementation.
+ // WebCore::PlatformGestureCurveTarget implementation.
virtual void scrollBy(const WebCore::IntPoint&);
+ int identifier() const { return m_identifier; }
+
private:
- explicit WebCompositorInputHandlerImpl(WebCore::CCInputHandlerClient*);
enum EventDisposition { DidHandle, DidNotHandle, DropEvent };
// This function processes the input event and determines the disposition, but does not make
@@ -83,13 +81,13 @@ private:
// Returns true if we actually had an active fling to cancel.
bool cancelCurrentFling();
- OwnPtr<WebCore::CCActiveGestureAnimation> m_wheelFlingAnimation;
+ OwnPtr<WebCore::PlatformGestureCurve> m_wheelFlingCurve;
// Parameters for the active fling animation, stored in case we need to transfer it out later.
WebActiveWheelFlingParameters m_wheelFlingParameters;
WebCompositorInputHandlerClient* m_client;
int m_identifier;
- WebCore::CCInputHandlerClient* m_inputHandlerClient;
+ WebInputHandlerClient* m_inputHandlerClient;
#ifndef NDEBUG
bool m_expectScrollUpdateEnd;
diff --git a/Source/WebKit/chromium/src/WebContentLayerImpl.cpp b/Source/WebKit/chromium/src/WebContentLayerImpl.cpp
index fa21e8974..862b19be6 100644
--- a/Source/WebKit/chromium/src/WebContentLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebContentLayerImpl.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "WebContentLayerImpl.h"
+#include "ContentLayerChromium.h"
#include "SkMatrix44.h"
#include <public/WebContentLayerClient.h>
#include <public/WebFloatPoint.h>
@@ -43,40 +44,45 @@ WebContentLayer* WebContentLayer::create(WebContentLayerClient* client)
}
WebContentLayerImpl::WebContentLayerImpl(WebContentLayerClient* client)
- : m_webLayerImpl(adoptPtr(new WebLayerImpl(ContentLayerChromium::create(this))))
+ : m_layer(adoptPtr(new WebLayerImpl(ContentLayerChromium::create(this))))
, m_client(client)
{
- m_webLayerImpl->layer()->setIsDrawable(true);
+ m_layer->layer()->setIsDrawable(true);
}
WebContentLayerImpl::~WebContentLayerImpl()
{
- static_cast<ContentLayerChromium*>(m_webLayerImpl->layer())->clearDelegate();
+ static_cast<ContentLayerChromium*>(m_layer->layer())->clearClient();
}
WebLayer* WebContentLayerImpl::layer()
{
- return m_webLayerImpl.get();
+ return m_layer.get();
}
void WebContentLayerImpl::setDoubleSided(bool doubleSided)
{
- m_webLayerImpl->layer()->setDoubleSided(doubleSided);
+ m_layer->layer()->setDoubleSided(doubleSided);
}
-void WebContentLayerImpl::setContentsScale(float scale)
+void WebContentLayerImpl::setBoundsContainPageScale(bool boundsContainPageScale)
{
- m_webLayerImpl->layer()->setContentsScale(scale);
+ return m_layer->layer()->setBoundsContainPageScale(boundsContainPageScale);
+}
+
+bool WebContentLayerImpl::boundsContainPageScale() const
+{
+ return m_layer->layer()->boundsContainPageScale();
}
void WebContentLayerImpl::setUseLCDText(bool enable)
{
- m_webLayerImpl->layer()->setUseLCDText(enable);
+ m_layer->layer()->setUseLCDText(enable);
}
void WebContentLayerImpl::setDrawCheckerboardForMissingTiles(bool enable)
{
- m_webLayerImpl->layer()->setDrawCheckerboardForMissingTiles(enable);
+ m_layer->layer()->setDrawCheckerboardForMissingTiles(enable);
}
diff --git a/Source/WebKit/chromium/src/WebContentLayerImpl.h b/Source/WebKit/chromium/src/WebContentLayerImpl.h
index 511f8e0ba..45fa79b0e 100644
--- a/Source/WebKit/chromium/src/WebContentLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebContentLayerImpl.h
@@ -26,33 +26,34 @@
#ifndef WebContentLayerImpl_h
#define WebContentLayerImpl_h
-#include "ContentLayerChromium.h"
+#include "ContentLayerChromiumClient.h"
#include "WebLayerImpl.h"
#include <public/WebContentLayer.h>
-#include <wtf/PassRefPtr.h>
+#include <wtf/OwnPtr.h>
namespace WebKit {
class WebContentLayerClient;
class WebContentLayerImpl : public WebContentLayer,
- public WebCore::ContentLayerDelegate {
+ public WebCore::ContentLayerChromiumClient {
public:
explicit WebContentLayerImpl(WebContentLayerClient*);
// WebContentLayer implementation.
virtual WebLayer* layer() OVERRIDE;
virtual void setDoubleSided(bool) OVERRIDE;
- virtual void setContentsScale(float) OVERRIDE;
+ virtual void setBoundsContainPageScale(bool) OVERRIDE;
+ virtual bool boundsContainPageScale() const OVERRIDE;
virtual void setUseLCDText(bool) OVERRIDE;
virtual void setDrawCheckerboardForMissingTiles(bool) OVERRIDE;
protected:
virtual ~WebContentLayerImpl();
- // ContentLayerDelegate implementation.
+ // ContentLayerChromiumClient implementation.
virtual void paintContents(SkCanvas*, const WebCore::IntRect& clip, WebCore::FloatRect& opaque) OVERRIDE;
- OwnPtr<WebLayerImpl> m_webLayerImpl;
+ OwnPtr<WebLayerImpl> m_layer;
WebContentLayerClient* m_client;
bool m_drawsContent;
};
diff --git a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index c639f674d..a0a75b48c 100644
--- a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -45,7 +45,6 @@
#include "PageGroup.h"
#include "PageScriptDebugServer.h"
#include "painting/GraphicsContextBuilder.h"
-#include "PlatformString.h"
#include "RenderView.h"
#include "ResourceError.h"
#include "ResourceRequest.h"
@@ -67,6 +66,7 @@
#include <wtf/MathExtras.h>
#include <wtf/Noncopyable.h>
#include <wtf/OwnPtr.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
using namespace std;
diff --git a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
index 800568a61..f723390b5 100644
--- a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
+++ b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
@@ -43,7 +43,6 @@
#include "Node.h"
#include "Page.h"
#include "Pasteboard.h"
-#include "PlatformString.h"
#include "ScriptController.h"
#include "SecurityOrigin.h"
#include "Settings.h"
@@ -59,6 +58,7 @@
#include "WebViewImpl.h"
#include <wtf/OwnPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h
index a5dca3074..4030da7b3 100644
--- a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h
+++ b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h
@@ -31,11 +31,11 @@
#ifndef WebDevToolsFrontendImpl_h
#define WebDevToolsFrontendImpl_h
-#include "PlatformString.h"
#include "WebDevToolsFrontend.h"
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/src/WebEntities.h b/Source/WebKit/chromium/src/WebEntities.h
index f21056664..68a434367 100644
--- a/Source/WebKit/chromium/src/WebEntities.h
+++ b/Source/WebKit/chromium/src/WebEntities.h
@@ -31,8 +31,8 @@
#ifndef WebEntities_h
#define WebEntities_h
-#include "PlatformString.h"
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h b/Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h
index 5348895bf..6c03c2342 100644
--- a/Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h
@@ -26,7 +26,7 @@
#ifndef WebExternalTextureLayerImpl_h
#define WebExternalTextureLayerImpl_h
-#include "TextureLayerChromium.h"
+#include "TextureLayerChromiumClient.h"
#include <public/WebExternalTextureLayer.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp b/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp
index 9f5665cb8..4349f84e2 100644
--- a/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp
+++ b/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp
@@ -37,11 +37,11 @@ namespace WebKit {
WebFloatAnimationCurve* WebFloatAnimationCurve::create()
{
- return new WebFloatAnimationCurveImpl(WebCore::CCKeyframedFloatAnimationCurve::create());
+ return new WebFloatAnimationCurveImpl();
}
-WebFloatAnimationCurveImpl::WebFloatAnimationCurveImpl(PassOwnPtr<WebCore::CCKeyframedFloatAnimationCurve> curve)
- : m_curve(curve)
+WebFloatAnimationCurveImpl::WebFloatAnimationCurveImpl()
+ : m_curve(WebCore::CCKeyframedFloatAnimationCurve::create())
{
}
diff --git a/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h b/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h
index e8f1620d6..12ca3c66e 100644
--- a/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h
+++ b/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h
@@ -38,7 +38,7 @@ namespace WebKit {
class WebFloatAnimationCurveImpl : public WebFloatAnimationCurve {
public:
- explicit WebFloatAnimationCurveImpl(PassOwnPtr<WebCore::CCKeyframedFloatAnimationCurve>);
+ WebFloatAnimationCurveImpl();
virtual ~WebFloatAnimationCurveImpl();
// WebAnimationCurve implementation.
diff --git a/Source/WebKit/chromium/src/WebFrameImpl.cpp b/Source/WebKit/chromium/src/WebFrameImpl.cpp
index 4279febe0..4395c6d70 100644
--- a/Source/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/Source/WebKit/chromium/src/WebFrameImpl.cpp
@@ -170,6 +170,7 @@
#include "WebSecurityOrigin.h"
#include "WebViewImpl.h"
#include "XPathResult.h"
+#include "htmlediting.h"
#include "markup.h"
#include "painting/GraphicsContextBuilder.h"
#include "platform/WebFloatPoint.h"
@@ -1190,6 +1191,11 @@ bool WebFrameImpl::isProcessingUserGesture() const
return ScriptController::processingUserGesture();
}
+bool WebFrameImpl::consumeUserGesture() const
+{
+ return UserGestureIndicator::consumeUserGesture();
+}
+
bool WebFrameImpl::willSuppressOpenerInNewFrame() const
{
return frame()->loader()->suppressOpenerInNewFrame();
@@ -1257,7 +1263,7 @@ size_t WebFrameImpl::characterIndexForPoint(const WebPoint& webPoint) const
return notFound;
IntPoint point = frame()->view()->windowToContents(webPoint);
- HitTestResult result = frame()->eventHandler()->hitTestResultAtPoint(point, false);
+ HitTestResult result = frame()->eventHandler()->hitTestResultAtPoint(point);
RefPtr<Range> range = frame()->rangeForPoint(result.roundedPoint());
if (!range)
return notFound;
@@ -1460,24 +1466,69 @@ bool WebFrameImpl::selectWordAroundCaret()
void WebFrameImpl::selectRange(const WebPoint& start, const WebPoint& end)
{
- VisiblePosition startPosition = visiblePositionForWindowPoint(start);
- VisiblePosition endPosition = visiblePositionForWindowPoint(end);
+ if (start == end && moveCaret(start))
+ return;
- // To correctly handle editable boundaries, we adjust the selection by setting its extent
- // while keeping its base fixed. For a touch-based UI, this means that moving the selection
- // handles behaves like a drag-select with the mouse, which is what we want here. If both
- // endpoints changed, we need to set the extent twice.
- // FIXME: the WebFrame::SelectRange API should explicitly state which endpoint is moving.
- VisibleSelection newSelection = frame()->selection()->selection();
- if (startPosition != newSelection.visibleStart())
- newSelection = VisibleSelection(newSelection.visibleEnd(), startPosition);
- if (endPosition != newSelection.visibleEnd())
- newSelection = VisibleSelection(newSelection.visibleStart(), endPosition);
+ if (moveSelectionStart(start, true) && moveSelectionEnd(end, true))
+ return;
+ // Failed to move endpoints, probably because there's no current selection.
+ // Just set the selection explicitly (but this won't handle editable boundaries correctly).
+ VisibleSelection newSelection(visiblePositionForWindowPoint(start), visiblePositionForWindowPoint(end));
if (frame()->selection()->shouldChangeSelection(newSelection))
frame()->selection()->setSelection(newSelection, CharacterGranularity);
}
+bool WebFrameImpl::moveSelectionStart(const WebPoint& point, bool allowCollapsedSelection)
+{
+ const VisibleSelection& selection = frame()->selection()->selection();
+ if (selection.isNone())
+ return false;
+
+ VisiblePosition start = visiblePositionForWindowPoint(point);
+ if (!allowCollapsedSelection) {
+ VisiblePosition maxStart = selection.visibleEnd().previous();
+ if (comparePositions(start, maxStart) > 0)
+ start = maxStart;
+ }
+
+ // start is moving, so base=end, extent=start
+ VisibleSelection newSelection = VisibleSelection(selection.visibleEnd(), start);
+ frame()->selection()->setNonDirectionalSelectionIfNeeded(newSelection, CharacterGranularity);
+ return true;
+}
+
+bool WebFrameImpl::moveSelectionEnd(const WebPoint& point, bool allowCollapsedSelection)
+{
+ const VisibleSelection& selection = frame()->selection()->selection();
+ if (selection.isNone())
+ return false;
+
+ VisiblePosition end = visiblePositionForWindowPoint(point);
+ if (!allowCollapsedSelection) {
+ VisiblePosition minEnd = selection.visibleStart().next();
+ if (comparePositions(end, minEnd) < 0)
+ end = minEnd;
+ }
+
+ // end is moving, so base=start, extent=end
+ VisibleSelection newSelection = VisibleSelection(selection.visibleStart(), end);
+ frame()->selection()->setNonDirectionalSelectionIfNeeded(newSelection, CharacterGranularity);
+ return true;
+}
+
+bool WebFrameImpl::moveCaret(const WebPoint& point)
+{
+ FrameSelection* frameSelection = frame()->selection();
+ if (frameSelection->isNone() || !frameSelection->isContentEditable())
+ return false;
+
+ VisiblePosition pos = visiblePositionForWindowPoint(point);
+ frameSelection->setExtent(pos, UserTriggered);
+ frameSelection->setBase(frameSelection->extent(), UserTriggered);
+ return true;
+}
+
void WebFrameImpl::selectRange(const WebRange& webRange)
{
RefPtr<Range> range = static_cast<PassRefPtr<Range> >(webRange);
diff --git a/Source/WebKit/chromium/src/WebFrameImpl.h b/Source/WebKit/chromium/src/WebFrameImpl.h
index 20c5fe9d3..e59c932c5 100644
--- a/Source/WebKit/chromium/src/WebFrameImpl.h
+++ b/Source/WebKit/chromium/src/WebFrameImpl.h
@@ -36,10 +36,10 @@
#include "Frame.h"
#include "FrameLoaderClientImpl.h"
-#include "PlatformString.h"
#include <wtf/Compiler.h>
#include <wtf/OwnPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class GraphicsContext;
@@ -162,6 +162,7 @@ public:
virtual void commitDocumentData(const char* data, size_t length);
virtual unsigned unloadListenerCount() const;
virtual bool isProcessingUserGesture() const;
+ virtual bool consumeUserGesture() const;
virtual bool willSuppressOpenerInNewFrame() const;
virtual void replaceSelection(const WebString&);
virtual void insertText(const WebString&);
@@ -185,6 +186,9 @@ public:
virtual bool selectWordAroundCaret();
virtual void selectRange(const WebPoint& start, const WebPoint& end);
virtual void selectRange(const WebRange&);
+ virtual bool moveSelectionStart(const WebPoint&, bool allowCollapsedSelection);
+ virtual bool moveSelectionEnd(const WebPoint&, bool allowCollapsedSelection);
+ virtual bool moveCaret(const WebPoint&);
virtual int printBegin(const WebPrintParams&,
const WebNode& constrainToNode,
bool* useBrowserOverlays);
diff --git a/Source/WebKit/chromium/src/WebIDBKey.cpp b/Source/WebKit/chromium/src/WebIDBKey.cpp
index cfadafbac..d60b5f5c1 100644
--- a/Source/WebKit/chromium/src/WebIDBKey.cpp
+++ b/Source/WebKit/chromium/src/WebIDBKey.cpp
@@ -32,10 +32,6 @@
#include "IDBBindingUtilities.h"
#include "IDBKey.h"
-#include "IDBKeyPath.h"
-#include "SerializedScriptValue.h"
-#include "WebIDBKeyPath.h"
-#include "platform/WebSerializedScriptValue.h"
using namespace WebCore;
@@ -83,19 +79,6 @@ WebIDBKey WebIDBKey::createNull()
return key;
}
-WebIDBKey WebIDBKey::createFromValueAndKeyPath(const WebSerializedScriptValue& serializedScriptValue, const WebIDBKeyPath& idbKeyPath)
-{
- // FIXME: If key path is empty string, this should return invalid key instead
- if (serializedScriptValue.isNull())
- return WebIDBKey::createNull();
- return createIDBKeyFromSerializedValueAndKeyPath(serializedScriptValue, idbKeyPath);
-}
-
-WebSerializedScriptValue WebIDBKey::injectIDBKeyIntoSerializedValue(const WebIDBKey& key, const WebSerializedScriptValue& value, const WebIDBKeyPath& path)
-{
- return WebCore::injectIDBKeyIntoSerializedValue(key, value, path);
-}
-
void WebIDBKey::assign(const WebIDBKey& value)
{
m_private = value.m_private;
diff --git a/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp b/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp
index bab70c61d..d2df09045 100644
--- a/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp
@@ -35,14 +35,13 @@ namespace WebKit {
WebIOSurfaceLayer* WebIOSurfaceLayer::create()
{
- RefPtr<IOSurfaceLayerChromium> layer = IOSurfaceLayerChromium::create();
- layer->setIsDrawable(true);
- return new WebIOSurfaceLayerImpl(layer.release());
+ return new WebIOSurfaceLayerImpl();
}
-WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl(PassRefPtr<IOSurfaceLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl()
+ : m_layer(adoptPtr(new WebLayerImpl(IOSurfaceLayerChromium::create())))
{
+ m_layer->layer()->setIsDrawable(true);
}
WebIOSurfaceLayerImpl::~WebIOSurfaceLayerImpl()
diff --git a/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h b/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h
index 3dbb02759..7aaeb02c1 100644
--- a/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h
@@ -29,15 +29,11 @@
#include <public/WebIOSurfaceLayer.h>
#include <wtf/OwnPtr.h>
-namespace WebCore {
-class IOSurfaceLayerChromium;
-}
-
namespace WebKit {
class WebIOSurfaceLayerImpl : public WebIOSurfaceLayer {
public:
- explicit WebIOSurfaceLayerImpl(PassRefPtr<WebCore::IOSurfaceLayerChromium>);
+ WebIOSurfaceLayerImpl();
virtual ~WebIOSurfaceLayerImpl();
// WebIOSurfaceLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebImageLayerImpl.cpp b/Source/WebKit/chromium/src/WebImageLayerImpl.cpp
index d93af8045..7038e3550 100644
--- a/Source/WebKit/chromium/src/WebImageLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebImageLayerImpl.cpp
@@ -35,11 +35,11 @@ namespace WebKit {
WebImageLayer* WebImageLayer::create()
{
- return new WebImageLayerImpl(WebCore::ImageLayerChromium::create());
+ return new WebImageLayerImpl();
}
-WebImageLayerImpl::WebImageLayerImpl(PassRefPtr<WebCore::ImageLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebImageLayerImpl::WebImageLayerImpl()
+ : m_layer(adoptPtr(new WebLayerImpl(ImageLayerChromium::create())))
{
}
diff --git a/Source/WebKit/chromium/src/WebImageLayerImpl.h b/Source/WebKit/chromium/src/WebImageLayerImpl.h
index 9a4b8b3eb..feea60b9c 100644
--- a/Source/WebKit/chromium/src/WebImageLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebImageLayerImpl.h
@@ -38,7 +38,7 @@ class WebLayerImpl;
class WebImageLayerImpl : public WebImageLayer {
public:
- explicit WebImageLayerImpl(PassRefPtr<WebCore::ImageLayerChromium>);
+ WebImageLayerImpl();
virtual ~WebImageLayerImpl();
// WebImageLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebInputEvent.cpp b/Source/WebKit/chromium/src/WebInputEvent.cpp
index d61eb2d31..96123c62e 100644
--- a/Source/WebKit/chromium/src/WebInputEvent.cpp
+++ b/Source/WebKit/chromium/src/WebInputEvent.cpp
@@ -202,4 +202,41 @@ void WebKeyboardEvent::setKeyIdentifierFromWindowsKeyCode()
snprintf(keyIdentifier, sizeof(keyIdentifier), "U+%04X", toupper(windowsKeyCode));
}
+// static
+int WebKeyboardEvent::windowsKeyCodeWithoutLocation(int keycode)
+{
+ switch (keycode) {
+ case VK_LCONTROL:
+ case VK_RCONTROL:
+ return VK_CONTROL;
+ case VK_LSHIFT:
+ case VK_RSHIFT:
+ return VK_SHIFT;
+ case VK_LMENU:
+ case VK_RMENU:
+ return VK_MENU;
+ default:
+ return keycode;
+ }
+}
+
+// static
+int WebKeyboardEvent::locationModifiersFromWindowsKeyCode(int keycode)
+{
+ switch (keycode) {
+ case VK_LCONTROL:
+ case VK_LSHIFT:
+ case VK_LMENU:
+ case VK_LWIN:
+ return IsLeft;
+ case VK_RCONTROL:
+ case VK_RSHIFT:
+ case VK_RMENU:
+ case VK_RWIN:
+ return IsRight;
+ default:
+ return 0;
+ }
+}
+
} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebInputEventConversion.cpp b/Source/WebKit/chromium/src/WebInputEventConversion.cpp
index 0391c285b..2afc7dcfe 100644
--- a/Source/WebKit/chromium/src/WebInputEventConversion.cpp
+++ b/Source/WebKit/chromium/src/WebInputEventConversion.cpp
@@ -149,10 +149,14 @@ PlatformGestureEventBuilder::PlatformGestureEventBuilder(Widget* widget, const W
break;
case WebInputEvent::GestureScrollUpdate:
m_type = PlatformEvent::GestureScrollUpdate;
+ m_deltaX = e.data.scrollUpdate.deltaX;
+ m_deltaY = e.data.scrollUpdate.deltaY;
break;
case WebInputEvent::GestureTap:
m_type = PlatformEvent::GestureTap;
- m_area = IntSize(e.boundingBox.width, e.boundingBox.height);
+ m_area = IntSize(e.data.tap.width, e.data.tap.height);
+ // FIXME: PlatformGestureEvent deltaX is overloaded - wkb.ug/93123
+ m_deltaX = static_cast<int>(e.data.tap.tapCount);
break;
case WebInputEvent::GestureTapDown:
m_type = PlatformEvent::GestureTapDown;
@@ -165,7 +169,7 @@ PlatformGestureEventBuilder::PlatformGestureEventBuilder(Widget* widget, const W
break;
case WebInputEvent::GestureLongPress:
m_type = PlatformEvent::GestureLongPress;
- m_area = IntSize(e.boundingBox.width, e.boundingBox.height);
+ m_area = IntSize(e.data.longPress.width, e.data.longPress.height);
break;
case WebInputEvent::GesturePinchBegin:
m_type = PlatformEvent::GesturePinchBegin;
@@ -175,14 +179,14 @@ PlatformGestureEventBuilder::PlatformGestureEventBuilder(Widget* widget, const W
break;
case WebInputEvent::GesturePinchUpdate:
m_type = PlatformEvent::GesturePinchUpdate;
+ // FIXME: PlatformGestureEvent deltaX is overloaded - wkb.ug/93123
+ m_deltaX = e.data.pinchUpdate.scale;
break;
default:
ASSERT_NOT_REACHED();
}
m_position = widget->convertFromContainingWindow(IntPoint(e.x, e.y));
m_globalPosition = IntPoint(e.globalX, e.globalY);
- m_deltaX = e.deltaX;
- m_deltaY = e.deltaY;
m_timestamp = e.timeStampSeconds;
m_modifiers = 0;
@@ -223,7 +227,6 @@ PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder(const WebKeyboardEven
m_unmodifiedText = String(e.unmodifiedText);
m_keyIdentifier = String(e.keyIdentifier);
m_autoRepeat = (e.modifiers & WebInputEvent::IsAutoRepeat);
- m_windowsVirtualKeyCode = e.windowsKeyCode;
m_nativeVirtualKeyCode = e.nativeKeyCode;
m_isKeypad = (e.modifiers & WebInputEvent::IsKeyPad);
m_isSystemKey = e.isSystemKey;
@@ -237,6 +240,28 @@ PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder(const WebKeyboardEven
m_modifiers |= PlatformEvent::AltKey;
if (e.modifiers & WebInputEvent::MetaKey)
m_modifiers |= PlatformEvent::MetaKey;
+
+ // FIXME: PlatformKeyboardEvents expect a locational version of the keycode (e.g. VK_LSHIFT
+ // instead of VK_SHIFT). This should be changed so the location/keycode are stored separately,
+ // as in other places in the code.
+ m_windowsVirtualKeyCode = e.windowsKeyCode;
+ if (e.windowsKeyCode == VK_SHIFT) {
+ if (e.modifiers & WebInputEvent::IsLeft)
+ m_windowsVirtualKeyCode = VK_LSHIFT;
+ else if (e.modifiers & WebInputEvent::IsRight)
+ m_windowsVirtualKeyCode = VK_RSHIFT;
+ } else if (e.windowsKeyCode == VK_CONTROL) {
+ if (e.modifiers & WebInputEvent::IsLeft)
+ m_windowsVirtualKeyCode = VK_LCONTROL;
+ else if (e.modifiers & WebInputEvent::IsRight)
+ m_windowsVirtualKeyCode = VK_RCONTROL;
+ } else if (e.windowsKeyCode == VK_MENU) {
+ if (e.modifiers & WebInputEvent::IsLeft)
+ m_windowsVirtualKeyCode = VK_LMENU;
+ else if (e.modifiers & WebInputEvent::IsRight)
+ m_windowsVirtualKeyCode = VK_RMENU;
+ }
+
}
void PlatformKeyboardEventBuilder::setKeyType(Type type)
@@ -448,8 +473,12 @@ WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event)
return; // Skip all other keyboard events.
modifiers = getWebInputModifiers(event);
- if (event.keyLocation() & KeyboardEvent::DOM_KEY_LOCATION_NUMPAD)
+ if (event.keyLocation() == KeyboardEvent::DOM_KEY_LOCATION_NUMPAD)
modifiers |= WebInputEvent::IsKeyPad;
+ else if (event.keyLocation() == KeyboardEvent::DOM_KEY_LOCATION_LEFT)
+ modifiers |= WebInputEvent::IsLeft;
+ else if (event.keyLocation() == KeyboardEvent::DOM_KEY_LOCATION_RIGHT)
+ modifiers |= WebInputEvent::IsRight;
timeStampSeconds = event.timeStamp() / millisPerSecond;
windowsKeyCode = event.keyCode();
@@ -526,8 +555,11 @@ WebGestureEventBuilder::WebGestureEventBuilder(const Widget* widget, const Gestu
type = GestureScrollBegin;
else if (event.type() == eventNames().gesturescrollendEvent)
type = GestureScrollEnd;
- else if (event.type() == eventNames().gesturescrollupdateEvent)
+ else if (event.type() == eventNames().gesturescrollupdateEvent) {
type = GestureScrollUpdate;
+ data.scrollUpdate.deltaX = event.deltaX();
+ data.scrollUpdate.deltaY = event.deltaY();
+ }
timeStampSeconds = event.timeStamp() / millisPerSecond;
modifiers = getWebInputModifiers(event);
@@ -536,9 +568,6 @@ WebGestureEventBuilder::WebGestureEventBuilder(const Widget* widget, const Gestu
globalY = event.screenY();
x = event.absoluteLocation().x() - widget->location().x();
y = event.absoluteLocation().y() - widget->location().y();
-
- deltaX = event.deltaX();
- deltaY = event.deltaY();
}
#endif // ENABLE(GESTURE_EVENTS)
diff --git a/Source/WebKit/chromium/src/WebLayerImpl.cpp b/Source/WebKit/chromium/src/WebLayerImpl.cpp
index bf64a8f2a..85f9b4db4 100644
--- a/Source/WebKit/chromium/src/WebLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebLayerImpl.cpp
@@ -79,7 +79,12 @@ SkMatrix44 skMatrix44FromTransformationMatrix(const WebTransformationMatrix& mat
WebLayer* WebLayer::create()
{
- return new WebLayerImpl(LayerChromium::create());
+ return new WebLayerImpl();
+}
+
+WebLayerImpl::WebLayerImpl()
+ : m_layer(LayerChromium::create())
+{
}
WebLayerImpl::WebLayerImpl(PassRefPtr<LayerChromium> layer)
@@ -87,6 +92,7 @@ WebLayerImpl::WebLayerImpl(PassRefPtr<LayerChromium> layer)
{
}
+
WebLayerImpl::~WebLayerImpl()
{
m_layer->clearRenderSurface();
@@ -349,6 +355,16 @@ void WebLayerImpl::setScrollPosition(WebPoint position)
m_layer->setScrollPosition(position);
}
+WebPoint WebLayerImpl::scrollPosition() const
+{
+ return m_layer->scrollPosition();
+}
+
+void WebLayerImpl::setMaxScrollPosition(WebSize maxScrollPosition)
+{
+ m_layer->setMaxScrollPosition(maxScrollPosition);
+}
+
void WebLayerImpl::setScrollable(bool scrollable)
{
m_layer->setScrollable(scrollable);
@@ -385,6 +401,11 @@ void WebLayerImpl::setFixedToContainerLayer(bool enable)
m_layer->setFixedToContainerLayer(enable);
}
+void WebLayerImpl::setScrollClient(WebLayerScrollClient* scrollClient)
+{
+ m_layer->setLayerScrollClient(scrollClient);
+}
+
LayerChromium* WebLayerImpl::layer() const
{
return m_layer.get();
diff --git a/Source/WebKit/chromium/src/WebLayerImpl.h b/Source/WebKit/chromium/src/WebLayerImpl.h
index 0a61826a5..6739fd5ed 100644
--- a/Source/WebKit/chromium/src/WebLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebLayerImpl.h
@@ -27,6 +27,7 @@
#define WebLayerImpl_h
#include <public/WebLayer.h>
+#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
namespace WebCore {
@@ -37,6 +38,7 @@ namespace WebKit {
class WebLayerImpl : public WebLayer {
public:
+ WebLayerImpl();
explicit WebLayerImpl(PassRefPtr<WebCore::LayerChromium>);
virtual ~WebLayerImpl();
@@ -92,12 +94,15 @@ public:
virtual void transferAnimationsTo(WebLayer*) OVERRIDE;
virtual void setForceRenderSurface(bool) OVERRIDE;
virtual void setScrollPosition(WebPoint) OVERRIDE;
+ virtual WebPoint scrollPosition() const OVERRIDE;
+ virtual void setMaxScrollPosition(WebSize) OVERRIDE;
virtual void setScrollable(bool) OVERRIDE;
virtual void setHaveWheelEventHandlers(bool) OVERRIDE;
virtual void setShouldScrollOnMainThread(bool) OVERRIDE;
virtual void setNonFastScrollableRegion(const WebVector<WebRect>&) OVERRIDE;
virtual void setIsContainerForFixedPositionLayers(bool) OVERRIDE;
virtual void setFixedToContainerLayer(bool) OVERRIDE;
+ virtual void setScrollClient(WebLayerScrollClient*) OVERRIDE;
WebCore::LayerChromium* layer() const;
diff --git a/Source/WebKit/chromium/src/WebLayerTreeView.cpp b/Source/WebKit/chromium/src/WebLayerTreeView.cpp
deleted file mode 100644
index 7dfbcd129..000000000
--- a/Source/WebKit/chromium/src/WebLayerTreeView.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (C) 2011 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 <public/WebLayerTreeView.h>
-
-#include "CCFontAtlas.h"
-#include "CCGraphicsContext.h"
-#include "CCLayerTreeHost.h"
-#include "CCRenderingStats.h"
-#include "LayerChromium.h"
-#include "WebLayerImpl.h"
-#include "WebLayerTreeViewImpl.h"
-#include <public/WebLayer.h>
-#include <public/WebPoint.h>
-#include <public/WebRect.h>
-#include <public/WebRenderingStats.h>
-#include <public/WebSize.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-WebLayerTreeView::Settings::operator CCLayerTreeSettings() const
-{
- CCLayerTreeSettings settings;
- settings.showFPSCounter = showFPSCounter;
- settings.showPlatformLayerTree = showPlatformLayerTree;
- settings.showPaintRects = showPaintRects;
- settings.renderVSyncEnabled = renderVSyncEnabled;
- settings.refreshRate = refreshRate;
- settings.defaultTileSize = defaultTileSize;
- settings.maxUntiledLayerSize = maxUntiledLayerSize;
- settings.acceleratePainting = acceleratePainting;
-
- // FIXME: showFPSCounter / showPlatformLayerTree / maxPartialTextureUpdates aren't supported currently.
- return settings;
-}
-
-void WebLayerTreeView::reset()
-{
- m_private.reset(0);
-}
-
-bool WebLayerTreeView::isNull() const
-{
- return !m_private.get();
-}
-
-bool WebLayerTreeView::initialize(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings)
-{
- // We have to leak the pointer here into a WebPrivateOwnPtr. We free this object in reset().
- m_private.reset(WebLayerTreeViewImpl::create(client, root, settings).leakPtr());
- return !isNull();
-}
-
-void WebLayerTreeView::setSurfaceReady()
-{
- m_private->layerTreeHost()->setSurfaceReady();
-}
-
-void WebLayerTreeView::setRootLayer(WebLayer *root)
-{
- if (root)
- m_private->layerTreeHost()->setRootLayer(static_cast<WebLayerImpl*>(root)->layer());
- else
- m_private->layerTreeHost()->setRootLayer(PassRefPtr<LayerChromium>());
-}
-
-int WebLayerTreeView::compositorIdentifier()
-{
- return m_private->layerTreeHost()->compositorIdentifier();
-}
-
-void WebLayerTreeView::setViewportSize(const WebSize& layoutViewportSize, const WebSize& deviceViewportSize)
-{
- if (!deviceViewportSize.isEmpty())
- m_private->layerTreeHost()->setViewportSize(layoutViewportSize, deviceViewportSize);
- else
- m_private->layerTreeHost()->setViewportSize(layoutViewportSize, layoutViewportSize);
-}
-
-WebSize WebLayerTreeView::layoutViewportSize() const
-{
- return WebSize(m_private->layerTreeHost()->layoutViewportSize());
-}
-
-WebSize WebLayerTreeView::deviceViewportSize() const
-{
- return WebSize(m_private->layerTreeHost()->deviceViewportSize());
-}
-
-void WebLayerTreeView::setDeviceScaleFactor(const float deviceScaleFactor)
-{
- m_private->layerTreeHost()->setDeviceScaleFactor(deviceScaleFactor);
-}
-
-float WebLayerTreeView::deviceScaleFactor() const
-{
- return m_private->layerTreeHost()->deviceScaleFactor();
-}
-
-void WebLayerTreeView::setBackgroundColor(WebColor color)
-{
- m_private->layerTreeHost()->setBackgroundColor(color);
-}
-
-void WebLayerTreeView::setHasTransparentBackground(bool transparent)
-{
- m_private->layerTreeHost()->setHasTransparentBackground(transparent);
-}
-
-void WebLayerTreeView::setVisible(bool visible)
-{
- m_private->layerTreeHost()->setVisible(visible);
-}
-
-void WebLayerTreeView::setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum)
-{
- m_private->layerTreeHost()->setPageScaleFactorAndLimits(pageScaleFactor, minimum, maximum);
-}
-
-void WebLayerTreeView::startPageScaleAnimation(const WebPoint& scroll, bool useAnchor, float newPageScale, double durationSec)
-{
- m_private->layerTreeHost()->startPageScaleAnimation(IntSize(scroll.x, scroll.y), useAnchor, newPageScale, durationSec);
-}
-
-void WebLayerTreeView::setNeedsAnimate()
-{
- m_private->layerTreeHost()->setNeedsAnimate();
-}
-
-void WebLayerTreeView::setNeedsRedraw()
-{
- m_private->layerTreeHost()->setNeedsRedraw();
-}
-
-bool WebLayerTreeView::commitRequested() const
-{
- return m_private->layerTreeHost()->commitRequested();
-}
-
-void WebLayerTreeView::composite()
-{
- if (CCProxy::hasImplThread())
- m_private->layerTreeHost()->setNeedsCommit();
- else
- m_private->layerTreeHost()->composite();
-}
-
-void WebLayerTreeView::updateAnimations(double frameBeginTime)
-{
- m_private->layerTreeHost()->updateAnimations(frameBeginTime);
-}
-
-bool WebLayerTreeView::compositeAndReadback(void *pixels, const WebRect& rect)
-{
- return m_private->layerTreeHost()->compositeAndReadback(pixels, rect);
-}
-
-void WebLayerTreeView::finishAllRendering()
-{
- m_private->layerTreeHost()->finishAllRendering();
-}
-
-void WebLayerTreeView::renderingStats(WebRenderingStats& stats) const
-{
- CCRenderingStats ccStats;
- m_private->layerTreeHost()->renderingStats(ccStats);
-
- stats.numAnimationFrames = ccStats.numAnimationFrames;
- stats.numFramesSentToScreen = ccStats.numFramesSentToScreen;
- stats.droppedFrameCount = ccStats.droppedFrameCount;
- stats.totalPaintTimeInSeconds = ccStats.totalPaintTimeInSeconds;
- stats.totalRasterizeTimeInSeconds = ccStats.totalRasterizeTimeInSeconds;
-}
-
-void WebLayerTreeView::setFontAtlas(SkBitmap bitmap, WebRect asciiToWebRectTable[128], int fontHeight)
-{
- IntRect asciiToRectTable[128];
- for (int i = 0; i < 128; ++i)
- asciiToRectTable[i] = asciiToWebRectTable[i];
- OwnPtr<CCFontAtlas> fontAtlas = CCFontAtlas::create(bitmap, asciiToRectTable, fontHeight);
- m_private->layerTreeHost()->setFontAtlas(fontAtlas.release());
-}
-
-void WebLayerTreeView::loseCompositorContext(int numTimes)
-{
- m_private->layerTreeHost()->loseContext(numTimes);
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp b/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp
index 1fd823976..bb898c966 100644
--- a/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp
+++ b/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp
@@ -26,130 +26,35 @@
#include "config.h"
#include "WebLayerTreeViewImpl.h"
+#include "CCFontAtlas.h"
+#include "CCInputHandler.h"
#include "CCLayerTreeHost.h"
-#include "CCThreadProxy.h"
#include "LayerChromium.h"
#include "WebLayerImpl.h"
+#include "WebToCCInputHandlerAdapter.h"
#include <public/WebGraphicsContext3D.h>
+#include <public/WebInputHandler.h>
#include <public/WebLayer.h>
#include <public/WebLayerTreeView.h>
#include <public/WebLayerTreeViewClient.h>
+#include <public/WebRenderingStats.h>
#include <public/WebSize.h>
-#include <public/WebThread.h>
using namespace WebCore;
-namespace {
-
-// Adapts a pure WebGraphicsContext3D into a WebCompositorOutputSurface until
-// downstream code can be updated to produce output surfaces directly.
-class WebGraphicsContextToOutputSurfaceAdapter : public WebKit::WebCompositorOutputSurface {
-public:
- explicit WebGraphicsContextToOutputSurfaceAdapter(PassOwnPtr<WebKit::WebGraphicsContext3D> context)
- : m_context3D(context)
- , m_client(0)
- {
- }
-
- virtual bool bindToClient(WebKit::WebCompositorOutputSurfaceClient* client) OVERRIDE
- {
- ASSERT(client);
- if (!m_context3D->makeContextCurrent())
- return false;
- m_client = client;
- return true;
- }
-
- virtual const Capabilities& capabilities() const OVERRIDE
- {
- return m_capabilities;
- }
-
- virtual WebKit::WebGraphicsContext3D* context3D() const OVERRIDE
- {
- return m_context3D.get();
- }
-
- virtual void sendFrameToParentCompositor(const WebKit::WebCompositorFrame&) OVERRIDE
- {
- }
-
-private:
- OwnPtr<WebKit::WebGraphicsContext3D> m_context3D;
- Capabilities m_capabilities;
- WebKit::WebCompositorOutputSurfaceClient* m_client;
-};
+namespace WebKit {
+WebLayerTreeView* WebLayerTreeView::create(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings)
+{
+ OwnPtr<WebLayerTreeViewImpl> layerTreeViewImpl = adoptPtr(new WebLayerTreeViewImpl(client));
+ if (!layerTreeViewImpl->initialize(settings))
+ return 0;
+ layerTreeViewImpl->setRootLayer(root);
+ return layerTreeViewImpl.leakPtr();
}
-namespace WebKit {
-
-// Converts messages from CCLayerTreeHostClient to WebLayerTreeViewClient.
-class WebLayerTreeViewClientAdapter : public WebCore::CCLayerTreeHostClient {
-public:
- WebLayerTreeViewClientAdapter(WebLayerTreeViewClient* client)
- : m_client(client)
- , m_usingRealOutputSurface(false)
- {
- }
- virtual ~WebLayerTreeViewClientAdapter() { }
-
- // CCLayerTreeHostClient implementation
- virtual void willBeginFrame() OVERRIDE { m_client->willBeginFrame(); }
- virtual void didBeginFrame() OVERRIDE { m_client->didBeginFrame(); }
- virtual void updateAnimations(double monotonicFrameBeginTime) OVERRIDE { m_client->updateAnimations(monotonicFrameBeginTime); }
- virtual void layout() OVERRIDE { m_client->layout(); }
- virtual void applyScrollAndScale(const WebCore::IntSize& scrollDelta, float pageScale) OVERRIDE { m_client->applyScrollAndScale(scrollDelta, pageScale); }
- virtual PassOwnPtr<WebCompositorOutputSurface> createOutputSurface() OVERRIDE
- {
- WebCompositorOutputSurface* outputSurface = m_client->createOutputSurface();
- if (outputSurface) {
- m_usingRealOutputSurface = true;
- return adoptPtr(outputSurface);
- }
-
- // Temporarily, if the output surface can't be created, create a WebGraphicsContext3D
- // directly. This allows bootstrapping the output surface system while downstream
- // users of the API still use the old approach.
- WebGraphicsContext3D* context = m_client->createContext3D();
- if (!context)
- return nullptr;
-
- m_usingRealOutputSurface = false;
- return adoptPtr(new WebGraphicsContextToOutputSurfaceAdapter(adoptPtr(context)));
- }
-
- virtual void didRecreateOutputSurface(bool success) OVERRIDE
- {
- if (m_usingRealOutputSurface) {
- m_client->didRecreateOutputSurface(success);
- return;
- }
- m_client->didRebindGraphicsContext(success);
- }
- virtual void willCommit() OVERRIDE { m_client->willCommit(); }
- virtual void didCommit() OVERRIDE { m_client->didCommit(); }
- virtual void didCommitAndDrawFrame() OVERRIDE { m_client->didCommitAndDrawFrame(); }
- virtual void didCompleteSwapBuffers() OVERRIDE { m_client->didCompleteSwapBuffers(); }
- virtual void scheduleComposite() OVERRIDE { m_client->scheduleComposite(); }
-
-private:
- WebLayerTreeViewClient* m_client;
- bool m_usingRealOutputSurface;
-};
-
-PassOwnPtr<WebLayerTreeViewImpl> WebLayerTreeViewImpl::create(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings)
-{
- OwnPtr<WebLayerTreeViewImpl> impl = adoptPtr(new WebLayerTreeViewImpl(client, settings));
- if (!impl->layerTreeHost())
- return nullptr;
- impl->layerTreeHost()->setRootLayer(static_cast<const WebLayerImpl*>(&root)->layer());
- return impl.release();
-}
-
-WebLayerTreeViewImpl::WebLayerTreeViewImpl(WebLayerTreeViewClient* client, const WebLayerTreeView::Settings& settings)
- : m_clientAdapter(adoptPtr(new WebLayerTreeViewClientAdapter(client)))
- , m_layerTreeHost(CCLayerTreeHost::create(m_clientAdapter.get(), settings))
+WebLayerTreeViewImpl::WebLayerTreeViewImpl(WebLayerTreeViewClient* client)
+ : m_client(client)
{
}
@@ -157,4 +62,221 @@ WebLayerTreeViewImpl::~WebLayerTreeViewImpl()
{
}
+bool WebLayerTreeViewImpl::initialize(const WebLayerTreeView::Settings& webSettings)
+{
+ CCLayerTreeSettings settings;
+ settings.acceleratePainting = webSettings.acceleratePainting;
+ settings.showFPSCounter = webSettings.showFPSCounter;
+ settings.showPlatformLayerTree = webSettings.showPlatformLayerTree;
+ settings.showPaintRects = webSettings.showPaintRects;
+ settings.renderVSyncEnabled = webSettings.renderVSyncEnabled;
+ settings.refreshRate = webSettings.refreshRate;
+ settings.defaultTileSize = webSettings.defaultTileSize;
+ settings.maxUntiledLayerSize = webSettings.maxUntiledLayerSize;
+ m_layerTreeHost = CCLayerTreeHost::create(this, settings);
+ if (!m_layerTreeHost)
+ return false;
+ return true;
+}
+
+void WebLayerTreeViewImpl::setSurfaceReady()
+{
+ m_layerTreeHost->setSurfaceReady();
+}
+
+void WebLayerTreeViewImpl::setRootLayer(const WebLayer& root)
+{
+ m_layerTreeHost->setRootLayer(static_cast<const WebLayerImpl*>(&root)->layer());
+}
+
+void WebLayerTreeViewImpl::clearRootLayer()
+{
+ m_layerTreeHost->setRootLayer(PassRefPtr<LayerChromium>());
+}
+
+void WebLayerTreeViewImpl::setViewportSize(const WebSize& layoutViewportSize, const WebSize& deviceViewportSize)
+{
+ if (!deviceViewportSize.isEmpty())
+ m_layerTreeHost->setViewportSize(layoutViewportSize, deviceViewportSize);
+ else
+ m_layerTreeHost->setViewportSize(layoutViewportSize, layoutViewportSize);
+}
+
+WebSize WebLayerTreeViewImpl::layoutViewportSize() const
+{
+ return WebSize(m_layerTreeHost->layoutViewportSize());
+}
+
+WebSize WebLayerTreeViewImpl::deviceViewportSize() const
+{
+ return WebSize(m_layerTreeHost->deviceViewportSize());
+}
+
+void WebLayerTreeViewImpl::setDeviceScaleFactor(const float deviceScaleFactor)
+{
+ m_layerTreeHost->setDeviceScaleFactor(deviceScaleFactor);
+}
+
+float WebLayerTreeViewImpl::deviceScaleFactor() const
+{
+ return m_layerTreeHost->deviceScaleFactor();
+}
+
+void WebLayerTreeViewImpl::setBackgroundColor(WebColor color)
+{
+ m_layerTreeHost->setBackgroundColor(color);
+}
+
+void WebLayerTreeViewImpl::setHasTransparentBackground(bool transparent)
+{
+ m_layerTreeHost->setHasTransparentBackground(transparent);
+}
+
+void WebLayerTreeViewImpl::setVisible(bool visible)
+{
+ m_layerTreeHost->setVisible(visible);
+}
+
+void WebLayerTreeViewImpl::setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum)
+{
+ m_layerTreeHost->setPageScaleFactorAndLimits(pageScaleFactor, minimum, maximum);
+}
+
+void WebLayerTreeViewImpl::startPageScaleAnimation(const WebPoint& scroll, bool useAnchor, float newPageScale, double durationSec)
+{
+ m_layerTreeHost->startPageScaleAnimation(IntSize(scroll.x, scroll.y), useAnchor, newPageScale, durationSec);
+}
+
+void WebLayerTreeViewImpl::setNeedsAnimate()
+{
+ m_layerTreeHost->setNeedsAnimate();
+}
+
+void WebLayerTreeViewImpl::setNeedsRedraw()
+{
+ m_layerTreeHost->setNeedsRedraw();
+}
+
+bool WebLayerTreeViewImpl::commitRequested() const
+{
+ return m_layerTreeHost->commitRequested();
+}
+
+void WebLayerTreeViewImpl::composite()
+{
+ if (CCProxy::hasImplThread())
+ m_layerTreeHost->setNeedsCommit();
+ else
+ m_layerTreeHost->composite();
+}
+
+void WebLayerTreeViewImpl::updateAnimations(double frameBeginTime)
+{
+ m_layerTreeHost->updateAnimations(frameBeginTime);
+}
+
+bool WebLayerTreeViewImpl::compositeAndReadback(void *pixels, const WebRect& rect)
+{
+ return m_layerTreeHost->compositeAndReadback(pixels, rect);
+}
+
+void WebLayerTreeViewImpl::finishAllRendering()
+{
+ m_layerTreeHost->finishAllRendering();
+}
+
+void WebLayerTreeViewImpl::renderingStats(WebRenderingStats& stats) const
+{
+ CCRenderingStats ccStats;
+ m_layerTreeHost->renderingStats(ccStats);
+
+ stats.numAnimationFrames = ccStats.numAnimationFrames;
+ stats.numFramesSentToScreen = ccStats.numFramesSentToScreen;
+ stats.droppedFrameCount = ccStats.droppedFrameCount;
+ stats.totalPaintTimeInSeconds = ccStats.totalPaintTimeInSeconds;
+ stats.totalRasterizeTimeInSeconds = ccStats.totalRasterizeTimeInSeconds;
+}
+
+void WebLayerTreeViewImpl::setFontAtlas(SkBitmap bitmap, WebRect asciiToWebRectTable[128], int fontHeight)
+{
+ IntRect asciiToRectTable[128];
+ for (int i = 0; i < 128; ++i)
+ asciiToRectTable[i] = asciiToWebRectTable[i];
+ OwnPtr<CCFontAtlas> fontAtlas = CCFontAtlas::create(bitmap, asciiToRectTable, fontHeight);
+ m_layerTreeHost->setFontAtlas(fontAtlas.release());
+}
+
+void WebLayerTreeViewImpl::loseCompositorContext(int numTimes)
+{
+ m_layerTreeHost->loseContext(numTimes);
+}
+
+void WebLayerTreeViewImpl::willBeginFrame()
+{
+ m_client->willBeginFrame();
+}
+
+void WebLayerTreeViewImpl::didBeginFrame()
+{
+ m_client->didBeginFrame();
+}
+
+void WebLayerTreeViewImpl::animate(double monotonicFrameBeginTime)
+{
+ m_client->updateAnimations(monotonicFrameBeginTime);
+}
+
+void WebLayerTreeViewImpl::layout()
+{
+ m_client->layout();
+}
+
+void WebLayerTreeViewImpl::applyScrollAndScale(const WebCore::IntSize& scrollDelta, float pageScale)
+{
+ m_client->applyScrollAndScale(scrollDelta, pageScale);
+}
+
+PassOwnPtr<WebCompositorOutputSurface> WebLayerTreeViewImpl::createOutputSurface()
+{
+ return adoptPtr(m_client->createOutputSurface());
+}
+
+void WebLayerTreeViewImpl::didRecreateOutputSurface(bool success)
+{
+ m_client->didRecreateOutputSurface(success);
+}
+
+PassOwnPtr<CCInputHandler> WebLayerTreeViewImpl::createInputHandler()
+{
+ OwnPtr<WebInputHandler> handler = adoptPtr(m_client->createInputHandler());
+ if (handler)
+ return WebToCCInputHandlerAdapter::create(handler.release());
+ return nullptr;
+}
+
+void WebLayerTreeViewImpl::willCommit()
+{
+ m_client->willCommit();
+}
+
+void WebLayerTreeViewImpl::didCommit()
+{
+ m_client->didCommit();
+}
+
+void WebLayerTreeViewImpl::didCommitAndDrawFrame()
+{
+ m_client->didCommitAndDrawFrame();
+}
+
+void WebLayerTreeViewImpl::didCompleteSwapBuffers()
+{
+ m_client->didCompleteSwapBuffers();
+}
+
+void WebLayerTreeViewImpl::scheduleComposite()
+{
+ m_client->scheduleComposite();
+}
+
} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h b/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h
index 3bc43410d..a1dbd7404 100644
--- a/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h
+++ b/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h
@@ -26,6 +26,7 @@
#ifndef WebLayerTreeViewImpl_h
#define WebLayerTreeViewImpl_h
+#include "CCLayerTreeHostClient.h"
#include <public/WebLayerTreeView.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -39,17 +40,55 @@ class WebLayer;
class WebLayerTreeViewClient;
class WebLayerTreeViewClientAdapter;
-class WebLayerTreeViewImpl {
+class WebLayerTreeViewImpl : public WebLayerTreeView, public WebCore::CCLayerTreeHostClient {
public:
- static PassOwnPtr<WebLayerTreeViewImpl> create(WebLayerTreeViewClient*, const WebLayer& root, const WebLayerTreeView::Settings&);
+ explicit WebLayerTreeViewImpl(WebLayerTreeViewClient*);
virtual ~WebLayerTreeViewImpl();
- WebCore::CCLayerTreeHost* layerTreeHost() { return m_layerTreeHost.get(); }
+ bool initialize(const Settings&);
-private:
- WebLayerTreeViewImpl(WebLayerTreeViewClient*, const WebLayerTreeView::Settings&);
+ // WebLayerTreeView implementation.
+ virtual void setSurfaceReady() OVERRIDE;
+ virtual void setRootLayer(const WebLayer&) OVERRIDE;
+ virtual void clearRootLayer() OVERRIDE;
+ virtual void setViewportSize(const WebSize& layoutViewportSize, const WebSize& deviceViewportSize = WebSize()) OVERRIDE;
+ virtual WebSize layoutViewportSize() const OVERRIDE;
+ virtual WebSize deviceViewportSize() const OVERRIDE;
+ virtual void setDeviceScaleFactor(float) OVERRIDE;
+ virtual float deviceScaleFactor() const OVERRIDE;
+ virtual void setBackgroundColor(WebColor) OVERRIDE;
+ virtual void setHasTransparentBackground(bool) OVERRIDE;
+ virtual void setVisible(bool) OVERRIDE;
+ virtual void setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum) OVERRIDE;
+ virtual void startPageScaleAnimation(const WebPoint& destination, bool useAnchor, float newPageScale, double durationSec) OVERRIDE;
+ virtual void setNeedsAnimate() OVERRIDE;
+ virtual void setNeedsRedraw() OVERRIDE;
+ virtual bool commitRequested() const OVERRIDE;
+ virtual void composite() OVERRIDE;
+ virtual void updateAnimations(double frameBeginTime) OVERRIDE;
+ virtual bool compositeAndReadback(void *pixels, const WebRect&) OVERRIDE;
+ virtual void finishAllRendering() OVERRIDE;
+ virtual void renderingStats(WebRenderingStats&) const OVERRIDE;
+ virtual void setFontAtlas(SkBitmap, WebRect asciiToRectTable[128], int fontHeight) OVERRIDE;
+ virtual void loseCompositorContext(int numTimes) OVERRIDE;
+
+ // WebCore::CCLayerTreeHostClient implementation.
+ virtual void willBeginFrame() OVERRIDE;
+ virtual void didBeginFrame() OVERRIDE;
+ virtual void animate(double monotonicFrameBeginTime) OVERRIDE;
+ virtual void layout() OVERRIDE;
+ virtual void applyScrollAndScale(const WebCore::IntSize& scrollDelta, float pageScale) OVERRIDE;
+ virtual PassOwnPtr<WebCompositorOutputSurface> createOutputSurface() OVERRIDE;
+ virtual void didRecreateOutputSurface(bool success) OVERRIDE;
+ virtual PassOwnPtr<WebCore::CCInputHandler> createInputHandler() OVERRIDE;
+ virtual void willCommit() OVERRIDE;
+ virtual void didCommit() OVERRIDE;
+ virtual void didCommitAndDrawFrame() OVERRIDE;
+ virtual void didCompleteSwapBuffers() OVERRIDE;
+ virtual void scheduleComposite() OVERRIDE;
- OwnPtr<WebLayerTreeViewClientAdapter> m_clientAdapter;
+private:
+ WebLayerTreeViewClient* m_client;
OwnPtr<WebCore::CCLayerTreeHost> m_layerTreeHost;
};
diff --git a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
index 72e871637..e570dca5a 100644
--- a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
+++ b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
@@ -12,6 +12,7 @@
#include "AudioSourceProviderClient.h"
#include "Frame.h"
#include "GraphicsContext.h"
+#include "GraphicsLayerChromium.h"
#include "HTMLMediaElement.h"
#include "IntSize.h"
#include "KURL.h"
@@ -29,11 +30,13 @@
#include <public/Platform.h>
#include <public/WebCString.h>
#include <public/WebCanvas.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebMimeRegistry.h>
#include <public/WebRect.h>
#include <public/WebSize.h>
#include <public/WebString.h>
#include <public/WebURL.h>
+#include <public/WebVideoLayer.h>
#if USE(ACCELERATED_COMPOSITING)
#include "RenderLayerCompositor.h"
@@ -97,6 +100,10 @@ WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl()
#endif
if (m_helperPlugin)
closeHelperPlugin();
+#if USE(ACCELERATED_COMPOSITING)
+ if (m_videoLayer)
+ GraphicsLayerChromium::unregisterContentsLayer(m_videoLayer->layer());
+#endif
}
void WebMediaPlayerClientImpl::networkStateChanged()
@@ -111,8 +118,10 @@ void WebMediaPlayerClientImpl::readyStateChanged()
m_mediaPlayer->readyStateChanged();
#if USE(ACCELERATED_COMPOSITING)
if (hasVideo() && supportsAcceleratedRendering() && !m_videoLayer) {
- m_videoLayer = adoptPtr(WebVideoLayer::create(this));
+ m_videoLayer = adoptPtr(Platform::current()->compositorSupport()->createVideoLayer(this));
+
m_videoLayer->layer()->setOpaque(m_opaque);
+ GraphicsLayerChromium::registerContentsLayer(m_videoLayer->layer());
}
#endif
}
@@ -431,6 +440,12 @@ bool WebMediaPlayerClientImpl::sourceAbort(const String& id)
return m_webMediaPlayer->sourceAbort(id);
}
+void WebMediaPlayerClientImpl::sourceSetDuration(double duration)
+{
+ if (m_webMediaPlayer)
+ m_webMediaPlayer->sourceSetDuration(duration);
+}
+
void WebMediaPlayerClientImpl::sourceEndOfStream(WebCore::MediaPlayer::EndOfStreamStatus status)
{
if (m_webMediaPlayer)
diff --git a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
index 329fd9ec0..dd170e57c 100644
--- a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
+++ b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
@@ -39,7 +39,6 @@
#include "WebMediaPlayerClient.h"
#include "WebStreamTextureClient.h"
#include <public/WebVideoFrameProvider.h>
-#include <public/WebVideoLayer.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -50,6 +49,7 @@ namespace WebKit {
class WebHelperPluginImpl;
class WebAudioSourceProvider;
class WebMediaPlayer;
+class WebVideoLayer;
// This class serves as a bridge between WebCore::MediaPlayer and
// WebKit::WebMediaPlayer.
@@ -163,6 +163,7 @@ public:
virtual WTF::PassRefPtr<WebCore::TimeRanges> sourceBuffered(const String&);
virtual bool sourceAppend(const String&, const unsigned char* data, unsigned length);
virtual bool sourceAbort(const String&);
+ virtual void sourceSetDuration(double);
virtual void sourceEndOfStream(WebCore::MediaPlayer::EndOfStreamStatus);
virtual bool sourceSetTimestampOffset(const String&, double offset);
#endif
diff --git a/Source/WebKit/chromium/src/WebPageSerializerImpl.cpp b/Source/WebKit/chromium/src/WebPageSerializerImpl.cpp
index dd4b15ebd..793ca8b83 100644
--- a/Source/WebKit/chromium/src/WebPageSerializerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebPageSerializerImpl.cpp
@@ -75,6 +75,8 @@
// override the incorrect base URL and make sure we alway load correct local
// saved resource files.
+#define WTF_DEPRECATED_STRING_OPERATORS
+
#include "config.h"
#include "WebPageSerializerImpl.h"
diff --git a/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp b/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp
index 75a97e0f6..524ba80f8 100644
--- a/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp
@@ -51,6 +51,7 @@
#include "FrameView.h"
#include "GestureEvent.h"
#include "GraphicsContext.h"
+#include "GraphicsLayerChromium.h"
#include "HitTestResult.h"
#include "HostWindow.h"
#include "HTMLFormElement.h"
@@ -71,6 +72,8 @@
#include "WheelEvent.h"
#include <public/Platform.h>
#include <public/WebClipboard.h>
+#include <public/WebCompositorSupport.h>
+#include <public/WebExternalTextureLayer.h>
#include <public/WebRect.h>
#include <public/WebString.h>
#include <public/WebURL.h>
@@ -368,8 +371,10 @@ void WebPluginContainerImpl::setBackingTextureId(unsigned textureId)
ASSERT(!m_ioSurfaceLayer);
- if (!m_textureLayer)
- m_textureLayer = adoptPtr(WebExternalTextureLayer::create());
+ if (!m_textureLayer) {
+ m_textureLayer = adoptPtr(Platform::current()->compositorSupport()->createExternalTextureLayer());
+ GraphicsLayerChromium::registerContentsLayer(m_textureLayer->layer());
+ }
m_textureLayer->setTextureId(textureId);
// If anyone of the IDs is zero we need to switch between hardware
@@ -392,8 +397,10 @@ void WebPluginContainerImpl::setBackingIOSurfaceId(int width,
ASSERT(!m_textureLayer);
- if (!m_ioSurfaceLayer)
- m_ioSurfaceLayer = adoptPtr(WebIOSurfaceLayer::create());
+ if (!m_ioSurfaceLayer) {
+ m_ioSurfaceLayer = adoptPtr(Platform::current()->compositorSupport()->createIOSurfaceLayer());
+ GraphicsLayerChromium::registerContentsLayer(m_ioSurfaceLayer->layer());
+ }
m_ioSurfaceLayer->setIOSurfaceProperties(ioSurfaceId, WebSize(width, height));
// If anyone of the IDs is zero we need to switch between hardware
@@ -500,7 +507,7 @@ bool WebPluginContainerImpl::isRectTopmost(const WebRect& rect)
LayoutPoint center = documentRect.center();
// Make the rect we're checking (the point surrounded by padding rects) contained inside the requested rect. (Note that -1/2 is 0.)
LayoutSize padding((documentRect.width() - 1) / 2, (documentRect.height() - 1) / 2);
- HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(center, false, false, DontHitTestScrollbars, HitTestRequest::ReadOnly | HitTestRequest::Active, padding);
+ HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(center, HitTestRequest::ReadOnly | HitTestRequest::Active, padding);
const HitTestResult::NodeSet& nodes = result.rectBasedTestResult();
if (nodes.size() != 1)
return false;
@@ -627,6 +634,13 @@ WebPluginContainerImpl::WebPluginContainerImpl(WebCore::HTMLPlugInElement* eleme
WebPluginContainerImpl::~WebPluginContainerImpl()
{
+#if USE(ACCELERATED_COMPOSITING)
+ if (m_textureLayer)
+ GraphicsLayerChromium::unregisterContentsLayer(m_textureLayer->layer());
+ if (m_ioSurfaceLayer)
+ GraphicsLayerChromium::unregisterContentsLayer(m_ioSurfaceLayer->layer());
+#endif
+
if (m_isAcceptingTouchEvents)
m_element->document()->didRemoveTouchEventHandler();
diff --git a/Source/WebKit/chromium/src/WebPluginContainerImpl.h b/Source/WebKit/chromium/src/WebPluginContainerImpl.h
index 998be6e41..e203a7370 100644
--- a/Source/WebKit/chromium/src/WebPluginContainerImpl.h
+++ b/Source/WebKit/chromium/src/WebPluginContainerImpl.h
@@ -35,7 +35,6 @@
#include "WebPluginContainer.h"
#include "Widget.h"
-#include <public/WebExternalTextureLayer.h>
#include <public/WebIOSurfaceLayer.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassRefPtr.h>
@@ -67,6 +66,7 @@ struct WebPrintParams;
class ScrollbarGroup;
class WebPlugin;
class WebPluginLoadObserver;
+class WebExternalTextureLayer;
class WebPluginContainerImpl : public WebCore::PluginViewBase, public WebPluginContainer {
public:
diff --git a/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp b/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp
index 8bc880c75..bbd71bc82 100644
--- a/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp
+++ b/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp
@@ -204,14 +204,13 @@ bool WebRuntimeFeatures::isWebAudioEnabled()
#endif
}
-void WebRuntimeFeatures::enablePushState(bool enable)
+void WebRuntimeFeatures::enablePushState(bool)
{
- RuntimeEnabledFeatures::setPushStateEnabled(enable);
}
bool WebRuntimeFeatures::isPushStateEnabled(bool enable)
{
- return RuntimeEnabledFeatures::pushStateEnabled();
+ return true;
}
void WebRuntimeFeatures::enableTouch(bool enable)
diff --git a/Source/WebKit/chromium/src/WebScrollbarImpl.cpp b/Source/WebKit/chromium/src/WebScrollbarImpl.cpp
deleted file mode 100644
index 73b92697e..000000000
--- a/Source/WebKit/chromium/src/WebScrollbarImpl.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2012 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 INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#include "WebScrollbarImpl.h"
-
-#include "IntRect.h"
-#include "Scrollbar.h"
-
-namespace WebKit {
-
-PassOwnPtr<WebScrollbar> WebScrollbar::create(WebCore::Scrollbar* scrollbar)
-{
- return adoptPtr(new WebScrollbarImpl(scrollbar));
-}
-
-WebScrollbarImpl::WebScrollbarImpl(WebCore::Scrollbar* scrollbar)
- : m_scrollbar(scrollbar)
-{
-}
-
-bool WebScrollbarImpl::isOverlay() const
-{
- return m_scrollbar->isOverlayScrollbar();
-}
-
-int WebScrollbarImpl::value() const
-{
- return m_scrollbar->value();
-}
-
-WebPoint WebScrollbarImpl::location() const
-{
- return m_scrollbar->location();
-}
-
-WebSize WebScrollbarImpl::size() const
-{
- return m_scrollbar->size();
-}
-
-bool WebScrollbarImpl::enabled() const
-{
- return m_scrollbar->enabled();
-}
-
-int WebScrollbarImpl::maximum() const
-{
- return m_scrollbar->maximum();
-}
-
-int WebScrollbarImpl::totalSize() const
-{
- return m_scrollbar->totalSize();
-}
-
-bool WebScrollbarImpl::isScrollViewScrollbar() const
-{
- return m_scrollbar->isScrollViewScrollbar();
-}
-
-bool WebScrollbarImpl::isScrollableAreaActive() const
-{
- return m_scrollbar->isScrollableAreaActive();
-}
-
-void WebScrollbarImpl::getTickmarks(WebVector<WebRect>& webTickmarks) const
-{
- Vector<WebCore::IntRect> tickmarks;
- m_scrollbar->getTickmarks(tickmarks);
-
- WebVector<WebRect> result(tickmarks.size());
- for (size_t i = 0; i < tickmarks.size(); ++i)
- result[i] = tickmarks[i];
-
- webTickmarks.swap(result);
-}
-
-WebScrollbar::ScrollbarControlSize WebScrollbarImpl::controlSize() const
-{
- return static_cast<WebScrollbar::ScrollbarControlSize>(m_scrollbar->controlSize());
-}
-
-WebScrollbar::ScrollbarPart WebScrollbarImpl::pressedPart() const
-{
- return static_cast<WebScrollbar::ScrollbarPart>(m_scrollbar->pressedPart());
-}
-
-WebScrollbar::ScrollbarPart WebScrollbarImpl::hoveredPart() const
-{
- return static_cast<WebScrollbar::ScrollbarPart>(m_scrollbar->hoveredPart());
-}
-
-WebScrollbar::ScrollbarOverlayStyle WebScrollbarImpl::scrollbarOverlayStyle() const
-{
- return static_cast<WebScrollbar::ScrollbarOverlayStyle>(m_scrollbar->scrollbarOverlayStyle());
-}
-
-WebScrollbar::Orientation WebScrollbarImpl::orientation() const
-{
- return static_cast<WebScrollbar::Orientation>(m_scrollbar->orientation());
-}
-
-bool WebScrollbarImpl::isCustomScrollbar() const
-{
- return m_scrollbar->isCustomScrollbar();
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp b/Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp
index ec6e9895d..44f6ea3c5 100644
--- a/Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp
@@ -29,19 +29,18 @@
#include "ScrollbarLayerChromium.h"
#include "WebLayerImpl.h"
-using WebCore::Scrollbar;
using WebCore::ScrollbarLayerChromium;
namespace WebKit {
-WebScrollbarLayer* WebScrollbarLayer::create(WebCore::Scrollbar* scrollbar, WebScrollbarThemePainter painter, PassOwnPtr<WebScrollbarThemeGeometry> geometry)
+WebScrollbarLayer* WebScrollbarLayer::create(WebScrollbar* scrollbar, WebScrollbarThemePainter painter, WebScrollbarThemeGeometry* geometry)
{
- return new WebScrollbarLayerImpl(ScrollbarLayerChromium::create(WebScrollbar::create(scrollbar), painter, geometry, 0));
+ return new WebScrollbarLayerImpl(scrollbar, painter, geometry);
}
-WebScrollbarLayerImpl::WebScrollbarLayerImpl(PassRefPtr<WebCore::ScrollbarLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebScrollbarLayerImpl::WebScrollbarLayerImpl(WebScrollbar* scrollbar, WebScrollbarThemePainter painter, WebScrollbarThemeGeometry* geometry)
+ : m_layer(adoptPtr(new WebLayerImpl(ScrollbarLayerChromium::create(adoptPtr(scrollbar), painter, adoptPtr(geometry), 0))))
{
}
diff --git a/Source/WebKit/chromium/src/WebScrollbarLayerImpl.h b/Source/WebKit/chromium/src/WebScrollbarLayerImpl.h
index 720f79c55..a85b28e67 100644
--- a/Source/WebKit/chromium/src/WebScrollbarLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebScrollbarLayerImpl.h
@@ -28,18 +28,13 @@
#include <public/WebScrollbarLayer.h>
#include <wtf/OwnPtr.h>
-#include <wtf/PassRefPtr.h>
-
-namespace WebCore {
-class ScrollbarLayerChromium;
-}
namespace WebKit {
class WebLayerImpl;
class WebScrollbarLayerImpl : public WebScrollbarLayer {
public:
- explicit WebScrollbarLayerImpl(PassRefPtr<WebCore::ScrollbarLayerChromium>);
+ WebScrollbarLayerImpl(WebScrollbar*, WebScrollbarThemePainter, WebScrollbarThemeGeometry*);
virtual ~WebScrollbarLayerImpl();
// WebScrollbarLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.cpp b/Source/WebKit/chromium/src/WebSettingsImpl.cpp
index eb4b7bb76..5026ee94b 100644
--- a/Source/WebKit/chromium/src/WebSettingsImpl.cpp
+++ b/Source/WebKit/chromium/src/WebSettingsImpl.cpp
@@ -53,6 +53,7 @@ WebSettingsImpl::WebSettingsImpl(Settings* settings)
, m_renderVSyncEnabled(true)
, m_viewportEnabled(false)
, m_applyDefaultDeviceScaleFactorInCompositor(false)
+ , m_gestureTapHighlightEnabled(true)
, m_defaultTileSize(WebSize(256, 256))
, m_maxUntiledLayerSize(WebSize(512, 512))
{
@@ -636,4 +637,9 @@ void WebSettingsImpl::setCookieEnabled(bool enabled)
m_settings->setCookieEnabled(enabled);
}
+void WebSettingsImpl::setGestureTapHighlightEnabled(bool enableHighlight)
+{
+ m_gestureTapHighlightEnabled = enableHighlight;
+}
+
} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.h b/Source/WebKit/chromium/src/WebSettingsImpl.h
index 7bc8a649a..6cee2af23 100644
--- a/Source/WebKit/chromium/src/WebSettingsImpl.h
+++ b/Source/WebKit/chromium/src/WebSettingsImpl.h
@@ -95,6 +95,7 @@ public:
virtual void setForceCompositingMode(bool);
virtual void setFrameFlatteningEnabled(bool);
virtual void setFullScreenEnabled(bool);
+ virtual void setGestureTapHighlightEnabled(bool);
virtual void setHyperlinkAuditingEnabled(bool);
virtual void setImagesEnabled(bool);
virtual void setInteractiveFormValidationEnabled(bool);
@@ -157,6 +158,7 @@ public:
bool showPaintRects() const { return m_showPaintRects; }
bool renderVSyncEnabled() const { return m_renderVSyncEnabled; }
bool applyDefaultDeviceScaleFactorInCompositor() const { return m_applyDefaultDeviceScaleFactorInCompositor; }
+ bool gestureTapHighlightEnabled() { return m_gestureTapHighlightEnabled; }
WebSize defaultTileSize() const { return m_defaultTileSize; }
WebSize maxUntiledLayerSize() const { return m_maxUntiledLayerSize; }
@@ -168,6 +170,7 @@ private:
bool m_renderVSyncEnabled;
bool m_viewportEnabled;
bool m_applyDefaultDeviceScaleFactorInCompositor;
+ bool m_gestureTapHighlightEnabled;
WebSize m_defaultTileSize;
WebSize m_maxUntiledLayerSize;
};
diff --git a/Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp b/Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp
index 94404262c..5a5231fce 100644
--- a/Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp
@@ -35,11 +35,11 @@ namespace WebKit {
WebSolidColorLayer* WebSolidColorLayer::create()
{
- return new WebSolidColorLayerImpl(SolidColorLayerChromium::create());
+ return new WebSolidColorLayerImpl();
}
-WebSolidColorLayerImpl::WebSolidColorLayerImpl(PassRefPtr<SolidColorLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebSolidColorLayerImpl::WebSolidColorLayerImpl()
+ : m_layer(adoptPtr(new WebLayerImpl(SolidColorLayerChromium::create())))
{
m_layer->layer()->setIsDrawable(true);
}
diff --git a/Source/WebKit/chromium/src/WebSolidColorLayerImpl.h b/Source/WebKit/chromium/src/WebSolidColorLayerImpl.h
index 7742ba492..f6e46e3ec 100644
--- a/Source/WebKit/chromium/src/WebSolidColorLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebSolidColorLayerImpl.h
@@ -28,18 +28,13 @@
#include <public/WebSolidColorLayer.h>
#include <wtf/OwnPtr.h>
-#include <wtf/PassRefPtr.h>
-
-namespace WebCore {
-class SolidColorLayerChromium;
-}
namespace WebKit {
class WebLayerImpl;
class WebSolidColorLayerImpl : public WebSolidColorLayer {
public:
- explicit WebSolidColorLayerImpl(PassRefPtr<WebCore::SolidColorLayerChromium>);
+ WebSolidColorLayerImpl();
virtual ~WebSolidColorLayerImpl();
// WebSolidColorLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.cpp b/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.cpp
new file mode 100644
index 000000000..79049c97a
--- /dev/null
+++ b/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.cpp
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2012 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 INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#include "WebToCCInputHandlerAdapter.h"
+
+#include <public/WebInputHandlerClient.h>
+
+#define COMPILE_ASSERT_MATCHING_ENUM(webkit_name, webcore_name) \
+ COMPILE_ASSERT(int(WebKit::webkit_name) == int(WebCore::webcore_name), mismatching_enums)
+
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollStatusOnMainThread, CCInputHandlerClient::ScrollOnMainThread);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollStatusStarted, CCInputHandlerClient::ScrollStarted);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollStatusIgnored, CCInputHandlerClient::ScrollIgnored);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollInputTypeGesture, CCInputHandlerClient::Gesture);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollInputTypeWheel, CCInputHandlerClient::Wheel);
+
+namespace WebKit {
+
+PassOwnPtr<WebToCCInputHandlerAdapter> WebToCCInputHandlerAdapter::create(PassOwnPtr<WebInputHandler> handler)
+{
+ return adoptPtr(new WebToCCInputHandlerAdapter(handler));
+}
+
+WebToCCInputHandlerAdapter::WebToCCInputHandlerAdapter(PassOwnPtr<WebInputHandler> handler)
+ : m_handler(handler)
+{
+}
+
+WebToCCInputHandlerAdapter::~WebToCCInputHandlerAdapter()
+{
+}
+
+class WebToCCInputHandlerAdapter::ClientAdapter : public WebInputHandlerClient {
+public:
+ ClientAdapter(WebCore::CCInputHandlerClient* client)
+ : m_client(client)
+ {
+ }
+
+ virtual ~ClientAdapter()
+ {
+ }
+
+ virtual ScrollStatus scrollBegin(WebPoint point, ScrollInputType type) OVERRIDE
+ {
+ return static_cast<WebInputHandlerClient::ScrollStatus>(m_client->scrollBegin(point, static_cast<WebCore::CCInputHandlerClient::ScrollInputType>(type)));
+ }
+
+ virtual void scrollBy(WebPoint point, WebSize offset) OVERRIDE
+ {
+ m_client->scrollBy(point, offset);
+ }
+
+ virtual void scrollEnd() OVERRIDE
+ {
+ m_client->scrollEnd();
+ }
+
+ virtual void pinchGestureBegin() OVERRIDE
+ {
+ m_client->pinchGestureBegin();
+ }
+
+ virtual void pinchGestureUpdate(float magnifyDelta, WebPoint anchor) OVERRIDE
+ {
+ m_client->pinchGestureUpdate(magnifyDelta, anchor);
+ }
+
+ virtual void pinchGestureEnd() OVERRIDE
+ {
+ m_client->pinchGestureEnd();
+ }
+
+ virtual void startPageScaleAnimation(WebSize targetPosition,
+ bool anchorPoint,
+ float pageScale,
+ double startTime,
+ double duration) OVERRIDE
+ {
+ m_client->startPageScaleAnimation(targetPosition, anchorPoint, pageScale, startTime, duration);
+ }
+
+ virtual void scheduleAnimation() OVERRIDE
+ {
+ m_client->scheduleAnimation();
+ }
+
+private:
+ WebCore::CCInputHandlerClient* m_client;
+};
+
+
+void WebToCCInputHandlerAdapter::bindToClient(WebCore::CCInputHandlerClient* client)
+{
+ m_clientAdapter = adoptPtr(new ClientAdapter(client));
+ m_handler->bindToClient(m_clientAdapter.get());
+}
+
+void WebToCCInputHandlerAdapter::animate(double monotonicTime)
+{
+ m_handler->animate(monotonicTime);
+}
+
+}
+
diff --git a/Source/WebKit/chromium/src/WebScrollbarImpl.h b/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.h
index 5c9231aaa..889553559 100644
--- a/Source/WebKit/chromium/src/WebScrollbarImpl.h
+++ b/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.h
@@ -22,43 +22,33 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebScrollbarImpl_h
-#define WebScrollbarImpl_h
+#ifndef WebToCCInputHandlerAdapter_h
+#define WebToCCInputHandlerAdapter_h
-#include <public/WebScrollbar.h>
-
-namespace WebCore {
-class Scrollbar;
-}
+#include "CCInputHandler.h"
+#include <public/WebInputHandler.h>
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
namespace WebKit {
-class WebScrollbarImpl : public WebScrollbar {
+class WebToCCInputHandlerAdapter : public WebCore::CCInputHandler {
public:
- WebScrollbarImpl(WebCore::Scrollbar*);
+ static PassOwnPtr<WebToCCInputHandlerAdapter> create(PassOwnPtr<WebInputHandler>);
+ virtual ~WebToCCInputHandlerAdapter();
- // Implement WebKit::WebScrollbar methods
- virtual bool isOverlay() const OVERRIDE;
- virtual int value() const OVERRIDE;
- virtual WebPoint location() const OVERRIDE;
- virtual WebSize size() const OVERRIDE;
- virtual bool enabled() const OVERRIDE;
- virtual int maximum() const OVERRIDE;
- virtual int totalSize() const OVERRIDE;
- virtual bool isScrollViewScrollbar() const OVERRIDE;
- virtual bool isScrollableAreaActive() const OVERRIDE;
- virtual void getTickmarks(WebVector<WebRect>& tickmarks) const OVERRIDE;
- virtual ScrollbarControlSize controlSize() const OVERRIDE;
- virtual ScrollbarPart pressedPart() const OVERRIDE;
- virtual ScrollbarPart hoveredPart() const OVERRIDE;
- virtual ScrollbarOverlayStyle scrollbarOverlayStyle() const OVERRIDE;
- virtual Orientation orientation() const OVERRIDE;
- virtual bool isCustomScrollbar() const OVERRIDE;
+ // WebCore::CCInputHandler implementation.
+ virtual void bindToClient(WebCore::CCInputHandlerClient*) OVERRIDE;
+ virtual void animate(double monotonicTime) OVERRIDE;
private:
- RefPtr<WebCore::Scrollbar> m_scrollbar;
+ explicit WebToCCInputHandlerAdapter(PassOwnPtr<WebInputHandler>);
+
+ class ClientAdapter;
+ OwnPtr<ClientAdapter> m_clientAdapter;
+ OwnPtr<WebInputHandler> m_handler;
};
-} // namespace WebKit
+}
-#endif
+#endif // WebToCCInputHandlerAdapter_h
diff --git a/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp b/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp
index 201042e95..69a12e8a9 100644
--- a/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp
+++ b/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp
@@ -36,11 +36,11 @@ namespace WebKit {
WebTransformAnimationCurve* WebTransformAnimationCurve::create()
{
- return new WebTransformAnimationCurveImpl(WebCore::CCKeyframedTransformAnimationCurve::create());
+ return new WebTransformAnimationCurveImpl();
}
-WebTransformAnimationCurveImpl::WebTransformAnimationCurveImpl(PassOwnPtr<WebCore::CCKeyframedTransformAnimationCurve> curve)
- : m_curve(curve)
+WebTransformAnimationCurveImpl::WebTransformAnimationCurveImpl()
+ : m_curve(WebCore::CCKeyframedTransformAnimationCurve::create())
{
}
diff --git a/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h b/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h
index 45a03ef06..bc9a9345a 100644
--- a/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h
+++ b/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h
@@ -38,7 +38,7 @@ namespace WebKit {
class WebTransformAnimationCurveImpl : public WebTransformAnimationCurve {
public:
- explicit WebTransformAnimationCurveImpl(PassOwnPtr<WebCore::CCKeyframedTransformAnimationCurve>);
+ WebTransformAnimationCurveImpl();
virtual ~WebTransformAnimationCurveImpl();
// WebAnimationCurve implementation.
diff --git a/Source/WebKit/chromium/src/WebVideoLayerImpl.cpp b/Source/WebKit/chromium/src/WebVideoLayerImpl.cpp
index 5bfed6742..a8fdb4b4f 100644
--- a/Source/WebKit/chromium/src/WebVideoLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebVideoLayerImpl.cpp
@@ -33,11 +33,11 @@ namespace WebKit {
WebVideoLayer* WebVideoLayer::create(WebVideoFrameProvider* provider)
{
- return new WebVideoLayerImpl(WebCore::VideoLayerChromium::create(provider));
+ return new WebVideoLayerImpl(provider);
}
-WebVideoLayerImpl::WebVideoLayerImpl(PassRefPtr<WebCore::VideoLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebVideoLayerImpl::WebVideoLayerImpl(WebVideoFrameProvider* provider)
+ : m_layer(adoptPtr(new WebLayerImpl(WebCore::VideoLayerChromium::create(provider))))
{
}
diff --git a/Source/WebKit/chromium/src/WebVideoLayerImpl.h b/Source/WebKit/chromium/src/WebVideoLayerImpl.h
index 287e4b5e2..664935baf 100644
--- a/Source/WebKit/chromium/src/WebVideoLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebVideoLayerImpl.h
@@ -28,16 +28,12 @@
#include <public/WebVideoLayer.h>
-namespace WebCore {
-class VideoLayerChromium;
-}
-
namespace WebKit {
class WebLayerImpl;
class WebVideoLayerImpl : public WebVideoLayer {
public:
- explicit WebVideoLayerImpl(PassRefPtr<WebCore::VideoLayerChromium>);
+ explicit WebVideoLayerImpl(WebVideoFrameProvider*);
virtual ~WebVideoLayerImpl();
// WebVideoLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp
index c6f9f7e09..be474d8fa 100644
--- a/Source/WebKit/chromium/src/WebViewImpl.cpp
+++ b/Source/WebKit/chromium/src/WebViewImpl.cpp
@@ -119,13 +119,12 @@
#include "TextFieldDecoratorImpl.h"
#include "TextIterator.h"
#include "Timer.h"
-#include "TouchpadFlingPlatformGestureCurve.h"
#include "TraceEvent.h"
#include "UserGestureIndicator.h"
#include "WebAccessibilityObject.h"
#include "WebActiveWheelFlingParameters.h"
#include "WebAutofillClient.h"
-#include "WebCompositorImpl.h"
+#include "WebCompositorInputHandlerImpl.h"
#include "WebDevToolsAgentImpl.h"
#include "WebDevToolsAgentPrivate.h"
#include "WebFrameImpl.h"
@@ -145,13 +144,12 @@
#include "WebRuntimeFeatures.h"
#include "WebSettingsImpl.h"
#include "WebTextInputInfo.h"
-#include "WebTouchCandidatesInfo.h"
#include "WebViewClient.h"
#include "WheelEvent.h"
#include "painting/GraphicsContextBuilder.h"
#include <public/Platform.h>
-#include <public/WebCompositor.h>
#include <public/WebCompositorOutputSurface.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebDragData.h>
#include <public/WebFloatPoint.h>
#include <public/WebGraphicsContext3D.h>
@@ -169,7 +167,9 @@
#include <wtf/Uint8ClampedArray.h>
#if ENABLE(GESTURE_EVENTS)
+#include "PlatformGestureCurveFactory.h"
#include "PlatformGestureEvent.h"
+#include "TouchDisambiguation.h"
#endif
#if OS(WINDOWS)
@@ -416,6 +416,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
, m_recreatingGraphicsContext(false)
, m_compositorSurfaceReady(false)
, m_deviceScaleInCompositor(1)
+ , m_inputHandlerIdentifier(-1)
#endif
#if ENABLE(INPUT_SPEECH)
, m_speechInputClient(SpeechInputClientImpl::create(client))
@@ -432,8 +433,8 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
#if ENABLE(MEDIA_STREAM)
, m_userMediaClientImpl(this)
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- , m_registerProtocolHandlerClient(RegisterProtocolHandlerClientImpl::create(this))
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ , m_navigatorContentUtilsClient(NavigatorContentUtilsClientImpl::create(this))
#endif
, m_flingModifier(0)
{
@@ -464,8 +465,8 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
provideNotification(m_page.get(), notificationPresenterImpl());
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- provideRegisterProtocolHandlerTo(m_page.get(), m_registerProtocolHandlerClient.get());
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ provideNavigatorContentUtilsTo(m_page.get(), m_navigatorContentUtilsClient.get());
#endif
provideContextFeaturesTo(m_page.get(), m_featureSwitchClient.get());
@@ -638,17 +639,13 @@ void WebViewImpl::handleMouseUp(Frame& mainFrame, const WebMouseEvent& event)
FrameView* view = m_page->mainFrame()->view();
IntPoint clickPoint(m_lastMouseDownPoint.x, m_lastMouseDownPoint.y);
IntPoint contentPoint = view->windowToContents(clickPoint);
- HitTestResult hitTestResult = focused->eventHandler()->hitTestResultAtPoint(contentPoint, false, false, ShouldHitTestScrollbars);
+ HitTestResult hitTestResult = focused->eventHandler()->hitTestResultAtPoint(contentPoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::TestChildFrameScrollBars);
// We don't want to send a paste when middle clicking a scroll bar or a
// link (which will navigate later in the code). The main scrollbars
// have to be handled separately.
if (!hitTestResult.scrollbar() && !hitTestResult.isLiveLink() && focused && !view->scrollbarAtPoint(clickPoint)) {
Editor* editor = focused->editor();
- Pasteboard* pasteboard = Pasteboard::generalPasteboard();
- bool oldSelectionMode = pasteboard->isSelectionMode();
- pasteboard->setSelectionMode(true);
- editor->command(AtomicString("Paste")).execute();
- pasteboard->setSelectionMode(oldSelectionMode);
+ editor->command(AtomicString("PasteGlobalSelection")).execute();
}
}
#endif
@@ -688,11 +685,13 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
{
switch (event.type) {
case WebInputEvent::GestureFlingStart: {
+ m_client->cancelScheduledContentIntents();
m_lastWheelPosition = WebPoint(event.x, event.y);
m_lastWheelGlobalPosition = WebPoint(event.globalX, event.globalY);
m_flingModifier = event.modifiers;
// FIXME: Make the curve parametrizable from the browser.
- m_gestureAnimation = ActivePlatformGestureAnimation::create(TouchpadFlingPlatformGestureCurve::create(FloatPoint(event.deltaX, event.deltaY)), this);
+ OwnPtr<PlatformGestureCurve> flingCurve = PlatformGestureCurveFactory::get()->createCurve(event.data.flingStart.sourceDevice, FloatPoint(event.data.flingStart.velocityX, event.data.flingStart.velocityY));
+ m_gestureAnimation = ActivePlatformGestureAnimation::create(flingCurve.release(), this);
scheduleAnimation();
return true;
}
@@ -703,12 +702,28 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
}
return false;
case WebInputEvent::GestureTap: {
- PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
+ m_client->cancelScheduledContentIntents();
+ if (detectContentOnTouch(WebPoint(event.x, event.y), event.type))
+ return true;
+
RefPtr<WebCore::PopupContainer> selectPopup;
selectPopup = m_selectPopup;
hideSelectPopup();
ASSERT(!m_selectPopup);
+
+ if (event.data.tap.width > 0) {
+ IntRect boundingBox(event.x - event.data.tap.width / 2, event.y - event.data.tap.height / 2, event.data.tap.width, event.data.tap.height);
+ Vector<IntRect> goodTargets;
+ findGoodTouchTargets(boundingBox, mainFrameImpl()->frame(), pageScaleFactor(), goodTargets);
+ // FIXME: replace touch adjustment code when numberOfGoodTargets == 1?
+ // Single candidate case is currently handled by: https://bugs.webkit.org/show_bug.cgi?id=85101
+ if (goodTargets.size() >= 2 && m_client && m_client->didTapMultipleTargets(event, goodTargets))
+ return true;
+ }
+
+ PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
bool gestureHandled = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent);
+
if (m_selectPopup && m_selectPopup == selectPopup) {
// That tap triggered a select popup which is the same as the one that
// was showing before the tap. It means the user tapped the select
@@ -716,6 +731,7 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
// immediately reopened the select popup. It needs to be closed.
hideSelectPopup();
}
+
return gestureHandled;
}
case WebInputEvent::GestureTwoFingerTap:
@@ -723,6 +739,10 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
if (!mainFrameImpl() || !mainFrameImpl()->frameView())
return false;
+ m_client->cancelScheduledContentIntents();
+ if (detectContentOnTouch(WebPoint(event.x, event.y), event.type))
+ return true;
+
m_page->contextMenuController()->clearContextMenu();
m_contextMenuAllowed = true;
PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
@@ -731,18 +751,21 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
return handled;
}
case WebInputEvent::GestureTapDown: {
+ m_client->cancelScheduledContentIntents();
// Queue a highlight animation, then hand off to regular handler.
#if OS(LINUX)
- enableTouchHighlight(IntPoint(event.x, event.y));
+ if (settingsImpl()->gestureTapHighlightEnabled())
+ enableTouchHighlight(IntPoint(event.x, event.y));
#endif
PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
return mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent);
}
+ case WebInputEvent::GestureDoubleTap:
case WebInputEvent::GestureScrollBegin:
+ case WebInputEvent::GesturePinchBegin:
+ m_client->cancelScheduledContentIntents();
case WebInputEvent::GestureScrollEnd:
case WebInputEvent::GestureScrollUpdate:
- case WebInputEvent::GestureDoubleTap:
- case WebInputEvent::GesturePinchBegin:
case WebInputEvent::GesturePinchEnd:
case WebInputEvent::GesturePinchUpdate: {
PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
@@ -761,20 +784,20 @@ void WebViewImpl::transferActiveWheelFlingAnimation(const WebActiveWheelFlingPar
m_lastWheelPosition = parameters.point;
m_lastWheelGlobalPosition = parameters.globalPoint;
m_flingModifier = parameters.modifiers;
- OwnPtr<PlatformGestureCurve> curve = TouchpadFlingPlatformGestureCurve::create(parameters.delta, IntPoint(parameters.cumulativeScroll));
+ OwnPtr<PlatformGestureCurve> curve = PlatformGestureCurveFactory::get()->createCurve(parameters.sourceDevice, parameters.delta, IntPoint(parameters.cumulativeScroll));
m_gestureAnimation = ActivePlatformGestureAnimation::create(curve.release(), this, parameters.startTime);
scheduleAnimation();
}
void WebViewImpl::renderingStats(WebRenderingStats& stats) const
{
- if (!m_layerTreeView.isNull())
- m_layerTreeView.renderingStats(stats);
+ if (m_layerTreeView)
+ m_layerTreeView->renderingStats(stats);
}
void WebViewImpl::startPageScaleAnimation(const IntPoint& targetPosition, bool useAnchor, float newScale, double durationInSeconds)
{
- if (m_layerTreeView.isNull())
+ if (!m_layerTreeView)
return;
IntPoint clampedPoint = targetPosition;
@@ -786,7 +809,7 @@ void WebViewImpl::startPageScaleAnimation(const IntPoint& targetPosition, bool u
return;
}
- m_layerTreeView.startPageScaleAnimation(targetPosition, useAnchor, newScale, durationInSeconds);
+ m_layerTreeView->startPageScaleAnimation(targetPosition, useAnchor, newScale, durationInSeconds);
}
#endif
@@ -795,17 +818,6 @@ WebViewBenchmarkSupport* WebViewImpl::benchmarkSupport()
return &m_benchmarkSupport;
}
-WebVector<WebFloatQuad> WebViewImpl::getTouchHighlightQuads(const WebPoint& point,
- int padding,
- WebTouchCandidatesInfo& outTouchInfo,
- WebColor& outTapHighlightColor)
-{
- // FIXME: Upstream this function from the chromium-android branch.
- notImplemented();
-
- return WebVector<WebFloatQuad>();
-}
-
bool WebViewImpl::handleKeyEvent(const WebKeyboardEvent& event)
{
ASSERT((event.type == WebInputEvent::RawKeyDown)
@@ -992,9 +1004,8 @@ WebRect WebViewImpl::computeBlockBounds(const WebRect& rect, AutoZoomType zoomTy
// Use the rect-based hit test to find the node.
IntPoint point = mainFrameImpl()->frameView()->windowToContents(IntPoint(rect.x, rect.y));
- HitTestResult result = mainFrameImpl()->frame()->eventHandler()->hitTestResultAtPoint(point,
- false, zoomType == FindInPage, DontHitTestScrollbars, HitTestRequest::Active | HitTestRequest::ReadOnly,
- IntSize(rect.width, rect.height));
+ HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active | ((zoomType == FindInPage) ? HitTestRequest::IgnoreClipping : 0);
+ HitTestResult result = mainFrameImpl()->frame()->eventHandler()->hitTestResultAtPoint(point, hitType, IntSize(rect.width, rect.height));
Node* node = result.innerNonSharedNode();
if (!node)
@@ -1006,7 +1017,7 @@ WebRect WebViewImpl::computeBlockBounds(const WebRect& rect, AutoZoomType zoomTy
// Return the bounding box in the window coordinate system.
if (node) {
- IntRect rect = node->Node::getPixelSnappedRect();
+ IntRect rect = node->Node::pixelSnappedBoundingBox();
Frame* frame = node->document()->frame();
return frame->view()->contentsToWindow(rect);
}
@@ -1128,8 +1139,7 @@ void WebViewImpl::computeScaleAndScrollForHitRect(const WebRect& hitRect, AutoZo
static bool highlightConditions(Node* node)
{
- return node->isLink()
- || node->supportsFocus()
+ return node->supportsFocus()
|| node->hasEventListeners(eventNames().clickEvent)
|| node->hasEventListeners(eventNames().mousedownEvent)
|| node->hasEventListeners(eventNames().mouseupEvent);
@@ -1150,11 +1160,20 @@ Node* WebViewImpl::bestTouchLinkNode(IntPoint touchEventLocation)
while (bestTouchNode && !highlightConditions(bestTouchNode))
bestTouchNode = bestTouchNode->parentNode();
+ // If the document has click handlers installed, we don't want to default to applying the highlight to the entire RenderView, or the
+ // entire body. Also, if the node has non-auto Z-index, we cannot be sure of it's ordering with respect to other possible target nodes.
+ RenderObject* touchNodeRenderer = bestTouchNode ? bestTouchNode->renderer() : 0;
+ if (bestTouchNode && (!touchNodeRenderer || touchNodeRenderer->isRenderView() || touchNodeRenderer->isBody() || !touchNodeRenderer->style()->hasAutoZIndex()))
+ return 0;
+
return bestTouchNode;
}
void WebViewImpl::enableTouchHighlight(IntPoint touchEventLocation)
{
+ // Always clear any existing highlight when this is invoked, even if we don't get a new target to highlight.
+ m_linkHighlight.clear();
+
Node* touchNode = bestTouchLinkNode(touchEventLocation);
if (!touchNode || !touchNode->renderer() || !touchNode->renderer()->enclosingLayer())
@@ -1167,7 +1186,6 @@ void WebViewImpl::enableTouchHighlight(IntPoint touchEventLocation)
if (!highlightColor.alpha())
return;
- // This will clear any highlight currently being displayed.
m_linkHighlight = LinkHighlight::create(touchNode, this);
m_linkHighlight->startHighlightAnimation();
}
@@ -1650,8 +1668,8 @@ void WebViewImpl::updateBatteryStatus(const WebBatteryStatus& status)
void WebViewImpl::setCompositorSurfaceReady()
{
m_compositorSurfaceReady = true;
- if (!m_layerTreeView.isNull())
- m_layerTreeView.setSurfaceReady();
+ if (m_layerTreeView)
+ m_layerTreeView->setSurfaceReady();
}
void WebViewImpl::animate(double)
@@ -1663,7 +1681,7 @@ void WebViewImpl::animate(double)
// In composited mode, we always go through the compositor so it can apply
// appropriate flow-control mechanisms.
if (isAcceleratedCompositingActive())
- m_layerTreeView.updateAnimations(monotonicFrameBeginTime);
+ m_layerTreeView->updateAnimations(monotonicFrameBeginTime);
else
#endif
updateAnimations(monotonicFrameBeginTime);
@@ -1717,7 +1735,7 @@ void WebViewImpl::layout()
#if USE(ACCELERATED_COMPOSITING)
void WebViewImpl::doPixelReadbackToCanvas(WebCanvas* canvas, const IntRect& rect)
{
- ASSERT(!m_layerTreeView.isNull());
+ ASSERT(m_layerTreeView);
PlatformContextSkia context(canvas);
@@ -1731,7 +1749,7 @@ void WebViewImpl::doPixelReadbackToCanvas(WebCanvas* canvas, const IntRect& rect
OwnPtr<ImageBuffer> imageBuffer(ImageBuffer::create(rect.size()));
RefPtr<Uint8ClampedArray> pixelArray(Uint8ClampedArray::createUninitialized(rect.width() * rect.height() * 4));
if (imageBuffer && pixelArray) {
- m_layerTreeView.compositeAndReadback(pixelArray->data(), invertRect);
+ m_layerTreeView->compositeAndReadback(pixelArray->data(), invertRect);
imageBuffer->putByteArray(Premultiplied, pixelArray.get(), rect.size(), IntRect(IntPoint(), rect.size()), IntPoint());
gc.save();
gc.translate(IntSize(0, bitmapHeight));
@@ -1759,7 +1777,7 @@ void WebViewImpl::paint(WebCanvas* canvas, const WebRect& rect, PaintOptions opt
if (canvas) {
// Clip rect to the confines of the rootLayerTexture.
IntRect resizeRect(rect);
- resizeRect.intersect(IntRect(IntPoint(0, 0), m_layerTreeView.deviceViewportSize()));
+ resizeRect.intersect(IntRect(IntPoint(0, 0), m_layerTreeView->deviceViewportSize()));
doPixelReadbackToCanvas(canvas, resizeRect);
}
#endif
@@ -1798,8 +1816,8 @@ void WebViewImpl::themeChanged()
void WebViewImpl::composite(bool)
{
#if USE(ACCELERATED_COMPOSITING)
- if (WebCompositor::threadingEnabled())
- m_layerTreeView.setNeedsRedraw();
+ if (Platform::current()->compositorSupport()->isThreadingEnabled())
+ m_layerTreeView->setNeedsRedraw();
else {
ASSERT(isAcceleratedCompositingActive());
if (!page())
@@ -1808,7 +1826,7 @@ void WebViewImpl::composite(bool)
if (m_pageOverlays)
m_pageOverlays->update();
- m_layerTreeView.composite();
+ m_layerTreeView->composite();
}
#endif
}
@@ -1816,16 +1834,16 @@ void WebViewImpl::composite(bool)
void WebViewImpl::setNeedsRedraw()
{
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull() && isAcceleratedCompositingActive())
- m_layerTreeView.setNeedsRedraw();
+ if (m_layerTreeView && isAcceleratedCompositingActive())
+ m_layerTreeView->setNeedsRedraw();
#endif
}
bool WebViewImpl::isInputThrottled() const
{
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull() && isAcceleratedCompositingActive())
- return m_layerTreeView.commitRequested();
+ if (m_layerTreeView && isAcceleratedCompositingActive())
+ return m_layerTreeView->commitRequested();
#endif
return false;
}
@@ -1833,8 +1851,8 @@ bool WebViewImpl::isInputThrottled() const
void WebViewImpl::loseCompositorContext(int numTimes)
{
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull())
- m_layerTreeView.loseCompositorContext(numTimes);
+ if (m_layerTreeView)
+ m_layerTreeView->loseCompositorContext(numTimes);
#endif
}
@@ -2761,9 +2779,9 @@ void WebViewImpl::setDeviceScaleFactor(float scaleFactor)
page()->setDeviceScaleFactor(scaleFactor);
- if (!m_layerTreeView.isNull() && m_webSettings->applyDefaultDeviceScaleFactorInCompositor()) {
+ if (m_layerTreeView && m_webSettings->applyDefaultDeviceScaleFactorInCompositor()) {
m_deviceScaleInCompositor = page()->deviceScaleFactor();
- m_layerTreeView.setDeviceScaleFactor(m_deviceScaleInCompositor);
+ m_layerTreeView->setDeviceScaleFactor(m_deviceScaleInCompositor);
}
if (m_deviceScaleInCompositor != 1) {
// Don't allow page scaling when compositor scaling is being used,
@@ -2858,8 +2876,8 @@ bool WebViewImpl::computePageScaleFactorLimits()
float clampedScale = clampPageScaleFactorToLimits(pageScaleFactor());
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull())
- m_layerTreeView.setPageScaleFactorAndLimits(clampedScale, m_minimumPageScaleFactor, m_maximumPageScaleFactor);
+ if (m_layerTreeView)
+ m_layerTreeView->setPageScaleFactorAndLimits(clampedScale, m_minimumPageScaleFactor, m_maximumPageScaleFactor);
#endif
if (clampedScale != pageScaleFactor()) {
setPageScaleFactorPreservingScrollOffset(clampedScale);
@@ -3290,7 +3308,7 @@ void WebViewImpl::applyAutofillSuggestions(
refreshAutofillPopup();
} else {
m_autofillPopupShowing = true;
- m_autofillPopup->showInRect(focusedNode->getPixelSnappedRect(), focusedNode->ownerDocument()->view(), 0);
+ m_autofillPopup->showInRect(focusedNode->pixelSnappedBoundingBox(), focusedNode->ownerDocument()->view(), 0);
}
}
@@ -3334,8 +3352,8 @@ void WebViewImpl::setIsTransparent(bool isTransparent)
if (m_nonCompositedContentHost)
m_nonCompositedContentHost->setOpaque(!isTransparent);
- if (!m_layerTreeView.isNull())
- m_layerTreeView.setHasTransparentBackground(isTransparent);
+ if (m_layerTreeView)
+ m_layerTreeView->setHasTransparentBackground(isTransparent);
}
bool WebViewImpl::isTransparent() const
@@ -3390,7 +3408,7 @@ void WebView::addUserScript(const WebString& sourceCode,
patterns->append(patternsIn[i]);
PageGroup* pageGroup = PageGroup::pageGroup(pageGroupName);
- RefPtr<DOMWrapperWorld> world(DOMWrapperWorld::create());
+ RefPtr<DOMWrapperWorld> world(DOMWrapperWorld::createUninitializedWorld());
pageGroup->addUserScriptToWorld(world.get(), sourceCode, WebURL(), patterns.release(), nullptr,
static_cast<UserScriptInjectionTime>(injectAt),
static_cast<UserContentInjectedFrames>(injectIn));
@@ -3406,7 +3424,7 @@ void WebView::addUserStyleSheet(const WebString& sourceCode,
patterns->append(patternsIn[i]);
PageGroup* pageGroup = PageGroup::pageGroup(pageGroupName);
- RefPtr<DOMWrapperWorld> world(DOMWrapperWorld::create());
+ RefPtr<DOMWrapperWorld> world(DOMWrapperWorld::createUninitializedWorld());
// FIXME: Current callers always want the level to be "author". It probably makes sense to let
// callers specify this though, since in other cases the caller will probably want "user" level.
@@ -3438,6 +3456,8 @@ void WebViewImpl::didCommitLoad(bool* isNewNavigation, bool isNavigationWithinPa
if (*isNewNavigation && !isNavigationWithinPage)
m_pageScaleFactorIsSet = false;
+ // Make sure link highlight from previous page is cleared.
+ m_linkHighlight.clear();
m_gestureAnimation.clear();
resetSavedScrollAndScaleState();
}
@@ -3596,7 +3616,7 @@ void WebViewImpl::refreshAutofillPopup()
return;
}
- WebRect newWidgetRect = m_autofillPopup->refresh(focusedWebCoreNode()->getPixelSnappedRect());
+ WebRect newWidgetRect = m_autofillPopup->refresh(focusedWebCoreNode()->pixelSnappedBoundingBox());
// Let's resize the backing window if necessary.
WebPopupMenuImpl* popupMenu = static_cast<WebPopupMenuImpl*>(m_autofillPopup->client());
if (popupMenu && popupMenu->client()->windowRect() != newWidgetRect)
@@ -3655,8 +3675,12 @@ void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer)
m_nonCompositedContentHost->setScrollLayer(scrollLayer);
}
- if (!m_layerTreeView.isNull())
- m_layerTreeView.setRootLayer(m_rootLayer);
+ if (m_layerTreeView) {
+ if (m_rootLayer)
+ m_layerTreeView->setRootLayer(*m_rootLayer);
+ else
+ m_layerTreeView->clearRootLayer();
+ }
IntRect damagedRect(0, 0, m_size.width, m_size.height);
if (!m_isAcceleratedCompositingActive)
@@ -3665,7 +3689,7 @@ void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer)
void WebViewImpl::scheduleCompositingLayerSync()
{
- m_layerTreeView.setNeedsRedraw();
+ m_layerTreeView->setNeedsRedraw();
}
void WebViewImpl::scrollRootLayerRect(const IntSize&, const IntRect&)
@@ -3675,7 +3699,7 @@ void WebViewImpl::scrollRootLayerRect(const IntSize&, const IntRect&)
void WebViewImpl::invalidateRootLayerRect(const IntRect& rect)
{
- ASSERT(!m_layerTreeView.isNull());
+ ASSERT(m_layerTreeView);
if (!page())
return;
@@ -3696,7 +3720,7 @@ void WebViewImpl::setBackgroundColor(const WebCore::Color& color)
WebCore::Color documentBackgroundColor = color.isValid() ? color : WebCore::Color::white;
WebColor webDocumentBackgroundColor = documentBackgroundColor.rgb();
m_nonCompositedContentHost->setBackgroundColor(documentBackgroundColor);
- m_layerTreeView.setBackgroundColor(webDocumentBackgroundColor);
+ m_layerTreeView->setBackgroundColor(webDocumentBackgroundColor);
}
WebCore::GraphicsLayer* WebViewImpl::rootGraphicsLayer()
@@ -3708,9 +3732,9 @@ WebCore::GraphicsLayer* WebViewImpl::rootGraphicsLayer()
void WebViewImpl::scheduleAnimation()
{
if (isAcceleratedCompositingActive()) {
- if (WebCompositor::threadingEnabled()) {
- ASSERT(!m_layerTreeView.isNull());
- m_layerTreeView.setNeedsAnimate();
+ if (Platform::current()->compositorSupport()->isThreadingEnabled()) {
+ ASSERT(m_layerTreeView);
+ m_layerTreeView->setNeedsAnimate();
} else
m_client->scheduleAnimation();
} else
@@ -3744,14 +3768,14 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
m_isAcceleratedCompositingActive = false;
// We need to finish all GL rendering before sending didDeactivateCompositor() to prevent
// flickering when compositing turns off.
- if (!m_layerTreeView.isNull())
- m_layerTreeView.finishAllRendering();
+ if (m_layerTreeView)
+ m_layerTreeView->finishAllRendering();
m_client->didDeactivateCompositor();
- } else if (!m_layerTreeView.isNull()) {
+ } else if (m_layerTreeView) {
m_isAcceleratedCompositingActive = true;
updateLayerTreeViewport();
- m_client->didActivateCompositor(m_layerTreeView.compositorIdentifier());
+ m_client->didActivateCompositor(m_inputHandlerIdentifier);
} else {
TRACE_EVENT0("webkit", "WebViewImpl::setIsAcceleratedCompositingActive(true)");
@@ -3769,8 +3793,8 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
m_nonCompositedContentHost->setShowDebugBorders(page()->settings()->showDebugBorders());
m_nonCompositedContentHost->setOpaque(!isTransparent());
- m_layerTreeView.initialize(this, *m_rootLayer, layerTreeViewSettings);
- if (!m_layerTreeView.isNull()) {
+ m_layerTreeView = adoptPtr(Platform::current()->compositorSupport()->createLayerTreeView(this, *m_rootLayer, layerTreeViewSettings));
+ if (m_layerTreeView) {
if (m_webSettings->applyDefaultDeviceScaleFactorInCompositor() && page()->deviceScaleFactor() != 1) {
ASSERT(page()->deviceScaleFactor());
@@ -3779,13 +3803,13 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
}
bool visible = page()->visibilityState() == PageVisibilityStateVisible;
- m_layerTreeView.setVisible(visible);
- m_layerTreeView.setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
+ m_layerTreeView->setVisible(visible);
+ m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
if (m_compositorSurfaceReady)
- m_layerTreeView.setSurfaceReady();
- m_layerTreeView.setHasTransparentBackground(isTransparent());
+ m_layerTreeView->setSurfaceReady();
+ m_layerTreeView->setHasTransparentBackground(isTransparent());
updateLayerTreeViewport();
- m_client->didActivateCompositor(m_layerTreeView.compositorIdentifier());
+ m_client->didActivateCompositor(m_inputHandlerIdentifier);
m_isAcceleratedCompositingActive = true;
m_compositorCreationFailed = false;
if (m_pageOverlays)
@@ -3797,7 +3821,7 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
WebRect asciiToRectTable[128];
int fontHeight;
SkBitmap bitmap = WebCore::CompositorHUDFontAtlas::generateFontAtlas(asciiToRectTable, fontHeight);
- m_layerTreeView.setFontAtlas(bitmap, asciiToRectTable, fontHeight);
+ m_layerTreeView->setFontAtlas(bitmap, asciiToRectTable, fontHeight);
}
} else {
m_nonCompositedContentHost.clear();
@@ -3871,6 +3895,13 @@ WebCompositorOutputSurface* WebViewImpl::createOutputSurface()
return m_client->createOutputSurface();
}
+WebInputHandler* WebViewImpl::createInputHandler()
+{
+ WebCompositorInputHandlerImpl* handler = new WebCompositorInputHandlerImpl();
+ m_inputHandlerIdentifier = handler->identifier();
+ return handler;
+}
+
void WebViewImpl::applyScrollAndScale(const WebSize& scrollDelta, float pageScaleDelta)
{
if (!mainFrameImpl() || !mainFrameImpl()->frameView())
@@ -3941,29 +3972,29 @@ void WebViewImpl::didRecreateOutputSurface(bool success)
void WebViewImpl::scheduleComposite()
{
- ASSERT(!WebCompositor::threadingEnabled());
+ ASSERT(!Platform::current()->compositorSupport()->isThreadingEnabled());
m_client->scheduleComposite();
}
void WebViewImpl::updateLayerTreeViewport()
{
- if (!page() || !m_nonCompositedContentHost || m_layerTreeView.isNull())
+ if (!page() || !m_nonCompositedContentHost || !m_layerTreeView)
return;
FrameView* view = page()->mainFrame()->view();
IntRect visibleRect = view->visibleContentRect(true /* include scrollbars */);
IntPoint scroll(view->scrollX(), view->scrollY());
- // This part of the deviceScale will be used to scale the contents of
- // the NCCH's GraphicsLayer.
- float deviceScale = m_deviceScaleInCompositor;
- m_nonCompositedContentHost->setViewport(visibleRect.size(), view->contentsSize(), scroll, view->scrollOrigin(), deviceScale);
+ m_nonCompositedContentHost->setViewport(visibleRect.size(), view->contentsSize(), scroll, view->scrollOrigin());
IntSize layoutViewportSize = size();
IntSize deviceViewportSize = size();
- deviceViewportSize.scale(deviceScale);
- m_layerTreeView.setViewportSize(layoutViewportSize, deviceViewportSize);
- m_layerTreeView.setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
+
+ // This part of the deviceScale will be used to scale the contents of
+ // the NCCH's GraphicsLayer.
+ deviceViewportSize.scale(m_deviceScaleInCompositor);
+ m_layerTreeView->setViewportSize(layoutViewportSize, deviceViewportSize);
+ m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
}
WebGraphicsContext3D* WebViewImpl::sharedGraphicsContext3D()
@@ -3982,7 +4013,10 @@ void WebViewImpl::selectAutofillSuggestionAtIndex(unsigned listIndex)
bool WebViewImpl::detectContentOnTouch(const WebPoint& position, WebInputEvent::Type touchType)
{
- ASSERT(touchType == WebInputEvent::GestureTap || touchType == WebInputEvent::GestureLongPress);
+ ASSERT(touchType == WebInputEvent::GestureTap
+ || touchType == WebInputEvent::GestureTwoFingerTap
+ || touchType == WebInputEvent::GestureLongPress);
+
HitTestResult touchHit = hitTestResultForWindowPos(position);
if (touchHit.isContentEditable())
@@ -3992,13 +4026,20 @@ bool WebViewImpl::detectContentOnTouch(const WebPoint& position, WebInputEvent::
if (!node || !node->isTextNode())
return false;
- // FIXME: Should we not detect content intents in nodes that have event listeners?
+ // Ignore when tapping on links or nodes listening to click events, unless the click event is on the
+ // body element, in which case it's unlikely that the original node itself was intended to be clickable.
+ for (; node && !node->hasTagName(HTMLNames::bodyTag); node = node->parentNode()) {
+ if (node->isLink() || (touchType == WebInputEvent::GestureTap
+ && (node->willRespondToTouchEvents() || node->willRespondToMouseClickEvents()))) {
+ return false;
+ }
+ }
WebContentDetectionResult content = m_client->detectContentAround(touchHit);
if (!content.isValid())
return false;
- if (touchType == WebInputEvent::GestureLongPress) {
+ if (touchType != WebInputEvent::GestureTap) {
// Select the detected content as a block.
focusedFrame()->selectRange(content.range());
return true;
@@ -4022,9 +4063,9 @@ void WebViewImpl::setVisibilityState(WebPageVisibilityState visibilityState,
#endif
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull()) {
+ if (m_layerTreeView) {
bool visible = visibilityState == WebPageVisibilityStateVisible;
- m_layerTreeView.setVisible(visible);
+ m_layerTreeView->setVisible(visible);
}
#endif
}
diff --git a/Source/WebKit/chromium/src/WebViewImpl.h b/Source/WebKit/chromium/src/WebViewImpl.h
index 206cf4572..ce5657a2b 100644
--- a/Source/WebKit/chromium/src/WebViewImpl.h
+++ b/Source/WebKit/chromium/src/WebViewImpl.h
@@ -52,7 +52,6 @@
#include "WebViewBenchmarkSupportImpl.h"
#include <public/WebFloatQuad.h>
#include <public/WebLayer.h>
-#include <public/WebLayerTreeView.h>
#include <public/WebLayerTreeViewClient.h>
#include <public/WebPoint.h>
#include <public/WebRect.h>
@@ -95,7 +94,6 @@ class DeviceOrientationClientProxy;
class DragScrollTimer;
class GeolocationClientProxy;
class LinkHighlight;
-class WebHelperPluginImpl;
class NonCompositedContentHost;
class PrerendererClientImpl;
class SpeechInputClientImpl;
@@ -107,15 +105,17 @@ class WebDevToolsAgentClient;
class WebDevToolsAgentPrivate;
class WebFrameImpl;
class WebGestureEvent;
-class WebPagePopupImpl;
-class WebPrerendererClient;
-class WebViewBenchmarkSupport;
+class WebHelperPluginImpl;
class WebImage;
class WebKeyboardEvent;
+class WebLayerTreeView;
class WebMouseEvent;
class WebMouseWheelEvent;
+class WebPagePopupImpl;
+class WebPrerendererClient;
class WebSettingsImpl;
class WebTouchEvent;
+class WebViewBenchmarkSupport;
class WebViewImpl : public WebView
, public WebLayerTreeViewClient
@@ -305,11 +305,6 @@ public:
virtual void transferActiveWheelFlingAnimation(const WebActiveWheelFlingParameters&);
virtual WebViewBenchmarkSupport* benchmarkSupport();
- virtual WebVector<WebFloatQuad> getTouchHighlightQuads(const WebPoint&,
- int padding,
- WebTouchCandidatesInfo& outTouchInfo,
- WebColor& outTapHighlightColor);
-
// WebLayerTreeViewClient
virtual void willBeginFrame();
virtual void didBeginFrame();
@@ -319,6 +314,7 @@ public:
virtual void didRebindGraphicsContext(bool success) OVERRIDE;
virtual WebCompositorOutputSurface* createOutputSurface() OVERRIDE;
virtual void didRecreateOutputSurface(bool success) OVERRIDE;
+ virtual WebInputHandler* createInputHandler() OVERRIDE;
virtual void willCommit();
virtual void didCommit();
virtual void didCommitAndDrawFrame();
@@ -824,7 +820,7 @@ private:
#if USE(ACCELERATED_COMPOSITING)
WebCore::IntRect m_rootLayerScrollDamage;
OwnPtr<NonCompositedContentHost> m_nonCompositedContentHost;
- WebLayerTreeView m_layerTreeView;
+ OwnPtr<WebLayerTreeView> m_layerTreeView;
WebLayer* m_rootLayer;
WebCore::GraphicsLayer* m_rootGraphicsLayer;
bool m_isAcceleratedCompositingActive;
@@ -833,6 +829,7 @@ private:
bool m_recreatingGraphicsContext;
bool m_compositorSurfaceReady;
float m_deviceScaleInCompositor;
+ int m_inputHandlerIdentifier;
#endif
static const WebInputEvent* m_currentInputEvent;
@@ -854,8 +851,8 @@ private:
#if ENABLE(MEDIA_STREAM)
UserMediaClientImpl m_userMediaClientImpl;
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- OwnPtr<RegisterProtocolHandlerClientImpl> m_registerProtocolHandlerClient;
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ OwnPtr<NavigatorContentUtilsClientImpl> m_navigatorContentUtilsClient;
#endif
OwnPtr<WebCore::ActivePlatformGestureAnimation> m_gestureAnimation;
WebPoint m_lastWheelPosition;
diff --git a/Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h b/Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h
index fa70dd261..5c0a59084 100644
--- a/Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h
+++ b/Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h
@@ -33,7 +33,6 @@
#if ENABLE(FILE_SYSTEM) && ENABLE(WORKERS)
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
#include "WebFileError.h"
#include "platform/WebVector.h"
@@ -41,6 +40,7 @@
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class WorkerLoaderProxy;
diff --git a/Source/WebKit/chromium/src/android/WebInputEventFactory.cpp b/Source/WebKit/chromium/src/android/WebInputEventFactory.cpp
index fb723223b..9bc70faca 100644
--- a/Source/WebKit/chromium/src/android/WebInputEventFactory.cpp
+++ b/Source/WebKit/chromium/src/android/WebInputEventFactory.cpp
@@ -50,7 +50,9 @@ WebKeyboardEvent WebInputEventFactory::keyboardEvent(WebInputEvent::Type type,
result.type = type;
result.modifiers = modifiers;
result.timeStampSeconds = timeStampSeconds;
- result.windowsKeyCode = WebCore::windowsKeyCodeForKeyEvent(keycode);
+ int windowsKeyCode = WebCore::windowsKeyCodeForKeyEvent(keycode);
+ result.windowsKeyCode = WebKeyboardEvent::windowsKeyCodeWithoutLocation(windowsKeyCode);
+ result.modifiers |= WebKeyboardEvent::locationModifiersFromWindowsKeyCode(windowsKeyCode);
result.nativeKeyCode = keycode;
result.unmodifiedText[0] = unicodeCharacter;
if (result.windowsKeyCode == WebCore::VKEY_RETURN) {
diff --git a/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp b/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
index 43c238a69..207d34f01 100644
--- a/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
+++ b/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
@@ -383,7 +383,9 @@ WebKeyboardEvent WebInputEventFactory::keyboardEvent(const GdkEventKey* event)
// The key code tells us which physical key was pressed (for example, the
// A key went down or up). It does not determine whether A should be lower
// or upper case. This is what text does, which should be the keyval.
- result.windowsKeyCode = gdkEventToWindowsKeyCode(event);
+ int windowsKeyCode = gdkEventToWindowsKeyCode(event);
+ result.windowsKeyCode = WebKeyboardEvent::windowsKeyCodeWithoutLocation(windowsKeyCode);
+ result.modifiers |= WebKeyboardEvent::locationModifiersFromWindowsKeyCode(windowsKeyCode);
result.nativeKeyCode = event->hardware_keycode;
if (result.windowsKeyCode == WebCore::VKEY_RETURN)
diff --git a/Source/WebKit/chromium/src/mac/WebInputEventFactory.mm b/Source/WebKit/chromium/src/mac/WebInputEventFactory.mm
index babb1f6cc..b3a22fee1 100644
--- a/Source/WebKit/chromium/src/mac/WebInputEventFactory.mm
+++ b/Source/WebKit/chromium/src/mac/WebInputEventFactory.mm
@@ -606,7 +606,9 @@ WebKeyboardEvent WebInputEventFactory::keyboardEvent(NSEvent* event)
if (([event type] != NSFlagsChanged) && [event isARepeat])
result.modifiers |= WebInputEvent::IsAutoRepeat;
- result.windowsKeyCode = windowsKeyCodeForKeyEvent(event);
+ int windowsKeyCode = windowsKeyCodeForKeyEvent(event);
+ result.windowsKeyCode = WebKeyboardEvent::windowsKeyCodeWithoutLocation(windowsKeyCode);
+ result.modifiers |= WebKeyboardEvent::locationModifiersFromWindowsKeyCode(windowsKeyCode);
result.nativeKeyCode = [event keyCode];
NSString* textStr = textFromEvent(event);
diff --git a/Source/WebKit/chromium/src/win/WebInputEventFactory.cpp b/Source/WebKit/chromium/src/win/WebInputEventFactory.cpp
index 9da4b4a27..a177ea244 100644
--- a/Source/WebKit/chromium/src/win/WebInputEventFactory.cpp
+++ b/Source/WebKit/chromium/src/win/WebInputEventFactory.cpp
@@ -42,12 +42,18 @@ static const unsigned long defaultScrollCharsPerWheelDelta = 1;
// WebKeyboardEvent -----------------------------------------------------------
-static bool isKeyPad(WPARAM wparam, LPARAM lparam)
+static bool isKeyDown(WPARAM wparam)
{
- bool keypad = false;
+ return GetKeyState(wparam) & 0x8000;
+}
+
+static int getLocationModifier(WPARAM wparam, LPARAM lparam)
+{
+ int modifier = 0;
switch (wparam) {
case VK_RETURN:
- keypad = (lparam >> 16) & KF_EXTENDED;
+ if ((lparam >> 16) & KF_EXTENDED)
+ modifier = WebInputEvent::IsKeyPad;
break;
case VK_INSERT:
case VK_DELETE:
@@ -59,7 +65,8 @@ static bool isKeyPad(WPARAM wparam, LPARAM lparam)
case VK_DOWN:
case VK_LEFT:
case VK_RIGHT:
- keypad = !((lparam >> 16) & KF_EXTENDED);
+ if (!((lparam >> 16) & KF_EXTENDED))
+ modifier = WebInputEvent::IsKeyPad;
break;
case VK_NUMLOCK:
case VK_NUMPAD0:
@@ -78,12 +85,39 @@ static bool isKeyPad(WPARAM wparam, LPARAM lparam)
case VK_ADD:
case VK_DECIMAL:
case VK_CLEAR:
- keypad = true;
+ modifier = WebInputEvent::IsKeyPad;
+ break;
+ case VK_SHIFT:
+ if (isKeyDown(VK_LSHIFT))
+ modifier = WebInputEvent::IsLeft;
+ else if (isKeyDown(VK_RSHIFT))
+ modifier = WebInputEvent::IsRight;
+ break;
+ case VK_CONTROL:
+ if (isKeyDown(VK_LCONTROL))
+ modifier = WebInputEvent::IsLeft;
+ else if (isKeyDown(VK_RCONTROL))
+ modifier = WebInputEvent::IsRight;
+ break;
+ case VK_MENU:
+ if (isKeyDown(VK_LMENU))
+ modifier = WebInputEvent::IsLeft;
+ else if (isKeyDown(VK_RMENU))
+ modifier = WebInputEvent::IsRight;
+ break;
+ case VK_LWIN:
+ modifier = WebInputEvent::IsLeft;
+ break;
+ case VK_RWIN:
+ modifier = WebInputEvent::IsRight;
break;
- default:
- keypad = false;
}
- return keypad;
+
+ ASSERT(!modifier
+ || modifier == WebInputEvent::IsKeyPad
+ || modifier == WebInputEvent::IsLeft
+ || modifier == WebInputEvent::IsRight);
+ return modifier;
}
// Loads the state for toggle keys into the event.
@@ -153,8 +187,8 @@ WebKeyboardEvent WebInputEventFactory::keyboardEvent(HWND hwnd, UINT message,
if (LOWORD(lparam) > 1)
result.modifiers |= WebInputEvent::IsAutoRepeat;
- if (isKeyPad(wparam, lparam))
- result.modifiers |= WebInputEvent::IsKeyPad;
+
+ result.modifiers |= getLocationModifier(wparam, lparam);
SetToggleKeyState(&result);
return result;
diff --git a/Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp b/Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp
index 70da65ef6..7b184fa34 100644
--- a/Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp
+++ b/Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp
@@ -31,6 +31,7 @@
#include "IntSize.h"
#include "Matrix3DTransformOperation.h"
#include "RotateTransformOperation.h"
+#include "ScaleTransformOperation.h"
#include "TransformOperations.h"
#include "TranslateTransformOperation.h"
#include <gtest/gtest.h>
@@ -45,7 +46,7 @@ namespace {
bool animationCanBeTranslated(const KeyframeValueList& values, Animation* animation)
{
IntSize boxSize;
- return createWebAnimation(values, animation, 0, 0, 0, boxSize);
+ return createWebAnimation(values, animation, 0, 0, boxSize);
}
TEST(AnimationTranslationUtilTest, createOpacityAnimation)
@@ -96,7 +97,7 @@ TEST(AnimationTranslationUtilTest, createTransformAnimationWithBigRotation)
RefPtr<Animation> animation = Animation::create();
animation->setDuration(duration);
- EXPECT_FALSE(animationCanBeTranslated(values, animation.get()));
+ EXPECT_TRUE(animationCanBeTranslated(values, animation.get()));
}
TEST(AnimationTranslationUtilTest, createTransformAnimationWithBigRotationAndEmptyTransformOperationList)
@@ -114,7 +115,7 @@ TEST(AnimationTranslationUtilTest, createTransformAnimationWithBigRotationAndEmp
RefPtr<Animation> animation = Animation::create();
animation->setDuration(duration);
- EXPECT_FALSE(animationCanBeTranslated(values, animation.get()));
+ EXPECT_TRUE(animationCanBeTranslated(values, animation.get()));
}
TEST(AnimationTranslationUtilTest, createTransformAnimationWithRotationInvolvingNegativeAngles)
@@ -155,7 +156,7 @@ TEST(AnimationTranslationUtilTest, createTransformAnimationWithSmallRotationInvo
EXPECT_TRUE(animationCanBeTranslated(values, animation.get()));
}
-TEST(AnimationTranslationUtilTest, createTransformAnimationWithSingularMatrix)
+TEST(AnimationTranslationUtilTest, createTransformAnimationWithNonDecomposableMatrix)
{
const double duration = 1;
WebCore::KeyframeValueList values(AnimatedPropertyWebkitTransform);
@@ -177,6 +178,25 @@ TEST(AnimationTranslationUtilTest, createTransformAnimationWithSingularMatrix)
EXPECT_FALSE(animationCanBeTranslated(values, animation.get()));
}
+TEST(AnimationTranslationUtilTest, createTransformAnimationWithNonInvertibleTransform)
+{
+ const double duration = 1;
+ WebCore::KeyframeValueList values(AnimatedPropertyWebkitTransform);
+
+ TransformOperations operations1;
+ operations1.operations().append(ScaleTransformOperation::create(1, 1, 1, TransformOperation::SCALE_3D));
+ values.insert(new TransformAnimationValue(0, &operations1));
+
+ TransformOperations operations2;
+ operations2.operations().append(ScaleTransformOperation::create(1, 0, 1, TransformOperation::SCALE_3D));
+ values.insert(new TransformAnimationValue(duration, &operations2));
+
+ RefPtr<Animation> animation = Animation::create();
+ animation->setDuration(duration);
+
+ EXPECT_TRUE(animationCanBeTranslated(values, animation.get()));
+}
+
TEST(AnimationTranslationUtilTest, createReversedAnimation)
{
const double duration = 1;
diff --git a/Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp b/Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp
index 76d1c0a3e..bb2141197 100644
--- a/Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp
+++ b/Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp
@@ -85,6 +85,16 @@ FakeFloatAnimationCurve::~FakeFloatAnimationCurve()
{
}
+double FakeFloatAnimationCurve::duration() const
+{
+ return 1;
+}
+
+float FakeFloatAnimationCurve::getValue(double now) const
+{
+ return 0;
+}
+
PassOwnPtr<WebCore::CCAnimationCurve> FakeFloatAnimationCurve::clone() const
{
return adoptPtr(new FakeFloatAnimationCurve);
@@ -99,6 +109,11 @@ FakeTransformTransition::~FakeTransformTransition()
{
}
+double FakeTransformTransition::duration() const
+{
+ return m_duration;
+}
+
WebKit::WebTransformationMatrix FakeTransformTransition::getValue(double time) const
{
return WebKit::WebTransformationMatrix();
@@ -121,6 +136,11 @@ FakeFloatTransition::~FakeFloatTransition()
{
}
+double FakeFloatTransition::duration() const
+{
+ return m_duration;
+}
+
float FakeFloatTransition::getValue(double time) const
{
time /= m_duration;
@@ -138,6 +158,31 @@ FakeLayerAnimationControllerClient::~FakeLayerAnimationControllerClient()
{
}
+int FakeLayerAnimationControllerClient::id() const
+{
+ return 0;
+}
+
+void FakeLayerAnimationControllerClient::setOpacityFromAnimation(float opacity)
+{
+ m_opacity = opacity;
+}
+
+float FakeLayerAnimationControllerClient::opacity() const
+{
+ return m_opacity;
+}
+
+void FakeLayerAnimationControllerClient::setTransformFromAnimation(const WebKit::WebTransformationMatrix& transform)
+{
+ m_transform = transform;
+}
+
+const WebKit::WebTransformationMatrix& FakeLayerAnimationControllerClient::transform() const
+{
+ return m_transform;
+}
+
PassOwnPtr<WebCore::CCAnimationCurve> FakeFloatTransition::clone() const
{
return adoptPtr(new FakeFloatTransition(*this));
diff --git a/Source/WebKit/chromium/tests/CCAnimationTestCommon.h b/Source/WebKit/chromium/tests/CCAnimationTestCommon.h
index 71b0add26..900a4e9a1 100644
--- a/Source/WebKit/chromium/tests/CCAnimationTestCommon.h
+++ b/Source/WebKit/chromium/tests/CCAnimationTestCommon.h
@@ -44,8 +44,8 @@ public:
FakeFloatAnimationCurve();
virtual ~FakeFloatAnimationCurve();
- virtual double duration() const OVERRIDE { return 1; }
- virtual float getValue(double now) const OVERRIDE { return 0; }
+ virtual double duration() const OVERRIDE;
+ virtual float getValue(double now) const OVERRIDE;
virtual PassOwnPtr<WebCore::CCAnimationCurve> clone() const OVERRIDE;
};
@@ -54,7 +54,7 @@ public:
FakeTransformTransition(double duration);
virtual ~FakeTransformTransition();
- virtual double duration() const OVERRIDE { return m_duration; }
+ virtual double duration() const OVERRIDE;
virtual WebKit::WebTransformationMatrix getValue(double time) const OVERRIDE;
virtual PassOwnPtr<WebCore::CCAnimationCurve> clone() const OVERRIDE;
@@ -68,7 +68,7 @@ public:
FakeFloatTransition(double duration, float from, float to);
virtual ~FakeFloatTransition();
- virtual double duration() const OVERRIDE { return m_duration; }
+ virtual double duration() const OVERRIDE;
virtual float getValue(double time) const OVERRIDE;
virtual PassOwnPtr<WebCore::CCAnimationCurve> clone() const OVERRIDE;
@@ -85,11 +85,11 @@ public:
virtual ~FakeLayerAnimationControllerClient();
// CCLayerAnimationControllerClient implementation
- virtual int id() const OVERRIDE { return 0; }
- virtual void setOpacityFromAnimation(float opacity) OVERRIDE { m_opacity = opacity; }
- virtual float opacity() const OVERRIDE { return m_opacity; }
- virtual void setTransformFromAnimation(const WebKit::WebTransformationMatrix& transform) OVERRIDE { m_transform = transform; }
- virtual const WebKit::WebTransformationMatrix& transform() const OVERRIDE { return m_transform; }
+ virtual int id() const OVERRIDE;
+ virtual void setOpacityFromAnimation(float) OVERRIDE;
+ virtual float opacity() const OVERRIDE;
+ virtual void setTransformFromAnimation(const WebKit::WebTransformationMatrix&) OVERRIDE;
+ virtual const WebKit::WebTransformationMatrix& transform() const OVERRIDE;
private:
float m_opacity;
diff --git a/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp b/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp
index f9eecdb75..e50a1f70a 100644
--- a/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp
@@ -26,10 +26,10 @@
#include "CCDamageTracker.h"
+#include "CCGeometryTestUtils.h"
#include "CCLayerImpl.h"
#include "CCLayerSorter.h"
#include "CCLayerTreeHostCommon.h"
-#include "CCLayerTreeTestCommon.h"
#include "CCMathUtil.h"
#include "CCSingleThreadProxy.h"
#include <gtest/gtest.h>
diff --git a/Source/WebKit/chromium/tests/CCDrawQuadTest.cpp b/Source/WebKit/chromium/tests/CCDrawQuadTest.cpp
new file mode 100644
index 000000000..3c5c384f8
--- /dev/null
+++ b/Source/WebKit/chromium/tests/CCDrawQuadTest.cpp
@@ -0,0 +1,332 @@
+/*
+ * Copyright (C) 2012 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 INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#include "CCDrawQuad.h"
+
+#include "CCCheckerboardDrawQuad.h"
+#include "CCDebugBorderDrawQuad.h"
+#include "CCGeometryTestUtils.h"
+#include "CCIOSurfaceDrawQuad.h"
+#include "CCRenderPassDrawQuad.h"
+#include "CCSolidColorDrawQuad.h"
+#include "CCStreamVideoDrawQuad.h"
+#include "CCTextureDrawQuad.h"
+#include "CCTileDrawQuad.h"
+#include "CCYUVVideoDrawQuad.h"
+#include <gtest/gtest.h>
+#include <public/WebTransformationMatrix.h>
+
+using WebKit::WebTransformationMatrix;
+
+using namespace WebCore;
+
+namespace {
+
+TEST(CCDrawQuadTest, copySharedQuadState)
+{
+ WebTransformationMatrix quadTransform(1, 0.5, 0, 1, 0.5, 0);
+ IntRect visibleContentRect(10, 12, 14, 16);
+ IntRect clippedRectInTarget(19, 21, 23, 25);
+ float opacity = 0.25;
+ bool opaque = true;
+ int id = 3;
+
+ OwnPtr<CCSharedQuadState> state(CCSharedQuadState::create(quadTransform, visibleContentRect, clippedRectInTarget, opacity, opaque));
+ state->id = id;
+
+ OwnPtr<CCSharedQuadState> copy(state->copy());
+ EXPECT_EQ(id, copy->id);
+ EXPECT_EQ(quadTransform, copy->quadTransform);
+ EXPECT_RECT_EQ(visibleContentRect, copy->visibleContentRect);
+ EXPECT_RECT_EQ(clippedRectInTarget, copy->clippedRectInTarget);
+ EXPECT_EQ(opacity, copy->opacity);
+ EXPECT_EQ(opaque, copy->opaque);
+}
+
+PassOwnPtr<CCSharedQuadState> createSharedQuadState()
+{
+ WebTransformationMatrix quadTransform(1, 0.5, 0, 1, 0.5, 0);
+ IntRect visibleContentRect(10, 12, 14, 16);
+ IntRect clippedRectInTarget(19, 21, 23, 25);
+ float opacity = 1;
+ bool opaque = false;
+ int id = 3;
+
+ OwnPtr<CCSharedQuadState> state(CCSharedQuadState::create(quadTransform, visibleContentRect, clippedRectInTarget, opacity, opaque));
+ state->id = id;
+ return state.release();
+}
+
+void compareDrawQuad(CCDrawQuad* quad, CCDrawQuad* copy, CCSharedQuadState* copySharedState)
+{
+ EXPECT_EQ(quad->size(), copy->size());
+ EXPECT_EQ(quad->material(), copy->material());
+ EXPECT_EQ(quad->isDebugQuad(), copy->isDebugQuad());
+ EXPECT_RECT_EQ(quad->quadRect(), copy->quadRect());
+ EXPECT_RECT_EQ(quad->quadVisibleRect(), copy->quadVisibleRect());
+ EXPECT_EQ(quad->opaqueRect(), copy->opaqueRect());
+ EXPECT_EQ(quad->needsBlending(), copy->needsBlending());
+
+ EXPECT_EQ(copySharedState, copy->sharedQuadState());
+ EXPECT_EQ(copySharedState->id, copy->sharedQuadStateId());
+
+ EXPECT_EQ(quad->sharedQuadStateId(), quad->sharedQuadState()->id);
+ EXPECT_EQ(copy->sharedQuadStateId(), copy->sharedQuadState()->id);
+}
+
+#define CREATE_SHARED_STATE() \
+ OwnPtr<CCSharedQuadState> sharedState(createSharedQuadState()); \
+ OwnPtr<CCSharedQuadState> copySharedState(sharedState->copy()); \
+ copySharedState->id = 5;
+
+#define QUAD_DATA \
+ IntRect quadRect(30, 40, 50, 60); \
+ IntRect quadVisibleRect(40, 50, 30, 20); \
+
+#define SETUP_AND_COPY_QUAD(Type, quad) \
+ quad->setQuadVisibleRect(quadVisibleRect); \
+ OwnPtr<CCDrawQuad> copy(quad->copy(copySharedState.get())); \
+ compareDrawQuad(quad.get(), copy.get(), copySharedState.get()); \
+ const Type* copyQuad = Type::materialCast(copy.get());
+
+#define SETUP_AND_COPY_QUAD_1(Type, quad, a) \
+ quad->setQuadVisibleRect(quadVisibleRect); \
+ OwnPtr<CCDrawQuad> copy(quad->copy(copySharedState.get(), a)); \
+ compareDrawQuad(quad.get(), copy.get(), copySharedState.get()); \
+ const Type* copyQuad = Type::materialCast(copy.get());
+
+#define CREATE_QUAD_0(Type) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect)); \
+ SETUP_AND_COPY_QUAD(Type, quad); \
+ UNUSED_PARAM(copyQuad);
+
+#define CREATE_QUAD_1(Type, a) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_2(Type, a, b) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_3(Type, a, b, c) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_4(Type, a, b, c, d) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_5(Type, a, b, c, d, e) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_6(Type, a, b, c, d, e, f) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_7(Type, a, b, c, d, e, f, g) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_8(Type, a, b, c, d, e, f, g, h) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g, h)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_8_1(Type, a, b, c, d, e, f, g, h, copyA) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g, h)); \
+ SETUP_AND_COPY_QUAD_1(Type, quad, copyA);
+
+#define CREATE_QUAD_9(Type, a, b, c, d, e, f, g, h, i) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g, h, i)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_10(Type, a, b, c, d, e, f, g, h, i, j) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g, h, i, j)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+TEST(CCDrawQuadTest, copyCheckerboardDrawQuad)
+{
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_0(CCCheckerboardDrawQuad);
+}
+
+TEST(CCDrawQuadTest, copyDebugBorderDrawQuad)
+{
+ SkColor color = 0xfabb0011;
+ int width = 99;
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_2(CCDebugBorderDrawQuad, color, width);
+ EXPECT_EQ(color, copyQuad->color());
+ EXPECT_EQ(width, copyQuad->width());
+}
+
+TEST(CCDrawQuadTest, copyIOSurfaceDrawQuad)
+{
+ IntSize size(58, 95);
+ unsigned textureId = 72;
+ CCIOSurfaceDrawQuad::Orientation orientation = CCIOSurfaceDrawQuad::Unflipped;
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_3(CCIOSurfaceDrawQuad, size, textureId, orientation);
+ EXPECT_EQ(size, copyQuad->ioSurfaceSize());
+ EXPECT_EQ(textureId, copyQuad->ioSurfaceTextureId());
+ EXPECT_EQ(orientation, copyQuad->orientation());
+}
+
+TEST(CCDrawQuadTest, copyRenderPassDrawQuad)
+{
+ CCRenderPass::Id renderPassId(22, 64);
+ bool isReplica = true;
+ CCResourceProvider::ResourceId maskResourceId = 78;
+ IntRect contentsChangedSinceLastFrame(42, 11, 74, 24);
+ float maskTexCoordScaleX = 33;
+ float maskTexCoordScaleY = 19;
+ float maskTexCoordOffsetX = -45;
+ float maskTexCoordOffsetY = -21;
+
+ CCRenderPass::Id copiedRenderPassId(235, 11);
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_8_1(CCRenderPassDrawQuad, renderPassId, isReplica, maskResourceId, contentsChangedSinceLastFrame, maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY, copiedRenderPassId);
+ EXPECT_EQ(copiedRenderPassId, copyQuad->renderPassId());
+ EXPECT_EQ(isReplica, copyQuad->isReplica());
+ EXPECT_EQ(maskResourceId, copyQuad->maskResourceId());
+ EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contentsChangedSinceLastFrame());
+ EXPECT_EQ(maskTexCoordScaleX, copyQuad->maskTexCoordScaleX());
+ EXPECT_EQ(maskTexCoordScaleY, copyQuad->maskTexCoordScaleY());
+ EXPECT_EQ(maskTexCoordOffsetX, copyQuad->maskTexCoordOffsetX());
+ EXPECT_EQ(maskTexCoordOffsetY, copyQuad->maskTexCoordOffsetY());
+}
+
+TEST(CCDrawQuadTest, copySolidColorDrawQuad)
+{
+ SkColor color = 0x49494949;
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_1(CCSolidColorDrawQuad, color);
+ EXPECT_EQ(color, copyQuad->color());
+}
+
+TEST(CCDrawQuadTest, copyStreamVideoDrawQuad)
+{
+ unsigned textureId = 64;
+ WebTransformationMatrix matrix(0.5, 1, 0.25, 0.75, 0, 1);
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_2(CCStreamVideoDrawQuad, textureId, matrix);
+ EXPECT_EQ(textureId, copyQuad->textureId());
+ EXPECT_EQ(matrix, copyQuad->matrix());
+}
+
+TEST(CCDrawQuadTest, copyTextureDrawQuad)
+{
+ unsigned resourceId = 82;
+ bool premultipliedAlpha = true;
+ FloatRect uvRect(0.5, 224, -51, 36);
+ bool flipped = true;
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_4(CCTextureDrawQuad, resourceId, premultipliedAlpha, uvRect, flipped);
+ EXPECT_EQ(resourceId, copyQuad->resourceId());
+ EXPECT_EQ(premultipliedAlpha, copyQuad->premultipliedAlpha());
+ EXPECT_EQ(uvRect, copyQuad->uvRect());
+ EXPECT_EQ(flipped, copyQuad->flipped());
+}
+
+TEST(CCDrawQuadTest, copyTileDrawQuad)
+{
+ IntRect opaqueRect(33, 44, 22, 33);
+ unsigned resourceId = 104;
+ IntPoint textureOffset(-31, 47);
+ IntSize textureSize(85, 32);
+ GC3Dint textureFilter = 82;
+ bool swizzleContents = true;
+ bool leftEdgeAA = true;
+ bool topEdgeAA = true;
+ bool rightEdgeAA = false;
+ bool bottomEdgeAA = true;
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_10(CCTileDrawQuad, opaqueRect, resourceId, textureOffset, textureSize, textureFilter, swizzleContents, leftEdgeAA, topEdgeAA, rightEdgeAA, bottomEdgeAA);
+ EXPECT_RECT_EQ(opaqueRect, copyQuad->opaqueRect());
+ EXPECT_EQ(resourceId, copyQuad->resourceId());
+ EXPECT_EQ(textureOffset, copyQuad->textureOffset());
+ EXPECT_EQ(textureSize, copyQuad->textureSize());
+ EXPECT_EQ(textureFilter, copyQuad->textureFilter());
+ EXPECT_EQ(swizzleContents, copyQuad->swizzleContents());
+ EXPECT_EQ(leftEdgeAA, copyQuad->leftEdgeAA());
+ EXPECT_EQ(topEdgeAA, copyQuad->topEdgeAA());
+ EXPECT_EQ(rightEdgeAA, copyQuad->rightEdgeAA());
+ EXPECT_EQ(bottomEdgeAA, copyQuad->bottomEdgeAA());
+}
+
+TEST(CCDrawQuadTest, copyYUVVideoDrawQuad)
+{
+ CCVideoLayerImpl::FramePlane yPlane;
+ yPlane.resourceId = 45;
+ yPlane.size = IntSize(34, 23);
+ yPlane.format = 8;
+ yPlane.visibleSize = IntSize(623, 235);
+ CCVideoLayerImpl::FramePlane uPlane;
+ uPlane.resourceId = 532;
+ uPlane.size = IntSize(134, 16);
+ uPlane.format = 2;
+ uPlane.visibleSize = IntSize(126, 27);
+ CCVideoLayerImpl::FramePlane vPlane;
+ vPlane.resourceId = 4;
+ vPlane.size = IntSize(456, 486);
+ vPlane.format = 46;
+ vPlane.visibleSize = IntSize(19, 45);
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_3(CCYUVVideoDrawQuad, yPlane, uPlane, vPlane);
+ EXPECT_EQ(yPlane.resourceId, copyQuad->yPlane().resourceId);
+ EXPECT_EQ(yPlane.size, copyQuad->yPlane().size);
+ EXPECT_EQ(yPlane.format, copyQuad->yPlane().format);
+ EXPECT_EQ(yPlane.visibleSize, copyQuad->yPlane().visibleSize);
+ EXPECT_EQ(uPlane.resourceId, copyQuad->uPlane().resourceId);
+ EXPECT_EQ(uPlane.size, copyQuad->uPlane().size);
+ EXPECT_EQ(uPlane.format, copyQuad->uPlane().format);
+ EXPECT_EQ(uPlane.visibleSize, copyQuad->uPlane().visibleSize);
+ EXPECT_EQ(vPlane.resourceId, copyQuad->vPlane().resourceId);
+ EXPECT_EQ(vPlane.size, copyQuad->vPlane().size);
+ EXPECT_EQ(vPlane.format, copyQuad->vPlane().format);
+ EXPECT_EQ(vPlane.visibleSize, copyQuad->vPlane().visibleSize);
+}
+
+} // namespace
diff --git a/Source/WebKit/chromium/tests/CCGeometryTestUtils.cpp b/Source/WebKit/chromium/tests/CCGeometryTestUtils.cpp
new file mode 100644
index 000000000..a17fc643f
--- /dev/null
+++ b/Source/WebKit/chromium/tests/CCGeometryTestUtils.cpp
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2012 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 INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#include "CCGeometryTestUtils.h"
+
+#include <gtest/gtest.h>
+#include <public/WebTransformationMatrix.h>
+
+namespace WebKitTests {
+
+void ExpectTransformationMatrixEq(const WebKit::WebTransformationMatrix& expected,
+ const WebKit::WebTransformationMatrix& actual)
+{
+ EXPECT_FLOAT_EQ((expected).m11(), (actual).m11());
+ EXPECT_FLOAT_EQ((expected).m12(), (actual).m12());
+ EXPECT_FLOAT_EQ((expected).m13(), (actual).m13());
+ EXPECT_FLOAT_EQ((expected).m14(), (actual).m14());
+ EXPECT_FLOAT_EQ((expected).m21(), (actual).m21());
+ EXPECT_FLOAT_EQ((expected).m22(), (actual).m22());
+ EXPECT_FLOAT_EQ((expected).m23(), (actual).m23());
+ EXPECT_FLOAT_EQ((expected).m24(), (actual).m24());
+ EXPECT_FLOAT_EQ((expected).m31(), (actual).m31());
+ EXPECT_FLOAT_EQ((expected).m32(), (actual).m32());
+ EXPECT_FLOAT_EQ((expected).m33(), (actual).m33());
+ EXPECT_FLOAT_EQ((expected).m34(), (actual).m34());
+ EXPECT_FLOAT_EQ((expected).m41(), (actual).m41());
+ EXPECT_FLOAT_EQ((expected).m42(), (actual).m42());
+ EXPECT_FLOAT_EQ((expected).m43(), (actual).m43());
+ EXPECT_FLOAT_EQ((expected).m44(), (actual).m44());
+}
+
+} // namespace WebKitTests
+
diff --git a/Source/WebKit/chromium/tests/CCLayerTreeTestCommon.h b/Source/WebKit/chromium/tests/CCGeometryTestUtils.h
index 7f7e20279..6dea70918 100644
--- a/Source/WebKit/chromium/tests/CCLayerTreeTestCommon.h
+++ b/Source/WebKit/chromium/tests/CCGeometryTestUtils.h
@@ -22,10 +22,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef CCLayerTreeTestCommon_h
-#define CCLayerTreeTestCommon_h
+#ifndef CCGeometryTestUtils_h
+#define CCGeometryTestUtils_h
-#include <public/WebTransformationMatrix.h>
+namespace WebKit {
+class WebTransformationMatrix;
+}
namespace WebKitTests {
@@ -36,7 +38,7 @@ namespace WebKitTests {
EXPECT_FLOAT_EQ((expected).size().width(), (actual).size().width()); \
EXPECT_FLOAT_EQ((expected).size().height(), (actual).size().height())
-#define EXPECT_INT_RECT_EQ(expected, actual) \
+#define EXPECT_RECT_EQ(expected, actual) \
EXPECT_EQ((expected).location().x(), (actual).location().x()); \
EXPECT_EQ((expected).location().y(), (actual).location().y()); \
EXPECT_EQ((expected).size().width(), (actual).size().width()); \
@@ -46,8 +48,8 @@ namespace WebKitTests {
// in bulk, it causes a significant slow-down in compilation time. This problem
// exists with both gcc and clang, and bugs have been filed at
// http://llvm.org/bugs/show_bug.cgi?id=13651 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54337
-void ExpectTransformationMatrixEq(WebKit::WebTransformationMatrix expected,
- WebKit::WebTransformationMatrix actual);
+void ExpectTransformationMatrixEq(const WebKit::WebTransformationMatrix& expected,
+ const WebKit::WebTransformationMatrix& actual);
#define EXPECT_TRANSFORMATION_MATRIX_EQ(expected, actual) \
{ \
@@ -55,6 +57,6 @@ void ExpectTransformationMatrixEq(WebKit::WebTransformationMatrix expected,
WebKitTests::ExpectTransformationMatrixEq(expected, actual); \
}
-} // namespace
+} // namespace WebKitTests
-#endif // CCLayerTreeTestCommon_h
+#endif // CCGeometryTestUtils_h
diff --git a/Source/WebKit/chromium/tests/CCHeadsUpDisplayTest.cpp b/Source/WebKit/chromium/tests/CCHeadsUpDisplayTest.cpp
new file mode 100644
index 000000000..63616b35a
--- /dev/null
+++ b/Source/WebKit/chromium/tests/CCHeadsUpDisplayTest.cpp
@@ -0,0 +1,130 @@
+/*
+ * Copyright (C) 2012 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 INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#include "CCLayerTreeHost.h"
+#include "CCThreadedTest.h"
+#include "HeadsUpDisplayLayerChromium.h"
+#include "LayerChromium.h"
+
+using namespace WebCore;
+using namespace WebKitTests;
+
+namespace {
+
+class CCHeadsUpDisplayTest : public CCThreadedTest {
+protected:
+ virtual void initializeSettings(CCLayerTreeSettings& settings) OVERRIDE
+ {
+ // Enable the HUD without requiring text.
+ settings.showPropertyChangedRects = true;
+ }
+};
+
+class DrawsContentLayerChromium : public LayerChromium {
+public:
+ static PassRefPtr<DrawsContentLayerChromium> create() { return adoptRef(new DrawsContentLayerChromium()); }
+ virtual bool drawsContent() const OVERRIDE { return true; }
+
+private:
+ DrawsContentLayerChromium() : LayerChromium() { }
+};
+
+class CCHudWithRootLayerChange : public CCHeadsUpDisplayTest {
+public:
+ CCHudWithRootLayerChange()
+ : m_rootLayer1(DrawsContentLayerChromium::create())
+ , m_rootLayer2(DrawsContentLayerChromium::create())
+ , m_numCommits(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ m_rootLayer1->setBounds(IntSize(30, 30));
+ m_rootLayer2->setBounds(IntSize(30, 30));
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void didCommit() OVERRIDE
+ {
+ ++m_numCommits;
+
+ ASSERT_TRUE(m_layerTreeHost->hudLayer());
+
+ switch (m_numCommits) {
+ case 1:
+ // Change directly to a new root layer.
+ m_layerTreeHost->setRootLayer(m_rootLayer1);
+ break;
+ case 2:
+ EXPECT_EQ(m_rootLayer1.get(), m_layerTreeHost->hudLayer()->parent());
+ // Unset the root layer.
+ m_layerTreeHost->setRootLayer(0);
+ break;
+ case 3:
+ EXPECT_EQ(0, m_layerTreeHost->hudLayer()->parent());
+ // Change back to the previous root layer.
+ m_layerTreeHost->setRootLayer(m_rootLayer1);
+ break;
+ case 4:
+ EXPECT_EQ(m_rootLayer1.get(), m_layerTreeHost->hudLayer()->parent());
+ // Unset the root layer.
+ m_layerTreeHost->setRootLayer(0);
+ break;
+ case 5:
+ EXPECT_EQ(0, m_layerTreeHost->hudLayer()->parent());
+ // Change to a new root layer from a null root.
+ m_layerTreeHost->setRootLayer(m_rootLayer2);
+ break;
+ case 6:
+ EXPECT_EQ(m_rootLayer2.get(), m_layerTreeHost->hudLayer()->parent());
+ // Change directly back to the last root layer/
+ m_layerTreeHost->setRootLayer(m_rootLayer1);
+ break;
+ case 7:
+ EXPECT_EQ(m_rootLayer1.get(), m_layerTreeHost->hudLayer()->parent());
+ endTest();
+ break;
+ }
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ }
+
+private:
+ RefPtr<DrawsContentLayerChromium> m_rootLayer1;
+ RefPtr<DrawsContentLayerChromium> m_rootLayer2;
+ int m_numCommits;
+};
+
+TEST_F(CCHudWithRootLayerChange, runMultiThread)
+{
+ runTest(true);
+}
+
+} // namespace
diff --git a/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp b/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp
index 0b5aa6be6..3d008ce13 100644
--- a/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp
+++ b/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp
@@ -27,15 +27,16 @@
#include "CCLayerTreeHostCommon.h"
#include "CCAnimationTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCLayerAnimationController.h"
#include "CCLayerImpl.h"
#include "CCLayerSorter.h"
-#include "CCLayerTreeTestCommon.h"
#include "CCMathUtil.h"
#include "CCProxy.h"
#include "CCSingleThreadProxy.h"
#include "CCThread.h"
#include "ContentLayerChromium.h"
+#include "ContentLayerChromiumClient.h"
#include "LayerChromium.h"
#include <gmock/gmock.h>
@@ -46,27 +47,6 @@ using namespace WebCore;
using namespace WebKitTests;
using WebKit::WebTransformationMatrix;
-void WebKitTests::ExpectTransformationMatrixEq(WebTransformationMatrix expected,
- WebTransformationMatrix actual)
-{
- EXPECT_FLOAT_EQ((expected).m11(), (actual).m11());
- EXPECT_FLOAT_EQ((expected).m12(), (actual).m12());
- EXPECT_FLOAT_EQ((expected).m13(), (actual).m13());
- EXPECT_FLOAT_EQ((expected).m14(), (actual).m14());
- EXPECT_FLOAT_EQ((expected).m21(), (actual).m21());
- EXPECT_FLOAT_EQ((expected).m22(), (actual).m22());
- EXPECT_FLOAT_EQ((expected).m23(), (actual).m23());
- EXPECT_FLOAT_EQ((expected).m24(), (actual).m24());
- EXPECT_FLOAT_EQ((expected).m31(), (actual).m31());
- EXPECT_FLOAT_EQ((expected).m32(), (actual).m32());
- EXPECT_FLOAT_EQ((expected).m33(), (actual).m33());
- EXPECT_FLOAT_EQ((expected).m34(), (actual).m34());
- EXPECT_FLOAT_EQ((expected).m41(), (actual).m41());
- EXPECT_FLOAT_EQ((expected).m42(), (actual).m42());
- EXPECT_FLOAT_EQ((expected).m43(), (actual).m43());
- EXPECT_FLOAT_EQ((expected).m44(), (actual).m44());
-}
-
namespace {
template<typename LayerType>
@@ -672,6 +652,7 @@ TEST(CCLayerTreeHostCommonTest, verifyRenderSurfaceListForRenderSurfaceWithClipp
setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, FloatPoint::zero(), FloatPoint(30, 30), IntSize(10, 10), false);
parent->addChild(renderSurface1);
+ parent->setMasksToBounds(true);
renderSurface1->addChild(child);
renderSurface1->setForceRenderSurface(true);
@@ -1477,9 +1458,9 @@ TEST(CCLayerTreeHostCommonTest, verifyDrawableContentRectForLayers)
CCLayerTreeHostCommon::calculateDrawTransforms(parent.get(), parent->bounds(), 1, dummyMaxTextureSize, renderSurfaceLayerList);
CCLayerTreeHostCommon::calculateVisibleRects(renderSurfaceLayerList);
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(5, 5), IntSize(10, 10)), grandChild1->drawableContentRect());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(15, 15), IntSize(5, 5)), grandChild3->drawableContentRect());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(15, 15), IntSize(5, 5)), grandChild3->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(5, 5), IntSize(10, 10)), grandChild1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(15, 15), IntSize(5, 5)), grandChild3->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(15, 15), IntSize(5, 5)), grandChild3->drawableContentRect());
EXPECT_TRUE(grandChild4->drawableContentRect().isEmpty());
}
@@ -1549,9 +1530,9 @@ TEST(CCLayerTreeHostCommonTest, verifyClipRectIsPropagatedCorrectlyToSurfaces)
EXPECT_FALSE(grandChild4->renderSurface()); // Because grandChild4 is entirely clipped, it is expected to not have a renderSurface.
// Surfaces are clipped by their parent, but un-affected by the owning layer's masksToBounds.
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild1->renderSurface()->clipRect());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild2->renderSurface()->clipRect());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild3->renderSurface()->clipRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild1->renderSurface()->clipRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild2->renderSurface()->clipRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild3->renderSurface()->clipRect());
}
TEST(CCLayerTreeHostCommonTest, verifyAnimationsForRenderSurfaceHierarchy)
@@ -1706,7 +1687,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForIdentityTransform)
IntRect layerContentRect = IntRect(IntPoint(10, 10), IntSize(30, 30));
IntRect expected = IntRect(IntPoint(10, 10), IntSize(30, 30));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: Layer is outside the surface rect.
layerContentRect = IntRect(IntPoint(120, 120), IntSize(30, 30));
@@ -1717,7 +1698,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForIdentityTransform)
layerContentRect = IntRect(IntPoint(80, 80), IntSize(30, 30));
expected = IntRect(IntPoint(80, 80), IntSize(20, 20));
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForTranslations)
@@ -1733,7 +1714,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForTranslations)
layerToSurfaceTransform.translate(10, 10);
IntRect expected = IntRect(IntPoint(0, 0), IntSize(30, 30));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: Layer is outside the surface rect.
layerToSurfaceTransform.makeIdentity();
@@ -1746,7 +1727,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForTranslations)
layerToSurfaceTransform.translate(80, 80);
expected = IntRect(IntPoint(0, 0), IntSize(20, 20));
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor2DRotations)
@@ -1764,7 +1745,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor2DRotations)
layerToSurfaceTransform.rotate(45);
IntRect expected = IntRect(IntPoint(0, 0), IntSize(30, 30));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: Layer is outside the surface rect.
layerToSurfaceTransform.makeIdentity();
@@ -1782,7 +1763,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor2DRotations)
layerToSurfaceTransform.rotate(45);
expected = IntRect(IntPoint(0, 0), IntSize(30, 30));
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 4: The layer is rotated about its top-left corner, and translated upwards. In
// surface space, the layer is oriented diagonally, with only the top corner
@@ -1794,7 +1775,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor2DRotations)
layerToSurfaceTransform.rotate(45);
expected = IntRect(IntPoint(15, 0), IntSize(15, 30)); // right half of layer bounds.
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicTransform)
@@ -1810,7 +1791,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicTransform)
layerToSurfaceTransform.rotate3d(0, 45, 0);
IntRect expected = IntRect(IntPoint(0, 0), IntSize(100, 100));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: Orthographic projection of a layer rotated about y-axis by 45 degrees, but
// shifted to the side so only the right-half the layer would be visible on
@@ -1821,7 +1802,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicTransform)
layerToSurfaceTransform.rotate3d(0, 45, 0); // rotates about the left edge of the layer
expected = IntRect(IntPoint(50, 0), IntSize(50, 100)); // right half of the layer.
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveTransform)
@@ -1848,7 +1829,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveTransform)
IntRect expected = IntRect(IntPoint(-50, -50), IntSize(200, 200));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: same projection as before, except that the layer is also translated to the
// side, so that only the right half of the layer should be visible.
@@ -1861,7 +1842,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveTransform)
layerToSurfaceTransform.translate3d(-200, 0, 0);
expected = IntRect(IntPoint(50, -50), IntSize(100, 200)); // The right half of the layer's bounding rect.
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicIsNotClippedBehindSurface)
@@ -1884,7 +1865,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicIsNotClippedBe
IntRect expected = IntRect(IntPoint(0, 0), IntSize(100, 100));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveWhenClippedByW)
@@ -1950,7 +1931,313 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForPerspectiveUnprojection)
// that the entire layer should still be considered visible.
IntRect expected = IntRect(IntPoint(-10, -10), IntSize(20, 20));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForSimpleLayers)
+{
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(child1);
+ root->addChild(child2);
+ root->addChild(child3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+
+ // layer visibleContentRects are clipped by their targetSurface
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 25, 25), child2->visibleContentRect());
+ EXPECT_TRUE(child3->visibleContentRect().isEmpty());
+
+ // layer drawableContentRects are not clipped.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 50, 50), child2->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(125, 125, 50, 50), child3->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForLayersClippedByLayer)
+{
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> child = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> grandChild1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> grandChild2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> grandChild3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(child);
+ child->addChild(grandChild1);
+ child->addChild(grandChild2);
+ child->addChild(grandChild3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(grandChild1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(5, 5), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(grandChild2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(grandChild3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ child->setMasksToBounds(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_FALSE(child->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), child->visibleContentRect());
+
+ // All grandchild visibleContentRects should be clipped by child.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), grandChild1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 25, 25), grandChild2->visibleContentRect());
+ EXPECT_TRUE(grandChild3->visibleContentRect().isEmpty());
+
+ // All grandchild drawableContentRects should also be clipped by child.
+ EXPECT_RECT_EQ(IntRect(5, 5, 50, 50), grandChild1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 25, 25), grandChild2->drawableContentRect());
+ EXPECT_TRUE(grandChild3->drawableContentRect().isEmpty());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForLayersInUnclippedRenderSurface)
+{
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(child1);
+ renderSurface1->addChild(child2);
+ renderSurface1->addChild(child3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(5, 5), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ renderSurface1->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface1->visibleContentRect());
+
+ // An unclipped surface grows its drawableContentRect to include all drawable regions of the subtree.
+ EXPECT_RECT_EQ(IntRect(5, 5, 170, 170), renderSurface1->renderSurface()->drawableContentRect());
+
+ // All layers that draw content into the unclipped surface are also unclipped.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child2->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child3->visibleContentRect());
+
+ EXPECT_RECT_EQ(IntRect(5, 5, 50, 50), child1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 50, 50), child2->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(125, 125, 50, 50), child3->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForLayersInClippedRenderSurface)
+{
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(child1);
+ renderSurface1->addChild(child2);
+ renderSurface1->addChild(child3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(5, 5), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ root->setMasksToBounds(true);
+ renderSurface1->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface1->visibleContentRect());
+
+ // A clipped surface grows its drawableContentRect to include all drawable regions of the subtree,
+ // but also gets clamped by the ancestor's clip.
+ EXPECT_RECT_EQ(IntRect(5, 5, 95, 95), renderSurface1->renderSurface()->drawableContentRect());
+
+ // All layers that draw content into the surface have their visibleContentRect clipped by the surface clipRect.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 25, 25), child2->visibleContentRect());
+ EXPECT_TRUE(child3->visibleContentRect().isEmpty());
+
+ // But the drawableContentRects are unclipped.
+ EXPECT_RECT_EQ(IntRect(5, 5, 50, 50), child1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 50, 50), child2->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(125, 125, 50, 50), child3->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForSurfaceHierarchy)
+{
+ // Check that clipping does not propagate down surfaces.
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface2 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(renderSurface2);
+ renderSurface2->addChild(child1);
+ renderSurface2->addChild(child2);
+ renderSurface2->addChild(child3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(renderSurface2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(7, 13), false);
+ setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(5, 5), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ root->setMasksToBounds(true);
+ renderSurface1->setForceRenderSurface(true);
+ renderSurface2->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+ ASSERT_TRUE(renderSurface2->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface2->visibleContentRect());
+
+ // A clipped surface grows its drawableContentRect to include all drawable regions of the subtree,
+ // but also gets clamped by the ancestor's clip.
+ EXPECT_RECT_EQ(IntRect(5, 5, 95, 95), renderSurface1->renderSurface()->drawableContentRect());
+
+ // renderSurface1 lives in the "unclipped universe" of renderSurface1, and is only
+ // implicitly clipped by renderSurface1's contentRect. So, renderSurface2 grows to
+ // enclose all drawable content of its subtree.
+ EXPECT_RECT_EQ(IntRect(5, 5, 170, 170), renderSurface2->renderSurface()->drawableContentRect());
+
+ // All layers that draw content into renderSurface2 think they are unclipped.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child2->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child3->visibleContentRect());
+
+ // drawableContentRects are also unclipped.
+ EXPECT_RECT_EQ(IntRect(5, 5, 50, 50), child1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 50, 50), child2->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(125, 125, 50, 50), child3->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsWithTransformOnUnclippedSurface)
+{
+ // Layers that have non-axis aligned bounds (due to transforms) have an expanded,
+ // axis-aligned drawableContentRect and visibleContentRect.
+
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(child1);
+
+ WebTransformationMatrix identityMatrix;
+ WebTransformationMatrix childRotation;
+ childRotation.rotate(45);
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(child1.get(), childRotation, identityMatrix, FloatPoint(0.5, 0.5), FloatPoint(25, 25), IntSize(50, 50), false);
+
+ renderSurface1->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface1->visibleContentRect());
+
+ // The unclipped surface grows its drawableContentRect to include all drawable regions of the subtree.
+ int diagonalRadius = ceil(sqrt(2.0) * 25);
+ IntRect expectedSurfaceDrawableContent = IntRect(50 - diagonalRadius, 50 - diagonalRadius, diagonalRadius * 2, diagonalRadius * 2);
+ EXPECT_RECT_EQ(expectedSurfaceDrawableContent, renderSurface1->renderSurface()->drawableContentRect());
+
+ // All layers that draw content into the unclipped surface are also unclipped.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(expectedSurfaceDrawableContent, child1->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsWithTransformOnClippedSurface)
+{
+ // Layers that have non-axis aligned bounds (due to transforms) have an expanded,
+ // axis-aligned drawableContentRect and visibleContentRect.
+
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(child1);
+
+ WebTransformationMatrix identityMatrix;
+ WebTransformationMatrix childRotation;
+ childRotation.rotate(45);
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(child1.get(), childRotation, identityMatrix, FloatPoint(0.5, 0.5), FloatPoint(25, 25), IntSize(50, 50), false);
+
+ root->setMasksToBounds(true);
+ renderSurface1->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+
+ // The clipped surface clamps the drawableContentRect that encloses the rotated layer.
+ int diagonalRadius = ceil(sqrt(2.0) * 25);
+ IntRect unclippedSurfaceContent = IntRect(50 - diagonalRadius, 50 - diagonalRadius, diagonalRadius * 2, diagonalRadius * 2);
+ IntRect expectedSurfaceDrawableContent = intersection(unclippedSurfaceContent, IntRect(0, 0, 50, 50));
+ EXPECT_RECT_EQ(expectedSurfaceDrawableContent, renderSurface1->renderSurface()->drawableContentRect());
+
+ // On the clipped surface, only a quarter of the child1 is visible, but when rotating
+ // it back to child1's content space, the actual enclosing rect ends up covering the
+ // full left half of child1.
+ EXPECT_RECT_EQ(IntRect(0, 0, 26, 50), child1->visibleContentRect());
+
+ // The child's drawableContentRect is unclipped.
+ EXPECT_RECT_EQ(unclippedSurfaceContent, child1->drawableContentRect());
}
TEST(CCLayerTreeHostCommonTest, verifyBackFaceCullingWithoutPreserves3d)
@@ -2593,7 +2880,7 @@ TEST(CCLayerTreeHostCommonTest, verifyHitTestingForSingleLayerWithScaledContents
// Sanity check the scenario we just created.
// The visibleContentRect for testLayer is actually 100x100, even though its layout size is 50x50, positioned at 25x25.
CCLayerImpl* testLayer = root->children()[0].get();
- EXPECT_INT_RECT_EQ(IntRect(IntPoint::zero(), IntSize(100, 100)), testLayer->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint::zero(), IntSize(100, 100)), testLayer->visibleContentRect());
ASSERT_EQ(1u, renderSurfaceLayerList.size());
ASSERT_EQ(1u, root->renderSurface()->layerList().size());
@@ -3073,14 +3360,14 @@ TEST(CCLayerTreeHostCommonTest, verifyHitTestingForMultipleLayerLists)
EXPECT_EQ(4, resultLayer->id());
}
-class MockContentLayerDelegate : public ContentLayerDelegate {
+class MockContentLayerChromiumClient : public ContentLayerChromiumClient {
public:
- MockContentLayerDelegate() { }
- virtual ~MockContentLayerDelegate() { }
+ MockContentLayerChromiumClient() { }
+ virtual ~MockContentLayerChromiumClient() { }
virtual void paintContents(SkCanvas*, const IntRect& clip, FloatRect& opaque) OVERRIDE { }
};
-PassRefPtr<ContentLayerChromium> createDrawableContentLayerChromium(ContentLayerDelegate* delegate)
+PassRefPtr<ContentLayerChromium> createDrawableContentLayerChromium(ContentLayerChromiumClient* delegate)
{
RefPtr<ContentLayerChromium> toReturn = ContentLayerChromium::create(delegate);
toReturn->setIsDrawable(true);
@@ -3090,7 +3377,7 @@ PassRefPtr<ContentLayerChromium> createDrawableContentLayerChromium(ContentLayer
TEST(CCLayerTreeHostCommonTest, verifyLayerTransformsInHighDPI)
{
// Verify draw and screen space transforms of layers not in a surface.
- MockContentLayerDelegate delegate;
+ MockContentLayerChromiumClient delegate;
WebTransformationMatrix identityMatrix;
RefPtr<ContentLayerChromium> parent = createDrawableContentLayerChromium(&delegate);
@@ -3162,7 +3449,7 @@ TEST(CCLayerTreeHostCommonTest, verifyLayerTransformsInHighDPI)
TEST(CCLayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPI)
{
- MockContentLayerDelegate delegate;
+ MockContentLayerChromiumClient delegate;
WebTransformationMatrix identityMatrix;
RefPtr<ContentLayerChromium> parent = createDrawableContentLayerChromium(&delegate);
@@ -3214,7 +3501,7 @@ TEST(CCLayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPI)
WebTransformationMatrix expectedDuplicateChildDrawTransform = child->drawTransform();
EXPECT_TRANSFORMATION_MATRIX_EQ(child->drawTransform(), duplicateChildNonOwner->drawTransform());
EXPECT_TRANSFORMATION_MATRIX_EQ(child->screenSpaceTransform(), duplicateChildNonOwner->screenSpaceTransform());
- EXPECT_INT_RECT_EQ(child->drawableContentRect(), duplicateChildNonOwner->drawableContentRect());
+ EXPECT_RECT_EQ(child->drawableContentRect(), duplicateChildNonOwner->drawableContentRect());
EXPECT_EQ(child->contentBounds(), duplicateChildNonOwner->contentBounds());
WebTransformationMatrix expectedRenderSurfaceDrawTransform;
diff --git a/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp b/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
index a715f5b9a..d7e955783 100644
--- a/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
+++ b/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
@@ -27,15 +27,16 @@
#include "CCLayerTreeHostImpl.h"
#include "CCAnimationTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCHeadsUpDisplayLayerImpl.h"
#include "CCIOSurfaceLayerImpl.h"
#include "CCLayerImpl.h"
#include "CCLayerTestCommon.h"
#include "CCLayerTilingData.h"
-#include "CCLayerTreeTestCommon.h"
-#include "CCQuadCuller.h"
+#include "CCQuadSink.h"
#include "CCRenderPassDrawQuad.h"
#include "CCRendererGL.h"
+#include "CCScrollbarGeometryFixedThumb.h"
#include "CCScrollbarLayerImpl.h"
#include "CCSettings.h"
#include "CCSingleThreadProxy.h"
@@ -69,7 +70,8 @@ namespace {
class CCLayerTreeHostImplTest : public testing::Test, public CCLayerTreeHostImplClient {
public:
CCLayerTreeHostImplTest()
- : m_didRequestCommit(false)
+ : m_onCanDrawStateChangedCalled(false)
+ , m_didRequestCommit(false)
, m_didRequestRedraw(false)
{
CCLayerTreeSettings settings;
@@ -83,6 +85,7 @@ public:
virtual void didLoseContextOnImplThread() OVERRIDE { }
virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE { }
virtual void onVSyncParametersChanged(double, double) OVERRIDE { }
+ virtual void onCanDrawStateChanged(bool canDraw) OVERRIDE { m_onCanDrawStateChangedCalled = true; }
virtual void setNeedsRedrawOnImplThread() OVERRIDE { m_didRequestRedraw = true; }
virtual void setNeedsCommitOnImplThread() OVERRIDE { m_didRequestCommit = true; }
virtual void postAnimationEventsToMainThreadOnImplThread(PassOwnPtr<CCAnimationEventsVector>, double wallClockTime) OVERRIDE { }
@@ -184,6 +187,7 @@ protected:
DebugScopedSetMainThreadBlocked m_alwaysMainThreadBlocked;
OwnPtr<CCLayerTreeHostImpl> m_hostImpl;
+ bool m_onCanDrawStateChangedCalled;
bool m_didRequestCommit;
bool m_didRequestRedraw;
CCScopedSettings m_scopedSettings;
@@ -194,6 +198,53 @@ public:
virtual bool makeContextCurrent() { return false; }
};
+TEST_F(CCLayerTreeHostImplTest, notifyIfCanDrawChanged)
+{
+ // Note: It is not possible to disable the renderer once it has been set,
+ // so we do not need to test that disabling the renderer notifies us
+ // that canDraw changed.
+ EXPECT_FALSE(m_hostImpl->canDraw());
+ m_onCanDrawStateChangedCalled = false;
+
+ setupScrollAndContentsLayers(IntSize(100, 100));
+ EXPECT_TRUE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ // Toggle the root layer to make sure it toggles canDraw
+ m_hostImpl->setRootLayer(adoptPtr<CCLayerImpl>(0));
+ EXPECT_FALSE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ setupScrollAndContentsLayers(IntSize(100, 100));
+ EXPECT_TRUE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ // Toggle the device viewport size to make sure it toggles canDraw.
+ m_hostImpl->setViewportSize(IntSize(100, 100), IntSize(0, 0));
+ EXPECT_FALSE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ m_hostImpl->setViewportSize(IntSize(100, 100), IntSize(100, 100));
+ EXPECT_TRUE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ // Toggle contents textures purged to make sure it toggles canDraw
+ m_hostImpl->releaseContentsTextures();
+ EXPECT_FALSE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ m_hostImpl->resetContentsTexturesPurged();
+ EXPECT_TRUE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+}
+
TEST_F(CCLayerTreeHostImplTest, scrollDeltaNoLayers)
{
ASSERT_FALSE(m_hostImpl->rootLayer());
@@ -399,6 +450,24 @@ TEST_F(CCLayerTreeHostImplTest, nonFastScrollableRegionWithOffset)
EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(10, 10), CCInputHandlerClient::Wheel), CCInputHandlerClient::ScrollOnMainThread);
}
+TEST_F(CCLayerTreeHostImplTest, maxScrollPositionChangedByDeviceScaleFactor)
+{
+ setupScrollAndContentsLayers(IntSize(100, 100));
+
+ float deviceScaleFactor = 2;
+ IntSize layoutViewport(25, 25);
+ IntSize deviceViewport(layoutViewport);
+ deviceViewport.scale(deviceScaleFactor);
+ m_hostImpl->setViewportSize(layoutViewport, deviceViewport);
+ m_hostImpl->setDeviceScaleFactor(deviceScaleFactor);
+ EXPECT_EQ(m_hostImpl->rootLayer()->maxScrollPosition(), IntSize(25, 25));
+
+ deviceScaleFactor = 1;
+ m_hostImpl->setViewportSize(layoutViewport, layoutViewport);
+ m_hostImpl->setDeviceScaleFactor(deviceScaleFactor);
+ EXPECT_EQ(m_hostImpl->rootLayer()->maxScrollPosition(), IntSize(75, 75));
+}
+
TEST_F(CCLayerTreeHostImplTest, pinchGesture)
{
setupScrollAndContentsLayers(IntSize(100, 100));
@@ -1345,7 +1414,7 @@ class BlendStateCheckLayer : public CCLayerImpl {
public:
static PassOwnPtr<BlendStateCheckLayer> create(int id, CCResourceProvider* resourceProvider) { return adoptPtr(new BlendStateCheckLayer(id, resourceProvider)); }
- virtual void appendQuads(CCQuadSink& quadSink, bool&) OVERRIDE
+ virtual void appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData) OVERRIDE
{
m_quadsAppended = true;
@@ -1360,7 +1429,7 @@ public:
testBlendingDrawQuad->setQuadVisibleRect(m_quadVisibleRect);
EXPECT_EQ(m_blend, testBlendingDrawQuad->needsBlending());
EXPECT_EQ(m_hasRenderSurface, !!renderSurface());
- quadSink.append(testBlendingDrawQuad.release());
+ quadSink.append(testBlendingDrawQuad.release(), appendQuadsData);
}
void setExpectation(bool blend, bool hasRenderSurface)
@@ -1879,14 +1948,14 @@ class FakeLayerWithQuads : public CCLayerImpl {
public:
static PassOwnPtr<FakeLayerWithQuads> create(int id) { return adoptPtr(new FakeLayerWithQuads(id)); }
- virtual void appendQuads(CCQuadSink& quadSink, bool&) OVERRIDE
+ virtual void appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData) OVERRIDE
{
CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQuadState());
SkColor gray = SkColorSetRGB(100, 100, 100);
IntRect quadRect(IntPoint(0, 0), contentBounds());
OwnPtr<CCDrawQuad> myQuad = CCSolidColorDrawQuad::create(sharedQuadState, quadRect, gray);
- quadSink.append(myQuad.release());
+ quadSink.append(myQuad.release(), appendQuadsData);
}
private:
@@ -2416,7 +2485,7 @@ public:
IntSize size(10, 10);
GC3Denum format = GraphicsContext3D::RGBA;
CCResourceProvider::TextureUsageHint hint = CCResourceProvider::TextureUsageAny;
- setScrollbarGeometry(FakeWebScrollbarThemeGeometryNonEmpty::create());
+ setScrollbarGeometry(CCScrollbarGeometryFixedThumb::create(FakeWebScrollbarThemeGeometryNonEmpty::create()));
setBackTrackResourceId(provider->createResource(pool, size, format, hint));
setForeTrackResourceId(provider->createResource(pool, size, format, hint));
@@ -2801,7 +2870,7 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithClipping)
EXPECT_LT(quadVisibleRect.width(), 100);
// Verify that the render surface texture is *not* clipped.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), frame.renderPasses[0]->outputRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), frame.renderPasses[0]->outputRect());
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[1]->quadList()[0].get());
@@ -3406,13 +3475,14 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithScissor)
grandChild->setDrawsContent(true);
CCTiledLayerImpl* childPtr = child.get();
+ CCRenderPass::Id childPassId(childPtr->id(), 0);
child->addChild(grandChild.release());
root->addChild(child.release());
myHostImpl->setRootLayer(root.release());
myHostImpl->setViewportSize(rootRect.size(), rootRect.size());
- EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPtr->id()));
+ EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPassId));
{
CCLayerTreeHostImpl::FrameData frame;
@@ -3422,7 +3492,7 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithScissor)
}
// We should have cached textures for surface 2.
- EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPtr->id()));
+ EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPassId));
{
CCLayerTreeHostImpl::FrameData frame;
@@ -3432,7 +3502,7 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithScissor)
}
// We should still have cached textures for surface 2 after drawing with no damage.
- EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPtr->id()));
+ EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPassId));
// Damage a single tile of surface 2.
childPtr->setUpdateRect(IntRect(10, 10, 10, 10));
@@ -3445,7 +3515,7 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithScissor)
}
// We should have a cached texture for surface 2 again even though it was damaged.
- EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPtr->id()));
+ EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPassId));
}
TEST_F(CCLayerTreeHostImplTest, surfaceTextureCaching)
@@ -3807,18 +3877,18 @@ struct RenderPassCacheEntry {
};
struct RenderPassRemovalTestData : public CCLayerTreeHostImpl::FrameData {
- std::map<char, RenderPassCacheEntry> renderPassCache;
+ std::map<CCRenderPass::Id, RenderPassCacheEntry> renderPassCache;
OwnPtr<CCSharedQuadState> sharedQuadState;
};
class CCTestRenderPass: public CCRenderPass {
public:
- static PassOwnPtr<CCRenderPass> create(int id, IntRect outputRect, const WebTransformationMatrix& rootTransform) { return adoptPtr(new CCTestRenderPass(id, outputRect, rootTransform)); }
+ static PassOwnPtr<CCRenderPass> create(CCRenderPass::Id id, IntRect outputRect, const WebTransformationMatrix& rootTransform) { return adoptPtr(new CCTestRenderPass(id, outputRect, rootTransform)); }
void appendQuad(PassOwnPtr<CCDrawQuad> quad) { m_quadList.append(quad); }
protected:
- CCTestRenderPass(int id, IntRect outputRect, const WebTransformationMatrix& rootTransform) : CCRenderPass(id, outputRect, rootTransform) { }
+ CCTestRenderPass(CCRenderPass::Id id, IntRect outputRect, const WebTransformationMatrix& rootTransform) : CCRenderPass(id, outputRect, rootTransform) { }
};
class CCTestRenderer : public CCRendererGL, public CCRendererClient {
@@ -3833,9 +3903,9 @@ public:
}
void clearCachedTextures() { m_textures.clear(); }
- void setHaveCachedResourcesForRenderPassId(int id) { m_textures.add(id); }
+ void setHaveCachedResourcesForRenderPassId(CCRenderPass::Id id) { m_textures.add(id); }
- virtual bool haveCachedResourcesForRenderPassId(int id) const OVERRIDE { return m_textures.contains(id); }
+ virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id id) const OVERRIDE { return m_textures.contains(id); }
// CCRendererClient implementation.
virtual const IntSize& deviceViewportSize() const OVERRIDE { return m_viewportSize; }
@@ -3852,7 +3922,7 @@ protected:
private:
CCLayerTreeSettings m_settings;
IntSize m_viewportSize;
- HashSet<int> m_textures;
+ HashSet<CCRenderPass::Id> m_textures;
};
static void configureRenderPassTestData(const char* testScript, RenderPassRemovalTestData& testData, CCTestRenderer* renderer)
@@ -3865,13 +3935,18 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova
const char* currentChar = testScript;
// Pre-create root pass
- char rootRenderPassId = testScript[0];
+ CCRenderPass::Id rootRenderPassId = CCRenderPass::Id(testScript[0], testScript[1]);
OwnPtr<CCRenderPass> rootRenderPass = CCTestRenderPass::create(rootRenderPassId, IntRect(), WebTransformationMatrix());
- testData.renderPassCache.insert(std::pair<char, RenderPassCacheEntry>(rootRenderPassId, RenderPassCacheEntry(rootRenderPass.release())));
+ testData.renderPassCache.insert(std::pair<CCRenderPass::Id, RenderPassCacheEntry>(rootRenderPassId, RenderPassCacheEntry(rootRenderPass.release())));
while (*currentChar) {
- char renderPassId = currentChar[0];
+ int layerId = *currentChar;
+ currentChar++;
+ ASSERT_TRUE(currentChar);
+ int index = *currentChar;
currentChar++;
+ CCRenderPass::Id renderPassId = CCRenderPass::Id(layerId, index);
+
OwnPtr<CCRenderPass> renderPass;
bool isReplica = false;
@@ -3890,9 +3965,13 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova
currentChar++;
} else if ((*currentChar >= 'A') && (*currentChar <= 'Z')) {
// RenderPass draw quad
- char newRenderPassId = *currentChar;
- ASSERT_NE(rootRenderPassId, newRenderPassId);
+ int layerId = *currentChar;
+ currentChar++;
+ ASSERT_TRUE(currentChar);
+ int index = *currentChar;
currentChar++;
+ CCRenderPass::Id newRenderPassId = CCRenderPass::Id(layerId, index);
+ ASSERT_NE(rootRenderPassId, newRenderPassId);
bool hasTexture = false;
bool contentsChanged = true;
@@ -3918,7 +3997,7 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova
renderer->setHaveCachedResourcesForRenderPassId(newRenderPassId);
OwnPtr<CCRenderPass> renderPass = CCTestRenderPass::create(newRenderPassId, IntRect(), WebTransformationMatrix());
- testData.renderPassCache.insert(std::pair<char, RenderPassCacheEntry>(newRenderPassId, RenderPassCacheEntry(renderPass.release())));
+ testData.renderPassCache.insert(std::pair<CCRenderPass::Id, RenderPassCacheEntry>(newRenderPassId, RenderPassCacheEntry(renderPass.release())));
}
IntRect quadRect = IntRect(0, 0, 1, 1);
@@ -3939,7 +4018,9 @@ void dumpRenderPassTestData(const RenderPassRemovalTestData& testData, char* buf
char* pos = buffer;
for (CCRenderPassList::const_reverse_iterator it = testData.renderPasses.rbegin(); it != testData.renderPasses.rend(); ++it) {
const CCRenderPass* currentPass = *it;
- *pos = currentPass->id();
+ *pos = currentPass->id().layerId;
+ pos++;
+ *pos = currentPass->id().index;
pos++;
CCQuadList::const_iterator quadListIterator = currentPass->quadList().begin();
@@ -3951,7 +4032,9 @@ void dumpRenderPassTestData(const RenderPassRemovalTestData& testData, char* buf
pos++;
break;
case CCDrawQuad::RenderPass:
- *pos = CCRenderPassDrawQuad::materialCast(currentQuad)->renderPassId();
+ *pos = CCRenderPassDrawQuad::materialCast(currentQuad)->renderPassId().layerId;
+ pos++;
+ *pos = CCRenderPassDrawQuad::materialCast(currentQuad)->renderPassId().index;
pos++;
break;
default:
@@ -3995,115 +4078,115 @@ TestCase removeRenderPassesCases[] =
{
{
"Single root pass",
- "Rssss\n",
- "Rssss\n"
+ "R0ssss\n",
+ "R0ssss\n"
}, {
"Single pass - no quads",
- "R\n",
- "R\n"
+ "R0\n",
+ "R0\n"
}, {
"Two passes, no removal",
- "RssssAsss\n"
- "Assss\n",
- "RssssAsss\n"
- "Assss\n"
+ "R0ssssA0sss\n"
+ "A0ssss\n",
+ "R0ssssA0sss\n"
+ "A0ssss\n"
}, {
"Two passes, remove last",
- "RssssA[ct]sss\n"
- "Assss\n",
- "RssssAsss\n"
+ "R0ssssA0[ct]sss\n"
+ "A0ssss\n",
+ "R0ssssA0sss\n"
}, {
"Have texture but contents changed - leave pass",
- "RssssA[t]sss\n"
- "Assss\n",
- "RssssAsss\n"
- "Assss\n"
+ "R0ssssA0[t]sss\n"
+ "A0ssss\n",
+ "R0ssssA0sss\n"
+ "A0ssss\n"
}, {
"Contents didn't change but no texture - leave pass",
- "RssssA[c]sss\n"
- "Assss\n",
- "RssssAsss\n"
- "Assss\n"
+ "R0ssssA0[c]sss\n"
+ "A0ssss\n",
+ "R0ssssA0sss\n"
+ "A0ssss\n"
}, {
"Replica: two quads reference the same pass; remove",
- "RssssA[ct]A[ct]sss\n"
- "Assss\n",
- "RssssAAsss\n"
+ "R0ssssA0[ct]A0[ct]sss\n"
+ "A0ssss\n",
+ "R0ssssA0A0sss\n"
}, {
"Replica: two quads reference the same pass; leave",
- "RssssA[c]A[c]sss\n"
- "Assss\n",
- "RssssAAsss\n"
- "Assss\n",
+ "R0ssssA0[c]A0[c]sss\n"
+ "A0ssss\n",
+ "R0ssssA0A0sss\n"
+ "A0ssss\n",
}, {
"Many passes, remove all",
- "RssssA[ct]sss\n"
- "AsssB[ct]C[ct]s\n"
- "BsssD[ct]ssE[ct]F[ct]\n"
- "Essssss\n"
- "CG[ct]\n"
- "Dsssssss\n"
- "Fsssssss\n"
- "Gsss\n",
-
- "RssssAsss\n"
+ "R0ssssA0[ct]sss\n"
+ "A0sssB0[ct]C0[ct]s\n"
+ "B0sssD0[ct]ssE0[ct]F0[ct]\n"
+ "E0ssssss\n"
+ "C0G0[ct]\n"
+ "D0sssssss\n"
+ "F0sssssss\n"
+ "G0sss\n",
+
+ "R0ssssA0sss\n"
}, {
"Deep recursion, remove all",
- "RsssssA[ct]ssss\n"
- "AssssBsss\n"
- "BC\n"
- "CD\n"
- "DE\n"
- "EF\n"
- "FG\n"
- "GH\n"
- "HsssIsss\n"
- "IJ\n"
- "Jssss\n",
+ "R0sssssA0[ct]ssss\n"
+ "A0ssssB0sss\n"
+ "B0C0\n"
+ "C0D0\n"
+ "D0E0\n"
+ "E0F0\n"
+ "F0G0\n"
+ "G0H0\n"
+ "H0sssI0sss\n"
+ "I0J0\n"
+ "J0ssss\n",
- "RsssssAssss\n"
+ "R0sssssA0ssss\n"
}, {
"Wide recursion, remove all",
- "RA[ct]B[ct]C[ct]D[ct]E[ct]F[ct]G[ct]H[ct]I[ct]J[ct]\n"
- "As\n"
- "Bs\n"
- "Cssss\n"
- "Dssss\n"
- "Es\n"
- "F\n"
- "Gs\n"
- "Hs\n"
- "Is\n"
- "Jssss\n",
+ "R0A0[ct]B0[ct]C0[ct]D0[ct]E0[ct]F0[ct]G0[ct]H0[ct]I0[ct]J0[ct]\n"
+ "A0s\n"
+ "B0s\n"
+ "C0ssss\n"
+ "D0ssss\n"
+ "E0s\n"
+ "F0\n"
+ "G0s\n"
+ "H0s\n"
+ "I0s\n"
+ "J0ssss\n",
- "RABCDEFGHIJ\n"
+ "R0A0B0C0D0E0F0G0H0I0J0\n"
}, {
"Remove passes regardless of cache state",
- "RssssA[ct]sss\n"
- "AsssBCs\n"
- "BsssD[c]ssE[t]F\n"
- "Essssss\n"
- "CG\n"
- "Dsssssss\n"
- "Fsssssss\n"
- "Gsss\n",
-
- "RssssAsss\n"
+ "R0ssssA0[ct]sss\n"
+ "A0sssB0C0s\n"
+ "B0sssD0[c]ssE0[t]F0\n"
+ "E0ssssss\n"
+ "C0G0\n"
+ "D0sssssss\n"
+ "F0sssssss\n"
+ "G0sss\n",
+
+ "R0ssssA0sss\n"
}, {
"Leave some passes, remove others",
- "RssssA[c]sss\n"
- "AsssB[t]C[ct]s\n"
- "BsssD[c]ss\n"
- "CG\n"
- "Dsssssss\n"
- "Gsss\n",
-
- "RssssAsss\n"
- "AsssBCs\n"
- "BsssDss\n"
- "Dsssssss\n"
+ "R0ssssA0[c]sss\n"
+ "A0sssB0[t]C0[ct]s\n"
+ "B0sssD0[c]ss\n"
+ "C0G0\n"
+ "D0sssssss\n"
+ "G0sss\n",
+
+ "R0ssssA0sss\n"
+ "A0sssB0C0s\n"
+ "B0sssD0ss\n"
+ "D0sssssss\n"
}, {
0, 0, 0
}
diff --git a/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp b/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
index c026bd4f5..9ce449504 100644
--- a/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
+++ b/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
@@ -26,6 +26,7 @@
#include "CCLayerTreeHost.h"
+#include "CCGeometryTestUtils.h"
#include "CCGraphicsContext.h"
#include "CCLayerTreeHostImpl.h"
#include "CCOcclusionTrackerTestCommon.h"
@@ -35,23 +36,19 @@
#include "CCThreadedTest.h"
#include "CCTimingFunction.h"
#include "ContentLayerChromium.h"
+#include "ContentLayerChromiumClient.h"
+#include "Extensions3DChromium.h"
+#include "FakeWebCompositorOutputSurface.h"
#include <gmock/gmock.h>
-#include <gtest/gtest.h>
#include <public/Platform.h>
-#include <public/WebThread.h>
+#include <public/WebLayerScrollClient.h>
+#include <public/WebSize.h>
#include <wtf/MainThread.h>
#include <wtf/OwnArrayPtr.h>
using namespace WebCore;
using namespace WebKit;
using namespace WebKitTests;
-using namespace WTF;
-
-#define EXPECT_EQ_RECT(a, b) \
- EXPECT_EQ(a.x(), b.x()); \
- EXPECT_EQ(a.y(), b.y()); \
- EXPECT_EQ(a.width(), b.width()); \
- EXPECT_EQ(a.height(), b.height());
namespace {
@@ -518,6 +515,63 @@ TEST_F(CCLayerTreeHostTestAbortFrameWhenInvisible, runMultiThread)
runTest(true);
}
+// Makes sure that setNedsAnimate does not cause the commitRequested() state to be set.
+class CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested()
+ : m_numCommits(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ // The tests start up with a commit pending because we give them a root layer.
+ // We need to wait for the commit to happen before doing anything.
+ EXPECT_TRUE(m_layerTreeHost->commitRequested());
+ }
+
+ virtual void animate(double monotonicTime) OVERRIDE
+ {
+ // We skip the first commit becasue its the commit that populates the
+ // impl thread with a tree.
+ if (!m_numCommits)
+ return;
+
+ m_layerTreeHost->setNeedsAnimate();
+ // Right now, commitRequested is going to be true, because during
+ // beginFrame, we force commitRequested to true to prevent requests from
+ // hitting the impl thread. But, when the next didCommit happens, we should
+ // verify that commitRequested has gone back to false.
+ }
+ virtual void didCommit() OVERRIDE
+ {
+ if (!m_numCommits) {
+ EXPECT_FALSE(m_layerTreeHost->commitRequested());
+ m_layerTreeHost->setNeedsAnimate();
+ EXPECT_FALSE(m_layerTreeHost->commitRequested());
+ m_numCommits++;
+ }
+
+ // Verifies that the setNeedsAnimate we made in ::animate did not
+ // trigger commitRequested.
+ EXPECT_FALSE(m_layerTreeHost->commitRequested());
+ endTest();
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ }
+
+private:
+ int m_numCommits;
+};
+
+TEST_F(CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested, runMultiThread)
+{
+ runTest(true);
+}
+
+
// Trigger a frame with setNeedsCommit. Then, inside the resulting animate
// callback, requet another frame using setNeedsAnimate. End the test when
@@ -536,7 +590,7 @@ public:
postSetNeedsAnimateToMainThread();
}
- virtual void updateAnimations(double) OVERRIDE
+ virtual void animate(double) OVERRIDE
{
if (!m_numAnimates) {
m_layerTreeHost->setNeedsAnimate();
@@ -912,7 +966,7 @@ private:
int m_scrolls;
};
-TEST_F(CCLayerTreeHostTestScrollSimple, DISABLED_runMultiThread)
+TEST_F(CCLayerTreeHostTestScrollSimple, runMultiThread)
{
runTest(true);
}
@@ -1133,7 +1187,7 @@ TEST_F(CCLayerTreeHostTestSetVisible, runMultiThread)
runTest(true);
}
-class TestOpacityChangeLayerDelegate : public ContentLayerDelegate {
+class TestOpacityChangeLayerDelegate : public ContentLayerChromiumClient {
public:
TestOpacityChangeLayerDelegate(CCLayerTreeHostTest* test)
: m_test(test)
@@ -1152,7 +1206,7 @@ private:
class ContentLayerChromiumWithUpdateTracking : public ContentLayerChromium {
public:
- static PassRefPtr<ContentLayerChromiumWithUpdateTracking> create(ContentLayerDelegate *delegate) { return adoptRef(new ContentLayerChromiumWithUpdateTracking(delegate)); }
+ static PassRefPtr<ContentLayerChromiumWithUpdateTracking> create(ContentLayerChromiumClient* client) { return adoptRef(new ContentLayerChromiumWithUpdateTracking(client)); }
int paintContentsCount() { return m_paintContentsCount; }
void resetPaintContentsCount() { m_paintContentsCount = 0; }
@@ -1164,8 +1218,8 @@ public:
}
private:
- explicit ContentLayerChromiumWithUpdateTracking(ContentLayerDelegate* delegate)
- : ContentLayerChromium(delegate)
+ explicit ContentLayerChromiumWithUpdateTracking(ContentLayerChromiumClient* client)
+ : ContentLayerChromium(client)
, m_paintContentsCount(0)
{
setAnchorPoint(FloatPoint(0, 0));
@@ -1217,7 +1271,7 @@ TEST_F(CCLayerTreeHostTestOpacityChange, runMultiThread)
runTest(true);
}
-class MockContentLayerDelegate : public ContentLayerDelegate {
+class MockContentLayerChromiumClient : public ContentLayerChromiumClient {
public:
bool drawsContent() const { return true; }
MOCK_CONST_METHOD0(preserves3D, bool());
@@ -1225,12 +1279,23 @@ public:
void notifySyncRequired() { }
};
+class NoScaleContentLayerChromium : public ContentLayerChromium {
+public:
+ static PassRefPtr<NoScaleContentLayerChromium> create(ContentLayerChromiumClient* client) { return adoptRef(new NoScaleContentLayerChromium(client)); }
+
+ virtual bool needsContentsScale() const OVERRIDE { return false; }
+
+private:
+ explicit NoScaleContentLayerChromium(ContentLayerChromiumClient* client)
+ : ContentLayerChromium(client) { }
+};
+
class CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers : public CCLayerTreeHostTest {
public:
CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers()
- : m_rootLayer(ContentLayerChromium::create(&m_delegate))
- , m_childLayer(ContentLayerChromium::create(&m_delegate))
+ : m_rootLayer(NoScaleContentLayerChromium::create(&m_client))
+ , m_childLayer(ContentLayerChromium::create(&m_client))
{
}
@@ -1289,7 +1354,12 @@ public:
ASSERT_EQ(2u, root->renderSurface()->layerList().size());
// The root render surface is the size of the viewport.
- EXPECT_EQ_RECT(IntRect(0, 0, 60, 60), root->renderSurface()->contentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 60, 60), root->renderSurface()->contentRect());
+
+ // The content bounds of the child should be scaled.
+ IntSize childBoundsScaled = child->bounds();
+ childBoundsScaled.scale(1.5);
+ EXPECT_EQ(childBoundsScaled, child->contentBounds());
WebTransformationMatrix scaleTransform;
scaleTransform.scale(impl->deviceScaleFactor());
@@ -1301,11 +1371,10 @@ public:
EXPECT_EQ(rootDrawTransform, root->drawTransform());
EXPECT_EQ(rootScreenSpaceTransform, root->screenSpaceTransform());
- // The child is at position 2,2, so translate by 2,2 before applying the scale by 2x.
- WebTransformationMatrix childScreenSpaceTransform = scaleTransform;
- childScreenSpaceTransform.translate(2, 2);
- WebTransformationMatrix childDrawTransform = scaleTransform;
- childDrawTransform.translate(2, 2);
+ // The child is at position 2,2, which is transformed to 3,3 after the scale
+ WebTransformationMatrix childScreenSpaceTransform;
+ childScreenSpaceTransform.translate(3, 3);
+ WebTransformationMatrix childDrawTransform = childScreenSpaceTransform;
EXPECT_EQ(childDrawTransform, child->drawTransform());
EXPECT_EQ(childScreenSpaceTransform, child->screenSpaceTransform());
@@ -1320,8 +1389,8 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
- RefPtr<ContentLayerChromium> m_rootLayer;
+ MockContentLayerChromiumClient m_client;
+ RefPtr<NoScaleContentLayerChromium> m_rootLayer;
RefPtr<ContentLayerChromium> m_childLayer;
};
@@ -1334,7 +1403,7 @@ TEST_F(CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers, runMultiThre
class CCLayerTreeHostTestAtomicCommit : public CCLayerTreeHostTest {
public:
CCLayerTreeHostTestAtomicCommit()
- : m_layer(ContentLayerChromiumWithUpdateTracking::create(&m_delegate))
+ : m_layer(ContentLayerChromiumWithUpdateTracking::create(&m_client))
{
// Make sure partial texture updates are turned off.
m_settings.maxPartialTextureUpdates = 0;
@@ -1408,7 +1477,7 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
+ MockContentLayerChromiumClient m_client;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_layer;
};
@@ -1432,8 +1501,8 @@ static void setLayerPropertiesForTesting(LayerChromium* layer, LayerChromium* pa
class CCLayerTreeHostTestAtomicCommitWithPartialUpdate : public CCLayerTreeHostTest {
public:
CCLayerTreeHostTestAtomicCommitWithPartialUpdate()
- : m_parent(ContentLayerChromiumWithUpdateTracking::create(&m_delegate))
- , m_child(ContentLayerChromiumWithUpdateTracking::create(&m_delegate))
+ : m_parent(ContentLayerChromiumWithUpdateTracking::create(&m_client))
+ , m_child(ContentLayerChromiumWithUpdateTracking::create(&m_client))
, m_numCommits(0)
{
// Allow one partial texture update.
@@ -1555,7 +1624,7 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
+ MockContentLayerChromiumClient m_client;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_parent;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_child;
int m_numCommits;
@@ -1629,11 +1698,11 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer is opaque, then it adds to the occlusion seen by the rootLayer.
@@ -1646,11 +1715,11 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 30, 170, 170), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 170, 170), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// Add a second child to the root layer and the regions should merge
@@ -1664,13 +1733,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 30, 170, 170), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 170, 170), child2->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 20, 170, 180), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 20, 170, 180), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(2u, rootLayer->occludedScreenSpace().rects().size());
// Move the second child to be sure.
@@ -1684,13 +1753,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 30, 170, 170), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 170, 170), child2->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 30, 190, 170), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 30, 190, 170), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(2u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer has a mask on it, then it shouldn't contribute to occlusion on stuff below it
@@ -1706,13 +1775,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer with a mask is below child2, then child2 should contribute to occlusion on everything, and child shouldn't contribute to the rootLayer
@@ -1728,13 +1797,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(1u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(2u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer has a non-opaque drawOpacity, then it shouldn't contribute to occlusion on stuff below it
@@ -1751,13 +1820,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer with non-opaque drawOpacity is below child2, then child2 should contribute to occlusion on everything, and child shouldn't contribute to the rootLayer
@@ -1774,13 +1843,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(1u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(2u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// Kill the layerTreeHost immediately.
@@ -1837,13 +1906,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(1u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(2u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer has a filter that moves pixels/changes alpha, and is below child2, then child should not inherit occlusion from outside its subtree,
@@ -1864,13 +1933,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// Kill the layerTreeHost immediately.
@@ -1929,7 +1998,7 @@ public:
for (int i = 0; i < numSurfaces-1; ++i) {
IntRect expectedOcclusion(i+1, i+1, 200-i-1, 200-i-1);
- EXPECT_EQ_RECT(expectedOcclusion, layers[i]->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(expectedOcclusion, layers[i]->occludedScreenSpace().bounds());
EXPECT_EQ(1u, layers[i]->occludedScreenSpace().rects().size());
}
@@ -2160,7 +2229,7 @@ private:
SINGLE_AND_MULTI_THREAD_TEST_F(CCLayerTreeHostTestLayerAddedWithAnimation)
-class CCLayerTreeHostTestScrollChildLayer : public CCLayerTreeHostTest, public LayerChromiumScrollDelegate {
+class CCLayerTreeHostTestScrollChildLayer : public CCLayerTreeHostTest, public WebLayerScrollClient {
public:
CCLayerTreeHostTestScrollChildLayer()
: m_scrollAmount(2, 1)
@@ -2183,7 +2252,7 @@ public:
m_rootScrollLayer->setMaxScrollPosition(IntSize(100, 100));
m_layerTreeHost->rootLayer()->addChild(m_rootScrollLayer);
m_childLayer = ContentLayerChromium::create(&m_mockDelegate);
- m_childLayer->setLayerScrollDelegate(this);
+ m_childLayer->setLayerScrollClient(this);
m_childLayer->setBounds(IntSize(50, 50));
m_childLayer->setIsDrawable(true);
m_childLayer->setScrollable(true);
@@ -2196,9 +2265,9 @@ public:
postSetNeedsCommitToMainThread();
}
- virtual void didScroll(const IntSize& scrollDelta) OVERRIDE
+ virtual void didScroll() OVERRIDE
{
- m_reportedScrollAmount = scrollDelta;
+ m_finalScrollPosition = m_childLayer->scrollPosition();
}
virtual void applyScrollAndScale(const IntSize& scrollDelta, float) OVERRIDE
@@ -2228,13 +2297,13 @@ public:
virtual void afterTest() OVERRIDE
{
- EXPECT_EQ(m_scrollAmount, m_reportedScrollAmount);
+ EXPECT_EQ(IntPoint(m_scrollAmount), m_finalScrollPosition);
}
private:
const IntSize m_scrollAmount;
- IntSize m_reportedScrollAmount;
- MockContentLayerDelegate m_mockDelegate;
+ IntPoint m_finalScrollPosition;
+ MockContentLayerChromiumClient m_mockDelegate;
RefPtr<LayerChromium> m_childLayer;
RefPtr<LayerChromium> m_rootScrollLayer;
};
@@ -2300,8 +2369,8 @@ public:
virtual void drawLayersOnCCThread(CCLayerTreeHostImpl* hostImpl) OVERRIDE
{
CCRenderer* renderer = hostImpl->renderer();
- unsigned surface1RenderPassId = hostImpl->rootLayer()->children()[0]->id();
- unsigned surface2RenderPassId = hostImpl->rootLayer()->children()[0]->children()[0]->id();
+ CCRenderPass::Id surface1RenderPassId = hostImpl->rootLayer()->children()[0]->renderSurface()->renderPassId();
+ CCRenderPass::Id surface2RenderPassId = hostImpl->rootLayer()->children()[0]->children()[0]->renderSurface()->renderPassId();
switch (hostImpl->sourceFrameNumber()) {
case 0:
@@ -2336,7 +2405,7 @@ public:
}
private:
- MockContentLayerDelegate m_mockDelegate;
+ MockContentLayerChromiumClient m_mockDelegate;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_rootLayer;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_surfaceLayer1;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_replicaLayer1;
@@ -2408,11 +2477,13 @@ public:
return adoptPtr(new EvictionTestLayerImpl(id));
}
virtual ~EvictionTestLayerImpl() { }
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) OVERRIDE
+
+ virtual void appendQuads(CCQuadSink& quadSink, CCAppendQuadsData&) OVERRIDE
{
ASSERT_TRUE(m_hasTexture);
ASSERT_NE(0u, layerTreeHostImpl()->resourceProvider()->numResources());
}
+
void setHasTexture(bool hasTexture) { m_hasTexture = hasTexture; }
private:
@@ -2582,7 +2653,7 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
+ MockContentLayerChromiumClient m_client;
RefPtr<EvictionTestLayer> m_layer;
CCLayerTreeHostImpl* m_implForEvictTextures;
int m_numCommits;
@@ -2678,7 +2749,7 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
+ MockContentLayerChromiumClient m_client;
RefPtr<EvictionTestLayer> m_layer;
CCLayerTreeHostImpl* m_implForEvictTextures;
int m_numCommits;
@@ -2686,4 +2757,263 @@ private:
SINGLE_AND_MULTI_THREAD_TEST_F(CCLayerTreeHostTestLostContextAfterEvictTextures)
+class CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext : public WebKit::CompositorFakeWebGraphicsContext3D {
+public:
+ static PassOwnPtr<CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext> create(Attributes attrs)
+ {
+ return adoptPtr(new CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext(attrs));
+ }
+
+ virtual void setContextLostCallback(WebGraphicsContextLostCallback* callback) { m_contextLostCallback = callback; }
+ virtual bool isContextLost() { return m_isContextLost; }
+
+ virtual void beginQueryEXT(GC3Denum, WebGLId) { }
+ virtual void endQueryEXT(GC3Denum)
+ {
+ // Lose context.
+ if (!m_isContextLost) {
+ m_contextLostCallback->onContextLost();
+ m_isContextLost = true;
+ }
+ }
+ virtual void getQueryObjectuivEXT(WebGLId, GC3Denum pname, GC3Duint* params)
+ {
+ // Context is lost. Result will never be available.
+ if (pname == Extensions3DChromium::QUERY_RESULT_AVAILABLE_EXT)
+ *params = 0;
+ }
+
+private:
+ explicit CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext(Attributes attrs)
+ : CompositorFakeWebGraphicsContext3D(attrs)
+ , m_contextLostCallback(0)
+ , m_isContextLost(false) { }
+
+ WebGraphicsContextLostCallback* m_contextLostCallback;
+ bool m_isContextLost;
+};
+
+class CCLayerTreeHostTestLostContextWhileUpdatingResources : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestLostContextWhileUpdatingResources()
+ : m_parent(ContentLayerChromiumWithUpdateTracking::create(&m_client))
+ , m_numChildren(50)
+ {
+ for (int i = 0; i < m_numChildren; i++)
+ m_children.append(ContentLayerChromiumWithUpdateTracking::create(&m_client));
+ }
+
+ virtual PassOwnPtr<WebKit::WebCompositorOutputSurface> createOutputSurface()
+ {
+ return FakeWebCompositorOutputSurface::create(CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::create(WebGraphicsContext3D::Attributes()));
+ }
+
+ virtual void beginTest()
+ {
+ m_layerTreeHost->setRootLayer(m_parent);
+ m_layerTreeHost->setViewportSize(IntSize(m_numChildren, 1), IntSize(m_numChildren, 1));
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(m_parent.get(), 0, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(m_numChildren, 1), true);
+ for (int i = 0; i < m_numChildren; i++)
+ setLayerPropertiesForTesting(m_children[i].get(), m_parent.get(), identityMatrix, FloatPoint(0, 0), FloatPoint(i, 0), IntSize(1, 1), false);
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void commitCompleteOnCCThread(CCLayerTreeHostImpl* impl)
+ {
+ endTest();
+ }
+
+ virtual void layout()
+ {
+ m_parent->setNeedsDisplay();
+ for (int i = 0; i < m_numChildren; i++)
+ m_children[i]->setNeedsDisplay();
+ }
+
+ virtual void afterTest()
+ {
+ }
+
+private:
+ MockContentLayerChromiumClient m_client;
+ RefPtr<ContentLayerChromiumWithUpdateTracking> m_parent;
+ int m_numChildren;
+ Vector<RefPtr<ContentLayerChromiumWithUpdateTracking> > m_children;
+};
+
+TEST_F(CCLayerTreeHostTestLostContextWhileUpdatingResources, runMultiThread)
+{
+ runTest(true);
+}
+
+class CCLayerTreeHostTestContinuousCommit : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestContinuousCommit()
+ : m_numCommitComplete(0)
+ , m_numDrawLayers(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ m_layerTreeHost->setViewportSize(IntSize(10, 10), IntSize(10, 10));
+ m_layerTreeHost->rootLayer()->setBounds(IntSize(10, 10));
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void didCommit() OVERRIDE
+ {
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void commitCompleteOnCCThread(CCLayerTreeHostImpl*) OVERRIDE
+ {
+ if (m_numDrawLayers == 1)
+ m_numCommitComplete++;
+ }
+
+ virtual void drawLayersOnCCThread(CCLayerTreeHostImpl* impl) OVERRIDE
+ {
+ m_numDrawLayers++;
+ if (m_numDrawLayers == 2)
+ endTest();
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ // Check that we didn't commit twice between first and second draw.
+ EXPECT_EQ(1, m_numCommitComplete);
+ }
+
+private:
+ int m_numCommitComplete;
+ int m_numDrawLayers;
+};
+
+TEST_F(CCLayerTreeHostTestContinuousCommit, runMultiThread)
+{
+ runTest(true);
+}
+
+class CCLayerTreeHostTestContinuousInvalidate : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestContinuousInvalidate()
+ : m_numCommitComplete(0)
+ , m_numDrawLayers(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ m_layerTreeHost->setViewportSize(IntSize(10, 10), IntSize(10, 10));
+ m_layerTreeHost->rootLayer()->setBounds(IntSize(10, 10));
+
+ m_contentLayer = ContentLayerChromium::create(&m_mockDelegate);
+ m_contentLayer->setBounds(IntSize(10, 10));
+ m_contentLayer->setPosition(FloatPoint(0, 0));
+ m_contentLayer->setAnchorPoint(FloatPoint(0, 0));
+ m_contentLayer->setIsDrawable(true);
+ m_layerTreeHost->rootLayer()->addChild(m_contentLayer);
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void didCommit() OVERRIDE
+ {
+ m_contentLayer->setNeedsDisplay();
+ }
+
+ virtual void commitCompleteOnCCThread(CCLayerTreeHostImpl*) OVERRIDE
+ {
+ if (m_numDrawLayers == 1)
+ m_numCommitComplete++;
+ }
+
+ virtual void drawLayersOnCCThread(CCLayerTreeHostImpl* impl) OVERRIDE
+ {
+ m_numDrawLayers++;
+ if (m_numDrawLayers == 2)
+ endTest();
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ // Check that we didn't commit twice between first and second draw.
+ EXPECT_EQ(1, m_numCommitComplete);
+
+ // Clear layer references so CCLayerTreeHost dies.
+ m_contentLayer.clear();
+ }
+
+private:
+ MockContentLayerChromiumClient m_mockDelegate;
+ RefPtr<LayerChromium> m_contentLayer;
+ int m_numCommitComplete;
+ int m_numDrawLayers;
+};
+
+TEST_F(CCLayerTreeHostTestContinuousInvalidate, runMultiThread)
+{
+ runTest(true);
+}
+
+class CCLayerTreeHostTestContinuousAnimate : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestContinuousAnimate()
+ : m_numCommitComplete(0)
+ , m_numDrawLayers(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ m_layerTreeHost->setViewportSize(IntSize(10, 10), IntSize(10, 10));
+ m_layerTreeHost->rootLayer()->setBounds(IntSize(10, 10));
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void animate(double) OVERRIDE
+ {
+ m_layerTreeHost->setNeedsAnimate();
+ }
+
+ virtual void layout() OVERRIDE
+ {
+ m_layerTreeHost->rootLayer()->setNeedsDisplay();
+ }
+
+ virtual void commitCompleteOnCCThread(CCLayerTreeHostImpl*) OVERRIDE
+ {
+ if (m_numDrawLayers == 1)
+ m_numCommitComplete++;
+ }
+
+ virtual void drawLayersOnCCThread(CCLayerTreeHostImpl* impl) OVERRIDE
+ {
+ m_numDrawLayers++;
+ if (m_numDrawLayers == 2)
+ endTest();
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ // Check that we didn't commit twice between first and second draw.
+ EXPECT_EQ(1, m_numCommitComplete);
+ }
+
+private:
+ int m_numCommitComplete;
+ int m_numDrawLayers;
+};
+
+TEST_F(CCLayerTreeHostTestContinuousAnimate, runMultiThread)
+{
+ runTest(true);
+}
+
} // namespace
diff --git a/Source/WebKit/chromium/tests/CCMathUtilTest.cpp b/Source/WebKit/chromium/tests/CCMathUtilTest.cpp
index 416e1b56d..553f7a647 100644
--- a/Source/WebKit/chromium/tests/CCMathUtilTest.cpp
+++ b/Source/WebKit/chromium/tests/CCMathUtilTest.cpp
@@ -26,7 +26,7 @@
#include "CCMathUtil.h"
-#include "CCLayerTreeTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "FloatRect.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
diff --git a/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp b/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp
index 4e5f9dc88..560784ba3 100644
--- a/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp
@@ -27,10 +27,10 @@
#include "CCOcclusionTracker.h"
#include "CCAnimationTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCLayerAnimationController.h"
#include "CCLayerImpl.h"
#include "CCLayerTreeHostCommon.h"
-#include "CCLayerTreeTestCommon.h"
#include "CCMathUtil.h"
#include "CCOcclusionTrackerTestCommon.h"
#include "CCOverdrawMetrics.h"
@@ -446,9 +446,9 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 30, 70, 70)));
@@ -466,14 +466,14 @@ protected:
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 30, 70, 70)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(29, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(30, 29, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(31, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(100, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(31, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 31, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 31, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(29, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 29, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(31, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(100, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(31, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 31, 70, 70)));
}
};
@@ -499,9 +499,9 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 30, 70, 70)));
@@ -519,14 +519,14 @@ protected:
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 30, 70, 70)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(29, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(30, 29, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(31, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(100, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(31, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 31, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 31, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(29, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 29, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(31, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(100, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(31, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 31, 70, 70)));
}
};
@@ -550,9 +550,9 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(50, 50, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(50, 50, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(50, 50, 50, 50)));
@@ -570,25 +570,25 @@ protected:
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(50, 50, 50, 50)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(49, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 50, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(49, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(50, 49, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(51, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(100, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 50, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(51, 51, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 51, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(50, 100, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 51, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(49, 51, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 51, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 50, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(50, 49, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(51, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(100, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 50, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(51, 51, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 51, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(50, 100, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 51, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 51, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 51, 50, 50)));
occlusion.useDefaultLayerClipRect();
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(50, 50, 50, 50)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(49, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 50, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(49, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(50, 49, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(51, 49, 49, 1), occlusion.unoccludedContentRect(parent, IntRect(51, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 50, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(50, 49, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(51, 49, 49, 1), occlusion.unoccludedContentRect(parent, IntRect(51, 49, 50, 50)));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(51, 50, 50, 50)).isEmpty());
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(51, 51, 50, 50)).isEmpty());
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(50, 51, 50, 50)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(49, 51, 1, 49), occlusion.unoccludedContentRect(parent, IntRect(49, 51, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 51, 1, 49), occlusion.unoccludedContentRect(parent, IntRect(49, 51, 50, 50)));
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
}
};
@@ -606,6 +606,7 @@ protected:
childTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child = this->createLayer(parent, childTransform, FloatPoint(30, 30), IntSize(500, 500));
child->setMasksToBounds(true);
typename Types::ContentLayerType* layer = this->createDrawingLayer(child, this->identityMatrix, FloatPoint(10, 10), IntSize(500, 500), true);
@@ -617,17 +618,17 @@ protected:
this->visitLayer(layer, occlusion);
this->enterContributingSurface(child, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->leaveContributingSurface(child, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 40, 70, 60)));
@@ -685,6 +686,7 @@ protected:
childTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child = this->createLayer(parent, childTransform, FloatPoint(30, 30), IntSize(500, 500));
child->setMasksToBounds(true);
typename Types::ContentLayerType* layer = this->createDrawingLayer(child, this->identityMatrix, FloatPoint(10, 10), IntSize(500, 500), true);
@@ -698,36 +700,36 @@ protected:
this->visitLayer(child2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 60, 20), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 60, 20), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 60, 20), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 60, 20), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(layer, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->enterContributingSurface(child, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// Occlusion in |child2| should get merged with the |child| surface we are leaving now.
this->leaveContributingSurface(child, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(30, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(90, 30, 10, 10), occlusion.unoccludedContentRect(parent, IntRect(30, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(90, 30, 10, 10), occlusion.unoccludedContentRect(parent, IntRect(30, 30, 70, 70)));
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 30, 60, 10)));
EXPECT_FALSE(occlusion.occluded(parent, IntRect(29, 30, 60, 10)));
@@ -740,21 +742,21 @@ protected:
EXPECT_FALSE(occlusion.occluded(parent, IntRect(30, 39, 70, 60)));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 30, 60, 10)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 30, 1, 10), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 60, 10)));
- EXPECT_INT_RECT_EQ(IntRect(30, 29, 60, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 60, 10)));
- EXPECT_INT_RECT_EQ(IntRect(90, 30, 1, 10), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 60, 10)));
+ EXPECT_RECT_EQ(IntRect(29, 30, 1, 10), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 60, 10)));
+ EXPECT_RECT_EQ(IntRect(30, 29, 60, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 60, 10)));
+ EXPECT_RECT_EQ(IntRect(90, 30, 1, 10), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 60, 10)));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 31, 60, 10)).isEmpty());
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 40, 70, 60)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(29, 40, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(29, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(29, 40, 70, 60)));
// This rect is mostly occluded by |child2|.
- EXPECT_INT_RECT_EQ(IntRect(90, 39, 10, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 39, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(90, 39, 10, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 39, 70, 60)));
// This rect extends past top/right ends of |child2|.
- EXPECT_INT_RECT_EQ(IntRect(30, 29, 70, 11), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 29, 70, 11), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
// This rect extends past left/right ends of |child2|.
- EXPECT_INT_RECT_EQ(IntRect(20, 39, 80, 60), occlusion.unoccludedContentRect(parent, IntRect(20, 39, 80, 60)));
- EXPECT_INT_RECT_EQ(IntRect(100, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(31, 40, 70, 60)));
- EXPECT_INT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 41, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(20, 39, 80, 60), occlusion.unoccludedContentRect(parent, IntRect(20, 39, 80, 60)));
+ EXPECT_RECT_EQ(IntRect(100, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(31, 40, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 41, 70, 60)));
/* Justification for the above occlusion from |layer|:
100
@@ -812,9 +814,9 @@ protected:
this->visitLayer(layer, occlusion);
this->enterContributingSurface(child, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(0u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(clippedLayerInChild, occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(clippedLayerInChild, occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child, clippedLayerInChild));
@@ -839,13 +841,13 @@ protected:
this->leaveContributingSurface(child, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(0u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(75, 55, 1, 1)));
- EXPECT_INT_RECT_EQ(IntRect(75, 55, 1, 1), occlusion.unoccludedContentRect(parent, IntRect(75, 55, 1, 1)));
+ EXPECT_RECT_EQ(IntRect(75, 55, 1, 1), occlusion.unoccludedContentRect(parent, IntRect(75, 55, 1, 1)));
}
};
@@ -862,6 +864,7 @@ protected:
childTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child = this->createLayer(parent, childTransform, FloatPoint(30, 30), IntSize(500, 500));
child->setMasksToBounds(true);
typename Types::ContentLayerType* layer1 = this->createDrawingLayer(child, this->identityMatrix, FloatPoint(10, 10), IntSize(500, 500), true);
@@ -875,9 +878,9 @@ protected:
this->visitLayer(layer1, occlusion);
this->enterContributingSurface(child, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child, IntRect(10, 430, 60, 70)));
@@ -887,17 +890,17 @@ protected:
EXPECT_FALSE(occlusion.occluded(child, IntRect(10, 431, 60, 70)));
EXPECT_TRUE(occlusion.unoccludedContentRect(child, IntRect(10, 430, 60, 70)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(9, 430, 1, 70), occlusion.unoccludedContentRect(child, IntRect(9, 430, 60, 70)));
- EXPECT_INT_RECT_EQ(IntRect(10, 429, 60, 1), occlusion.unoccludedContentRect(child, IntRect(10, 429, 60, 70)));
- EXPECT_INT_RECT_EQ(IntRect(70, 430, 1, 70), occlusion.unoccludedContentRect(child, IntRect(11, 430, 60, 70)));
- EXPECT_INT_RECT_EQ(IntRect(10, 500, 60, 1), occlusion.unoccludedContentRect(child, IntRect(10, 431, 60, 70)));
+ EXPECT_RECT_EQ(IntRect(9, 430, 1, 70), occlusion.unoccludedContentRect(child, IntRect(9, 430, 60, 70)));
+ EXPECT_RECT_EQ(IntRect(10, 429, 60, 1), occlusion.unoccludedContentRect(child, IntRect(10, 429, 60, 70)));
+ EXPECT_RECT_EQ(IntRect(70, 430, 1, 70), occlusion.unoccludedContentRect(child, IntRect(11, 430, 60, 70)));
+ EXPECT_RECT_EQ(IntRect(10, 500, 60, 1), occlusion.unoccludedContentRect(child, IntRect(10, 431, 60, 70)));
this->leaveContributingSurface(child, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 40, 70, 60)));
@@ -905,10 +908,10 @@ protected:
EXPECT_FALSE(occlusion.occluded(parent, IntRect(30, 39, 70, 60)));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 40, 70, 60)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(29, 40, 70, 60)));
- EXPECT_INT_RECT_EQ(IntRect(30, 39, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 39, 70, 60)));
- EXPECT_INT_RECT_EQ(IntRect(100, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(31, 40, 70, 60)));
- EXPECT_INT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 41, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(29, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(29, 40, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(30, 39, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 39, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(100, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(31, 40, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 41, 70, 60)));
/* Justification for the above occlusion from |layer1| and |layer2|:
@@ -950,6 +953,7 @@ protected:
childTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child1 = this->createSurface(parent, childTransform, FloatPoint(30, 30), IntSize(10, 10));
typename Types::LayerType* child2 = this->createSurface(parent, childTransform, FloatPoint(20, 40), IntSize(10, 10));
typename Types::ContentLayerType* layer1 = this->createDrawingLayer(child1, this->identityMatrix, FloatPoint(-10, -10), IntSize(510, 510), true);
@@ -962,9 +966,9 @@ protected:
this->visitLayer(layer2, occlusion);
this->enterContributingSurface(child2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(20, 30, 80, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 30, 80, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child2, IntRect(-10, 420, 70, 80)));
@@ -982,15 +986,15 @@ protected:
occlusion.setLayerClipRect(IntRect(-20, -20, 1000, 1000));
// There is nothing above child2's surface in the z-order.
- EXPECT_INT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.unoccludedContributingSurfaceContentRect(child2, false, IntRect(-10, 420, 70, 80)));
+ EXPECT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.unoccludedContributingSurfaceContentRect(child2, false, IntRect(-10, 420, 70, 80)));
this->leaveContributingSurface(child2, occlusion);
this->visitLayer(layer1, occlusion);
this->enterContributingSurface(child1, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(-10, 430, 80, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(-10, 430, 80, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child1, IntRect(-10, 430, 80, 70)));
@@ -1000,14 +1004,14 @@ protected:
EXPECT_FALSE(occlusion.occluded(child1, IntRect(-10, 430, 80, 71)));
// child2's contents will occlude child1 below it.
- EXPECT_INT_RECT_EQ(IntRect(-10, 430, 10, 70), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(-10, 430, 80, 70)));
+ EXPECT_RECT_EQ(IntRect(-10, 430, 10, 70), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(-10, 430, 80, 70)));
this->leaveContributingSurface(child1, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(20, 20, 80, 80)));
@@ -1064,6 +1068,7 @@ protected:
child2Transform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child1 = this->createSurface(parent, child1Transform, FloatPoint(30, 20), IntSize(10, 10));
typename Types::LayerType* child2 = this->createDrawingSurface(parent, child2Transform, FloatPoint(20, 40), IntSize(10, 10), false);
typename Types::ContentLayerType* layer1 = this->createDrawingLayer(child1, this->identityMatrix, FloatPoint(-10, -20), IntSize(510, 510), true);
@@ -1076,9 +1081,9 @@ protected:
this->visitLayer(layer2, occlusion);
this->enterLayer(child2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(20, 30, 80, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 30, 80, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child2, IntRect(-10, 420, 70, 80)));
@@ -1091,15 +1096,15 @@ protected:
this->enterContributingSurface(child2, occlusion);
// There is nothing above child2's surface in the z-order.
- EXPECT_INT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.unoccludedContributingSurfaceContentRect(child2, false, IntRect(-10, 420, 70, 80)));
+ EXPECT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.unoccludedContributingSurfaceContentRect(child2, false, IntRect(-10, 420, 70, 80)));
this->leaveContributingSurface(child2, occlusion);
this->visitLayer(layer1, occlusion);
this->enterContributingSurface(child1, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(420, -20, 80, 90), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(420, -20, 80, 90), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child1, IntRect(420, -20, 80, 90)));
@@ -1109,16 +1114,16 @@ protected:
EXPECT_FALSE(occlusion.occluded(child1, IntRect(421, -20, 80, 90)));
// child2's contents will occlude child1 below it.
- EXPECT_INT_RECT_EQ(IntRect(420, -20, 80, 90), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -20, 80, 90)));
- EXPECT_INT_RECT_EQ(IntRect(490, -10, 10, 80), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -10, 80, 90)));
- EXPECT_INT_RECT_EQ(IntRect(420, -20, 70, 10), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -20, 70, 90)));
+ EXPECT_RECT_EQ(IntRect(420, -20, 80, 90), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -20, 80, 90)));
+ EXPECT_RECT_EQ(IntRect(490, -10, 10, 80), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -10, 80, 90)));
+ EXPECT_RECT_EQ(IntRect(420, -20, 70, 10), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -20, 70, 90)));
this->leaveContributingSurface(child1, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(10, 20, 90, 80)));
@@ -1166,6 +1171,7 @@ protected:
layerTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::ContentLayerType* blurLayer = this->createDrawingLayer(parent, layerTransform, FloatPoint(30, 30), IntSize(500, 500), true);
typename Types::ContentLayerType* opaqueLayer = this->createDrawingLayer(parent, layerTransform, FloatPoint(30, 30), IntSize(500, 500), true);
typename Types::ContentLayerType* opacityLayer = this->createDrawingLayer(parent, layerTransform, FloatPoint(30, 30), IntSize(500, 500), true);
@@ -1203,16 +1209,16 @@ protected:
this->visitLayer(opaqueLayer, occlusion);
this->enterContributingSurface(opaqueLayer, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 430, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 430, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// And it gets translated to the parent surface.
this->leaveContributingSurface(opaqueLayer, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// The blur layer needs to throw away any occlusion from outside its subtree.
@@ -1229,9 +1235,9 @@ protected:
// But the opaque layer's occlusion is preserved on the parent.
this->leaveContributingSurface(blurLayer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -1253,16 +1259,16 @@ protected:
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitContributingSurface(surface, occlusion);
this->enterLayer(parent, occlusion);
// The surface and replica should both be occluding the parent.
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -1275,6 +1281,7 @@ protected:
void runMyTest()
{
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 170));
+ parent->setMasksToBounds(true);
typename Types::LayerType* surface = this->createDrawingSurface(parent, this->identityMatrix, FloatPoint(0, 100), IntSize(50, 50), true);
this->createReplicaLayer(surface, this->identityMatrix, FloatPoint(50, 50), IntSize());
this->calcDrawEtc(parent);
@@ -1284,16 +1291,16 @@ protected:
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitContributingSurface(surface, occlusion);
this->enterLayer(parent, occlusion);
// The surface and replica should both be occluding the parent.
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 100, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 100, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -1316,16 +1323,16 @@ protected:
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitContributingSurface(surface, occlusion);
this->enterLayer(parent, occlusion);
// The replica should not be occluding the parent, since it has a mask applied to it.
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -1370,7 +1377,7 @@ protected:
EXPECT_TRUE(occlusion.occluded(parent, IntRect(100, 200, 100, 100)));
EXPECT_TRUE(occlusion.occluded(parent, IntRect(200, 200, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 100, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 100, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -1414,7 +1421,7 @@ protected:
EXPECT_TRUE(occlusion.occluded(parent, IntRect(100, 200, 100, 100)));
EXPECT_TRUE(occlusion.occluded(parent, IntRect(200, 200, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 100, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 100, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -1531,11 +1538,11 @@ protected:
EXPECT_FALSE(occlusion.occluded(parent, IntRect(100, 200, 100, 100)));
EXPECT_FALSE(occlusion.occluded(parent, IntRect(200, 200, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
- EXPECT_INT_RECT_EQ(IntRect(200, 50, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 100, 300, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(200, 100, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(100, 200, 100, 50), occlusion.unoccludedContentRect(parent, IntRect(100, 200, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 50, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 100)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 100, 300, 100)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(200, 100, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(100, 200, 100, 50), occlusion.unoccludedContentRect(parent, IntRect(100, 200, 100, 100)));
}
};
@@ -1574,11 +1581,11 @@ protected:
EXPECT_FALSE(occlusion.occluded(parent, IntRect(100, 200, 100, 100)));
EXPECT_FALSE(occlusion.occluded(parent, IntRect(200, 200, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
- EXPECT_INT_RECT_EQ(IntRect(200, 50, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 100, 300, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(200, 100, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(100, 200, 100, 50), occlusion.unoccludedContentRect(parent, IntRect(100, 200, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 50, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 100)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 100, 300, 100)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(200, 100, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(100, 200, 100, 50), occlusion.unoccludedContentRect(parent, IntRect(100, 200, 100, 100)));
}
};
@@ -1747,7 +1754,7 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(100, 100, 100, 100), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(100, 100, 100, 100), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(0, 100, 100, 100)));
@@ -1763,7 +1770,7 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(120, 120, 180, 180), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(120, 120, 180, 180), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(0, 100, 100, 100)));
@@ -1779,7 +1786,7 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(250, 250, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(250, 250, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(0, 100, 100, 100)));
@@ -1808,7 +1815,7 @@ protected:
this->enterLayer(layer, occlusion);
// The layer is rotated in 3d but without preserving 3d, so it only gets resized.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 200, 200), occlusion.unoccludedContentRect(layer, IntRect(0, 0, 200, 200)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 200, 200), occlusion.unoccludedContentRect(layer, IntRect(0, 0, 200, 200)));
}
};
@@ -1873,7 +1880,7 @@ protected:
TestCCOcclusionTrackerWithClip<typename Types::LayerType, typename Types::RenderSurfaceType> occlusion(IntRect(0, 0, 1000, 1000));
this->enterLayer(layer, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 200, 200), occlusion.unoccludedContentRect(layer, IntRect(0, 0, 200, 200)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 200, 200), occlusion.unoccludedContentRect(layer, IntRect(0, 0, 200, 200)));
}
};
@@ -1955,6 +1962,7 @@ protected:
transform.translate(-50, -50);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::ContentLayerType* layer = this->createDrawingLayer(parent, transform, FloatPoint(0, 0), IntSize(100, 100), true);
parent->setPreserves3D(true);
layer->setPreserves3D(true);
@@ -1966,9 +1974,9 @@ protected:
// Ensure that those pixels don't occlude things outside the clipRect.
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
}
};
@@ -2002,27 +2010,27 @@ protected:
this->visitLayer(topmost, occlusion);
this->enterLayer(parent2, occlusion);
// This occlusion will affect all surfaces.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent2, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent2, IntRect(0, 0, 300, 300)));
this->leaveLayer(parent2, occlusion);
this->visitLayer(surfaceChild2, occlusion);
this->enterLayer(surfaceChild, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(100, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(100, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 300, 300)));
this->leaveLayer(surfaceChild, occlusion);
this->enterLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(200, 0, 50, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 0, 50, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
this->leaveLayer(surface, occlusion);
this->enterContributingSurface(surface, occlusion);
// Occlusion within the surface is lost when leaving the animating surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
this->leaveContributingSurface(surface, occlusion);
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
// Occlusion is not added for the animating |layer|.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -2054,27 +2062,27 @@ protected:
this->visitLayer(topmost, occlusion);
this->enterLayer(parent2, occlusion);
// This occlusion will affect all surfaces.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
this->leaveLayer(parent2, occlusion);
this->visitLayer(surfaceChild2, occlusion);
this->enterLayer(surfaceChild, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(100, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(100, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 300, 300)));
this->leaveLayer(surfaceChild, occlusion);
this->enterLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(200, 0, 50, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 0, 50, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
this->leaveLayer(surface, occlusion);
this->enterContributingSurface(surface, occlusion);
// Occlusion within the surface is lost when leaving the animating surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
this->leaveContributingSurface(surface, occlusion);
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
// Occlusion is not added for the animating |layer|.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -2112,7 +2120,7 @@ protected:
this->visitLayer(surface2, occlusion);
this->enterContributingSurface(surface2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
this->leaveContributingSurface(surface2, occlusion);
@@ -2120,53 +2128,53 @@ protected:
// surfaceChild2 is moving in screen space but not relative to its target, so occlusion should happen in its target space only.
// It also means that things occluding in screen space (e.g. surface2) cannot occlude this layer.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild2, IntRect(0, 0, 100, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild2, IntRect(0, 0, 100, 300)));
EXPECT_FALSE(occlusion.occluded(surfaceChild, IntRect(0, 0, 50, 300)));
this->leaveLayer(surfaceChild2, occlusion);
this->enterLayer(surfaceChild, occlusion);
EXPECT_FALSE(occlusion.occluded(surfaceChild, IntRect(0, 0, 100, 300)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(100, 0, 200, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(100, 0, 200, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
// The surfaceChild is occluded by the surfaceChild2, but is moving relative its target and the screen, so it
// can't be occluded.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 200, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 200, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 200, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 200, 300)));
EXPECT_FALSE(occlusion.occluded(surfaceChild, IntRect(0, 0, 50, 300)));
this->leaveLayer(surfaceChild, occlusion);
this->enterLayer(surface, occlusion);
// The surfaceChild is moving in screen space but not relative to its target, so occlusion should happen in its target space only.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(100, 0, 200, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(100, 0, 200, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
this->leaveLayer(surface, occlusion);
// The surface's owning layer is moving in screen space but not relative to its target, so occlusion should happen in its target space only.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 300), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 300), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
this->enterContributingSurface(surface, occlusion);
// The contributing |surface| is animating so it can't be occluded.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
this->leaveContributingSurface(surface, occlusion);
this->enterLayer(layer, occlusion);
// The |surface| is moving in the screen and in its target, so all occlusion within the surface is lost when leaving it.
- EXPECT_INT_RECT_EQ(IntRect(50, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(50, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
this->leaveLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
// The |layer| is animating in the screen and in its target, so no occlusion is added.
- EXPECT_INT_RECT_EQ(IntRect(50, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(50, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -2194,9 +2202,9 @@ protected:
this->visitLayer(surface2, occlusion);
this->visitContributingSurface(surface2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// Clear any stored occlusion.
@@ -2206,9 +2214,9 @@ protected:
this->visitLayer(surface, occlusion);
this->visitContributingSurface(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 400, 400), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 400, 400), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 400, 400), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 400, 400), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -2221,6 +2229,7 @@ protected:
void runMyTest()
{
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(300, 300));
+ parent->setMasksToBounds(true);
typename Types::ContentLayerType* surface = this->createDrawingSurface(parent, this->identityMatrix, FloatPoint(0, 0), IntSize(500, 300), false);
surface->setOpaqueContentsRect(IntRect(0, 0, 400, 200));
this->calcDrawEtc(parent);
@@ -2230,9 +2239,9 @@ protected:
this->visitLayer(surface, occlusion);
this->visitContributingSurface(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 200), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 200), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -2256,22 +2265,22 @@ protected:
// |topmost| occludes the replica, but not the surface itself.
this->visitLayer(topmost, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->enterContributingSurface(surface, occlusion);
// Surface is not occluded so it shouldn't think it is.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
}
};
@@ -2294,23 +2303,23 @@ protected:
// |topmost| occludes the surface, but not the entire surface's replica.
this->visitLayer(topmost, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->enterContributingSurface(surface, occlusion);
// Surface is occluded, but only the top 10px of the replica.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(0, 10, 100, 90), occlusion.unoccludedContributingSurfaceContentRect(surface, true, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 10, 100, 90), occlusion.unoccludedContributingSurfaceContentRect(surface, true, IntRect(0, 0, 100, 100)));
}
};
@@ -2335,23 +2344,23 @@ protected:
this->visitLayer(overReplica, occlusion);
this->visitLayer(overSurface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 200), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 200), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->enterContributingSurface(surface, occlusion);
// Surface and replica are occluded different amounts.
- EXPECT_INT_RECT_EQ(IntRect(40, 0, 60, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(50, 0, 50, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, true, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(40, 0, 60, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(50, 0, 50, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, true, IntRect(0, 0, 100, 100)));
}
};
@@ -2375,18 +2384,18 @@ protected:
// |topmost| occludes everything partially so we know occlusion is happening at all.
this->visitLayer(topmost, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(surfaceChild, occlusion);
// surfaceChild increases the occlusion in the screen by a narrow sliver.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
// In its own surface, surfaceChild is at 0,0 as is its occlusion.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// The root layer always has a clipRect. So the parent of |surface| has a clipRect. However, the owning layer for |surface| does not
@@ -2396,20 +2405,20 @@ protected:
this->enterContributingSurface(surfaceChild, occlusion);
// The surfaceChild's parent does not have a clipRect as it owns a render surface. Make sure the unoccluded rect
// does not get clipped away inappropriately.
- EXPECT_INT_RECT_EQ(IntRect(0, 40, 100, 10), occlusion.unoccludedContributingSurfaceContentRect(surfaceChild, false, IntRect(0, 0, 100, 50)));
+ EXPECT_RECT_EQ(IntRect(0, 40, 100, 10), occlusion.unoccludedContributingSurfaceContentRect(surfaceChild, false, IntRect(0, 0, 100, 50)));
this->leaveContributingSurface(surfaceChild, occlusion);
// When the surfaceChild's occlusion is transformed up to its parent, make sure it is not clipped away inappropriately also.
this->enterLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 10, 100, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 10, 100, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->leaveLayer(surface, occlusion);
this->enterContributingSurface(surface, occlusion);
// The surface's parent does have a clipRect as it is the root layer.
- EXPECT_INT_RECT_EQ(IntRect(0, 50, 100, 50), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 50, 100, 50), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
}
};
@@ -2435,7 +2444,7 @@ protected:
// The root layer always has a clipRect. So the parent of |surface| has a clipRect giving the surface itself a clipRect.
this->enterContributingSurface(surface, occlusion);
// Make sure the parent's clipRect clips the unoccluded region of the child surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 300)));
}
this->resetLayerIterator();
{
@@ -2447,7 +2456,7 @@ protected:
// The root layer always has a clipRect. So the parent of |surface| has a clipRect giving the surface itself a clipRect.
this->enterContributingSurface(surface, occlusion);
// Make sure the viewport rect clips the unoccluded region of the child surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 300)));
}
}
};
@@ -2462,6 +2471,7 @@ protected:
// This test verifies that the surface cliprect does not end up empty and clip away the entire unoccluded rect.
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(80, 200));
+ parent->setMasksToBounds(true);
typename Types::LayerType* surface = this->createDrawingSurface(parent, this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100), true);
typename Types::LayerType* surfaceChild = this->createDrawingSurface(surface, this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100), false);
typename Types::LayerType* topmost = this->createDrawingLayer(parent, this->identityMatrix, FloatPoint(0, 0), IntSize(100, 50), true);
@@ -2473,17 +2483,17 @@ protected:
// |topmost| occludes everything partially so we know occlusion is happening at all.
this->visitLayer(topmost, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// surfaceChild is not opaque and does not occlude, so we have a non-empty unoccluded area on surface.
this->visitLayer(surfaceChild, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
// The root layer always has a clipRect. So the parent of |surface| has a clipRect. However, the owning layer for |surface| does not
@@ -2492,13 +2502,13 @@ protected:
this->enterContributingSurface(surfaceChild, occlusion);
// The surfaceChild's parent does not have a clipRect as it owns a render surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 50, 80, 50), occlusion.unoccludedContributingSurfaceContentRect(surfaceChild, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 50, 80, 50), occlusion.unoccludedContributingSurfaceContentRect(surfaceChild, false, IntRect(0, 0, 100, 100)));
this->leaveContributingSurface(surfaceChild, occlusion);
this->visitLayer(surface, occlusion);
this->enterContributingSurface(surface, occlusion);
// The surface's parent does have a clipRect as it is the root layer.
- EXPECT_INT_RECT_EQ(IntRect(0, 50, 80, 50), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 50, 80, 50), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
}
};
@@ -2546,28 +2556,28 @@ protected:
this->visitLayer(occludingLayer2, occlusion);
this->visitLayer(occludingLayer1, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(5u, occlusion.occlusionInTargetSurface().rects().size());
// Everything outside the surface/replica is occluded but the surface/replica itself is not.
this->enterLayer(filteredSurface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(1, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(1, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(0, 1, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, 1, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(-1, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, -1, 100, 100)));
-
- EXPECT_INT_RECT_EQ(IntRect(300 + 1, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 1, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(300 + 0, 1, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 0, 1, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(300 + 0, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 - 1, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(300 + 0, 0, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 0, -1, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(1, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(1, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 1, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, 1, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(-1, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, -1, 100, 100)));
+
+ EXPECT_RECT_EQ(IntRect(300 + 1, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 1, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(300 + 0, 1, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 0, 1, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(300 + 0, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 - 1, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(300 + 0, 0, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 0, -1, 100, 100)));
this->leaveLayer(filteredSurface, occlusion);
// The filtered layer/replica does not occlude.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
// The surface has a background blur, so it needs pixels that are currently considered occluded in order to be drawn. So the pixels
@@ -2575,9 +2585,9 @@ protected:
this->visitContributingSurface(filteredSurface, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(5u, occlusion.occlusionInTargetSurface().rects().size());
IntRect outsetRect;
@@ -2586,44 +2596,44 @@ protected:
// Nothing in the blur outsets for the filteredSurface is occluded.
outsetRect = IntRect(50 - outsetLeft, 50 - outsetTop, 50 + outsetLeft + outsetRight, 50 + outsetTop + outsetBottom);
testRect = outsetRect;
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
// Stuff outside the blur outsets is still occluded though.
testRect = outsetRect;
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.move(-1, 0);
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.move(0, -1);
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
// Nothing in the blur outsets for the filteredSurface's replica is occluded.
outsetRect = IntRect(200 - outsetLeft, 50 - outsetTop, 50 + outsetLeft + outsetRight, 50 + outsetTop + outsetBottom);
testRect = outsetRect;
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
// Stuff outside the blur outsets is still occluded though.
testRect = outsetRect;
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.move(-1, 0);
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.move(0, -1);
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
}
};
@@ -2661,9 +2671,9 @@ protected:
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
this->visitLayer(occludingLayerAbove, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(100 / 2, 100 / 2, 50 / 2, 50 / 2), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(100 / 2, 100 / 2, 50 / 2, 50 / 2), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(100, 100, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(100, 100, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(filteredSurface2, occlusion);
@@ -2676,7 +2686,7 @@ protected:
// Test expectations in the target.
IntRect expectedOcclusion = IntRect(100 + outsetRight * 2, 100 + outsetBottom * 2, 50 - (outsetLeft + outsetRight) * 2, 50 - (outsetTop + outsetBottom) * 2);
- EXPECT_INT_RECT_EQ(expectedOcclusion, occlusion.occlusionInTargetSurface().rects()[0]);
+ EXPECT_RECT_EQ(expectedOcclusion, occlusion.occlusionInTargetSurface().rects()[0]);
// Test expectations in the screen. Take the ceiling of half of the outsets.
outsetTop = (outsetTop + 1) / 2;
@@ -2685,7 +2695,7 @@ protected:
outsetLeft = (outsetLeft + 1) / 2;
expectedOcclusion = IntRect(100 / 2 + outsetRight * 2, 100 / 2 + outsetBottom * 2, 50 / 2 - (outsetLeft + outsetRight) * 2, 50 /2 - (outsetTop + outsetBottom) * 2);
- EXPECT_INT_RECT_EQ(expectedOcclusion, occlusion.occlusionInScreenSpace().rects()[0]);
+ EXPECT_RECT_EQ(expectedOcclusion, occlusion.occlusionInScreenSpace().rects()[0]);
}
};
@@ -2732,28 +2742,28 @@ protected:
this->visitLayer(occludingLayer2, occlusion);
this->visitLayer(occludingLayer1, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(5u, occlusion.occlusionInTargetSurface().rects().size());
// Everything outside the surface/replica is occluded but the surface/replica itself is not.
this->enterLayer(filteredSurface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(1, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(1, 0, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(0, 1, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, 1, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(-1, 0, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, -1, 50, 50)));
-
- EXPECT_INT_RECT_EQ(IntRect(150 + 1, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 1, 0, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(150 + 0, 1, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 0, 1, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(150 + 0, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 - 1, 0, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(150 + 0, 0, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 0, -1, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(1, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(1, 0, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(0, 1, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, 1, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(-1, 0, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, -1, 50, 50)));
+
+ EXPECT_RECT_EQ(IntRect(150 + 1, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 1, 0, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(150 + 0, 1, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 0, 1, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(150 + 0, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 - 1, 0, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(150 + 0, 0, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 0, -1, 50, 50)));
this->leaveLayer(filteredSurface, occlusion);
// The filtered layer/replica does not occlude.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
// The surface has a background blur, so it needs pixels that are currently considered occluded in order to be drawn. So the pixels
@@ -2761,7 +2771,7 @@ protected:
this->visitContributingSurface(filteredSurface, occlusion);
this->enterContributingSurface(clippingSurface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
IntRect outsetRect;
@@ -2772,45 +2782,45 @@ protected:
outsetRect = IntRect(50 - outsetLeft, 50 - outsetTop, 50 + outsetLeft + outsetRight, 50 + outsetTop + outsetBottom);
clippedOutsetRect = intersection(outsetRect, IntRect(0 - outsetLeft, 0 - outsetTop, 300 + outsetLeft + outsetRight, 70 + outsetTop + outsetBottom));
testRect = outsetRect;
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
// Stuff outside the (clipped) blur outsets is still occluded though.
testRect = outsetRect;
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.move(-1, 0);
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.move(0, -1);
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
// Nothing in the (clipped) blur outsets for the filteredSurface's replica is occluded.
outsetRect = IntRect(200 - outsetLeft, 50 - outsetTop, 50 + outsetLeft + outsetRight, 50 + outsetTop + outsetBottom);
clippedOutsetRect = intersection(outsetRect, IntRect(0 - outsetLeft, 0 - outsetTop, 300 + outsetLeft + outsetRight, 70 + outsetTop + outsetBottom));
testRect = outsetRect;
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
// Stuff outside the (clipped) blur outsets is still occluded though.
testRect = outsetRect;
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.move(-1, 0);
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.move(0, -1);
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
}
};
@@ -2856,9 +2866,9 @@ protected:
IntRect occlusionBehindReplica = IntRect(210, 60, 30, 30);
IntRect expectedOpaqueBounds = unionRect(occlusionBehindSurface, occlusionBehindReplica);
- EXPECT_INT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -2904,9 +2914,9 @@ protected:
IntRect occlusionAboveReplica = IntRect(200, 50, 50, 50);
IntRect expectedOpaqueBounds = unionRect(occlusionAboveSurface, occlusionAboveReplica);
- EXPECT_INT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -3005,17 +3015,17 @@ protected:
// The small layer is not tracked because it is too small.
this->visitLayer(small, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(0u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
// The large layer is tracked as it is large enough.
this->visitLayer(large, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(), trackingSize), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(IntPoint(), trackingSize), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(), trackingSize), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(IntPoint(), trackingSize), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
diff --git a/Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp b/Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp
index 4bcaccdc3..9076d34d4 100644
--- a/Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp
+++ b/Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp
@@ -31,6 +31,7 @@
#include "CCTexture.h"
#include "CCTiledLayerTestCommon.h"
#include "FakeCCGraphicsContext.h"
+#include "WebCompositorInitializer.h"
#include <gtest/gtest.h>
using namespace WebCore;
@@ -44,6 +45,7 @@ public:
CCPrioritizedTextureTest()
: m_textureSize(256, 256)
, m_textureFormat(GraphicsContext3D::RGBA)
+ , m_compositorInitializer(0)
, m_context(WebKit::createFakeCCGraphicsContext())
{
DebugScopedSetImplThread implThread;
@@ -68,12 +70,12 @@ public:
bool validateTexture(OwnPtr<CCPrioritizedTexture>& texture, bool requestLate)
{
- DebugScopedSetImplThread implThread;
#if !ASSERT_DISABLED
texture->textureManager()->assertInvariants();
#endif
if (requestLate)
texture->requestLate();
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
bool success = texture->canAcquireBackingTexture();
if (success)
texture->acquireBackingTexture(resourceProvider());
@@ -88,6 +90,7 @@ public:
protected:
const IntSize m_textureSize;
const GC3Denum m_textureFormat;
+ WebCompositorInitializer m_compositorInitializer;
OwnPtr<CCGraphicsContext> m_context;
OwnPtr<CCResourceProvider> m_resourceProvider;
};
@@ -128,7 +131,7 @@ TEST_F(CCPrioritizedTextureTest, requestTextureExceedingMaxLimit)
EXPECT_EQ(texturesMemorySize(maxTextures), textureManager->memoryAboveCutoffBytes());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -149,7 +152,7 @@ TEST_F(CCPrioritizedTextureTest, changeMemoryLimits)
for (size_t i = 0; i < maxTextures; ++i)
validateTexture(textures[i], false);
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->reduceMemory(resourceProvider());
}
@@ -162,7 +165,7 @@ TEST_F(CCPrioritizedTextureTest, changeMemoryLimits)
for (size_t i = 0; i < maxTextures; ++i)
EXPECT_EQ(validateTexture(textures[i], false), i < 5);
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->reduceMemory(resourceProvider());
}
@@ -175,14 +178,14 @@ TEST_F(CCPrioritizedTextureTest, changeMemoryLimits)
for (size_t i = 0; i < maxTextures; ++i)
EXPECT_EQ(validateTexture(textures[i], false), i < 4);
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->reduceMemory(resourceProvider());
}
EXPECT_EQ(texturesMemorySize(4), textureManager->memoryAboveCutoffBytes());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -242,7 +245,7 @@ TEST_F(CCPrioritizedTextureTest, textureManagerPartialUpdateTextures)
EXPECT_FALSE(textures[2]->haveBackingTexture());
EXPECT_FALSE(textures[3]->haveBackingTexture());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -282,7 +285,7 @@ TEST_F(CCPrioritizedTextureTest, textureManagerPrioritiesAreEqual)
EXPECT_EQ(texturesMemorySize(8), textureManager->memoryAboveCutoffBytes());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -302,7 +305,7 @@ TEST_F(CCPrioritizedTextureTest, textureManagerDestroyedFirst)
EXPECT_TRUE(texture->haveBackingTexture());
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
textureManager.clear();
@@ -330,7 +333,7 @@ TEST_F(CCPrioritizedTextureTest, textureMovedToNewManager)
texture->setTextureManager(0);
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManagerOne->clearAllMemory(resourceProvider());
}
textureManagerOne.clear();
@@ -346,7 +349,7 @@ TEST_F(CCPrioritizedTextureTest, textureMovedToNewManager)
EXPECT_TRUE(texture->canAcquireBackingTexture());
EXPECT_TRUE(texture->haveBackingTexture());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManagerTwo->clearAllMemory(resourceProvider());
}
@@ -392,7 +395,7 @@ TEST_F(CCPrioritizedTextureTest, renderSurfacesReduceMemoryAvailableOutsideRootS
EXPECT_EQ(texturesMemorySize(4), textureManager->memoryForSelfManagedTextures());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -429,7 +432,7 @@ TEST_F(CCPrioritizedTextureTest, renderSurfacesReduceMemoryAvailableForRequestLa
EXPECT_EQ(texturesMemorySize(4), textureManager->memoryForSelfManagedTextures());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -469,7 +472,7 @@ TEST_F(CCPrioritizedTextureTest, whenRenderSurfaceNotAvailableTexturesAlsoNotAva
EXPECT_EQ(texturesMemorySize(2), textureManager->memoryForSelfManagedTextures());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
diff --git a/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp b/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp
index 2c5e8859c..b8dc30f72 100644
--- a/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp
@@ -26,6 +26,7 @@
#include "CCQuadCuller.h"
+#include "CCAppendQuadsData.h"
#include "CCLayerTilingData.h"
#include "CCMathUtil.h"
#include "CCOcclusionTracker.h"
@@ -100,8 +101,8 @@ static void appendQuads(CCQuadList& quadList, CCSharedQuadStateList& sharedState
{
occlusionTracker.enterLayer(it);
CCQuadCuller quadCuller(quadList, sharedStateList, layer, &occlusionTracker, false, false);
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
occlusionTracker.leaveLayer(it);
++it;
}
diff --git a/Source/WebKit/chromium/tests/CCRenderPassTest.cpp b/Source/WebKit/chromium/tests/CCRenderPassTest.cpp
new file mode 100644
index 000000000..8f63ad326
--- /dev/null
+++ b/Source/WebKit/chromium/tests/CCRenderPassTest.cpp
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2012 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 INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#include "CCRenderPass.h"
+
+#include "CCCheckerboardDrawQuad.h"
+#include "CCGeometryTestUtils.h"
+#include <gtest/gtest.h>
+#include <public/WebFilterOperations.h>
+#include <public/WebTransformationMatrix.h>
+
+using WebKit::WebFilterOperation;
+using WebKit::WebFilterOperations;
+using WebKit::WebTransformationMatrix;
+
+using namespace WebCore;
+
+namespace {
+
+class CCTestRenderPass : public CCRenderPass {
+public:
+ CCQuadList& quadList() { return m_quadList; }
+ CCSharedQuadStateList& sharedQuadStateList() { return m_sharedQuadStateList; }
+};
+
+struct CCRenderPassSize {
+ // If you add a new field to this class, make sure to add it to the copy() tests.
+ CCRenderPass::Id m_id;
+ CCQuadList m_quadList;
+ CCSharedQuadStateList m_sharedQuadStateList;
+ WebKit::WebTransformationMatrix m_transformToRootTarget;
+ IntRect m_outputRect;
+ FloatRect m_damageRect;
+ bool m_hasTransparentBackground;
+ bool m_hasOcclusionFromOutsideTargetSurface;
+ WebKit::WebFilterOperations m_filters;
+ WebKit::WebFilterOperations m_backgroundFilters;
+};
+
+TEST(CCRenderPassTest, copyShouldBeIdenticalExceptIdAndQuads)
+{
+ CCRenderPass::Id id(3, 2);
+ IntRect outputRect(45, 22, 120, 13);
+ WebTransformationMatrix transformToRoot(1, 0.5, 0.5, -0.5, -1, 0);
+
+ OwnPtr<CCRenderPass> pass(CCRenderPass::create(id, outputRect, transformToRoot));
+
+ IntRect damageRect(56, 123, 19, 43);
+ bool hasTransparentBackground = true;
+ bool hasOcclusionFromOutsideTargetSurface = true;
+ WebFilterOperations filters;
+ WebFilterOperations backgroundFilters;
+
+ filters.append(WebFilterOperation::createGrayscaleFilter(0.2f));
+ backgroundFilters.append(WebFilterOperation::createInvertFilter(0.2f));
+
+ pass->setDamageRect(damageRect);
+ pass->setHasTransparentBackground(hasTransparentBackground);
+ pass->setHasOcclusionFromOutsideTargetSurface(hasOcclusionFromOutsideTargetSurface);
+ pass->setFilters(filters);
+ pass->setBackgroundFilters(backgroundFilters);
+
+ // Stick a quad in the pass, this should not get copied.
+ CCTestRenderPass* testPass = static_cast<CCTestRenderPass*>(pass.get());
+ testPass->sharedQuadStateList().append(CCSharedQuadState::create(WebTransformationMatrix(), IntRect(), IntRect(), 1, false));
+ testPass->quadList().append(CCCheckerboardDrawQuad::create(testPass->sharedQuadStateList().last().get(), IntRect()));
+
+ CCRenderPass::Id newId(63, 4);
+
+ OwnPtr<CCRenderPass> copy(pass->copy(newId));
+ EXPECT_EQ(newId, copy->id());
+ EXPECT_RECT_EQ(pass->outputRect(), copy->outputRect());
+ EXPECT_EQ(pass->transformToRootTarget(), copy->transformToRootTarget());
+ EXPECT_RECT_EQ(pass->damageRect(), copy->damageRect());
+ EXPECT_EQ(pass->hasTransparentBackground(), copy->hasTransparentBackground());
+ EXPECT_EQ(pass->hasOcclusionFromOutsideTargetSurface(), copy->hasOcclusionFromOutsideTargetSurface());
+ EXPECT_EQ(pass->filters(), copy->filters());
+ EXPECT_EQ(pass->backgroundFilters(), copy->backgroundFilters());
+ EXPECT_EQ(0u, copy->quadList().size());
+
+ EXPECT_EQ(sizeof(CCRenderPassSize), sizeof(CCRenderPass));
+}
+
+} // namespace
diff --git a/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp b/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
index 05d716641..d66b8c951 100644
--- a/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
+++ b/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
@@ -26,7 +26,9 @@
#include "CCRenderSurface.h"
+#include "CCAppendQuadsData.h"
#include "CCLayerImpl.h"
+#include "CCRenderPassSink.h"
#include "CCSharedQuadState.h"
#include "CCSingleThreadProxy.h"
#include "MockCCQuadCuller.h"
@@ -119,9 +121,10 @@ TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectSharedQuadState)
CCQuadList quadList;
CCSharedQuadStateList sharedStateList;
MockCCQuadCuller mockQuadCuller(quadList, sharedStateList);
+ CCAppendQuadsData appendQuadsData;
bool forReplica = false;
- renderSurface->appendQuads(mockQuadCuller, forReplica, 1);
+ renderSurface->appendQuads(mockQuadCuller, appendQuadsData, forReplica, CCRenderPass::Id(2, 0));
ASSERT_EQ(1u, sharedStateList.size());
CCSharedQuadState* sharedQuadState = sharedStateList[0].get();
@@ -133,4 +136,49 @@ TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectSharedQuadState)
EXPECT_FALSE(sharedQuadState->opaque);
}
+class TestCCRenderPassSink : public CCRenderPassSink {
+public:
+ virtual void appendRenderPass(PassOwnPtr<CCRenderPass> renderPass) OVERRIDE { m_renderPasses.append(renderPass); }
+
+ const Vector<OwnPtr<CCRenderPass> >& renderPasses() const { return m_renderPasses; }
+
+private:
+ Vector<OwnPtr<CCRenderPass> > m_renderPasses;
+
+};
+
+TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectRenderPass)
+{
+ // This will fake that we are on the correct thread for testing purposes.
+ DebugScopedSetImplThread setImplThread;
+
+ OwnPtr<CCLayerImpl> rootLayer = CCLayerImpl::create(1);
+
+ OwnPtr<CCLayerImpl> owningLayer = CCLayerImpl::create(2);
+ owningLayer->createRenderSurface();
+ ASSERT_TRUE(owningLayer->renderSurface());
+ owningLayer->setRenderTarget(owningLayer.get());
+ CCRenderSurface* renderSurface = owningLayer->renderSurface();
+
+ rootLayer->addChild(owningLayer.release());
+
+ IntRect contentRect = IntRect(IntPoint::zero(), IntSize(50, 50));
+ WebTransformationMatrix origin;
+ origin.translate(30, 40);
+
+ renderSurface->setScreenSpaceTransform(origin);
+ renderSurface->setContentRect(contentRect);
+
+ TestCCRenderPassSink passSink;
+
+ renderSurface->appendRenderPasses(passSink);
+
+ ASSERT_EQ(1u, passSink.renderPasses().size());
+ CCRenderPass* pass = passSink.renderPasses()[0].get();
+
+ EXPECT_EQ(CCRenderPass::Id(2, 0), pass->id());
+ EXPECT_EQ(contentRect, pass->outputRect());
+ EXPECT_EQ(origin, pass->transformToRootTarget());
+}
+
} // namespace
diff --git a/Source/WebKit/chromium/tests/CCRendererGLTest.cpp b/Source/WebKit/chromium/tests/CCRendererGLTest.cpp
index 2f3fd6a08..75e653d6f 100644
--- a/Source/WebKit/chromium/tests/CCRendererGLTest.cpp
+++ b/Source/WebKit/chromium/tests/CCRendererGLTest.cpp
@@ -33,9 +33,9 @@
#include "FakeWebCompositorOutputSurface.h"
#include "FakeWebGraphicsContext3D.h"
#include "GraphicsContext3D.h"
+#include "WebCompositorInitializer.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebTransformationMatrix.h>
using namespace WebCore;
@@ -80,9 +80,11 @@ public:
, m_rootLayer(CCLayerImpl::create(1))
, m_memoryAllocationLimitBytes(CCPrioritizedTextureManager::defaultMemoryAllocationLimit())
{
- OwnPtr<CCRenderPass> rootRenderPass = CCRenderPass::create(m_rootLayer->id(), IntRect(), WebTransformationMatrix());
+ m_rootLayer->createRenderSurface();
+ CCRenderPass::Id renderPassId = m_rootLayer->renderSurface()->renderPassId();
+ OwnPtr<CCRenderPass> rootRenderPass = CCRenderPass::create(renderPassId, IntRect(), WebTransformationMatrix());
m_renderPassesInDrawOrder.append(rootRenderPass.get());
- m_renderPasses.set(m_rootLayer->id(), rootRenderPass.release());
+ m_renderPasses.set(renderPassId, rootRenderPass.release());
}
// CCRendererClient methods.
@@ -128,6 +130,7 @@ protected:
CCRendererGLTest()
: m_suggestHaveBackbufferYes(1, true)
, m_suggestHaveBackbufferNo(1, false)
+ , m_compositorInitializer(0)
, m_context(FakeWebCompositorOutputSurface::create(adoptPtr(new FrameCountingMemoryAllocationSettingContext())))
, m_resourceProvider(CCResourceProvider::create(m_context.get()))
, m_renderer(&m_mockClient, m_resourceProvider.get())
@@ -136,15 +139,9 @@ protected:
virtual void SetUp()
{
- WebKit::WebCompositor::initialize(0);
m_renderer.initialize();
}
- virtual void TearDown()
- {
- WebKit::WebCompositor::shutdown();
- }
-
void swapBuffers()
{
m_renderer.swapBuffers();
@@ -155,6 +152,7 @@ protected:
WebGraphicsMemoryAllocation m_suggestHaveBackbufferYes;
WebGraphicsMemoryAllocation m_suggestHaveBackbufferNo;
+ WebCompositorInitializer m_compositorInitializer;
OwnPtr<CCGraphicsContext> m_context;
FakeCCRendererClient m_mockClient;
OwnPtr<CCResourceProvider> m_resourceProvider;
diff --git a/Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp b/Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp
index 563c2c04c..7454c9eda 100644
--- a/Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp
+++ b/Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp
@@ -136,6 +136,7 @@ TEST(CCSchedulerStateMachineTest, TestNextActionBeginsFrameIfNeeded)
TEST(CCSchedulerStateMachineTest, TestSetForcedRedrawDoesNotSetsNormalRedraw)
{
CCSchedulerStateMachine state;
+ state.setCanDraw(true);
state.setNeedsForcedRedraw();
EXPECT_FALSE(state.redrawPending());
EXPECT_TRUE(state.vsyncCallbackNeeded());
@@ -146,6 +147,7 @@ TEST(CCSchedulerStateMachineTest, TestFailedDrawSetsNeedsCommitAndDoesNotDrawAga
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsRedraw();
EXPECT_TRUE(state.redrawPending());
EXPECT_TRUE(state.vsyncCallbackNeeded());
@@ -171,6 +173,7 @@ TEST(CCSchedulerStateMachineTest, TestSetNeedsRedrawDuringFailedDrawDoesNotRemov
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsRedraw();
EXPECT_TRUE(state.redrawPending());
EXPECT_TRUE(state.vsyncCallbackNeeded());
@@ -199,6 +202,7 @@ TEST(CCSchedulerStateMachineTest, TestCommitAfterFailedDrawAllowsDrawInSameFrame
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start a commit.
state.setNeedsCommit();
@@ -239,6 +243,7 @@ TEST(CCSchedulerStateMachineTest, TestCommitAfterFailedAndSuccessfulDrawDoesNotA
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start a commit.
state.setNeedsCommit();
@@ -290,6 +295,7 @@ TEST(CCSchedulerStateMachineTest, TestFailedDrawsWillEventuallyForceADrawAfterTh
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.setMaximumNumberOfFailedDrawsBeforeDrawIsForced(1);
// Start a commit.
@@ -332,6 +338,7 @@ TEST(CCSchedulerStateMachineTest, TestFailedDrawIsRetriedNextVSync)
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start a draw.
state.setNeedsRedraw();
@@ -361,6 +368,7 @@ TEST(CCSchedulerStateMachineTest, TestDoestDrawTwiceInSameFrame)
{
CCSchedulerStateMachine state;
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsRedraw();
EXPECT_TRUE(state.vsyncCallbackNeeded());
state.didEnterVSync();
@@ -413,6 +421,7 @@ TEST(CCSchedulerStateMachineTest, TestNextActionDrawsOnVSync)
for (size_t i = 0; i < numCommitStates; ++i) {
for (unsigned j = 0; j < 2; ++j) {
StateMachine state;
+ state.setCanDraw(true);
state.setCommitState(allCommitStates[i]);
bool forcedDraw = j;
if (!forcedDraw) {
@@ -525,6 +534,28 @@ TEST(CCSchedulerStateMachineTest, TestCanRedrawWithWaitingForFirstDrawMakesProgr
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
}
+TEST(CCSchedulerStateMachineTest, TestVsyncCallbackNeededOnCanDrawAndResourceUpdates)
+{
+ StateMachine state;
+ state.setCommitState(CCSchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_DRAW);
+ state.setCanBeginFrame(true);
+ state.setNeedsCommit(true);
+ state.setNeedsRedraw(true);
+ state.setUpdateMoreResourcesPending(false);
+ state.setVisible(true);
+ state.setCanDraw(false);
+ EXPECT_FALSE(state.vsyncCallbackNeeded());
+
+ state.setUpdateMoreResourcesPending(true);
+ EXPECT_TRUE(state.vsyncCallbackNeeded());
+
+ state.setUpdateMoreResourcesPending(false);
+ EXPECT_FALSE(state.vsyncCallbackNeeded());
+
+ state.setCanDraw(true);
+ EXPECT_TRUE(state.vsyncCallbackNeeded());
+}
+
TEST(CCSchedulerStateMachineTest, TestUpdates_NoRedraw_OneRoundOfUpdates)
{
StateMachine state;
@@ -532,6 +563,7 @@ TEST(CCSchedulerStateMachineTest, TestUpdates_NoRedraw_OneRoundOfUpdates)
state.setNeedsRedraw(false);
state.setUpdateMoreResourcesPending(false);
state.setVisible(true);
+ state.setCanDraw(true);
// Verify we begin update, both for vsync and not vsync.
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_UPDATE_MORE_RESOURCES, state.nextAction());
@@ -560,6 +592,7 @@ TEST(CCSchedulerStateMachineTest, TestUpdates_NoRedraw_TwoRoundsOfUpdates)
state.setNeedsRedraw(false);
state.setUpdateMoreResourcesPending(false);
state.setVisible(true);
+ state.setCanDraw(true);
// Verify the update begins, both for vsync and not vsync.
state.didEnterVSync();
@@ -599,6 +632,7 @@ TEST(CCSchedulerStateMachineTest, TestUpdates_NoRedraw_TwoRoundsOfUpdates)
TEST(CCSchedulerStateMachineTest, TestVSyncNeededWhenUpdatesPendingButInvisible)
{
StateMachine state;
+ state.setCanDraw(true);
state.setCommitState(CCSchedulerStateMachine::COMMIT_STATE_UPDATING_RESOURCES);
state.setNeedsRedraw(false);
state.setVisible(false);
@@ -616,6 +650,7 @@ TEST(CCSchedulerStateMachineTest, TestUpdates_WithRedraw_OneRoundOfUpdates)
state.setNeedsRedraw(true);
state.setUpdateMoreResourcesPending(false);
state.setVisible(true);
+ state.setCanDraw(true);
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_UPDATE_MORE_RESOURCES, state.nextAction());
// Begin an update.
@@ -663,6 +698,7 @@ TEST(CCSchedulerStateMachineTest, TestSetNeedsCommitIsNotLost)
state.setCanBeginFrame(true);
state.setNeedsCommit(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Begin the frame.
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
@@ -705,6 +741,7 @@ TEST(CCSchedulerStateMachineTest, TestFullCycle)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start clean and set commit.
state.setNeedsCommit(true);
@@ -729,7 +766,7 @@ TEST(CCSchedulerStateMachineTest, TestFullCycle)
// Commit.
state.updateState(CCSchedulerStateMachine::ACTION_COMMIT);
- EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_IDLE, state.commitState());
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_DRAW, state.commitState());
EXPECT_TRUE(state.needsRedraw());
// Expect to do nothing until vsync.
@@ -753,6 +790,7 @@ TEST(CCSchedulerStateMachineTest, TestFullCycleWithCommitRequestInbetween)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start clean and set commit.
state.setNeedsCommit(true);
@@ -812,6 +850,7 @@ TEST(CCSchedulerStateMachineTest, TestGoesInvisibleBeforeBeginFrameCompletes)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start clean and set commit.
state.setNeedsCommit(true);
@@ -830,6 +869,19 @@ TEST(CCSchedulerStateMachineTest, TestGoesInvisibleBeforeBeginFrameCompletes)
// We should now be back in the idle state as if we didn't start a frame at all.
EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_IDLE, state.commitState());
EXPECT_EQ(CCSchedulerStateMachine::ACTION_NONE, state.nextAction());
+
+ // Become visible again
+ state.setVisible(true);
+
+ // We should be beginning a frame now
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_IDLE, state.commitState());
+ EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
+
+ // Begin the frame
+ state.updateState(state.nextAction());
+
+ // We should be starting the commit now
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, state.commitState());
}
TEST(CCSchedulerStateMachineTest, TestContextLostWhenCompletelyIdle)
@@ -837,6 +889,7 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhenCompletelyIdle)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.didLoseContext();
@@ -859,6 +912,7 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhenIdleAndCommitRequestedWhile
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.didLoseContext();
@@ -895,6 +949,7 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhileCommitInProgress)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Get a commit in flight.
state.setNeedsCommit(true);
@@ -924,6 +979,11 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhileCommitInProgress)
EXPECT_EQ(CCSchedulerStateMachine::ACTION_COMMIT, state.nextAction());
state.updateState(state.nextAction());
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_DRAW, state.commitState());
+
+ EXPECT_EQ(CCSchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.nextAction());
+ state.updateState(state.nextAction());
+
// Expect to be told to begin context recreation, independent of vsync state
state.didEnterVSync();
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_CONTEXT_RECREATION, state.nextAction());
@@ -936,6 +996,7 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhileCommitInProgressAndAnother
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Get a commit in flight.
state.setNeedsCommit(true);
@@ -953,9 +1014,6 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhileCommitInProgressAndAnother
state.didLoseContext();
// Ask for another draw and also set needs commit. Expect nothing happens.
- // Setting another commit will put us into
- // COMMIT_STATE_WAITING_FOR_FIRST_DRAW after we finish the frame on the main
- // thread.
state.setNeedsRedraw(true);
state.setNeedsCommit(true);
EXPECT_EQ(CCSchedulerStateMachine::ACTION_NONE, state.nextAction());
@@ -986,6 +1044,7 @@ TEST(CCSchedulerStateMachineTest, TestFinishAllRenderingWhileContextLost)
{
StateMachine state;
state.setVisible(true);
+ state.setCanDraw(true);
// Cause a lost context lost.
state.didLoseContext();
@@ -1024,6 +1083,7 @@ TEST(CCSchedulerStateMachineTest, TestBeginFrameWhenCanBeginFrameFalseAndForceCo
{
StateMachine state;
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsCommit(true);
state.setNeedsForcedCommit(true);
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
@@ -1046,7 +1106,7 @@ TEST(CCSchedulerStateMachineTest, TestBeginFrameWhenCommitInProgress)
EXPECT_EQ(CCSchedulerStateMachine::ACTION_COMMIT, state.nextAction());
state.updateState(state.nextAction());
- EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_IDLE, state.commitState());
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_DRAW, state.commitState());
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
}
@@ -1056,6 +1116,7 @@ TEST(CCSchedulerStateMachineTest, TestBeginFrameWhenContextLost)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsCommit(true);
state.setNeedsForcedCommit(true);
state.didLoseContext();
diff --git a/Source/WebKit/chromium/tests/CCSchedulerTest.cpp b/Source/WebKit/chromium/tests/CCSchedulerTest.cpp
index 93ff66ea2..eb933f92f 100644
--- a/Source/WebKit/chromium/tests/CCSchedulerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCSchedulerTest.cpp
@@ -44,14 +44,12 @@ public:
{
m_actions.clear();
m_hasMoreResourceUpdates = false;
- m_canDraw = true;
m_drawWillHappen = true;
m_swapWillHappenIfDrawHappens = true;
m_numDraws = 0;
}
void setHasMoreResourceUpdates(bool b) { m_hasMoreResourceUpdates = b; }
- void setCanDraw(bool b) { m_canDraw = b; }
int numDraws() const { return m_numDraws; }
int numActions() const { return static_cast<int>(m_actions.size()); }
@@ -65,8 +63,8 @@ public:
return false;
}
- virtual bool canDraw() OVERRIDE { return m_canDraw; }
virtual bool hasMoreResourceUpdates() const OVERRIDE { return m_hasMoreResourceUpdates; }
+
virtual void scheduledActionBeginFrame() OVERRIDE { m_actions.push_back("scheduledActionBeginFrame"); }
virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapIfPossible() OVERRIDE
{
@@ -91,7 +89,6 @@ public:
protected:
bool m_hasMoreResourceUpdates;
- bool m_canDraw;
bool m_drawWillHappen;
bool m_swapWillHappenIfDrawHappens;
int m_numDraws;
@@ -105,6 +102,7 @@ TEST(CCSchedulerTest, RequestCommit)
OwnPtr<CCScheduler> scheduler = CCScheduler::create(&client, adoptPtr(new CCFrameRateController(timeSource)));
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
// SetNeedsCommit should begin the frame.
scheduler->setNeedsCommit();
@@ -139,6 +137,7 @@ TEST(CCSchedulerTest, RequestCommitAfterBeginFrame)
OwnPtr<CCScheduler> scheduler = CCScheduler::create(&client, adoptPtr(new CCFrameRateController(timeSource)));
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
// SetNedsCommit should begin the frame.
scheduler->setNeedsCommit();
@@ -172,6 +171,7 @@ TEST(CCSchedulerTest, TextureAcquisitionCollision)
OwnPtr<CCScheduler> scheduler = CCScheduler::create(&client, adoptPtr(new CCFrameRateController(timeSource)));
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
scheduler->setNeedsCommit();
scheduler->setMainThreadNeedsLayerTextures();
@@ -210,6 +210,7 @@ TEST(CCSchedulerTest, VisibilitySwitchWithTextureAcquisition)
OwnPtr<CCScheduler> scheduler = CCScheduler::create(&client, adoptPtr(new CCFrameRateController(timeSource)));
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
scheduler->setNeedsCommit();
scheduler->beginFrameComplete();
@@ -273,6 +274,7 @@ TEST(CCSchedulerTest, RequestRedrawInsideDraw)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
scheduler->setNeedsRedraw();
EXPECT_TRUE(scheduler->redrawPending());
@@ -299,6 +301,7 @@ TEST(CCSchedulerTest, RequestRedrawInsideFailedDraw)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
client.setDrawWillHappen(false);
scheduler->setNeedsRedraw();
@@ -371,6 +374,7 @@ TEST(CCSchedulerTest, RequestCommitInsideDraw)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
scheduler->setNeedsRedraw();
EXPECT_TRUE(scheduler->redrawPending());
@@ -398,6 +402,7 @@ TEST(CCSchedulerTest, RequestCommitInsideFailedDraw)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
client.setDrawWillHappen(false);
scheduler->setNeedsRedraw();
@@ -440,6 +445,7 @@ TEST(CCSchedulerTest, NoBeginFrameWhenDrawFails)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
EXPECT_EQ(0, controllerPtr->numFramesPending());
diff --git a/Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp b/Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp
index 220189b41..b330abcaa 100644
--- a/Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp
+++ b/Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp
@@ -26,6 +26,7 @@
#include "CCSolidColorLayerImpl.h"
+#include "CCAppendQuadsData.h"
#include "CCLayerTestCommon.h"
#include "CCSingleThreadProxy.h"
#include "CCSolidColorDrawQuad.h"
@@ -53,8 +54,8 @@ TEST(CCSolidColorLayerImplTest, verifyTilingCompleteAndNoOverlap)
layer->createRenderSurface();
layer->setRenderTarget(layer.get());
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
verifyQuadsExactlyCoverRect(quadCuller.quadList(), visibleContentRect);
}
@@ -77,8 +78,8 @@ TEST(CCSolidColorLayerImplTest, verifyCorrectBackgroundColorInQuad)
layer->createRenderSurface();
layer->setRenderTarget(layer.get());
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
ASSERT_EQ(quadCuller.quadList().size(), 1U);
EXPECT_EQ(CCSolidColorDrawQuad::materialCast(quadCuller.quadList()[0].get())->color(), testColor);
@@ -102,8 +103,8 @@ TEST(CCSolidColorLayerImplTest, verifyCorrectOpacityInQuad)
layer->createRenderSurface();
layer->setRenderTarget(layer.get());
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
ASSERT_EQ(quadCuller.quadList().size(), 1U);
EXPECT_EQ(opacity, CCSolidColorDrawQuad::materialCast(quadCuller.quadList()[0].get())->opacity());
diff --git a/Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp b/Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp
index 11659f6f5..baf63c2e7 100644
--- a/Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp
@@ -31,8 +31,8 @@
#include "CCTiledLayerTestCommon.h"
#include "FakeWebCompositorOutputSurface.h"
#include "FakeWebGraphicsContext3D.h"
+#include "WebCompositorInitializer.h"
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebThread.h>
#include <wtf/RefPtr.h>
@@ -95,21 +95,23 @@ public:
class CCTextureUpdateControllerTest : public Test {
public:
CCTextureUpdateControllerTest()
- : m_queue(adoptPtr(new CCTextureUpdateQueue))
- , m_uploader(this)
- , m_fullUploadCountExpected(0)
- , m_partialCountExpected(0)
- , m_totalUploadCountExpected(0)
- , m_maxUploadCountPerUpdate(0)
- , m_numBeginUploads(0)
- , m_numEndUploads(0)
- , m_numConsecutiveFlushes(0)
- , m_numDanglingUploads(0)
- , m_numTotalUploads(0)
- , m_numTotalFlushes(0)
- , m_numPreviousUploads(0)
- , m_numPreviousFlushes(0)
- { }
+ : m_queue(adoptPtr(new CCTextureUpdateQueue))
+ , m_uploader(this)
+ , m_compositorInitializer(m_thread.get())
+ , m_fullUploadCountExpected(0)
+ , m_partialCountExpected(0)
+ , m_totalUploadCountExpected(0)
+ , m_maxUploadCountPerUpdate(0)
+ , m_numBeginUploads(0)
+ , m_numEndUploads(0)
+ , m_numConsecutiveFlushes(0)
+ , m_numDanglingUploads(0)
+ , m_numTotalUploads(0)
+ , m_numTotalFlushes(0)
+ , m_numPreviousUploads(0)
+ , m_numPreviousFlushes(0)
+ {
+ }
public:
void onFlush()
@@ -170,19 +172,11 @@ public:
protected:
virtual void SetUp()
{
- OwnPtr<WebThread> thread;
- WebCompositor::initialize(thread.get());
-
m_context = FakeWebCompositorOutputSurface::create(adoptPtr(new WebGraphicsContext3DForUploadTest(this)));
DebugScopedSetImplThread implThread;
m_resourceProvider = CCResourceProvider::create(m_context.get());
}
- virtual void TearDown()
- {
- WebCompositor::shutdown();
- }
-
void appendFullUploadsToUpdateQueue(int count)
{
m_fullUploadCountExpected += count;
@@ -218,6 +212,9 @@ protected:
TextureForUploadTest m_texture;
FakeTextureCopier m_copier;
TextureUploaderForUploadTest m_uploader;
+ OwnPtr<WebThread> m_thread;
+ WebCompositorInitializer m_compositorInitializer;
+
// Properties / expectations of this test
int m_fullUploadCountExpected;
diff --git a/Source/WebKit/chromium/tests/CCThreadedTest.cpp b/Source/WebKit/chromium/tests/CCThreadedTest.cpp
index cde88f8e6..a74e8e03a 100644
--- a/Source/WebKit/chromium/tests/CCThreadedTest.cpp
+++ b/Source/WebKit/chromium/tests/CCThreadedTest.cpp
@@ -28,6 +28,7 @@
#include "CCActiveAnimation.h"
#include "CCAnimationTestCommon.h"
+#include "CCInputHandler.h"
#include "CCLayerAnimationController.h"
#include "CCLayerImpl.h"
#include "CCLayerTreeHostImpl.h"
@@ -44,7 +45,7 @@
#include "LayerChromium.h"
#include <gmock/gmock.h>
#include <public/Platform.h>
-#include <public/WebCompositor.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebFilterOperation.h>
#include <public/WebFilterOperations.h>
#include <public/WebThread.h>
@@ -56,7 +57,6 @@
using namespace WebCore;
using namespace WebKit;
-using namespace WTF;
namespace WebKitTests {
@@ -208,9 +208,9 @@ public:
{
}
- virtual void updateAnimations(double monotonicTime) OVERRIDE
+ virtual void animate(double monotonicTime) OVERRIDE
{
- m_testHooks->updateAnimations(monotonicTime);
+ m_testHooks->animate(monotonicTime);
}
virtual void layout() OVERRIDE
@@ -228,6 +228,16 @@ public:
return m_testHooks->createOutputSurface();
}
+ virtual void didRecreateOutputSurface(bool succeeded) OVERRIDE
+ {
+ m_testHooks->didRecreateOutputSurface(succeeded);
+ }
+
+ virtual PassOwnPtr<CCInputHandler> createInputHandler() OVERRIDE
+ {
+ return nullptr;
+ }
+
virtual void willCommit() OVERRIDE
{
}
@@ -246,11 +256,6 @@ public:
{
}
- virtual void didRecreateOutputSurface(bool succeeded) OVERRIDE
- {
- m_testHooks->didRecreateOutputSurface(succeeded);
- }
-
virtual void scheduleComposite() OVERRIDE
{
m_testHooks->scheduleComposite();
@@ -601,17 +606,19 @@ void CCThreadedTest::dispatchDidAddAnimation(void* self)
void CCThreadedTest::runTest(bool threaded)
{
// For these tests, we will enable threaded animations.
- WebCompositor::setAcceleratedAnimationEnabled(true);
+ Platform::current()->compositorSupport()->setAcceleratedAnimationEnabled(true);
if (threaded) {
m_webThread = adoptPtr(WebKit::Platform::current()->createThread("CCThreadedTest"));
- WebCompositor::initialize(m_webThread.get());
+ Platform::current()->compositorSupport()->initialize(m_webThread.get());
} else
- WebCompositor::initialize(0);
+ Platform::current()->compositorSupport()->initialize(0);
ASSERT(CCProxy::isMainThread());
m_mainThreadProxy = CCScopedThreadProxy::create(CCProxy::mainThread());
+ initializeSettings(m_settings);
+
m_beginTask = new BeginTask(this);
WebKit::Platform::current()->currentThread()->postDelayedTask(m_beginTask, 0); // postDelayedTask takes ownership of the task
m_timeoutTask = new TimeoutTask(this);
@@ -632,11 +639,11 @@ void CCThreadedTest::runTest(bool threaded)
m_client.clear();
if (m_timedOut) {
FAIL() << "Test timed out";
- WebCompositor::shutdown();
+ Platform::current()->compositorSupport()->shutdown();
return;
}
afterTest();
- WebCompositor::shutdown();
+ Platform::current()->compositorSupport()->shutdown();
}
} // namespace WebKitTests
diff --git a/Source/WebKit/chromium/tests/CCThreadedTest.h b/Source/WebKit/chromium/tests/CCThreadedTest.h
index 0f87de1f5..305c39293 100644
--- a/Source/WebKit/chromium/tests/CCThreadedTest.h
+++ b/Source/WebKit/chromium/tests/CCThreadedTest.h
@@ -31,6 +31,7 @@
#include "CompositorFakeWebGraphicsContext3D.h"
#include <gtest/gtest.h>
#include <public/WebAnimationDelegate.h>
+#include <public/WebThread.h>
namespace WebCore {
class CCLayerImpl;
@@ -40,10 +41,6 @@ class CCLayerTreeHostImpl;
class GraphicsContext3D;
}
-namespace WebKit {
-class WebThread;
-}
-
namespace WebKitTests {
// Used by test stubs to notify the test when something interesting happens.
@@ -56,7 +53,7 @@ public:
virtual void animateLayers(WebCore::CCLayerTreeHostImpl*, double monotonicTime) { }
virtual void willAnimateLayers(WebCore::CCLayerTreeHostImpl*, double monotonicTime) { }
virtual void applyScrollAndScale(const WebCore::IntSize&, float) { }
- virtual void updateAnimations(double monotonicTime) { }
+ virtual void animate(double monotonicTime) { }
virtual void layout() { }
virtual void didRecreateOutputSurface(bool succeeded) { }
virtual void didAddAnimation() { }
@@ -117,6 +114,8 @@ public:
protected:
CCThreadedTest();
+ virtual void initializeSettings(WebCore::CCLayerTreeSettings&) { }
+
virtual void scheduleComposite();
static void onEndTest(void* self);
diff --git a/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp b/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp
index 8b4bd20e8..c49e12c2e 100644
--- a/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp
+++ b/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp
@@ -26,6 +26,7 @@
#include "CCTiledLayerImpl.h"
+#include "CCAppendQuadsData.h"
#include "CCLayerTestCommon.h"
#include "CCLayerTilingData.h"
#include "CCSingleThreadProxy.h"
@@ -76,8 +77,8 @@ TEST(CCTiledLayerImplTest, emptyQuadList)
{
OwnPtr<CCTiledLayerImpl> layer = createLayer(tileSize, layerSize, CCLayerTilingData::NoBorderTexels);
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
const unsigned numTiles = numTilesX * numTilesY;
EXPECT_EQ(quadCuller.quadList().size(), numTiles);
}
@@ -88,8 +89,8 @@ TEST(CCTiledLayerImplTest, emptyQuadList)
layer->setVisibleContentRect(IntRect());
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
EXPECT_EQ(quadCuller.quadList().size(), 0u);
}
@@ -101,8 +102,8 @@ TEST(CCTiledLayerImplTest, emptyQuadList)
layer->setVisibleContentRect(outsideBounds);
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
EXPECT_EQ(quadCuller.quadList().size(), 0u);
}
@@ -112,8 +113,8 @@ TEST(CCTiledLayerImplTest, emptyQuadList)
layer->setSkipsDraw(true);
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
EXPECT_EQ(quadCuller.quadList().size(), 0u);
}
}
@@ -132,10 +133,10 @@ TEST(CCTiledLayerImplTest, checkerboarding)
// No checkerboarding
{
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
EXPECT_EQ(quadCuller.quadList().size(), 4u);
- EXPECT_FALSE(hadMissingTiles);
+ EXPECT_FALSE(data.hadMissingTiles);
for (size_t i = 0; i < quadCuller.quadList().size(); ++i)
EXPECT_EQ(quadCuller.quadList()[i]->material(), CCDrawQuad::TiledContent);
@@ -148,9 +149,9 @@ TEST(CCTiledLayerImplTest, checkerboarding)
// All checkerboarding
{
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
- EXPECT_TRUE(hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
+ EXPECT_TRUE(data.hadMissingTiles);
EXPECT_EQ(quadCuller.quadList().size(), 4u);
for (size_t i = 0; i < quadCuller.quadList().size(); ++i)
EXPECT_NE(quadCuller.quadList()[i]->material(), CCDrawQuad::TiledContent);
@@ -164,8 +165,8 @@ static void getQuads(CCQuadList& quads, CCSharedQuadStateList& sharedStates, Int
layer->setBounds(layerSize);
MockCCQuadCuller quadCuller(quads, sharedStates);
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
}
// Test with both border texels and without.
diff --git a/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp b/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp
index dcaae59ce..ed416f238 100644
--- a/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp
+++ b/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp
@@ -85,6 +85,11 @@ PassOwnPtr<LayerTextureUpdater::Texture> FakeLayerTextureUpdater::createTexture(
return adoptPtr(new Texture(this, CCPrioritizedTexture::create(manager)));
}
+LayerTextureUpdater::SampledTexelFormat FakeLayerTextureUpdater::sampledTexelFormat(GC3Denum)
+{
+ return SampledTexelFormatRGBA;
+}
+
FakeCCTiledLayerImpl::FakeCCTiledLayerImpl(int id)
: CCTiledLayerImpl(id)
{
@@ -105,6 +110,11 @@ FakeTiledLayerChromium::FakeTiledLayerChromium(CCPrioritizedTextureManager* text
setIsDrawable(true); // So that we don't get false positives if any of these tests expect to return false from drawsContent() for other reasons.
}
+FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds(CCPrioritizedTextureManager* textureManager)
+ : FakeTiledLayerChromium(textureManager)
+{
+}
+
FakeTiledLayerChromium::~FakeTiledLayerChromium()
{
}
@@ -132,9 +142,29 @@ void FakeTiledLayerChromium::setTexturePriorities(const CCPriorityCalculator& ca
}
}
-FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds(CCPrioritizedTextureManager* textureManager)
- : FakeTiledLayerChromium(textureManager)
+WebCore::CCPrioritizedTextureManager* FakeTiledLayerChromium::textureManager() const
+{
+ return m_textureManager;
+}
+
+WebCore::LayerTextureUpdater* FakeTiledLayerChromium::textureUpdater() const
+{
+ return m_fakeTextureUpdater.get();
+}
+
+WebCore::IntSize FakeTiledLayerWithScaledBounds::contentBounds() const
+{
+ return m_forcedContentBounds;
+}
+
+bool FakeTextureUploader::isBusy()
+{
+ return false;
+}
+
+void FakeTextureUploader::uploadTexture(WebCore::CCResourceProvider* resourceProvider, Parameters upload)
{
+ upload.texture->updateRect(resourceProvider, upload.sourceRect, upload.destOffset);
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h b/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h
index 3adb4bf17..486f6c022 100644
--- a/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h
+++ b/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h
@@ -60,7 +60,7 @@ public:
virtual ~FakeLayerTextureUpdater();
virtual PassOwnPtr<WebCore::LayerTextureUpdater::Texture> createTexture(WebCore::CCPrioritizedTextureManager*) OVERRIDE;
- virtual SampledTexelFormat sampledTexelFormat(GC3Denum) OVERRIDE { return SampledTexelFormatRGBA; }
+ virtual SampledTexelFormat sampledTexelFormat(GC3Denum) OVERRIDE;
virtual void prepareToUpdate(const WebCore::IntRect& contentRect, const WebCore::IntSize&, float, float, WebCore::IntRect& resultingOpaqueRect, WebCore::CCRenderingStats&) OVERRIDE;
// Sets the rect to invalidate during the next call to prepareToUpdate(). After the next
@@ -122,12 +122,12 @@ public:
virtual void setTexturePriorities(const WebCore::CCPriorityCalculator&) OVERRIDE;
- virtual WebCore::CCPrioritizedTextureManager* textureManager() const OVERRIDE { return m_textureManager; }
+ virtual WebCore::CCPrioritizedTextureManager* textureManager() const OVERRIDE;
FakeLayerTextureUpdater* fakeLayerTextureUpdater() { return m_fakeTextureUpdater.get(); }
WebCore::FloatRect updateRect() { return m_updateRect; }
protected:
- virtual WebCore::LayerTextureUpdater* textureUpdater() const OVERRIDE { return m_fakeTextureUpdater.get(); }
+ virtual WebCore::LayerTextureUpdater* textureUpdater() const OVERRIDE;
virtual void createTextureUpdaterIfNeeded() OVERRIDE { }
private:
@@ -141,7 +141,7 @@ public:
explicit FakeTiledLayerWithScaledBounds(WebCore::CCPrioritizedTextureManager*);
void setContentBounds(const WebCore::IntSize& contentBounds) { m_forcedContentBounds = contentBounds; }
- virtual WebCore::IntSize contentBounds() const OVERRIDE { return m_forcedContentBounds; }
+ virtual WebCore::IntSize contentBounds() const OVERRIDE;
protected:
WebCore::IntSize m_forcedContentBounds;
@@ -149,16 +149,16 @@ protected:
class FakeTextureCopier : public WebCore::TextureCopier {
public:
- virtual void copyTexture(Parameters) { }
- virtual void flush() { }
+ virtual void copyTexture(Parameters) OVERRIDE { }
+ virtual void flush() OVERRIDE { }
};
class FakeTextureUploader : public WebCore::TextureUploader {
public:
- virtual bool isBusy() { return false; }
- virtual void beginUploads() { }
- virtual void endUploads() { }
- virtual void uploadTexture(WebCore::CCResourceProvider* resourceProvider, Parameters upload) { upload.texture->updateRect(resourceProvider, upload.sourceRect, upload.destOffset); }
+ virtual bool isBusy() OVERRIDE;
+ virtual void beginUploads() OVERRIDE { }
+ virtual void endUploads() OVERRIDE { }
+ virtual void uploadTexture(WebCore::CCResourceProvider*, Parameters upload) OVERRIDE;
};
}
diff --git a/Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp b/Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp
index 6972424b0..26bdd4f11 100644
--- a/Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp
+++ b/Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp
@@ -30,8 +30,8 @@
#include "FakeWebGraphicsContext3D.h"
#include "GraphicsContext3DPrivate.h"
#include "ImageBuffer.h"
+#include "WebCompositorInitializer.h"
#include <public/Platform.h>
-#include <public/WebCompositor.h>
#include <public/WebThread.h>
#include <gmock/gmock.h>
@@ -81,7 +81,7 @@ protected:
OwnPtr<WebThread> thread;
if (threadMode == Threaded)
thread = adoptPtr(WebKit::Platform::current()->createThread("Canvas2DLayerBridgeTest"));
- WebCompositor::initialize(thread.get());
+ WebKitTests::WebCompositorInitializer initializer(thread.get());
WebGLId backTextureId = 1;
WebGLId frontTextureId = 1;
@@ -109,8 +109,6 @@ protected:
EXPECT_CALL(mainMock, flush());
}
bridge.clear();
-
- WebCompositor::shutdown();
}
};
diff --git a/Source/WebKit/chromium/tests/Canvas2DLayerManagerTest.cpp b/Source/WebKit/chromium/tests/Canvas2DLayerManagerTest.cpp
new file mode 100644
index 000000000..f9a136c35
--- /dev/null
+++ b/Source/WebKit/chromium/tests/Canvas2DLayerManagerTest.cpp
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2012 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 INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#include "Canvas2DLayerManager.h"
+
+#include "FakeWebGraphicsContext3D.h"
+#include "GraphicsContext3DPrivate.h"
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
+using namespace WebCore;
+using testing::InSequence;
+using testing::Return;
+using testing::Test;
+
+
+class FakeCanvas2DLayerBridge : public Canvas2DLayerBridge {
+public:
+ FakeCanvas2DLayerBridge()
+ : Canvas2DLayerBridge(GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(new WebKit::FakeWebGraphicsContext3D)), IntSize(1, 1), Deferred, 0)
+ , m_freeableBytes(0)
+ , m_freeMemoryIfPossibleCount(0)
+ , m_flushCount(0)
+ {
+ }
+
+ void fakeFreeableBytes(size_t size)
+ {
+ m_freeableBytes = size;
+ }
+
+ virtual size_t freeMemoryIfPossible(size_t size) OVERRIDE
+ {
+ m_freeMemoryIfPossibleCount++;
+ size_t bytesFreed = size < m_freeableBytes ? size : m_freeableBytes;
+ m_freeableBytes -= bytesFreed;
+ if (bytesFreed)
+ Canvas2DLayerManager::get().layerAllocatedStorageChanged(this, -((intptr_t)bytesFreed));
+ m_bytesAllocated -= bytesFreed;
+ return bytesFreed;
+ }
+
+ virtual void flush() OVERRIDE
+ {
+ m_flushCount++;
+ }
+
+public:
+ size_t m_freeableBytes;
+ int m_freeMemoryIfPossibleCount;
+ int m_flushCount;
+};
+
+class Canvas2DLayerManagerTest : public Test {
+protected:
+ void storageAllocationTrackingTest()
+ {
+ Canvas2DLayerManager& manager = Canvas2DLayerManager::get();
+ manager.init(10, 10);
+ {
+ FakeCanvas2DLayerBridge layer1;
+ EXPECT_EQ((size_t)0, manager.m_bytesAllocated);
+ layer1.storageAllocatedForRecordingChanged(1);
+ EXPECT_EQ((size_t)1, manager.m_bytesAllocated);
+ // Test allocation increase
+ layer1.storageAllocatedForRecordingChanged(2);
+ EXPECT_EQ((size_t)2, manager.m_bytesAllocated);
+ // Test allocation decrease
+ layer1.storageAllocatedForRecordingChanged(1);
+ EXPECT_EQ((size_t)1, manager.m_bytesAllocated);
+ {
+ FakeCanvas2DLayerBridge layer2;
+ EXPECT_EQ((size_t)1, manager.m_bytesAllocated);
+ // verify multi-layer allocation tracking
+ layer2.storageAllocatedForRecordingChanged(2);
+ EXPECT_EQ((size_t)3, manager.m_bytesAllocated);
+ }
+ // Verify tracking after destruction
+ EXPECT_EQ((size_t)1, manager.m_bytesAllocated);
+ }
+ }
+
+ void evictionTest()
+ {
+ Canvas2DLayerManager& manager = Canvas2DLayerManager::get();
+ manager.init(10, 5);
+ FakeCanvas2DLayerBridge layer;
+ layer.fakeFreeableBytes(10);
+ layer.storageAllocatedForRecordingChanged(8); // under the max
+ EXPECT_EQ(0, layer.m_freeMemoryIfPossibleCount);
+ layer.storageAllocatedForRecordingChanged(12); // over the max
+ EXPECT_EQ(1, layer.m_freeMemoryIfPossibleCount);
+ EXPECT_EQ((size_t)3, layer.m_freeableBytes);
+ EXPECT_EQ(0, layer.m_flushCount); // eviction succeeded without triggering a flush
+ EXPECT_EQ((size_t)5, layer.bytesAllocated());
+ }
+
+ void flushEvictionTest()
+ {
+ Canvas2DLayerManager& manager = Canvas2DLayerManager::get();
+ manager.init(10, 5);
+ FakeCanvas2DLayerBridge layer;
+ layer.fakeFreeableBytes(1); // Not enough freeable bytes, will cause aggressive eviction by flushing
+ layer.storageAllocatedForRecordingChanged(8); // under the max
+ EXPECT_EQ(0, layer.m_freeMemoryIfPossibleCount);
+ layer.storageAllocatedForRecordingChanged(12); // over the max
+ EXPECT_EQ(2, layer.m_freeMemoryIfPossibleCount); // Two tries, one before flush, one after flush
+ EXPECT_EQ((size_t)0, layer.m_freeableBytes);
+ EXPECT_EQ(1, layer.m_flushCount); // flush was attempted
+ EXPECT_EQ((size_t)11, layer.bytesAllocated()); // flush drops the layer from manager's tracking list
+ EXPECT_FALSE(manager.isInList(&layer));
+ }
+};
+
+namespace {
+
+TEST_F(Canvas2DLayerManagerTest, testStorageAllocationTracking)
+{
+ storageAllocationTrackingTest();
+}
+
+TEST_F(Canvas2DLayerManagerTest, testEviction)
+{
+ evictionTest();
+}
+
+TEST_F(Canvas2DLayerManagerTest, testFlushEviction)
+{
+ flushEvictionTest();
+}
+
+} // namespace
+
diff --git a/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp
index fd35e2224..483579fe0 100644
--- a/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp
@@ -27,10 +27,9 @@
#include "ContentLayerChromium.h"
#include "BitmapCanvasLayerTextureUpdater.h"
-#include "CCLayerTreeTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCRenderingStats.h"
-#include "GraphicsContext.h"
-#include "OpaqueRectTrackingContentLayerDelegate.h"
+#include "ContentLayerChromiumClient.h"
#include "skia/ext/platform_canvas.h"
#include <gtest/gtest.h>
#include <public/WebFloatRect.h>
@@ -43,49 +42,20 @@ using namespace WebKit;
namespace {
-class OpaqueRectDrawingGraphicsContextPainter : public GraphicsContextPainter {
+class MockContentLayerChromiumClient : public ContentLayerChromiumClient {
public:
- explicit OpaqueRectDrawingGraphicsContextPainter(const IntRect& opaqueRect, const IntRect& contentRect)
- : m_opaqueRect(opaqueRect)
- , m_contentRect(contentRect)
+ explicit MockContentLayerChromiumClient(IntRect opaqueLayerRect)
+ : m_opaqueLayerRect(opaqueLayerRect)
{
}
- virtual ~OpaqueRectDrawingGraphicsContextPainter()
+ virtual void paintContents(SkCanvas*, const IntRect&, FloatRect& opaque) OVERRIDE
{
- }
-
- virtual void paint(GraphicsContext& context, const IntRect& clip) OVERRIDE
- {
- Color alpha(0, 0, 0, 0);
- context.fillRect(m_contentRect, alpha, ColorSpaceDeviceRGB);
-
- Color white(255, 255, 255, 255);
- context.fillRect(m_opaqueRect, white, ColorSpaceDeviceRGB);
- }
-
-private:
- IntRect m_opaqueRect;
- IntRect m_contentRect;
-};
-
-class MockContentLayerDelegate : public ContentLayerDelegate {
-public:
- explicit MockContentLayerDelegate(OpaqueRectTrackingContentLayerDelegate* client)
- : m_client(client)
- {
- }
-
- virtual void paintContents(SkCanvas* canvas, const IntRect& clip, FloatRect& opaque) OVERRIDE
- {
- WebFloatRect resultingOpaqueRect(opaque.x(), opaque.y(), opaque.width(), opaque.height());
- WebRect webClipRect(clip.x(), clip.y(), clip.width(), clip.height());
- m_client->paintContents(canvas, webClipRect, resultingOpaqueRect);
- opaque = FloatRect(resultingOpaqueRect.x, resultingOpaqueRect.y, resultingOpaqueRect.width, resultingOpaqueRect.height);
+ opaque = FloatRect(m_opaqueLayerRect);
}
private:
- OpaqueRectTrackingContentLayerDelegate* m_client;
+ IntRect m_opaqueLayerRect;
};
TEST(ContentLayerChromiumTest, ContentLayerPainterWithDeviceScale)
@@ -96,16 +66,14 @@ TEST(ContentLayerChromiumTest, ContentLayerPainterWithDeviceScale)
IntRect opaqueRectInContentSpace = opaqueRectInLayerSpace;
opaqueRectInContentSpace.scale(contentsScale);
OwnPtr<SkCanvas> canvas = adoptPtr(skia::CreateBitmapCanvas(contentRect.width(), contentRect.height(), false));
- OpaqueRectDrawingGraphicsContextPainter painter(opaqueRectInLayerSpace, contentRect);
- OpaqueRectTrackingContentLayerDelegate opaqueRectTrackingContentLayerDelegate(&painter);
- MockContentLayerDelegate delegate(&opaqueRectTrackingContentLayerDelegate);
- RefPtr<BitmapCanvasLayerTextureUpdater> updater = BitmapCanvasLayerTextureUpdater::create(ContentLayerPainter::create(&delegate));
+ MockContentLayerChromiumClient client(opaqueRectInLayerSpace);
+ RefPtr<BitmapCanvasLayerTextureUpdater> updater = BitmapCanvasLayerTextureUpdater::create(ContentLayerPainter::create(&client));
IntRect resultingOpaqueRect;
CCRenderingStats stats;
updater->prepareToUpdate(contentRect, IntSize(256, 256), contentsScale, contentsScale, resultingOpaqueRect, stats);
- EXPECT_INT_RECT_EQ(opaqueRectInContentSpace, resultingOpaqueRect);
+ EXPECT_RECT_EQ(opaqueRectInContentSpace, resultingOpaqueRect);
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h b/Source/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h
index b87305afe..dc5b02763 100755
--- a/Source/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h
+++ b/Source/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h
@@ -27,6 +27,7 @@
#include "config.h"
+#include "CCInputHandler.h"
#include "CCLayerTreeHost.h"
#include "CompositorFakeWebGraphicsContext3D.h"
#include "FakeWebCompositorOutputSurface.h"
@@ -37,7 +38,7 @@ class FakeCCLayerTreeHostClient : public CCLayerTreeHostClient {
public:
virtual void willBeginFrame() OVERRIDE { }
virtual void didBeginFrame() OVERRIDE { }
- virtual void updateAnimations(double monotonicFrameBeginTime) OVERRIDE { }
+ virtual void animate(double monotonicFrameBeginTime) OVERRIDE { }
virtual void layout() OVERRIDE { }
virtual void applyScrollAndScale(const IntSize& scrollDelta, float pageScale) OVERRIDE { }
@@ -47,6 +48,7 @@ public:
return WebKit::FakeWebCompositorOutputSurface::create(WebKit::CompositorFakeWebGraphicsContext3D::create(attrs));
}
virtual void didRecreateOutputSurface(bool success) OVERRIDE { }
+ virtual PassOwnPtr<CCInputHandler> createInputHandler() OVERRIDE { return nullptr; }
virtual void willCommit() OVERRIDE { }
virtual void didCommit() OVERRIDE { }
virtual void didCommitAndDrawFrame() OVERRIDE { }
diff --git a/Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h b/Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h
index c20c9f991..1d93b6b6e 100644
--- a/Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h
+++ b/Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h
@@ -28,6 +28,8 @@
#include <public/WebCompositorOutputSurface.h>
#include <public/WebGraphicsContext3D.h>
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp
index c0a9cf2ef..cff826eed 100644
--- a/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp
@@ -33,10 +33,12 @@
#include "GraphicsLayer.h"
#include "Matrix3DTransformOperation.h"
#include "RotateTransformOperation.h"
+#include "ScrollableArea.h"
#include "TranslateTransformOperation.h"
#include "WebLayerTreeViewTestCommon.h"
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
+#include <public/Platform.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebFloatAnimationCurve.h>
#include <public/WebGraphicsContext3D.h>
#include <public/WebLayerTreeView.h>
@@ -62,19 +64,19 @@ public:
GraphicsLayerChromiumTest()
{
// For these tests, we will enable threaded animations.
- WebCompositor::setAcceleratedAnimationEnabled(true);
- WebCompositor::initialize(0);
+ Platform::current()->compositorSupport()->setAcceleratedAnimationEnabled(true);
+ Platform::current()->compositorSupport()->initialize(0);
m_graphicsLayer = static_pointer_cast<GraphicsLayerChromium>(GraphicsLayer::create(&m_client));
m_platformLayer = m_graphicsLayer->platformLayer();
- m_layerTreeView.initialize(&m_layerTreeViewClient, *m_platformLayer, WebLayerTreeView::Settings());
- m_layerTreeView.setViewportSize(WebSize(1, 1), WebSize(1, 1));
+ m_layerTreeView = adoptPtr(Platform::current()->compositorSupport()->createLayerTreeView(&m_layerTreeViewClient, *m_platformLayer, WebLayerTreeView::Settings()));
+ m_layerTreeView->setViewportSize(WebSize(1, 1), WebSize(1, 1));
}
virtual ~GraphicsLayerChromiumTest()
{
m_graphicsLayer.clear();
- m_layerTreeView.reset();
- WebCompositor::shutdown();
+ m_layerTreeView.clear();
+ Platform::current()->compositorSupport()->shutdown();
}
protected:
@@ -88,7 +90,7 @@ protected:
private:
MockWebLayerTreeViewClient m_layerTreeViewClient;
- WebLayerTreeView m_layerTreeView;
+ OwnPtr<WebLayerTreeView> m_layerTreeView;
MockGraphicsLayerClient m_client;
};
@@ -96,9 +98,10 @@ TEST_F(GraphicsLayerChromiumTest, updateLayerPreserves3DWithAnimations)
{
ASSERT_FALSE(m_platformLayer->hasActiveAnimation());
- OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(WebFloatAnimationCurve::create());
+ OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(Platform::current()->compositorSupport()->createFloatAnimationCurve());
curve->add(WebFloatKeyframe(0.0, 0.0));
- OwnPtr<WebAnimation> floatAnimation(adoptPtr(WebAnimation::create(*curve, 1, 1, WebAnimation::TargetPropertyOpacity)));
+ OwnPtr<WebAnimation> floatAnimation(adoptPtr(Platform::current()->compositorSupport()->createAnimation(*curve, WebAnimation::TargetPropertyOpacity)));
+ int animationId = floatAnimation->id();
ASSERT_TRUE(m_platformLayer->addAnimation(floatAnimation.get()));
ASSERT_TRUE(m_platformLayer->hasActiveAnimation());
@@ -109,7 +112,7 @@ TEST_F(GraphicsLayerChromiumTest, updateLayerPreserves3DWithAnimations)
ASSERT_TRUE(m_platformLayer);
ASSERT_TRUE(m_platformLayer->hasActiveAnimation());
- m_platformLayer->removeAnimation(1);
+ m_platformLayer->removeAnimation(animationId);
ASSERT_FALSE(m_platformLayer->hasActiveAnimation());
m_graphicsLayer->setPreserves3D(false);
@@ -120,9 +123,38 @@ TEST_F(GraphicsLayerChromiumTest, updateLayerPreserves3DWithAnimations)
ASSERT_FALSE(m_platformLayer->hasActiveAnimation());
}
-TEST_F(GraphicsLayerChromiumTest, shouldStartWithCorrectContentsScale)
+class FakeScrollableArea : public ScrollableArea {
+public:
+ virtual bool isActive() const OVERRIDE { return false; }
+ virtual int scrollSize(ScrollbarOrientation) const OVERRIDE { return 100; }
+ virtual int scrollPosition(Scrollbar*) const OVERRIDE { return 0; }
+ virtual bool isScrollCornerVisible() const OVERRIDE { return false; }
+ virtual IntRect scrollCornerRect() const OVERRIDE { return IntRect(); }
+ virtual int visibleWidth() const OVERRIDE { return 10; }
+ virtual int visibleHeight() const OVERRIDE { return 10; }
+ virtual IntSize contentsSize() const OVERRIDE { return IntSize(100, 100); }
+ virtual bool isOnActivePage() const OVERRIDE { return false; }
+ virtual ScrollableArea* enclosingScrollableArea() const OVERRIDE { return 0; }
+ virtual IntRect scrollableAreaBoundingBox() const OVERRIDE { return IntRect(); }
+ virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&) OVERRIDE { }
+ virtual void invalidateScrollCornerRect(const IntRect&) OVERRIDE { }
+
+ virtual void setScrollOffset(const IntPoint& scrollOffset) OVERRIDE { m_scrollPosition = scrollOffset; }
+ virtual IntPoint scrollPosition() const OVERRIDE { return m_scrollPosition; }
+
+private:
+ IntPoint m_scrollPosition;
+};
+
+TEST_F(GraphicsLayerChromiumTest, applyScrollToScrollableArea)
{
- EXPECT_EQ(2, m_graphicsLayer->contentsScale());
+ FakeScrollableArea scrollableArea;
+ m_graphicsLayer->setScrollableArea(&scrollableArea);
+
+ WebPoint scrollPosition(7, 9);
+ m_platformLayer->setScrollPosition(scrollPosition);
+
+ EXPECT_EQ(scrollPosition, WebPoint(scrollableArea.scrollPosition()));
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp b/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp
index ead7f9bb9..1fa2c262d 100644
--- a/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp
+++ b/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp
@@ -57,12 +57,12 @@ TEST(IDBDatabaseBackendTest, BackingStoreRetention)
EXPECT_GT(backingStore->refCount(), 1);
const bool autoIncrement = false;
- RefPtr<IDBObjectStoreBackendImpl> store = IDBObjectStoreBackendImpl::create(db.get(), "store", String("keyPath"), autoIncrement);
+ RefPtr<IDBObjectStoreBackendImpl> store = IDBObjectStoreBackendImpl::create(db.get(), "store", IDBKeyPath("keyPath"), autoIncrement);
EXPECT_GT(backingStore->refCount(), 1);
const bool unique = false;
const bool multiEntry = false;
- RefPtr<IDBIndexBackendImpl> index = IDBIndexBackendImpl::create(db.get(), store.get(), "index", String("keyPath"), unique, multiEntry);
+ RefPtr<IDBIndexBackendImpl> index = IDBIndexBackendImpl::create(db.get(), store.get(), "index", IDBKeyPath("keyPath"), unique, multiEntry);
EXPECT_GT(backingStore->refCount(), 1);
db.clear();
diff --git a/Source/WebKit/chromium/tests/LayerChromiumTest.cpp b/Source/WebKit/chromium/tests/LayerChromiumTest.cpp
index 0e6eb0eb4..a17b076f3 100644
--- a/Source/WebKit/chromium/tests/LayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/LayerChromiumTest.cpp
@@ -26,15 +26,15 @@
#include "LayerChromium.h"
+#include "CCGeometryTestUtils.h"
#include "CCLayerImpl.h"
#include "CCLayerTreeHost.h"
-#include "CCLayerTreeTestCommon.h"
#include "CCSingleThreadProxy.h"
#include "FakeCCLayerTreeHostClient.h"
#include "LayerPainterChromium.h"
+#include "WebCompositorInitializer.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebTransformationMatrix.h>
using namespace WebCore;
@@ -74,11 +74,15 @@ public:
class LayerChromiumTest : public testing::Test {
+public:
+ LayerChromiumTest()
+ : m_compositorInitializer(0)
+ {
+ }
+
protected:
virtual void SetUp()
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
m_layerTreeHost = adoptPtr(new MockCCLayerTreeHost);
}
@@ -96,7 +100,6 @@ protected:
m_layerTreeHost->setRootLayer(0);
m_layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
void verifyTestTreeInitialState() const
@@ -149,6 +152,7 @@ protected:
OwnPtr<MockCCLayerTreeHost> m_layerTreeHost;
RefPtr<LayerChromium> m_parent, m_child1, m_child2, m_child3, m_grandChild1, m_grandChild2, m_grandChild3;
+ WebCompositorInitializer m_compositorInitializer;
};
TEST_F(LayerChromiumTest, basicCreateAndDestroy)
@@ -635,7 +639,7 @@ void assertLayerTreeHostMatchesForSubtree(LayerChromium* layer, CCLayerTreeHost*
TEST(LayerChromiumLayerTreeHostTest, enteringTree)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> parent = LayerChromium::create();
RefPtr<LayerChromium> child = LayerChromium::create();
RefPtr<LayerChromium> mask = LayerChromium::create();
@@ -662,12 +666,11 @@ TEST(LayerChromiumLayerTreeHostTest, enteringTree)
assertLayerTreeHostMatchesForSubtree(parent.get(), 0);
layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, addingLayerSubtree)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> parent = LayerChromium::create();
OwnPtr<FakeCCLayerTreeHost> layerTreeHost(FakeCCLayerTreeHost::create());
@@ -693,12 +696,11 @@ TEST(LayerChromiumLayerTreeHostTest, addingLayerSubtree)
layerTreeHost->setRootLayer(0);
layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, changeHost)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> parent = LayerChromium::create();
RefPtr<LayerChromium> child = LayerChromium::create();
RefPtr<LayerChromium> mask = LayerChromium::create();
@@ -726,12 +728,11 @@ TEST(LayerChromiumLayerTreeHostTest, changeHost)
secondLayerTreeHost->setRootLayer(0);
firstLayerTreeHost.clear();
secondLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, changeHostInSubtree)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> firstParent = LayerChromium::create();
RefPtr<LayerChromium> firstChild = LayerChromium::create();
RefPtr<LayerChromium> secondParent = LayerChromium::create();
@@ -763,12 +764,11 @@ TEST(LayerChromiumLayerTreeHostTest, changeHostInSubtree)
secondLayerTreeHost->setRootLayer(0);
firstLayerTreeHost.clear();
secondLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, replaceMaskAndReplicaLayer)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> parent = LayerChromium::create();
RefPtr<LayerChromium> mask = LayerChromium::create();
RefPtr<LayerChromium> replica = LayerChromium::create();
@@ -800,19 +800,17 @@ TEST(LayerChromiumLayerTreeHostTest, replaceMaskAndReplicaLayer)
// Test over, cleanup time.
layerTreeHost->setRootLayer(0);
layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, destroyHostWithNonNullRootLayer)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> root = LayerChromium::create();
RefPtr<LayerChromium> child = LayerChromium::create();
root->addChild(child);
OwnPtr<FakeCCLayerTreeHost> layerTreeHost(FakeCCLayerTreeHost::create());
layerTreeHost->setRootLayer(root);
layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
class MockLayerChromium : public LayerChromium {
diff --git a/Source/WebKit/chromium/tests/LinkHighlightTest.cpp b/Source/WebKit/chromium/tests/LinkHighlightTest.cpp
index 64830ef22..eafe2307f 100644
--- a/Source/WebKit/chromium/tests/LinkHighlightTest.cpp
+++ b/Source/WebKit/chromium/tests/LinkHighlightTest.cpp
@@ -30,10 +30,10 @@
#include "IntRect.h"
#include "Node.h"
#include "URLTestHelpers.h"
+#include "WebCompositorInitializer.h"
#include "WebFrame.h"
#include "WebViewImpl.h"
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebContentLayer.h>
#include <public/WebFloatPoint.h>
#include <public/WebSize.h>
@@ -47,7 +47,7 @@ namespace {
#if ENABLE(GESTURE_EVENTS)
TEST(LinkHighlightTest, verifyWebViewImplIntegration)
{
- WebCompositor::initialize(0);
+ WebKitTests::WebCompositorInitializer compositorInitializer(0);
const std::string baseURL("http://www.test.com/");
const std::string fileName("test_touch_link_highlight.html");
@@ -82,7 +82,6 @@ TEST(LinkHighlightTest, verifyWebViewImplIntegration)
ASSERT_TRUE(webViewImpl->linkHighlight());
webViewImpl->close();
- WebCompositor::shutdown();
}
#endif
diff --git a/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp b/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp
index b5b50bf7d..51b200ade 100644
--- a/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp
+++ b/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp
@@ -32,6 +32,7 @@
#include "DataRef.h"
#include "MemoryInstrumentationImpl.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <gtest/gtest.h>
@@ -58,7 +59,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addMember(m_notInstrumented);
}
NotInstrumented* m_notInstrumented;
@@ -122,7 +123,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addMember(m_notInstrumented);
}
NotInstrumented* m_notInstrumented;
@@ -155,7 +156,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
Instrumented::reportMemoryUsage(memoryObjectInfo);
info.addMember(m_notInstrumentedOwnPtr);
}
@@ -172,27 +173,27 @@ TEST(MemoryInstrumentationTest, ownPtrNotInstrumented)
EXPECT_EQ(2, visitedObjects.size());
}
-class InstrumentedOther {
+class InstrumentedUndefined {
public:
- InstrumentedOther() : m_data(0) { }
+ InstrumentedUndefined() : m_data(0) { }
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Other);
+ MemoryClassInfo info(memoryObjectInfo, this, GenericMemoryTypes::Undefined);
}
int m_data;
};
class InstrumentedDOM {
public:
- InstrumentedDOM() : m_instrumentedOther(adoptPtr(new InstrumentedOther)) { }
+ InstrumentedDOM() : m_instrumentedUndefined(adoptPtr(new InstrumentedUndefined)) { }
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
- info.addInstrumentedMember(m_instrumentedOther);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
+ info.addInstrumentedMember(m_instrumentedUndefined);
}
- OwnPtr<InstrumentedOther> m_instrumentedOther;
+ OwnPtr<InstrumentedUndefined> m_instrumentedUndefined;
};
TEST(MemoryInstrumentationTest, ownerTypePropagation)
@@ -201,8 +202,8 @@ TEST(MemoryInstrumentationTest, ownerTypePropagation)
MemoryInstrumentationImpl impl(visitedObjects);
OwnPtr<InstrumentedDOM> instrumentedDOM(adoptPtr(new InstrumentedDOM));
impl.addRootObject(instrumentedDOM);
- EXPECT_EQ(sizeof(InstrumentedDOM) + sizeof(InstrumentedOther), impl.reportedSizeForAllTypes());
- EXPECT_EQ(sizeof(InstrumentedDOM) + sizeof(InstrumentedOther), impl.totalSize(MemoryInstrumentation::DOM));
+ EXPECT_EQ(sizeof(InstrumentedDOM) + sizeof(InstrumentedUndefined), impl.reportedSizeForAllTypes());
+ EXPECT_EQ(sizeof(InstrumentedDOM) + sizeof(InstrumentedUndefined), impl.totalSize(WebCoreMemoryTypes::DOM));
EXPECT_EQ(2, visitedObjects.size());
}
@@ -210,7 +211,7 @@ class NonVirtualInstrumented {
public:
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addInstrumentedMember(m_instrumented);
}
@@ -227,32 +228,26 @@ TEST(MemoryInstrumentationTest, visitFirstMemberInNonVirtualClass)
EXPECT_EQ(2, visitedObjects.size());
}
-TEST(MemoryInstrumentationTest, visitStrings)
-{
- {
- VisitedObjects visitedObjects;
- MemoryInstrumentationImpl impl(visitedObjects);
- String string("string");
- impl.addRootObject(string);
- EXPECT_EQ(string.impl()->sizeInBytes(), impl.reportedSizeForAllTypes());
- EXPECT_EQ(2, visitedObjects.size());
- }
- {
- VisitedObjects visitedObjects;
- MemoryInstrumentationImpl impl(visitedObjects);
- String string("string");
- impl.addRootObject(&string);
- EXPECT_EQ(string.impl()->sizeInBytes() + sizeof(String), impl.reportedSizeForAllTypes());
- EXPECT_EQ(2, visitedObjects.size());
- }
+class StringOwnerInstrumented {
+public:
+ StringOwnerInstrumented() : m_name("string") { }
+ void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- VisitedObjects visitedObjects;
- MemoryInstrumentationImpl impl(visitedObjects);
- AtomicString string("string");
- impl.addRootObject(&string);
- EXPECT_EQ(string.impl()->sizeInBytes() + sizeof(AtomicString), impl.reportedSizeForAllTypes());
- EXPECT_EQ(2, visitedObjects.size());
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
+ info.addInstrumentedMember(m_name);
}
+
+ String m_name;
+};
+
+TEST(MemoryInstrumentationTest, visitStrings)
+{
+ VisitedObjects visitedObjects;
+ MemoryInstrumentationImpl impl(visitedObjects);
+ StringOwnerInstrumented stringOwnerInstrumented;
+ impl.addRootObject(stringOwnerInstrumented);
+ EXPECT_EQ(stringOwnerInstrumented.m_name.impl()->sizeInBytes(), impl.reportedSizeForAllTypes());
+ EXPECT_EQ(2, visitedObjects.size());
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/MockCCQuadCuller.h b/Source/WebKit/chromium/tests/MockCCQuadCuller.h
index 59a0073ce..1833f349e 100644
--- a/Source/WebKit/chromium/tests/MockCCQuadCuller.h
+++ b/Source/WebKit/chromium/tests/MockCCQuadCuller.h
@@ -44,7 +44,7 @@ public:
, m_activeSharedQuadStateList(externalSharedQuadStateList)
{ }
- virtual bool append(WTF::PassOwnPtr<CCDrawQuad> newQuad) OVERRIDE
+ virtual bool append(PassOwnPtr<CCDrawQuad> newQuad, CCAppendQuadsData&) OVERRIDE
{
OwnPtr<CCDrawQuad> drawQuad = newQuad;
if (!drawQuad->quadRect().isEmpty()) {
diff --git a/Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp b/Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp
index 4f0a2276f..9bda21764 100644
--- a/Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp
+++ b/Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp
@@ -28,10 +28,8 @@
#include "PlatformGestureCurve.h"
#include "ActivePlatformGestureAnimation.h"
-#include "CCActiveGestureAnimation.h"
-#include "CCGestureCurve.h"
#include "PlatformGestureCurveTarget.h"
-#include "TouchpadFlingPlatformGestureCurve.h"
+#include "TouchFlingPlatformGestureCurve.h"
#include "WheelFlingPlatformGestureCurve.h"
#include <gtest/gtest.h>
#include <wtf/OwnPtr.h>
@@ -101,7 +99,7 @@ TEST(PlatformGestureCurve, flingCurveTouch)
{
double initialVelocity = 5000;
MockPlatformGestureCurveTarget target;
- OwnPtr<ActivePlatformGestureAnimation> animation = ActivePlatformGestureAnimation::create(TouchpadFlingPlatformGestureCurve::create(FloatPoint(initialVelocity, 0)), &target);
+ OwnPtr<ActivePlatformGestureAnimation> animation = ActivePlatformGestureAnimation::create(TouchFlingPlatformGestureCurve::createForTouchPad(FloatPoint(initialVelocity, 0)), &target);
// Note: the expectations below are dependent on the value of sigma hard-coded in the curve parameters.
// If the parameters change, then the tests values/expectations will need to be updated.
diff --git a/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp
index 6242043b3..c6efbb5bf 100644
--- a/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp
@@ -30,8 +30,6 @@
#include "CCScrollbarLayerImpl.h"
#include "CCSingleThreadProxy.h"
#include "FakeWebScrollbarThemeGeometry.h"
-#include "Scrollbar.h"
-#include "Settings.h"
#include "TreeSynchronizer.h"
#include <gtest/gtest.h>
#include <public/WebScrollbar.h>
@@ -42,68 +40,37 @@ using namespace WebCore;
namespace {
-class MockScrollbar : public Scrollbar {
+class FakeWebScrollbar : public WebKit::WebScrollbar {
public:
- virtual int x() const { return 0; }
- virtual int y() const { return 0; }
- virtual int width() const { return 0; }
- virtual int height() const { return 0; }
- virtual IntSize size() const { return IntSize(); }
- virtual IntPoint location() const { return IntPoint(); }
-
- virtual ScrollView* parent() const { return 0; }
- virtual ScrollView* root() const { return 0; }
-
- virtual void setFrameRect(const IntRect&) { }
- virtual IntRect frameRect() const { return IntRect(); }
-
- virtual void invalidate() { }
- virtual void invalidateRect(const IntRect&) { }
-
- virtual ScrollbarOverlayStyle scrollbarOverlayStyle() const { return ScrollbarOverlayStyleDefault; }
- virtual void getTickmarks(Vector<IntRect>&) const { }
- virtual bool isScrollableAreaActive() const { return false; }
- virtual bool isScrollViewScrollbar() const { return false; }
-
- virtual IntPoint convertFromContainingWindow(const IntPoint& windowPoint) { return windowPoint; }
-
- virtual bool isCustomScrollbar() const { return false; }
- virtual ScrollbarOrientation orientation() const { return HorizontalScrollbar; }
-
- virtual int value() const { return 0; }
- virtual float currentPos() const { return 0; }
- virtual int visibleSize() const { return 1; }
- virtual int totalSize() const { return 1; }
- virtual int maximum() const { return 0; }
- virtual ScrollbarControlSize controlSize() const { return RegularScrollbar; }
-
- virtual int lineStep() const { return 0; }
- virtual int pageStep() const { return 0; }
-
- virtual ScrollbarPart pressedPart() const { return NoPart; }
- virtual ScrollbarPart hoveredPart() const { return NoPart; }
-
- virtual void styleChanged() { }
-
- virtual bool enabled() const { return false; }
- virtual void setEnabled(bool) { }
-
- virtual bool isOverlayScrollbar() const { return false; }
-
- MockScrollbar() : Scrollbar(0, HorizontalScrollbar, RegularScrollbar) { }
- virtual ~MockScrollbar() { }
+ static PassOwnPtr<FakeWebScrollbar> create() { return adoptPtr(new FakeWebScrollbar()); }
+
+ // WebScrollbar implementation
+ virtual bool isOverlay() const OVERRIDE { return false; }
+ virtual int value() const OVERRIDE { return 0; }
+ virtual WebKit::WebPoint location() const OVERRIDE { return WebKit::WebPoint(); }
+ virtual WebKit::WebSize size() const OVERRIDE { return WebKit::WebSize(); }
+ virtual bool enabled() const OVERRIDE { return true; }
+ virtual int maximum() const OVERRIDE { return 0; }
+ virtual int totalSize() const OVERRIDE { return 0; }
+ virtual bool isScrollViewScrollbar() const OVERRIDE { return false; }
+ virtual bool isScrollableAreaActive() const OVERRIDE { return true; }
+ virtual void getTickmarks(WebKit::WebVector<WebKit::WebRect>&) const OVERRIDE { }
+ virtual ScrollbarControlSize controlSize() const OVERRIDE { return WebScrollbar::RegularScrollbar; }
+ virtual ScrollbarPart pressedPart() const OVERRIDE { return WebScrollbar::NoPart; }
+ virtual ScrollbarPart hoveredPart() const OVERRIDE { return WebScrollbar::NoPart; }
+ virtual ScrollbarOverlayStyle scrollbarOverlayStyle() const OVERRIDE { return WebScrollbar::ScrollbarOverlayStyleDefault; }
+ virtual bool isCustomScrollbar() const OVERRIDE { return false; }
+ virtual Orientation orientation() const OVERRIDE { return WebScrollbar::Horizontal; }
};
TEST(ScrollbarLayerChromiumTest, resolveScrollLayerPointer)
{
DebugScopedSetImplThread impl;
- RefPtr<MockScrollbar> mockScrollbar = adoptRef(new MockScrollbar);
- WebKit::WebScrollbarThemePainter painter(0, mockScrollbar.get());
+ WebKit::WebScrollbarThemePainter painter;
- Settings::setMockScrollbarsEnabled(true);
{
- OwnPtr<WebKit::WebScrollbar> scrollbar = WebKit::WebScrollbar::create(mockScrollbar.get());
+ OwnPtr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::create());
RefPtr<LayerChromium> layerTreeRoot = LayerChromium::create();
RefPtr<LayerChromium> child1 = LayerChromium::create();
RefPtr<LayerChromium> child2 = ScrollbarLayerChromium::create(scrollbar.release(), painter, WebKit::FakeWebScrollbarThemeGeometry::create(), child1->id());
@@ -120,7 +87,7 @@ TEST(ScrollbarLayerChromiumTest, resolveScrollLayerPointer)
}
{ // another traverse order
- OwnPtr<WebKit::WebScrollbar> scrollbar = WebKit::WebScrollbar::create(mockScrollbar.get());
+ OwnPtr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::create());
RefPtr<LayerChromium> layerTreeRoot = LayerChromium::create();
RefPtr<LayerChromium> child2 = LayerChromium::create();
RefPtr<LayerChromium> child1 = ScrollbarLayerChromium::create(scrollbar.release(), painter, WebKit::FakeWebScrollbarThemeGeometry::create(), child2->id());
@@ -141,12 +108,9 @@ TEST(ScrollbarLayerChromiumTest, scrollOffsetSynchronization)
{
DebugScopedSetImplThread impl;
- RefPtr<MockScrollbar> mockScrollbar = adoptRef(new MockScrollbar);
- WebKit::WebScrollbarThemePainter painter(0, mockScrollbar.get());
-
- Settings::setMockScrollbarsEnabled(true);
+ WebKit::WebScrollbarThemePainter painter;
- OwnPtr<WebKit::WebScrollbar> scrollbar = WebKit::WebScrollbar::create(mockScrollbar.get());
+ OwnPtr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::create());
RefPtr<LayerChromium> layerTreeRoot = LayerChromium::create();
RefPtr<LayerChromium> contentLayer = LayerChromium::create();
RefPtr<LayerChromium> scrollbarLayer = ScrollbarLayerChromium::create(scrollbar.release(), painter, WebKit::FakeWebScrollbarThemeGeometry::create(), layerTreeRoot->id());
diff --git a/Source/WebKit/chromium/tests/TextureCopierTest.cpp b/Source/WebKit/chromium/tests/TextureCopierTest.cpp
index 432dd7c4a..c4bf63703 100644
--- a/Source/WebKit/chromium/tests/TextureCopierTest.cpp
+++ b/Source/WebKit/chromium/tests/TextureCopierTest.cpp
@@ -27,7 +27,7 @@
#include "TextureCopier.h"
#include "FakeWebGraphicsContext3D.h"
-
+#include "GraphicsContext3D.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <wtf/RefPtr.h>
@@ -41,14 +41,13 @@ using testing::_;
class MockContext : public FakeWebGraphicsContext3D {
public:
MOCK_METHOD2(bindFramebuffer, void(WGC3Denum, WebGLId));
- MOCK_METHOD3(texParameteri, void(GC3Denum target, GC3Denum pname, GC3Dint param));
+ MOCK_METHOD3(texParameteri, void(WGC3Denum target, WGC3Denum pname, WGC3Dint param));
- MOCK_METHOD3(drawArrays, void(GC3Denum mode, GC3Dint first, GC3Dsizei count));
+ MOCK_METHOD3(drawArrays, void(WGC3Denum mode, WGC3Dint first, WGC3Dsizei count));
};
TEST(TextureCopierTest, testDrawArraysCopy)
{
- GraphicsContext3D::Attributes attrs;
OwnPtr<MockContext> mockContext = adoptPtr(new MockContext);
{
diff --git a/Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp
index a4830e53f..72e0206ad 100644
--- a/Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp
@@ -28,9 +28,9 @@
#include "CCLayerTreeHost.h"
#include "FakeCCLayerTreeHostClient.h"
+#include "WebCompositorInitializer.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
using namespace WebCore;
using ::testing::Mock;
@@ -56,11 +56,15 @@ private:
class TextureLayerChromiumTest : public testing::Test {
+public:
+ TextureLayerChromiumTest()
+ : m_compositorInitializer(0)
+ {
+ }
+
protected:
virtual void SetUp()
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
m_layerTreeHost = adoptPtr(new MockCCLayerTreeHost);
}
@@ -71,10 +75,11 @@ protected:
m_layerTreeHost->setRootLayer(0);
m_layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
OwnPtr<MockCCLayerTreeHost> m_layerTreeHost;
+private:
+ WebKitTests::WebCompositorInitializer m_compositorInitializer;
};
TEST_F(TextureLayerChromiumTest, syncImplWhenChangingTextureId)
diff --git a/Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp b/Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp
index 3660c9412..8937f14ad 100644
--- a/Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp
+++ b/Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp
@@ -28,6 +28,7 @@
#include "Extensions3DChromium.h"
#include "FakeWebGraphicsContext3D.h"
+#include "GraphicsContext3D.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
@@ -64,7 +65,6 @@ private:
TEST(ThrottledTextureUploaderTest, IsBusy)
{
- GraphicsContext3D::Attributes attrs;
OwnPtr<FakeWebGraphicsContext3DWithQueryTesting> fakeContext(adoptPtr(new FakeWebGraphicsContext3DWithQueryTesting));
OwnPtr<ThrottledTextureUploader> uploader = ThrottledTextureUploader::create(fakeContext.get(), 2);
diff --git a/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp
index 00ee28a68..85821a8b3 100644
--- a/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp
@@ -28,7 +28,7 @@
#include "BitmapCanvasLayerTextureUpdater.h"
#include "CCAnimationTestCommon.h"
-#include "CCLayerTreeTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCOverdrawMetrics.h"
#include "CCRenderingStats.h"
#include "CCSingleThreadProxy.h" // For DebugScopedSetImplThread
@@ -37,8 +37,8 @@
#include "FakeCCGraphicsContext.h"
#include "FakeCCLayerTreeHostClient.h"
#include "LayerPainterChromium.h"
+#include "WebCompositorInitializer.h"
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebTransformationMatrix.h>
using namespace WebCore;
@@ -46,12 +46,6 @@ using namespace WebKitTests;
using namespace WTF;
using WebKit::WebTransformationMatrix;
-#define EXPECT_EQ_RECT(a, b) \
- EXPECT_EQ(a.x(), b.x()); \
- EXPECT_EQ(a.y(), b.y()); \
- EXPECT_EQ(a.width(), b.width()); \
- EXPECT_EQ(a.height(), b.height());
-
namespace {
class TestCCOcclusionTracker : public CCOcclusionTracker {
@@ -76,29 +70,72 @@ private:
class TiledLayerChromiumTest : public testing::Test {
public:
TiledLayerChromiumTest()
- : m_context(WebKit::createFakeCCGraphicsContext())
+ : m_compositorInitializer(0)
+ , m_context(WebKit::createFakeCCGraphicsContext())
, m_textureManager(CCPrioritizedTextureManager::create(60*1024*1024, 1024, CCRenderer::ContentPool))
, m_occlusion(0)
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
m_resourceProvider = CCResourceProvider::create(m_context.get());
}
virtual ~TiledLayerChromiumTest()
{
- DebugScopedSetImplThread implThread;
+ textureManagerClearAllMemory(m_textureManager.get(), m_resourceProvider.get());
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
m_resourceProvider.clear();
}
+ // Helper classes and functions that set the current thread to be the impl thread
+ // before doing the action that they wrap.
+ class ScopedFakeCCTiledLayerImpl {
+ public:
+ ScopedFakeCCTiledLayerImpl(int id)
+ {
+ DebugScopedSetImplThread implThread;
+ m_layerImpl = new FakeCCTiledLayerImpl(id);
+ }
+ ~ScopedFakeCCTiledLayerImpl()
+ {
+ DebugScopedSetImplThread implThread;
+ delete m_layerImpl;
+ }
+ FakeCCTiledLayerImpl* get()
+ {
+ return m_layerImpl;
+ }
+ FakeCCTiledLayerImpl* operator->()
+ {
+ return m_layerImpl;
+ }
+ private:
+ FakeCCTiledLayerImpl* m_layerImpl;
+ };
+ void textureManagerClearAllMemory(CCPrioritizedTextureManager* textureManager, CCResourceProvider* resourceProvider)
+ {
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
+ textureManager->clearAllMemory(resourceProvider);
+ }
void updateTextures(int count = 500)
{
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
CCTextureUpdateController::updateTextures(m_resourceProvider.get(), &m_copier, &m_uploader, &m_queue, count);
}
+ void layerPushPropertiesTo(FakeTiledLayerChromium* layer, FakeCCTiledLayerImpl* layerImpl)
+ {
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
+ layer->pushPropertiesTo(layerImpl);
+ }
+ void layerUpdate(FakeTiledLayerChromium* layer, TestCCOcclusionTracker* occluded)
+ {
+ DebugScopedSetMainThread mainThread;
+ layer->update(m_queue, occluded, m_stats);
+ }
bool updateAndPush(FakeTiledLayerChromium* layer1,
- CCLayerImpl* layerImpl1,
+ FakeCCTiledLayerImpl* layerImpl1,
FakeTiledLayerChromium* layer2 = 0,
- CCLayerImpl* layerImpl2 = 0)
+ FakeCCTiledLayerImpl* layerImpl2 = 0)
{
// Get textures
m_textureManager->clearPriorities();
@@ -123,14 +160,15 @@ public:
// Update textures and push.
updateTextures();
if (layer1)
- layer1->pushPropertiesTo(layerImpl1);
+ layerPushPropertiesTo(layer1, layerImpl1);
if (layer2)
- layer2->pushPropertiesTo(layerImpl2);
+ layerPushPropertiesTo(layer2, layerImpl2);
return needsUpdate;
}
public:
+ WebKitTests::WebCompositorInitializer m_compositorInitializer;
OwnPtr<CCGraphicsContext> m_context;
OwnPtr<CCResourceProvider> m_resourceProvider;
CCTextureUpdateQueue m_queue;
@@ -145,8 +183,7 @@ public:
TEST_F(TiledLayerChromiumTest, pushDirtyTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100, so this invalidates and then paints two tiles.
layer->setBounds(IntSize(100, 200));
@@ -172,8 +209,7 @@ TEST_F(TiledLayerChromiumTest, pushDirtyTiles)
TEST_F(TiledLayerChromiumTest, pushOccludedDirtyTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
TestCCOcclusionTracker occluded;
m_occlusion = &occluded;
@@ -209,8 +245,7 @@ TEST_F(TiledLayerChromiumTest, pushOccludedDirtyTiles)
TEST_F(TiledLayerChromiumTest, pushDeletedTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100, so this invalidates and then paints two tiles.
layer->setBounds(IntSize(100, 200));
@@ -223,11 +258,11 @@ TEST_F(TiledLayerChromiumTest, pushDeletedTiles)
EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
m_textureManager->clearPriorities();
- m_textureManager->clearAllMemory(m_resourceProvider.get());
+ textureManagerClearAllMemory(m_textureManager.get(), m_resourceProvider.get());
m_textureManager->setMaxMemoryLimitBytes(4*1024*1024);
// This should drop the tiles on the impl thread.
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
// We should now have no textures on the impl thread.
EXPECT_FALSE(layerImpl->hasTileAt(0, 0));
@@ -245,8 +280,7 @@ TEST_F(TiledLayerChromiumTest, pushDeletedTiles)
TEST_F(TiledLayerChromiumTest, pushIdlePaintTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100. Setup 5x5 tiles with one visible tile in the center.
// This paints 1 visible of the 25 invalid tiles.
@@ -283,11 +317,10 @@ TEST_F(TiledLayerChromiumTest, pushTilesAfterIdlePaintFailed)
{
// Start with 2mb of memory, but the test is going to try to use just more than 1mb, so we reduce to 1mb later.
m_textureManager->setMaxMemoryLimitBytes(2 * 1024 * 1024);
- DebugScopedSetImplThread implThread;
RefPtr<FakeTiledLayerChromium> layer1 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- OwnPtr<FakeCCTiledLayerImpl> layerImpl1(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl1(1);
RefPtr<FakeTiledLayerChromium> layer2 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- OwnPtr<FakeCCTiledLayerImpl> layerImpl2(adoptPtr(new FakeCCTiledLayerImpl(2)));
+ ScopedFakeCCTiledLayerImpl layerImpl2(2);
// For this test we have two layers. layer1 exhausts most texture memory, leaving room for 2 more tiles from
// layer2, but not all three tiles. First we paint layer1, and one tile from layer2. Then when we idle paint
@@ -337,8 +370,7 @@ TEST_F(TiledLayerChromiumTest, pushTilesAfterIdlePaintFailed)
TEST_F(TiledLayerChromiumTest, pushIdlePaintedOccludedTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
TestCCOcclusionTracker occluded;
m_occlusion = &occluded;
@@ -357,8 +389,7 @@ TEST_F(TiledLayerChromiumTest, pushIdlePaintedOccludedTiles)
TEST_F(TiledLayerChromiumTest, pushTilesMarkedDirtyDuringPaint)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100, so this invalidates and then paints two tiles.
// However, during the paint, we invalidate one of the tiles. This should
@@ -377,9 +408,8 @@ TEST_F(TiledLayerChromiumTest, pushTilesLayerMarkedDirtyDuringPaintOnNextLayer)
{
RefPtr<FakeTiledLayerChromium> layer1 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
RefPtr<FakeTiledLayerChromium> layer2 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layer1Impl(adoptPtr(new FakeCCTiledLayerImpl(1)));
- OwnPtr<FakeCCTiledLayerImpl> layer2Impl(adoptPtr(new FakeCCTiledLayerImpl(2)));
+ ScopedFakeCCTiledLayerImpl layer1Impl(1);
+ ScopedFakeCCTiledLayerImpl layer2Impl(2);
// Invalidate a tile on layer1, during update of layer 2.
layer2->fakeLayerTextureUpdater()->setRectToInvalidate(IntRect(0, 50, 100, 50), layer1.get());
@@ -401,9 +431,8 @@ TEST_F(TiledLayerChromiumTest, pushTilesLayerMarkedDirtyDuringPaintOnPreviousLay
{
RefPtr<FakeTiledLayerChromium> layer1 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
RefPtr<FakeTiledLayerChromium> layer2 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layer1Impl(adoptPtr(new FakeCCTiledLayerImpl(1)));
- OwnPtr<FakeCCTiledLayerImpl> layer2Impl(adoptPtr(new FakeCCTiledLayerImpl(2)));
+ ScopedFakeCCTiledLayerImpl layer1Impl(1);
+ ScopedFakeCCTiledLayerImpl layer2Impl(2);
layer1->fakeLayerTextureUpdater()->setRectToInvalidate(IntRect(0, 50, 100, 50), layer2.get());
layer1->setBounds(IntSize(100, 200));
@@ -424,7 +453,6 @@ TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
{
// Create a CCLayerTreeHost that has the right viewportsize,
// so the layer is considered small enough.
- WebKit::WebCompositor::initialize(0);
FakeCCLayerTreeHostClient fakeCCLayerTreeHostClient;
OwnPtr<CCLayerTreeHost> ccLayerTreeHost = CCLayerTreeHost::create(&fakeCCLayerTreeHostClient, CCLayerTreeSettings());
@@ -442,10 +470,9 @@ TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
layerWidth *= 2;
m_textureManager->setMaxMemoryLimitBytes(memoryForLayer);
- DebugScopedSetImplThread implThread;
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// Full size layer with half being visible.
IntSize contentBounds(layerWidth, layerHeight);
@@ -465,7 +492,7 @@ TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
m_textureManager->prioritizeTextures();
layer->update(m_queue, 0, m_stats);
updateTextures();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
// We should have all the tiles for the small animated layer.
// We should still have the visible tiles when we didn't
@@ -483,14 +510,12 @@ TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
}
}
ccLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST_F(TiledLayerChromiumTest, idlePaintOutOfMemory)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// We have enough memory for only the visible rect, so we will run out of memory in first idle paint.
int memoryLimit = 4 * 100 * 100; // 1 tiles, 4 bytes per pixel.
@@ -513,8 +538,7 @@ TEST_F(TiledLayerChromiumTest, idlePaintOutOfMemory)
TEST_F(TiledLayerChromiumTest, idlePaintZeroSizedLayer)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
bool animating[2] = {false, true};
for (int i = 0; i < 2; i++) {
@@ -541,8 +565,7 @@ TEST_F(TiledLayerChromiumTest, idlePaintZeroSizedLayer)
TEST_F(TiledLayerChromiumTest, idlePaintNonVisibleLayers)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// Alternate between not visible and visible.
IntRect v(0, 0, 100, 100);
@@ -572,8 +595,7 @@ TEST_F(TiledLayerChromiumTest, idlePaintNonVisibleLayers)
TEST_F(TiledLayerChromiumTest, invalidateFromPrepare)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100, so this invalidates and then paints two tiles.
layer->setBounds(IntSize(100, 200));
@@ -608,7 +630,6 @@ TEST_F(TiledLayerChromiumTest, verifyUpdateRectWhenContentBoundsAreScaled)
// The updateRect (that indicates what was actually painted) should be in
// layer space, not the content space.
RefPtr<FakeTiledLayerWithScaledBounds> layer = adoptRef(new FakeTiledLayerWithScaledBounds(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
IntRect layerBounds(0, 0, 300, 200);
IntRect contentBounds(0, 0, 200, 250);
@@ -647,8 +668,7 @@ TEST_F(TiledLayerChromiumTest, verifyUpdateRectWhenContentBoundsAreScaled)
TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// Create a layer with one tile.
layer->setBounds(IntSize(100, 100));
@@ -663,7 +683,7 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
m_textureManager->prioritizeTextures();
layer->update(m_queue, 0, m_stats);
updateTextures();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
EXPECT_FALSE(layerImpl->hasTileAt(0, 1));
EXPECT_FALSE(layerImpl->hasTileAt(1, 0));
@@ -680,7 +700,7 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
m_textureManager->prioritizeTextures();
layer->update(m_queue, 0, m_stats);
updateTextures();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
EXPECT_TRUE(layerImpl->hasTileAt(1, 0));
@@ -692,7 +712,7 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
layer->setTexturePriorities(m_priorityCalculator);
m_textureManager->prioritizeTextures();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
EXPECT_FALSE(layerImpl->hasTileAt(0, 0));
EXPECT_FALSE(layerImpl->hasTileAt(0, 1));
EXPECT_FALSE(layerImpl->hasTileAt(1, 0));
@@ -701,8 +721,6 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
TEST_F(TiledLayerChromiumTest, skipsDrawGetsReset)
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
FakeCCLayerTreeHostClient fakeCCLayerTreeHostClient;
OwnPtr<CCLayerTreeHost> ccLayerTreeHost = CCLayerTreeHost::create(&fakeCCLayerTreeHostClient, CCLayerTreeSettings());
ASSERT_TRUE(ccLayerTreeHost->initializeRendererIfNeeded());
@@ -744,10 +762,9 @@ TEST_F(TiledLayerChromiumTest, skipsDrawGetsReset)
ccLayerTreeHost->updateLayers(m_queue, memoryLimit);
EXPECT_FALSE(rootLayer->skipsDraw());
- ccLayerTreeHost->contentsTextureManager()->clearAllMemory(m_resourceProvider.get());
+ textureManagerClearAllMemory(ccLayerTreeHost->contentsTextureManager(), m_resourceProvider.get());
ccLayerTreeHost->setRootLayer(0);
ccLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST_F(TiledLayerChromiumTest, resizeToSmaller)
@@ -783,9 +800,6 @@ TEST_F(TiledLayerChromiumTest, hugeLayerUpdateCrash)
TEST_F(TiledLayerChromiumTest, partialUpdates)
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
-
CCLayerTreeSettings settings;
settings.maxPartialTextureUpdates = 4;
@@ -809,8 +823,7 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
// Full update of all 6 tiles.
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
updateTextures(4);
EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_TRUE(m_queue.hasMoreUpdates());
@@ -819,7 +832,7 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
@@ -827,8 +840,7 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
layer->invalidateContentRect(IntRect(0, 0, 300, 150));
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
updateTextures(4);
EXPECT_EQ(3, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_TRUE(m_queue.hasMoreUpdates());
@@ -837,15 +849,14 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
EXPECT_EQ(3, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
// Partial update of 6 tiles.
layer->invalidateContentRect(IntRect(50, 50, 200, 100));
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
updateTextures(4);
EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount());
@@ -855,24 +866,22 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
// Checkerboard all tiles.
layer->invalidateContentRect(IntRect(0, 0, 300, 200));
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
- layer->pushPropertiesTo(layerImpl.get());
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
// Partial update of 6 checkerboard tiles.
layer->invalidateContentRect(IntRect(50, 50, 200, 100));
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
updateTextures(4);
EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
@@ -882,31 +891,26 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
// Partial update of 4 tiles.
layer->invalidateContentRect(IntRect(50, 50, 100, 100));
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
updateTextures(4);
EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
- {
- DebugScopedSetImplThread implThread;
- ccLayerTreeHost->contentsTextureManager()->clearAllMemory(m_resourceProvider.get());
- }
+ textureManagerClearAllMemory(ccLayerTreeHost->contentsTextureManager(), m_resourceProvider.get());
ccLayerTreeHost->setRootLayer(0);
ccLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST_F(TiledLayerChromiumTest, tilesPaintedWithoutOcclusion)
@@ -1051,7 +1055,6 @@ TEST_F(TiledLayerChromiumTest, tilesNotPaintedWithoutInvalidation)
layer->update(m_queue, &occluded, m_stats);
EXPECT_EQ(36-3, layer->fakeLayerTextureUpdater()->prepareRectCount());
{
- DebugScopedSetImplThread implThread;
updateTextures();
}
@@ -1178,7 +1181,6 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
TestCCOcclusionTracker occluded;
- DebugScopedSetImplThread implThread;
// The tile size is 100x100, so this invalidates and then paints two tiles in various ways.
@@ -1215,7 +1217,7 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
layer->update(m_queue, &occluded, m_stats);
updateTextures();
opaqueContents = layer->visibleContentOpaqueRegion();
- EXPECT_EQ_RECT(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
+ EXPECT_RECT_EQ(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
EXPECT_EQ(1u, opaqueContents.rects().size());
EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 20000 * 2, 1);
@@ -1228,7 +1230,7 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
layer->update(m_queue, &occluded, m_stats);
updateTextures();
opaqueContents = layer->visibleContentOpaqueRegion();
- EXPECT_EQ_RECT(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
+ EXPECT_RECT_EQ(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
EXPECT_EQ(1u, opaqueContents.rects().size());
EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 20000 * 2, 1);
@@ -1243,7 +1245,7 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
layer->update(m_queue, &occluded, m_stats);
updateTextures();
opaqueContents = layer->visibleContentOpaqueRegion();
- EXPECT_EQ_RECT(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
+ EXPECT_RECT_EQ(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
EXPECT_EQ(1u, opaqueContents.rects().size());
EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 20000 * 2 + 1, 1);
@@ -1258,7 +1260,7 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
layer->update(m_queue, &occluded, m_stats);
updateTextures();
opaqueContents = layer->visibleContentOpaqueRegion();
- EXPECT_EQ_RECT(intersection(IntRect(10, 100, 90, 100), visibleBounds), opaqueContents.bounds());
+ EXPECT_RECT_EQ(intersection(IntRect(10, 100, 90, 100), visibleBounds), opaqueContents.bounds());
EXPECT_EQ(1u, opaqueContents.rects().size());
EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 20000 * 2 + 1 + 1, 1);
@@ -1271,7 +1273,6 @@ TEST_F(TiledLayerChromiumTest, pixelsPaintedMetrics)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
TestCCOcclusionTracker occluded;
- DebugScopedSetImplThread implThread;
// The tile size is 100x100, so this invalidates and then paints two tiles in various ways.
@@ -1322,9 +1323,6 @@ TEST_F(TiledLayerChromiumTest, pixelsPaintedMetrics)
TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAllocated)
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
-
// Tile size is 100x100.
IntRect rootRect(0, 0, 300, 200);
IntRect childRect(0, 0, 300, 100);
@@ -1373,7 +1371,6 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child2->invalidateContentRect(child2Rect);
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
{
- DebugScopedSetImplThread implThread;
updateTextures(1000);
EXPECT_EQ(6, root->fakeLayerTextureUpdater()->updateCount());
EXPECT_EQ(3, child->fakeLayerTextureUpdater()->updateCount());
@@ -1384,12 +1381,12 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child->fakeLayerTextureUpdater()->clearUpdateCount();
child2->fakeLayerTextureUpdater()->clearUpdateCount();
- OwnPtr<FakeCCTiledLayerImpl> rootImpl(adoptPtr(new FakeCCTiledLayerImpl(root->id())));
- OwnPtr<FakeCCTiledLayerImpl> childImpl(adoptPtr(new FakeCCTiledLayerImpl(child->id())));
- OwnPtr<FakeCCTiledLayerImpl> child2Impl(adoptPtr(new FakeCCTiledLayerImpl(child2->id())));
- root->pushPropertiesTo(rootImpl.get());
- child->pushPropertiesTo(childImpl.get());
- child2->pushPropertiesTo(child2Impl.get());
+ ScopedFakeCCTiledLayerImpl rootImpl(root->id());
+ ScopedFakeCCTiledLayerImpl childImpl(child->id());
+ ScopedFakeCCTiledLayerImpl child2Impl(child2->id());
+ layerPushPropertiesTo(root.get(), rootImpl.get());
+ layerPushPropertiesTo(child.get(), childImpl.get());
+ layerPushPropertiesTo(child2.get(), child2Impl.get());
for (unsigned i = 0; i < 3; ++i) {
for (unsigned j = 0; j < 2; ++j)
@@ -1408,7 +1405,6 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child2->invalidateContentRect(child2Rect);
ccLayerTreeHost->updateLayers(m_queue, (3 * 2 + 3 * 1) * (100 * 100) * 4);
{
- DebugScopedSetImplThread implThread;
updateTextures(1000);
EXPECT_EQ(6, root->fakeLayerTextureUpdater()->updateCount());
EXPECT_EQ(0, child->fakeLayerTextureUpdater()->updateCount());
@@ -1419,12 +1415,12 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child->fakeLayerTextureUpdater()->clearUpdateCount();
child2->fakeLayerTextureUpdater()->clearUpdateCount();
- OwnPtr<FakeCCTiledLayerImpl> rootImpl(adoptPtr(new FakeCCTiledLayerImpl(root->id())));
- OwnPtr<FakeCCTiledLayerImpl> childImpl(adoptPtr(new FakeCCTiledLayerImpl(child->id())));
- OwnPtr<FakeCCTiledLayerImpl> child2Impl(adoptPtr(new FakeCCTiledLayerImpl(child2->id())));
- root->pushPropertiesTo(rootImpl.get());
- child->pushPropertiesTo(childImpl.get());
- child2->pushPropertiesTo(child2Impl.get());
+ ScopedFakeCCTiledLayerImpl rootImpl(root->id());
+ ScopedFakeCCTiledLayerImpl childImpl(child->id());
+ ScopedFakeCCTiledLayerImpl child2Impl(child2->id());
+ layerPushPropertiesTo(root.get(), rootImpl.get());
+ layerPushPropertiesTo(child.get(), childImpl.get());
+ layerPushPropertiesTo(child2.get(), child2Impl.get());
for (unsigned i = 0; i < 3; ++i) {
for (unsigned j = 0; j < 2; ++j)
@@ -1444,7 +1440,6 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child2->invalidateContentRect(child2Rect);
ccLayerTreeHost->updateLayers(m_queue, (3 * 1) * (100 * 100) * 4);
{
- DebugScopedSetImplThread implThread;
updateTextures(1000);
EXPECT_EQ(0, root->fakeLayerTextureUpdater()->updateCount());
EXPECT_EQ(0, child->fakeLayerTextureUpdater()->updateCount());
@@ -1455,12 +1450,12 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child->fakeLayerTextureUpdater()->clearUpdateCount();
child2->fakeLayerTextureUpdater()->clearUpdateCount();
- OwnPtr<FakeCCTiledLayerImpl> rootImpl(adoptPtr(new FakeCCTiledLayerImpl(root->id())));
- OwnPtr<FakeCCTiledLayerImpl> childImpl(adoptPtr(new FakeCCTiledLayerImpl(child->id())));
- OwnPtr<FakeCCTiledLayerImpl> child2Impl(adoptPtr(new FakeCCTiledLayerImpl(child2->id())));
- root->pushPropertiesTo(rootImpl.get());
- child->pushPropertiesTo(childImpl.get());
- child2->pushPropertiesTo(child2Impl.get());
+ ScopedFakeCCTiledLayerImpl rootImpl(root->id());
+ ScopedFakeCCTiledLayerImpl childImpl(child->id());
+ ScopedFakeCCTiledLayerImpl child2Impl(child2->id());
+ layerPushPropertiesTo(root.get(), rootImpl.get());
+ layerPushPropertiesTo(child.get(), childImpl.get());
+ layerPushPropertiesTo(child2.get(), child2Impl.get());
for (unsigned i = 0; i < 3; ++i) {
for (unsigned j = 0; j < 2; ++j)
@@ -1471,13 +1466,9 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
}
ccLayerTreeHost->commitComplete();
- {
- DebugScopedSetImplThread implThread;
- ccLayerTreeHost->contentsTextureManager()->clearAllMemory(m_resourceProvider.get());
- }
+ textureManagerClearAllMemory(ccLayerTreeHost->contentsTextureManager(), m_resourceProvider.get());
ccLayerTreeHost->setRootLayer(0);
ccLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
class TrackingLayerPainter : public LayerPainterChromium {
@@ -1540,18 +1531,14 @@ TEST_F(TiledLayerChromiumTest, nonIntegerContentsScaleIsNotDistortedDuringPaint)
layer->update(m_queue, 0, m_stats);
layer->trackingLayerPainter()->resetPaintedRect();
- EXPECT_INT_RECT_EQ(IntRect(), layer->trackingLayerPainter()->paintedRect());
-
- {
- DebugScopedSetImplThread implThread;
- updateTextures();
- }
+ EXPECT_RECT_EQ(IntRect(), layer->trackingLayerPainter()->paintedRect());
+ updateTextures();
// Invalidate the entire layer in content space. When painting, the rect given to webkit should match the layer's bounds.
layer->invalidateContentRect(contentRect);
layer->update(m_queue, 0, m_stats);
- EXPECT_INT_RECT_EQ(layerRect, layer->trackingLayerPainter()->paintedRect());
+ EXPECT_RECT_EQ(layerRect, layer->trackingLayerPainter()->paintedRect());
}
TEST_F(TiledLayerChromiumTest, nonIntegerContentsScaleIsNotDistortedDuringInvalidation)
@@ -1574,18 +1561,14 @@ TEST_F(TiledLayerChromiumTest, nonIntegerContentsScaleIsNotDistortedDuringInvali
layer->update(m_queue, 0, m_stats);
layer->trackingLayerPainter()->resetPaintedRect();
- EXPECT_INT_RECT_EQ(IntRect(), layer->trackingLayerPainter()->paintedRect());
-
- {
- DebugScopedSetImplThread implThread;
- updateTextures();
- }
+ EXPECT_RECT_EQ(IntRect(), layer->trackingLayerPainter()->paintedRect());
+ updateTextures();
// Invalidate the entire layer in layer space. When painting, the rect given to webkit should match the layer's bounds.
layer->setNeedsDisplayRect(layerRect);
layer->update(m_queue, 0, m_stats);
- EXPECT_INT_RECT_EQ(layerRect, layer->trackingLayerPainter()->paintedRect());
+ EXPECT_RECT_EQ(layerRect, layer->trackingLayerPainter()->paintedRect());
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/UniscribeHelperTest.cpp b/Source/WebKit/chromium/tests/UniscribeHelperTest.cpp
index ec88f4332..fa965e936 100644
--- a/Source/WebKit/chromium/tests/UniscribeHelperTest.cpp
+++ b/Source/WebKit/chromium/tests/UniscribeHelperTest.cpp
@@ -32,8 +32,8 @@
#include <gtest/gtest.h>
-#include "PlatformString.h"
#include "UniscribeHelper.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/chromium/public/WebTouchCandidatesInfo.h b/Source/WebKit/chromium/tests/WebCompositorInitializer.h
index 65d4024a2..d0893aecd 100644
--- a/Source/WebKit/chromium/public/WebTouchCandidatesInfo.h
+++ b/Source/WebKit/chromium/tests/WebCompositorInitializer.h
@@ -4,51 +4,51 @@
* 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
+ * 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 OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * 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.
+ * 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 WebTouchCandidatesInfo_h
-#define WebTouchCandidatesInfo_h
+#ifndef WebCompositorInitializer_h
+#define WebCompositorInitializer_h
-#include "platform/WebRect.h"
+#include <public/Platform.h>
+#include <public/WebCompositorSupport.h>
+#include <wtf/Noncopyable.h>
namespace WebKit {
+class WebThread;
+}
-struct WebTouchCandidatesInfo {
- // The number of possible touch receivers from the last touch.
- int numberOfCandidates;
-
- // The bounds of the possible touch candidates. This will enclose the
- // rects of any possible touch candidates for a press.
- WebRect unitedBounds;
+namespace WebKitTests {
- // The smallest dimension (either width or height) of any of the
- // available touch targets.
- int smallestDimension;
+class WebCompositorInitializer {
+ WTF_MAKE_NONCOPYABLE(WebCompositorInitializer);
+public:
+ explicit WebCompositorInitializer(WebKit::WebThread* thread)
+ {
+ WebKit::Platform::current()->compositorSupport()->initialize(thread);
+ }
- WebTouchCandidatesInfo()
- : numberOfCandidates(0)
- , smallestDimension(0)
+ ~WebCompositorInitializer()
{
+ WebKit::Platform::current()->compositorSupport()->shutdown();
}
};
-} // namespace WebKit
+}
-#endif
+#endif // WebCompositorInitializer_h
diff --git a/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp b/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp
index 8313b0f5b..88927a988 100644
--- a/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp
+++ b/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp
@@ -27,51 +27,48 @@
#include "WebCompositorInputHandlerImpl.h"
-#include "CCActiveGestureAnimation.h"
-#include "CCInputHandler.h"
-#include "CCSingleThreadProxy.h"
+#include "WebCompositorInitializer.h"
#include "WebCompositorInputHandlerClient.h"
#include "WebInputEvent.h"
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
#include <public/WebCompositor.h>
#include <public/WebFloatPoint.h>
+#include <public/WebInputHandler.h>
+#include <public/WebInputHandlerClient.h>
#include <public/WebPoint.h>
-
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
using namespace WebKit;
namespace {
-class MockCCInputHandlerClient : public WebCore::CCInputHandlerClient {
- WTF_MAKE_NONCOPYABLE(MockCCInputHandlerClient);
+class MockWebInputHandlerClient : public WebInputHandlerClient {
+ WTF_MAKE_NONCOPYABLE(MockWebInputHandlerClient);
public:
- MockCCInputHandlerClient()
+ MockWebInputHandlerClient()
{
}
- virtual ~MockCCInputHandlerClient() { }
+ virtual ~MockWebInputHandlerClient() { }
MOCK_METHOD0(pinchGestureBegin, void());
- MOCK_METHOD2(pinchGestureUpdate, void(float magnifyDelta, const WebCore::IntPoint& anchor));
+ MOCK_METHOD2(pinchGestureUpdate, void(float magnifyDelta, WebPoint anchor));
MOCK_METHOD0(pinchGestureEnd, void());
MOCK_METHOD0(scheduleAnimation, void());
- MOCK_METHOD2(scrollBegin, ScrollStatus(const WebCore::IntPoint&, WebCore::CCInputHandlerClient::ScrollInputType));
- MOCK_METHOD2(scrollBy, void(const WebCore::IntPoint&, const WebCore::IntSize&));
+ MOCK_METHOD2(scrollBegin, ScrollStatus(WebPoint, WebInputHandlerClient::ScrollInputType));
+ MOCK_METHOD2(scrollBy, void(WebPoint, WebSize));
MOCK_METHOD0(scrollEnd, void());
private:
- virtual void startPageScaleAnimation(const WebCore::IntSize& targetPosition,
+ virtual void startPageScaleAnimation(WebSize targetPosition,
bool anchorPoint,
float pageScale,
double startTimeMs,
double durationMs) OVERRIDE { }
-
- virtual WebCore::CCActiveGestureAnimation* activeGestureAnimation() OVERRIDE { return 0; }
- virtual void setActiveGestureAnimation(PassOwnPtr<WebCore::CCActiveGestureAnimation>) OVERRIDE { }
};
class MockWebCompositorInputHandlerClient : public WebCompositorInputHandlerClient {
@@ -91,51 +88,14 @@ public:
};
-TEST(WebCompositorInputHandlerImpl, fromIdentifier)
-{
- WebCompositor::initialize(0);
- WebCore::DebugScopedSetImplThread alwaysImplThread;
-
- // Before creating any WebCompositorInputHandlers, lookups for any value should fail and not crash.
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(2));
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(0));
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(-1));
-
- int compositorIdentifier = -1;
- {
- OwnPtr<WebCompositorInputHandlerImpl> inputHandler = WebCompositorInputHandlerImpl::create(0);
- compositorIdentifier = inputHandler->identifier();
- // The compositor we just created should be locatable.
- EXPECT_EQ(inputHandler.get(), WebCompositorInputHandler::fromIdentifier(compositorIdentifier));
-
- // But nothing else.
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(inputHandler->identifier() + 10));
- }
-
- // After the compositor is destroyed, its entry should be removed from the map.
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(compositorIdentifier));
- WebCompositor::shutdown();
-}
-
-class WebCompositorInitializer {
-public:
- WebCompositorInitializer()
- {
- WebCompositor::initialize(0);
- }
-
- ~WebCompositorInitializer()
- {
- WebCompositor::shutdown();
- }
-};
-
class WebCompositorInputHandlerImplTest : public testing::Test {
public:
WebCompositorInputHandlerImplTest()
- : m_expectedDisposition(DidHandle)
+ : m_initializer(0)
+ , m_expectedDisposition(DidHandle)
{
- m_inputHandler = WebCompositorInputHandlerImpl::create(&m_mockCCInputHandlerClient);
+ m_inputHandler = adoptPtr(new WebCompositorInputHandlerImpl);
+ m_inputHandler->bindToClient(&m_mockInputHandlerClient);
m_inputHandler->setClient(&m_mockClient);
}
@@ -149,7 +109,7 @@ public:
// out of gmock is the line number that set the expectation.
#define VERIFY_AND_RESET_MOCKS() do \
{ \
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient); \
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient); \
testing::Mock::VerifyAndClearExpectations(&m_mockClient); \
switch (m_expectedDisposition) { \
case DidHandle: \
@@ -173,12 +133,11 @@ public:
} while (0)
protected:
- MockCCInputHandlerClient m_mockCCInputHandlerClient;
+ MockWebInputHandlerClient m_mockInputHandlerClient;
OwnPtr<WebCompositorInputHandlerImpl> m_inputHandler;
MockWebCompositorInputHandlerClient m_mockClient;
WebGestureEvent gesture;
- WebCore::DebugScopedSetImplThread alwaysImplThread;
- WebCompositorInitializer initializer;
+ WebKitTests::WebCompositorInitializer m_initializer;
enum ExpectedDisposition { DidHandle, DidNotHandle, DropEvent };
ExpectedDisposition m_expectedDisposition;
@@ -191,8 +150,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollStarted)
m_expectedDisposition = DidHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
gesture.type = WebInputEvent::GestureScrollBegin;
m_inputHandler->handleInputEvent(gesture);
@@ -200,15 +159,15 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollStarted)
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GestureScrollUpdate;
- gesture.deltaY = -40; // -Y means scroll down - i.e. in the +Y direction.
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::Property(&WebCore::IntSize::height, testing::Gt(0))));
+ gesture.data.scrollUpdate.deltaY = -40; // -Y means scroll down - i.e. in the +Y direction.
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::Field(&WebSize::height, testing::Gt(0))));
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GestureScrollEnd;
- gesture.deltaY = 0;
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd());
+ gesture.data.scrollUpdate.deltaY = 0;
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd());
m_inputHandler->handleInputEvent(gesture);
}
@@ -218,8 +177,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollOnMainThread)
m_expectedDisposition = DidNotHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(::testing::_, ::testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(::testing::_, ::testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
gesture.type = WebInputEvent::GestureScrollBegin;
m_inputHandler->handleInputEvent(gesture);
@@ -227,13 +186,13 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollOnMainThread)
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GestureScrollUpdate;
- gesture.deltaY = 40;
+ gesture.data.scrollUpdate.deltaY = 40;
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GestureScrollEnd;
- gesture.deltaY = 0;
+ gesture.data.scrollUpdate.deltaY = 0;
m_inputHandler->handleInputEvent(gesture);
}
@@ -246,8 +205,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollIgnored)
m_expectedDisposition = DropEvent;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollIgnored));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusIgnored));
gesture.type = WebInputEvent::GestureScrollBegin;
m_inputHandler->handleInputEvent(gesture);
@@ -260,31 +219,31 @@ TEST_F(WebCompositorInputHandlerImplTest, gesturePinch)
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GesturePinchBegin;
- EXPECT_CALL(m_mockCCInputHandlerClient, pinchGestureBegin());
+ EXPECT_CALL(m_mockInputHandlerClient, pinchGestureBegin());
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GesturePinchUpdate;
- gesture.deltaX = 1.5;
+ gesture.data.pinchUpdate.scale = 1.5;
gesture.x = 7;
gesture.y = 13;
- EXPECT_CALL(m_mockCCInputHandlerClient, pinchGestureUpdate(1.5, WebCore::IntPoint(7, 13)));
+ EXPECT_CALL(m_mockInputHandlerClient, pinchGestureUpdate(1.5, WebPoint(7, 13)));
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GesturePinchUpdate;
- gesture.deltaX = 0.5;
+ gesture.data.pinchUpdate.scale = 0.5;
gesture.x = 9;
gesture.y = 6;
- EXPECT_CALL(m_mockCCInputHandlerClient, pinchGestureUpdate(.5, WebCore::IntPoint(9, 6)));
+ EXPECT_CALL(m_mockInputHandlerClient, pinchGestureUpdate(.5, WebPoint(9, 6)));
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GesturePinchEnd;
- EXPECT_CALL(m_mockCCInputHandlerClient, pinchGestureEnd());
+ EXPECT_CALL(m_mockInputHandlerClient, pinchGestureEnd());
m_inputHandler->handleInputEvent(gesture);
}
@@ -294,12 +253,12 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingStarted)
m_expectedDisposition = DidHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
gesture.type = WebInputEvent::GestureFlingStart;
- gesture.deltaX = 10;
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
+ gesture.data.flingStart.velocityX = 10;
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
@@ -315,8 +274,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingFailed)
m_expectedDisposition = DidNotHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
gesture.type = WebInputEvent::GestureFlingStart;
m_inputHandler->handleInputEvent(gesture);
@@ -333,8 +292,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingIgnored)
m_expectedDisposition = DidNotHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollIgnored));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusIgnored));
gesture.type = WebInputEvent::GestureFlingStart;
m_inputHandler->handleInputEvent(gesture);
@@ -359,47 +318,47 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingAnimates)
WebPoint flingPoint = WebPoint(7, 13);
WebPoint flingGlobalPoint = WebPoint(17, 23);
int modifiers = 7;
- gesture.deltaX = flingDelta.x;
- gesture.deltaY = flingDelta.y;
+ gesture.data.flingStart.velocityX = flingDelta.x;
+ gesture.data.flingStart.velocityY = flingDelta.y;
gesture.x = flingPoint.x;
gesture.y = flingPoint.y;
gesture.globalX = flingGlobalPoint.x;
gesture.globalY = flingGlobalPoint.y;
gesture.modifiers = modifiers;
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
m_inputHandler->handleInputEvent(gesture);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// The first animate call should let us pick up an animation start time, but we
// shouldn't actually move anywhere just yet. The first frame after the fling start
// will typically include the last scroll from the gesture that lead to the scroll
// (either wheel or gesture scroll), so there should be no visible hitch.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(10);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// The second call should start scrolling in the -X direction.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::Property(&WebCore::IntSize::width, testing::Lt(0))));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd());
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::Field(&WebSize::width, testing::Lt(0))));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd());
m_inputHandler->animate(10.1);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Let's say on the third call we hit a non-scrollable region. We should abort the fling and not scroll.
// We also should pass the current fling parameters out to the client so the rest of the fling can be
// transferred to the main thread.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd()).Times(0);
// Expected wheel fling animation parameters:
// *) flingDelta and flingPoint should match the original GestureFlingStart event
@@ -415,13 +374,13 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingAnimates)
testing::Field(&WebSize::width, testing::Gt(0))))));
m_inputHandler->animate(10.2);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
testing::Mock::VerifyAndClearExpectations(&m_mockClient);
// Since we've aborted the fling, the next animation should be a no-op and should not result in another
// frame being requested.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation()).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(10.3);
// Since we've transferred the fling to the main thread, we need to pass the next GestureFlingCancel to the main
@@ -443,45 +402,45 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingTransferResets)
WebPoint flingPoint = WebPoint(7, 13);
WebPoint flingGlobalPoint = WebPoint(17, 23);
int modifiers = 1;
- gesture.deltaX = flingDelta.x;
- gesture.deltaY = flingDelta.y;
+ gesture.data.flingStart.velocityX = flingDelta.x;
+ gesture.data.flingStart.velocityY = flingDelta.y;
gesture.x = flingPoint.x;
gesture.y = flingPoint.y;
gesture.globalX = flingGlobalPoint.x;
gesture.globalY = flingGlobalPoint.y;
gesture.modifiers = modifiers;
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
m_inputHandler->handleInputEvent(gesture);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Start the fling animation at time 10. This shouldn't actually scroll, just establish a start time.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(10);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// The second call should start scrolling in the -X direction.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::Property(&WebCore::IntSize::width, testing::Lt(0))));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd());
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::Field(&WebSize::width, testing::Lt(0))));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd());
m_inputHandler->animate(10.1);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Let's say on the third call we hit a non-scrollable region. We should abort the fling and not scroll.
// We also should pass the current fling parameters out to the client so the rest of the fling can be
// transferred to the main thread.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd()).Times(0);
// Expected wheel fling animation parameters:
// *) flingDelta and flingPoint should match the original GestureFlingStart event
@@ -497,16 +456,16 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingTransferResets)
testing::Field(&WebSize::width, testing::Gt(0))))));
m_inputHandler->animate(10.2);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
testing::Mock::VerifyAndClearExpectations(&m_mockClient);
// Since we've aborted the fling, the next animation should be a no-op and should not result in another
// frame being requested.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation()).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(10.3);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Since we've transferred the fling to the main thread, we need to pass the next GestureFlingCancel to the main
// thread as well.
@@ -522,43 +481,43 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingTransferResets)
flingPoint = WebPoint(95, 87);
flingGlobalPoint = WebPoint(32, 71);
modifiers = 2;
- gesture.deltaX = flingDelta.x;
- gesture.deltaY = flingDelta.y;
+ gesture.data.flingStart.velocityX = flingDelta.x;
+ gesture.data.flingStart.velocityY = flingDelta.y;
gesture.x = flingPoint.x;
gesture.y = flingPoint.y;
gesture.globalX = flingGlobalPoint.x;
gesture.globalY = flingGlobalPoint.y;
gesture.modifiers = modifiers;
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
m_inputHandler->handleInputEvent(gesture);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Start the second fling animation at time 30.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(30);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Tick the second fling once normally.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::Property(&WebCore::IntSize::height, testing::Gt(0))));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd());
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::Field(&WebSize::height, testing::Gt(0))));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd());
m_inputHandler->animate(30.1);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Then abort the second fling.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd()).Times(0);
// We should get parameters from the second fling, nothing from the first fling should "leak".
EXPECT_CALL(m_mockClient, transferActiveWheelFlingAnimation(testing::AllOf(
@@ -573,3 +532,4 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingTransferResets)
}
}
+
diff --git a/Source/WebKit/chromium/tests/WebFrameTest.cpp b/Source/WebKit/chromium/tests/WebFrameTest.cpp
index 03c201e16..4328a0e4a 100644
--- a/Source/WebKit/chromium/tests/WebFrameTest.cpp
+++ b/Source/WebKit/chromium/tests/WebFrameTest.cpp
@@ -45,6 +45,7 @@
#include "WebFormElement.h"
#include "WebFrameClient.h"
#include "WebFrameImpl.h"
+#include "WebHistoryItem.h"
#include "WebRange.h"
#include "WebScriptSource.h"
#include "WebSearchableFormData.h"
@@ -54,6 +55,7 @@
#include "WebViewClient.h"
#include "WebViewImpl.h"
#include "platform/WebFloatRect.h"
+#include "platform/WebURLResponse.h"
#include "v8.h"
#include <gtest/gtest.h>
#include <webkit/support/webkit_support.h>
@@ -988,10 +990,11 @@ TEST_F(WebFrameTest, FindInPageMatchRects)
webView->close();
}
-static WebView* selectRangeTestCreateWebView(const std::string& url)
+static WebView* createWebViewForTextSelection(const std::string& url)
{
WebView* webView = FrameTestHelpers::createWebViewAndLoad(url, true);
webView->settings()->setDefaultFontSize(12);
+ webView->enableFixedLayoutMode(false);
webView->resize(WebSize(640, 480));
return webView;
}
@@ -1010,6 +1013,11 @@ static WebPoint bottomRightMinusOne(const WebRect& rect)
return WebPoint(rect.x + rect.width - 1, rect.y + rect.height - 1);
}
+static WebRect elementBounds(WebFrame* frame, const WebString& id)
+{
+ return frame->document().getElementById(id).boundsInViewportSpace();
+}
+
static std::string selectionAsString(WebFrame* frame)
{
return std::string(frame->selectionAsText().utf8().data());
@@ -1027,7 +1035,7 @@ TEST_F(WebFrameTest, SelectRange)
registerMockedHttpURLLoad("select_range_iframe.html");
registerMockedHttpURLLoad("select_range_editable.html");
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_basic.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_basic.html");
frame = webView->mainFrame();
EXPECT_EQ("Some test text for testing.", selectionAsString(frame));
webView->selectionBounds(startWebRect, endWebRect);
@@ -1037,7 +1045,7 @@ TEST_F(WebFrameTest, SelectRange)
EXPECT_EQ("Some test text for testing.", selectionAsString(frame));
webView->close();
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_scroll.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_scroll.html");
frame = webView->mainFrame();
EXPECT_EQ("Some offscreen test text for testing.", selectionAsString(frame));
webView->selectionBounds(startWebRect, endWebRect);
@@ -1047,7 +1055,7 @@ TEST_F(WebFrameTest, SelectRange)
EXPECT_EQ("Some offscreen test text for testing.", selectionAsString(frame));
webView->close();
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_iframe.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_iframe.html");
frame = webView->mainFrame();
WebFrame* subframe = frame->findChildByExpression(WebString::fromUTF8("/html/body/iframe"));
EXPECT_EQ("Some test text for testing.", selectionAsString(subframe));
@@ -1060,7 +1068,7 @@ TEST_F(WebFrameTest, SelectRange)
// Select the middle of an editable element, then try to extend the selection to the top of the document.
// The selection range should be clipped to the bounds of the editable element.
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_editable.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_editable.html");
frame = webView->mainFrame();
EXPECT_EQ("This text is initially selected.", selectionAsString(frame));
webView->selectionBounds(startWebRect, endWebRect);
@@ -1069,7 +1077,7 @@ TEST_F(WebFrameTest, SelectRange)
webView->close();
// As above, but extending the selection to the bottom of the document.
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_editable.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_editable.html");
frame = webView->mainFrame();
EXPECT_EQ("This text is initially selected.", selectionAsString(frame));
webView->selectionBounds(startWebRect, endWebRect);
@@ -1078,4 +1086,302 @@ TEST_F(WebFrameTest, SelectRange)
webView->close();
}
+TEST_F(WebFrameTest, MoveSelectionStart)
+{
+ registerMockedHttpURLLoad("text_selection.html");
+ WebView* webView = createWebViewForTextSelection(m_baseURL + "text_selection.html");
+ WebFrame* frame = webView->mainFrame();
+
+ // moveSelectionStart() always returns false if there's no selection.
+ EXPECT_FALSE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_1")), false));
+ EXPECT_FALSE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_1")), true));
+
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "header_2")), false));
+ EXPECT_EQ("Header 1. Header 2.", selectionAsString(frame));
+
+ // Select second span. We can move the start to include the first span.
+ frame->executeScript(WebScriptSource("selectElement('header_2');"));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_1")), false));
+ EXPECT_EQ("Header 1. Header 2.", selectionAsString(frame));
+
+ // If allowCollapsedSelection=false we can't move the selection start beyond the current end.
+ // We end up with a single character selected.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(bottomRightMinusOne(elementBounds(frame, "header_1")), false));
+ EXPECT_EQ(".", selectionAsString(frame));
+
+ // If allowCollapsedSelection=true we can move the start and end together.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(bottomRightMinusOne(elementBounds(frame, "header_1")), true));
+ EXPECT_EQ("", selectionAsString(frame));
+ // Selection is a caret, not empty.
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_1")), true));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+
+ // If allowCollapsedSelection=true we can move the start across the end.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(bottomRightMinusOne(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ(" Header 2.", selectionAsString(frame));
+
+ // Can't extend the selection part-way into an editable element.
+ frame->executeScript(WebScriptSource("selectElement('footer_2');"));
+ EXPECT_EQ("Footer 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "editable_2")), true));
+ EXPECT_EQ(" [ Footer 1. Footer 2.", selectionAsString(frame));
+
+ // Can extend the selection completely across editable elements.
+ frame->executeScript(WebScriptSource("selectElement('footer_2');"));
+ EXPECT_EQ("Footer 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ("Header 2. ] [ Editable 1. Editable 2. ] [ Footer 1. Footer 2.", selectionAsString(frame));
+
+ // If the selection is editable text, we can't extend it into non-editable text.
+ frame->executeScript(WebScriptSource("selectElement('editable_2');"));
+ EXPECT_EQ("Editable 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ("[ Editable 1. Editable 2.", selectionAsString(frame));
+
+ webView->close();
+}
+
+TEST_F(WebFrameTest, MoveSelectionEnd)
+{
+ registerMockedHttpURLLoad("text_selection.html");
+ WebView* webView = createWebViewForTextSelection(m_baseURL + "text_selection.html");
+ WebFrame* frame = webView->mainFrame();
+
+ // moveSelectionEnd() always returns false if there's no selection.
+ EXPECT_FALSE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_1")), false));
+ EXPECT_FALSE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_1")), true));
+
+ // Select first span. We can move the end to include the second span.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "header_2")), false));
+ EXPECT_EQ("Header 1. Header 2.", selectionAsString(frame));
+
+ // If allowCollapsedSelection=false we can't move the selection end beyond the current start.
+ // We end up with a single character selected.
+ frame->executeScript(WebScriptSource("selectElement('header_2');"));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_2")), false));
+ EXPECT_EQ("H", selectionAsString(frame));
+
+ // If allowCollapsedSelection=true we can move the start and end together.
+ frame->executeScript(WebScriptSource("selectElement('header_2');"));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ("", selectionAsString(frame));
+ // Selection is a caret, not empty.
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+
+ // If allowCollapsedSelection=true we can move the end across the start.
+ frame->executeScript(WebScriptSource("selectElement('header_2');"));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_1")), true));
+ EXPECT_EQ("Header 1. ", selectionAsString(frame));
+
+ // Can't extend the selection part-way into an editable element.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "editable_1")), true));
+ EXPECT_EQ("Header 1. Header 2. ] ", selectionAsString(frame));
+
+ // Can extend the selection completely across editable elements.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "footer_1")), true));
+ EXPECT_EQ("Header 1. Header 2. ] [ Editable 1. Editable 2. ] [ Footer 1.", selectionAsString(frame));
+
+ // If the selection is editable text, we can't extend it into non-editable text.
+ frame->executeScript(WebScriptSource("selectElement('editable_1');"));
+ EXPECT_EQ("Editable 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "footer_1")), true));
+ EXPECT_EQ("Editable 1. Editable 2. ]", selectionAsString(frame));
+
+ webView->close();
+}
+
+TEST_F(WebFrameTest, MoveCaret)
+{
+ registerMockedHttpURLLoad("text_selection.html");
+ WebView* webView = createWebViewForTextSelection(m_baseURL + "text_selection.html");
+ WebFrame* frame = webView->mainFrame();
+
+ // moveCaret() returns false if there's no selection, or if it isn't editable.
+ EXPECT_FALSE(frame->moveCaret(topLeft(elementBounds(frame, "editable"))));
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_FALSE(frame->moveCaret(topLeft(elementBounds(frame, "editable"))));
+
+ // Select the editable text span. Now moveCaret() works.
+ frame->executeScript(WebScriptSource("selectElement('editable_1');"));
+ EXPECT_EQ("Editable 1.", selectionAsString(frame));
+
+ EXPECT_TRUE(frame->moveCaret(topLeft(elementBounds(frame, "editable_1"))));
+ EXPECT_EQ("", selectionAsString(frame));
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "editable_1")), false));
+ EXPECT_EQ("Editable 1.", selectionAsString(frame));
+
+ EXPECT_TRUE(frame->moveCaret(bottomRightMinusOne(elementBounds(frame, "editable_2"))));
+ EXPECT_EQ("", selectionAsString(frame));
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "editable_2")), false));
+ EXPECT_EQ("Editable 2.", selectionAsString(frame));
+
+ // Caret is pinned at the start of the editable region.
+ EXPECT_TRUE(frame->moveCaret(topLeft(elementBounds(frame, "header_1"))));
+ EXPECT_EQ("", selectionAsString(frame));
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "editable_1")), false));
+ EXPECT_EQ("[ Editable 1.", selectionAsString(frame));
+
+ // Caret is pinned at the end of the editable region.
+ EXPECT_TRUE(frame->moveCaret(bottomRightMinusOne(elementBounds(frame, "footer_2"))));
+ EXPECT_EQ("", selectionAsString(frame));
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "editable_2")), false));
+ EXPECT_EQ("Editable 2. ]", selectionAsString(frame));
+
+ webView->close();
+}
+
+class DisambiguationPopupTestWebViewClient : public WebViewClient {
+public:
+ virtual bool didTapMultipleTargets(const WebGestureEvent&, const WebVector<WebRect>& targetRects) OVERRIDE
+ {
+ EXPECT_GE(targetRects.size(), 2u);
+ m_triggered = true;
+ return true;
+ }
+
+ bool triggered() const { return m_triggered; }
+ void resetTriggered() { m_triggered = false; }
+ bool m_triggered;
+};
+
+static WebGestureEvent fatTap(int x, int y)
+{
+ WebGestureEvent event;
+ event.type = WebInputEvent::GestureTap;
+ event.x = x;
+ event.y = y;
+ event.data.tap.width = 50;
+ event.data.tap.height = 50;
+ return event;
+}
+
+TEST_F(WebFrameTest, DisambiguationPopupTest)
+{
+ registerMockedHttpURLLoad("disambiguation_popup.html");
+
+ DisambiguationPopupTestWebViewClient client;
+
+ // Make sure we initialize to minimum scale, even if the window size
+ // only becomes available after the load begins.
+ WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(FrameTestHelpers::createWebViewAndLoad(m_baseURL + "disambiguation_popup.html", true, 0, &client));
+ webViewImpl->resize(WebSize(1000, 1000));
+ webViewImpl->layout();
+
+ client.resetTriggered();
+ webViewImpl->handleInputEvent(fatTap(0, 0));
+ EXPECT_FALSE(client.triggered());
+
+ client.resetTriggered();
+ webViewImpl->handleInputEvent(fatTap(200, 115));
+ EXPECT_FALSE(client.triggered());
+
+ for (int i = 0; i <= 46; i++) {
+ client.resetTriggered();
+ webViewImpl->handleInputEvent(fatTap(120, 230 + i * 5));
+
+ int j = i % 10;
+ if (j >= 7 && j <= 9)
+ EXPECT_TRUE(client.triggered());
+ else
+ EXPECT_FALSE(client.triggered());
+ }
+
+ for (int i = 0; i <= 46; i++) {
+ client.resetTriggered();
+ webViewImpl->handleInputEvent(fatTap(10 + i * 5, 590));
+
+ int j = i % 10;
+ if (j >= 7 && j <= 9)
+ EXPECT_TRUE(client.triggered());
+ else
+ EXPECT_FALSE(client.triggered());
+ }
+
+}
+
+class TestSubstituteDataWebFrameClient : public WebFrameClient {
+public:
+ TestSubstituteDataWebFrameClient()
+ : m_commitCalled(false)
+ {
+ }
+
+ virtual void didFailProvisionalLoad(WebFrame* frame, const WebURLError& error)
+ {
+ frame->loadHTMLString("This should appear", toKURL("data:text/html,chromewebdata"), error.unreachableURL, true);
+ webkit_support::RunAllPendingMessages();
+ }
+
+ virtual void didCommitProvisionalLoad(WebFrame* frame, bool)
+ {
+ if (frame->dataSource()->response().url() != WebURL(URLTestHelpers::toKURL("about:blank")))
+ m_commitCalled = true;
+ }
+
+ bool commitCalled() const { return m_commitCalled; }
+
+private:
+ bool m_commitCalled;
+};
+
+TEST_F(WebFrameTest, ReplaceNavigationAfterHistoryNavigation)
+{
+ TestSubstituteDataWebFrameClient webFrameClient;
+
+ WebView* webView = FrameTestHelpers::createWebViewAndLoad("about:blank", true, &webFrameClient);
+ webkit_support::RunAllPendingMessages();
+ WebFrame* frame = webView->mainFrame();
+
+ // Load a url as a history navigation that will return an error. TestSubstituteDataWebFrameClient
+ // will start a SubstituteData load in response to the load failure, which should get fully committed.
+ // Due to https://bugs.webkit.org/show_bug.cgi?id=91685, FrameLoader::didReceiveData() wasn't getting
+ // called in this case, which resulted in the SubstituteData document not getting displayed.
+ WebURLError error;
+ error.reason = 1337;
+ error.domain = "WebFrameTest";
+ std::string errorURL = "http://0.0.0.0";
+ WebURLResponse response;
+ response.initialize();
+ response.setURL(URLTestHelpers::toKURL(errorURL));
+ response.setMIMEType("text/html");
+ response.setHTTPStatusCode(500);
+ WebHistoryItem errorHistoryItem;
+ errorHistoryItem.initialize();
+ errorHistoryItem.setURLString(WebString::fromUTF8(errorURL.c_str(), errorURL.length()));
+ errorHistoryItem.setOriginalURLString(WebString::fromUTF8(errorURL.c_str(), errorURL.length()));
+ webkit_support::RegisterMockedErrorURL(URLTestHelpers::toKURL(errorURL), response, error);
+ frame->loadHistoryItem(errorHistoryItem);
+ webkit_support::ServeAsynchronousMockedRequests();
+
+ WebString text = frame->contentAsText(std::numeric_limits<size_t>::max());
+ EXPECT_EQ("This should appear", std::string(text.utf8().data()));
+ EXPECT_TRUE(webFrameClient.commitCalled());
+}
+
} // namespace
diff --git a/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp b/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp
new file mode 100644
index 000000000..1df76dc7c
--- /dev/null
+++ b/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2012 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 "WebInputEventConversion.h"
+
+#include "KeyboardEvent.h"
+#include <gtest/gtest.h>
+
+using WebKit::WebInputEvent;
+using WebKit::WebKeyboardEvent;
+using WebKit::WebKeyboardEventBuilder;
+
+namespace {
+
+PassRefPtr<WebCore::KeyboardEvent> createKeyboardEventWithLocation(WebCore::KeyboardEvent::KeyLocationCode location)
+{
+ return WebCore::KeyboardEvent::create("keydown", true, true, 0, "", location, false, false, false, false, false);
+}
+
+int getModifiersForKeyLocationCode(WebCore::KeyboardEvent::KeyLocationCode location)
+{
+ RefPtr<WebCore::KeyboardEvent> event = createKeyboardEventWithLocation(location);
+ WebKit::WebKeyboardEventBuilder convertedEvent(*event);
+ return convertedEvent.modifiers;
+}
+
+TEST(WebInputEventConversionTest, WebKeyboardEventBuilder)
+{
+ // Test key location conversion.
+ int modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_STANDARD);
+ EXPECT_FALSE(modifiers & WebInputEvent::IsKeyPad || modifiers & WebInputEvent::IsLeft || modifiers & WebInputEvent::IsRight);
+
+ modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_LEFT);
+ EXPECT_TRUE(modifiers & WebInputEvent::IsLeft);
+ EXPECT_FALSE(modifiers & WebInputEvent::IsKeyPad || modifiers & WebInputEvent::IsRight);
+
+ modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_RIGHT);
+ EXPECT_TRUE(modifiers & WebInputEvent::IsRight);
+ EXPECT_FALSE(modifiers & WebInputEvent::IsKeyPad || modifiers & WebInputEvent::IsLeft);
+
+ modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_NUMPAD);
+ EXPECT_TRUE(modifiers & WebInputEvent::IsKeyPad);
+ EXPECT_FALSE(modifiers & WebInputEvent::IsLeft || modifiers & WebInputEvent::IsRight);
+}
+
+} // anonymous namespace
diff --git a/Source/WebKit/chromium/tests/WebLayerTest.cpp b/Source/WebKit/chromium/tests/WebLayerTest.cpp
index 9b8e58ca1..eb544b29f 100644
--- a/Source/WebKit/chromium/tests/WebLayerTest.cpp
+++ b/Source/WebKit/chromium/tests/WebLayerTest.cpp
@@ -26,17 +26,20 @@
#include <public/WebLayer.h>
#include "CompositorFakeWebGraphicsContext3D.h"
+#include "WebCompositorInitializer.h"
#include "WebLayerImpl.h"
-#include <public/WebCompositor.h>
+#include "WebLayerTreeViewTestCommon.h"
#include <public/WebContentLayer.h>
#include <public/WebContentLayerClient.h>
#include <public/WebExternalTextureLayer.h>
#include <public/WebFloatPoint.h>
#include <public/WebFloatRect.h>
+#include <public/WebLayerScrollClient.h>
#include <public/WebLayerTreeView.h>
#include <public/WebLayerTreeViewClient.h>
#include <public/WebRect.h>
#include <public/WebSize.h>
+#include <public/WebSolidColorLayer.h>
#include <gmock/gmock.h>
@@ -49,23 +52,6 @@ using testing::_;
namespace {
-class MockWebLayerTreeViewClient : public WebLayerTreeViewClient {
-public:
- MOCK_METHOD0(scheduleComposite, void());
-
- virtual void updateAnimations(double frameBeginTime) { }
- virtual void didBeginFrame() { }
- virtual void layout() { }
- virtual void applyScrollAndScale(const WebSize& scrollDelta, float scaleFactor) { }
- virtual WebGraphicsContext3D* createContext3D() { return CompositorFakeWebGraphicsContext3D::create(WebGraphicsContext3D::Attributes()).leakPtr(); }
- virtual void didRebindGraphicsContext(bool success) { }
- virtual WebCompositorOutputSurface* createOutputSurface() { return 0; }
- virtual void didRecreateOutputSurface(bool success) { }
- virtual void willCommit() { }
- virtual void didCommitAndDrawFrame() { }
- virtual void didCompleteSwapBuffers() { }
-};
-
class MockWebContentLayerClient : public WebContentLayerClient {
public:
MOCK_METHOD3(paintContents, void(WebCanvas*, const WebRect& clip, WebFloatRect& opaque));
@@ -73,13 +59,16 @@ public:
class WebLayerTest : public Test {
public:
+ WebLayerTest()
+ : m_compositorInitializer(0)
+ {
+ }
+
virtual void SetUp()
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
m_rootLayer = adoptPtr(WebLayer::create());
EXPECT_CALL(m_client, scheduleComposite()).Times(AnyNumber());
- EXPECT_TRUE(m_view.initialize(&m_client, *m_rootLayer, WebLayerTreeView::Settings()));
+ EXPECT_TRUE(m_view = adoptPtr(WebLayerTreeView::create(&m_client, *m_rootLayer, WebLayerTreeView::Settings())));
Mock::VerifyAndClearExpectations(&m_client);
}
@@ -87,16 +76,15 @@ public:
{
// We may get any number of scheduleComposite calls during shutdown.
EXPECT_CALL(m_client, scheduleComposite()).Times(AnyNumber());
- m_view.setRootLayer(0);
m_rootLayer.clear();
- m_view.reset();
- WebKit::WebCompositor::shutdown();
+ m_view.clear();
}
protected:
+ WebKitTests::WebCompositorInitializer m_compositorInitializer;
MockWebLayerTreeViewClient m_client;
OwnPtr<WebLayer> m_rootLayer;
- WebLayerTreeView m_view;
+ OwnPtr<WebLayerTreeView> m_view;
};
// Tests that the client gets called to ask for a composite if we change the
@@ -156,7 +144,7 @@ TEST_F(WebLayerTest, Client)
EXPECT_EQ(point, layer->position());
// Texture layer.
- EXPECT_CALL(m_client, scheduleComposite()).Times(AnyNumber());
+ EXPECT_CALL(m_client, scheduleComposite()).Times(AtLeast(1));
OwnPtr<WebExternalTextureLayer> textureLayer = adoptPtr(WebExternalTextureLayer::create());
m_rootLayer->addChild(textureLayer->layer());
Mock::VerifyAndClearExpectations(&m_client);
@@ -187,6 +175,37 @@ TEST_F(WebLayerTest, Client)
contentLayer->layer()->setDrawsContent(false);
Mock::VerifyAndClearExpectations(&m_client);
EXPECT_FALSE(contentLayer->layer()->drawsContent());
+
+ // Solid color layer.
+ EXPECT_CALL(m_client, scheduleComposite()).Times(AtLeast(1));
+ OwnPtr<WebSolidColorLayer> solidColorLayer = adoptPtr(WebSolidColorLayer::create());
+ m_rootLayer->addChild(solidColorLayer->layer());
+ Mock::VerifyAndClearExpectations(&m_client);
+
+}
+
+class MockScrollClient : public WebLayerScrollClient {
+public:
+ MOCK_METHOD0(didScroll, void());
+};
+
+TEST_F(WebLayerTest, notifyScrollClient)
+{
+ MockScrollClient scrollClient;
+
+ EXPECT_CALL(scrollClient, didScroll()).Times(0);
+ m_rootLayer->setScrollClient(&scrollClient);
+ Mock::VerifyAndClearExpectations(&scrollClient);
+
+ EXPECT_CALL(scrollClient, didScroll()).Times(1);
+ m_rootLayer->setScrollPosition(WebPoint(14, 19));
+ Mock::VerifyAndClearExpectations(&scrollClient);
+
+ EXPECT_CALL(scrollClient, didScroll()).Times(0);
+ m_rootLayer->setScrollPosition(WebPoint(14, 19));
+ Mock::VerifyAndClearExpectations(&scrollClient);
+
+ m_rootLayer->setScrollClient(0);
}
}
diff --git a/Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp b/Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp
index 1c1602c23..c136e01be 100644
--- a/Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp
+++ b/Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp
@@ -31,10 +31,12 @@
#include "WebLayerTreeViewTestCommon.h"
#include <gmock/gmock.h>
#include <public/Platform.h>
-#include <public/WebCompositor.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebLayer.h>
#include <public/WebLayerTreeViewClient.h>
#include <public/WebThread.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
using namespace WebKit;
using testing::Mock;
@@ -61,35 +63,34 @@ public:
{
initializeCompositor();
m_rootLayer = adoptPtr(WebLayer::create());
- EXPECT_TRUE(m_view.initialize(client(), *m_rootLayer, WebLayerTreeView::Settings()));
- m_view.setSurfaceReady();
+ ASSERT_TRUE(m_view = adoptPtr(WebLayerTreeView::create(client(), *m_rootLayer, WebLayerTreeView::Settings())));
+ m_view->setSurfaceReady();
}
virtual void TearDown()
{
Mock::VerifyAndClearExpectations(client());
- m_view.setRootLayer(0);
m_rootLayer.clear();
- m_view.reset();
- WebKit::WebCompositor::shutdown();
+ m_view.clear();
+ WebKit::Platform::current()->compositorSupport()->shutdown();
}
protected:
OwnPtr<WebLayer> m_rootLayer;
- WebLayerTreeView m_view;
+ OwnPtr<WebLayerTreeView> m_view;
};
class WebLayerTreeViewSingleThreadTest : public WebLayerTreeViewTestBase {
protected:
void composite()
{
- m_view.composite();
+ m_view->composite();
}
virtual void initializeCompositor() OVERRIDE
{
- WebKit::WebCompositor::initialize(0);
+ WebKit::Platform::current()->compositorSupport()->initialize(0);
}
virtual WebLayerTreeViewClient* client() OVERRIDE
@@ -157,18 +158,18 @@ protected:
void composite()
{
- m_view.setNeedsRedraw();
+ m_view->setNeedsRedraw();
RefPtr<CancelableTaskWrapper> timeoutTask = adoptRef(new CancelableTaskWrapper(adoptPtr(new TimeoutTask())));
WebKit::Platform::current()->currentThread()->postDelayedTask(timeoutTask->createTask(), 5000);
WebKit::Platform::current()->currentThread()->enterRunLoop();
timeoutTask->cancel();
- m_view.finishAllRendering();
+ m_view->finishAllRendering();
}
virtual void initializeCompositor() OVERRIDE
{
m_webThread = adoptPtr(WebKit::Platform::current()->createThread("WebLayerTreeViewTest"));
- WebCompositor::initialize(m_webThread.get());
+ WebKit::Platform::current()->compositorSupport()->initialize(m_webThread.get());
}
virtual WebLayerTreeViewClient* client() OVERRIDE
diff --git a/Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h b/Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h
index e2a62b6a3..48071f951 100644
--- a/Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h
+++ b/Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h
@@ -34,7 +34,7 @@ namespace WebKit {
class MockWebLayerTreeViewClient : public WebLayerTreeViewClient {
public:
- virtual void scheduleComposite() OVERRIDE { }
+ MOCK_METHOD0(scheduleComposite, void());
virtual void updateAnimations(double frameBeginTime) OVERRIDE { }
MOCK_METHOD0(willBeginFrame, void());
MOCK_METHOD0(didBeginFrame, void());
diff --git a/Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp b/Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp
index deaf7ad74..d54db214d 100644
--- a/Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp
+++ b/Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp
@@ -26,15 +26,14 @@
#include <public/WebTransformOperations.h>
-#include <public/WebTransformationMatrix.h>
-
-#include "CCLayerTreeTestCommon.h"
-
+#include "CCGeometryTestUtils.h"
#include <gtest/gtest.h>
+#include <public/WebTransformationMatrix.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
+using namespace std;
using namespace WebKit;
TEST(WebTransformOperationTest, transformTypesAreUnique)
@@ -42,19 +41,19 @@ TEST(WebTransformOperationTest, transformTypesAreUnique)
Vector<OwnPtr<WebTransformOperations> > transforms;
WebTransformOperations* toAdd = new WebTransformOperations();
- toAdd->appendTranslate(0, 0, 0);
+ toAdd->appendTranslate(1, 0, 0);
transforms.append(adoptPtr(toAdd));
toAdd = new WebTransformOperations();
- toAdd->appendRotate(0, 0, 1, 0);
+ toAdd->appendRotate(0, 0, 1, 2);
transforms.append(adoptPtr(toAdd));
toAdd = new WebTransformOperations();
- toAdd->appendScale(1, 1, 1);
+ toAdd->appendScale(2, 2, 2);
transforms.append(adoptPtr(toAdd));
toAdd = new WebTransformOperations();
- toAdd->appendSkew(0, 0);
+ toAdd->appendSkew(1, 0);
transforms.append(adoptPtr(toAdd));
toAdd = new WebTransformOperations();
@@ -72,19 +71,19 @@ TEST(WebTransformOperationTest, transformTypesAreUnique)
TEST(WebTransformOperationTest, matchTypesSameLength)
{
WebTransformOperations translates;
- translates.appendTranslate(0, 0, 0);
- translates.appendTranslate(0, 0, 0);
- translates.appendTranslate(0, 0, 0);
+ translates.appendTranslate(1, 0, 0);
+ translates.appendTranslate(1, 0, 0);
+ translates.appendTranslate(1, 0, 0);
WebTransformOperations skews;
- skews.appendSkew(0, 0);
- skews.appendSkew(0, 0);
- skews.appendSkew(0, 0);
+ skews.appendSkew(0, 2);
+ skews.appendSkew(0, 2);
+ skews.appendSkew(0, 2);
WebTransformOperations translates2;
- translates2.appendTranslate(0, 0, 0);
- translates2.appendTranslate(0, 0, 0);
- translates2.appendTranslate(0, 0, 0);
+ translates2.appendTranslate(0, 2, 0);
+ translates2.appendTranslate(0, 2, 0);
+ translates2.appendTranslate(0, 2, 0);
WebTransformOperations translates3 = translates2;
@@ -96,22 +95,84 @@ TEST(WebTransformOperationTest, matchTypesSameLength)
TEST(WebTransformOperationTest, matchTypesDifferentLength)
{
WebTransformOperations translates;
- translates.appendTranslate(0, 0, 0);
- translates.appendTranslate(0, 0, 0);
- translates.appendTranslate(0, 0, 0);
+ translates.appendTranslate(1, 0, 0);
+ translates.appendTranslate(1, 0, 0);
+ translates.appendTranslate(1, 0, 0);
WebTransformOperations skews;
- skews.appendSkew(0, 0);
- skews.appendSkew(0, 0);
+ skews.appendSkew(2, 0);
+ skews.appendSkew(2, 0);
WebTransformOperations translates2;
- translates2.appendTranslate(0, 0, 0);
- translates2.appendTranslate(0, 0, 0);
+ translates2.appendTranslate(0, 2, 0);
+ translates2.appendTranslate(0, 2, 0);
EXPECT_FALSE(translates.matchesTypes(skews));
EXPECT_FALSE(translates.matchesTypes(translates2));
}
+void getIdentityOperations(Vector<OwnPtr<WebTransformOperations> >* operations)
+{
+ WebTransformOperations* toAdd = new WebTransformOperations();
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendTranslate(0, 0, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendTranslate(0, 0, 0);
+ toAdd->appendTranslate(0, 0, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendScale(1, 1, 1);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendScale(1, 1, 1);
+ toAdd->appendScale(1, 1, 1);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendSkew(0, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendSkew(0, 0);
+ toAdd->appendSkew(0, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendRotate(0, 0, 1, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendRotate(0, 0, 1, 0);
+ toAdd->appendRotate(0, 0, 1, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendMatrix(WebTransformationMatrix());
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendMatrix(WebTransformationMatrix());
+ toAdd->appendMatrix(WebTransformationMatrix());
+ operations->append(adoptPtr(toAdd));
+}
+
+TEST(WebTransformOperationTest, identityAlwaysMatches)
+{
+ Vector<OwnPtr<WebTransformOperations> > operations;
+ getIdentityOperations(&operations);
+
+ for (size_t i = 0; i < operations.size(); ++i) {
+ for (size_t j = 0; j < operations.size(); ++j)
+ EXPECT_TRUE(operations[i]->matchesTypes(*operations[j]));
+ }
+}
+
TEST(WebTransformOperationTest, applyTranslate)
{
double x = 1;
@@ -339,3 +400,238 @@ TEST(WebTransformOperationTest, blendWhenTypesDoNotMatch)
EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operationsTo.blend(operationsFrom, progress));
}
+
+TEST(WebTransformOperationTest, largeRotationsWithSameAxis)
+{
+ WebTransformOperations operationsFrom;
+ operationsFrom.appendRotate(0, 0, 1, 0);
+
+ WebTransformOperations operationsTo;
+ operationsTo.appendRotate(0, 0, 2, 360);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.rotate3d(0, 0, 1, 180);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operationsTo.blend(operationsFrom, progress));
+}
+
+TEST(WebTransformOperationTest, largeRotationsWithSameAxisInDifferentDirection)
+{
+ WebTransformOperations operationsFrom;
+ operationsFrom.appendRotate(0, 0, 1, 180);
+
+ WebTransformOperations operationsTo;
+ operationsTo.appendRotate(0, 0, -1, 180);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operationsTo.blend(operationsFrom, progress));
+}
+
+TEST(WebTransformOperationTest, largeRotationsWithDifferentAxes)
+{
+ WebTransformOperations operationsFrom;
+ operationsFrom.appendRotate(0, 0, 1, 180);
+
+ WebTransformOperations operationsTo;
+ operationsTo.appendRotate(0, 1, 0, 180);
+
+ double progress = 0.5;
+ WebTransformationMatrix matrixFrom;
+ matrixFrom.rotate3d(0, 0, 1, 180);
+
+ WebTransformationMatrix matrixTo;
+ matrixTo.rotate3d(0, 1, 0, 180);
+
+ WebTransformationMatrix expected = matrixTo;
+ expected.blend(matrixFrom, progress);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operationsTo.blend(operationsFrom, progress));
+}
+
+TEST(WebTransformOperationTest, blendRotationFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendRotate(0, 0, 1, 360);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.rotate3d(0, 0, 1, 180);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendTranslationFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendTranslate(2, 2, 2);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.translate3d(1, 1, 1);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendScaleFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendScale(3, 3, 3);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.scale3d(2, 2, 2);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendSkewFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendSkew(2, 2);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.skewX(1);
+ expected.skewY(1);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendPerspectiveFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendPerspective(1000);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.applyPerspective(500 + 0.5 * numeric_limits<double>::max());
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendRotationToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendRotate(0, 0, 1, 360);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.rotate3d(0, 0, 1, 180);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendTranslationToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendTranslate(2, 2, 2);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.translate3d(1, 1, 1);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendScaleToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendScale(3, 3, 3);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.scale3d(2, 2, 2);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendSkewToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendSkew(2, 2);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.skewX(1);
+ expected.skewY(1);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendPerspectiveToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendPerspective(1000);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.applyPerspective(500 + 0.5 * numeric_limits<double>::max());
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
diff --git a/Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp b/Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp
index eb442f4e3..a587e4a37 100644
--- a/Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp
+++ b/Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp
@@ -26,7 +26,7 @@
#include <public/WebTransformationMatrix.h>
-#include "CCLayerTreeTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include <gtest/gtest.h>
#include <wtf/MathExtras.h>
diff --git a/Source/WebKit/chromium/tests/WebViewTest.cpp b/Source/WebKit/chromium/tests/WebViewTest.cpp
index 46c96310d..4e2553a36 100644
--- a/Source/WebKit/chromium/tests/WebViewTest.cpp
+++ b/Source/WebKit/chromium/tests/WebViewTest.cpp
@@ -32,14 +32,18 @@
#include "WebView.h"
#include "Document.h"
+#include "Element.h"
#include "FrameTestHelpers.h"
#include "FrameView.h"
#include "HTMLDocument.h"
#include "URLTestHelpers.h"
+#include "WebContentDetectionResult.h"
#include "WebDocument.h"
+#include "WebElement.h"
#include "WebFrame.h"
#include "WebFrameClient.h"
#include "WebFrameImpl.h"
+#include "WebInputEvent.h"
#include "platform/WebSize.h"
#include "WebViewClient.h"
#include "WebViewImpl.h"
@@ -218,7 +222,7 @@ void WebViewTest::testAutoResize(const WebSize& minAutoResize, const WebSize& ma
webView->close();
}
-TEST_F(WebViewTest, AutoResizeMinimumSize)
+TEST_F(WebViewTest, DISABLED_AutoResizeMinimumSize)
{
WebSize minAutoResize(91, 56);
WebSize maxAutoResize(403, 302);
@@ -418,4 +422,132 @@ TEST_F(WebViewTest, SetCompositionFromExistingText)
webView->close();
}
+class ContentDetectorClient : public WebViewClient {
+public:
+ ContentDetectorClient() { reset(); }
+
+ virtual WebContentDetectionResult detectContentAround(const WebHitTestResult& hitTest) OVERRIDE
+ {
+ m_contentDetectionRequested = true;
+ return m_contentDetectionResult;
+ }
+
+ virtual void scheduleContentIntent(const WebURL& url) OVERRIDE
+ {
+ m_scheduledIntentURL = url;
+ }
+
+ virtual void cancelScheduledContentIntents() OVERRIDE
+ {
+ m_pendingIntentsCancelled = true;
+ }
+
+ void reset()
+ {
+ m_contentDetectionRequested = false;
+ m_pendingIntentsCancelled = false;
+ m_scheduledIntentURL = WebURL();
+ m_contentDetectionResult = WebContentDetectionResult();
+ }
+
+ bool contentDetectionRequested() const { return m_contentDetectionRequested; }
+ bool pendingIntentsCancelled() const { return m_pendingIntentsCancelled; }
+ const WebURL& scheduledIntentURL() const { return m_scheduledIntentURL; }
+ void setContentDetectionResult(const WebContentDetectionResult& result) { m_contentDetectionResult = result; }
+
+private:
+ bool m_contentDetectionRequested;
+ bool m_pendingIntentsCancelled;
+ WebURL m_scheduledIntentURL;
+ WebContentDetectionResult m_contentDetectionResult;
+};
+
+static bool tapElementById(WebView* webView, WebInputEvent::Type type, const WebString& id)
+{
+ ASSERT(webView);
+ RefPtr<WebCore::Element> element = static_cast<PassRefPtr<WebCore::Element> >(webView->mainFrame()->document().getElementById(id));
+ if (!element)
+ return false;
+
+ element->scrollIntoViewIfNeeded();
+ WebCore::IntPoint center = element->screenRect().center();
+
+ WebGestureEvent event;
+ event.type = type;
+ event.x = center.x();
+ event.y = center.y();
+
+ webView->handleInputEvent(event);
+ webkit_support::RunAllPendingMessages();
+ return true;
+}
+
+TEST_F(WebViewTest, DetectContentAroundPosition)
+{
+ URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("content_listeners.html"));
+
+ ContentDetectorClient client;
+ WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "content_listeners.html", true, 0, &client);
+ webView->resize(WebSize(500, 300));
+ webView->layout();
+ webkit_support::RunAllPendingMessages();
+
+ WebString clickListener = WebString::fromUTF8("clickListener");
+ WebString touchstartListener = WebString::fromUTF8("touchstartListener");
+ WebString mousedownListener = WebString::fromUTF8("mousedownListener");
+ WebString noListener = WebString::fromUTF8("noListener");
+ WebString link = WebString::fromUTF8("link");
+
+ // Ensure content detection is not requested for nodes listening to click,
+ // mouse or touch events when we do simple taps.
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, clickListener));
+ EXPECT_FALSE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, touchstartListener));
+ EXPECT_FALSE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, mousedownListener));
+ EXPECT_FALSE(client.contentDetectionRequested());
+ client.reset();
+
+ // Content detection should still work on click, mouse and touch event listeners for long taps
+ // as long as we're not tapping on links.
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, clickListener));
+ EXPECT_TRUE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, touchstartListener));
+ EXPECT_TRUE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, mousedownListener));
+ EXPECT_TRUE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, link));
+ EXPECT_FALSE(client.contentDetectionRequested());
+ client.reset();
+
+ // Content detection should work normally without these event listeners.
+ // The click listener in the body should be ignored as a special case.
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, noListener));
+ EXPECT_TRUE(client.contentDetectionRequested());
+ EXPECT_FALSE(client.scheduledIntentURL().isValid());
+
+ WebURL intentURL = toKURL(m_baseURL);
+ client.setContentDetectionResult(WebContentDetectionResult(WebRange(), WebString(), intentURL));
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, noListener));
+ EXPECT_TRUE(client.scheduledIntentURL() == intentURL);
+
+ // Tapping elsewhere should cancel the scheduled intent.
+ WebGestureEvent event;
+ event.type = WebInputEvent::GestureTap;
+ webView->handleInputEvent(event);
+ webkit_support::RunAllPendingMessages();
+ EXPECT_TRUE(client.pendingIntentsCancelled());
+ webView->close();
+}
+
}
diff --git a/Source/WebKit/chromium/tests/data/content_listeners.html b/Source/WebKit/chromium/tests/data/content_listeners.html
new file mode 100644
index 000000000..ff924c883
--- /dev/null
+++ b/Source/WebKit/chromium/tests/data/content_listeners.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+span {
+ font-size: 300%;
+}
+</style>
+<script>
+function listener() {
+}
+</script>
+</head>
+<body onclick="listener()">
+<span id="clickListener" onclick="listener()">
+This has a click listener.
+</span></br>
+<span id="touchstartListener" ontouchstart="listener()">
+This has a touchstart listener.
+</span></br>
+<span id="mousedownListener" onmousedown="listener()">
+This has a mousedown listener.
+</span></br>
+<span id="noListener">
+This has no specific listener (the body listener should be ignored).
+</span></br>
+<a href="http://www.test.com/" id="link">
+This has no specific listener, but it's a link.
+</a></br>
+</body>
+</html>
diff --git a/Source/WebKit/chromium/tests/data/disambiguation_popup.html b/Source/WebKit/chromium/tests/data/disambiguation_popup.html
new file mode 100644
index 000000000..b1af285ce
--- /dev/null
+++ b/Source/WebKit/chromium/tests/data/disambiguation_popup.html
@@ -0,0 +1,30 @@
+<html>
+<head>
+<title>Disambiguation Popup Test</title>
+<style type="text/css">
+.horizontal-link {
+ display:block;
+ width:200px;
+ height:30px;
+ margin:20px;
+ background-color:#ccccff;
+}
+.vertical-link {
+ display:inline-block;
+ width:30px;
+ height:200px;
+ margin:10px;
+ background-color:#ccccff;
+}
+</style>
+</head>
+<body style="margin:0px;">
+<a href="#" class="horizontal-link" style="margin:100px">Link</a>
+<a href="#" class="horizontal-link">Link 1</a>
+<a href="#" class="horizontal-link">Link 2</a>
+<a href="#" class="horizontal-link">Link 3</a>
+<a href="#" class="horizontal-link">Link 4</a>
+<a href="#" class="horizontal-link">Link 5</a>
+<a href="#" class="vertical-link">Link 1</a><a href="#" class="vertical-link">Link 2</a><a href="#" class="vertical-link">Link 3</a><a href="#" class="vertical-link">Link 4</a><a href="#" class="vertical-link">Link 5</a>
+</body>
+</html>
diff --git a/Source/WebKit/chromium/tests/data/test_touch_link_highlight.html b/Source/WebKit/chromium/tests/data/test_touch_link_highlight.html
index 89bd15fb0..2394b2624 100644
--- a/Source/WebKit/chromium/tests/data/test_touch_link_highlight.html
+++ b/Source/WebKit/chromium/tests/data/test_touch_link_highlight.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<body>
- <a href="http://www.test.com" style="position: absolute; left: 20px; top: 20px; width: 200px; -webkit-transform:translateZ(0)">A link to highlight</a>
- <div style="background-color: white; position: absolute; left: 20px; top: 40px; width: 200px; height: 30px">
+ <a href="http://www.test.com" style="position: absolute; left: 20px; top: 20px; width: 200px;">A link to highlight</a>
+ <div style="background-color: white; position: absolute; left: 20px; top: 40px; width: 200px; height: 30px; -webkit-transform:translateZ(0);">
<p id="innerDiv">Not a link to click.</p>
</div>
<div style="background-color: white; position: absolute; left: 20px; top: 100px; width: 200px; height: 100px; overflow-y: scroll; overflow-x : scroll;">
diff --git a/Source/WebKit/chromium/tests/data/text_selection.html b/Source/WebKit/chromium/tests/data/text_selection.html
new file mode 100644
index 000000000..f605e9a54
--- /dev/null
+++ b/Source/WebKit/chromium/tests/data/text_selection.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<body>
+
+<span id="header">[
+<span id="header_1">Header 1.</span>
+<span id="header_2">Header 2.</span>
+]</span>
+
+<span id="editable" contenteditable="true">[
+<span id="editable_1">Editable 1.</span>
+<span id="editable_2">Editable 2.</span>
+]</span>
+
+<span id="footer">[
+<span id="footer_1">Footer 1.</span>
+<span id="footer_2">Footer 2.</span>
+]</span>
+
+<script>
+function selectElement(id) {
+ var element = document.getElementById(id);
+ var range = document.createRange();
+ range.selectNode(document.getElementById(id));
+ window.getSelection().removeAllRanges();
+ window.getSelection().addRange(range);
+}
+</script>
+</body>
+</html>
+
diff --git a/Source/WebKit/efl/ChangeLog b/Source/WebKit/efl/ChangeLog
index cc655735b..cfac6ce12 100644
--- a/Source/WebKit/efl/ChangeLog
+++ b/Source/WebKit/efl/ChangeLog
@@ -1,3 +1,580 @@
+2012-09-10 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Create a toggle button for closed captions
+ https://bugs.webkit.org/show_bug.cgi?id=96259
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add closed caption toggling button to default WebKitEFL
+ theme.
+
+ * DefaultTheme/default.edc:
+ * DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png: Added.
+ * DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png: Added.
+ * DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc: Added.
+
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Update ewk_frame to call pixelSnappedBoundingBox.
+
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_focused_element_geometry_get):
+
+2012-09-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Rename the ustring() accessor to string()
+ https://bugs.webkit.org/show_bug.cgi?id=95919
+
+ Reviewed by Geoffrey Garen.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::sendWebIntentResponse):
+ (DumpRenderTreeSupportEfl::deliverWebIntent):
+ Aslo update the code from the UString->String conversion through StringImpl.
+
+2012-09-07 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Use same default minimum logical font size in DRT and WTR
+ https://bugs.webkit.org/show_bug.cgi?id=96116
+
+ Reviewed by Martin Robinson.
+
+ Add DRT helper function to set the minimum logical
+ font size setting.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::setMinimumLogicalFontSize):
+ * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_hit_test_new):
+
+2012-09-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Unreviewed, rolling out r127839.
+ http://trac.webkit.org/changeset/127839
+ https://bugs.webkit.org/show_bug.cgi?id=90603
+
+ This patch was landed with wrong implementation and policy.
+
+ * WebCoreSupport/NotificationPresenterClientEfl.cpp:
+ (WebCore::NotificationPresenterClientEfl::NotificationPresenterClientEfl):
+ (WebCore::NotificationPresenterClientEfl::requestPermission):
+ (WebCore::NotificationPresenterClientEfl::checkPermission):
+ (WebCore::NotificationPresenterClientEfl::cancelRequestsForPermission):
+ * WebCoreSupport/NotificationPresenterClientEfl.h:
+ (NotificationPresenterClientEfl):
+ * ewk/ewk_view.cpp:
+ (_ewk_view_priv_new):
+ * ewk/ewk_view.h:
+ * ewk/ewk_view_private.h:
+
+2012-09-07 Kihong Kwon <kihong.kwon@samsung.com>
+
+ [EFL] Support the permission function of the Web Notification.
+ https://bugs.webkit.org/show_bug.cgi?id=90603
+
+ Reviewed by Gyuyoung Kim.
+
+ Implement permission related functions of Web Notifications.
+ checkPermission for Notification.permissionLevel().
+ requestPermission for Notification.requestPermission().
+ In addition, if the application(like a browser) has permitted domains already,
+ it can be cached using ewk_view_notification_permissions_store.
+
+ * WebCoreSupport/NotificationPresenterClientEfl.cpp:
+ (WebCore::NotificationPresenterClientEfl::NotificationPresenterClientEfl):
+ (WebCore::NotificationPresenterClientEfl::requestPermission):
+ (WebCore::NotificationPresenterClientEfl::checkPermission):
+ (WebCore::NotificationPresenterClientEfl::addToPermissionCache):
+ (WebCore):
+ (WebCore::NotificationPresenterClientEfl::setPermission):
+ * WebCoreSupport/NotificationPresenterClientEfl.h:
+ (WebCore):
+ (NotificationPresenterClientEfl):
+ (WebCore::NotificationPresenterClientEfl::requestPermission):
+ (WebCore::NotificationPresenterClientEfl::cancelRequestsForPermission):
+ * ewk/ewk_view.cpp:
+ (_ewk_view_priv_new):
+ (ewk_view_notification_permission_store):
+ (ewk_view_notification_permissions_set):
+ (ewk_view_notification_permission_request):
+ * ewk/ewk_view.h:
+ * ewk/ewk_view_private.h:
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * WebCoreSupport/ChromeClientEfl.cpp:
+ * WebCoreSupport/InspectorClientEfl.cpp:
+
+2012-09-06 Kangil Han <kangil.han@samsung.com>
+
+ [EFL] Remove unnecessary logic in ewk_frame_source_get.
+ https://bugs.webkit.org/show_bug.cgi?id=95828
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Removed unnecessary logic that checks if <html> tag exists in document.
+ WebKit automatically fill out <html></html> tags if they are not existed.
+
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_source_get):
+
+2012-09-05 Kangil Han <kangil.han@samsung.com>
+
+ [EFL] Remove '+=' usage in String
+ https://bugs.webkit.org/show_bug.cgi?id=95808
+
+ Reviewed by Benjamin Poulain.
+
+ Replaced use of String operator '+=' with StringBuilder.append*() in order to adopt efficient String concatenation.
+
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_source_get): Removed unnecessary strlen usage.
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+
+2012-09-04 Michał Pakuła vel Rutka <m.pakula@samsung.com>
+
+ [EFL] Context menu restore.
+ https://bugs.webkit.org/show_bug.cgi?id=74179
+
+ Reviewed by Gyuyoung Kim.
+
+ Adds context menu support for EFL port using non-CROSS_PLATFORM_CONTEXT_MENUS
+ approach, the same as used in WebKit2.
+
+ * WebCoreSupport/ContextMenuClientEfl.cpp: Added.
+ (WebCore):
+ (WebCore::ContextMenuClientEfl::contextMenuDestroyed):
+ (WebCore::ContextMenuClientEfl::getCustomMenuFromDefaultItems):
+ (WebCore::ContextMenuClientEfl::contextMenuItemSelected):
+ (WebCore::ContextMenuClientEfl::downloadURL):
+ (WebCore::ContextMenuClientEfl::lookUpInDictionary):
+ (WebCore::ContextMenuClientEfl::speak):
+ (WebCore::ContextMenuClientEfl::isSpeaking):
+ (WebCore::ContextMenuClientEfl::stopSpeaking):
+ (WebCore::ContextMenuClientEfl::searchWithGoogle):
+ * WebCoreSupport/ContextMenuClientEfl.h: Added.
+ (WebCore):
+ (ContextMenuClientEfl):
+ * ewk/ewk_contextmenu.cpp: Removed ewk_context_menu_customize implementation.
+ (ewk_context_menu_destroy): Added freeing context menu.
+ (ewk_context_menu_new): Added filling ewk_contextmenu list.
+ (ewk_context_menu_item_append):
+ * ewk/ewk_contextmenu_private.h: Removed ewk_context_menu_customize and changed ewk_context_menu_new definition.
+ * ewk/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_ewk_view_priv_new):
+ (_ewk_view_priv_del):
+ (ewk_view_context_menu_forward_event):
+
+2012-09-04 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Drop default theme concept
+ https://bugs.webkit.org/show_bug.cgi?id=94778
+
+ Reviewed by Gyuyoung Kim.
+
+ * ewk/ewk_view.h:
+ Updated doxygen document not to mention default theme.
+
+2012-09-03 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Fix e_dbus_shutdown() error when exiting the Minibrowser
+ https://bugs.webkit.org/show_bug.cgi?id=95636
+
+ Reviewed by Gyuyoung Kim.
+
+ Invoke stopUpdating() in the destructor of BatteryClinetEfl()
+ to call e_ukit_shutdown() and e_dbus_shutdown() if and when
+ stopUpdating() has not been called explicitly.
+
+ * WebCoreSupport/BatteryClientEfl.cpp:
+ (BatteryClientEfl::~BatteryClientEfl):
+ * WebCoreSupport/BatteryClientEfl.h:
+ (BatteryClientEfl):
+
+2012-09-03 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Use WebKitVersion.h to get version information
+ https://bugs.webkit.org/show_bug.cgi?id=95669
+
+ Reviewed by Gyuyoung Kim.
+
+ Use WEBKIT_MAJOR_VERSION and WEBKIT_MINOR_VERSION
+ in the WebKitVersion.h
+
+ Relocate the StorageTracker.h to keep the sorted order.
+
+ * ewk/ewk_settings.cpp:
+ (ewk_settings_default_user_agent_get):
+
+2012-09-01 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Refactoring the DumpRenderTreeSupportEfl
+ https://bugs.webkit.org/show_bug.cgi?id=95544
+
+ Reviewed by Gyuyoung Kim.
+
+ There are lots of repeated codes for getting the WebCore::Frame
+ and WebCore::Page. To reduce these duplications, simple macros
+ are added.
+
+ No new tests, just refactoring.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::activeAnimationsCount):
+ (DumpRenderTreeSupportEfl::callShouldCloseOnWebView):
+ (DumpRenderTreeSupportEfl::clearFrameName):
+ (DumpRenderTreeSupportEfl::clearOpener):
+ (DumpRenderTreeSupportEfl::elementDoesAutoCompleteForElementWithId):
+ (DumpRenderTreeSupportEfl::frameChildren):
+ (DumpRenderTreeSupportEfl::frameParent):
+ (DumpRenderTreeSupportEfl::layoutFrame):
+ (DumpRenderTreeSupportEfl::numberOfPages):
+ (DumpRenderTreeSupportEfl::pageSizeAndMarginsInPixels):
+ (DumpRenderTreeSupportEfl::pageProperty):
+ (DumpRenderTreeSupportEfl::pauseAnimation):
+ (DumpRenderTreeSupportEfl::pauseTransition):
+ (DumpRenderTreeSupportEfl::pendingUnloadEventCount):
+ (DumpRenderTreeSupportEfl::renderTreeDump):
+ (DumpRenderTreeSupportEfl::responseMimeType):
+ (DumpRenderTreeSupportEfl::selectionRectangle):
+ (DumpRenderTreeSupportEfl::suitableDRTFrameName):
+ (DumpRenderTreeSupportEfl::setDefersLoading):
+ (DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting):
+ (DumpRenderTreeSupportEfl::addUserScript):
+ (DumpRenderTreeSupportEfl::clearUserScripts):
+ (DumpRenderTreeSupportEfl::addUserStyleSheet):
+ (DumpRenderTreeSupportEfl::clearUserStyleSheets):
+ (DumpRenderTreeSupportEfl::executeCoreCommandByName):
+ (DumpRenderTreeSupportEfl::findString):
+ (DumpRenderTreeSupportEfl::setCSSGridLayoutEnabled):
+ (DumpRenderTreeSupportEfl::isCommandEnabled):
+ (DumpRenderTreeSupportEfl::setSmartInsertDeleteEnabled):
+ (DumpRenderTreeSupportEfl::setSelectTrailingWhitespaceEnabled):
+ (DumpRenderTreeSupportEfl::evaluateInWebInspector):
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ (DumpRenderTreeSupportEfl::globalContextRefForFrame):
+ (DumpRenderTreeSupportEfl::setInteractiveFormValidationEnabled):
+ (DumpRenderTreeSupportEfl::setValidationMessageTimerMagnification):
+ (DumpRenderTreeSupportEfl::setAuthorAndUserStylesEnabled):
+ (DumpRenderTreeSupportEfl::setComposition):
+ (DumpRenderTreeSupportEfl::hasComposition):
+ (DumpRenderTreeSupportEfl::compositionRange):
+ (DumpRenderTreeSupportEfl::confirmComposition):
+ (DumpRenderTreeSupportEfl::firstRectForCharacterRange):
+ (DumpRenderTreeSupportEfl::selectedRange):
+
+2012-08-31 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Add proper support for navigator.onLine and associated events
+ https://bugs.webkit.org/show_bug.cgi?id=95532
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Remove ewk_network_state_notifier_online_set() API since
+ the EFL port no longer relies on the client application to
+ provide it with the online state.
+
+ * ewk/ewk_network.cpp:
+ * ewk/ewk_network.h:
+
+2012-08-31 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Simplify FrameLoaderClinetEfl by adding a private method.
+ https://bugs.webkit.org/show_bug.cgi?id=95444
+
+ Reviewed by Gyuyoung Kim.
+
+ In the FrameLoaderClientEfl, the codes which checks that
+ if current frame is main frame are frequently used.
+ This patch adds a private method and replaces those codes
+ with the method to simplify.
+
+ * WebCoreSupport/FrameLoaderClientEfl.cpp:
+ (WebCore::FrameLoaderClientEfl::dispatchDidChangeLocationWithinPage):
+ (WebCore::FrameLoaderClientEfl::dispatchDidReceiveIcon):
+ (WebCore::FrameLoaderClientEfl::dispatchDidStartProvisionalLoad):
+ (WebCore::FrameLoaderClientEfl::dispatchDidReceiveTitle):
+ (WebCore::FrameLoaderClientEfl::dispatchDidCommitLoad):
+ (WebCore::FrameLoaderClientEfl::dispatchDidFailProvisionalLoad):
+ (WebCore::FrameLoaderClientEfl::transitionToCommittedForNewPage):
+ * WebCoreSupport/FrameLoaderClientEfl.h:
+ (WebCore::FrameLoaderClientEfl::isLoadingMainFrame):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::sendWebIntentResponse):
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_script_execute):
+
+2012-08-29 Kamil Blank <k.blank@samsung.com>
+
+ [EFL] Add setting API for allow universal/file access from file URLs.
+ https://bugs.webkit.org/show_bug.cgi?id=83121
+
+ Reviewed by Eric Seidel.
+
+ Make it possible to enable allow universal/file access from file URLs.
+ Default value for both settings is true.
+
+ * ewk/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_ewk_view_priv_new):
+ (ewk_view_setting_allow_universal_access_from_file_urls_set): Function sets if locally loaded documents
+ are allowed to access remote urls.
+ (ewk_view_setting_allow_universal_access_from_file_urls_get):
+ (ewk_view_setting_allow_file_access_from_file_urls_set): Function sets if locally loaded documents
+ are allowed to access other local urls.
+ (ewk_view_setting_allow_file_access_from_file_urls_get):
+ * ewk/ewk_view.h:
+
+2012-08-29 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Add *explicit* keyword to constructors in WebCoreSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95307
+
+ Reviewed by Kentaro Hara.
+
+ Added explicit keyword in constructors in order to avoid implicit type conversion.
+
+ * WebCoreSupport/ColorChooserEfl.h:
+ (ColorChooserEfl):
+ * WebCoreSupport/PopupMenuEfl.h:
+ (PopupMenuEfl):
+ * WebCoreSupport/SearchPopupMenuEfl.h:
+ (SearchPopupMenuEfl):
+
+2012-08-29 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Move several files to remove webkit1 dependency from WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=95264
+
+ Reviewed by Gyuyoung Kim.
+
+ ColorChooserEfl.cpp, PopupMenuEfl.cpp and SearchPopupMenuEfl.cpp are WebKit1/Efl
+ specific files and they can not be shared with WebKit2/Efl.
+
+ In order to remove WebKit dependency from WebCore, this patch moves them
+ to WebKit/efl/WebCoreSupport.
+
+ * WebCoreSupport/ColorChooserEfl.cpp: Renamed from Source/WebCore/platform/efl/ColorChooserEfl.cpp.
+ (WebCore):
+ (WebCore::ColorChooserEfl::ColorChooserEfl):
+ (WebCore::ColorChooserEfl::~ColorChooserEfl):
+ (WebCore::ColorChooserEfl::setSelectedColor):
+ (WebCore::ColorChooserEfl::endChooser):
+ * WebCoreSupport/ColorChooserEfl.h: Renamed from Source/WebCore/platform/efl/ColorChooserEfl.h.
+ (WebCore):
+ (ColorChooserEfl):
+ * WebCoreSupport/PopupMenuEfl.cpp: Renamed from Source/WebCore/platform/efl/PopupMenuEfl.cpp.
+ (WebCore):
+ (WebCore::PopupMenuEfl::PopupMenuEfl):
+ (WebCore::PopupMenuEfl::~PopupMenuEfl):
+ (WebCore::PopupMenuEfl::show):
+ (WebCore::PopupMenuEfl::hide):
+ (WebCore::PopupMenuEfl::updateFromElement):
+ (WebCore::PopupMenuEfl::disconnectClient):
+ * WebCoreSupport/PopupMenuEfl.h: Renamed from Source/WebCore/platform/efl/PopupMenuEfl.h.
+ (WebCore):
+ (PopupMenuEfl):
+ (WebCore::PopupMenuEfl::client):
+ * WebCoreSupport/SearchPopupMenuEfl.cpp: Renamed from Source/WebCore/platform/efl/SearchPopupMenuEfl.cpp.
+ (WebCore):
+ (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
+ (WebCore::SearchPopupMenuEfl::popupMenu):
+ (WebCore::SearchPopupMenuEfl::saveRecentSearches):
+ (WebCore::SearchPopupMenuEfl::loadRecentSearches):
+ (WebCore::SearchPopupMenuEfl::enabled):
+ * WebCoreSupport/SearchPopupMenuEfl.h: Renamed from Source/WebCore/platform/efl/SearchPopupMenuEfl.h.
+ (WebCore):
+ (SearchPopupMenuEfl):
+
+2012-08-28 Seokju Kwon <seokju.kwon@samsung.com>
+
+ [EFL] Add support for localization to the Web Inspector
+ https://bugs.webkit.org/show_bug.cgi?id=92961
+
+ Reviewed by Gyuyoung Kim.
+
+ Implement InspectorFrontendClientEfl::localizedStringsURL()
+ to return the URL of the localizedStrings.js.
+
+ * WebCoreSupport/InspectorClientEfl.cpp:
+ (WebCore::InspectorClientEfl::openInspectorFrontend):
+ (WebCore::InspectorClientEfl::inspectorFilesPath):
+ (WebCore::InspectorFrontendClientEfl::localizedStringsURL):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/PlatformStrategiesEfl.cpp:
+ (PlatformStrategiesEfl::getPluginInfo):
+ * ewk/ewk_intent.cpp:
+ (ewk_intent_extra_get):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/PlatformStrategiesEfl.cpp:
+ (PlatformStrategiesEfl::getPluginInfo):
+ * ewk/ewk_intent.cpp:
+ (ewk_intent_extra_get):
+
+2012-08-28 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] WebKit EFL updates view on HTTP 204 response
+ https://bugs.webkit.org/show_bug.cgi?id=95199
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Ignore HTTP responses which have status code equal
+ to 204 (No Content).
+
+ * WebCoreSupport/FrameLoaderClientEfl.cpp:
+ (WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForResponse):
+
+2012-08-28 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Rename knob images to thumb on the default theme
+ https://bugs.webkit.org/show_bug.cgi?id=95186
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WebKit reefers to these handles as thumb instead of knob. Let's make
+ it coherent on EFL.
+
+ * DefaultTheme/widget/slider/slider.edc:
+ * DefaultTheme/widget/slider/slider_thumb_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_h.png.
+ * DefaultTheme/widget/slider/slider_thumb_press_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_h.png.
+ * DefaultTheme/widget/slider/slider_thumb_press_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_v.png.
+ * DefaultTheme/widget/slider/slider_thumb_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_v.png.
+
+2012-08-28 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Range input ignores padding
+ https://bugs.webkit.org/show_bug.cgi?id=94595
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Updated default theme to paint the slider thumb in a different step.
+ This was done by splitting the thumb into a separated group.
+
+ * DefaultTheme/widget/slider/slider.edc:
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/PlatformStrategiesEfl.cpp:
+ (PlatformStrategiesEfl::getPluginInfo):
+ * ewk/ewk_intent.cpp:
+ (ewk_intent_extra_get):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/PlatformStrategiesEfl.cpp:
+ (PlatformStrategiesEfl::getPluginInfo):
+ * ewk/ewk_intent.cpp:
+ (ewk_intent_extra_get):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+ RegisterProtocolHandlerClientEfl is renamed to NavigatorContentUtilsClientEfl.
+
+ * WebCoreSupport/NavigatorContentUtilsClientEfl.cpp: Renamed from Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp.
+ (WebCore):
+ (WebCore::customHandlerDataCreate):
+ (WebCore::customHandlerDataDelete):
+ (WebCore::NavigatorContentUtilsClientEfl::create):
+ (WebCore::NavigatorContentUtilsClientEfl::NavigatorContentUtilsClientEfl):
+ (WebCore::NavigatorContentUtilsClientEfl::registerProtocolHandler):
+ (WebCore::NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered):
+ (WebCore::NavigatorContentUtilsClientEfl::unregisterProtocolHandler):
+ * WebCoreSupport/NavigatorContentUtilsClientEfl.h: Renamed from Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.h.
+ (NavigatorContentUtilsClientEfl):
+ (WebCore::NavigatorContentUtilsClientEfl::~NavigatorContentUtilsClientEfl):
+ * ewk/ewk_custom_handler.cpp:
+ * ewk/ewk_custom_handler_private.h:
+ * ewk/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_ewk_view_priv_new):
+
2012-08-23 Ryuan Choi <ryuan.choi@samsung.com>
[EFL] Remove ewk_tile_matrix_tile_update.
diff --git a/Source/WebKit/efl/DefaultTheme/default.edc b/Source/WebKit/efl/DefaultTheme/default.edc
index 1ecd0442b..e234839d7 100644
--- a/Source/WebKit/efl/DefaultTheme/default.edc
+++ b/Source/WebKit/efl/DefaultTheme/default.edc
@@ -61,5 +61,6 @@ collections {
#include "widget/mediacontrol/mutebutton/mute_button.edc"
#include "widget/mediacontrol/seekforwardbutton/seekforward_button.edc"
#include "widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc"
+#include "widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc"
#include "widget/mediacontrol/fullscreenbutton/fullscreen_button.edc"
}
diff --git a/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png
new file mode 100644
index 000000000..2015749e8
--- /dev/null
+++ b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png
new file mode 100644
index 000000000..a04b29d7e
--- /dev/null
+++ b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc
new file mode 100644
index 000000000..71cf39d12
--- /dev/null
+++ b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc
@@ -0,0 +1,58 @@
+/*
+ Copyright (C) 2012 Intel Corporation
+
+ This file 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 file 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.
+*/
+
+ group {
+ name: "webkit/widget/mediacontrol/toggle_captions_button";
+
+ images {
+ image: "widget/mediacontrol/togglecaptionsbutton/closedcaption.png" COMP;
+ image: "widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png" COMP;
+ }
+
+ parts {
+ part {
+ name: "toggle_captions_button";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ min: 25 25;
+ }
+ description { state: "show_captions" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "widget/mediacontrol/togglecaptionsbutton/closedcaption.png";
+ }
+ description { state: "hide_captions" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png";
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal: "show_captions";
+ action: STATE_SET "show_captions" 0.0;
+ target: "toggle_captions_button";
+ }
+ program {
+ signal: "hide_captions";
+ action: STATE_SET "hide_captions" 0.0;
+ target: "toggle_captions_button";
+ }
+ }
+ }
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc b/Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc
index 9e339e543..176740bc1 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc
@@ -2,6 +2,7 @@
Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
Copyright (C) 2009,2010 ProFUSION embedded systems
Copyright (C) 2009,2010 Samsung Electronics
+ Copyright (c) 2012 Intel Corporation. All rights reserved.
This file is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -20,472 +21,404 @@
*/
group {
- name: "webkit/widget/slider/vertical";
-
- min: 11 0; /* if > 0, this is the minimum size that will be allocated.
- * If wants to draw on top, just overflow usign edje's rel1/rel2
- */
- max: 11 999999;
-
- images {
- image: "widget/slider/slider_v.png" COMP;
- image: "widget/slider/slider_knob_v.png" COMP;
- image: "widget/slider/slider_knob_press_v.png" COMP;
- image: "widget/slider/slider_fill_v.png" COMP;
- }
-
- script {
- public isEnabled;
- public isPressed;
- public isChecked;
- public isFocused;
- public isHovered;
-
- public show() {
-
- if (get_int(isEnabled) == 1) {
- set_state(PART:"img.knob", "default", 0.0);
- if (get_int(isFocused) == 1) {
- set_state(PART:"img.knob", "pressed", 0.0);
- if (get_int(isPressed) == 1)
- set_state(PART:"img.knob", "pressed", 0.0);
- }
- else if (get_int(isHovered) == 1) {
- set_state(PART:"img.knob", "pressed", 0.0);
- if (get_int(isPressed) == 1)
- set_state(PART:"img.knob", "pressed", 0.0);
- }
- }
- else
- set_state(PART:"img.knob", "default", 0.0);
- }
-
- public message(Msg_Type:type, id, ...) {
- if ((id == 0) && (type == MSG_FLOAT_SET)) {
- new Float:vy, Float:sy;
-
- vy = getfarg(2);
- sy = getfarg(3);
-
- if (vy >= 0.0) {
- set_drag_size(PART:"img.knob", 1.0, sy);
- set_drag(PART:"img.knob", 0.0, vy);
- run_program(PROGRAM:"show");
- } else
- run_program(PROGRAM:"hide");
- }
- }
-
- public update_drag_pos() {
- new Float:x, Float:y;
- get_drag(PART:"img.knob", x, y);
- send_message(MSG_FLOAT, 1, y);
- }
- }
-
- parts {
- part {
- name: "rect.base";
- type: RECT;
- description {
- min: 11 29;
- max: 11 999999;
- state: "default" 0.0;
- color: 255 255 255 0;
+ name: "webkit/widget/slider/thumb_vertical";
+
+ min: 11 29;
+ max: 11 29;
+
+ images {
+ image: "widget/slider/slider_thumb_v.png" COMP;
+ image: "widget/slider/slider_thumb_press_v.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"img.thumb", "default", 0.0);
+ if (get_int(isFocused) == 1) {
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ } else if (get_int(isHovered) == 1) {
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"img.thumb", "pressed", 0.0);
}
- }
- part {
- name: "rect.clipper";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- description {
- state: "hidden" 0.0;
- color: 255 255 255 128;
+ } else
+ set_state(PART:"img.thumb", "default", 0.0);
+ }
+ }
+
+ parts {
+ part {
+ name: "img.thumb";
+ type: IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 11 29;
+ image {
+ normal: "widget/slider/slider_thumb_v.png";
+ border: 6 6 0 0;
}
}
-
- part {
- name: "img.slider";
- type: IMAGE;
- mouse_events: 0;
- clip_to: "rect.clipper";
- description {
- state: "default" 0.0;
- min: 5 29;
- max: 5 999999;
- rel1.to: "rect.base";
- rel2.to: "rect.base";
- image {
- normal: "widget/slider/slider_v.png";
- border: 0 0 5 5;
- }
- }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "widget/slider/slider_thumb_press_v.png";
}
-
- part {
- name: "img.slider_fill";
- type: IMAGE;
- mouse_events: 0;
- clip_to: "rect.clipper";
- description {
- state: "default" 0.0;
- min: 5 29;
- max: 5 999999;
- rel1.to: "img.knob";
- rel2.to: "rect.base";
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_fill_v.png";
- border: 0 0 5 5;
- }
- }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
}
+ }
+ }
+}
- part {
- name: "img.knob";
- type: IMAGE;
- mouse_events: 1;
- clip_to: "rect.clipper";
- dragable {
- x: 0 0 0;
- y: 1 1 1;
- confine: "rect.base";
- }
- description {
- state: "default" 0.0;
- min: 11 29;
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_knob_v.png";
- border: 0 0 6 6;
- }
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "widget/slider/slider_knob_press_v.png";
+group {
+ name: "webkit/widget/slider/vertical";
+
+ min: 11 0; /* if > 0, this is the minimum size that will be allocated.
+ * If wants to draw on top, just overflow usign edje's rel1/rel2
+ */
+ max: 11 999999;
+
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((id == 0) && (type == MSG_FLOAT_SET)) {
+ new Float:y, Float:sy;
+ y = getfarg(2);
+ sy = getfarg(3);
+
+ if (sy >= 0.0) {
+ set_drag(PART:"img.slider_fill", 1.0, y);
+ set_drag_size(PART:"img.slider_fill", 1.0, sy);
}
}
- }
- programs {
- program {
- name: "load";
- signal: "load";
- action: STATE_SET "hidden" 0.0;
- target: "rect.clipper";
- }
- program {
- name: "hide";
- action: STATE_SET "hidden" 0.0;
- transition: ACCELERATE 0.5;
- target: "rect.clipper";
- }
-
- program {
- name: "show";
- action: STATE_SET "default" 0.0;
- target: "rect.clipper";
- }
-
- program {
- name: "dragged";
- signal: "drag";
- source: "img.knob";
- script {
- update_drag_pos();
- }
- }
-
- program {
- name: "enabled";
- signal: "enabled";
- script {
- set_int(isEnabled, 1);
- show();
- }
- }
- program {
- name: "pressed";
- signal: "pressed";
- script {
- set_int(isPressed, 1);
- show();
- }
- }
- program {
- name: "checked";
- signal: "checked";
- script {
- set_int(isChecked, 1);
- show();
- }
- }
- program {
- name: "focused";
- signal: "focused";
- script {
- set_int(isFocused, 1);
- show();
- }
- }
- program {
- name: "hovered";
- signal: "hovered";
- script {
- set_int(isHovered, 1);
- show();
- }
- }
- program {
- name: "reset";
- signal: "reset";
- script {
- set_int(isEnabled, 0);
- set_int(isPressed, 0);
- set_int(isChecked, 0);
- set_int(isFocused, 0);
- set_int(isHovered, 0);
- show();
+ }
+ }
+
+ images {
+ image: "widget/slider/slider_v.png" COMP;
+ image: "widget/slider/slider_fill_v.png" COMP;
+ }
+
+ parts {
+ part {
+ name: "rect.base";
+ type: RECT;
+ description {
+ min: 11 29;
+ max: 11 999999;
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ }
+
+ part {
+ name: "rect.clipper";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+
+ part {
+ name: "img.slider";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ description {
+ state: "default" 0.0;
+ min: 5 29;
+ max: 5 999999;
+ rel1.to: "rect.base";
+ rel2.to: "rect.base";
+ image {
+ normal: "widget/slider/slider_v.png";
+ border: 0 0 5 5;
}
}
- }
+ }
+
+ part {
+ name: "img.slider_fill";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ dragable {
+ x: 0 0 0;
+ y: 1 1 0;
+ confine: "rect.base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 5 0;
+ max: 5 999999;
+ align: 0.5 0.5;
+ image {
+ normal: "widget/slider/slider_fill_v.png";
+ border: 0 0 5 5;
+ }
+ }
+ }
+ }
}
group {
- name: "webkit/widget/slider/horizontal";
-
- min: 0 11; /* if > 0, this is the minimum size that will be allocated.
- * If wants to draw on top, just overflow usign edje's rel1/rel2
- */
- max: 999999 11;
-
- images {
- image: "widget/slider/slider_h.png" COMP;
- image: "widget/slider/slider_knob_h.png" COMP;
- image: "widget/slider/slider_knob_press_h.png" COMP;
- image: "widget/slider/slider_fill_h.png" COMP;
- }
-
- script {
- public isEnabled;
- public isPressed;
- public isChecked;
- public isFocused;
- public isHovered;
-
- public show() {
-
- if (get_int(isEnabled) == 1) {
- set_state(PART:"img.knob", "default", 0.0);
- if (get_int(isFocused) == 1) {
- set_state(PART:"img.knob", "pressed", 0.0);
- if (get_int(isPressed) == 1)
- set_state(PART:"img.knob", "pressed", 0.0);
- }
- else if (get_int(isHovered) == 1) {
- set_state(PART:"img.knob", "pressed", 0.0);
- if (get_int(isPressed) == 1)
- set_state(PART:"img.knob", "pressed", 0.0);
- }
- }
- else
- set_state(PART:"img.knob", "default", 0.0);
- }
-
- public message(Msg_Type:type, id, ...) {
- if ((id == 0) && (type == MSG_FLOAT_SET)) {
- new Float:vx, Float:sx;
-
- vx = getfarg(2);
- sx = getfarg(3);
-
- if (vx >= 0.0) {
- set_drag_size(PART:"img.knob", sx, 1.0);
- set_drag(PART:"img.knob", vx, 0.0);
- run_program(PROGRAM:"show");
- } else
- run_program(PROGRAM:"hide");
- }
- }
-
- public update_drag_pos() {
- new Float:x, Float:y;
- get_drag(PART:"img.knob", x, y);
- send_message(MSG_FLOAT, 1, x);
- }
- }
-
- parts {
- part {
- name: "rect.base";
- type: RECT;
- description {
- state: "default" 0.0;
- min: 29 11;
- max: 999999 11;
- color: 255 255 255 0;
+ name: "webkit/widget/slider/thumb_horizontal";
+
+ min: 29 11;
+ max: 29 11;
+
+ images {
+ image: "widget/slider/slider_thumb_h.png" COMP;
+ image: "widget/slider/slider_thumb_press_h.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"img.thumb", "default", 0.0);
+ if (get_int(isFocused) == 1) {
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ } else if (get_int(isHovered) == 1) {
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"img.thumb", "pressed", 0.0);
}
- }
- part {
- name: "rect.clipper";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- description {
- state: "hidden" 0.0;
- color: 255 255 255 128;
+ } else
+ set_state(PART:"img.thumb", "default", 0.0);
+ }
+ }
+
+ parts {
+ part {
+ name: "img.thumb";
+ type: IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 29 11;
+ image {
+ normal: "widget/slider/slider_thumb_h.png";
+ border: 6 6 0 0;
}
}
-
- part {
- name: "img.slider";
- type: IMAGE;
- mouse_events: 0;
- clip_to: "rect.clipper";
- description {
- state: "default" 0.0;
- min: 29 5;
- max: 999999 5;
- rel1.to: "rect.base";
- rel2.to: "rect.base";
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_h.png";
- border: 5 5 0 0;
- }
- }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "widget/slider/slider_thumb_press_h.png";
}
-
- part {
- name: "img.slider_fill";
- type: IMAGE;
- mouse_events: 0;
- clip_to: "rect.clipper";
- description {
- state: "default" 0.0;
- min: 29 5;
- max: 999999 5;
- rel1.to: "rect.base";
- rel2.to: "img.knob";
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_fill_h.png";
- border: 5 5 0 0;
- }
- }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
}
+ }
+ }
+}
- part {
- name: "img.knob";
- type: IMAGE;
- mouse_events: 1;
- clip_to: "rect.clipper";
- dragable {
- x: 1 1 0;
- y: 0 0 0;
- confine: "rect.base";
- }
- description {
- state: "default" 0.0;
- min: 29 11;
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_knob_h.png";
- border: 6 6 0 0;
- }
+group {
+ name: "webkit/widget/slider/horizontal";
+
+ min: 0 11; /* if > 0, this is the minimum size that will be allocated.
+ * If wants to draw on top, just overflow usign edje's rel1/rel2
+ */
+ max: 999999 11;
+
+ images {
+ image: "widget/slider/slider_h.png" COMP;
+ image: "widget/slider/slider_fill_h.png" COMP;
+ }
+
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((id == 0) && (type == MSG_FLOAT_SET)) {
+ new Float:x, Float:sx;
+ x = getfarg(2);
+ sx = getfarg(3);
+
+ if (sx >= 0.0) {
+ set_drag(PART:"img.slider_fill", x, 0.0);
+ set_drag_size(PART:"img.slider_fill", sx, 1.0);
}
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "widget/slider/slider_knob_press_h.png";
+ }
+ }
+ }
+
+ parts {
+ part {
+ name: "rect.base";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ min: 29 11;
+ max: 999999 11;
+ color: 255 255 255 0;
+ }
+ }
+
+ part {
+ name: "rect.clipper";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+
+ part {
+ name: "img.slider";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ description {
+ state: "default" 0.0;
+ min: 29 5;
+ max: 999999 5;
+ rel1.to: "rect.base";
+ rel2.to: "rect.base";
+ align: 0.5 0.5;
+ image {
+ normal: "widget/slider/slider_h.png";
+ border: 5 5 0 0;
}
}
- }
- programs {
- program {
- name: "load";
- signal: "load";
- action: STATE_SET "hidden" 0.0;
- target: "rect.clipper";
- }
- program {
- name: "hide";
- action: STATE_SET "hidden" 0.0;
- transition: ACCELERATE 0.5;
- target: "rect.clipper";
- }
-
- program {
- name: "show";
- action: STATE_SET "default" 0.0;
- target: "rect.clipper";
- }
-
- program {
- name: "dragged";
- signal: "drag";
- source: "img.knob";
- script {
- update_drag_pos();
- }
- }
-
- program {
- name: "enabled";
- signal: "enabled";
- script {
- set_int(isEnabled, 1);
- show();
- }
- }
- program {
- name: "pressed";
- signal: "pressed";
- script {
- set_int(isPressed, 1);
- show();
- }
- }
- program {
- name: "checked";
- signal: "checked";
- script {
- set_int(isChecked, 1);
- show();
- }
- }
- program {
- name: "focused";
- signal: "focused";
- script {
- set_int(isFocused, 1);
- show();
- }
- }
- program {
- name: "hovered";
- signal: "hovered";
- script {
- set_int(isHovered, 1);
- show();
- }
- }
- program {
- name: "reset";
- signal: "reset";
- script {
- set_int(isEnabled, 0);
- set_int(isPressed, 0);
- set_int(isChecked, 0);
- set_int(isFocused, 0);
- set_int(isHovered, 0);
- show();
+ }
+
+ part {
+ name: "img.slider_fill";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "rect.base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 0 5;
+ max: 999999 5;
+ align: 0.5 0.5;
+ image {
+ normal: "widget/slider/slider_fill_h.png";
+ border: 5 5 0 0;
}
- }
- }
+ }
+ }
+ }
}
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_h.png b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_h.png
index 22454af72..22454af72 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_h.png
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_h.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_h.png b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png
index 1421cd837..1421cd837 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_h.png
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_v.png b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png
index 293813cea..293813cea 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_v.png
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_v.png b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_v.png
index 051f3c33c..051f3c33c 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_v.png
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_v.png
Binary files differ
diff --git a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp
index 9de607af5..ca2025e76 100644
--- a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp
@@ -32,6 +32,11 @@ BatteryClientEfl::BatteryClientEfl(Evas_Object* view)
{
}
+BatteryClientEfl::~BatteryClientEfl()
+{
+ m_provider.stopUpdating();
+}
+
void BatteryClientEfl::startUpdating()
{
m_provider.startUpdating();
diff --git a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h
index f633aadf1..d11acc9ca 100644
--- a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h
@@ -36,7 +36,7 @@ class BatteryController;
class BatteryClientEfl : public WebCore::BatteryClient, public WebCore::BatteryProviderEflClient {
public:
explicit BatteryClientEfl(Evas_Object* view);
- virtual ~BatteryClientEfl() { }
+ virtual ~BatteryClientEfl();
// BatteryClient interface.
virtual void startUpdating();
diff --git a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
index 3b327ed78..9d5cde5a3 100644
--- a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
@@ -46,7 +46,6 @@
#include "KURL.h"
#include "NavigationAction.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "PopupMenuEfl.h"
#include "SearchPopupMenuEfl.h"
#include "SecurityOrigin.h"
@@ -61,6 +60,7 @@
#include <Ecore_Evas.h>
#include <Evas.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
#include "NotificationPresenterClientEfl.h"
diff --git a/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp
new file mode 100644
index 000000000..8003be1e5
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2012, Intel Corporation
+ *
+ * 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 Intel Corporation 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"
+
+#if ENABLE(INPUT_TYPE_COLOR)
+
+#include "ColorChooserEfl.h"
+
+#include "ChromeClientEfl.h"
+
+namespace WebCore {
+
+ColorChooserEfl::ColorChooserEfl(ChromeClientEfl* chromeClient)
+ : m_chromeClient(chromeClient)
+{
+ ASSERT(m_chromeClient);
+}
+
+ColorChooserEfl::~ColorChooserEfl()
+{
+}
+
+void ColorChooserEfl::setSelectedColor(const Color& color)
+{
+ m_chromeClient->updateColorChooser(color);
+}
+
+void ColorChooserEfl::endChooser()
+{
+ m_chromeClient->removeColorChooser();
+}
+
+}
+
+#endif // ENABLE(INPUT_TYPE_COLOR)
diff --git a/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h
new file mode 100644
index 000000000..57ee37d5b
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2012, Intel Corporation
+ *
+ * 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 Intel Corporation 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 ColorChooserEfl_h
+#define ColorChooserEfl_h
+
+#include "Color.h"
+#include "ColorChooser.h"
+
+#include <Evas.h>
+
+namespace WebCore {
+
+class ChromeClientEfl;
+
+class ColorChooserEfl : public ColorChooser {
+public:
+ explicit ColorChooserEfl(ChromeClientEfl*);
+ ~ColorChooserEfl();
+
+ // ColorChooser implementation.
+ virtual void setSelectedColor(const Color&);
+ virtual void endChooser();
+
+private:
+ ChromeClientEfl* m_chromeClient;
+};
+
+}
+
+#endif // ColorChooserEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
new file mode 100644
index 000000000..5f56e318a
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2008 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2009 Igalia S.L.
+ * Copyright (C) 2010 ProFUSION embedded systems
+ * Copyright (C) 2012 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 "HitTestResult.h"
+#include "KURL.h"
+#include "NotImplemented.h"
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+void ContextMenuClientEfl::contextMenuDestroyed()
+{
+ delete this;
+}
+
+PlatformMenuDescription ContextMenuClientEfl::getCustomMenuFromDefaultItems(ContextMenu* menu)
+{
+ // warning: this transfers the ownership to the caller
+ return menu->releasePlatformDescription();
+}
+
+void ContextMenuClientEfl::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
+{
+ notImplemented();
+}
+
+void ContextMenuClientEfl::downloadURL(const KURL&)
+{
+ notImplemented();
+}
+
+void ContextMenuClientEfl::lookUpInDictionary(Frame*)
+{
+ notImplemented();
+}
+
+void ContextMenuClientEfl::speak(const String&)
+{
+ notImplemented();
+}
+
+bool ContextMenuClientEfl::isSpeaking()
+{
+ notImplemented();
+ return false;
+}
+
+void ContextMenuClientEfl::stopSpeaking()
+{
+ notImplemented();
+}
+
+void ContextMenuClientEfl::searchWithGoogle(const Frame*)
+{
+ notImplemented();
+}
+
+}
diff --git a/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
new file mode 100644
index 000000000..39a881d60
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2008 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2009 Igalia S.L.
+ * Copyright (C) 2010 ProFUSION embedded systems
+ * Copyright (C) 2012 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 <wtf/RefCounted.h>
+
+namespace WebCore {
+class ContextMenu;
+
+class ContextMenuClientEfl : public ContextMenuClient {
+public:
+ virtual void contextMenuDestroyed();
+
+ virtual PlatformMenuDescription getCustomMenuFromDefaultItems(ContextMenu*);
+ virtual void contextMenuItemSelected(ContextMenuItem*, const ContextMenu*);
+
+ virtual void downloadURL(const KURL&);
+ virtual void lookUpInDictionary(Frame*);
+ virtual void speak(const String&);
+ virtual bool isSpeaking();
+ virtual void stopSpeaking();
+ virtual void searchWithGoogle(const Frame*);
+};
+}
+
+#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
index 96a5791ee..020502327 100644
--- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
@@ -61,12 +61,19 @@
#include <workers/WorkerThread.h>
#include <wtf/HashMap.h>
+#define DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, ...) \
+ WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame); \
+ if (!frame) \
+ return __VA_ARGS__;
+
+#define DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, ...) \
+ WebCore::Page* page = EWKPrivate::corePage(ewkView); \
+ if (!page) \
+ return __VA_ARGS__;
+
unsigned DumpRenderTreeSupportEfl::activeAnimationsCount(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return 0;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
WebCore::AnimationController* animationController = frame->animation();
@@ -78,32 +85,28 @@ unsigned DumpRenderTreeSupportEfl::activeAnimationsCount(const Evas_Object* ewkF
bool DumpRenderTreeSupportEfl::callShouldCloseOnWebView(Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return false;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
return frame->loader()->shouldClose();
}
void DumpRenderTreeSupportEfl::clearFrameName(Evas_Object* ewkFrame)
{
- if (WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame))
- frame->tree()->clearName();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
+
+ frame->tree()->clearName();
}
void DumpRenderTreeSupportEfl::clearOpener(Evas_Object* ewkFrame)
{
- if (WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame))
- frame->loader()->setOpener(0);
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
+
+ frame->loader()->setOpener(0);
}
bool DumpRenderTreeSupportEfl::elementDoesAutoCompleteForElementWithId(const Evas_Object* ewkFrame, const String& elementId)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return false;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
WebCore::Document* document = frame->document();
ASSERT(document);
@@ -118,10 +121,7 @@ bool DumpRenderTreeSupportEfl::elementDoesAutoCompleteForElementWithId(const Eva
Eina_List* DumpRenderTreeSupportEfl::frameChildren(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return 0;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
Eina_List* childFrames = 0;
@@ -140,64 +140,24 @@ Eina_List* DumpRenderTreeSupportEfl::frameChildren(const Evas_Object* ewkFrame)
WebCore::Frame* DumpRenderTreeSupportEfl::frameParent(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return 0;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
return frame->tree()->parent();
}
void DumpRenderTreeSupportEfl::layoutFrame(Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return;
-
- WebCore::FrameView* frameView = frame->view();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
- if (!frameView)
+ if (!frame->view())
return;
- frameView->layout();
-}
-
-int DumpRenderTreeSupportEfl::numberOfPages(const Evas_Object* ewkFrame, float pageWidth, float pageHeight)
-{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return 0;
-
- return WebCore::PrintContext::numberOfPages(frame, WebCore::FloatSize(pageWidth, pageHeight));
-}
-
-String DumpRenderTreeSupportEfl::pageSizeAndMarginsInPixels(const Evas_Object* ewkFrame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft)
-{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return String();
-
- return WebCore::PrintContext::pageSizeAndMarginsInPixels(frame, pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft);
-}
-
-String DumpRenderTreeSupportEfl::pageProperty(const Evas_Object* ewkFrame, const char* propertyName, int pageNumber)
-{
- WebCore::Frame* coreFrame = EWKPrivate::coreFrame(ewkFrame);
- if (!coreFrame)
- return String();
-
- return WebCore::PrintContext::pageProperty(coreFrame, propertyName, pageNumber);
+ frame->view()->layout();
}
bool DumpRenderTreeSupportEfl::pauseAnimation(Evas_Object* ewkFrame, const char* name, const char* elementId, double time)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return false;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
WebCore::Element* element = frame->document()->getElementById(elementId);
@@ -209,10 +169,7 @@ bool DumpRenderTreeSupportEfl::pauseAnimation(Evas_Object* ewkFrame, const char*
bool DumpRenderTreeSupportEfl::pauseTransition(Evas_Object* ewkFrame, const char* name, const char* elementId, double time)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return false;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
WebCore::Element* element = frame->document()->getElementById(elementId);
@@ -224,18 +181,14 @@ bool DumpRenderTreeSupportEfl::pauseTransition(Evas_Object* ewkFrame, const char
unsigned DumpRenderTreeSupportEfl::pendingUnloadEventCount(const Evas_Object* ewkFrame)
{
- if (WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame))
- return frame->document()->domWindow()->pendingUnloadEventListeners();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
- return 0;
+ return frame->document()->domWindow()->pendingUnloadEventListeners();
}
String DumpRenderTreeSupportEfl::renderTreeDump(Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return String();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
WebCore::FrameView *frameView = frame->view();
@@ -247,10 +200,7 @@ String DumpRenderTreeSupportEfl::renderTreeDump(Evas_Object* ewkFrame)
String DumpRenderTreeSupportEfl::responseMimeType(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return String();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
WebCore::DocumentLoader *documentLoader = frame->loader()->documentLoader();
@@ -262,10 +212,7 @@ String DumpRenderTreeSupportEfl::responseMimeType(const Evas_Object* ewkFrame)
WebCore::IntRect DumpRenderTreeSupportEfl::selectionRectangle(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return WebCore::IntRect();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, WebCore::IntRect());
return enclosingIntRect(frame->selection()->bounds());
}
@@ -273,10 +220,7 @@ WebCore::IntRect DumpRenderTreeSupportEfl::selectionRectangle(const Evas_Object*
// Compare with "WebKit/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm
String DumpRenderTreeSupportEfl::suitableDRTFrameName(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return String();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
const String frameName(ewk_frame_name_get(ewkFrame));
@@ -321,28 +265,28 @@ void DumpRenderTreeSupportEfl::setAutofilled(JSContextRef context, JSValueRef no
void DumpRenderTreeSupportEfl::setDefersLoading(Evas_Object* ewkView, bool defers)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
-
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->setDefersLoading(defers);
}
void DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting(Evas_Object* ewkView, bool loadsSiteIconsIgnoringImageLoadingPreferences)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->settings()->setLoadsSiteIconsIgnoringImageLoadingSetting(loadsSiteIconsIgnoringImageLoadingPreferences);
}
+void DumpRenderTreeSupportEfl::setMinimumLogicalFontSize(Evas_Object* ewkView, int size)
+{
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ page->settings()->setMinimumLogicalFontSize(size);
+}
+
void DumpRenderTreeSupportEfl::addUserScript(const Evas_Object* ewkView, const String& sourceCode, bool runAtStart, bool allFrames)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->group().addUserScriptToWorld(WebCore::mainThreadNormalWorld(), sourceCode, WebCore::KURL(),
nullptr, nullptr, runAtStart ? WebCore::InjectAtDocumentStart : WebCore::InjectAtDocumentEnd,
@@ -351,71 +295,56 @@ void DumpRenderTreeSupportEfl::addUserScript(const Evas_Object* ewkView, const S
void DumpRenderTreeSupportEfl::clearUserScripts(const Evas_Object* ewkView)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->group().removeUserScriptsFromWorld(WebCore::mainThreadNormalWorld());
}
void DumpRenderTreeSupportEfl::addUserStyleSheet(const Evas_Object* ewkView, const String& sourceCode, bool allFrames)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->group().addUserStyleSheetToWorld(WebCore::mainThreadNormalWorld(), sourceCode, WebCore::KURL(), nullptr, nullptr, allFrames ? WebCore::InjectInAllFrames : WebCore::InjectInTopFrameOnly);
}
void DumpRenderTreeSupportEfl::clearUserStyleSheets(const Evas_Object* ewkView)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->group().removeUserStyleSheetsFromWorld(WebCore::mainThreadNormalWorld());
}
void DumpRenderTreeSupportEfl::executeCoreCommandByName(const Evas_Object* ewkView, const char* name, const char* value)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->focusController()->focusedOrMainFrame()->editor()->command(name).execute(value);
}
bool DumpRenderTreeSupportEfl::findString(const Evas_Object* ewkView, const String& text, WebCore::FindOptions options)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
-
- if (!page)
- return false;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
return page->findString(text, options);
}
void DumpRenderTreeSupportEfl::setCSSGridLayoutEnabled(const Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* corePage = EWKPrivate::corePage(ewkView);
- if (corePage)
- corePage->settings()->setCSSGridLayoutEnabled(enabled);
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ page->settings()->setCSSGridLayoutEnabled(enabled);
}
bool DumpRenderTreeSupportEfl::isCommandEnabled(const Evas_Object* ewkView, const char* name)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return false;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
return page->focusController()->focusedOrMainFrame()->editor()->command(name).isEnabled();
}
void DumpRenderTreeSupportEfl::setSmartInsertDeleteEnabled(Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
WebCore::EditorClientEfl* editorClient = static_cast<WebCore::EditorClientEfl*>(page->editorClient());
if (!editorClient)
@@ -426,9 +355,7 @@ void DumpRenderTreeSupportEfl::setSmartInsertDeleteEnabled(Evas_Object* ewkView,
void DumpRenderTreeSupportEfl::setSelectTrailingWhitespaceEnabled(Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
WebCore::EditorClientEfl* editorClient = static_cast<WebCore::EditorClientEfl*>(page->editorClient());
if (!editorClient)
@@ -508,9 +435,7 @@ bool DumpRenderTreeSupportEfl::isTargetItem(const Ewk_History_Item* ewkHistoryIt
void DumpRenderTreeSupportEfl::evaluateInWebInspector(const Evas_Object* ewkView, long callId, const String& script)
{
#if ENABLE(INSPECTOR)
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
if (page->inspectorController())
page->inspectorController()->evaluateForTestInFrontend(callId, script);
@@ -519,12 +444,10 @@ void DumpRenderTreeSupportEfl::evaluateInWebInspector(const Evas_Object* ewkView
void DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld(const Evas_Object* ewkFrame, int worldID, JSObjectRef globalObject, const String& script)
{
- WebCore::Frame* coreFrame = EWKPrivate::coreFrame(ewkFrame);
- if (!coreFrame)
- return;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
// Comment from mac: Start off with some guess at a frame and a global object, we'll try to do better...!
- WebCore::JSDOMWindow* anyWorldGlobalObject = coreFrame->script()->globalObject(WebCore::mainThreadNormalWorld());
+ WebCore::JSDOMWindow* anyWorldGlobalObject = frame->script()->globalObject(WebCore::mainThreadNormalWorld());
// Comment from mac: The global object is probably a shell object? - if so, we know how to use this!
JSC::JSObject* globalObjectObj = toJS(globalObject);
@@ -562,11 +485,9 @@ void DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld(const Evas_Object*
JSGlobalContextRef DumpRenderTreeSupportEfl::globalContextRefForFrame(const Evas_Object* ewkFrame)
{
- WebCore::Frame* coreFrame = EWKPrivate::coreFrame(ewkFrame);
- if (!coreFrame)
- return 0;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
- return toGlobalRef(coreFrame->script()->globalObject(WebCore::mainThreadNormalWorld())->globalExec());
+ return toGlobalRef(frame->script()->globalObject(WebCore::mainThreadNormalWorld())->globalExec());
}
void DumpRenderTreeSupportEfl::setMockScrollbarsEnabled(bool enable)
@@ -593,16 +514,16 @@ String DumpRenderTreeSupportEfl::markerTextForListItem(JSContextRef context, JSV
void DumpRenderTreeSupportEfl::setInteractiveFormValidationEnabled(Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* corePage = EWKPrivate::corePage(ewkView);
- if (corePage)
- corePage->settings()->setInteractiveFormValidationEnabled(enabled);
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ page->settings()->setInteractiveFormValidationEnabled(enabled);
}
void DumpRenderTreeSupportEfl::setValidationMessageTimerMagnification(Evas_Object* ewkView, int value)
{
- WebCore::Page* corePage = EWKPrivate::corePage(ewkView);
- if (corePage)
- corePage->settings()->setValidationMessageTimerMagnification(value);
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ page->settings()->setValidationMessageTimerMagnification(value);
}
JSValueRef DumpRenderTreeSupportEfl::computedStyleIncludingVisitedInfo(JSContextRef context, JSValueRef value)
@@ -623,11 +544,9 @@ JSValueRef DumpRenderTreeSupportEfl::computedStyleIncludingVisitedInfo(JSContext
void DumpRenderTreeSupportEfl::setAuthorAndUserStylesEnabled(Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* corePage = EWKPrivate::corePage(ewkView);
- if (!corePage)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
- corePage->settings()->setAuthorAndUserStylesEnabled(enabled);
+ page->settings()->setAuthorAndUserStylesEnabled(enabled);
}
void DumpRenderTreeSupportEfl::setSerializeHTTPLoads(bool enabled)
@@ -638,7 +557,7 @@ void DumpRenderTreeSupportEfl::setSerializeHTTPLoads(bool enabled)
void DumpRenderTreeSupportEfl::sendWebIntentResponse(Ewk_Intent_Request* request, JSStringRef response)
{
#if ENABLE(WEB_INTENTS)
- JSC::UString responseString = response->ustring();
+ String responseString = response->string();
if (responseString.isNull())
ewk_intent_request_failure_post(request, WebCore::SerializedScriptValue::create(String::fromUTF8("ERROR")));
else
@@ -659,10 +578,10 @@ WebCore::MessagePortChannelArray* DumpRenderTreeSupportEfl::intentMessagePorts(c
void DumpRenderTreeSupportEfl::deliverWebIntent(Evas_Object* ewkFrame, JSStringRef action, JSStringRef type, JSStringRef data)
{
#if ENABLE(WEB_INTENTS)
- RefPtr<WebCore::SerializedScriptValue> serializedData = WebCore::SerializedScriptValue::create(String(data->ustring().impl()));
+ RefPtr<WebCore::SerializedScriptValue> serializedData = WebCore::SerializedScriptValue::create(data->string());
WebCore::ExceptionCode ec = 0;
WebCore::MessagePortArray ports;
- RefPtr<WebCore::Intent> coreIntent = WebCore::Intent::create(String(action->ustring().impl()), String(type->ustring().impl()), serializedData.get(), ports, ec);
+ RefPtr<WebCore::Intent> coreIntent = WebCore::Intent::create(action->string(), type->string(), serializedData.get(), ports, ec);
if (ec)
return;
Ewk_Intent* ewkIntent = ewk_intent_new(coreIntent.get());
@@ -673,8 +592,9 @@ void DumpRenderTreeSupportEfl::deliverWebIntent(Evas_Object* ewkFrame, JSStringR
void DumpRenderTreeSupportEfl::setComposition(Evas_Object* ewkView, const char* text, int start, int length)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return;
WebCore::Editor* editor = page->focusController()->focusedOrMainFrame()->editor();
@@ -689,8 +609,9 @@ void DumpRenderTreeSupportEfl::setComposition(Evas_Object* ewkView, const char*
bool DumpRenderTreeSupportEfl::hasComposition(const Evas_Object* ewkView)
{
- const WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return false;
const WebCore::Editor* editor = page->focusController()->focusedOrMainFrame()->editor();
@@ -704,8 +625,9 @@ bool DumpRenderTreeSupportEfl::compositionRange(Evas_Object* ewkView, int* start
{
*start = *length = 0;
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return false;
WebCore::Editor* editor = page->focusController()->focusedOrMainFrame()->editor();
@@ -719,8 +641,9 @@ bool DumpRenderTreeSupportEfl::compositionRange(Evas_Object* ewkView, int* start
void DumpRenderTreeSupportEfl::confirmComposition(Evas_Object* ewkView, const char* text)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return;
WebCore::Editor* editor = page->focusController()->focusedOrMainFrame()->editor();
@@ -741,8 +664,9 @@ void DumpRenderTreeSupportEfl::confirmComposition(Evas_Object* ewkView, const ch
WebCore::IntRect DumpRenderTreeSupportEfl::firstRectForCharacterRange(Evas_Object* ewkView, int location, int length)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame() || !page->focusController()->focusedOrMainFrame()->editor())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, WebCore::IntRect());
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame() || !page->focusController()->focusedOrMainFrame()->editor())
return WebCore::IntRect();
if ((location + length < location) && (location + length))
@@ -763,8 +687,9 @@ bool DumpRenderTreeSupportEfl::selectedRange(Evas_Object* ewkView, int* start, i
if (!(start && length))
return false;
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return false;
WebCore::Frame* frame = page->focusController()->focusedOrMainFrame();
diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
index eaf11d328..6be5fb41d 100644
--- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
@@ -57,10 +57,6 @@ public:
static Eina_List* frameChildren(const Evas_Object* ewkFrame);
static WebCore::Frame* frameParent(const Evas_Object* ewkFrame);
static void layoutFrame(Evas_Object* ewkFrame);
- static int numberOfPages(const Evas_Object* ewkFrame, float pageWidth, float pageHeight);
- static int numberOfPagesForElementId(const Evas_Object* ewkFrame, const char* elementId, float pageWidth, float pageHeight);
- static String pageProperty(const Evas_Object* ewkFrame, const char* propertyName, int pageNumber);
- static String pageSizeAndMarginsInPixels(const Evas_Object* ewkFrame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft);
static bool pauseAnimation(Evas_Object* ewkFrame, const char* name, const char* elementId, double time);
static bool pauseTransition(Evas_Object* ewkFrame, const char* name, const char* elementId, double time);
static unsigned pendingUnloadEventCount(const Evas_Object* ewkFrame);
@@ -72,6 +68,7 @@ public:
static void setAutofilled(JSContextRef, JSValueRef nodeObject, bool autofilled);
static void setDefersLoading(Evas_Object* ewkView, bool defers);
static void setLoadsSiteIconsIgnoringImageLoadingSetting(Evas_Object* ewkView, bool loadsSiteIconsIgnoringImageLoadingPreferences);
+ static void setMinimumLogicalFontSize(Evas_Object* ewkView, int size);
static void addUserScript(const Evas_Object* ewkView, const String& sourceCode, bool runAtStart, bool allFrames);
static void clearUserScripts(const Evas_Object* ewkView);
diff --git a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
index c78520127..92aef626f 100644
--- a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
@@ -45,6 +45,7 @@
#include "FrameTree.h"
#include "FrameView.h"
#include "HTMLFormElement.h"
+#include "HTTPStatusCodes.h"
#include "IntentRequest.h"
#include "MIMETypeRegistry.h"
#include "NotImplemented.h"
@@ -297,6 +298,12 @@ void FrameLoaderClientEfl::dispatchDecidePolicyForResponse(FramePolicyFunction f
return;
}
+ // Ignore responses with an HTTP status code of 204 (No Content)
+ if (response.httpStatusCode() == HTTPNoContent) {
+ callPolicyFunction(function, PolicyIgnore);
+ return;
+ }
+
if (canShowMIMEType(response.mimeType()))
callPolicyFunction(function, PolicyUse);
else
@@ -611,7 +618,7 @@ void FrameLoaderClientEfl::dispatchDidChangeLocationWithinPage()
{
ewk_frame_uri_changed(m_frame);
- if (ewk_view_frame_main_get(m_view) != m_frame)
+ if (!isLoadingMainFrame())
return;
ewk_view_uri_changed(m_view);
}
@@ -624,7 +631,7 @@ void FrameLoaderClientEfl::dispatchWillClose()
void FrameLoaderClientEfl::dispatchDidReceiveIcon()
{
// IconController loads icons only for the main frame.
- ASSERT(ewk_view_frame_main_get(m_view) == m_frame);
+ ASSERT(isLoadingMainFrame());
ewk_view_frame_main_icon_received(m_view);
}
@@ -632,7 +639,7 @@ void FrameLoaderClientEfl::dispatchDidReceiveIcon()
void FrameLoaderClientEfl::dispatchDidStartProvisionalLoad()
{
ewk_frame_load_provisional(m_frame);
- if (ewk_view_frame_main_get(m_view) == m_frame)
+ if (isLoadingMainFrame())
ewk_view_load_provisional(m_view);
}
@@ -644,7 +651,7 @@ void FrameLoaderClientEfl::dispatchDidReceiveTitle(const StringWithDirection& ti
ewkTitle.direction = (title.direction() == LTR) ? EWK_TEXT_DIRECTION_LEFT_TO_RIGHT : EWK_TEXT_DIRECTION_RIGHT_TO_LEFT;
ewk_frame_title_set(m_frame, &ewkTitle);
- if (ewk_view_frame_main_get(m_view) != m_frame)
+ if (!isLoadingMainFrame())
return;
ewk_view_title_set(m_view, &ewkTitle);
}
@@ -660,7 +667,7 @@ void FrameLoaderClientEfl::dispatchDidCommitLoad()
{
ewk_frame_uri_changed(m_frame);
ewk_frame_load_committed(m_frame);
- if (ewk_view_frame_main_get(m_view) != m_frame)
+ if (!isLoadingMainFrame())
return;
ewk_view_title_set(m_view, 0);
ewk_view_uri_changed(m_view);
@@ -834,7 +841,7 @@ void FrameLoaderClientEfl::dispatchDidFailProvisionalLoad(const ResourceError& e
error.frame = m_frame;
ewk_frame_load_provisional_failed(m_frame, &error);
- if (ewk_view_frame_main_get(m_view) == m_frame)
+ if (isLoadingMainFrame())
ewk_view_load_provisional_failed(m_view, &error);
dispatchDidFailLoad(err);
@@ -1000,7 +1007,7 @@ void FrameLoaderClientEfl::transitionToCommittedForNewPage()
ewk_frame_view_create_for_view(m_frame, m_view);
- if (m_frame == ewk_view_frame_main_get(m_view)) {
+ if (isLoadingMainFrame()) {
ewk_view_frame_view_creation_notify(m_view);
ewk_view_frame_main_cleared(m_view);
}
diff --git a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
index 63d8a4452..8c0966a72 100644
--- a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
@@ -211,6 +211,8 @@ class FrameLoaderClientEfl : public FrameLoaderClient {
virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
private:
+ bool isLoadingMainFrame() const { return m_frame == ewk_view_frame_main_get(m_view); }
+
Evas_Object *m_view;
Evas_Object *m_frame;
diff --git a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
index b82039756..12afacb19 100644
--- a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
@@ -24,9 +24,9 @@
#if ENABLE(INSPECTOR)
#include "InspectorController.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "ewk_view_private.h"
#include <unistd.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -93,7 +93,7 @@ InspectorFrontendChannel* InspectorClientEfl::openInspectorFrontend(InspectorCon
m_inspectorView = inspectorView;
- String inspectorUri = inspectorFilesPath();
+ String inspectorUri = inspectorFilesPath() + "/inspector.html";
ewk_view_uri_set(m_inspectorView, inspectorUri.utf8().data());
OwnPtr<InspectorFrontendClientEfl> frontendClient = adoptPtr(new InspectorFrontendClientEfl(m_inspectedView, m_inspectorView, this));
@@ -140,9 +140,9 @@ void InspectorClientEfl::releaseFrontendPage()
String InspectorClientEfl::inspectorFilesPath()
{
- String inspectorFilesPath = makeString("file://", WEB_INSPECTOR_INSTALL_DIR, "/inspector.html");
- if (access(inspectorFilesPath.utf8().data(), R_OK)) // On success, zero is returned
- inspectorFilesPath = makeString("file://", WEB_INSPECTOR_DIR, "/inspector.html");
+ String inspectorFilesPath = "file://" + String(WEB_INSPECTOR_INSTALL_DIR);
+ if (access(inspectorFilesPath.utf8().data(), R_OK))
+ inspectorFilesPath = "file://" + String(WEB_INSPECTOR_DIR);
return inspectorFilesPath;
}
@@ -168,8 +168,7 @@ InspectorFrontendClientEfl::~InspectorFrontendClientEfl()
String InspectorFrontendClientEfl::localizedStringsURL()
{
- notImplemented();
- return String();
+ return m_inspectorClient->inspectorFilesPath() + "/localizedStrings.js";
}
String InspectorFrontendClientEfl::hiddenPanels()
diff --git a/Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
index 5601241a5..a5b612fc0 100644
--- a/Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
@@ -26,9 +26,9 @@
*/
#include "config.h"
-#include "RegisterProtocolHandlerClientEfl.h"
+#include "NavigatorContentUtilsClientEfl.h"
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
#include "ewk_custom_handler_private.h"
#include <wtf/text/CString.h>
@@ -53,17 +53,17 @@ static void customHandlerDataDelete(Ewk_Custom_Handler_Data* data)
delete data;
}
-PassOwnPtr<RegisterProtocolHandlerClientEfl> RegisterProtocolHandlerClientEfl::create(Evas_Object* view)
+PassOwnPtr<NavigatorContentUtilsClientEfl> NavigatorContentUtilsClientEfl::create(Evas_Object* view)
{
- return adoptPtr(new RegisterProtocolHandlerClientEfl(view));
+ return adoptPtr(new NavigatorContentUtilsClientEfl(view));
}
-RegisterProtocolHandlerClientEfl::RegisterProtocolHandlerClientEfl(Evas_Object* view)
+NavigatorContentUtilsClientEfl::NavigatorContentUtilsClientEfl(Evas_Object* view)
: m_view(view)
{
}
-void RegisterProtocolHandlerClientEfl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
+void NavigatorContentUtilsClientEfl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
{
Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
data->title = eina_stringshare_add(title.utf8().data());
@@ -73,16 +73,16 @@ void RegisterProtocolHandlerClientEfl::registerProtocolHandler(const String& sch
}
#if ENABLE(CUSTOM_SCHEME_HANDLER)
-RegisterProtocolHandlerClient::CustomHandlersState RegisterProtocolHandlerClientEfl::isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url)
+NavigatorContentUtilsClient::CustomHandlersState NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url)
{
Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
- RegisterProtocolHandlerClient::CustomHandlersState result = static_cast<CustomHandlersState>(ewk_custom_handler_register_protocol_handler(data));
+ NavigatorContentUtilsClient::CustomHandlersState result = static_cast<CustomHandlersState>(ewk_custom_handler_register_protocol_handler(data));
customHandlerDataDelete(data);
return result;
}
-void RegisterProtocolHandlerClientEfl::unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url)
+void NavigatorContentUtilsClientEfl::unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url)
{
Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
ewk_custom_handler_register_protocol_handler(data);
@@ -92,4 +92,4 @@ void RegisterProtocolHandlerClientEfl::unregisterProtocolHandler(const String& s
}
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.h b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h
index dca3c6cfa..2fe488f47 100644
--- a/Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h
@@ -25,20 +25,20 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef RegisterProtocolHandlerClientEfl_h
-#define RegisterProtocolHandlerClientEfl_h
+#ifndef NavigatorContentUtilsClientEfl_h
+#define NavigatorContentUtilsClientEfl_h
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-#include "RegisterProtocolHandlerClient.h"
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+#include "NavigatorContentUtilsClient.h"
#include <wtf/PassOwnPtr.h>
namespace WebCore {
-class RegisterProtocolHandlerClientEfl : public WebCore::RegisterProtocolHandlerClient {
+class NavigatorContentUtilsClientEfl : public WebCore::NavigatorContentUtilsClient {
public:
- static PassOwnPtr<RegisterProtocolHandlerClientEfl> create(Evas_Object* view);
+ static PassOwnPtr<NavigatorContentUtilsClientEfl> create(Evas_Object* view);
- ~RegisterProtocolHandlerClientEfl() { }
+ ~NavigatorContentUtilsClientEfl() { }
virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
#if ENABLE(CUSTOM_SCHEME_HANDLER)
@@ -49,9 +49,9 @@ public:
private:
Evas_Object* m_view;
- RegisterProtocolHandlerClientEfl(Evas_Object* view);
+ NavigatorContentUtilsClientEfl(Evas_Object* view);
};
}
#endif
-#endif // RegisterProtocolHandlerClientEfl_h
+#endif // NavigatorContentUtilsClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp
new file mode 100644
index 000000000..8195ccc5f
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
+ * Copyright (C) 2009-2010 ProFUSION embedded systems
+ * Copyright (C) 2009-2010 Samsung Electronics
+ * 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 "PopupMenuEfl.h"
+
+#include "Chrome.h"
+#include "ChromeClientEfl.h"
+#include "Frame.h"
+#include "FrameView.h"
+#include "NotImplemented.h"
+#include "Page.h"
+#include "PopupMenuClient.h"
+
+namespace WebCore {
+
+PopupMenuEfl::PopupMenuEfl(PopupMenuClient* client)
+ : m_popupClient(client)
+ , m_view(0)
+{
+}
+
+PopupMenuEfl::~PopupMenuEfl()
+{
+ // Tell client to destroy data related to this popup since this object is
+ // going away.
+ if (m_view)
+ hide();
+}
+
+void PopupMenuEfl::show(const IntRect& rect, FrameView* view, int index)
+{
+ ASSERT(m_popupClient);
+ ChromeClientEfl* chromeClient = static_cast<ChromeClientEfl*>(view->frame()->page()->chrome()->client());
+ ASSERT(chromeClient);
+
+ m_view = view;
+ chromeClient->createSelectPopup(m_popupClient, index, rect);
+}
+
+void PopupMenuEfl::hide()
+{
+ ASSERT(m_view);
+ ChromeClientEfl* chromeClient = static_cast<ChromeClientEfl*>(m_view->frame()->page()->chrome()->client());
+ ASSERT(chromeClient);
+
+ chromeClient->destroySelectPopup();
+}
+
+void PopupMenuEfl::updateFromElement()
+{
+ client()->setTextFromItem(client()->selectedIndex());
+}
+
+void PopupMenuEfl::disconnectClient()
+{
+ m_popupClient = 0;
+}
+
+}
diff --git a/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h
new file mode 100644
index 000000000..aab9d5636
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h
@@ -0,0 +1,53 @@
+/*
+ * 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 PopupMenuEfl_h
+#define PopupMenuEfl_h
+
+#include "IntRect.h"
+#include "PopupMenu.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class FrameView;
+class Scrollbar;
+class PopupMenuClient;
+
+class PopupMenuEfl : public PopupMenu {
+public:
+ explicit PopupMenuEfl(PopupMenuClient*);
+ ~PopupMenuEfl();
+
+ virtual void show(const IntRect&, FrameView*, int index);
+ virtual void hide();
+ virtual void updateFromElement();
+ virtual void disconnectClient();
+
+private:
+ PopupMenuClient* client() const { return m_popupClient; }
+
+ PopupMenuClient* m_popupClient;
+ FrameView* m_view;
+};
+
+}
+
+#endif // PopupMenuEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp
new file mode 100644
index 000000000..20ecb092d
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
+ * Copyright (C) 2009-2010 ProFUSION embedded systems
+ * Copyright (C) 2009-2010 Samsung Electronics
+ * 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 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 "SearchPopupMenuEfl.h"
+
+#include "NotImplemented.h"
+
+namespace WebCore {
+
+SearchPopupMenuEfl::SearchPopupMenuEfl(PopupMenuClient* client)
+ : m_popup(adoptRef(new PopupMenuEfl(client)))
+{
+ notImplemented();
+}
+
+PopupMenu* SearchPopupMenuEfl::popupMenu()
+{
+ return m_popup.get();
+}
+
+void SearchPopupMenuEfl::saveRecentSearches(const AtomicString&, const Vector<String>&)
+{
+ notImplemented();
+}
+
+void SearchPopupMenuEfl::loadRecentSearches(const AtomicString&, Vector<String>&)
+{
+ notImplemented();
+}
+
+bool SearchPopupMenuEfl::enabled()
+{
+ notImplemented();
+ return true;
+}
+
+}
diff --git a/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h
new file mode 100644
index 000000000..7eec84ed2
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h
@@ -0,0 +1,44 @@
+/*
+ * 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 SearchPopupMenuEfl_h
+#define SearchPopupMenuEfl_h
+
+#include "PopupMenuEfl.h"
+#include "SearchPopupMenu.h"
+
+namespace WebCore {
+
+class SearchPopupMenuEfl : public SearchPopupMenu {
+public:
+ explicit SearchPopupMenuEfl(PopupMenuClient*);
+
+ virtual PopupMenu* popupMenu();
+ virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
+ virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
+ virtual bool enabled();
+
+private:
+ RefPtr<PopupMenuEfl> m_popup;
+};
+
+}
+
+#endif // SearchPopupMenuEfl_h
diff --git a/Source/WebKit/efl/ewk/ewk_contextmenu.cpp b/Source/WebKit/efl/ewk/ewk_contextmenu.cpp
index 6dfe909d9..e792c6d03 100644
--- a/Source/WebKit/efl/ewk/ewk_contextmenu.cpp
+++ b/Source/WebKit/efl/ewk/ewk_contextmenu.cpp
@@ -24,7 +24,7 @@
#include "ContextMenu.h"
#include "ContextMenuController.h"
#include "ContextMenuItem.h"
-#include "ewk_private.h"
+#include "ewk_contextmenu_private.h"
#include <Eina.h>
#include <eina_safety_checks.h>
#include <wtf/text/CString.h>
@@ -84,6 +84,7 @@ Eina_Bool ewk_context_menu_destroy(Ewk_Context_Menu* menu)
EINA_SAFETY_ON_NULL_RETURN_VAL(menu, false);
EINA_SAFETY_ON_NULL_RETURN_VAL(menu->controller, false);
menu->controller->clearContextMenu();
+ ewk_context_menu_free(menu);
return true;
#else
return false;
@@ -217,7 +218,7 @@ Eina_Bool ewk_context_menu_item_enabled_set(Ewk_Context_Menu_Item* item, Eina_Bo
*
* @note emits a signal "contextmenu,new"
*/
-Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller)
+Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller, WebCore::ContextMenu* coreMenu)
{
Ewk_Context_Menu* menu;
EINA_SAFETY_ON_NULL_RETURN_VAL(view, 0);
@@ -231,6 +232,10 @@ Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuCo
menu->items = 0;
evas_object_smart_callback_call(menu->view, "contextmenu,new", menu);
+ const Vector<WebCore::ContextMenuItem>* itemsList = coreMenu->platformDescription();
+ for (Vector<WebCore::ContextMenuItem>::const_iterator iter = itemsList->begin(); iter != itemsList->end(); ++iter)
+ ewk_context_menu_item_append(menu, *iter);
+
return menu;
}
@@ -266,7 +271,7 @@ bool ewk_context_menu_free(Ewk_Context_Menu* menu)
*
* @see ewk_context_menu_item_new
*/
-void ewk_context_menu_item_append(Ewk_Context_Menu* menu, WebCore::ContextMenuItem& core)
+void ewk_context_menu_item_append(Ewk_Context_Menu* menu, const WebCore::ContextMenuItem& core)
{
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());
@@ -283,26 +288,6 @@ void ewk_context_menu_item_append(Ewk_Context_Menu* menu, WebCore::ContextMenuIt
/**
* @internal
*
- * Emits a signal with the items of the context menu.
- *
- * @param menu the context menu object
- * @return the same context menu object that was given through parameter
- *
- * @note emits a signal "contextmenu,customize"
- *
- * @see ewk_context_menu_item_list_get
- */
-Ewk_Context_Menu* ewk_context_menu_customize(Ewk_Context_Menu* menu)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(menu, 0);
-
- evas_object_smart_callback_call(menu->view, "contextmenu,customize", menu->items);
- return menu;
-}
-
-/**
- * @internal
- *
* Emits a signal "contextmenu,show"
*
* @param menu the context menu object
diff --git a/Source/WebKit/efl/ewk/ewk_contextmenu_private.h b/Source/WebKit/efl/ewk/ewk_contextmenu_private.h
index ce1f3a895..95dcdaa37 100644
--- a/Source/WebKit/efl/ewk/ewk_contextmenu_private.h
+++ b/Source/WebKit/efl/ewk/ewk_contextmenu_private.h
@@ -21,6 +21,8 @@
#ifndef ewk_contextmenu_private_h
#define ewk_contextmenu_private_h
+#include "ewk_contextmenu.h"
+
// forward declarations
namespace WebCore {
struct ContextMenu;
@@ -28,11 +30,10 @@ struct ContextMenuItem;
}
#if ENABLE(CONTEXT_MENUS)
-Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller);
+Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller, WebCore::ContextMenu* coreMenu);
bool ewk_context_menu_free(Ewk_Context_Menu* menu);
-void ewk_context_menu_item_append(Ewk_Context_Menu* menu, WebCore::ContextMenuItem& core);
-Ewk_Context_Menu* ewk_context_menu_customize(Ewk_Context_Menu* menu);
+void ewk_context_menu_item_append(Ewk_Context_Menu* menu, const WebCore::ContextMenuItem& core);
void ewk_context_menu_show(Ewk_Context_Menu* menu);
#endif
-#endif // ewk_context_manu_private_h
+#endif // ewk_context_menu_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_custom_handler.cpp b/Source/WebKit/efl/ewk/ewk_custom_handler.cpp
index 3574a1d8a..3c40716bb 100644
--- a/Source/WebKit/efl/ewk/ewk_custom_handler.cpp
+++ b/Source/WebKit/efl/ewk/ewk_custom_handler.cpp
@@ -20,7 +20,7 @@
#include "config.h"
#include "ewk_custom_handler_private.h"
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
/**
* @internal
* Register a scheme handler.
@@ -69,4 +69,4 @@ bool ewk_custom_handler_unregister_protocol_handler(Ewk_Custom_Handler_Data* dat
}
#endif // ENABLE(CUSTOM_SCHEME_HANDLER)
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/efl/ewk/ewk_custom_handler_private.h b/Source/WebKit/efl/ewk/ewk_custom_handler_private.h
index bc0e21d54..73f97e0f6 100644
--- a/Source/WebKit/efl/ewk/ewk_custom_handler_private.h
+++ b/Source/WebKit/efl/ewk/ewk_custom_handler_private.h
@@ -22,7 +22,7 @@
#include "ewk_view.h"
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
bool ewk_custom_handler_register_protocol_handler(Ewk_Custom_Handler_Data* data);
#if ENABLE(CUSTOM_SCHEME_HANDLER)
@@ -30,5 +30,5 @@ Ewk_Custom_Handlers_State ewk_custom_handler_is_protocol_handler_registered(Ewk_
bool ewk_custom_handler_unregister_protocol_handler(Ewk_Custom_Handler_Data* data);
#endif // ENABLE(CUSTOM_SCHEME_HANDLER)
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
#endif // ewk_custom_handler_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_frame.cpp b/Source/WebKit/efl/ewk/ewk_frame.cpp
index 7231b549d..45259b0a2 100644
--- a/Source/WebKit/efl/ewk/ewk_frame.cpp
+++ b/Source/WebKit/efl/ewk/ewk_frame.cpp
@@ -38,6 +38,7 @@
#include "HTMLNames.h"
#include "HTMLPlugInElement.h"
#include "HistoryItem.h"
+#include "HitTestRequest.h"
#include "HitTestResult.h"
#include "IntSize.h"
#include "KURL.h"
@@ -458,7 +459,7 @@ const char* ewk_frame_script_execute(Evas_Object* ewkFrame, const char* script)
JSC::ExecState* exec = smartData->frame->script()->globalObject(WebCore::mainThreadNormalWorld())->globalExec();
JSC::JSLockHolder lock(exec);
- resultString = WebCore::ustringToString(result.toString(exec)->value(exec));
+ resultString = result.toString(exec)->value(exec);
return eina_stringshare_add(resultString.utf8().data());
#else
notImplemented();
@@ -693,8 +694,8 @@ Ewk_Hit_Test* ewk_frame_hit_test_new(const Evas_Object* ewkFrame, int x, int y)
EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->contentRenderer(), 0);
WebCore::HitTestResult result = smartData->frame->eventHandler()->hitTestResultAtPoint
- (view->windowToContents(WebCore::IntPoint(x, y)),
- /*allowShadowContent*/ false, /*ignoreClipping*/ true);
+ (view->windowToContents(WebCore::IntPoint(x, y)),
+ WebCore::HitTestRequest::ReadOnly | WebCore::HitTestRequest::Active | WebCore::HitTestRequest::IgnoreClipping);
if (result.scrollbar())
return 0;
@@ -897,7 +898,7 @@ Eina_Bool ewk_frame_focused_element_geometry_get(const Evas_Object *ewkFrame, in
WebCore::Node* focusedNode = document->focusedNode();
if (!focusedNode)
return false;
- WebCore::IntRect nodeRect = focusedNode->getPixelSnappedRect();
+ WebCore::IntRect nodeRect = focusedNode->pixelSnappedBoundingBox();
if (x)
*x = nodeRect.x();
if (y)
@@ -1638,7 +1639,7 @@ ssize_t ewk_frame_source_get(const Evas_Object* ewkFrame, char** frameSource)
EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->document(), -1);
EINA_SAFETY_ON_NULL_RETURN_VAL(frameSource, -1);
- WTF::String source;
+ StringBuilder builder;
*frameSource = 0; // Saves 0 to pointer until it's not allocated.
if (!smartData->frame->document()->isHTMLDocument()) {
@@ -1654,28 +1655,20 @@ ssize_t ewk_frame_source_get(const Evas_Object* ewkFrame, char** frameSource)
if (node->hasTagName(WebCore::HTMLNames::htmlTag)) {
WebCore::HTMLElement* element = static_cast<WebCore::HTMLElement*>(node);
if (element)
- source = element->outerHTML();
+ builder.append(element->outerHTML());
break;
}
}
- // Try to get <head> and <body> tags if <html> tag was not found.
- if (source.isEmpty()) {
- if (smartData->frame->document()->head())
- source = smartData->frame->document()->head()->outerHTML();
-
- if (smartData->frame->document()->body())
- source += smartData->frame->document()->body()->outerHTML();
- }
-
- size_t sourceLength = strlen(source.utf8().data());
+ CString utf8String = builder.toString().utf8();
+ size_t sourceLength = utf8String.length();
*frameSource = static_cast<char*>(malloc(sourceLength + 1));
if (!*frameSource) {
CRITICAL("Could not allocate memory.");
return -1;
}
- strncpy(*frameSource, source.utf8().data(), sourceLength);
+ strncpy(*frameSource, utf8String.data(), sourceLength);
(*frameSource)[sourceLength] = '\0';
return sourceLength;
diff --git a/Source/WebKit/efl/ewk/ewk_network.cpp b/Source/WebKit/efl/ewk/ewk_network.cpp
index 781e945ab..6863aa7eb 100644
--- a/Source/WebKit/efl/ewk/ewk_network.cpp
+++ b/Source/WebKit/efl/ewk/ewk_network.cpp
@@ -62,11 +62,6 @@ const char* ewk_network_proxy_uri_get(void)
return eina_stringshare_add(proxy.utf8().data());
}
-void ewk_network_state_notifier_online_set(Eina_Bool online)
-{
- WebCore::networkStateNotifier().setOnLine(online);
-}
-
Eina_Bool ewk_network_tls_certificate_check_get()
{
bool checkCertificates = false;
diff --git a/Source/WebKit/efl/ewk/ewk_network.h b/Source/WebKit/efl/ewk/ewk_network.h
index d226f23fd..3f1ea39a8 100644
--- a/Source/WebKit/efl/ewk/ewk_network.h
+++ b/Source/WebKit/efl/ewk/ewk_network.h
@@ -59,13 +59,6 @@ EAPI void ewk_network_proxy_uri_set(const char *proxy);
EAPI const char *ewk_network_proxy_uri_get(void);
/**
- * Sets if network backend is online or not.
- *
- * @param online @c EINA_FALSE if network is disconnected
- */
-EAPI void ewk_network_state_notifier_online_set(Eina_Bool online);
-
-/**
* Returns whether HTTPS connections should check the received certificate and error out if it is invalid.
*
* By default, HTTPS connections are performed regardless of the validity of the certificate provided.
diff --git a/Source/WebKit/efl/ewk/ewk_settings.cpp b/Source/WebKit/efl/ewk/ewk_settings.cpp
index e0dcd11ab..f10523dc8 100644
--- a/Source/WebKit/efl/ewk/ewk_settings.cpp
+++ b/Source/WebKit/efl/ewk/ewk_settings.cpp
@@ -25,7 +25,6 @@
#include "ApplicationCacheStorage.h"
#include "CrossOriginPreflightResultCache.h"
#include "DatabaseTracker.h"
-#include "StorageTracker.h"
#include "FontCache.h"
#include "FrameView.h"
#include "IconDatabase.h"
@@ -36,6 +35,8 @@
#include "PageCache.h"
#include "RuntimeEnabledFeatures.h"
#include "Settings.h"
+#include "StorageTracker.h"
+#include "WebKitVersion.h"
#include "ewk_private.h"
#include "ewk_util_private.h"
#include <Eina.h>
@@ -316,8 +317,8 @@ void ewk_settings_repaint_throttling_set(double deferredRepaintDelay, double ini
*/
const char* ewk_settings_default_user_agent_get()
{
- WTF::String uaVersion = makeString(String::number(WEBKIT_USER_AGENT_MAJOR_VERSION), '.', String::number(WEBKIT_USER_AGENT_MINOR_VERSION), '+');
- WTF::String staticUa = makeString("Mozilla/5.0 (", _ewk_settings_webkit_platform_get(), "; ", _ewk_settings_webkit_os_version_get(), ") AppleWebKit/", uaVersion) + makeString(" (KHTML, like Gecko) Version/5.0 Safari/", uaVersion);
+ WTF::String uaVersion = String::number(WEBKIT_MAJOR_VERSION) + '.' + String::number(WEBKIT_MINOR_VERSION) + '+';
+ WTF::String staticUa = "Mozilla/5.0 (" + _ewk_settings_webkit_platform_get() + "; " + _ewk_settings_webkit_os_version_get() + ") AppleWebKit/" + uaVersion + " (KHTML, like Gecko) Version/5.0 Safari/" + uaVersion;
return eina_stringshare_add(staticUa.utf8().data());
}
diff --git a/Source/WebKit/efl/ewk/ewk_view.cpp b/Source/WebKit/efl/ewk/ewk_view.cpp
index 40fbfad6a..4949aac4e 100644
--- a/Source/WebKit/efl/ewk/ewk_view.cpp
+++ b/Source/WebKit/efl/ewk/ewk_view.cpp
@@ -27,6 +27,7 @@
#include "Bridge.h"
#include "Chrome.h"
#include "ChromeClientEfl.h"
+#include "ContextMenuClientEfl.h"
#include "ContextMenuController.h"
#include "DocumentLoader.h"
#include "DragClientEfl.h"
@@ -57,6 +58,7 @@
#include "ResourceHandle.h"
#include "Settings.h"
#include "c_instance.h"
+#include "ewk_contextmenu_private.h"
#include "ewk_frame.h"
#include "ewk_frame_private.h"
#include "ewk_history_private.h"
@@ -103,8 +105,8 @@
#include "ColorChooserClient.h"
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-#include "RegisterProtocolHandlerClientEfl.h"
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+#include "NavigatorContentUtilsClientEfl.h"
#endif
static const float zoomMinimum = 0.05;
@@ -254,8 +256,8 @@ struct _Ewk_View_Private_Data {
#if ENABLE(INPUT_TYPE_COLOR)
WebCore::ColorChooserClient* colorChooserClient;
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER) || ENABLE(CUSTOM_SCHEME_HANDLER)
- OwnPtr<WebCore::RegisterProtocolHandlerClientEfl> registerProtocolHandlerClient;
+#if ENABLE(NAVIGATOR_CONTENT_UTILS) || ENABLE(CUSTOM_SCHEME_HANDLER)
+ OwnPtr<WebCore::NavigatorContentUtilsClientEfl> navigatorContentUtilsClient;
#endif
struct {
Ewk_Menu menu;
@@ -332,6 +334,8 @@ struct _Ewk_View_Private_Data {
} zoomRange;
float devicePixelRatio;
double domTimerInterval;
+ bool allowUniversalAccessFromFileURLs : 1;
+ bool allowFileAccessFromFileURLs : 1;
} settings;
struct {
struct {
@@ -358,6 +362,7 @@ struct _Ewk_View_Private_Data {
#ifdef HAVE_ECORE_X
bool isUsingEcoreX;
#endif
+ Ewk_Context_Menu* contextMenu;
};
#ifndef EWK_TYPE_CHECK
@@ -739,6 +744,7 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData)
WebCore::Page::PageClients pageClients;
pageClients.chromeClient = new WebCore::ChromeClientEfl(smartData->self);
+ pageClients.contextMenuClient = new WebCore::ContextMenuClientEfl;
pageClients.editorClient = new WebCore::EditorClientEfl(smartData->self);
pageClients.dragClient = new WebCore::DragClientEfl;
#if ENABLE(INSPECTOR)
@@ -764,9 +770,9 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData)
WebCore::provideBatteryTo(priv->page.get(), new BatteryClientEfl(smartData->self));
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- priv->registerProtocolHandlerClient = WebCore::RegisterProtocolHandlerClientEfl::create(smartData->self);
- WebCore::provideRegisterProtocolHandlerTo(priv->page.get(), priv->registerProtocolHandlerClient.get());
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ priv->navigatorContentUtilsClient = WebCore::NavigatorContentUtilsClientEfl::create(smartData->self);
+ WebCore::provideNavigatorContentUtilsTo(priv->page.get(), priv->navigatorContentUtilsClient.get());
#endif
priv->pageSettings = priv->page->settings();
@@ -874,6 +880,9 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData)
priv->settings.domTimerInterval = priv->pageSettings->defaultMinDOMTimerInterval();
+ priv->settings.allowUniversalAccessFromFileURLs = priv->pageSettings->allowUniversalAccessFromFileURLs();
+ priv->settings.allowFileAccessFromFileURLs = priv->pageSettings->allowFileAccessFromFileURLs();
+
priv->mainFrame = _ewk_view_core_frame_new(smartData, priv, 0).get();
priv->history = ewk_history_new(static_cast<WebCore::BackForwardListImpl*>(priv->page->backForwardList()));
@@ -886,6 +895,8 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData)
priv->isUsingEcoreX = WebCore::isUsingEcoreX(smartData->base.evas);
#endif
+ priv->contextMenu = 0;
+
return priv;
}
@@ -919,6 +930,9 @@ static void _ewk_view_priv_del(Ewk_View_Private_Data* priv)
if (priv->cursorObject)
evas_object_del(priv->cursorObject);
+ if (priv->contextMenu)
+ ewk_context_menu_free(priv->contextMenu);
+
delete priv;
}
@@ -1619,6 +1633,9 @@ Eina_Bool ewk_view_context_menu_forward_event(Evas_Object* ewkView, const Evas_E
Eina_Bool mouse_press_handled = false;
priv->page->contextMenuController()->clearContextMenu();
+ if (priv->contextMenu)
+ ewk_context_menu_free(priv->contextMenu);
+
WebCore::Frame* mainFrame = priv->page->mainFrame();
Evas_Coord x, y;
evas_object_geometry_get(smartData->self, &x, &y, 0, 0);
@@ -1630,7 +1647,7 @@ Eina_Bool ewk_view_context_menu_forward_event(Evas_Object* ewkView, const Evas_E
mainFrame->eventHandler()->handleMousePressEvent(event);
}
- if (mainFrame->eventHandler()->sendContextMenuEvent(event))
+ if (!mainFrame->eventHandler()->sendContextMenuEvent(event))
return false;
WebCore::ContextMenu* coreMenu =
@@ -1641,6 +1658,12 @@ Eina_Bool ewk_view_context_menu_forward_event(Evas_Object* ewkView, const Evas_E
return mouse_press_handled;
}
+ priv->contextMenu = ewk_context_menu_new(ewkView, priv->page->contextMenuController(), coreMenu);
+ if (!priv->contextMenu)
+ return false;
+
+ ewk_context_menu_show(priv->contextMenu);
+
return true;
#else
return false;
@@ -2677,6 +2700,44 @@ Eina_Bool ewk_view_setting_enable_hyperlink_auditing_set(Evas_Object* ewkView, E
return true;
}
+Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_set(Evas_Object* ewkView, Eina_Bool enable)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ enable = !!enable;
+ if (priv->settings.allowUniversalAccessFromFileURLs != enable) {
+ priv->pageSettings->setAllowUniversalAccessFromFileURLs(enable);
+ priv->settings.allowUniversalAccessFromFileURLs = enable;
+ }
+ return true;
+}
+
+Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_get(const Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ return priv->settings.allowUniversalAccessFromFileURLs;
+}
+
+Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_set(Evas_Object* ewkView, Eina_Bool enable)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ enable = !!enable;
+ if (priv->settings.allowFileAccessFromFileURLs != enable) {
+ priv->pageSettings->setAllowFileAccessFromFileURLs(enable);
+ priv->settings.allowFileAccessFromFileURLs = enable;
+ }
+ return true;
+}
+
+Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_get(const Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ return priv->settings.allowFileAccessFromFileURLs;
+}
+
Ewk_View_Smart_Data* ewk_view_smart_data_get(const Evas_Object* ewkView)
{
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
diff --git a/Source/WebKit/efl/ewk/ewk_view.h b/Source/WebKit/efl/ewk/ewk_view.h
index a570d655e..2a260f1de 100644
--- a/Source/WebKit/efl/ewk/ewk_view.h
+++ b/Source/WebKit/efl/ewk/ewk_view.h
@@ -735,7 +735,7 @@ EAPI void ewk_view_fixed_layout_size_get(const Evas_Object *o, Evas_Coor
* use this one.
*
* @param o view object to change theme
- * @param path theme path, may be @c NULL to reset to the default theme
+ * @param path theme path
*/
EAPI void ewk_view_theme_set(Evas_Object *o, const char *path);
@@ -2227,6 +2227,58 @@ EAPI Eina_Bool ewk_view_setting_enable_hyperlink_auditing_get(const Evas_Object
EAPI Eina_Bool ewk_view_setting_enable_hyperlink_auditing_set(Evas_Object *o, Eina_Bool enable);
/**
+ * Enables/disables allowing universal access from file URLs.
+ *
+ * This setting specifies whether locally loaded documents are allowed to access remote urls.
+ * By default this setting is enabled.
+ *
+ * @param o view object to set allowing universal access from file URLs
+ * @param enable @c EINA_TRUE to enable universal access from file URLs,
+ * @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EAPI Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_set(Evas_Object *o, Eina_Bool flag);
+
+/**
+ * Gets if allowing universal access from file URLs is enabled.
+ *
+ * @param o view object to query if allowing universal access from file URLs is enabled.
+ *
+ * @return @c EINA_TRUE if allowing universal access from file URLs is enabled, @c EINA_FALSE
+ * otherwise
+ *
+ * @see ewk_view_setting_allow_universal_access_from_file_urls_set()
+ */
+EAPI Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_get(const Evas_Object *o);
+
+/**
+ * Enables/disables allowing file access from file URLs.
+ *
+ * This setting specifies whether locally loaded documents are allowed to access other local urls.
+ * By default this setting is enabled.
+ *
+ * @param o view object to set allowing file access from file URLs
+ * @param enable @c EINA_TRUE to enable file access from file URLs,
+ * @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EAPI Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_set(Evas_Object *o, Eina_Bool flag);
+
+/**
+ * Gets if allowing file access from file URLs is enabled.
+ *
+ * @param o view object to query if allowing file access from file URLs is enabled.
+ *
+ * @return @c EINA_TRUE if allowing file access from file URLs is enabled, @c EINA_FALSE
+ * otherwise
+ *
+ * @see ewk_view_setting_allow_file_access_from_file_urls_set()
+ */
+EAPI Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_get(const Evas_Object *o);
+
+/**
* Gets the internal data of @a o.
*
* This is similar to evas_object_smart_data_get(), but additionally does type checking.
diff --git a/Source/WebKit/gtk/ChangeLog b/Source/WebKit/gtk/ChangeLog
index 40d71220a..778dabcf3 100644
--- a/Source/WebKit/gtk/ChangeLog
+++ b/Source/WebKit/gtk/ChangeLog
@@ -1,3 +1,281 @@
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Update ChromeClientGtk and webkitwebview to call pixelSnappedBoundingBox.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::mouseDidMoveOverElement):
+ * webkit/webkitwebview.cpp:
+ (getLocationForKeyboardGeneratedContextMenu):
+ (webkit_web_view_query_tooltip):
+
+2012-09-07 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Move user agent helpers to WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=95745
+
+ Reviewed by Carlos Garcia Campos.
+
+ Move the code for determining the user agent to WebCore and have WebKit1
+ use the new shared code.
+
+ * webkit/webkitwebsettings.cpp: Use the WebCore code to determine the user
+ agent in WebKit1.
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ * WebCoreSupport/InspectorClientGtk.cpp:
+ * gdom/ConvertToGCharPrivate.h:
+ * webkit/webkitsecurityorigin.cpp:
+ * webkit/webkitwebdatasource.cpp:
+ * webkit/webkitwebhistoryitem.cpp:
+ * webkit/webkitwebresource.cpp:
+
+2012-09-06 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [GTK] Add API to get/set the security policy of a given URI scheme
+ https://bugs.webkit.org/show_bug.cgi?id=95549
+
+ Reviewed by Martin Robinson.
+
+ Add WebKitSecurityPolicy enum with flags that represent the
+ security policy of a URI scheme. Add methods to get and set the
+ security policy flags for a given URI scheme.
+
+ * docs/webkitgtk-sections.txt: Add new symbols.
+ * tests/testglobals.c:
+ (test_globals_security_policy):
+ (main):
+ * webkit/webkitglobals.cpp:
+ (webkit_set_security_policy_for_uri_scheme):
+ (webkit_get_security_policy_for_uri_scheme):
+ * webkit/webkitglobals.h:
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ (DumpRenderTreeSupportGtk):
+
+2012-09-04 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [GTK] Crash in AccessibilityObject::accessibilityPlatformIncludesObject()
+ https://bugs.webkit.org/show_bug.cgi?id=95740
+
+ Reviewed by Martin Robinson.
+
+ Updated unit test.
+
+ * tests/testatk.c:
+ (testWebkitAtkComboBox): Added checks that the menu popup in a combo box
+ has 0 links and, more importantly, that checking doesn't result in a crash.
+
+2012-09-01 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [Gtk] Incorrect/unexpected characters in the text of certain accessibles
+ https://bugs.webkit.org/show_bug.cgi?id=95180
+
+ Reviewed by Chris Fleizach.
+
+ Corrected a unit test in which the expected accessible text was wrong as
+ a result of this bug. In particular, the AtkText inserted into an empty
+ text field is expected to be the same text atk_text_get_text() returns.
+ That was not happening -- and presumably not noticed as a result of the
+ hard to read textual representation of the multibyte password field
+ bullets.
+
+ * tests/testatk.c:
+ (testWebkitAtkTextChangedNotifications): Corrected the test and added a
+ comment so that one knows what the multibyte character is.
+
+2012-08-31 José Dapena Paz <jdapena@igalia.com>
+
+ [GTK] Assert on ChromeClientGtk::scroll with delta (0, -1).
+ https://bugs.webkit.org/show_bug.cgi?id=95590
+
+ Change the assert to avoid hitting when the delta does not have any
+ value > 0.
+
+ Reviewed by Martin Robinson.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::scroll):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * gdom/ConvertToGCharPrivate.h:
+ (copyAsGchar):
+
+2012-08-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Use ASCIILiteral for DEFINE_STATIC_LOCAL string
+ https://bugs.webkit.org/show_bug.cgi?id=95420
+
+ Reviewed by Benjamin Poulain.
+
+ As recommended by http://trac.webkit.org/wiki/EfficientStrings,
+ WebKit needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
+
+ * webkit/webkitwebsettings.cpp:
+ (webkitPlatform):
+ (webkitOSVersion):
+
+2012-08-29 José Dapena Paz <jdapena@igalia.com>
+
+ [Gtk] Process Gtk 3.4 smooth scroll events properly.
+ https://bugs.webkit.org/show_bug.cgi?id=88070
+
+ Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
+ provides detailed delta information.
+
+ Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
+ code to process properly the new direction GDK_SCROLL_SMOOTH and
+ its deltas.
+
+ Reviewed by Martin Robinson.
+
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_realize):
+
+2012-08-28 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Enable the edge distance anti-aliasing for accelerated compositing layers
+ https://bugs.webkit.org/show_bug.cgi?id=95272
+
+ Reviewed by No'am Rosenthal.
+
+ Turn on edge-distance anti-aliasing for GTK+ WebKit1. This
+ improves the quality of layer rendering.
+
+ * WebCoreSupport/AcceleratedCompositingContextGL.cpp:
+ (WebKit::AcceleratedCompositingContext::initialize):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * WebCoreSupport/PlatformStrategiesGtk.cpp:
+ (PlatformStrategiesGtk::getPluginInfo):
+ * webkit/webkitfavicondatabase.cpp:
+ (webkitFaviconDatabaseImportFinished):
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_get_mimetypes):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/PlatformStrategiesGtk.cpp:
+ (PlatformStrategiesGtk::getPluginInfo):
+ * webkit/webkitfavicondatabase.cpp:
+ (webkitFaviconDatabaseImportFinished):
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_get_mimetypes):
+
+2012-08-27 Zan Dobersek <zandobersek@gmail.com>
+
+ [GTK] Memory cache should be cleared in between test runs
+ https://bugs.webkit.org/show_bug.cgi?id=95105
+
+ Reviewed by Martin Robinson.
+
+ Add a DumpRenderTreeSupportGtk helper method that clears the
+ memory cache when called.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::clearMemoryCache):
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ (DumpRenderTreeSupportGtk):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * WebCoreSupport/PlatformStrategiesGtk.cpp:
+ (PlatformStrategiesGtk::getPluginInfo):
+ * webkit/webkitfavicondatabase.cpp:
+ (webkitFaviconDatabaseImportFinished):
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_get_mimetypes):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/PlatformStrategiesGtk.cpp:
+ (PlatformStrategiesGtk::getPluginInfo):
+ * webkit/webkitfavicondatabase.cpp:
+ (webkitFaviconDatabaseImportFinished):
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_get_mimetypes):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+ RegisterProtocolHandlerClientGtk is renamed to NavigatorContentUtilsClientGtk.
+
+ * GNUmakefile.am:
+ * WebCoreSupport/NavigatorContentUtilsClientGtk.cpp: Renamed from Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp.
+ (WebKit):
+ (WebKit::NavigatorContentUtilsClient::create):
+ (WebKit::NavigatorContentUtilsClient::NavigatorContentUtilsClient):
+ (WebKit::NavigatorContentUtilsClient::registerProtocolHandler):
+ * WebCoreSupport/NavigatorContentUtilsClientGtk.h: Renamed from Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h.
+ (WebKit):
+ (NavigatorContentUtilsClient):
+ (WebKit::NavigatorContentUtilsClient::~NavigatorContentUtilsClient):
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_init):
+ * webkit/webkitwebviewprivate.h:
+
2012-08-23 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r126306): it broke the plugin process
diff --git a/Source/WebKit/gtk/GNUmakefile.am b/Source/WebKit/gtk/GNUmakefile.am
index 00473f9d5..db6c9b0bc 100644
--- a/Source/WebKit/gtk/GNUmakefile.am
+++ b/Source/WebKit/gtk/GNUmakefile.am
@@ -211,11 +211,11 @@ webkitgtk_sources += \
Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.h \
Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp \
Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h \
+ Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h \
+ Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp \
Source/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h \
Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.h \
Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp \
Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.cpp \
Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.h \
Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.cpp \
diff --git a/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp b/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp
index 9a2cae0ad..95da644e3 100644
--- a/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp
@@ -97,8 +97,9 @@ void AcceleratedCompositingContext::initialize()
// The creation of the TextureMapper needs an active OpenGL context.
GLContext* context = m_redirectedWindow->context();
context->makeContextCurrent();
- m_textureMapper = TextureMapperGL::create();
+ m_textureMapper = TextureMapperGL::create();
+ static_cast<TextureMapperGL*>(m_textureMapper.get())->setEnableEdgeDistanceAntialiasing(true);
toTextureMapperLayer(m_rootLayer.get())->setTextureMapper(m_textureMapper.get());
scheduleLayerFlush();
diff --git a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
index 740e3bbca..3523fa78d 100644
--- a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
@@ -46,7 +46,6 @@
#include "KURL.h"
#include "NavigationAction.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "PopupMenuClient.h"
#include "PopupMenuGtk.h"
#include "RefPtrCairo.h"
@@ -72,6 +71,7 @@
#include <gtk/gtk.h>
#include <wtf/MathExtras.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(SQL_DATABASE)
#include "DatabaseTracker.h"
@@ -651,7 +651,7 @@ void ChromeClient::scroll(const IntSize& delta, const IntRect& rectToScroll, con
AcceleratedCompositingContext* compositingContext = m_webView->priv->acceleratedCompositingContext.get();
if (compositingContext->enabled()) {
ASSERT(!rectToScroll.isEmpty());
- ASSERT(!delta.isEmpty());
+ ASSERT(delta.width() || delta.height());
compositingContext->scrollNonCompositedContents(rectToScroll, delta);
return;
@@ -786,7 +786,7 @@ void ChromeClient::mouseDidMoveOverElement(const HitTestResult& hit, unsigned mo
if (Node* node = hit.innerNonSharedNode()) {
Frame* frame = node->document()->frame();
FrameView* view = frame ? frame->view() : 0;
- m_webView->priv->tooltipArea = view ? view->contentsToWindow(node->getPixelSnappedRect()) : IntRect();
+ m_webView->priv->tooltipArea = view ? view->contentsToWindow(node->pixelSnappedBoundingBox()) : IntRect();
} else
m_webView->priv->tooltipArea = IntRect();
}
diff --git a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
index c76dce9f6..39b9ddc30 100644
--- a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
@@ -50,10 +50,10 @@
#include "JSLock.h"
#include "JSNodeList.h"
#include "JSValue.h"
+#include "MemoryCache.h"
#include "MutationObserver.h"
#include "NodeList.h"
#include "PageGroup.h"
-#include "PlatformString.h"
#include "PrintContext.h"
#include "RenderListItem.h"
#include "RenderTreeAsText.h"
@@ -72,6 +72,7 @@
#include "webkitwebview.h"
#include "webkitwebviewprivate.h"
#include <JavaScriptCore/APICast.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
using namespace WebCore;
@@ -189,68 +190,6 @@ CString DumpRenderTreeSupportGtk::dumpRenderTree(WebKitWebFrame* frame)
}
/**
- * 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();
-}
-
-/**
- * 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
@@ -867,3 +806,8 @@ void DumpRenderTreeSupportGtk::resetTrackedRepaints(WebKitWebFrame* frame)
if (coreFrame && coreFrame->view())
coreFrame->view()->resetTrackedRepaints();
}
+
+void DumpRenderTreeSupportGtk::clearMemoryCache()
+{
+ memoryCache()->evictResources();
+}
diff --git a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
index ea608d2f5..7e6e1fa9b 100644
--- a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
+++ b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
@@ -59,9 +59,6 @@ public:
static GSList* getFrameChildren(WebKitWebFrame*);
static WTF::CString getInnerText(WebKitWebFrame*);
static WTF::CString dumpRenderTree(WebKitWebFrame*);
- static int numberOfPagesForFrame(WebKitWebFrame*, float pageWidth, float pageHeight);
- static WTF::CString pageProperty(WebKitWebFrame*, const char* propertyName, 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);
@@ -130,6 +127,8 @@ public:
static GSList* trackedRepaintRects(WebKitWebFrame*);
static void resetTrackedRepaints(WebKitWebFrame*);
+ static void clearMemoryCache();
+
private:
static bool s_drtRun;
static bool s_linksIncludedInTabChain;
diff --git a/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
index ed776b026..b129c6fb4 100644
--- a/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
@@ -25,13 +25,13 @@
#include "InspectorController.h"
#include "NotImplemented.h"
#include "Page.h"
-#include "PlatformString.h"
#include "webkitversion.h"
#include "webkitwebinspector.h"
#include "webkitwebinspectorprivate.h"
#include "webkitwebview.h"
#include "webkitwebviewprivate.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp
index 9e38851e5..905769c35 100644
--- a/Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp
@@ -17,28 +17,28 @@
*/
#include "config.h"
-#include "RegisterProtocolHandlerClientGtk.h"
+#include "NavigatorContentUtilsClientGtk.h"
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
#include "NotImplemented.h"
#include <wtf/text/CString.h>
namespace WebKit {
-PassOwnPtr<RegisterProtocolHandlerClient> RegisterProtocolHandlerClient::create()
+PassOwnPtr<NavigatorContentUtilsClient> NavigatorContentUtilsClient::create()
{
- return adoptPtr(new RegisterProtocolHandlerClient);
+ return adoptPtr(new NavigatorContentUtilsClient);
}
-RegisterProtocolHandlerClient::RegisterProtocolHandlerClient()
+NavigatorContentUtilsClient::NavigatorContentUtilsClient()
{
}
-void RegisterProtocolHandlerClient::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
+void NavigatorContentUtilsClient::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
{
notImplemented();
}
}
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h
index f4889f38f..a6f3e2361 100644
--- a/Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h
+++ b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h
@@ -16,29 +16,29 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef RegisterProtocolHandlerClientGtk_h
-#define RegisterProtocolHandlerClientGtk_h
+#ifndef NavigatorContentUtilsClientGtk_h
+#define NavigatorContentUtilsClientGtk_h
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-#include "RegisterProtocolHandlerClient.h"
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+#include "NavigatorContentUtilsClient.h"
#include <wtf/PassOwnPtr.h>
namespace WebKit {
-class RegisterProtocolHandlerClient : public WebCore::RegisterProtocolHandlerClient {
+class NavigatorContentUtilsClient : public WebCore::NavigatorContentUtilsClient {
public:
- static PassOwnPtr<RegisterProtocolHandlerClient> create();
+ static PassOwnPtr<NavigatorContentUtilsClient> create();
- ~RegisterProtocolHandlerClient() { }
+ ~NavigatorContentUtilsClient() { }
virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
private:
- RegisterProtocolHandlerClient();
+ NavigatorContentUtilsClient();
};
}
#endif
-#endif // RegisterProtocolHandlerClientGtk_h
+#endif // NavigatorContentUtilsClientGtk_h
diff --git a/Source/WebKit/gtk/docs/webkitgtk-sections.txt b/Source/WebKit/gtk/docs/webkitgtk-sections.txt
index 59970b59c..b707bf83d 100644
--- a/Source/WebKit/gtk/docs/webkitgtk-sections.txt
+++ b/Source/WebKit/gtk/docs/webkitgtk-sections.txt
@@ -536,6 +536,10 @@ webkit_set_cache_model
<SUBSECTION ContextMenuItem>
WebKitContextMenuAction
webkit_context_menu_item_get_action
+<SUBSECTION SecurityPolicy>
+WebKitSecurityPolicy
+webkit_set_security_policy_for_uri_scheme
+webkit_get_security_policy_for_uri_scheme
<SUBSECTION Private>
WEBKITGTK_API_VERSION
</SECTION>
diff --git a/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h b/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h
index afbed4961..2c32f2c9a 100644
--- a/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h
+++ b/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h
@@ -21,9 +21,9 @@
#define ConvertToGCharPrivate_h
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/text/CString.h>
#include <wtf/text/AtomicString.h>
+#include <wtf/text/WTFString.h>
inline gchar* copyAsGchar(WTF::String const& s)
{
@@ -35,7 +35,7 @@ inline gchar* copyAsGchar(WebCore::KURL const& s)
return copyAsGchar(s.string());
}
-inline gchar* copyAsGchar(const JSC::UString& s)
+inline gchar* copyAsGchar(const String& s)
{
return g_strdup(s.UTF8String().c_str());
}
diff --git a/Source/WebKit/gtk/tests/testatk.c b/Source/WebKit/gtk/tests/testatk.c
index 759da1771..cc90d9472 100644
--- a/Source/WebKit/gtk/tests/testatk.c
+++ b/Source/WebKit/gtk/tests/testatk.c
@@ -562,6 +562,10 @@ static void testWebkitAtkComboBox()
g_assert(selectedItem == item1);
g_object_unref(selectedItem);
+ /* Check that the menu popup has 0 links and doesn't crash from checking. */
+ gint nLinks = atk_hypertext_get_n_links(ATK_HYPERTEXT(menuPopup));
+ g_assert_cmpint(nLinks, ==, 0);
+
/* Check the implementations of the AtkAction interface. */
g_assert(ATK_IS_ACTION(comboBox));
AtkAction* atkAction = ATK_ACTION(comboBox);
@@ -1867,17 +1871,18 @@ static void testWebkitAtkTextChangedNotifications()
GINT_TO_POINTER(TEXT_CHANGE_REMOVE));
pos = 0;
+ /* A single bullet character is '\342\200\242' */
atk_editable_text_insert_text(ATK_EDITABLE_TEXT(passwordEntry), "foobar", 6, &pos);
g_assert_cmpstr(textChangedResult, ==, "|1|0|6|'\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242'|");
text = atk_text_get_text(ATK_TEXT(passwordEntry), 0, -1);
- g_assert_cmpstr(text, ==, "\303\242\302\200\302\242\303\242\302\200\302\242");
+ g_assert_cmpstr(text, ==, "\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242");
g_free(text);
atk_editable_text_delete_text(ATK_EDITABLE_TEXT(passwordEntry), 2, 4);
g_assert_cmpstr(textChangedResult, ==, "|2|2|2|'\342\200\242\342\200\242'|");
text = atk_text_get_text(ATK_TEXT(passwordEntry), 0, -1);
- g_assert_cmpstr(text, ==, "\303\242\302\200\302\242\303\242");
+ g_assert_cmpstr(text, ==, "\342\200\242\342\200\242\342\200\242\342\200\242");
g_free(text);
pos = 3;
@@ -1885,7 +1890,7 @@ static void testWebkitAtkTextChangedNotifications()
g_assert_cmpstr(textChangedResult, ==, "|1|3|3|'\342\200\242\342\200\242\342\200\242'|");
text = atk_text_get_text(ATK_TEXT(passwordEntry), 0, -1);
- g_assert_cmpstr(text, ==, "\303\242\302\200\302\242\303\242\302\200\302\242\303\242");
+ g_assert_cmpstr(text, ==, "\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242");
g_free(text);
g_free(textChangedResult);
diff --git a/Source/WebKit/gtk/tests/testglobals.c b/Source/WebKit/gtk/tests/testglobals.c
index 509c3bf76..f32605025 100644
--- a/Source/WebKit/gtk/tests/testglobals.c
+++ b/Source/WebKit/gtk/tests/testglobals.c
@@ -45,6 +45,58 @@ static void test_globals_default_session()
g_assert(soup_session_get_feature(session, WEBKIT_TYPE_SOUP_AUTH_DIALOG) == NULL);
}
+static void test_globals_security_policy()
+{
+ // Check default policy for well known schemes.
+ WebKitSecurityPolicy policy = webkit_get_security_policy_for_uri_scheme("http");
+ guint mask = WEBKIT_SECURITY_POLICY_CORS_ENABLED;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ policy = webkit_get_security_policy_for_uri_scheme("https");
+ mask = WEBKIT_SECURITY_POLICY_SECURE | WEBKIT_SECURITY_POLICY_CORS_ENABLED;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ policy = webkit_get_security_policy_for_uri_scheme("file");
+ mask = WEBKIT_SECURITY_POLICY_LOCAL;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ policy = webkit_get_security_policy_for_uri_scheme("data");
+ mask = WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME | WEBKIT_SECURITY_POLICY_SECURE;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ policy = webkit_get_security_policy_for_uri_scheme("about");
+ mask = WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME | WEBKIT_SECURITY_POLICY_SECURE | WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ // Custom scheme.
+ policy = webkit_get_security_policy_for_uri_scheme("foo");
+ g_assert(!policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_LOCAL;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_SECURE;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_CORS_ENABLED;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+}
+
int main(int argc, char** argv)
{
gtk_test_init(&argc, &argv, NULL);
@@ -52,6 +104,8 @@ int main(int argc, char** argv)
g_test_bug_base("https://bugs.webkit.org/");
g_test_add_func("/webkit/globals/default_session",
test_globals_default_session);
+ g_test_add_func("/webkit/globals/security-policy",
+ test_globals_security_policy);
return g_test_run();
}
diff --git a/Source/WebKit/gtk/webkit/webkitglobals.cpp b/Source/WebKit/gtk/webkit/webkitglobals.cpp
index 40356b86b..d2715a6a1 100644
--- a/Source/WebKit/gtk/webkit/webkitglobals.cpp
+++ b/Source/WebKit/gtk/webkit/webkitglobals.cpp
@@ -40,6 +40,7 @@
#include "ResourceHandleClient.h"
#include "ResourceHandleInternal.h"
#include "ResourceResponse.h"
+#include "SchemeRegistry.h"
#include "webkitapplicationcache.h"
#include "webkitfavicondatabase.h"
#include "webkitglobalsprivate.h"
@@ -491,6 +492,71 @@ WebKitContextMenuAction webkit_context_menu_item_get_action(GtkMenuItem* item)
#endif
}
+/**
+ * webkit_set_security_policy_for_uri_scheme:
+ * @scheme: a URI scheme
+ * @policy: a #WebKitSecurityPolicy
+ *
+ * Set the security policy for the given URI scheme.
+ *
+ * Since: 2.0
+ */
+void webkit_set_security_policy_for_uri_scheme(const char *scheme, WebKitSecurityPolicy policy)
+{
+ g_return_if_fail(scheme);
+
+ if (!policy)
+ return;
+
+ String urlScheme = String::fromUTF8(scheme);
+
+ if (policy & WEBKIT_SECURITY_POLICY_LOCAL)
+ SchemeRegistry::registerURLSchemeAsLocal(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME)
+ SchemeRegistry::registerURLSchemeAsNoAccess(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED)
+ SchemeRegistry::registerURLSchemeAsDisplayIsolated(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_SECURE)
+ SchemeRegistry::registerURLSchemeAsSecure(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_CORS_ENABLED)
+ SchemeRegistry::registerURLSchemeAsCORSEnabled(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT)
+ SchemeRegistry::registerURLSchemeAsEmptyDocument(urlScheme);
+}
+
+/**
+ * webkit_get_security_policy_for_uri_scheme:
+ * @scheme: a URI scheme
+ *
+ * Get the security policy for the given URI scheme.
+ *
+ * Returns: a #WebKitSecurityPolicy
+ *
+ * Since: 2.0
+ */
+WebKitSecurityPolicy webkit_get_security_policy_for_uri_scheme(const char *scheme)
+{
+ g_return_val_if_fail(scheme, static_cast<WebKitSecurityPolicy>(0));
+
+ guint policy = 0;
+ String urlScheme = String::fromUTF8(scheme);
+
+ if (SchemeRegistry::shouldTreatURLSchemeAsLocal(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_LOCAL;
+ if (SchemeRegistry::shouldTreatURLSchemeAsNoAccess(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME;
+ if (SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED;
+ if (SchemeRegistry::shouldTreatURLSchemeAsSecure(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_SECURE;
+ if (SchemeRegistry::shouldTreatURLSchemeAsCORSEnabled(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_CORS_ENABLED;
+ if (SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT;
+
+ return static_cast<WebKitSecurityPolicy>(policy);
+}
+
void webkitInit()
{
static bool isInitialized = false;
diff --git a/Source/WebKit/gtk/webkit/webkitglobals.h b/Source/WebKit/gtk/webkit/webkitglobals.h
index 0bfc083c5..f002d6db8 100644
--- a/Source/WebKit/gtk/webkit/webkitglobals.h
+++ b/Source/WebKit/gtk/webkit/webkitglobals.h
@@ -142,6 +142,35 @@ typedef enum {
WEBKIT_CONTEXT_MENU_ACTION_MEDIA_MUTE
} WebKitContextMenuAction;
+/**
+ * WebKitSecurityPolicy:
+ * @WEBKIT_SECURITY_POLICY_LOCAL: Local URI scheme, other non-local pages
+ * cannot link to or access URIs of this scheme.
+ * @WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME: Pages loaded with this URI scheme
+ * cannot access pages loaded with any other URI scheme.
+ * @WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED: Pages cannot display these URIs
+ * unless they are from the same scheme.
+ * @WEBKIT_SECURITY_POLICY_SECURE: Secure URI scheme, doesn't generate mixed
+ * content warnings when included by an HTTPS page.
+ * @WEBKIT_SECURITY_POLICY_CORS_ENABLED: URI scheme that can be sent
+ * CORS (Cross-origin resource sharing) requests. See W3C CORS specification
+ * http://www.w3.org/TR/cors/.
+ * @WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT: Strictly empty documents allowed
+ * to commit synchronously.
+ *
+ * Flags used to represent the security policy of a URI scheme.
+ *
+ * Since: 2.0
+ */
+typedef enum {
+ WEBKIT_SECURITY_POLICY_LOCAL = 1 << 1,
+ WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME = 1 << 2,
+ WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED = 1 << 3,
+ WEBKIT_SECURITY_POLICY_SECURE = 1 << 4,
+ WEBKIT_SECURITY_POLICY_CORS_ENABLED = 1 << 5,
+ WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT = 1 << 6
+} WebKitSecurityPolicy;
+
WEBKIT_API SoupSession*
webkit_get_default_session (void);
@@ -171,6 +200,13 @@ webkit_set_text_checker (GObject* checker);
WEBKIT_API WebKitContextMenuAction
webkit_context_menu_item_get_action (GtkMenuItem* item);
+WEBKIT_API void
+webkit_set_security_policy_for_uri_scheme (const gchar *scheme,
+ WebKitSecurityPolicy policy);
+
+WEBKIT_API WebKitSecurityPolicy
+webkit_get_security_policy_for_uri_scheme (const gchar *scheme);
+
G_END_DECLS
#endif
diff --git a/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp b/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp
index e4a4f64e8..d6782f0f5 100644
--- a/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp
+++ b/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp
@@ -21,11 +21,11 @@
#include "webkitsecurityorigin.h"
#include "DatabaseTracker.h"
-#include "PlatformString.h"
#include "webkitglobalsprivate.h"
#include "webkitsecurityoriginprivate.h"
#include <glib/gi18n-lib.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
/**
* SECTION:webkitsecurityorigin
diff --git a/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp b/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp
index 22c35ca0b..f973752ac 100644
--- a/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp
@@ -25,7 +25,6 @@
#include "FrameLoader.h"
#include "FrameLoaderClientGtk.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "ResourceRequest.h"
#include "SharedBuffer.h"
#include "SubstituteData.h"
@@ -36,8 +35,9 @@
#include "webkitwebframeprivate.h"
#include "webkitwebresource.h"
#include "webkitwebviewprivate.h"
-#include "wtf/Assertions.h"
#include <glib.h>
+#include <wtf/Assertions.h>
+#include <wtf/text/WTFString.h>
/**
* SECTION:webkitwebdatasource
diff --git a/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp b/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
index 62d30dc9b..5b7db2223 100644
--- a/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
@@ -23,12 +23,12 @@
#include "HistoryItem.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "webkitglobalsprivate.h"
#include "webkitwebhistoryitemprivate.h"
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
/**
* SECTION:webkitwebhistoryitem
diff --git a/Source/WebKit/gtk/webkit/webkitwebresource.cpp b/Source/WebKit/gtk/webkit/webkitwebresource.cpp
index 68d0ffb6e..7c32358f7 100644
--- a/Source/WebKit/gtk/webkit/webkitwebresource.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebresource.cpp
@@ -22,7 +22,6 @@
#include "ArchiveResource.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "SharedBuffer.h"
#include "webkitenumtypes.h"
#include "webkitglobalsprivate.h"
@@ -33,6 +32,7 @@
#include <glib/gi18n-lib.h>
#include <wtf/Assertions.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
/**
* SECTION:webkitwebresource
diff --git a/Source/WebKit/gtk/webkit/webkitwebsettings.cpp b/Source/WebKit/gtk/webkit/webkitwebsettings.cpp
index ce877e4f0..b93361105 100644
--- a/Source/WebKit/gtk/webkit/webkitwebsettings.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebsettings.cpp
@@ -30,6 +30,7 @@
#include "FileSystem.h"
#include "KURL.h"
#include "PluginDatabase.h"
+#include "UserAgentGtk.h"
#include "webkitenumtypes.h"
#include "webkitglobalsprivate.h"
#include "webkitversion.h"
@@ -39,12 +40,6 @@
#include <wtf/text/StringConcatenate.h>
#include <glib/gi18n-lib.h>
-#if OS(UNIX)
-#include <sys/utsname.h>
-#elif OS(WINDOWS)
-#include "SystemInfo.h"
-#endif
-
/**
* SECTION:webkitwebsettings
* @short_description: Control the behaviour of a #WebKitWebView
@@ -126,71 +121,6 @@ enum {
PROP_MEDIA_PLAYBACK_ALLOWS_INLINE
};
-// Create a default user agent string
-// This is a liberal interpretation of http://www.mozilla.org/build/revised-user-agent-strings.html
-// See also http://developer.apple.com/internet/safari/faq.html#anchor2
-static String webkitPlatform()
-{
-#if PLATFORM(X11)
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("X11; ")));
-#elif OS(WINDOWS)
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("")));
-#elif PLATFORM(MAC)
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("Macintosh; ")));
-#elif defined(GDK_WINDOWING_DIRECTFB)
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("DirectFB; ")));
-#else
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("Unknown; ")));
-#endif
-
- return uaPlatform;
-}
-
-static String webkitOSVersion()
-{
- // FIXME: platform/version detection can be shared.
-#if OS(DARWIN)
-
-#if CPU(X86)
- DEFINE_STATIC_LOCAL(const String, uaOSVersion, (String("Intel Mac OS X")));
-#else
- DEFINE_STATIC_LOCAL(const String, uaOSVersion, (String("PPC Mac OS X")));
-#endif
-
-#elif OS(UNIX)
- DEFINE_STATIC_LOCAL(String, uaOSVersion, (String()));
-
- if (!uaOSVersion.isEmpty())
- return uaOSVersion;
-
- struct utsname name;
- if (uname(&name) != -1)
- uaOSVersion = makeString(name.sysname, ' ', name.machine);
- else
- uaOSVersion = String("Unknown");
-#elif OS(WINDOWS)
- DEFINE_STATIC_LOCAL(const String, uaOSVersion, (windowsVersionForUAString()));
-#else
- DEFINE_STATIC_LOCAL(const String, uaOSVersion, (String("Unknown")));
-#endif
-
- return uaOSVersion;
-}
-
-static String chromeUserAgent()
-{
- // We mention Safari since many broken sites check for it (OmniWeb does this too)
- // We re-use the WebKit version, though it doesn't seem to matter much in practice
- // We claim to be Chrome as well, which prevents sites that look for Safari and assume
- // that since we are not OS X, that we are the mobile version of Safari.
-
- DEFINE_STATIC_LOCAL(const String, uaVersion, (makeString(String::number(WEBKIT_USER_AGENT_MAJOR_VERSION), '.', String::number(WEBKIT_USER_AGENT_MINOR_VERSION), '+')));
- DEFINE_STATIC_LOCAL(const String, staticUA, (makeString("Mozilla/5.0 (", webkitPlatform(), webkitOSVersion(), ") AppleWebKit/", uaVersion) +
- makeString(" (KHTML, like Gecko) Chromium/17.0.963.56 Chrome/17.0.963.56 Safari/", uaVersion)));
-
- return staticUA;
-}
-
static void webkit_web_settings_finalize(GObject* object);
static void webkit_web_settings_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
@@ -1125,7 +1055,7 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con
break;
case PROP_USER_AGENT:
if (!g_value_get_string(value) || !strlen(g_value_get_string(value)))
- priv->userAgent = chromeUserAgent().utf8();
+ priv->userAgent = standardUserAgent().utf8();
else
priv->userAgent = g_value_get_string(value);
break;
@@ -1559,7 +1489,7 @@ static String userAgentForURL(const KURL& url)
// For Google domains, drop the browser's custom User Agent string, and use the
// standard Chrome one, so they don't give us a broken experience.
if (isGoogleDomain(url.host()))
- return chromeUserAgent();
+ return standardUserAgent();
return String();
}
diff --git a/Source/WebKit/gtk/webkit/webkitwebview.cpp b/Source/WebKit/gtk/webkit/webkitwebview.cpp
index a5368944d..8b992119d 100644
--- a/Source/WebKit/gtk/webkit/webkitwebview.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebview.cpp
@@ -427,7 +427,7 @@ static IntPoint getLocationForKeyboardGeneratedContextMenu(Frame* frame)
if (!selection->selection().isNonOrphanedCaretOrRange()
|| (selection->selection().isCaret() && !selection->selection().isContentEditable())) {
if (Node* focusedNode = getFocusedNode(frame))
- return focusedNode->getPixelSnappedRect().location();
+ return focusedNode->pixelSnappedBoundingBox().location();
// There was no selection and no focused node, so just put the context
// menu into the corner of the view, offset slightly.
@@ -992,6 +992,9 @@ static void webkit_web_view_realize(GtkWidget* widget)
| GDK_BUTTON_PRESS_MASK
| GDK_BUTTON_RELEASE_MASK
| GDK_SCROLL_MASK
+#if GTK_CHECK_VERSION(3, 3, 18)
+ | GDK_SMOOTH_SCROLL_MASK
+#endif
| GDK_POINTER_MOTION_MASK
| GDK_KEY_PRESS_MASK
| GDK_KEY_RELEASE_MASK
@@ -1605,7 +1608,7 @@ static gboolean webkit_web_view_query_tooltip(GtkWidget *widget, gint x, gint y,
String title = static_cast<Element*>(titleNode)->title();
if (!title.isEmpty()) {
if (FrameView* view = coreFrame->view()) {
- GdkRectangle area = view->contentsToWindow(node->getPixelSnappedRect());
+ GdkRectangle area = view->contentsToWindow(node->pixelSnappedBoundingBox());
gtk_tooltip_set_tip_area(tooltip, &area);
}
gtk_tooltip_set_text(tooltip, title.utf8().data());
@@ -3629,9 +3632,9 @@ static void webkit_web_view_init(WebKitWebView* webView)
WebCore::provideUserMediaTo(priv->corePage, priv->userMediaClient.get());
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- priv->registerProtocolHandlerClient = WebKit::RegisterProtocolHandlerClient::create();
- WebCore::provideRegisterProtocolHandlerTo(priv->corePage, priv->registerProtocolHandlerClient.get());
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ priv->navigatorContentUtilsClient = WebKit::NavigatorContentUtilsClient::create();
+ WebCore::provideNavigatorContentUtilsTo(priv->corePage, priv->navigatorContentUtilsClient.get());
#endif
if (DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled()) {
diff --git a/Source/WebKit/gtk/webkit/webkitwebviewprivate.h b/Source/WebKit/gtk/webkit/webkitwebviewprivate.h
index c302696d2..96954c24c 100644
--- a/Source/WebKit/gtk/webkit/webkitwebviewprivate.h
+++ b/Source/WebKit/gtk/webkit/webkitwebviewprivate.h
@@ -39,8 +39,8 @@
#include "UserMediaClientGtk.h"
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-#include "RegisterProtocolHandlerClientGtk.h"
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+#include "NavigatorContentUtilsClientGtk.h"
#endif
namespace WebKit {
@@ -122,8 +122,8 @@ struct _WebKitWebViewPrivate {
OwnPtr<WebCore::GeolocationClientMock> geolocationClientMock;
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- OwnPtr<WebKit::RegisterProtocolHandlerClient> registerProtocolHandlerClient;
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ OwnPtr<WebKit::NavigatorContentUtilsClient> navigatorContentUtilsClient;
#endif
};
diff --git a/Source/WebKit/mac/ChangeLog b/Source/WebKit/mac/ChangeLog
index e156f61d2..ab6273273 100644
--- a/Source/WebKit/mac/ChangeLog
+++ b/Source/WebKit/mac/ChangeLog
@@ -1,3 +1,490 @@
+2012-09-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Rename the ustring() accessor to string()
+ https://bugs.webkit.org/show_bug.cgi?id=95919
+
+ Reviewed by Geoffrey Garen.
+
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::enumerate):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (WebFrameLoaderClient::actionDictionary):
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView elementAtPoint:allowShadowContent:]):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * History/WebHistoryItem.mm:
+ * Misc/WebStringTruncator.mm:
+ * Plugins/Hosted/NetscapePluginHostManager.h:
+ (NetscapePluginHostManager):
+ * Plugins/WebPluginController.mm:
+ * Storage/WebStorageTrackerClient.mm:
+ * WebCoreSupport/WebChromeClient.mm:
+ * WebCoreSupport/WebEditorClient.mm:
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ * WebCoreSupport/WebIconDatabaseClient.mm:
+ * WebCoreSupport/WebInspectorClient.h:
+ (WebInspectorClient):
+ (WebInspectorFrontendClient):
+ * WebView/WebRenderLayer.mm:
+ * WebView/WebViewData.h:
+
+2012-09-05 Benjamin Poulain <bpoulain@apple.com>
+
+ More fixes for String::operator+=() on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=95880
+
+ Reviewed by Adam Barth.
+
+ * WebView/WebRenderLayer.mm:
+ (+[WebRenderLayer nameForLayer:]): Use StringBuilder to concatenate the class names
+ efficiently.
+ * WebView/WebView.mm:
+ (+[WebView _decodeData:]): This is a legitimate use of String::append(), there
+ is no other concatenation done on that string.
+
+2012-09-01 Mark Lam <mark.lam@apple.com>
+
+ Added #include <JavaScriptCore/Identifier.h>.
+ https://bugs.webkit.org/show_bug.cgi?id=95641.
+
+ Reviewed by Dan Bernstein.
+
+ The code references JSC::Indentifier but was previously depending on
+ someone else to #include it. This results in build problems when
+ building for the llint C loop configuration.
+
+ * Plugins/Hosted/NetscapePluginInstanceProxy.h:
+
+2012-08-31 Tony Chang <tony@chromium.org>
+
+ Remove ENABLE_CSS3_FLEXBOX compile time flag
+ https://bugs.webkit.org/show_bug.cgi?id=95382
+
+ Reviewed by Ojan Vafai.
+
+ Everyone is already enabling this by default and the spec has stablized.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-08-31 Pratik Solanki <psolanki@apple.com>
+
+ objc_msgSend and IMP should be cast appropriately before using
+ https://bugs.webkit.org/show_bug.cgi?id=95242
+
+ Reviewed by Benjamin Poulain.
+
+ Fix for older compilers. Pass id as the return type to the template
+ instead of relying on default type.
+
+ * WebView/WebDelegateImplementationCaching.mm:
+ (CallDelegate):
+ (CallFormDelegate):
+ * WebView/WebHTMLView.mm:
+ (setCursor):
+ (setNeedsDisplayInRect):
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Use one object instead of two for closures, eliminating ScopeChainNode
+ https://bugs.webkit.org/show_bug.cgi?id=95501
+
+ Reviewed by Filip Pizlo.
+
+ Mechanical change to update for JSC interface change.
+
+2012-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127171.
+ http://trac.webkit.org/changeset/127171
+ https://bugs.webkit.org/show_bug.cgi?id=95505
+
+ testRunner does not need dumpWebNotificationCallbacks().
+ (Requested by jonlee on #webkit).
+
+ * WebKit.exp:
+
+2012-08-30 Pratik Solanki <psolanki@apple.com>
+
+ objc_msgSend and IMP should be cast appropriately before using
+ https://bugs.webkit.org/show_bug.cgi?id=95242
+
+ Reviewed by Benjamin Poulain.
+
+ Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
+ to a function pointer with right types when calling objc_msgSend and an
+ IMP method directly.
+
+ * WebCoreSupport/WebCachedFramePlatformData.h:
+ (WebCachedFramePlatformData::clear):
+ * WebCoreSupport/WebDeviceOrientationClient.mm:
+ (WebDeviceOrientationClient::getProvider):
+ * WebView/WebDelegateImplementationCaching.mm:
+ (CallDelegate):
+ (CallDelegateReturningBoolean):
+ (CallResourceLoadDelegateReturningBoolean):
+ (CallFormDelegate):
+ (CallFormDelegateReturningBoolean):
+ * WebView/WebHTMLView.mm:
+ (setCursor):
+ (setNeedsDisplayInRect):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Get rid of UString, replace it by String, and simplify the code when possible.
+
+ On x86_64, this reduces the binary size by 7kb.
+
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (identifierFromIdentifierRep):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::addValueToArray):
+ (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyRuntimeMethod::create):
+ (WebKit::ProxyRuntimeMethod::finishCreation):
+ (WebKit::ProxyInstance::getPropertyNames):
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * WebView/WebFrame.mm:
+ (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
+ (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
+ * WebView/WebScriptDebugDelegate.mm:
+ (-[WebScriptCallFrame functionName]):
+ (-[WebScriptCallFrame evaluateWebScript:]):
+ * WebView/WebScriptDebugger.h:
+ (WTF):
+ (JSC):
+ (WebScriptDebugger):
+ * WebView/WebScriptDebugger.mm:
+ (toNSURL):
+ (WebScriptDebugger::sourceParsed):
+ * WebView/WebView.mm:
+ (aeDescFromJSValue):
+
+2012-08-30 Jon Lee <jonlee@apple.com>
+
+ [Mac] Add testRunner.dumpWebNotificationCallbacks() to DRT
+ https://bugs.webkit.org/show_bug.cgi?id=95232
+ <rdar://problem/12190776>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebKit.exp: Export WebNotification class.
+
+2012-08-30 Jon Lee <jonlee@apple.com>
+
+ [Mac] Registering web views for notifications is unbalanced
+ https://bugs.webkit.org/show_bug.cgi?id=95465
+ <rdar://problem/12206765>
+
+ Reviewed by Darin Adler.
+
+ Setting the notification provider for a WK1 WebView registers that web view to the
+ provider. When the WebView is closed, WebCore is essentially responsible for
+ unregistering the web view. This leads to an imbalance on Lion since notifications are
+ not supported, and the NotificationController responsible for making the unregistration
+ call doesn't exist.
+
+ Instead, the unregisterWebView method should be called when the web view is closed.
+
+ * WebView/WebViewPrivate.h: Remove _notificationControllerDestroyed, since it is
+ unneeded.
+
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::notificationControllerDestroyed):
+ * WebView/WebView.mm:
+ (-[WebView _close]): Unregister the web view from the assigned provider here.
+ (-[WebView _setNotificationProvider:]): Only allow setting the provider once, to avoid
+ registering the web view to multiple providers.
+
+2012-08-29 Jon Lee <jonlee@apple.com>
+
+ [Mac] Add iconURL to WebNotification
+ https://bugs.webkit.org/show_bug.cgi?id=95249
+ <rdar://problem/12192060>
+
+ Reviewed by Jessie Berlin.
+
+ * WebView/WebNotification.h: Expose iconURL.
+ * WebView/WebNotification.mm: Remove unnecessary ASSERTs.
+ (-[WebNotification title]):
+ (-[WebNotification body]):
+ (-[WebNotification tag]):
+ (-[WebNotification iconURL]): Added.
+ (-[WebNotification origin]):
+ (-[WebNotification notificationID]):
+ (-[WebNotification dispatchShowEvent]):
+ (-[WebNotification dispatchCloseEvent]):
+ (-[WebNotification dispatchClickEvent]):
+ (-[WebNotification dispatchErrorEvent]):
+
+2012-08-28 Geoffrey Garen <ggaren@apple.com>
+
+ Added JSScope::objectInScope(), and refactored callers to use it
+ https://bugs.webkit.org/show_bug.cgi?id=95281
+
+ Reviewed by Gavin Barraclough.
+
+ * WebView/WebScriptDebugDelegate.mm:
+ (-[WebScriptCallFrame scopeChain]):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * History/WebHistory.mm:
+ (-[WebHistoryPrivate removeItemFromDateCaches:]):
+ (-[WebHistoryPrivate orderedLastVisitedDays]):
+ (WebHistoryWriter::WebHistoryWriter):
+ * Misc/WebCoreStatistics.mm:
+ (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
+ (+[WebCoreStatistics javaScriptObjectTypeCounts]):
+ * Plugins/Hosted/NetscapePluginHostManager.mm:
+ (WebKit::NetscapePluginHostManager::hostForPlugin):
+ (WebKit::NetscapePluginHostManager::pluginHostDied):
+ (WebKit::NetscapePluginHostManager::didCreateWindow):
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (WebKit::NetscapePluginHostProxy::pluginHostDied):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
+ (WebKit::NetscapePluginInstanceProxy::destroy):
+ (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
+ (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * Plugins/WebNetscapePluginView.mm:
+ (-[WebNetscapePluginView stopTimers]):
+ (-[WebNetscapePluginView startTimers]):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::show):
+ (WebNotificationClient::clearNotifications):
+ (WebNotificationClient::notificationObjectDestroyed):
+ * WebView/WebHTMLView.mm:
+ (commandNameForSelector):
+
+2012-08-28 Jon Lee <jonlee@apple.com>
+
+ Second build fix to r126909.
+
+ Added needed #else clause.
+
+ * WebView/WebView.mm:
+ (-[WebView _notificationIDForTesting:]):
+
+2012-08-28 Jon Lee <jonlee@apple.com>
+
+ Build fix to r126909.
+
+ Needed ENABLE(NOTIFICATIONS) guards.
+
+ * WebView/WebView.mm:
+ (-[WebView _notificationIDForTesting:]):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * History/WebHistory.mm:
+ (-[WebHistoryPrivate removeItemFromDateCaches:]):
+ (-[WebHistoryPrivate orderedLastVisitedDays]):
+ (WebHistoryWriter::WebHistoryWriter):
+ * Misc/WebCoreStatistics.mm:
+ (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
+ (+[WebCoreStatistics javaScriptObjectTypeCounts]):
+ * Plugins/Hosted/NetscapePluginHostManager.mm:
+ (WebKit::NetscapePluginHostManager::hostForPlugin):
+ (WebKit::NetscapePluginHostManager::pluginHostDied):
+ (WebKit::NetscapePluginHostManager::didCreateWindow):
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (WebKit::NetscapePluginHostProxy::pluginHostDied):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
+ (WebKit::NetscapePluginInstanceProxy::destroy):
+ (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
+ (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * Plugins/WebNetscapePluginView.mm:
+ (-[WebNetscapePluginView stopTimers]):
+ (-[WebNetscapePluginView startTimers]):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::show):
+ (WebNotificationClient::clearNotifications):
+ (WebNotificationClient::notificationObjectDestroyed):
+ * WebView/WebHTMLView.mm:
+ (commandNameForSelector):
+
+2012-08-28 Jon Lee <jonlee@apple.com>
+
+ [Mac] Add SPI to WK1 to retrieve internal IDs for web notifications
+ https://bugs.webkit.org/show_bug.cgi?id=95099
+ <rdar://problem/12180186>
+
+ Reviewed by Jessie Berlin.
+
+ This is work toward providing Mac support for web notifications in DRT and WTR (77969).
+
+ Add function to retrieve the internal ID for a notification. This is needed by layout tests to support simulating
+ a user click on a notification.
+
+ * WebCoreSupport/WebNotificationClient.h:
+ (WebNotificationClient):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::notificationIDForTesting): Converts the JS notification to a WebCore notification, and passes
+ that to [WebView _notificationIDForTesting:].
+ * WebView/WebView.mm:
+ (-[WebView _notificationIDForTesting:]): Retrieves the notification ID based on the WebCore notification instance.
+ * WebView/WebViewPrivate.h:
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * History/WebHistory.mm:
+ (-[WebHistoryPrivate removeItemFromDateCaches:]):
+ (-[WebHistoryPrivate orderedLastVisitedDays]):
+ (WebHistoryWriter::WebHistoryWriter):
+ * Misc/WebCoreStatistics.mm:
+ (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
+ (+[WebCoreStatistics javaScriptObjectTypeCounts]):
+ * Plugins/Hosted/NetscapePluginHostManager.mm:
+ (WebKit::NetscapePluginHostManager::hostForPlugin):
+ (WebKit::NetscapePluginHostManager::pluginHostDied):
+ (WebKit::NetscapePluginHostManager::didCreateWindow):
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (WebKit::NetscapePluginHostProxy::pluginHostDied):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
+ (WebKit::NetscapePluginInstanceProxy::destroy):
+ (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
+ (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * Plugins/WebNetscapePluginView.mm:
+ (-[WebNetscapePluginView stopTimers]):
+ (-[WebNetscapePluginView startTimers]):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::show):
+ (WebNotificationClient::clearNotifications):
+ (WebNotificationClient::notificationObjectDestroyed):
+ * WebView/WebHTMLView.mm:
+ (commandNameForSelector):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * History/WebHistory.mm:
+ (-[WebHistoryPrivate removeItemFromDateCaches:]):
+ (-[WebHistoryPrivate orderedLastVisitedDays]):
+ (WebHistoryWriter::WebHistoryWriter):
+ * Misc/WebCoreStatistics.mm:
+ (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
+ (+[WebCoreStatistics javaScriptObjectTypeCounts]):
+ * Plugins/Hosted/NetscapePluginHostManager.mm:
+ (WebKit::NetscapePluginHostManager::hostForPlugin):
+ (WebKit::NetscapePluginHostManager::pluginHostDied):
+ (WebKit::NetscapePluginHostManager::didCreateWindow):
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (WebKit::NetscapePluginHostProxy::pluginHostDied):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
+ (WebKit::NetscapePluginInstanceProxy::destroy):
+ (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
+ (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * Plugins/WebNetscapePluginView.mm:
+ (-[WebNetscapePluginView stopTimers]):
+ (-[WebNetscapePluginView startTimers]):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::show):
+ (WebNotificationClient::clearNotifications):
+ (WebNotificationClient::notificationObjectDestroyed):
+ * WebView/WebHTMLView.mm:
+ (commandNameForSelector):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ ENABLE_REGISTER_PROTOCOL_HANDLER is renamed to ENABLE_NAVIGATOR_CONTENT_UTILS.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-08-24 Pratik Solanki <psolanki@apple.com>
+
+ Don't create a new ResourceRequest if delegate returns the same NSURLRequest we passed it
+ https://bugs.webkit.org/show_bug.cgi?id=94962
+
+ Reviewed by Geoffrey Garen.
+
+ If the NSURLRequest returned from the delegate callback is the same as the one we passed to
+ it, then avoid creating a new ResourceRequest object. This reduces the number of calls to
+ ResourceRequest::doUpdateResourceRequest().
+
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (WebFrameLoaderClient::dispatchWillSendRequest):
+
2012-08-23 Mark Hahnenberg <mhahnenberg@apple.com>
Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
diff --git a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig b/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
index cedd95d76..6a674085e 100644
--- a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
+++ b/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
@@ -48,7 +48,6 @@ ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS;
ENABLE_CSS_COMPOSITING = ;
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
ENABLE_CSS_VARIABLES = ;
-ENABLE_CSS3_FLEXBOX = ENABLE_CSS3_FLEXBOX;
ENABLE_CSS3_TEXT_DECORATION = ;
ENABLE_CUSTOM_SCHEME_HANDLER = ;
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(REAL_PLATFORM_NAME));
@@ -106,6 +105,7 @@ ENABLE_METER_ELEMENT = ENABLE_METER_ELEMENT;
ENABLE_MHTML = ;
ENABLE_MICRODATA = ;
ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS;
+ENABLE_NAVIGATOR_CONTENT_UTILS = ;
ENABLE_NOTIFICATIONS = $(ENABLE_NOTIFICATIONS_$(REAL_PLATFORM_NAME));
ENABLE_NOTIFICATIONS_macosx = $(ENABLE_NOTIFICATIONS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
ENABLE_NOTIFICATIONS_macosx_1070 = ;
@@ -114,7 +114,6 @@ ENABLE_NOTIFICATIONS_macosx_1090 = ENABLE_NOTIFICATIONS;
ENABLE_PAGE_VISIBILITY_API = ;
ENABLE_PROGRESS_ELEMENT = ENABLE_PROGRESS_ELEMENT;
ENABLE_QUOTA = ;
-ENABLE_REGISTER_PROTOCOL_HANDLER = ;
ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
ENABLE_SCRIPTED_SPEECH = ;
ENABLE_SHADOW_DOM = ;
@@ -141,4 +140,4 @@ ENABLE_WIDGET_REGION_macosx = ENABLE_WIDGET_REGION;
ENABLE_WORKERS = ENABLE_WORKERS;
ENABLE_XSLT = ENABLE_XSLT;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
diff --git a/Source/WebKit/mac/Configurations/Version.xcconfig b/Source/WebKit/mac/Configurations/Version.xcconfig
index ac1a2c149..d1bed77b3 100644
--- a/Source/WebKit/mac/Configurations/Version.xcconfig
+++ b/Source/WebKit/mac/Configurations/Version.xcconfig
@@ -22,7 +22,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 537;
-MINOR_VERSION = 8;
+MINOR_VERSION = 10;
TINY_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
diff --git a/Source/WebKit/mac/History/WebHistoryItem.mm b/Source/WebKit/mac/History/WebHistoryItem.mm
index de708c95c..f2374bd3d 100644
--- a/Source/WebKit/mac/History/WebHistoryItem.mm
+++ b/Source/WebKit/mac/History/WebHistoryItem.mm
@@ -47,7 +47,6 @@
#import <WebCore/Image.h>
#import <WebCore/KURL.h>
#import <WebCore/PageCache.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/RunLoop.h>
#import <WebCore/ThreadCheck.h>
#import <WebCore/WebCoreObjCExtras.h>
@@ -55,6 +54,7 @@
#import <wtf/Assertions.h>
#import <wtf/MainThread.h>
#import <wtf/StdLibExtras.h>
+#import <wtf/text/WTFString.h>
// Private keys used in the WebHistoryItem's dictionary representation.
// see 3245793 for explanation of "lastVisitedDate"
diff --git a/Source/WebKit/mac/Misc/WebStringTruncator.mm b/Source/WebKit/mac/Misc/WebStringTruncator.mm
index 768da2a53..345a2df71 100644
--- a/Source/WebKit/mac/Misc/WebStringTruncator.mm
+++ b/Source/WebKit/mac/Misc/WebStringTruncator.mm
@@ -32,9 +32,9 @@
#import <WebCore/Font.h>
#import <WebCore/FontCache.h>
#import <WebCore/FontPlatformData.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/StringTruncator.h>
#import <wtf/StdLibExtras.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
index 64e37e162..a97712f72 100644
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
+++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
@@ -28,10 +28,10 @@
#ifndef NetscapePluginHostManager_h
#define NetscapePluginHostManager_h
-#import <WebCore/PlatformString.h>
#import <wtf/HashMap.h>
#import <wtf/PassRefPtr.h>
#import <wtf/text/StringHash.h>
+#import <wtf/text/WTFString.h>
@class WebHostedNetscapePluginView;
@@ -44,7 +44,7 @@ class NetscapePluginHostManager {
public:
static NetscapePluginHostManager& shared();
- PassRefPtr<NetscapePluginInstanceProxy> instantiatePlugin(const WTF::String& pluginPath, cpu_type_t pluginArchitecture, const WTF::String& bundleIdentifier, WebHostedNetscapePluginView *, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
+ PassRefPtr<NetscapePluginInstanceProxy> instantiatePlugin(const String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier, WebHostedNetscapePluginView *, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
void pluginHostDied(NetscapePluginHostProxy*);
@@ -53,19 +53,19 @@ public:
void didCreateWindow();
private:
- NetscapePluginHostProxy* hostForPlugin(const WTF::String& pluginPath, cpu_type_t pluginArchitecture, const WTF::String& bundleIdentifier);
+ NetscapePluginHostProxy* hostForPlugin(const String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier);
NetscapePluginHostManager();
~NetscapePluginHostManager();
- bool spawnPluginHost(const WTF::String& pluginPath, cpu_type_t pluginArchitecture, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN);
+ bool spawnPluginHost(const String& pluginPath, cpu_type_t pluginArchitecture, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN);
bool initializeVendorPort();
mach_port_t m_pluginVendorPort;
// FIXME: This should really be a HashMap of RetainPtrs, but that doesn't work right now.
- typedef HashMap<WTF::String, NetscapePluginHostProxy*> PluginHostMap;
+ typedef HashMap<String, NetscapePluginHostProxy*> PluginHostMap;
PluginHostMap m_pluginHosts;
};
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
index af6f2be99..0f9f07ddb 100644
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
+++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
@@ -607,7 +607,7 @@ static Identifier identifierFromIdentifierRep(IdentifierRep* identifier)
ASSERT(identifier->isString());
const char* str = identifier->string();
- return Identifier(JSDOMWindow::commonJSGlobalData(), stringToUString(String::fromUTF8WithLatin1Fallback(str, strlen(str))));
+ return Identifier(JSDOMWindow::commonJSGlobalData(), String::fromUTF8WithLatin1Fallback(str, strlen(str)));
}
kern_return_t WKPCInvoke(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID, uint64_t serverIdentifier,
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
index bf36fbd5f..79242c6f8 100644
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
+++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
@@ -28,6 +28,7 @@
#ifndef NetscapePluginInstanceProxy_h
#define NetscapePluginInstanceProxy_h
+#include <JavaScriptCore/Identifier.h>
#include <JavaScriptCore/JSGlobalData.h>
#include <JavaScriptCore/Strong.h>
#include <WebCore/Timer.h>
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
index 91044305f..43ad2984d 100644
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
+++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
@@ -875,7 +875,7 @@ bool NetscapePluginInstanceProxy::evaluate(uint32_t objectID, const String& scri
UserGestureIndicator gestureIndicator(allowPopups ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture);
- JSValue result = JSC::evaluate(exec, globalObject->globalScopeChain(), makeSource(script));
+ JSValue result = JSC::evaluate(exec, makeSource(script));
globalObject->globalData().timeoutChecker.stop();
@@ -1224,7 +1224,7 @@ bool NetscapePluginInstanceProxy::enumerate(uint32_t objectID, data_t& resultDat
RetainPtr<NSMutableArray*> array(AdoptNS, [[NSMutableArray alloc] init]);
for (unsigned i = 0; i < propertyNames.size(); i++) {
- uint64_t methodName = reinterpret_cast<uint64_t>(_NPN_GetStringIdentifier(propertyNames[i].ustring().utf8().data()));
+ uint64_t methodName = reinterpret_cast<uint64_t>(_NPN_GetStringIdentifier(propertyNames[i].string().utf8().data()));
[array.get() addObject:[NSNumber numberWithLongLong:methodName]];
}
@@ -1265,7 +1265,7 @@ void NetscapePluginInstanceProxy::addValueToArray(NSMutableArray *array, ExecSta
if (value.isString()) {
[array addObject:[NSNumber numberWithInt:StringValueType]];
- [array addObject:ustringToString(value.toString(exec)->value(exec))];
+ [array addObject:value.toWTFString(exec)];
} else if (value.isNumber()) {
[array addObject:[NSNumber numberWithInt:DoubleValueType]];
[array addObject:[NSNumber numberWithDouble:value.toNumber(exec)]];
@@ -1672,7 +1672,7 @@ void NetscapePluginInstanceProxy::moveGlobalExceptionToExecState(ExecState* exec
{
JSLockHolder lock(exec);
- throwError(exec, createError(exec, stringToUString(globalExceptionString())));
+ throwError(exec, createError(exec, globalExceptionString()));
}
globalExceptionString() = String();
diff --git a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm b/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
index 898c5e214..49e98fe6e 100644
--- a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
+++ b/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
@@ -181,7 +181,7 @@ class ProxyRuntimeMethod : public RuntimeMethod {
public:
typedef RuntimeMethod Base;
- static ProxyRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const UString& name, Bindings::MethodList& list)
+ static ProxyRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const String& name, Bindings::MethodList& list)
{
// FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
// exec-globalData() is also likely wrong.
@@ -204,7 +204,7 @@ private:
{
}
- void finishCreation(JSGlobalData& globalData, const UString& name)
+ void finishCreation(JSGlobalData& globalData, const String& name)
{
Base::finishCreation(globalData, name);
ASSERT(inherits(&s_info));
@@ -340,7 +340,7 @@ void ProxyInstance::getPropertyNames(ExecState* exec, PropertyNameArray& nameArr
if (identifier->isString()) {
const char* str = identifier->string();
- nameArray.add(Identifier(JSDOMWindow::commonJSGlobalData(), stringToUString(String::fromUTF8WithLatin1Fallback(str, strlen(str)))));
+ nameArray.add(Identifier(JSDOMWindow::commonJSGlobalData(), String::fromUTF8WithLatin1Fallback(str, strlen(str))));
} else
nameArray.add(Identifier::from(exec, identifier->number()));
}
@@ -348,7 +348,7 @@ void ProxyInstance::getPropertyNames(ExecState* exec, PropertyNameArray& nameArr
MethodList ProxyInstance::methodsNamed(PropertyName propertyName)
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
if (name.isNull())
return MethodList();
@@ -392,7 +392,7 @@ MethodList ProxyInstance::methodsNamed(PropertyName propertyName)
Field* ProxyInstance::fieldNamed(PropertyName propertyName)
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
if (name.isNull())
return 0;
diff --git a/Source/WebKit/mac/Plugins/WebPluginController.mm b/Source/WebKit/mac/Plugins/WebPluginController.mm
index dd599d6d1..3ff109086 100644
--- a/Source/WebKit/mac/Plugins/WebPluginController.mm
+++ b/Source/WebKit/mac/Plugins/WebPluginController.mm
@@ -54,12 +54,12 @@
#import <WebCore/HTMLMediaElement.h>
#import <WebCore/HTMLNames.h>
#import <WebCore/MediaPlayerProxy.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/ResourceRequest.h>
#import <WebCore/ScriptController.h>
#import <WebCore/WebCoreURLResponse.h>
#import <objc/objc-runtime.h>
#import <runtime/JSLock.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
using namespace HTMLNames;
diff --git a/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm b/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm
index 2257b5585..3bc9f107b 100644
--- a/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm
+++ b/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm
@@ -27,10 +27,10 @@
#import "WebSecurityOriginInternal.h"
#import "WebStorageManagerPrivate.h"
-#import <WebCore/PlatformString.h>
#import <WebCore/SecurityOrigin.h>
#import <wtf/MainThread.h>
#import <wtf/RetainPtr.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h b/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h
index 6c3f16603..9bdb51560 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h
+++ b/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h
@@ -28,13 +28,14 @@
#import <objc/objc-runtime.h>
#import <WebCore/CachedFramePlatformData.h>
+#import <wtf/ObjcRuntimeExtras.h>
#import <wtf/RetainPtr.h>
class WebCachedFramePlatformData : public WebCore::CachedFramePlatformData {
public:
WebCachedFramePlatformData(id webDocumentView) : m_webDocumentView(webDocumentView) { }
- virtual void clear() { objc_msgSend(m_webDocumentView.get(), @selector(closeIfNotCurrentView)); }
+ virtual void clear() { wtfObjcMsgSend<void>(m_webDocumentView.get(), @selector(closeIfNotCurrentView)); }
id webDocumentView() { return m_webDocumentView.get(); }
private:
diff --git a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
index ed6fa573b..c7dcefa97 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
@@ -52,9 +52,9 @@
#import <Foundation/Foundation.h>
#import <WebCore/BlockExceptions.h>
#import <WebCore/Console.h>
-#import <WebCore/Cursor.h>
#import <WebCore/ContextMenu.h>
#import <WebCore/ContextMenuController.h>
+#import <WebCore/Cursor.h>
#import <WebCore/Element.h>
#import <WebCore/FileChooser.h>
#import <WebCore/FileIconLoader.h>
@@ -71,7 +71,6 @@
#import <WebCore/NotImplemented.h>
#import <WebCore/Page.h>
#import <WebCore/PlatformScreen.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/PopupMenuMac.h>
#import <WebCore/ResourceRequest.h>
#import <WebCore/SearchPopupMenuMac.h>
@@ -79,6 +78,7 @@
#import <WebCore/WindowFeatures.h>
#import <wtf/PassRefPtr.h>
#import <wtf/Vector.h>
+#import <wtf/text/WTFString.h>
#if USE(ACCELERATED_COMPOSITING)
#import <WebCore/GraphicsLayer.h>
diff --git a/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm b/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm
index aaa031a4b..669c0c288 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm
@@ -29,6 +29,7 @@
#import "WebDeviceOrientationProvider.h"
#import "WebViewInternal.h"
#import <objc/objc-runtime.h>
+#import <wtf/ObjcRuntimeExtras.h>
using namespace WebCore;
@@ -70,7 +71,7 @@ id<WebDeviceOrientationProvider> WebDeviceOrientationClient::getProvider() const
if (!m_provider) {
m_provider = [m_webView _deviceOrientationProvider];
if ([m_provider respondsToSelector:@selector(setController:)])
- objc_msgSend(m_provider, @selector(setController:), m_controller);
+ wtfObjcMsgSend<void>(m_provider, @selector(setController:), m_controller);
}
return m_provider;
}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm b/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
index 6497c95ee..615eb51a9 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
@@ -60,7 +60,6 @@
#import <WebCore/KeyboardEvent.h>
#import <WebCore/LegacyWebArchive.h>
#import <WebCore/PlatformKeyboardEvent.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/RunLoop.h>
#import <WebCore/SpellChecker.h>
#import <WebCore/UndoStep.h>
@@ -69,6 +68,7 @@
#import <runtime/InitializeThreading.h>
#import <wtf/MainThread.h>
#import <wtf/PassRefPtr.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm b/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
index fd14bc00a..5b68a1f5f 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
@@ -106,7 +106,6 @@
#import <WebCore/MIMETypeRegistry.h>
#import <WebCore/MouseEvent.h>
#import <WebCore/Page.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/PluginViewBase.h>
#import <WebCore/ResourceError.h>
#import <WebCore/ResourceHandle.h>
@@ -123,6 +122,7 @@
#import <runtime/InitializeThreading.h>
#import <wtf/MainThread.h>
#import <wtf/PassRefPtr.h>
+#import <wtf/text/WTFString.h>
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
#import <WebCore/HTMLMediaElement.h>
@@ -346,8 +346,13 @@ void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, unsig
if (redirectResponse.isNull())
static_cast<WebDocumentLoaderMac*>(loader)->increaseLoadCount(identifier);
+ NSURLRequest *currentURLRequest = request.nsURLRequest();
+ NSURLRequest *newURLRequest = currentURLRequest;
if (implementations->willSendRequestFunc)
- request = (NSURLRequest *)CallResourceLoadDelegate(implementations->willSendRequestFunc, webView, @selector(webView:resource:willSendRequest:redirectResponse:fromDataSource:), [webView _objectForIdentifier:identifier], request.nsURLRequest(), redirectResponse.nsURLResponse(), dataSource(loader));
+ newURLRequest = (NSURLRequest *)CallResourceLoadDelegate(implementations->willSendRequestFunc, webView, @selector(webView:resource:willSendRequest:redirectResponse:fromDataSource:), [webView _objectForIdentifier:identifier], currentURLRequest, redirectResponse.nsURLResponse(), dataSource(loader));
+
+ if (newURLRequest != currentURLRequest)
+ request = newURLRequest;
}
bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, unsigned long identifier)
@@ -1327,7 +1332,7 @@ NSDictionary *WebFrameLoaderClient::actionDictionary(const NavigationAction& act
if (const MouseEvent* mouseEvent = findMouseEvent(event)) {
WebElementDictionary *element = [[WebElementDictionary alloc]
- initWithHitTestResult:core(m_webFrame.get())->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation(), false)];
+ initWithHitTestResult:core(m_webFrame.get())->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation())];
[result setObject:element forKey:WebActionElementKey];
[element release];
diff --git a/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm b/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm
index 8214d0298..db0c77ee1 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm
@@ -29,7 +29,7 @@
#import "WebIconDatabaseClient.h"
#import "WebIconDatabaseInternal.h"
-#import <WebCore/PlatformString.h>
+#import <wtf/text/WTFString.h>
#if ENABLE(ICONDATABASE)
diff --git a/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h b/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h
index 9495958e9..80693343d 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h
+++ b/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h
@@ -29,12 +29,12 @@
#import <WebCore/InspectorClient.h>
#import <WebCore/InspectorFrontendChannel.h>
#import <WebCore/InspectorFrontendClientLocal.h>
-#import <WebCore/PlatformString.h>
#import <wtf/Forward.h>
#import <wtf/HashMap.h>
#import <wtf/RetainPtr.h>
#import <wtf/text/StringHash.h>
+#import <wtf/text/WTFString.h>
#ifdef __OBJC__
@class WebInspectorWindowController;
@@ -69,7 +69,7 @@ public:
virtual void highlight() OVERRIDE;
virtual void hideHighlight() OVERRIDE;
- virtual bool sendMessageToFrontend(const WTF::String&) OVERRIDE;
+ virtual bool sendMessageToFrontend(const String&) OVERRIDE;
bool inspectorStartsAttached();
void setInspectorStartsAttached(bool);
@@ -77,7 +77,7 @@ public:
void releaseFrontend();
private:
- WTF::PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> createFrontendSettings();
+ PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> createFrontendSettings();
WebView *m_webView;
RetainPtr<WebNodeHighlighter> m_highlighter;
@@ -88,12 +88,12 @@ private:
class WebInspectorFrontendClient : public WebCore::InspectorFrontendClientLocal {
public:
- WebInspectorFrontendClient(WebView*, WebInspectorWindowController*, WebCore::InspectorController*, WebCore::Page*, WTF::PassOwnPtr<Settings>);
+ WebInspectorFrontendClient(WebView*, WebInspectorWindowController*, WebCore::InspectorController*, WebCore::Page*, PassOwnPtr<Settings>);
virtual void frontendLoaded();
- virtual WTF::String localizedStringsURL();
- virtual WTF::String hiddenPanels();
+ virtual String localizedStringsURL();
+ virtual String hiddenPanels();
virtual void bringToFront();
virtual void closeWindow();
@@ -103,12 +103,12 @@ public:
virtual void detachWindow();
virtual void setAttachedWindowHeight(unsigned height);
- virtual void inspectedURLChanged(const WTF::String& newURL);
+ virtual void inspectedURLChanged(const String& newURL);
private:
void updateWindowTitle() const;
WebView* m_inspectedWebView;
RetainPtr<WebInspectorWindowController> m_windowController;
- WTF::String m_inspectedURL;
+ String m_inspectedURL;
};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h
index 94535d361..d6949ea2d 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h
+++ b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h
@@ -48,6 +48,11 @@ public:
WebNotificationClient(WebView *);
WebView *webView() { return m_webView; }
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ // For testing purposes.
+ uint64_t notificationIDForTesting(WebCore::Notification*);
+#endif
+
private:
virtual bool show(WebCore::Notification*) OVERRIDE;
virtual void cancel(WebCore::Notification*) OVERRIDE;
diff --git a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm
index e2a05c6a8..84a9d6acf 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm
@@ -160,9 +160,6 @@ void WebNotificationClient::notificationObjectDestroyed(Notification* notificati
void WebNotificationClient::notificationControllerDestroyed()
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- [m_webView _notificationControllerDestroyed];
-#endif
delete this;
}
@@ -230,6 +227,11 @@ NotificationClient::Permission WebNotificationClient::checkPermission(ScriptExec
}
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+uint64_t WebNotificationClient::notificationIDForTesting(WebCore::Notification* notification)
+{
+ return [m_notificationMap.get(notification).get() notificationID];
+}
+
@implementation WebNotificationPolicyListener
#if ENABLE(NOTIFICATIONS)
diff --git a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm
index 15f6dffa2..8470f5f2b 100644
--- a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm
+++ b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm
@@ -33,6 +33,7 @@
#import "WebView.h"
#import "WebViewData.h"
#import <objc/objc-runtime.h>
+#import <wtf/ObjcRuntimeExtras.h>
@implementation WebView (WebDelegateImplementationCaching)
@@ -84,7 +85,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector)
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self);
+ return wtfObjcMsgSend<id>(delegate, selector, self);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -96,7 +97,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -108,7 +109,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, NSRect r
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return reinterpret_cast<id (*)(id, SEL, WebView *, NSRect)>(objc_msgSend)(delegate, selector, self, rect);
+ return wtfObjcMsgSend<id>(delegate, selector, self, rect);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -120,7 +121,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object1, object2);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -132,7 +133,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object, boolean);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object, boolean);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -144,7 +145,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object1, object2, object3);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object1, object2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -156,7 +157,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object, integer);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object, integer);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -180,7 +181,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *)>(objc_msgSend)(delegate, selector, self);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -192,7 +193,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id)>(objc_msgSend)(delegate, selector, self, object);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self, object);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -204,7 +205,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, BOOL)>(objc_msgSend)(delegate, selector, self, object, boolean);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self, object, boolean);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -216,7 +217,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, BOOL, id)>(objc_msgSend)(delegate, selector, self, object, boolean, object2);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self, object, boolean, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -228,7 +229,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, id)>(objc_msgSend)(delegate, selector, self, object1, object2);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -240,7 +241,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self);
+ return wtfCallIMP<id>(implementation, delegate, selector, self);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -252,7 +253,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -264,7 +265,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, object2);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -276,7 +277,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, object2, object3);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -288,7 +289,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, object2, object3, object4);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2, object3, object4);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -300,7 +301,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, integer, object2);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -312,7 +313,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, integer1, integer2, object2);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer1, integer2, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -324,7 +325,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, boolean, integer1, integer2, object2);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, boolean, integer1, integer2, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -336,7 +337,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, object2, integer, object3);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2, integer, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -348,7 +349,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, integer1, object2, integer2, object3);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer1, object2, integer2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -360,7 +361,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, integer, object2, object3, object4);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer, object2, object3, object4);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -372,7 +373,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, interval, object2, object3);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, interval, object2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -502,7 +503,7 @@ id CallResourceLoadDelegate(IMP implementation, WebView *self, SEL selector, id
BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector, id object1)
{
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id)>(objc_msgSend)(self->_private->resourceProgressDelegate, selector, self, object1);
+ return wtfObjcMsgSend<BOOL>(self->_private->resourceProgressDelegate, selector, self, object1);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -512,7 +513,7 @@ BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, W
BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector, id object1, id object2)
{
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, id)>(objc_msgSend)(self->_private->resourceProgressDelegate, selector, self, object1, object2);
+ return wtfObjcMsgSend<BOOL>(self->_private->resourceProgressDelegate, selector, self, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -522,7 +523,7 @@ BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, W
BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector, id object1, id object2, id object3)
{
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, id, id)>(objc_msgSend)(self->_private->resourceProgressDelegate, selector, self, object1, object2, object3);
+ return wtfObjcMsgSend<BOOL>(self->_private->resourceProgressDelegate, selector, self, object1, object2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -577,7 +578,7 @@ id CallFormDelegate(WebView *self, SEL selector, id object1, id object2)
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, object1, object2);
+ return wtfObjcMsgSend<id>(delegate, selector, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -590,7 +591,7 @@ id CallFormDelegate(WebView *self, SEL selector, id object1, id object2, id obje
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, object1, object2, object3, object4, object5);
+ return wtfObjcMsgSend<id>(delegate, selector, object1, object2, object3, object4, object5);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -603,7 +604,7 @@ BOOL CallFormDelegateReturningBoolean(BOOL result, WebView *self, SEL selector,
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, id, SEL, id)>(objc_msgSend)(delegate, selector, object1, selectorArg, object2);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, object1, selectorArg, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
diff --git a/Source/WebKit/mac/WebView/WebFrame.mm b/Source/WebKit/mac/WebView/WebFrame.mm
index 92f9e0bb6..f91ffd8e5 100644
--- a/Source/WebKit/mac/WebView/WebFrame.mm
+++ b/Source/WebKit/mac/WebView/WebFrame.mm
@@ -598,7 +598,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
JSC::ExecState* exec = _private->coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
JSC::JSLockHolder lock(exec);
- return ustringToString(result.toString(exec)->value(exec));
+ return result.toWTFString(exec);
}
- (NSRect)_caretRectAtPosition:(const Position&)pos affinity:(NSSelectionAffinity)affinity
@@ -1124,7 +1124,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
JSC::ExecState* exec = anyWorldGlobalObject->globalExec();
JSC::JSLockHolder lock(exec);
- return ustringToString(result.toString(exec)->value(exec));
+ return result.toWTFString(exec);
}
- (JSGlobalContextRef)_globalContextForScriptWorld:(WebScriptWorld *)world
diff --git a/Source/WebKit/mac/WebView/WebHTMLView.mm b/Source/WebKit/mac/WebView/WebHTMLView.mm
index 505db5302..964995f9c 100644
--- a/Source/WebKit/mac/WebView/WebHTMLView.mm
+++ b/Source/WebKit/mac/WebView/WebHTMLView.mm
@@ -124,8 +124,10 @@
#import <WebKitSystemInterface.h>
#import <dlfcn.h>
#import <limits>
+#import <objc/objc-runtime.h>
#import <runtime/InitializeThreading.h>
#import <wtf/MainThread.h>
+#import <wtf/ObjcRuntimeExtras.h>
#if USE(ACCELERATED_COMPOSITING)
#import <QuartzCore/QuartzCore.h>
@@ -262,7 +264,7 @@ static IMP oldSetCursorForMouseLocationIMP;
static void setCursor(NSWindow *self, SEL cmd, NSPoint point)
{
if (needsCursorRectsSupportAtPoint(self, point))
- oldSetCursorForMouseLocationIMP(self, cmd, point);
+ wtfCallIMP<id>(oldSetCursorForMouseLocationIMP, self, cmd, point);
}
@@ -296,7 +298,7 @@ static IMP oldSetNeedsDisplayInRectIMP;
static void setNeedsDisplayInRect(NSView *self, SEL cmd, NSRect invalidRect)
{
if (![self _drawnByAncestor]) {
- oldSetNeedsDisplayInRectIMP(self, cmd, invalidRect);
+ wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
return;
}
@@ -306,14 +308,14 @@ static void setNeedsDisplayInRect(NSView *self, SEL cmd, NSRect invalidRect)
enclosingWebFrameView = (WebFrameView *)[enclosingWebFrameView superview];
if (!enclosingWebFrameView) {
- oldSetNeedsDisplayInRectIMP(self, cmd, invalidRect);
+ wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
return;
}
Frame* coreFrame = core([enclosingWebFrameView webFrame]);
FrameView* frameView = coreFrame ? coreFrame->view() : 0;
if (!frameView || !frameView->isEnclosedInCompositingLayer()) {
- oldSetNeedsDisplayInRectIMP(self, cmd, invalidRect);
+ wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
return;
}
@@ -6204,7 +6206,8 @@ static void extractUnderlines(NSAttributedString *string, Vector<CompositionUnde
Frame* coreFrame = core([self _frame]);
if (!coreFrame)
return nil;
- return [[[WebElementDictionary alloc] initWithHitTestResult:coreFrame->eventHandler()->hitTestResultAtPoint(IntPoint(point), allow)] autorelease];
+ HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active | (allow ? HitTestRequest::AllowShadowContent : 0);
+ return [[[WebElementDictionary alloc] initWithHitTestResult:coreFrame->eventHandler()->hitTestResultAtPoint(IntPoint(point), hitType)] autorelease];
}
- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(NSUInteger)limit markMatches:(BOOL)markMatches
diff --git a/Source/WebKit/mac/WebView/WebNotification.h b/Source/WebKit/mac/WebView/WebNotification.h
index fb9c50e5d..49255690b 100644
--- a/Source/WebKit/mac/WebView/WebNotification.h
+++ b/Source/WebKit/mac/WebView/WebNotification.h
@@ -37,6 +37,7 @@
- (NSString *)title;
- (NSString *)body;
- (NSString *)tag;
+- (NSString *)iconURL;
- (WebSecurityOrigin *)origin;
- (uint64_t)notificationID;
diff --git a/Source/WebKit/mac/WebView/WebNotification.mm b/Source/WebKit/mac/WebView/WebNotification.mm
index 6a123f6ee..2b60bfe69 100644
--- a/Source/WebKit/mac/WebView/WebNotification.mm
+++ b/Source/WebKit/mac/WebView/WebNotification.mm
@@ -84,7 +84,6 @@ Notification* core(WebNotification *notification)
- (NSString *)title
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return core(self)->title();
#else
return nil;
@@ -94,7 +93,6 @@ Notification* core(WebNotification *notification)
- (NSString *)body
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return core(self)->body();
#else
return nil;
@@ -104,17 +102,24 @@ Notification* core(WebNotification *notification)
- (NSString *)tag
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return core(self)->tag();
#else
return nil;
#endif
}
+- (NSString *)iconURL
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ return core(self)->iconURL();
+#else
+ return nil;
+#endif
+}
+
- (WebSecurityOrigin *)origin
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return [[[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:core(self)->scriptExecutionContext()->securityOrigin()] autorelease];
#else
return nil;
@@ -124,7 +129,6 @@ Notification* core(WebNotification *notification)
- (uint64_t)notificationID
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return _private->_notificationID;
#else
return 0;
@@ -134,7 +138,6 @@ Notification* core(WebNotification *notification)
- (void)dispatchShowEvent
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
core(self)->dispatchShowEvent();
#endif
}
@@ -142,7 +145,6 @@ Notification* core(WebNotification *notification)
- (void)dispatchCloseEvent
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
core(self)->dispatchCloseEvent();
#endif
}
@@ -150,7 +152,6 @@ Notification* core(WebNotification *notification)
- (void)dispatchClickEvent
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
core(self)->dispatchClickEvent();
#endif
}
@@ -158,7 +159,6 @@ Notification* core(WebNotification *notification)
- (void)dispatchErrorEvent
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
core(self)->dispatchErrorEvent();
#endif
}
diff --git a/Source/WebKit/mac/WebView/WebRenderLayer.mm b/Source/WebKit/mac/WebView/WebRenderLayer.mm
index c28264365..646dc1d83 100644
--- a/Source/WebKit/mac/WebView/WebRenderLayer.mm
+++ b/Source/WebKit/mac/WebView/WebRenderLayer.mm
@@ -28,15 +28,14 @@
#import "WebFrameInternal.h"
#import <WebCore/Frame.h>
#import <WebCore/FrameLoaderClient.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/RenderLayer.h>
#import <WebCore/RenderLayerBacking.h>
#import <WebCore/RenderView.h>
#import <WebCore/StyledElement.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
-
@interface WebRenderLayer(Private)
- (id)initWithRenderLayer:(RenderLayer *)layer;
@@ -59,13 +58,13 @@ using namespace WebCore;
if (node->hasClass()) {
StyledElement* styledElement = static_cast<StyledElement*>(node);
- String classes;
+ StringBuilder classes;
for (size_t i = 0; i < styledElement->classNames().size(); ++i) {
if (i > 0)
- classes += " ";
- classes += styledElement->classNames()[i];
+ classes.append(' ');
+ classes.append(styledElement->classNames()[i]);
}
- name = [name stringByAppendingFormat:@" class=\"%@\"", (NSString *)classes];
+ name = [name stringByAppendingFormat:@" class=\"%@\"", (NSString *)classes.toString()];
}
}
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm b/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm
index 50b84be24..6cea5a984 100644
--- a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm
+++ b/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm
@@ -175,18 +175,18 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
return [NSArray array];
- ScopeChainNode* scopeChain = _private->debuggerCallFrame->scopeChain();
- JSLockHolder lock(scopeChain->globalData);
- if (!scopeChain->next) // global frame
+ JSScope* scope = _private->debuggerCallFrame->scope();
+ JSLockHolder lock(scope->globalData());
+ if (!scope->next()) // global frame
return [NSArray arrayWithObject:_private->globalObject];
NSMutableArray *scopes = [[NSMutableArray alloc] init];
- ScopeChainIterator end = scopeChain->end();
- for (ScopeChainIterator it = scopeChain->begin(); it != end; ++it) {
- JSObject* object = it->get();
+ ScopeChainIterator end = scope->end();
+ for (ScopeChainIterator it = scope->begin(); it != end; ++it) {
+ JSObject* object = it.get();
if (object->isActivationObject())
- object = DebuggerActivation::create(*scopeChain->globalData, object);
+ object = DebuggerActivation::create(*scope->globalData(), object);
[scopes addObject:[self _convertValueToObjcValue:object]];
}
@@ -203,8 +203,8 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
if (!_private->debuggerCallFrame)
return nil;
- const UString* functionName = _private->debuggerCallFrame->functionName();
- return functionName ? toNSString(*functionName) : nil;
+ const String* functionName = _private->debuggerCallFrame->functionName();
+ return functionName ? nsStringNilIfEmpty(*functionName) : nil;
}
// Returns the pending exception for this frame (nil if none).
@@ -242,14 +242,14 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
DynamicGlobalObjectScope globalObjectScope(globalObject->globalData(), globalObject);
JSValue exception;
- JSValue result = evaluateInGlobalCallFrame(stringToUString(script), exception, globalObject);
+ JSValue result = evaluateInGlobalCallFrame(script, exception, globalObject);
if (exception)
return [self _convertValueToObjcValue:exception];
return result ? [self _convertValueToObjcValue:result] : nil;
}
JSValue exception;
- JSValue result = _private->debuggerCallFrame->evaluate(stringToUString(script), exception);
+ JSValue result = _private->debuggerCallFrame->evaluate(script, exception);
if (exception)
return [self _convertValueToObjcValue:exception];
return result ? [self _convertValueToObjcValue:result] : nil;
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugger.h b/Source/WebKit/mac/WebView/WebScriptDebugger.h
index b551f7dc8..c7da8fe1f 100644
--- a/Source/WebKit/mac/WebView/WebScriptDebugger.h
+++ b/Source/WebKit/mac/WebView/WebScriptDebugger.h
@@ -34,26 +34,27 @@
#include <wtf/RetainPtr.h>
+namespace WTF {
+class String;
+}
+
namespace JSC {
class DebuggerCallFrame;
class ExecState;
class JSGlobalObject;
class JSObject;
class ArgList;
- class UString;
}
@class WebScriptCallFrame;
-NSString *toNSString(const JSC::UString&);
-
class WebScriptDebugger : public JSC::Debugger {
public:
WebScriptDebugger(JSC::JSGlobalObject*);
void initGlobalCallFrame(const JSC::DebuggerCallFrame&);
- virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const JSC::UString& errorMsg);
+ virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const WTF::String& errorMsg);
virtual void callEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
virtual void atStatement(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
virtual void returnEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugger.mm b/Source/WebKit/mac/WebView/WebScriptDebugger.mm
index 4ffe725b8..13c4f7cec 100644
--- a/Source/WebKit/mac/WebView/WebScriptDebugger.mm
+++ b/Source/WebKit/mac/WebView/WebScriptDebugger.mm
@@ -51,13 +51,6 @@ using namespace WebCore;
- (void)_clearDebuggerCallFrame;
@end
-NSString *toNSString(const UString& s)
-{
- if (s.isEmpty())
- return nil;
- return [NSString stringWithCharacters:reinterpret_cast<const unichar*>(s.characters()) length:s.length()];
-}
-
static NSString *toNSString(SourceProvider* s)
{
if (!s->length())
@@ -65,12 +58,12 @@ static NSString *toNSString(SourceProvider* s)
return [NSString stringWithCharacters:s->data()->characters() length:s->length()];
}
-// convert UString to NSURL
-static NSURL *toNSURL(const UString& s)
+// Convert String to NSURL.
+static NSURL *toNSURL(const String& s)
{
if (s.isEmpty())
return nil;
- return KURL(ParsedURLString, ustringToString(s));
+ return KURL(ParsedURLString, s);
}
static WebFrame *toWebFrame(JSGlobalObject* globalObject)
@@ -105,7 +98,7 @@ void WebScriptDebugger::initGlobalCallFrame(const DebuggerCallFrame& debuggerCal
}
// callbacks - relay to delegate
-void WebScriptDebugger::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const UString& errorMsg)
+void WebScriptDebugger::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String& errorMsg)
{
if (m_callingDelegate)
return;
@@ -128,7 +121,7 @@ void WebScriptDebugger::sourceParsed(ExecState* exec, SourceProvider* sourceProv
CallScriptDebugDelegate(implementations->didParseSourceFunc, webView, @selector(webView:didParseSource:fromURL:sourceId:forWebFrame:), nsSource, [nsURL absoluteString], sourceProvider->asID(), webFrame);
}
} else {
- NSString* nsErrorMessage = toNSString(errorMsg);
+ NSString* nsErrorMessage = nsStringNilIfEmpty(errorMsg);
NSDictionary *info = [[NSDictionary alloc] initWithObjectsAndKeys:nsErrorMessage, WebScriptErrorDescriptionKey, [NSNumber numberWithUnsignedInt:errorLine], WebScriptErrorLineNumberKey, nil];
NSError *error = [[NSError alloc] initWithDomain:WebScriptErrorDomain code:WebScriptGeneralErrorCode userInfo:info];
diff --git a/Source/WebKit/mac/WebView/WebView.mm b/Source/WebKit/mac/WebView/WebView.mm
index 2bfaf2481..7b8412cfe 100644
--- a/Source/WebKit/mac/WebView/WebView.mm
+++ b/Source/WebKit/mac/WebView/WebView.mm
@@ -143,10 +143,13 @@
#import <WebCore/JSDocument.h>
#import <WebCore/JSElement.h>
#import <WebCore/JSNodeList.h>
+#import <WebCore/JSNotification.h>
#import <WebCore/Logging.h>
#import <WebCore/MemoryPressureHandler.h>
#import <WebCore/MIMETypeRegistry.h>
#import <WebCore/NodeList.h>
+#import <WebCore/Notification.h>
+#import <WebCore/NotificationController.h>
#import <WebCore/Page.h>
#import <WebCore/PageCache.h>
#import <WebCore/PageGroup.h>
@@ -1137,6 +1140,8 @@ static bool fastDocumentTeardownEnabled()
[self _clearGlibLoopObserver];
#endif
+ [[self _notificationProvider] unregisterWebView:self];
+
[[NSDistributedNotificationCenter defaultCenter] removeObserver:self];
[[NSNotificationCenter defaultCenter] removeObserver:self];
@@ -1782,7 +1787,7 @@ static inline IMP getMethod(id o, SEL s)
HTMLNames::init(); // this method is used for importing bookmarks at startup, so HTMLNames are likely to be uninitialized yet
RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create("text/html"); // bookmark files are HTML
String result = decoder->decode(static_cast<const char*>([data bytes]), [data length]);
- result += decoder->flush();
+ result.append(decoder->flush());
return result;
}
@@ -4785,7 +4790,7 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu
if (jsValue.isBoolean())
return [NSAppleEventDescriptor descriptorWithBoolean:jsValue.asBoolean()];
if (jsValue.isString())
- return [NSAppleEventDescriptor descriptorWithString:ustringToString(jsValue.getString(exec))];
+ return [NSAppleEventDescriptor descriptorWithString:jsValue.getString(exec)];
if (jsValue.isNumber()) {
double value = jsValue.asNumber();
int intValue = value;
@@ -6514,17 +6519,12 @@ static void glibContextIterationCallback(CFRunLoopObserverRef, CFRunLoopActivity
@implementation WebView (WebViewNotification)
- (void)_setNotificationProvider:(id<WebNotificationProvider>)notificationProvider
{
- if (_private) {
+ if (_private && !_private->_notificationProvider) {
_private->_notificationProvider = notificationProvider;
[_private->_notificationProvider registerWebView:self];
}
}
-- (void)_notificationControllerDestroyed
-{
- [[self _notificationProvider] unregisterWebView:self];
-}
-
- (id<WebNotificationProvider>)_notificationProvider
{
if (_private)
@@ -6546,6 +6546,17 @@ static void glibContextIterationCallback(CFRunLoopObserverRef, CFRunLoopActivity
{
[[self _notificationProvider] webView:self didCloseNotifications:notificationIDs];
}
+
+- (uint64_t)_notificationIDForTesting:(JSValueRef)jsNotification
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ JSContextRef context = [[self mainFrame] globalContext];
+ WebCore::Notification* notification = toNotification(toJS(toJS(context), jsNotification));
+ return static_cast<WebNotificationClient*>(NotificationController::clientFrom(_private->page))->notificationIDForTesting(notification);
+#else
+ return 0;
+#endif
+}
@end
@implementation WebView (WebViewPrivateStyleInfo)
diff --git a/Source/WebKit/mac/WebView/WebViewData.h b/Source/WebKit/mac/WebView/WebViewData.h
index 04d7e057a..ade30f1cc 100644
--- a/Source/WebKit/mac/WebView/WebViewData.h
+++ b/Source/WebKit/mac/WebView/WebViewData.h
@@ -32,11 +32,11 @@
#import <WebCore/AlternativeTextClient.h>
#import <WebCore/LayerFlushScheduler.h>
#import <WebCore/LayerFlushSchedulerClient.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/WebCoreKeyboardUIMode.h>
#import <wtf/HashMap.h>
#import <wtf/PassOwnPtr.h>
#import <wtf/RetainPtr.h>
+#import <wtf/text/WTFString.h>
namespace WebCore {
class AlternativeTextUIController;
diff --git a/Source/WebKit/mac/WebView/WebViewPrivate.h b/Source/WebKit/mac/WebView/WebViewPrivate.h
index c20daabfb..826474e41 100644
--- a/Source/WebKit/mac/WebView/WebViewPrivate.h
+++ b/Source/WebKit/mac/WebView/WebViewPrivate.h
@@ -734,11 +734,12 @@ Could be worth adding to the API.
@interface WebView (WebViewNotification)
- (void)_setNotificationProvider:(id<WebNotificationProvider>)notificationProvider;
- (id<WebNotificationProvider>)_notificationProvider;
-- (void)_notificationControllerDestroyed;
- (void)_notificationDidShow:(uint64_t)notificationID;
- (void)_notificationDidClick:(uint64_t)notificationID;
- (void)_notificationsDidClose:(NSArray *)notificationIDs;
+
+- (uint64_t)_notificationIDForTesting:(JSValueRef)jsNotification;
@end
@interface WebView (WebViewPrivateStyleInfo)
diff --git a/Source/WebKit/qt/Api/qwebdatabase_p.h b/Source/WebKit/qt/Api/qwebdatabase_p.h
index 298470442..80cb804a6 100644
--- a/Source/WebKit/qt/Api/qwebdatabase_p.h
+++ b/Source/WebKit/qt/Api/qwebdatabase_p.h
@@ -22,9 +22,9 @@
#include <QString>
#include <QtCore/qshareddata.h>
-#include "PlatformString.h"
#include "SecurityOrigin.h"
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
class QWebDatabasePrivate : public QSharedData {
diff --git a/Source/WebKit/qt/Api/qwebelement.cpp b/Source/WebKit/qt/Api/qwebelement.cpp
index a208cbc4e..298f6cdc3 100644
--- a/Source/WebKit/qt/Api/qwebelement.cpp
+++ b/Source/WebKit/qt/Api/qwebelement.cpp
@@ -20,6 +20,7 @@
#include "config.h"
#include "qwebelement.h"
+#include "APICast.h"
#include "qwebelement_p.h"
#include "CSSComputedStyleDeclaration.h"
#include "CSSParser.h"
@@ -545,7 +546,7 @@ QRect QWebElement::geometry() const
{
if (!m_element)
return QRect();
- return m_element->getPixelSnappedRect();
+ return m_element->pixelSnappedBoundingBox();
}
/*!
@@ -750,16 +751,16 @@ QVariant QWebElement::evaluateJavaScript(const QString& scriptSource)
if (!setupScriptContext(m_element, thisValue, state, scriptController))
return QVariant();
- JSC::ScopeChainNode* scopeChain = state->dynamicGlobalObject()->globalScopeChain();
- JSC::UString script(reinterpret_cast_ptr<const UChar*>(scriptSource.data()), scriptSource.length());
+ String script(reinterpret_cast_ptr<const UChar*>(scriptSource.data()), scriptSource.length());
JSC::JSValue evaluationException;
- JSC::JSValue evaluationResult = JSC::evaluate(state, scopeChain, JSC::makeSource(script), thisValue, &evaluationException);
+ JSC::JSValue evaluationResult = JSC::evaluate(state, JSC::makeSource(script), thisValue, &evaluationException);
if (evaluationException)
return QVariant();
int distance = 0;
- return JSC::Bindings::convertValueToQVariant(state, evaluationResult, QMetaType::Void, &distance);
+ JSValueRef* ignoredException = 0;
+ return JSC::Bindings::convertValueToQVariant(toRef(state), toRef(state, evaluationResult), QMetaType::Void, &distance, ignoredException);
}
/*!
@@ -1453,7 +1454,7 @@ void QWebElement::render(QPainter* painter, const QRect& clip)
view->updateLayoutAndStyleIfNeededRecursive();
- IntRect rect = e->getPixelSnappedRect();
+ IntRect rect = e->pixelSnappedBoundingBox();
if (rect.size().isEmpty())
return;
@@ -2046,7 +2047,7 @@ Element* QtWebElementRuntime::get(const QWebElement& element)
return element.m_element;
}
-static QVariant convertJSValueToWebElementVariant(JSC::JSObject* object, int *distance, HashSet<JSC::JSObject*>* visitedObjects)
+static QVariant convertJSValueToWebElementVariant(JSC::JSObject* object, int *distance, HashSet<JSObjectRef>* visitedObjects)
{
Element* element = 0;
QVariant ret;
@@ -2055,7 +2056,7 @@ static QVariant convertJSValueToWebElementVariant(JSC::JSObject* object, int *di
*distance = 0;
// Allow other objects to reach this one. This won't cause our algorithm to
// loop since when we find an Element we do not recurse.
- visitedObjects->remove(object);
+ visitedObjects->remove(toRef(object));
} else if (object && object->inherits(&JSDocument::s_info)) {
// To support TestRunnerQt::nodesFromRect(), used in DRT, we do an implicit
// conversion from 'document' to the QWebElement representing the 'document.documentElement'.
diff --git a/Source/WebKit/qt/Api/qwebframe.cpp b/Source/WebKit/qt/Api/qwebframe.cpp
index 22e47c55d..8ac18f8e3 100644
--- a/Source/WebKit/qt/Api/qwebframe.cpp
+++ b/Source/WebKit/qt/Api/qwebframe.cpp
@@ -1406,7 +1406,7 @@ QWebHitTestResult QWebFrame::hitTestContent(const QPoint &pos) const
if (!d->frame->view() || !d->frame->contentRenderer())
return QWebHitTestResult();
- HitTestResult result = d->frame->eventHandler()->hitTestResultAtPoint(d->frame->view()->windowToContents(pos), /*allowShadowContent*/ false, /*ignoreClipping*/ true);
+ HitTestResult result = d->frame->eventHandler()->hitTestResultAtPoint(d->frame->view()->windowToContents(pos), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping);
if (result.scrollbar())
return QWebHitTestResult();
@@ -1534,8 +1534,9 @@ QVariant QWebFrame::evaluateJavaScript(const QString& scriptSource)
if (proxy) {
int distance = 0;
JSC::JSValue v = d->frame->script()->executeScript(ScriptSourceCode(scriptSource)).jsValue();
-
- rc = JSC::Bindings::convertValueToQVariant(proxy->globalObject(mainThreadNormalWorld())->globalExec(), v, QMetaType::Void, &distance);
+ JSC::ExecState* exec = proxy->globalObject(mainThreadNormalWorld())->globalExec();
+ JSValueRef* ignoredException = 0;
+ rc = JSC::Bindings::convertValueToQVariant(toRef(exec), toRef(exec, v), QMetaType::Void, &distance, ignoredException);
}
return rc;
}
diff --git a/Source/WebKit/qt/Api/qwebframe_p.h b/Source/WebKit/qt/Api/qwebframe_p.h
index 3201aaa57..d6779f2bc 100644
--- a/Source/WebKit/qt/Api/qwebframe_p.h
+++ b/Source/WebKit/qt/Api/qwebframe_p.h
@@ -27,7 +27,6 @@
#include "EventHandler.h"
#include "GraphicsContext.h"
#include "KURL.h"
-#include "PlatformString.h"
#if ENABLE(ORIENTATION_EVENTS)
#include "qorientationsensor.h"
#endif // ENABLE(ORIENTATION_EVENTS).
@@ -35,6 +34,7 @@
#include "wtf/RefPtr.h"
#include "Frame.h"
#include "ViewportArguments.h"
+#include <wtf/text/WTFString.h>
#if USE(ACCELERATED_COMPOSITING)
#include "texmap/TextureMapper.h"
diff --git a/Source/WebKit/qt/Api/qwebhistory.cpp b/Source/WebKit/qt/Api/qwebhistory.cpp
index 712c28f88..4bf63583b 100644
--- a/Source/WebKit/qt/Api/qwebhistory.cpp
+++ b/Source/WebKit/qt/Api/qwebhistory.cpp
@@ -29,7 +29,7 @@
#include "KURL.h"
#include "Page.h"
#include "PageGroup.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include <QSharedData>
#include <QDebug>
diff --git a/Source/WebKit/qt/Api/qwebhistoryinterface.cpp b/Source/WebKit/qt/Api/qwebhistoryinterface.cpp
index 40ff5c99b..305ff6781 100644
--- a/Source/WebKit/qt/Api/qwebhistoryinterface.cpp
+++ b/Source/WebKit/qt/Api/qwebhistoryinterface.cpp
@@ -25,7 +25,7 @@
#include <QCoreApplication>
#include "PageGroup.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
static QWebHistoryInterface* default_interface;
diff --git a/Source/WebKit/qt/Api/qwebpage.cpp b/Source/WebKit/qt/Api/qwebpage.cpp
index 08e86183a..e1c06515b 100644
--- a/Source/WebKit/qt/Api/qwebpage.cpp
+++ b/Source/WebKit/qt/Api/qwebpage.cpp
@@ -757,21 +757,13 @@ void QWebPagePrivate::handleClipboard(QEvent* ev, Qt::MouseButton button)
{
#ifndef QT_NO_CLIPBOARD
if (QApplication::clipboard()->supportsSelection()) {
- bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
- Pasteboard::generalPasteboard()->setSelectionMode(true);
WebCore::Frame* focusFrame = page->focusController()->focusedOrMainFrame();
- if (button == Qt::LeftButton) {
- if (focusFrame && (focusFrame->editor()->canCopy() || focusFrame->editor()->canDHTMLCopy())) {
- Pasteboard::generalPasteboard()->writeSelection(focusFrame->editor()->selectedRange().get(), focusFrame->editor()->canSmartCopyOrDelete(), focusFrame);
- ev->setAccepted(true);
- }
- } else if (button == Qt::MidButton) {
- if (focusFrame && (focusFrame->editor()->canPaste() || focusFrame->editor()->canDHTMLPaste())) {
- focusFrame->editor()->paste();
+ if (button == Qt::MidButton) {
+ if (focusFrame) {
+ focusFrame->editor()->command(AtomicString("PasteGlobalSelection")).execute();
ev->setAccepted(true);
}
}
- Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
}
#endif
}
@@ -808,7 +800,7 @@ void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button, const QPo
QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
client->ownerWidget()->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
if (!clickCausedFocus || behavior == QStyle::RSIP_OnMouseClick) {
- HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(pos), false);
+ HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(pos));
if (result.isContentEditable()) {
QEvent event(QEvent::RequestSoftwareInputPanel);
QApplication::sendEvent(client->ownerWidget(), &event);
@@ -1565,7 +1557,7 @@ IntPoint QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch(const IntPoi
int x = touchPoint.x();
int y = touchPoint.y();
- RefPtr<NodeList> intersectedNodes = document->nodesFromRect(x, y, m_topPadding, m_rightPadding, m_bottomPadding, m_leftPadding, false /*ignoreClipping*/, false /*allowShadowContent*/);
+ RefPtr<NodeList> intersectedNodes = document->nodesFromRect(x, y, m_topPadding, m_rightPadding, m_bottomPadding, m_leftPadding);
if (!intersectedNodes)
return IntPoint();
@@ -1585,7 +1577,7 @@ IntPoint QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch(const IntPoi
if (!currentElement || (!isClickableElement(currentElement, 0) && !isValidFrameOwner(currentElement)))
continue;
- IntRect currentElementBoundingRect = currentElement->getPixelSnappedRect();
+ IntRect currentElementBoundingRect = currentElement->pixelSnappedBoundingBox();
currentElementBoundingRect.intersect(touchRect);
if (currentElementBoundingRect.isEmpty())
@@ -3371,7 +3363,7 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
d->createMainFrame();
WebCore::Frame* focusedFrame = d->page->focusController()->focusedOrMainFrame();
- HitTestResult result = focusedFrame->eventHandler()->hitTestResultAtPoint(focusedFrame->view()->windowToContents(pos), /*allowShadowContent*/ false);
+ HitTestResult result = focusedFrame->eventHandler()->hitTestResultAtPoint(focusedFrame->view()->windowToContents(pos));
if (result.scrollbar())
d->hitTestResult = QWebHitTestResult();
else
diff --git a/Source/WebKit/qt/Api/qwebpage_p.h b/Source/WebKit/qt/Api/qwebpage_p.h
index ca3aa94ad..a8e373bca 100644
--- a/Source/WebKit/qt/Api/qwebpage_p.h
+++ b/Source/WebKit/qt/Api/qwebpage_p.h
@@ -34,10 +34,10 @@
#include "IntPoint.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/OwnPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
#include "ViewportArguments.h"
diff --git a/Source/WebKit/qt/Api/qwebsettings.cpp b/Source/WebKit/qt/Api/qwebsettings.cpp
index 741457f47..0f504f817 100644
--- a/Source/WebKit/qt/Api/qwebsettings.cpp
+++ b/Source/WebKit/qt/Api/qwebsettings.cpp
@@ -36,7 +36,6 @@
#include "PageCache.h"
#include "Settings.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "IconDatabase.h"
#include "PluginDatabase.h"
#include "Image.h"
@@ -44,6 +43,7 @@
#include "ApplicationCacheStorage.h"
#include "DatabaseTracker.h"
#include "FileSystem.h"
+#include <wtf/text/WTFString.h>
#include <QApplication>
#include <QStandardPaths>
diff --git a/Source/WebKit/qt/ChangeLog b/Source/WebKit/qt/ChangeLog
index 8c13066b1..1ae43c77a 100644
--- a/Source/WebKit/qt/ChangeLog
+++ b/Source/WebKit/qt/ChangeLog
@@ -1,3 +1,229 @@
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Update qwebelement and qwebpage to call pixelSnappedBoundingBox.
+
+ * Api/qwebelement.cpp:
+ (QWebElement::geometry):
+ (QWebElement::render):
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::hitTestContent):
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::handleSoftwareInputPanel):
+ (QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch):
+ (QWebPage::updatePositionDependentActions):
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ X11 Global Selection
+ https://bugs.webkit.org/show_bug.cgi?id=88238
+
+ Reviewed by Tony Chang.
+
+ Use new editor command for pasting global selection, and update it using
+ the respondToChangedSelection callback.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::handleClipboard):
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::respondToChangedSelection):
+ (WebCore::EditorClientQt::supportsGlobalSelection):
+ * WebCoreSupport/EditorClientQt.h:
+ (EditorClientQt):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * Api/qwebdatabase_p.h:
+ * Api/qwebframe_p.h:
+ * Api/qwebhistory.cpp:
+ * Api/qwebhistoryinterface.cpp:
+ * Api/qwebpage_p.h:
+ * Api/qwebsettings.cpp:
+ * WebCoreSupport/ChromeClientQt.h:
+ * WebCoreSupport/InspectorClientQt.cpp:
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
+2012-09-04 Jon Lee <jonlee@apple.com>
+
+ [Qt] REGRESSION(r127321): It made 3 notification test timeout
+ https://bugs.webkit.org/show_bug.cgi?id=95638
+
+ Reviewed by Csaba Osztrogonác.
+
+ Dispatch show event instead of display after r127321.
+
+ * WebCoreSupport/NotificationPresenterClientQt.cpp:
+ (WebCore::NotificationPresenterClientQt::sendDisplayEvent):
+
+2012-08-31 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Port convertValueToQVariant to use the JSC C API
+ https://bugs.webkit.org/show_bug.cgi?id=94695
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Minor adaptations are needed here to accomodate the changed signature of
+ convertValueToQVariant.
+
+ * Api/qwebelement.cpp:
+ (QWebElement::evaluateJavaScript):
+ (convertJSValueToWebElementVariant):
+ * Api/qwebframe.cpp:
+ (QWebFrame::evaluateJavaScript):
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (convertJSValueToNodeVariant):
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Use one object instead of two for closures, eliminating ScopeChainNode
+ https://bugs.webkit.org/show_bug.cgi?id=95501
+
+ Reviewed by Filip Pizlo.
+
+ Mechanical change to update for JSC interface change.
+
+ * Api/qwebelement.cpp:
+ (QWebElement::evaluateJavaScript):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * Api/qwebelement.cpp:
+ (QWebElement::evaluateJavaScript):
+
+2012-08-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix doc generation with make docs
+ https://bugs.webkit.org/show_bug.cgi?id=95340
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix doc target, similar to what the other Qt 5 modules are using and comment out the indexes
+ line, because cross-referencing doesn't work right now and the use of the QTDIR environment
+ is wrong, too.
+
+ * docs/docs.pri:
+ * docs/qtwebkit.qdocconf:
+
+2012-08-22 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=93897
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fixed some test expectations.
+
+ * tests/qobjectbridge/tst_qobjectbridge.cpp:
+ (tst_QObjectBridge::objectDeleted): Since runtime methods are real function objects again, we
+ can go back to testing Function.prototype.call, as it was done before r125428.
+ (tst_QObjectBridge::introspectQtMethods_data): Removed tests for the length property.
+ (tst_QObjectBridge::introspectQtMethods): Changed test expectation of the properties of
+ run-time methods back to being non-configurable, as before r125428.
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * Api/qwebpage.cpp:
+ (extractContentTypeFromPluginVector):
+ * Api/qwebplugindatabase.cpp:
+ (QWebPluginInfo::mimeTypes):
+ * WebCoreSupport/PlatformStrategiesQt.cpp:
+ (PlatformStrategiesQt::getPluginInfo):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Api/qwebpage.cpp:
+ (extractContentTypeFromPluginVector):
+ * Api/qwebplugindatabase.cpp:
+ (QWebPluginInfo::mimeTypes):
+ * WebCoreSupport/PlatformStrategiesQt.cpp:
+ (PlatformStrategiesQt::getPluginInfo):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * Api/qwebpage.cpp:
+ (extractContentTypeFromPluginVector):
+ * Api/qwebplugindatabase.cpp:
+ (QWebPluginInfo::mimeTypes):
+ * WebCoreSupport/PlatformStrategiesQt.cpp:
+ (PlatformStrategiesQt::getPluginInfo):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Api/qwebpage.cpp:
+ (extractContentTypeFromPluginVector):
+ * Api/qwebplugindatabase.cpp:
+ (QWebPluginInfo::mimeTypes):
+ * WebCoreSupport/PlatformStrategiesQt.cpp:
+ (PlatformStrategiesQt::getPluginInfo):
+
2012-08-22 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r126287.
diff --git a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
index 79d43b3f7..27368e7f1 100644
--- a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
@@ -32,10 +32,10 @@
#include "ChromeClient.h"
#include "FloatRect.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "QtPlatformPlugin.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
QT_BEGIN_NAMESPACE
class QEventLoop;
diff --git a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
index 714f560f0..ac1654ec0 100644
--- a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
@@ -166,7 +166,7 @@ WebCore::Node* QtDRTNodeRuntime::get(const QDRTNode& node)
return node.m_node;
}
-static QVariant convertJSValueToNodeVariant(JSC::JSObject* object, int *distance, HashSet<JSC::JSObject*>*)
+static QVariant convertJSValueToNodeVariant(JSC::JSObject* object, int *distance, HashSet<JSObjectRef>*)
{
if (!object || !object->inherits(&JSNode::s_info))
return QVariant();
@@ -386,15 +386,6 @@ void DumpRenderTreeSupportQt::garbageCollectorCollectOnAlternateThread(bool wait
gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
}
-int DumpRenderTreeSupportQt::numberOfPages(QWebFrame* frame, float width, float height)
-{
- Frame* coreFrame = QWebFramePrivate::core(frame);
- if (!coreFrame)
- return -1;
-
- return PrintContext::numberOfPages(coreFrame, FloatSize(width, height));
-}
-
// Suspend active DOM objects in this frame.
void DumpRenderTreeSupportQt::suspendActiveDOMObjects(QWebFrame* frame)
{
@@ -858,19 +849,6 @@ void DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld(QWebFrame* frame, in
proxy->executeScriptInWorld(scriptWorld->world(), script, true);
}
-QString DumpRenderTreeSupportQt::pageSizeAndMarginsInPixels(QWebFrame* frame, int pageIndex, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft)
-{
- WebCore::Frame* coreFrame = QWebFramePrivate::core(frame);
- return PrintContext::pageSizeAndMarginsInPixels(coreFrame, pageIndex, width, height,
- marginTop, marginRight, marginBottom, marginLeft);
-}
-
-QString DumpRenderTreeSupportQt::pageProperty(QWebFrame* frame, const QString& propertyName, int pageNumber)
-{
- WebCore::Frame* coreFrame = QWebFramePrivate::core(frame);
- return PrintContext::pageProperty(coreFrame, propertyName.toUtf8().constData(), pageNumber);
-}
-
void DumpRenderTreeSupportQt::addUserStyleSheet(QWebPage* page, const QString& sourceCode)
{
page->handle()->page->group().addUserStyleSheetToWorld(mainThreadNormalWorld(), sourceCode, QUrl(), nullptr, nullptr, WebCore::InjectInAllFrames);
diff --git a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
index 5ed249222..92759acd3 100644
--- a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
@@ -127,7 +127,6 @@ public:
static void clearFrameName(QWebFrame* frame);
static void overwritePluginDirectories();
static int numberOfActiveAnimations(QWebFrame*);
- static int numberOfPages(QWebFrame* frame, float width, float height);
static bool hasDocumentElement(QWebFrame* frame);
static bool elementDoesAutoCompleteForElementWithId(QWebFrame* frame, const QString& elementId);
static void setWindowsBehaviorAsEditingBehavior(QWebPage*);
@@ -179,8 +178,6 @@ public:
static void setCustomPolicyDelegate(bool enabled, bool permissive);
- static QString pageSizeAndMarginsInPixels(QWebFrame* frame, int pageIndex, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft);
- static QString pageProperty(QWebFrame* frame, const QString& propertyName, int pageNumber);
static void addUserStyleSheet(QWebPage* page, const QString& sourceCode);
static void removeUserStyleSheets(QWebPage*);
static void simulateDesktopNotificationClick(const QString& title);
diff --git a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index 166e0063f..a5a1d80d9 100644
--- a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -42,6 +42,7 @@
#include "KeyboardEvent.h"
#include "NotImplemented.h"
#include "Page.h"
+#include "Pasteboard.h"
#include "PlatformKeyboardEvent.h"
#include "QWebPageClient.h"
#include "Range.h"
@@ -49,9 +50,11 @@
#include "SpatialNavigation.h"
#include "StylePropertySet.h"
#include "WindowsKeyboardCodes.h"
+#include "qguiapplication.h"
#include "qwebpage.h"
#include "qwebpage_p.h"
+#include <QClipboard>
#include <QUndoStack>
#include <stdio.h>
#include <wtf/OwnPtr.h>
@@ -210,6 +213,13 @@ void EditorClientQt::respondToChangedSelection(Frame* frame)
// selection.formatForDebugger(buffer, sizeof(buffer));
// printf("%s\n", buffer);
+ if (supportsGlobalSelection() && frame->selection()->isRange()) {
+ bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
+ Pasteboard::generalPasteboard()->setSelectionMode(true);
+ Pasteboard::generalPasteboard()->writeSelection(frame->selection()->toNormalizedRange().get(), frame->editor()->canSmartCopyOrDelete(), frame);
+ Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
+ }
+
m_page->d->updateEditorActions();
emit m_page->selectionChanged();
if (!frame->editor()->ignoreCompositionSelectionChange())
@@ -632,6 +642,11 @@ void EditorClientQt::setInputMethodState(bool active)
emit m_page->microFocusChanged();
}
+bool EditorClientQt::supportsGlobalSelection()
+{
+ return qApp->clipboard()->supportsSelection();
+}
+
}
// vim: ts=4 sw=4 et
diff --git a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
index a25795ea0..863c67b71 100644
--- a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
@@ -105,6 +105,8 @@ public:
virtual void setInputMethodState(bool enabled);
virtual TextCheckerClient* textChecker() { return &m_textCheckerClient; }
+ virtual bool supportsGlobalSelection() OVERRIDE;
+
bool isEditing() const;
static bool dumpEditingCallbacks;
diff --git a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index bcf072d65..72a5e0049 100644
--- a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -1272,7 +1272,7 @@ void FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFun
if (event->isMouseEvent()) {
const MouseEvent* mouseEvent = static_cast<const MouseEvent*>(event);
node = QWebFramePrivate::core(m_webFrame)->eventHandler()->hitTestResultAtPoint(
- mouseEvent->absoluteLocation(), false).innerNonSharedNode();
+ mouseEvent->absoluteLocation()).innerNonSharedNode();
break;
}
}
diff --git a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
index 5595cc603..daa593d7e 100644
--- a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
@@ -38,7 +38,6 @@
#include "InspectorServerQt.h"
#include "NotImplemented.h"
#include "Page.h"
-#include "PlatformString.h"
#include "ScriptDebugServer.h"
#include "qwebinspector.h"
#include "qwebinspector_p.h"
diff --git a/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
index d693c4a95..56ed0b4cb 100644
--- a/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
@@ -384,7 +384,7 @@ void NotificationPresenterClientQt::sendDisplayEvent(NotificationWrapper* wrappe
{
Notification* notification = notificationForWrapper(wrapper);
if (notification)
- sendEvent(notification, "display");
+ sendEvent(notification, "show");
}
diff --git a/Source/WebKit/qt/docs/docs.pri b/Source/WebKit/qt/docs/docs.pri
index 2d9a0941e..b95f924f7 100644
--- a/Source/WebKit/qt/docs/docs.pri
+++ b/Source/WebKit/qt/docs/docs.pri
@@ -1,13 +1,12 @@
-unix {
- QDOC = SRCDIR=$$PWD/../../.. OUTPUT_DIR=$${ROOT_BUILD_DIR} $$(QTDIR)/bin/qdoc3
-} else {
- QDOC = $$(QTDIR)\\bin\\qdoc3.exe
-}
+QDOC = $$QT.core.bins/qdoc
-unix {
- docs.commands = $$QDOC $$PWD/qtwebkit.qdocconf
+$$unixstyle {
} else {
- docs.commands = \"$$QDOC $$PWD/qtwebkit.qdocconf\"
+ QDOC = $$replace(QDOC, "qdoc", "qdoc3.exe")
}
+QDOC = SRCDIR=$$PWD/../../.. OUTPUT_DIR=$${ROOT_BUILD_DIR} $$QDOC
+
+docs.commands = $$QDOC $$PWD/qtwebkit.qdocconf
+
QMAKE_EXTRA_TARGETS += docs
diff --git a/Source/WebKit/qt/docs/qtwebkit.qdocconf b/Source/WebKit/qt/docs/qtwebkit.qdocconf
index 1f51ea37e..23d277001 100644
--- a/Source/WebKit/qt/docs/qtwebkit.qdocconf
+++ b/Source/WebKit/qt/docs/qtwebkit.qdocconf
@@ -11,7 +11,7 @@ sources.fileextensions = "*.cpp *.doc *.qdoc *.h"
exampledirs = $SRCDIR/WebKit/qt/docs
imagedirs = $SRCDIR/WebKit/qt/docs
-indexes = $QTDIR/doc/html/qt.index
+#indexes = $QTDIR/doc/html/qt.index
# macros.qdocconf
diff --git a/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp b/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
index 2ce791d89..13d98af93 100644
--- a/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
+++ b/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
@@ -1879,7 +1879,7 @@ void tst_QObjectBridge::objectDeleted()
evalJS("bar.intProperty = 123;");
QCOMPARE(qobj->intProperty(), 123);
qobj->resetQtFunctionInvoked();
- evalJS("bar.myInvokable(bar);");
+ evalJS("bar.myInvokable.call(bar);");
QCOMPARE(qobj->qtFunctionInvoked(), 0);
// do this, to ensure that we cache that it implements call
@@ -2148,15 +2148,15 @@ void tst_QObjectBridge::introspectQtMethods_data()
QTest::addColumn<QStringList>("expectedPropertyNames");
QTest::newRow("myObject.mySignal")
- << "myObject" << "mySignal" << (QStringList() << "connect" << "disconnect" << "length" << "name");
+ << "myObject" << "mySignal" << (QStringList() << "connect" << "disconnect" << "name");
QTest::newRow("myObject.mySlot")
- << "myObject" << "mySlot" << (QStringList() << "connect" << "disconnect" << "length" << "name");
+ << "myObject" << "mySlot" << (QStringList() << "connect" << "disconnect" << "name");
QTest::newRow("myObject.myInvokable")
- << "myObject" << "myInvokable" << (QStringList() << "connect" << "disconnect" << "length" << "name");
+ << "myObject" << "myInvokable" << (QStringList() << "connect" << "disconnect" << "name");
QTest::newRow("myObject.mySignal.connect")
- << "myObject.mySignal" << "connect" << (QStringList() << "length" << "name");
+ << "myObject.mySignal" << "connect" << (QStringList() << "name");
QTest::newRow("myObject.mySignal.disconnect")
- << "myObject.mySignal" << "disconnect" << (QStringList() << "length" << "name");
+ << "myObject.mySignal" << "disconnect" << (QStringList() << "name");
}
void tst_QObjectBridge::introspectQtMethods()
@@ -2177,7 +2177,7 @@ void tst_QObjectBridge::introspectQtMethods()
QCOMPARE(evalJS("descriptor.set"), sUndefined);
QCOMPARE(evalJS(QString::fromLatin1("descriptor.value === %0['%1']").arg(methodLookup).arg(name)), sTrue);
QCOMPARE(evalJS(QString::fromLatin1("descriptor.enumerable")), sFalse);
- QCOMPARE(evalJS(QString::fromLatin1("descriptor.configurable")), sTrue);
+ QCOMPARE(evalJS(QString::fromLatin1("descriptor.configurable")), sFalse);
}
QVERIFY(evalJSV("var props=[]; for (var p in myObject.deleteLater) {props.push(p);}; props.sort()").toStringList().isEmpty());
diff --git a/Source/WebKit/qt/tests/qwebview/.gitignore b/Source/WebKit/qt/tests/qwebview/.gitignore
deleted file mode 100644
index 444afe65e..000000000
--- a/Source/WebKit/qt/tests/qwebview/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-qwebview
diff --git a/Source/WebKit/win/AccessibleBase.cpp b/Source/WebKit/win/AccessibleBase.cpp
index e733141f2..bb31adbd5 100644
--- a/Source/WebKit/win/AccessibleBase.cpp
+++ b/Source/WebKit/win/AccessibleBase.cpp
@@ -362,18 +362,20 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accKeyboardShortcut(VARIANT vChild
static String accessKeyModifiers;
if (accessKeyModifiers.isNull()) {
+ StringBuilder accessKeyModifiersBuilder;
unsigned modifiers = EventHandler::accessKeyModifiers();
// Follow the same order as Mozilla MSAA implementation:
// Ctrl+Alt+Shift+Meta+key. MSDN states that keyboard shortcut strings
// should not be localized and defines the separator as "+".
if (modifiers & PlatformEvent::CtrlKey)
- accessKeyModifiers += "Ctrl+";
+ accessKeyModifiersBuilder.appendLiteral("Ctrl+");
if (modifiers & PlatformEvent::AltKey)
- accessKeyModifiers += "Alt+";
+ accessKeyModifiersBuilder.appendLiteral("Alt+");
if (modifiers & PlatformEvent::ShiftKey)
- accessKeyModifiers += "Shift+";
+ accessKeyModifiersBuilder.appendLiteral("Shift+");
if (modifiers & PlatformEvent::MetaKey)
- accessKeyModifiers += "Win+";
+ accessKeyModifiersBuilder.appendLiteral("Win+");
+ accessKeyModifiers = accessKeyModifiersBuilder.toString();
}
*shortcut = BString(String(accessKeyModifiers + accessKey)).release();
return S_OK;
@@ -657,6 +659,7 @@ static long MSAARole(AccessibilityRole role)
case WebCore::LinkRole:
case WebCore::WebCoreLinkRole:
return ROLE_SYSTEM_LINK;
+ case WebCore::CanvasRole:
case WebCore::ImageMapRole:
case WebCore::ImageRole:
return ROLE_SYSTEM_GRAPHIC;
@@ -666,6 +669,36 @@ static long MSAARole(AccessibilityRole role)
return ROLE_SYSTEM_LISTITEM;
case WebCore::PopUpButtonRole:
return ROLE_SYSTEM_COMBOBOX;
+ case WebCore::DivRole:
+ case WebCore::FormRole:
+ case WebCore::LabelRole:
+ case WebCore::ParagraphRole:
+ return ROLE_SYSTEM_GROUPING;
+ case WebCore::HorizontalRuleRole:
+ return ROLE_SYSTEM_SEPARATOR;
+ case WebCore::ApplicationAlertRole:
+ return ROLE_SYSTEM_ALERT;
+ case WebCore::ComboBoxRole:
+ return ROLE_SYSTEM_COMBOBOX;
+ case WebCore::SpinButtonRole:
+ return ROLE_SYSTEM_SPINBUTTON;
+ case WebCore::SpinButtonPartRole:
+ return ROLE_SYSTEM_PUSHBUTTON;
+ case WebCore::ToggleButtonRole:
+ return ROLE_SYSTEM_PUSHBUTTON;
+ case WebCore::ToolbarRole:
+ return ROLE_SYSTEM_TOOLBAR;
+ case WebCore::UserInterfaceTooltipRole:
+ return ROLE_SYSTEM_TOOLTIP;
+ case WebCore::TreeRole:
+ case WebCore::TreeGridRole:
+ return ROLE_SYSTEM_OUTLINE;
+ case WebCore::TreeItemRole:
+ return ROLE_SYSTEM_OUTLINEITEM;
+ case WebCore::TabListRole:
+ return ROLE_SYSTEM_PAGETABLIST;
+ case WebCore::TabPanelRole:
+ return ROLE_SYSTEM_PROPERTYPAGE;
default:
// This is the default role for MSAA.
return ROLE_SYSTEM_CLIENT;
diff --git a/Source/WebKit/win/ChangeLog b/Source/WebKit/win/ChangeLog
index 319a75ceb..c01990047 100644
--- a/Source/WebKit/win/ChangeLog
+++ b/Source/WebKit/win/ChangeLog
@@ -1,3 +1,239 @@
+2012-09-10 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Update Windows port accessible role mappings to fix some tests
+ https://bugs.webkit.org/show_bug.cgi?id=96219
+
+ Reviewed by Chris Fleizach.
+
+ Update a bunch of accessible role mappings to fix tests and improve win
+ accessibility.
+
+ * AccessibleBase.cpp:
+ (MSAARole):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * WebActionPropertyBag.cpp:
+ (WebActionPropertyBag::Read):
+ * WebView.cpp:
+ (WebView::handleContextMenuEvent):
+ (WebView::elementAtPoint):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * DOMCSSClasses.cpp:
+ * DefaultPolicyDelegate.cpp:
+ * MarshallingHelpers.cpp:
+ * WebCoreSupport/WebInspectorClient.h:
+ * WebDownload.h:
+ * WebFrame.h:
+ * WebHistoryItem.h:
+ * WebIconDatabase.cpp:
+ * WebKitDLL.h:
+ * WebKitGraphics.cpp:
+ * WebKitSystemBits.cpp:
+ * WebLocalizableStrings.cpp:
+ * WebNotificationCenter.cpp:
+ * WebResource.h:
+
+2012-09-06 Patrick Gansterer <paroga@webkit.org>
+
+ Remove String::operator+=() from windows platform code
+ https://bugs.webkit.org/show_bug.cgi?id=95904
+
+ Reviewed by Benjamin Poulain.
+
+ Use StringBuilder and operator+() to concatenate strings instead of operator+=().
+
+ * AccessibleBase.cpp:
+ (AccessibleBase::get_accKeyboardShortcut):
+ * WebDownload.cpp:
+ (WebDownload::bundlePathForTargetPath):
+ * WebView.cpp:
+ (imeCompositionArgumentNames):
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+ Kept the function defination and declaration to keep binary compatibility for IWebFramePrivate.idl
+
+ * WebFrame.cpp:
+ (WebFrame::numberOfPages):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * WebFrame.cpp:
+ (WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
+ * WebView.cpp:
+ (WebView::stringByEvaluatingJavaScriptFromString):
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Map new CanvasRole to the same as ImageRole.
+
+ * AccessibleBase.cpp:
+ (MSAARole):
+
+2012-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126972.
+ http://trac.webkit.org/changeset/126972
+ https://bugs.webkit.org/show_bug.cgi?id=95349
+
+ accessibility/canvas-description-and-role.html has been
+ failing consistently on several bots and Dominic needs some
+ time to investigate why (Requested by jchaffraix on #webkit).
+
+ * AccessibleBase.cpp:
+ (MSAARole):
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Map new CanvasRole to the same as ImageRole.
+
+ * AccessibleBase.cpp:
+ (MSAARole):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * COMPropertyBag.h:
+ (::Read):
+ (::GetPropertyInfo):
+ * WebCoreStatistics.cpp:
+ (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
+ * WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebPlatformStrategies::getPluginInfo):
+ * WebHistory.cpp:
+ (WebHistory::removeItemFromDateCaches):
+ * WebKitCOMAPI.cpp:
+ (classFactory):
+ * WebKitStatistics.cpp:
+ (WebKitStatistics::comClassNameCounts):
+ * WebNotificationCenter.cpp:
+ (WebNotificationCenter::postNotificationInternal):
+ (WebNotificationCenter::addObserver):
+ (WebNotificationCenter::removeObserver):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * COMPropertyBag.h:
+ (::Read):
+ (::GetPropertyInfo):
+ * WebCoreStatistics.cpp:
+ (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
+ * WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebPlatformStrategies::getPluginInfo):
+ * WebHistory.cpp:
+ (WebHistory::removeItemFromDateCaches):
+ * WebKitCOMAPI.cpp:
+ (classFactory):
+ * WebKitStatistics.cpp:
+ (WebKitStatistics::comClassNameCounts):
+ * WebNotificationCenter.cpp:
+ (WebNotificationCenter::postNotificationInternal):
+ (WebNotificationCenter::addObserver):
+ (WebNotificationCenter::removeObserver):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * COMPropertyBag.h:
+ (::Read):
+ (::GetPropertyInfo):
+ * WebCoreStatistics.cpp:
+ (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
+ * WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebPlatformStrategies::getPluginInfo):
+ * WebHistory.cpp:
+ (WebHistory::removeItemFromDateCaches):
+ * WebKitCOMAPI.cpp:
+ (classFactory):
+ * WebKitStatistics.cpp:
+ (WebKitStatistics::comClassNameCounts):
+ * WebNotificationCenter.cpp:
+ (WebNotificationCenter::postNotificationInternal):
+ (WebNotificationCenter::addObserver):
+ (WebNotificationCenter::removeObserver):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * COMPropertyBag.h:
+ (::Read):
+ (::GetPropertyInfo):
+ * WebCoreStatistics.cpp:
+ (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
+ * WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebPlatformStrategies::getPluginInfo):
+ * WebHistory.cpp:
+ (WebHistory::removeItemFromDateCaches):
+ * WebKitCOMAPI.cpp:
+ (classFactory):
+ * WebKitStatistics.cpp:
+ (WebKitStatistics::comClassNameCounts):
+ * WebNotificationCenter.cpp:
+ (WebNotificationCenter::postNotificationInternal):
+ (WebNotificationCenter::addObserver):
+ (WebNotificationCenter::removeObserver):
+
2012-08-23 Adrienne Walker <enne@google.com>
Convert ScrollableArea ASSERT_NOT_REACHED virtuals
diff --git a/Source/WebKit/win/DOMCSSClasses.cpp b/Source/WebKit/win/DOMCSSClasses.cpp
index 02200319b..2ceb91654 100644
--- a/Source/WebKit/win/DOMCSSClasses.cpp
+++ b/Source/WebKit/win/DOMCSSClasses.cpp
@@ -27,7 +27,7 @@
#include "WebKitDLL.h"
#include "DOMCSSClasses.h"
-#include <WebCore/PlatformString.h>
+#include <wtf/text/WTFString.h>
// DOMCSSStyleDeclaration - DOMCSSStyleDeclaration ----------------------------
diff --git a/Source/WebKit/win/DefaultPolicyDelegate.cpp b/Source/WebKit/win/DefaultPolicyDelegate.cpp
index 02d7bdbc8..e83a8e977 100644
--- a/Source/WebKit/win/DefaultPolicyDelegate.cpp
+++ b/Source/WebKit/win/DefaultPolicyDelegate.cpp
@@ -28,9 +28,7 @@
#include "DefaultPolicyDelegate.h"
#include <WebCore/COMPtr.h>
-#include <WebCore/PlatformString.h>
-
-using namespace WebCore;
+#include <wtf/text/WTFString.h>
// FIXME: move this enum to a separate header file when other code begins to use it.
typedef enum WebExtraNavigationType {
diff --git a/Source/WebKit/win/MarshallingHelpers.cpp b/Source/WebKit/win/MarshallingHelpers.cpp
index c7719fdb2..138e4b425 100644
--- a/Source/WebKit/win/MarshallingHelpers.cpp
+++ b/Source/WebKit/win/MarshallingHelpers.cpp
@@ -29,8 +29,8 @@
#include <WebCore/IntRect.h>
#include <WebCore/KURL.h>
-#include <WebCore/PlatformString.h>
#include <wtf/MathExtras.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/win/WebActionPropertyBag.cpp b/Source/WebKit/win/WebActionPropertyBag.cpp
index fca83be0d..d2905091f 100644
--- a/Source/WebKit/win/WebActionPropertyBag.cpp
+++ b/Source/WebKit/win/WebActionPropertyBag.cpp
@@ -121,7 +121,7 @@ HRESULT STDMETHODCALLTYPE WebActionPropertyBag::Read(LPCOLESTR pszPropName, VARI
if (isEqual(pszPropName, WebActionElementKey)) {
if (const MouseEvent* mouseEvent = findMouseEvent(m_action.event())) {
V_VT(pVar) = VT_UNKNOWN;
- V_UNKNOWN(pVar) = WebElementPropertyBag::createInstance(m_frame->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation(), false));
+ V_UNKNOWN(pVar) = WebElementPropertyBag::createInstance(m_frame->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation()));
return S_OK;
}
}
diff --git a/Source/WebKit/win/WebCookieManager.cpp b/Source/WebKit/win/WebCookieManager.cpp
index 499d8570a..49bbad634 100644
--- a/Source/WebKit/win/WebCookieManager.cpp
+++ b/Source/WebKit/win/WebCookieManager.cpp
@@ -27,8 +27,6 @@
#include "WebKitDLL.h"
#include "WebCookieManager.h"
-using namespace WebCore;
-
// WebCookieManager -------------------------------------------------------
WebCookieManager* WebCookieManager::createInstance()
diff --git a/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h b/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h
index e34333d24..b589af7b9 100644
--- a/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h
+++ b/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h
@@ -33,13 +33,13 @@
#include <WebCore/InspectorClient.h>
#include <WebCore/InspectorFrontendChannel.h>
#include <WebCore/InspectorFrontendClientLocal.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/WindowMessageListener.h>
+#include <windows.h>
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/OwnPtr.h>
#include <wtf/text/StringHash.h>
-#include <windows.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebKit/win/WebDownload.cpp b/Source/WebKit/win/WebDownload.cpp
index cb5e2c3db..b8fabe28b 100644
--- a/Source/WebKit/win/WebDownload.cpp
+++ b/Source/WebKit/win/WebDownload.cpp
@@ -148,7 +148,7 @@ HRESULT STDMETHODCALLTYPE WebDownload::bundlePathForTargetPath(
if (bundle[bundle.length()-1] == '/')
bundle.truncate(1);
- bundle += DownloadBundle::fileExtension();
+ bundle.append(DownloadBundle::fileExtension());
*bundlePath = SysAllocStringLen(bundle.characters(), bundle.length());
if (!*bundlePath)
return E_FAIL;
diff --git a/Source/WebKit/win/WebDownload.h b/Source/WebKit/win/WebDownload.h
index 446be46dd..d9ca277ae 100644
--- a/Source/WebKit/win/WebDownload.h
+++ b/Source/WebKit/win/WebDownload.h
@@ -28,8 +28,8 @@
#include "WebKit.h"
#include <WebCore/COMPtr.h>
-#include <WebCore/PlatformString.h>
#include <wtf/RetainPtr.h>
+#include <wtf/text/WTFString.h>
#if USE(CFNETWORK)
#include <CFNetwork/CFURLDownloadPriv.h>
diff --git a/Source/WebKit/win/WebFrame.cpp b/Source/WebKit/win/WebFrame.cpp
index d1880cf3f..8a0a82cc5 100644
--- a/Source/WebKit/win/WebFrame.cpp
+++ b/Source/WebKit/win/WebFrame.cpp
@@ -894,15 +894,10 @@ HRESULT STDMETHODCALLTYPE WebFrame::numberOfPages(
/* [in] */ float pageHeightInPixels,
/* [retval][out] */ int* result)
{
- if (!result)
- return E_POINTER;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- *result = PrintContext::numberOfPages(coreFrame, FloatSize(pageWidthInPixels, pageHeightInPixels));
- return S_OK;
+ // TODO: Please remove this function if not needed as this is LTC specific function
+ // and has been moved to Internals.
+ notImplemented();
+ return E_FAIL;
}
HRESULT STDMETHODCALLTYPE WebFrame::scrollOffset(
@@ -2539,7 +2534,7 @@ HRESULT WebFrame::stringByEvaluatingJavaScriptInScriptWorld(IWebScriptWorld* iWo
JSC::ExecState* exec = anyWorldGlobalObject->globalExec();
JSC::JSLockHolder lock(exec);
- String resultString = ustringToString(result.toString(exec)->value(exec));
+ String resultString = result.toWTFString(exec);
*evaluationResult = BString(resultString).release();
return S_OK;
diff --git a/Source/WebKit/win/WebFrame.h b/Source/WebKit/win/WebFrame.h
index d80193dd2..af6d6ead7 100644
--- a/Source/WebKit/win/WebFrame.h
+++ b/Source/WebKit/win/WebFrame.h
@@ -37,12 +37,12 @@
#include <WebCore/FrameWin.h>
#include <WebCore/GraphicsContext.h>
#include <WebCore/KURL.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/ResourceHandleClient.h>
#include <WTF/RefPtr.h>
#include <WTF/HashMap.h>
#include <WTF/OwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class AuthenticationChallenge;
diff --git a/Source/WebKit/win/WebHistoryItem.h b/Source/WebKit/win/WebHistoryItem.h
index 7e420397f..aad0fdafc 100644
--- a/Source/WebKit/win/WebHistoryItem.h
+++ b/Source/WebKit/win/WebHistoryItem.h
@@ -29,9 +29,9 @@
#include "WebKit.h"
#include <CoreFoundation/CoreFoundation.h>
-#include <WebCore/PlatformString.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class HistoryItem;
diff --git a/Source/WebKit/win/WebIconDatabase.cpp b/Source/WebKit/win/WebIconDatabase.cpp
index f428bfc76..329817aa2 100644
--- a/Source/WebKit/win/WebIconDatabase.cpp
+++ b/Source/WebKit/win/WebIconDatabase.cpp
@@ -28,19 +28,19 @@
#include "WebIconDatabase.h"
#include "CFDictionaryPropertyBag.h"
-#include "WebPreferences.h"
#include "WebNotificationCenter.h"
-#include <WebCore/BitmapInfo.h>
+#include "WebPreferences.h"
+#include "shlobj.h"
#include <WebCore/BString.h>
+#include <WebCore/BitmapInfo.h>
#include <WebCore/COMPtr.h>
#include <WebCore/FileSystem.h>
#include <WebCore/HWndDC.h>
#include <WebCore/IconDatabase.h>
#include <WebCore/Image.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/SharedBuffer.h>
#include <wtf/MainThread.h>
-#include "shlobj.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
using namespace WTF;
diff --git a/Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj b/Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj
index 39c6eb783..7312ad10a 100644
--- a/Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj
+++ b/Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj
@@ -1,4630 +1,4630 @@
-<?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=".\InterfacesDebug.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=".\InterfacesRelease.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="Production|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\InterfacesProduction.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=".\InterfacesDebugAll.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=".\InterfacesReleaseCairoCFLite.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=".\InterfacesDebugCairoCFLite.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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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=".\InterfacesDebug.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=".\InterfacesRelease.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="Production|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\InterfacesProduction.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=".\InterfacesDebugAll.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=".\InterfacesReleaseCairoCFLite.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=".\InterfacesDebugCairoCFLite.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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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="Production|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/Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops
index 73d55b591..ef6f33c1b 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops
@@ -1,14 +1,14 @@
-<?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>
+<?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/Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops
index 13b916143..fd7c92b22 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops
index 5d6cc243f..319b418f0 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops
index fb7f65e0b..c8bcefc27 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesDebugCairoCFLite"
- 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"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesDebugCairoCFLite"
+ 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"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops
index e9bafc78a..d60623d5d 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops
index 94209fa7e..610e0a53f 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops
index 06b729ace..bbdcaa362 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKit.sln b/Source/WebKit/win/WebKit.vcproj/WebKit.sln
index d9ff7968f..ab47a727f 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKit.sln
+++ b/Source/WebKit/win/WebKit.vcproj/WebKit.sln
@@ -1,675 +1,675 @@
-
-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
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
- 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", "..\..\..\WTF\WTF.vcproj\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
- ProjectSection(ProjectDependencies) = postProject
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}
- 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}"
- ProjectSection(ProjectDependencies) = postProject
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
- EndProjectSection
-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
- {AAE88FEF-509E-4D49-870B-7357922C276F} = {AAE88FEF-509E-4D49-870B-7357922C276F}
- 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
- {83414B15-1C0D-490B-990E-03F4D49170E4} = {83414B15-1C0D-490B-990E-03F4D49170E4}
- 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}") = "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
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLauncherWin", "..\..\..\..\Tools\WebKitLauncherWin\WebKitLauncherWin.vcproj", "{D09806DB-E58B-4646-8C9B-61101906C1E2}"
- ProjectSection(ProjectDependencies) = postProject
- {2974EA02-840B-4995-8719-8920A61006F1} = {2974EA02-840B-4995-8719-8920A61006F1}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\..\Tools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
- ProjectSection(ProjectDependencies) = postProject
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0} = {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}
- 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
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3} = {B0101604-B483-4F8C-9C51-90B46A2B1CD3}
- 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
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIInjectedBundle", "..\..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPIInjectedBundle.vcproj", "{B0101604-B483-4F8C-9C51-90B46A2B1CD3}"
- ProjectSection(ProjectDependencies) = postProject
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {3E48AB23-D249-488F-A1C4-43CDF52FBD28}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest-md", "..\..\..\ThirdParty\gtest\msvc\gtest-md.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
- ProjectSection(ProjectDependencies) = postProject
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040} = {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreTestSupport", "..\..\..\WebCore\WebCore.vcproj\WebCoreTestSupport.vcproj", "{83414B15-1C0D-490B-990E-03F4D49170E4}"
- ProjectSection(ProjectDependencies) = postProject
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testRegExp", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testRegExp\testRegExp.vcproj", "{14C94979-1ED3-4E1D-9B55-A80FCF4677D0}"
- ProjectSection(ProjectDependencies) = postProject
- {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncherLauncher", "..\..\..\..\Tools\WinLauncher\WinLauncherLauncher.vcproj", "{767B10FB-76C1-44D0-8005-85ED7F9AA5E4}"
- ProjectSection(ProjectDependencies) = postProject
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowserLauncher", "..\..\..\..\Tools\MiniBrowser\MiniBrowserLauncher.vcproj", "{7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}"
- ProjectSection(ProjectDependencies) = postProject
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiffLauncher", "..\..\..\..\Tools\DumpRenderTree\win\ImageDiffLauncher.vcproj", "{DD7949B6-F2B4-47C2-9C42-E21E84CB1017}"
- ProjectSection(ProjectDependencies) = postProject
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTreeLauncher", "..\..\..\..\Tools\DumpRenderTree\win\DumpRenderTreeLauncher.vcproj", "{2974EA02-840B-4995-8719-8920A61006F1}"
- ProjectSection(ProjectDependencies) = postProject
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {6567DFD4-D6DE-4CD5-825D-17E353D160E1}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunnerLauncher", "..\..\..\..\Tools\WebKitTestRunner\win\WebKitTestRunnerLauncher.vcproj", "{C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}"
- ProjectSection(ProjectDependencies) = postProject
- {3B99669B-1817-443B-BCBE-835580146668} = {3B99669B-1817-443B-BCBE-835580146668}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WTF", "WTF", "{A671AE22-FBCE-4C41-A723-82939FCA3E92}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTFGenerated", "..\..\..\WTF\WTF.vcproj\WTFGenerated.vcproj", "{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
- Debug|Win32 = Debug|Win32
- Production|Win32 = Production|Win32
- Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {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}.Production|Win32.ActiveCfg = Production|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.Build.0 = Production|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_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_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}.Production|Win32.ActiveCfg = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|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_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_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}.Production|Win32.ActiveCfg = Production|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.Build.0 = Production|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
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.Build.0 = Production|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
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Production|Win32.Build.0 = Production|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
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.ActiveCfg = Debug|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.Build.0 = Debug|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Production|Win32.ActiveCfg = Production|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Production|Win32.Build.0 = Production|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.ActiveCfg = Release|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.Build.0 = Release|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.ActiveCfg = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.Build.0 = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.ActiveCfg = Production|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.Build.0 = Production|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.ActiveCfg = Release|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.Build.0 = Release|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.ActiveCfg = Debug|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.Build.0 = Debug|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.ActiveCfg = Production|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.Build.0 = Production|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.ActiveCfg = Release|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.Build.0 = Release|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.ActiveCfg = Debug|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.Build.0 = Debug|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.ActiveCfg = Production|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.Build.0 = Production|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.ActiveCfg = Release|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.Build.0 = Release|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.ActiveCfg = Debug|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.Build.0 = Debug|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.ActiveCfg = Production|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.Build.0 = Production|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.ActiveCfg = Release|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.Build.0 = Release|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug|Win32.ActiveCfg = Debug|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug|Win32.Build.0 = Debug|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Production|Win32.ActiveCfg = Production|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Production|Win32.Build.0 = Production|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release|Win32.ActiveCfg = Release|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release|Win32.Build.0 = Release|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.ActiveCfg = Debug|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.Build.0 = Debug|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.ActiveCfg = Production|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.Build.0 = Production|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.ActiveCfg = Release|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.Build.0 = Release|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.ActiveCfg = Debug|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.Build.0 = Debug|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.ActiveCfg = Production|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.Build.0 = Production|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.ActiveCfg = Release|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.Build.0 = Release|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug|Win32.ActiveCfg = Debug|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug|Win32.Build.0 = Debug|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Production|Win32.ActiveCfg = Production|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Production|Win32.Build.0 = Production|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release|Win32.ActiveCfg = Release|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release|Win32.Build.0 = Release|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.ActiveCfg = Debug|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.Build.0 = Debug|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.ActiveCfg = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.Build.0 = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.ActiveCfg = Release|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {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}
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0} = {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}
- {83414B15-1C0D-490B-990E-03F4D49170E4} = {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}
- {44B9C152-1870-4035-B94D-7B3285AA0C12} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {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}
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {2974EA02-840B-4995-8719-8920A61006F1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
- EndGlobalSection
-EndGlobal
+
+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
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
+ 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", "..\..\..\WTF\WTF.vcproj\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}
+ 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}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
+ EndProjectSection
+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
+ {AAE88FEF-509E-4D49-870B-7357922C276F} = {AAE88FEF-509E-4D49-870B-7357922C276F}
+ 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
+ {83414B15-1C0D-490B-990E-03F4D49170E4} = {83414B15-1C0D-490B-990E-03F4D49170E4}
+ 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}") = "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
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLauncherWin", "..\..\..\..\Tools\WebKitLauncherWin\WebKitLauncherWin.vcproj", "{D09806DB-E58B-4646-8C9B-61101906C1E2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2974EA02-840B-4995-8719-8920A61006F1} = {2974EA02-840B-4995-8719-8920A61006F1}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\..\Tools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
+ ProjectSection(ProjectDependencies) = postProject
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0} = {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}
+ 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
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3} = {B0101604-B483-4F8C-9C51-90B46A2B1CD3}
+ 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
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIInjectedBundle", "..\..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPIInjectedBundle.vcproj", "{B0101604-B483-4F8C-9C51-90B46A2B1CD3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {3E48AB23-D249-488F-A1C4-43CDF52FBD28}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest-md", "..\..\..\ThirdParty\gtest\msvc\gtest-md.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040} = {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreTestSupport", "..\..\..\WebCore\WebCore.vcproj\WebCoreTestSupport.vcproj", "{83414B15-1C0D-490B-990E-03F4D49170E4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testRegExp", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testRegExp\testRegExp.vcproj", "{14C94979-1ED3-4E1D-9B55-A80FCF4677D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncherLauncher", "..\..\..\..\Tools\WinLauncher\WinLauncherLauncher.vcproj", "{767B10FB-76C1-44D0-8005-85ED7F9AA5E4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowserLauncher", "..\..\..\..\Tools\MiniBrowser\MiniBrowserLauncher.vcproj", "{7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiffLauncher", "..\..\..\..\Tools\DumpRenderTree\win\ImageDiffLauncher.vcproj", "{DD7949B6-F2B4-47C2-9C42-E21E84CB1017}"
+ ProjectSection(ProjectDependencies) = postProject
+ {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTreeLauncher", "..\..\..\..\Tools\DumpRenderTree\win\DumpRenderTreeLauncher.vcproj", "{2974EA02-840B-4995-8719-8920A61006F1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {6567DFD4-D6DE-4CD5-825D-17E353D160E1}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunnerLauncher", "..\..\..\..\Tools\WebKitTestRunner\win\WebKitTestRunnerLauncher.vcproj", "{C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3B99669B-1817-443B-BCBE-835580146668} = {3B99669B-1817-443B-BCBE-835580146668}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WTF", "WTF", "{A671AE22-FBCE-4C41-A723-82939FCA3E92}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTFGenerated", "..\..\..\WTF\WTF.vcproj\WTFGenerated.vcproj", "{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
+ Debug|Win32 = Debug|Win32
+ Production|Win32 = Production|Win32
+ Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {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}.Production|Win32.ActiveCfg = Production|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.Build.0 = Production|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_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_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}.Production|Win32.ActiveCfg = Production|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|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_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_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}.Production|Win32.ActiveCfg = Production|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.Build.0 = Production|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
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.Build.0 = Production|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
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Production|Win32.Build.0 = Production|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_All|Win32.ActiveCfg = Debug_All|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Production|Win32.Build.0 = Production|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
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.Build.0 = Debug|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Production|Win32.ActiveCfg = Production|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Production|Win32.Build.0 = Production|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.ActiveCfg = Release|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.Build.0 = Release|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.Build.0 = Debug|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.ActiveCfg = Production|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.Build.0 = Production|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.ActiveCfg = Release|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.Build.0 = Release|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.Build.0 = Debug|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.ActiveCfg = Production|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.Build.0 = Production|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.ActiveCfg = Release|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.Build.0 = Release|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.Build.0 = Debug|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.ActiveCfg = Production|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.Build.0 = Production|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.ActiveCfg = Release|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.Build.0 = Release|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.Build.0 = Debug|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.ActiveCfg = Production|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.Build.0 = Production|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.ActiveCfg = Release|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.Build.0 = Release|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug|Win32.Build.0 = Debug|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Production|Win32.ActiveCfg = Production|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Production|Win32.Build.0 = Production|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release|Win32.ActiveCfg = Release|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release|Win32.Build.0 = Release|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.Build.0 = Debug|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.ActiveCfg = Production|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.Build.0 = Production|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.ActiveCfg = Release|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.Build.0 = Release|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.Build.0 = Debug|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.ActiveCfg = Production|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.Build.0 = Production|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.ActiveCfg = Release|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.Build.0 = Release|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug|Win32.Build.0 = Debug|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Production|Win32.ActiveCfg = Production|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Production|Win32.Build.0 = Production|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release|Win32.ActiveCfg = Release|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release|Win32.Build.0 = Release|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.Build.0 = Debug|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.ActiveCfg = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.Build.0 = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.ActiveCfg = Release|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {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}
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0} = {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}
+ {83414B15-1C0D-490B-990E-03F4D49170E4} = {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}
+ {44B9C152-1870-4035-B94D-7B3285AA0C12} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {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}
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {2974EA02-840B-4995-8719-8920A61006F1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
+ EndGlobalSection
+EndGlobal
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKit.submit.sln b/Source/WebKit/win/WebKit.vcproj/WebKit.submit.sln
index e873b11d6..8865ae7e9 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKit.submit.sln
+++ b/Source/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
- Production|Win32 = Production|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}.Production|Win32.ActiveCfg = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|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}.Production|Win32.ActiveCfg = Production|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.Build.0 = Production|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_All|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.Build.0 = Production|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
+ Production|Win32 = Production|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}.Production|Win32.ActiveCfg = Production|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|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}.Production|Win32.ActiveCfg = Production|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.Build.0 = Production|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_All|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug_All|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}.Production|Win32.ActiveCfg = Production|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.Build.0 = Production|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/Source/WebKit/win/WebKit.vcproj/WebKit.vcproj b/Source/WebKit/win/WebKit.vcproj/WebKit.vcproj
index 3287a1678..12b327853 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKit.vcproj
+++ b/Source/WebKit/win/WebKit.vcproj/WebKit.vcproj
@@ -1,1307 +1,1307 @@
-<?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=".\WebKitLibDebug.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=".\WebKitLibRelease.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=".\WebKitLibDebugCairoCFLite.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=".\WebKitLibReleaseCairoCFLite.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=".\WebKitLibDebugAll.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="Production|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitLibProduction.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>
- </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="Production|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="Production|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="Production|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>
- </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="Production|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=".\WebKitLibDebug.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=".\WebKitLibRelease.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=".\WebKitLibDebugCairoCFLite.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=".\WebKitLibReleaseCairoCFLite.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=".\WebKitLibDebugAll.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="Production|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitLibProduction.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>
+ </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="Production|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="Production|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="Production|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>
+ </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="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebKitPrefix.h"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj b/Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
index f087413be..3c0977954 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
@@ -1,348 +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=".\WebKitGUIDDebug.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=".\WebKitGUIDRelease.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=".\WebKitGUIDDebugAll.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="Production|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitGUIDProduction.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=".\WebKitGUIDReleaseCairoCFLite.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=".\WebKitGUIDDebugCairoCFLite.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>
+<?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=".\WebKitGUIDDebug.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=".\WebKitGUIDRelease.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=".\WebKitGUIDDebugAll.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="Production|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitGUIDProduction.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=".\WebKitGUIDReleaseCairoCFLite.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=".\WebKitGUIDDebugCairoCFLite.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/Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops
index 1621ea6cb..be1978da4 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops
@@ -1,19 +1,19 @@
-<?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>
+<?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/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops
index af39c12cb..2bb7b0bff 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops
index b5b37cec0..16333c88c 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDDebugAll"
- 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"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDDebugAll"
+ 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"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops
index c257899d4..074e68d9f 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDDebugCairoCFLite"
- 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"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDDebugCairoCFLite"
+ 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"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops
index 31407c88f..72cce98f7 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops
index fefb330d9..907a46810 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops
index 03c34165d..02ac0ef3e 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops
index 32c5b2051..bc4d70c7a 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops
@@ -1,18 +1,18 @@
-<?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"
- />
-</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"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops
index 0830b8057..3721bb5d2 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops
index dc0a596fc..36ad6da0a 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibDebugAll"
- 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"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibDebugAll"
+ 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"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops
index 8fb5e93b1..42e56bec0 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibDebugCairoCFLite"
- 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"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibDebugCairoCFLite"
+ 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"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops
index 67636de41..206dad5a1 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops
index 019c1ee0a..99b5c8a9d 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops
index 85c4fc55c..abe0317fb 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibReleaseCairoCFLite"
- 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\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibReleaseCairoCFLite"
+ 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\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKitDLL.h b/Source/WebKit/win/WebKitDLL.h
index 8ba5b8e0d..a4494cf19 100644
--- a/Source/WebKit/win/WebKitDLL.h
+++ b/Source/WebKit/win/WebKitDLL.h
@@ -34,7 +34,7 @@
#include <windows.h>
#include <wtf/HashCountedSet.h>
#include <wtf/text/StringHash.h>
-#include <WebCore/PlatformString.h>
+#include <wtf/text/WTFString.h>
#ifdef WEBKIT_EXPORTS
#define WEBKIT_API __declspec(dllexport)
diff --git a/Source/WebKit/win/WebKitGraphics.cpp b/Source/WebKit/win/WebKitGraphics.cpp
index 7423ad362..85eae16da 100644
--- a/Source/WebKit/win/WebKitGraphics.cpp
+++ b/Source/WebKit/win/WebKitGraphics.cpp
@@ -36,9 +36,9 @@
#include <WebCore/FontDescription.h>
#include <WebCore/FontSelector.h>
#include <WebCore/GraphicsContext.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/StringTruncator.h>
#include <WebCore/WebCoreTextRenderer.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/CharacterNames.h>
#include <CoreGraphics/CoreGraphics.h>
diff --git a/Source/WebKit/win/WebKitSystemBits.cpp b/Source/WebKit/win/WebKitSystemBits.cpp
index c77a78ba8..32e505c57 100644
--- a/Source/WebKit/win/WebKitSystemBits.cpp
+++ b/Source/WebKit/win/WebKitSystemBits.cpp
@@ -30,8 +30,8 @@
#include "WebKitSystemBits.h"
#include <CoreFoundation/CoreFoundation.h>
-#include <WebCore/PlatformString.h>
#include <windows.h>
+#include <wtf/text/WTFString.h>
unsigned long long WebMemorySize()
{
diff --git a/Source/WebKit/win/WebLocalizableStrings.cpp b/Source/WebKit/win/WebLocalizableStrings.cpp
index b05c55eb2..fd61a01fb 100644
--- a/Source/WebKit/win/WebLocalizableStrings.cpp
+++ b/Source/WebKit/win/WebLocalizableStrings.cpp
@@ -28,9 +28,9 @@
#include "WebLocalizableStrings.h"
-#include <WebCore/PlatformString.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#include <wtf/Assertions.h>
#include <wtf/HashMap.h>
@@ -40,8 +40,6 @@
class LocalizedString;
-using namespace WebCore;
-
WebLocalizableStringsBundle WebKitLocalizableStringsBundle = { "com.apple.WebKit", 0 };
typedef HashMap<String, LocalizedString*> LocalizedStringMap;
diff --git a/Source/WebKit/win/WebNotificationCenter.cpp b/Source/WebKit/win/WebNotificationCenter.cpp
index c7192d8d3..23de1c1c9 100644
--- a/Source/WebKit/win/WebNotificationCenter.cpp
+++ b/Source/WebKit/win/WebNotificationCenter.cpp
@@ -29,16 +29,14 @@
#include "WebNotification.h"
#include <WebCore/COMPtr.h>
-#include <WebCore/PlatformString.h>
+#include <utility>
+#include <wchar.h>
#include <wtf/HashMap.h>
#include <wtf/HashTraits.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
-#include <utility>
-#include <wchar.h>
-
-using namespace WebCore;
+#include <wtf/text/WTFString.h>
typedef std::pair<COMPtr<IUnknown>, COMPtr<IWebNotificationObserver> > ObjectObserverPair;
typedef Vector<ObjectObserverPair> ObjectObserverList;
diff --git a/Source/WebKit/win/WebResource.h b/Source/WebKit/win/WebResource.h
index d5a01acb9..d8fb433e1 100644
--- a/Source/WebKit/win/WebResource.h
+++ b/Source/WebKit/win/WebResource.h
@@ -29,10 +29,10 @@
#include "WebKit.h"
#include <WebCore/COMPtr.h>
#include <WebCore/KURL.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/ResourceResponse.h>
#include <WebCore/SharedBuffer.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
class WebResource : public IWebResource {
public:
diff --git a/Source/WebKit/win/WebView.cpp b/Source/WebKit/win/WebView.cpp
index 70d491edb..9ea9332ec 100644
--- a/Source/WebKit/win/WebView.cpp
+++ b/Source/WebKit/win/WebView.cpp
@@ -1322,7 +1322,7 @@ bool WebView::handleContextMenuEvent(WPARAM wParam, LPARAM lParam)
m_page->contextMenuController()->clearContextMenu();
IntPoint documentPoint(m_page->mainFrame()->view()->windowToContents(coords));
- HitTestResult result = m_page->mainFrame()->eventHandler()->hitTestResultAtPoint(documentPoint, false);
+ HitTestResult result = m_page->mainFrame()->eventHandler()->hitTestResultAtPoint(documentPoint);
Frame* targetFrame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : m_page->focusController()->focusedOrMainFrame();
targetFrame->view()->setCursor(pointerCursor());
@@ -3198,7 +3198,7 @@ HRESULT STDMETHODCALLTYPE WebView::stringByEvaluatingJavaScriptFromString(
else if (scriptExecutionResult.isString()) {
JSC::ExecState* exec = coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
JSC::JSLockHolder lock(exec);
- *result = BString(ustringToString(scriptExecutionResult.getString(exec)));
+ *result = BString(scriptExecutionResult.getString(exec));
}
return S_OK;
@@ -3597,7 +3597,7 @@ HRESULT STDMETHODCALLTYPE WebView::elementAtPoint(
IntPoint webCorePoint = IntPoint(point->x, point->y);
HitTestResult result = HitTestResult(webCorePoint);
if (frame->contentRenderer())
- result = frame->eventHandler()->hitTestResultAtPoint(webCorePoint, false);
+ result = frame->eventHandler()->hitTestResultAtPoint(webCorePoint);
*elementDictionary = WebElementPropertyBag::createInstance(result);
return S_OK;
}
@@ -5546,19 +5546,17 @@ static void compositionToUnderlines(const Vector<DWORD>& clauses, const Vector<B
#define APPEND_ARGUMENT_NAME(name) \
if (lparam & name) { \
if (needsComma) \
- result += ", "; \
- result += #name; \
+ result.appendLiteral(", "); \
+ result.appendLiteral(#name); \
needsComma = true; \
}
static String imeCompositionArgumentNames(LPARAM lparam)
{
- String result;
+ StringBuilder result;
bool needsComma = false;
- if (lparam & GCS_COMPATTR) {
- result = "GCS_COMPATTR";
- needsComma = true;
- }
+
+ APPEND_ARGUMENT_NAME(GCS_COMPATTR);
APPEND_ARGUMENT_NAME(GCS_COMPCLAUSE);
APPEND_ARGUMENT_NAME(GCS_COMPREADSTR);
APPEND_ARGUMENT_NAME(GCS_COMPREADATTR);
@@ -5573,7 +5571,7 @@ static String imeCompositionArgumentNames(LPARAM lparam)
APPEND_ARGUMENT_NAME(CS_INSERTCHAR);
APPEND_ARGUMENT_NAME(CS_NOMOVECARET);
- return result;
+ return result.toString();
}
static String imeNotificationName(WPARAM wparam)
diff --git a/Source/WebKit/wince/ChangeLog b/Source/WebKit/wince/ChangeLog
index 31f521746..d66fa5923 100644
--- a/Source/WebKit/wince/ChangeLog
+++ b/Source/WebKit/wince/ChangeLog
@@ -1,3 +1,47 @@
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * WebCoreSupport/PlatformStrategiesWinCE.cpp:
+ (PlatformStrategiesWinCE::getPluginInfo):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/PlatformStrategiesWinCE.cpp:
+ (PlatformStrategiesWinCE::getPluginInfo):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * WebCoreSupport/PlatformStrategiesWinCE.cpp:
+ (PlatformStrategiesWinCE::getPluginInfo):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/PlatformStrategiesWinCE.cpp:
+ (PlatformStrategiesWinCE::getPluginInfo):
+
2012-08-13 Tom Sepez <tsepez@chromium.org>
[chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
diff --git a/Source/WebKit/wx/ChangeLog b/Source/WebKit/wx/ChangeLog
index 1952bbbf0..4f3bdab15 100644
--- a/Source/WebKit/wx/ChangeLog
+++ b/Source/WebKit/wx/ChangeLog
@@ -1,3 +1,44 @@
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * WebFrame.cpp:
+ (WebKit::WebFrame::HitTest):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * WebFrame.cpp:
+ * WebKitSupport/ChromeClientWx.cpp:
+ * WebKitSupport/EditorClientWx.cpp:
+ * WebKitSupport/FrameLoaderClientWx.cpp:
+ * WebKitSupport/InspectorClientWx.cpp:
+ * WebSettings.cpp:
+ * WebView.cpp:
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Update the #includes to use the correct types.
+
+ * WebFrame.cpp:
+ * WebView.cpp:
+
2012-08-13 Tom Sepez <tsepez@chromium.org>
[chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
diff --git a/Source/WebKit/wx/WebFrame.cpp b/Source/WebKit/wx/WebFrame.cpp
index 942c4beaa..470165db4 100644
--- a/Source/WebKit/wx/WebFrame.cpp
+++ b/Source/WebKit/wx/WebFrame.cpp
@@ -42,7 +42,6 @@
#include "HTMLFrameOwnerElement.h"
#include "markup.h"
#include "Page.h"
-#include "PlatformString.h"
#include "PrintContext.h"
#include "RenderTreeAsText.h"
#include "RenderObject.h"
@@ -54,8 +53,8 @@
#include "JSDOMBinding.h"
#include <runtime/JSValue.h>
-#include <runtime/UString.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include "EditorClientWx.h"
#include "FrameLoaderClientWx.h"
@@ -690,7 +689,7 @@ WebViewDOMElementInfo WebFrame::HitTest(const wxPoint& pos) const
WebViewDOMElementInfo domInfo;
if (m_impl->frame->view()) {
- WebCore::HitTestResult result = m_impl->frame->eventHandler()->hitTestResultAtPoint(m_impl->frame->view()->windowToContents(pos), false);
+ WebCore::HitTestResult result = m_impl->frame->eventHandler()->hitTestResultAtPoint(m_impl->frame->view()->windowToContents(pos));
if (result.innerNode()) {
domInfo.SetLink(result.absoluteLinkURL().string());
domInfo.SetText(result.textContent());
diff --git a/Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp b/Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
index 757bb0682..5f1167b54 100644
--- a/Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
+++ b/Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
@@ -40,7 +40,6 @@
#include "Icon.h"
#include "NavigationAction.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "SecurityOrigin.h"
#include "PopupMenuWx.h"
#include "SearchPopupMenuWx.h"
@@ -58,6 +57,7 @@
#include "WebBrowserShell.h"
#include "WebView.h"
#include "WebViewPrivate.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp b/Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp
index 7ce6bd5ae..d700a967a 100644
--- a/Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp
+++ b/Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp
@@ -38,12 +38,12 @@
#include "NotImplemented.h"
#include "Page.h"
#include "PlatformKeyboardEvent.h"
-#include "PlatformString.h"
#include "WebFrame.h"
#include "WebFramePrivate.h"
#include "WebView.h"
#include "WebViewPrivate.h"
#include "WindowsKeyboardCodes.h"
+#include <wtf/text/WTFString.h>
#include <stdio.h>
diff --git a/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp b/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
index 18b6730da..8ac269675 100644
--- a/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
+++ b/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
@@ -43,7 +43,6 @@
#include "HTMLFrameOwnerElement.h"
#include "NotImplemented.h"
#include "Page.h"
-#include "PlatformString.h"
#include "PluginView.h"
#include "ProgressTracker.h"
#include "RenderPart.h"
@@ -56,6 +55,7 @@
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
#include <stdio.h>
#if OS(UNIX)
diff --git a/Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp b/Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp
index a7a5de7ca..276b13e06 100644
--- a/Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp
+++ b/Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp
@@ -28,7 +28,7 @@
#include "NotImplemented.h"
#include "Page.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebKit/wx/WebSettings.cpp b/Source/WebKit/wx/WebSettings.cpp
index 4f8a5bcb8..d89db3000 100644
--- a/Source/WebKit/wx/WebSettings.cpp
+++ b/Source/WebKit/wx/WebSettings.cpp
@@ -29,8 +29,8 @@
#include "config.h"
#include "WebSettings.h"
-#include "PlatformString.h"
#include "Settings.h"
+#include <wtf/text/WTFString.h>
namespace WebKit {
diff --git a/Source/WebKit/wx/WebView.cpp b/Source/WebKit/wx/WebView.cpp
index acb60f643..99f7b3939 100644
--- a/Source/WebKit/wx/WebView.cpp
+++ b/Source/WebKit/wx/WebView.cpp
@@ -47,7 +47,6 @@
#include "Page.h"
#include "PlatformKeyboardEvent.h"
#include "PlatformMouseEvent.h"
-#include "PlatformString.h"
#include "PlatformWheelEvent.h"
#include "RenderObject.h"
#include "RenderView.h"
@@ -72,9 +71,9 @@
#include "JSDOMBinding.h"
#include <runtime/InitializeThreading.h>
#include <runtime/JSValue.h>
-#include <runtime/UString.h>
#include <wtf/MainThread.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(SQL_DATABASE)
#include "AbstractDatabase.h"