WebKit-https.git
6 years agoKeep track of pending value changes in StorageAreaProxy
andersca@apple.com [Wed, 6 Mar 2013 00:59:59 +0000 (00:59 +0000)]
Keep track of pending value changes in StorageAreaProxy
https://bugs.webkit.org/show_bug.cgi?id=111496

Reviewed by Beth Dakin.

Add a HashCountedSet to keep track of the number of pending value
changes for a given key. If we get incoming storage events from other
processes while we have pending value changes, ignore the events.

* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::setItem):
(WebKit::StorageAreaProxy::didSetItem):
(WebKit::StorageAreaProxy::dispatchStorageEvent):
(WebKit::StorageAreaProxy::shouldApplyChangesForKey):
(WebKit):
* WebProcess/Storage/StorageAreaProxy.h:
(StorageAreaProxy):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144850 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix mac clang build with long long
alecflett@chromium.org [Wed, 6 Mar 2013 00:36:26 +0000 (00:36 +0000)]
Fix mac clang build with long long
https://bugs.webkit.org/show_bug.cgi?id=111495

Unreviewed fix for mac build.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::IDBBackingStore):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144849 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix mac clang build with long long
alecflett@chromium.org [Wed, 6 Mar 2013 00:35:02 +0000 (00:35 +0000)]
Fix mac clang build with long long
https://bugs.webkit.org/show_bug.cgi?id=111495

Unreviewed fix for mac build.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::IDBBackingStore):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144848 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed rebaseline of media/track/track-cue-rendering-*.html
scherkus@chromium.org [Wed, 6 Mar 2013 00:26:52 +0000 (00:26 +0000)]
Unreviewed rebaseline of media/track/track-cue-rendering-*.html
https://bugs.webkit.org/show_bug.cgi?id=111388

* platform/chromium-linux/media/track/track-cue-rendering-horizontal-expected.png:
* platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-mac-lion/media/track/track-cue-rendering-horizontal-expected.png:
* platform/chromium-mac-lion/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.png:
* platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.png:
* platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-win-xp/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.png:
* platform/chromium-win/media/track/track-cue-rendering-vertical-expected.png:
* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144847 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd V8Document.h include when the V8 code generator creates a toV8(Document*) call.
acolwell@chromium.org [Wed, 6 Mar 2013 00:19:38 +0000 (00:19 +0000)]
Add V8Document.h include when the V8 code generator creates a toV8(Document*) call.
https://bugs.webkit.org/show_bug.cgi?id=111486

Reviewed by Adam Barth.

No new tests. This doesn't change user visible behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNamedConstructor):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144846 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDashboard cleanup: move string utilities into their own namespace.
jparent@chromium.org [Wed, 6 Mar 2013 00:18:49 +0000 (00:18 +0000)]
Dashboard cleanup: move string utilities into their own namespace.

https://bugs.webkit.org/show_bug.cgi?id=111485

Reviewed by Ojan Vafai.

One of many pieces to clean up dashboard_base.

Moves string utility functions into separate file (string.js) and into their own namespace rather than cluttering up the global scope.

* TestResultServer/static-dashboards/aggregate_results.html:
* TestResultServer/static-dashboards/dashboard_base.js:
(isTreeMap):
(isFlakinessDashboard):
* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(determineWKPlatform):
(chromiumPlatform):
(platformAndBuildType):
(substringList):
(individualTestsForSubstringList):
(filterBugs):
(populateExpectationsData):
(processMissingTestsWithExpectations):
(processMissingAndExtraExpectations):
(htmlForSingleTestRow):
(.dummyNode.onload):
(expectationsTitle):
* TestResultServer/static-dashboards/run-embedded-unittests.html:
* TestResultServer/static-dashboards/run-unittests.html:
* TestResultServer/static-dashboards/string.js: Added.
* TestResultServer/static-dashboards/timeline_explorer.html:
* TestResultServer/static-dashboards/treemap.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144845 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoObjective-C API: JSValue should implement init and return nil in exceptional cases
mhahnenberg@apple.com [Wed, 6 Mar 2013 00:16:30 +0000 (00:16 +0000)]
Objective-C API: JSValue should implement init and return nil in exceptional cases
https://bugs.webkit.org/show_bug.cgi?id=111487

Reviewed by Darin Adler.

* API/JSValue.mm:
(-[JSValue init]): We return nil here because there is no way to get the instance into a coherent state
without a JSContext.
(-[JSValue initWithValue:inContext:]): Similarly, we should also return nil here if either of the arguments is 0.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144843 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Build break with latest EFL libraries
ryuan.choi@samsung.com [Wed, 6 Mar 2013 00:15:43 +0000 (00:15 +0000)]
[EFL] Build break with latest EFL libraries
https://bugs.webkit.org/show_bug.cgi?id=111028

Reviewed by Dirk Pranke.

.:

In latest EFL trunk, include path of ecore sub modules are changed from
ecore-1 to ecore-XXX-1.
So, this patch adds missing ECORE_XXX_INCLUDE_DIRS.

* Source/cmake/FindEcore.cmake: Added additional path suffixes to find include directories of ecore-XXX
* Source/cmake/FindElementary.cmake: Checked Ecore_Con dependency which Elementary requires.
* Source/cmake/OptionsEfl.cmake: Made Imf and Imf_Evas mandatory.

Source/WebKit:

* PlatformEfl.cmake: Added ECORE_X_INCLUDE_DIRS.

Source/WebKit2:

* PlatformEfl.cmake: Added ECORE_XXX_INCLUDE_DIRS.

Source/WTF:

* wtf/PlatformEfl.cmake: Added ECORE_IMF_INCLUDE_DIRS.

Tools:

* MiniBrowser/efl/CMakeLists.txt: Added ECORE_XXX_INCLUDE_DIRS.
* TestWebKitAPI/PlatformEfl.cmake: Ditto.
* WebKitTestRunner/PlatformEfl.cmake: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144842 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix default background of a dragged image.
shawnsingh@chromium.org [Wed, 6 Mar 2013 00:11:28 +0000 (00:11 +0000)]
Fix default background of a dragged image.
https://bugs.webkit.org/show_bug.cgi?id=110512

Reviewed by Tony Chang.

.:

* ManualTests/drag-background-with-padding.html: Added.

Source/WebCore:

Transparent background color (particularly visible in the padding
of an element) was not being respected. The solution is to
initially fill the drag image with transparent instead of white,
so that any color background works correctly. This patch does not
affect Apple Mac or Win platforms, given that this part of the
code is #if guarded from those platforms.

Manual test added:
  ManualTests/drag-background-with-padding.html

Infrastructure for retrieving the drag image for pixel testing
does not yet exist.

* page/Frame.cpp:
(WebCore::Frame::nodeImage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144841 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIncrease number of WinEWS iterations to 20.
roger_fong@apple.com [Wed, 6 Mar 2013 00:10:49 +0000 (00:10 +0000)]
Increase number of WinEWS iterations to 20.
Don't reboot after each iteration set.
Make EWS bots just build temporarily so that the queue catches up again.

* EWSTools/start-queue-win.sh:
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(WinEWS):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144840 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening.
rafaelw@chromium.org [Wed, 6 Mar 2013 00:05:14 +0000 (00:05 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: /inspector/debugger/debugger-script-preprocessor.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144839 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse a named parameter for whether a quota error ocurred or not
andersca@apple.com [Wed, 6 Mar 2013 00:01:46 +0000 (00:01 +0000)]
Use a named parameter for whether a quota error ocurred or not
https://bugs.webkit.org/show_bug.cgi?id=111490

Reviewed by Beth Dakin.

This is clearer than setItem returning true on error.
Also, actually set the item in the storage map.

* UIProcess/Storage/StorageManager.cpp:
(StorageManager::StorageArea):
(WebKit::StorageManager::StorageArea::setItem):
(WebKit::StorageManager::setItem):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144838 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
eae@chromium.org [Tue, 5 Mar 2013 23:59:52 +0000 (23:59 +0000)]
ASSERTION FAILED: i < size(), UNKNOWN in WebCore::RenderTableSection::layout
https://bugs.webkit.org/show_bug.cgi?id=108838

Source/WebCore:

Reviewed by Levi Weintraub.

Ensure that RenderTable::recalcSections is called when moving a
TableSection by calling setNeedsSectionRecalc in addChild for
TableSections.

Test: fullscreen/full-screen-table-section.html

* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):

LayoutTests:

Reviewed by Levi Weintraub.

Add test for calling requestFullscreen on an element with a
table-section display type.

* fullscreen/full-screen-table-section-expected.txt: Added.
* fullscreen/full-screen-table-section.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144837 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Skip tests on Windows to make EWS bots happier.
roger_fong@apple.com [Tue, 5 Mar 2013 23:57:41 +0000 (23:57 +0000)]
Unreviewed. Skip tests on Windows to make EWS bots happier.

* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144835 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening.
rafaelw@chromium.org [Tue, 5 Mar 2013 23:50:39 +0000 (23:50 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: fullscreen/full-screen-iframe-allowed-prexied.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144834 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpgrade ANGLE to r1987
kbr@google.com [Tue, 5 Mar 2013 23:50:06 +0000 (23:50 +0000)]
Upgrade ANGLE to r1987
https://bugs.webkit.org/show_bug.cgi?id=111381

Reviewed by Dean Jackson.

Source/ThirdParty/ANGLE:

* include/GLSLANG/ShaderLang.h:
* src/common/version.h:
* src/compiler/Compiler.cpp:
(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
* src/compiler/ParseHelper.h:
(TParseContext):
* src/compiler/ShHandle.h:
(TCompiler):
* src/compiler/ShaderLang.cpp:
(ShInitBuiltInResources):
* src/compiler/UnfoldShortCircuit.cpp:
(sh::UnfoldShortCircuit::visitSelection):
* src/compiler/glslang.l:
* src/compiler/glslang.y:
* src/compiler/glslang_lex.cpp:
(glslang_scan):
* src/compiler/glslang_tab.cpp:
     Updated ANGLE to r1987.

Source/WebCore:

Covered by existing tests. Ran WebGL conformance tests in Safari
to ensure correct operation of patch.

* platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::initializeANGLE):
    Changed all ports to query for highp support in fragment
    shaders and conditionally enable it in ANGLE shader translator.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144833 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse new assertion API for process suppression on Mac
commit-queue@webkit.org [Tue, 5 Mar 2013 23:46:11 +0000 (23:46 +0000)]
Use new assertion API for process suppression on Mac
https://bugs.webkit.org/show_bug.cgi?id=111387

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-03-05
Reviewed by Alexey Proskuryakov.

Source/WebKit2:

* Shared/ChildProcess.h:
(WebKit::ChildProcess::processSuppressionEnabled): Rename
m_processVisibleAssertion to m_processSuppressionAssertion.
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::setProcessSuppressionEnabled): Ditto. And,
replace calls to WKNSProcessInfoProcessAssertionWithTypes() with call to
-[NSProcessInfo beginSuspensionOfSystemBehaviors:].

WebKitLibraries:

Add WKProcessSuppressionSystemBehaviors constant for use in WebKit2 to
take a process suppression assertion.

* WebKitSystemInterface.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144832 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIndexedDB: Add IDBBackingStoreTest
alecflett@chromium.org [Tue, 5 Mar 2013 23:33:34 +0000 (23:33 +0000)]
IndexedDB: Add IDBBackingStoreTest
https://bugs.webkit.org/show_bug.cgi?id=111233

Reviewed by Adam Barth.

Source/WebCore:

These are tweaks to make IDBBackingStore more easily testable.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::IDBBackingStore): Allow use without a backing store.

Source/WebKit/chromium:

Add some really simple IDBBackingStore tests
as a seed for additional tests later.

* WebKit.gypi:
* tests/IDBBackingStoreTest.cpp: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144830 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove storageType() to StorageAreaProxy
andersca@apple.com [Tue, 5 Mar 2013 23:31:54 +0000 (23:31 +0000)]
Move storageType() to StorageAreaProxy
https://bugs.webkit.org/show_bug.cgi?id=111488

Reviewed by Andreas Kling.

* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::StorageAreaProxy):
(WebKit::StorageAreaProxy::storageType):
(WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
* WebProcess/Storage/StorageAreaProxy.h:
(StorageAreaProxy):
* WebProcess/Storage/StorageNamespaceProxy.cpp:
* WebProcess/Storage/StorageNamespaceProxy.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144829 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove old Mac test expectations for the bug 106412.
rniwa@webkit.org [Tue, 5 Mar 2013 23:31:07 +0000 (23:31 +0000)]
Remove old Mac test expectations for the bug 106412.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[chromium] Move check for threaded compositing from WebCompositorSupport to Platform
jamesr@google.com [Tue, 5 Mar 2013 23:15:23 +0000 (23:15 +0000)]
[chromium] Move check for threaded compositing from WebCompositorSupport to Platform
https://bugs.webkit.org/show_bug.cgi?id=111386

Reviewed by Adrienne Walker.

Source/Platform:

This moves the query for if threaded compositing is enabled from WebCompositorSupport
to Platform. This is part of an effort to remove statefulness on WebCompositorSupport
and because it's much easier to override Platform functions for different tests.

* chromium/public/Platform.h:
(WebKit::Platform::isThreadedCompositingEnabled):
(Platform):
* chromium/public/WebCompositorSupport.h:

Source/WebCore:

This moves checks for whether threaded compositing is enabled from WebCompositorSupport
to Platform. In the case of Canvas2DLayerBridge, the check is moved completely out of
the class to make it easier for tests to specify the threaded configuration to use in the test.

* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(WebCore::Canvas2DLayerBridge::create):
(Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::createAcceleratedCanvas):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::composite):
(WebKit::WebViewImpl::scheduleAnimation):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit::WebViewImpl::scheduleComposite):
* tests/Canvas2DLayerBridgeTest.cpp:
(Canvas2DLayerBridgeTest::fullLifecycleTest):
* tests/Canvas2DLayerManagerTest.cpp:
(FakeCanvas2DLayerBridge::FakeCanvas2DLayerBridge):

Tools:

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::initialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144827 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSplit up the storage event dispatch functions further
andersca@apple.com [Tue, 5 Mar 2013 23:04:10 +0000 (23:04 +0000)]
Split up the storage event dispatch functions further
https://bugs.webkit.org/show_bug.cgi?id=111482

Reviewed by Beth Dakin.

Add new functions for dispatching storage events to a set of frames.

* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::dispatchStorageEvent):
* storage/StorageEventDispatcher.cpp:
(WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
(WebCore):
(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
* storage/StorageEventDispatcher.h:
(WebCore):
(StorageEventDispatcher):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144826 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCrash when ImageLoader deletes Element inside SVGImageElement
schenney@chromium.org [Tue, 5 Mar 2013 22:53:57 +0000 (22:53 +0000)]
Crash when ImageLoader deletes Element inside SVGImageElement
https://bugs.webkit.org/show_bug.cgi?id=111085

Reviewed by Abhishek Arya.

Source/WebCore:

Elements with ImageLoader objects associated with them may have their
final reference held by the ImageLoader (to allow events to be sent
and handled). Any call on Element that causes the ImageLoader to
dispatch events might then result in the final deref of the Element
itself, thus leaving all the Element's "this" pointers up the stack
pointing to invalid memory.

This change puts the deref of the Element on a timer so that, if the
deref is called via a method on Element, the call stack will unwind
before the deref occurs.

Test: svg/custom/image-with-attr-change-after-delete-crash.html

* loader/ImageLoader.cpp:
(WebCore::ImageLoader::ImageLoader): Initialize a timer
(WebCore::ImageLoader::updatedHasPendingEvent): Put deref of the
  element on a oneShotTimer, with appropriate assertions and checks to
  ensure we only ref/deref once.
(WebCore::ImageLoader::timerFired): Deref the element when the timer fires.
* loader/ImageLoader.h:
(ImageLoader): Define a timer for controlling deref of the element.

LayoutTests:

* svg/custom/image-with-attr-change-after-delete-crash-expected.txt: Added.
* svg/custom/image-with-attr-change-after-delete-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144825 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: identify reflection layers in LayerTreeAgent
graouts@apple.com [Tue, 5 Mar 2013 22:48:54 +0000 (22:48 +0000)]
Web Inspector: identify reflection layers in LayerTreeAgent
https://bugs.webkit.org/show_bug.cgi?id=111419

Source/WebCore:

We add a new property "isReflection" to the Layer objects returned
to the front-end to indicate whether the layer was created to host
the reflection for an element. When this new property is true, the
"nodeId" property is set to point to the reflected element's node
id, since there is no node per-se directly associated with this layer.
We also change the "bounds" property to return absolute page coordinates
such that the front-end can use this information to highlight that
region in the page since metrics would otherwise be unavailable.

Reviewed by Dean Jackson.

Test: inspector-protocol/layers/layers-reflected-content.html

* inspector/Inspector.json:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):

LayoutTests:

New test for reflection layers and an updated output for the
existing layersForNode() test since we changed the coordinates
for the "bounds" property to be absolute instead of local.

Reviewed by Dean Jackson.

* inspector-protocol/layers/layers-for-node-expected.txt:
* inspector-protocol/layers/layers-reflected-content-expected.txt: Added.
* inspector-protocol/layers/layers-reflected-content.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144824 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WinCairo] Compile fix after r144024.
commit-queue@webkit.org [Tue, 5 Mar 2013 22:47:02 +0000 (22:47 +0000)]
[WinCairo] Compile fix after r144024.
https://bugs.webkit.org/show_bug.cgi?id=111306

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-03-05
Reviewed by James Robinson.

* page/scrolling/ScrollingCoordinator.cpp: Added guard for USE(ACCELERATED_COMPOSITING).
* page/scrolling/ScrollingCoordinator.h: Added guard for USE(ACCELERATED_COMPOSITING).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144823 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCopy dictionary to the external storage before running layout test on android
commit-queue@webkit.org [Tue, 5 Mar 2013 22:46:57 +0000 (22:46 +0000)]
Copy dictionary to the external storage before running layout test on android
https://bugs.webkit.org/show_bug.cgi?id=111480

Patch by Min Qin <qinmin@chromium.org> on 2013-03-05
Reviewed by Adam Barth.

TestWebKitPlatformSupport now needs to read an external dictionary file.
This file does not exist on the device. We need to copy it before running layout tests.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver._setup_md5sum_and_push_data_if_needed):
(ChromiumAndroidDriver._push_platform_resources):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144822 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agokeydown and keyup events have zero keycode for some numeric pad keys under Chromium...
commit-queue@webkit.org [Tue, 5 Mar 2013 22:44:01 +0000 (22:44 +0000)]
keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
https://bugs.webkit.org/show_bug.cgi?id=85642

Source/WebCore:

Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.

Patch by James Weatherall <wez@chromium.org> on 2013-03-05
Reviewed by Ojan Vafai.

* platform/chromium/KeyCodeConversionGtk.cpp:
(WebCore::windowsKeyCodeForKeyEvent):

Source/WebKit/chromium:

Add tests to verify that the fixed keys generate the same keyCode values as their equivalents.

Patch by James Weatherall <wez@chromium.org> on 2013-03-05
Reviewed by Ojan Vafai.

* WebKit.gypi:
* tests/KeyCodeConversionTestGtk.cpp: Added.
(WebCore):
(WebCore::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144821 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIndexedDB: Properly refactor frontend/backend code by #includes
alecflett@chromium.org [Tue, 5 Mar 2013 22:35:00 +0000 (22:35 +0000)]
IndexedDB: Properly refactor frontend/backend code by #includes
https://bugs.webkit.org/show_bug.cgi?id=110653

Reviewed by Dimitri Glazkov.

Source/WebCore:

IndexedDB has a distinct backend and frontend, with well defined
*Interface / *Callbacks classes distinguishing them, respectively.

This makes sure that the frontend and backend do not include each
other and fixes build problems that occurred as a result.

Specifically this moves enums out of IDBCursor and IDBTransaction
into IndexedDB.h in a new WebCore::IndexedDB namespace.

No new tests, as this is just a refactor.

Source/WebKit/chromium:

Clean up the frontend/backend WebIDB* implementations to
match the changes to webkit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144820 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoClear associated cache partitions when deleting origins' cache
jpfau@apple.com [Tue, 5 Mar 2013 22:30:06 +0000 (22:30 +0000)]
Clear associated cache partitions when deleting origins' cache
https://bugs.webkit.org/show_bug.cgi?id=111383

Reviewed by Maciej Stachowiak.

Source/WebCore:

Clear the cache partitions associated with the origin being cleared.

Not possible to test with current automated test tools, must be tested manually.

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::removeResourcesWithOrigin):

Source/WebKit2:

Clear the cache partitions associated with the origin being cleared.

* WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
(WebKit):
(WebKit::partitionName):
(WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):

WebKitLibraries:

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144819 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRebaseline text output for opaque GraphicsLayers
alokp@chromium.org [Tue, 5 Mar 2013 22:25:15 +0000 (22:25 +0000)]
Rebaseline text output for opaque GraphicsLayers
https://bugs.webkit.org/show_bug.cgi?id=109507

Unreviewed rebaseline.

* compositing/contents-opaque/contents-opaque-background-color-expected.txt:
* compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt:
* compositing/contents-opaque/contents-opaque-layer-transform-expected.txt:
* platform/chromium/TestExpectations:
* platform/chromium/compositing/contents-opaque/contents-opaque-background-color-expected.txt: Copied from LayoutTests/compositing/contents-opaque/contents-opaque-background-color-expected.txt.
* platform/chromium/compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt: Copied from LayoutTests/compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt.
* platform/chromium/compositing/contents-opaque/contents-opaque-layer-transform-expected.txt: Copied from LayoutTests/compositing/contents-opaque/contents-opaque-layer-transform-expected.txt.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Renamed from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Renamed from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
* platform/efl/TestExpectations:
* platform/efl/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144818 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoediting/pasteboard/paste-text-005.html, paste-text-006.html, and paste-text-007.html...
rniwa@webkit.org [Tue, 5 Mar 2013 22:18:53 +0000 (22:18 +0000)]
editing/pasteboard/paste-text-005.html, paste-text-006.html, and paste-text-007.html should be dump-as-markup tests
https://bugs.webkit.org/show_bug.cgi?id=111466

Reviewed by Levi Weintraub.

* editing/pasteboard/paste-text-005-expected.txt: Added.
* editing/pasteboard/paste-text-005.html:
* editing/pasteboard/paste-text-006-expected.txt: Added.
* editing/pasteboard/paste-text-006.html:
* editing/pasteboard/paste-text-007-expected.txt: Added.
* editing/pasteboard/paste-text-007.html:
* platform/chromium-linux/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/chromium-linux/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/chromium-linux/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/chromium-mac-snowleopard/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/chromium-mac/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/win/editing/pasteboard/paste-text-005-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144817 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoInline min/maxInstrinsicLogicalWidth functions
ojan@chromium.org [Tue, 5 Mar 2013 22:04:52 +0000 (22:04 +0000)]
Inline min/maxInstrinsicLogicalWidth functions
https://bugs.webkit.org/show_bug.cgi?id=111399

Reviewed by Tony Chang.

Turns out these functions don't need to be public and only
have one caller. This patch is in preparation for supporting
intrinsic widths on tables, which will need to pass in the
border and padding width as an argument.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::fillAvailableMeasure):
(WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
* rendering/RenderBox.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144816 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoediting/pasteboard/paste-table-003.html should be a dump-as-text test
rniwa@webkit.org [Tue, 5 Mar 2013 22:04:23 +0000 (22:04 +0000)]
editing/pasteboard/paste-table-003.html should be a dump-as-text test
https://bugs.webkit.org/show_bug.cgi?id=111400

Reviewed by Levi Weintraub.

Convert the test to a dump-as-text test. The output is much easier to understand now.
Also moved the test description out of the root element so that it won't be repeated
multiple times in the output.

* editing/pasteboard/paste-table-003-expected.txt: Added.
* editing/pasteboard/paste-table-003.html:
* platform/chromium-linux/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-mac-snowleopard/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-table-003-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-table-003-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/gtk/editing/pasteboard/paste-table-003-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-table-003-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-table-003-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCue line-height property shouldn't be inherited from the video element
vcarbune@chromium.org [Tue, 5 Mar 2013 22:02:27 +0000 (22:02 +0000)]
Cue line-height property shouldn't be inherited from the video element
https://bugs.webkit.org/show_bug.cgi?id=111262

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-cue-rendering-on-resize.html

* css/mediaControls.css:
(video::-webkit-media-text-track-container): Set the default font size
and family using the "font" property to also reset the line-height property.

LayoutTests:

* media/track/captions-webvtt/captions-snap-to-lines-set.vtt: Updated.
* media/track/track-cue-rendering-on-resize-expected.txt: Added.
* media/track/track-cue-rendering-on-resize.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144814 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIndexedDB: Remove some unused binding code
jsbell@chromium.org [Tue, 5 Mar 2013 21:48:34 +0000 (21:48 +0000)]
IndexedDB: Remove some unused binding code
https://bugs.webkit.org/show_bug.cgi?id=111463

Reviewed by Adam Barth.

IDBRequest got a custom V8 getter for |request| to help diagnose an issue, but the
root cause was found/fixed (http://wkbug.com/110916 and http://wkbug.com/110206) so
remove it. Also, IDBKey was marked ScriptWrappable but it is now explicitly converted
to a ScriptValue before it gets anywhere near the binding code, so remove that too.
Finally, createIDBKeyFromValue doesn't need to be exposed from IDBBindingUtilities.

No new tests - just removing dead code.

* Modules/indexeddb/IDBKey.h: No need for ScriptWrappable.
* Modules/indexeddb/IDBRequest.idl: Remove custom binding (root cause of bug found).
* WebCore.gypi: Ditto.
* bindings/js/IDBBindingUtilities.h: Don't expose internal createIDBKeyFromValue().
* bindings/v8/IDBBindingUtilities.h: Ditto.
* bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144813 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix cast-align warning in ASCIIFastPath.h on ARM
ossy@webkit.org [Tue, 5 Mar 2013 21:41:22 +0000 (21:41 +0000)]
Fix cast-align warning in ASCIIFastPath.h on ARM
https://bugs.webkit.org/show_bug.cgi?id=111436

Reviewed by Benjamin Poulain.

* wtf/text/ASCIIFastPath.h:
(WTF::charactersAreAllASCII):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144811 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r144798.
dpranke@chromium.org [Tue, 5 Mar 2013 21:38:29 +0000 (21:38 +0000)]
Unreviewed, rolling out r144798.
http://trac.webkit.org/changeset/144798
https://bugs.webkit.org/show_bug.cgi?id=111478

"broke chromium windows build" (Requested by dpranke on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-05

Source/WebCore:

* GNUmakefile.list.am:
* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::Cursor::continueFunction):
(WebCore::objectStoreCursorOptions):
(WebCore::indexCursorOptions):
(WebCore::IDBBackingStore::openObjectStoreCursor):
(WebCore::IDBBackingStore::openObjectStoreKeyCursor):
(WebCore::IDBBackingStore::openIndexKeyCursor):
(WebCore::IDBBackingStore::openIndexCursor):
* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::create):
(WebCore::IDBCursor::IDBCursor):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::stringToDirection):
(WebCore::IDBCursor::directionToString):
* Modules/indexeddb/IDBCursor.h:
(IDBCursor):
* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::deleteFunction):
(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
(WebCore::IDBCursorBackendImpl::value):
(IDBCursorBackendImpl):
* Modules/indexeddb/IDBCursorBackendInterface.h:
(WebCore):
* Modules/indexeddb/IDBCursorWithValue.cpp:
(WebCore::IDBCursorWithValue::create):
(WebCore::IDBCursorWithValue::IDBCursorWithValue):
* Modules/indexeddb/IDBCursorWithValue.h:
(IDBCursorWithValue):
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction):
* Modules/indexeddb/IDBDatabase.h:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(GetOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(OpenCursorOperation):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::createIndex):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(WebCore::IDBDatabaseBackendImpl::get):
(WebCore::GetOperation::perform):
(WebCore::IDBDatabaseBackendImpl::put):
(WebCore::PutOperation::perform):
(WebCore::IDBDatabaseBackendImpl::setIndexKeys):
(WebCore::IDBDatabaseBackendImpl::openCursor):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::IDBDatabaseBackendImpl::deleteRange):
(WebCore::DeleteRangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::clear):
(WebCore::IDBDatabaseBackendImpl::transactionStarted):
(WebCore::IDBDatabaseBackendImpl::transactionFinished):
(WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
(WebCore::IDBDatabaseBackendImpl::createTransaction):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
* Modules/indexeddb/IDBFactory.h:
* Modules/indexeddb/IDBIndex.cpp:
(WebCore):
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore):
(WebCore::IDBObjectStore::openCursor):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::setCursorDetails):
(WebCore::IDBRequest::setResultCursor):
(WebCore::IDBRequest::onSuccess):
* Modules/indexeddb/IDBRequest.h:
(IDBRequest):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):
* Modules/indexeddb/IDBTransaction.h:
(WebCore::IDBTransaction::isReadOnly):
(WebCore::IDBTransaction::isVersionChange):
(IDBTransaction):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::mode):
* Modules/indexeddb/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::processStartedTransactions):
(WebCore::IDBTransactionCoordinator::canRunTransaction):
* Modules/indexeddb/IndexedDB.h: Removed.
* Target.pri:
* WebCore.gypi:

Source/WebKit/chromium:

* src/AssertMatchingEnums.cpp:
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::openCursor):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/WebIDBCallbacksImpl.cpp:
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::openCursor):
* tests/IDBAbortOnCorruptTest.cpp:
* tests/IDBDatabaseBackendTest.cpp:
* tests/IDBFakeBackingStore.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144810 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening.
zandobersek@gmail.com [Tue, 5 Mar 2013 21:37:34 +0000 (21:37 +0000)]
Unreviewed gardening.

* platform/efl/TestExpectations: Unskipping the fast/workers/shared-worker-load-error.html layout test
and adding a flaky timeout expectation for it. Looking for testing data from the EFL port on this test.
* platform/gtk-wk1/TestExpectations: Removed an expectation for a test that was removed in r144624.
* platform/gtk/TestExpectations: Adding failure expectations for tests introduced in r144714 and r144747.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144809 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMediaStream API: Allow local and remote descriptions to be accessed after close
tommyw@google.com [Tue, 5 Mar 2013 21:15:53 +0000 (21:15 +0000)]
MediaStream API: Allow local and remote descriptions to be accessed after close
https://bugs.webkit.org/show_bug.cgi?id=111437

Reviewed by Adam Barth.

Source/WebCore:

It's quite clear in the standard that the getters should still return the old value.
Also overhauling the state setters a bit to check if the new state is different.

Existing tests expanded to cover patch.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::changeSignalingState):
(WebCore::RTCPeerConnection::changeIceGatheringState):
(WebCore::RTCPeerConnection::changeIceConnectionState):

LayoutTests:

Expanding tests to check the new behaviour.

* fast/mediastream/RTCPeerConnection-localDescription-expected.txt:
* fast/mediastream/RTCPeerConnection-localDescription.html:
* fast/mediastream/RTCPeerConnection-remoteDescription-expected.txt:
* fast/mediastream/RTCPeerConnection-remoteDescription.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144808 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMultiple html5lib Layout Tests are slow since r144032
eric@webkit.org [Tue, 5 Mar 2013 21:14:17 +0000 (21:14 +0000)]
Multiple html5lib Layout Tests are slow since r144032
https://bugs.webkit.org/show_bug.cgi?id=110876

Reviewed by Tony Chang.

Skip the html5lib tests when in debug mode.  The -data variants
almost always timeout due to v8 boot-up time:
https://code.google.com/p/v8/issues/detail?id=2567

These timeouts sometimes manifest as failures, and we've even
seen crashes (with empty stacks!?) of these tests on Win and Mac in Debug, so
skipping them until they run in a reasonable time and can
be debugged further.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144807 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening.
rafaelw@chromium.org [Tue, 5 Mar 2013 21:12:15 +0000 (21:12 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: expectations for transitions/transitions-parsing.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144806 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd FrameLoaderClient::didAccessInitialDocument
creis@chromium.org [Tue, 5 Mar 2013 21:11:10 +0000 (21:11 +0000)]
Add FrameLoaderClient::didAccessInitialDocument
https://bugs.webkit.org/show_bug.cgi?id=107963

Source/WebCore:

Notifies the FrameLoaderClient if another page accesses the
initial empty document of a main frame.  In this case, it is
no longer safe to display the provisional URL.

Only takes effect for PLATFORM(CHROMIUM), since no other platforms
listen to the notification.

Reviewed by Adam Barth.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::setSecurityToken):
    Use default token for initial document.
* bindings/v8/custom/V8DOMWindowCustom.cpp:
    Notify loader if initial document is accessed.
(WebCore::V8DOMWindow::namedSecurityCheck):
(WebCore::V8DOMWindow::indexedSecurityCheck):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::didAccessInitialDocument):
(WebCore):
* loader/FrameLoader.h:
(FrameLoader):
* loader/FrameLoaderClient.h:
(FrameLoaderClient):
(WebCore::FrameLoaderClient::didAccessInitialDocument):

Source/WebKit/chromium:

Notifies WebFrameClient if another page accesses the initial
empty document of a main frame.  In this case, it is no longer
safe to display the provisional URL.

Reviewed by Adam Barth.

* public/WebFrameClient.h:
(WebFrameClient):
(WebKit::WebFrameClient::didAccessInitialDocument):
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::didAccessInitialDocument):
(WebKit):
* src/FrameLoaderClientImpl.h:
(FrameLoaderClientImpl):
* tests/WebFrameTest.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144805 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Fix assertion in CookieManager::getBackingStoreCookies
commit-queue@webkit.org [Tue, 5 Mar 2013 21:08:29 +0000 (21:08 +0000)]
[BlackBerry] Fix assertion in CookieManager::getBackingStoreCookies
https://bugs.webkit.org/show_bug.cgi?id=111468

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-03-05
Reviewed by Rob Buis.
Internally reviewed by Konrad Piascik.

The assert in getBackingStoreCookies could be giving out false positives now
that we have our fixes for cookie loading in PR 286189. The cookie store could
be half loaded if the first cookie get/set call happens before the db is fully loaded.
A full webkit sync call to reload the database will cause the assert to be hit.

Safer to flush everything out and try again.

* platform/blackberry/CookieManager.cpp:
(WebCore::CookieManager::getBackingStoreCookies):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144804 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[chromium] DRT crashes in an Aura/Win build
dpranke@chromium.org [Tue, 5 Mar 2013 20:57:23 +0000 (20:57 +0000)]
[chromium] DRT crashes in an Aura/Win build
https://bugs.webkit.org/show_bug.cgi?id=111394

Reviewed by Tony Chang.

When building (and running) with use_aura=1, we assume that
we're using the default theme engine, but DRT creates the
DRTWin theme engine and overwrites the default, leading to crashes
in basically every test from the mismatch.

This fix gets us down to at least "lots of crashes" :).

* DumpRenderTree/chromium/TestShellWin.cpp:
(platformInit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144802 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCompactHTMLToken does not need an XSSInfo pointer
tonyg@chromium.org [Tue, 5 Mar 2013 20:44:37 +0000 (20:44 +0000)]
CompactHTMLToken does not need an XSSInfo pointer
https://bugs.webkit.org/show_bug.cgi?id=111423

Reviewed by Eric Seidel.

The CompactHTMLToken should remain as small as possible because it is copied. This shrinks the size by one pointer
by moving a relatively uncommon attribute out to its own Vector.

No new tests because no new functionality.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::checkThatXSSInfosAreSafeToSendToAnotherThread):
(WebCore):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/BackgroundHTMLParser.h:
(BackgroundHTMLParser):
* html/parser/CompactHTMLToken.cpp:
(SameSizeAsCompactHTMLToken):
(WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
* html/parser/CompactHTMLToken.h:
(WebCore):
(CompactHTMLToken):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
* html/parser/HTMLDocumentParser.h:
(ParsedChunk):
* html/parser/XSSAuditorDelegate.h:
(XSSInfo):
(WebCore):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144801 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSplit StorageEventDispatcher::dispatch into two functions
andersca@apple.com [Tue, 5 Mar 2013 20:31:04 +0000 (20:31 +0000)]
Split StorageEventDispatcher::dispatch into two functions
https://bugs.webkit.org/show_bug.cgi?id=111464

Reviewed by Beth Dakin.

Split StorageEventDispatcher::dispatch into dispatchSessionStorageEvent and
dispatchLocalStorageEvent and make StorageAreaImpl::dispatchStorageEvent call
the right function based on the storage area type.

* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::dispatchStorageEvent):
* storage/StorageEventDispatcher.cpp:
(WebCore::StorageEventDispatcher::dispatchSessionStorageEvent):
(WebCore):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEvent):
* storage/StorageEventDispatcher.h:
(StorageEventDispatcher):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144800 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WinCairo] Unreviewed build fix after r144024.
bfulgham@webkit.org [Tue, 5 Mar 2013 20:27:37 +0000 (20:27 +0000)]
[WinCairo] Unreviewed build fix after r144024.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::scrollLayerForScrollableArea): Handle
case of not using Accelerated Compositing
(WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
(WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144799 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIndexedDB: Properly refactor frontend/backend code by #includes
alecflett@chromium.org [Tue, 5 Mar 2013 20:11:42 +0000 (20:11 +0000)]
IndexedDB: Properly refactor frontend/backend code by #includes
https://bugs.webkit.org/show_bug.cgi?id=110653

Reviewed by Dimitri Glazkov.

Source/WebCore:

IndexedDB has a distinct backend and frontend, with well defined
*Interface / *Callbacks classes distinguishing them, respectively.

This makes sure that the frontend and backend do not include each
other and fixes build problems that occurred as a result.

Specifically this moves enums out of IDBCursor and IDBTransaction
into IndexedDB.h in a new WebCore::IndexedDB namespace.

No new tests, as this is just a refactor.

Source/WebKit/chromium:

Clean up the frontend/backend WebIDB* implementations to
match the changes to webkit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144798 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[chromium] Unreviewed gardening
tdanderson@chromium.org [Tue, 5 Mar 2013 20:09:03 +0000 (20:09 +0000)]
[chromium] Unreviewed gardening

Unreviewed gardening

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144797 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Rolled Chromium DEPS to r186200. Requested by
commit-queue@webkit.org [Tue, 5 Mar 2013 19:57:26 +0000 (19:57 +0000)]
Unreviewed.  Rolled Chromium DEPS to r186200.  Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-05

* DEPS:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144796 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoContainerNode::setActive should not sleep for 100ms on platforms that do not implemen...
commit-queue@webkit.org [Tue, 5 Mar 2013 19:56:51 +0000 (19:56 +0000)]
ContainerNode::setActive should not sleep for 100ms on platforms that do not implement synchronous repaint(true) semantics
https://bugs.webkit.org/show_bug.cgi?id=87054

Patch by James Robinson <jamesr@chromium.org> on 2013-03-05
Reviewed by Darin Adler.

Source/WebCore:

Adds a new ChromeClient function to query if the platform supports the immediate parameter
to the invalidation APIs and guards the synchronous repaint logic in ContainerNode::setActive()
with it.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::setActive):
* page/ChromeClient.h:
(WebCore::ChromeClient::supportsImmediateInvalidation):

Source/WebKit/mac:

The Mac WebKit1 port supports immediate invalidations.

* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::supportsImmediateInvalidation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144795 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2][EFL] WebPageProxy::setThemePath() should check that the page is valid
mikhail.pozdnyakov@intel.com [Tue, 5 Mar 2013 19:49:55 +0000 (19:49 +0000)]
[WK2][EFL] WebPageProxy::setThemePath() should check that the page is valid
https://bugs.webkit.org/show_bug.cgi?id=109917

Reviewed by Alexey Proskuryakov.

WebPageProxy::setThemePath() should check that the page is valid before
sending IPC message.

* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::setThemePath):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144794 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoediting/pasteboard/5247341.html should be a dump-as-markup test
rniwa@webkit.org [Tue, 5 Mar 2013 19:49:45 +0000 (19:49 +0000)]
editing/pasteboard/5247341.html should be a dump-as-markup test
https://bugs.webkit.org/show_bug.cgi?id=111397

Reviewed by Darin Adler.

Convert the test to use dump-as-markup.js. Also rename it to preserve-line-break-at-end-of-pasted-content
to reflect the content of the test.

* editing/pasteboard/5247341.html: Removed.
* editing/pasteboard/preserve-line-break-at-end-of-pasted-content-expected.txt: Added.
* editing/pasteboard/preserve-line-break-at-end-of-pasted-content.html: Copied from LayoutTests/editing/pasteboard/5247341.html.
* platform/chromium-linux/editing/pasteboard/5247341-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/5247341-expected.png: Removed.
* platform/chromium-mac-snowleopard/editing/pasteboard/5247341-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/5247341-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/5247341-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/5247341-expected.txt: Removed.
* platform/chromium/editing/pasteboard/5247341-expected.txt: Removed.
* platform/gtk/editing/pasteboard/5247341-expected.png: Removed.
* platform/gtk/editing/pasteboard/5247341-expected.txt: Removed.
* platform/mac/editing/pasteboard/5247341-expected.png: Removed.
* platform/mac/editing/pasteboard/5247341-expected.txt: Removed.
* platform/qt/editing/pasteboard/5247341-expected.png: Removed.
* platform/qt/editing/pasteboard/5247341-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144793 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSimplify storage event dispatch somewhat
andersca@apple.com [Tue, 5 Mar 2013 19:43:40 +0000 (19:43 +0000)]
Simplify storage event dispatch somewhat
https://bugs.webkit.org/show_bug.cgi?id=111461

Reviewed by Beth Dakin.

Add a StorageAreaImpl::dispatchStorageEvent to avoid replicating the calls to
StorageEventDispatcher::dispatch there times. This is in preparation for changing the
interface of StorageEventDispatcher so it can be used by WebKit2.

* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::setItem):
(WebCore::StorageAreaImpl::removeItem):
(WebCore::StorageAreaImpl::clear):
(WebCore::StorageAreaImpl::dispatchStorageEvent):

* storage/StorageAreaImpl.h:
Reindent.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144791 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix some crashes in render sliders
tony@chromium.org [Tue, 5 Mar 2013 19:41:55 +0000 (19:41 +0000)]
Fix some crashes in render sliders
https://bugs.webkit.org/show_bug.cgi?id=111458

Reviewed by Ojan Vafai.

Source/WebCore:

Fix some cases where we assumed the renderer is a renderBox.

Test: fast/forms/range/slider-inline-crash.html

* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderContainer::layout): Use renderBox() which will return 0 if the renderer is not a RenderBox.
(WebCore::SliderThumbElement::setPositionFromPoint): Bail out early if renderBox() is 0.

LayoutTests:

* fast/forms/range/slider-inline-crash-expected.txt: Added.
* fast/forms/range/slider-inline-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144790 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r142191): Fix closed caption buttons for ports still using the painting...
scherkus@chromium.org [Tue, 5 Mar 2013 19:37:18 +0000 (19:37 +0000)]
REGRESSION(r142191): Fix closed caption buttons for ports still using the painting path.
https://bugs.webkit.org/show_bug.cgi?id=111109

Reviewed by Eric Carlson.

Source/WebCore:

Covered by following tests:
media/track/track-cue-rendering-horizontal.html
media/track/track-cue-rendering-vertical.html

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):

LayoutTests:

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144789 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago <rdar://problem/13269245> Crashes creating WebKit processes in WKSandboxExten...
ap@apple.com [Tue, 5 Mar 2013 19:17:19 +0000 (19:17 +0000)]
    <rdar://problem/13269245> Crashes creating WebKit processes in WKSandboxExtensionConsume
        https://bugs.webkit.org/show_bug.cgi?id=111456

        Reviewed by Anders Carlsson.

        It's too late to be draconian about this condition here, crashing doesn't help
        diagnose what went wrong when creating a sandbox extension.

        Other SandboxExtension functions already have null checks for WKSandboxExtensionRef,
        and so should consumePermanently().

        * Shared/mac/SandboxExtensionMac.mm:
        (WebKit::SandboxExtension::createHandle): For now, added logging when extension
        creation fails. If that proves insufficiently helpful in practice, we can change
        to a CRASH() later.
        (WebKit::SandboxExtension::createHandleForTemporaryFile): Ditto.
        (WebKit::SandboxExtension::consumePermanently): Gracefully fail if there is no extension
        to consume.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCoordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform...
commit-queue@webkit.org [Tue, 5 Mar 2013 19:16:54 +0000 (19:16 +0000)]
Coordinated Graphics: CoordinatedGraphicsLayer makes CoordinatedGraphicsScene perform via CoordinatedGraphicsState.
https://bugs.webkit.org/show_bug.cgi?id=108294

Patch by Gwang Yoon Hwang <ryumiel@company100.net> on 2013-03-05
Reviewed by Anders Carlsson.

Source/WebCore:

CoordinatedLayerTreeHostProxy has too many IPC messages (e.g. SyncCanvas and
CreateTile), and there is a long function chain from CoordinatedGraphicsLayer to
CoordinatedGraphicsScene (4 classes).
If we want to add a new message, we need to add similar functions into 4 classes.

Now CoordinatedLayerTreeHost has only one IPC message for CoordinatedGraphicsLayer:
CommitCoordinatedGraphicsState.
CoordinatedGraphicsLayer makes CoordinatedGraphicsScene run as follows:
1. CoordinatedGraphicsLayer makes a CoordinatedGraphicsLayerState.
2. CoordinatedLayerTreeHost stores all LayerStates.
3. CoordinatedLayerTreeHost sends GraphicsState includes LayerStates to CoordinatedLayerTreeHostProxy
at the moment of flushing via CommitCoordinatedGraphicsState message.
4. CoordinatedGraphicsScene applies all state changes to layers.

There is one big behavior change. All states changes (e.g.
UpdateTiles, SetLayerChildren, and etc..) are performed at the same time, when
CoordinatedGraphicsScene::commitCoordinatedGraphicsState is called.

This patch is based on Dongsung Huang, and Noam's work in
https://bugs.webkit.org/show_bug.cgi?id=108294

No new tests, covered by existing tests.

* Target.pri:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setPosition):
(WebCore::CoordinatedGraphicsLayer::setAnchorPoint):
(WebCore::CoordinatedGraphicsLayer::setSize):
(WebCore::CoordinatedGraphicsLayer::setTransform):
(WebCore::CoordinatedGraphicsLayer::setChildrenTransform):
(WebCore::CoordinatedGraphicsLayer::setPreserves3D):
(WebCore::CoordinatedGraphicsLayer::setMasksToBounds):
(WebCore::CoordinatedGraphicsLayer::setDrawsContent):
(WebCore::CoordinatedGraphicsLayer::setContentsVisible):
(WebCore::CoordinatedGraphicsLayer::setContentsOpaque):
(WebCore::CoordinatedGraphicsLayer::setBackfaceVisibility):
(WebCore::CoordinatedGraphicsLayer::setOpacity):
(WebCore::CoordinatedGraphicsLayer::setContentsRect):
(WebCore::CoordinatedGraphicsLayer::setFilters):
(WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
(WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
(WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
(WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::setDebugBorder):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
(WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::resetLayerState):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
(WebCore::CoordinatedGraphicsLayer::setRootLayer):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
(WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
(WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
(WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
(WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
(WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
(WebCore::CoordinatedGraphicsScene::setLayerState):
(WebCore::CoordinatedGraphicsScene::deleteLayer):
(WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
(WebCore::CoordinatedGraphicsScene::commitSceneState):
(WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
(WebCore):
(CoordinatedGraphicsScene):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: Added.
(WebCore):
(TileUpdateInfo):
(TileCreationInfo):
(WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
(CoordinatedGraphicsLayerState):
(CoordinatedGraphicsState):
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
* platform/graphics/texmap/coordinated/CoordinatedLayerInfo.h: Removed.
* platform/graphics/texmap/coordinated/SurfaceUpdateInfo.h:

Source/WebKit2:

There are two changes in WK2.
1. Change CoordinatedLayerTreeHostProxy to use CoordinatedGraphicsState.
2. Add encode/decode of CoordinatedGraphicsState in CoordinatedGraphicsArgumentCoders.

This patch is based on Dongsung Huang, and Noam's work in
https://bugs.webkit.org/show_bug.cgi?id=108294

No new tests, covered by existing tests.

* Scripts/webkit2/messages.py:
(headers_for_type):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
    Encoding UpdateImageBacking and CreateUpdateAtlas can fail when
    encoding WebCoordinatedSurface::Handle fails, but we don't
    recover in the case.
(CoreIPC::::decode):
(CoreIPC):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebCore):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
(WebKit):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(WebCore):
(CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
(WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
(WebKit::CoordinatedLayerTreeHost::syncLayerState):
(WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
(WebKit):
(WebKit::CoordinatedLayerTreeHost::updateImageBacking):
(WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144787 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. AppleWin VS2010 build fix.
roger_fong@apple.com [Tue, 5 Mar 2013 19:13:56 +0000 (19:13 +0000)]
Unreviewed. AppleWin VS2010 build fix.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* rendering/RenderingAllInOne.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144786 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd html-parser-threaded perf test now that the threaded parser is enabled by default
eric@webkit.org [Tue, 5 Mar 2013 19:07:26 +0000 (19:07 +0000)]
Add html-parser-threaded perf test now that the threaded parser is enabled by default
https://bugs.webkit.org/show_bug.cgi?id=111200

Reviewed by Ryosuke Niwa.

PerformanceTests:

The old srcdoc test no longer triggers the threaded parser due to compatibility fixes.

* Parser/html-parser-threaded.html: Renamed from PerformanceTests/Parser/html-parser-srcdoc.html.
* Skipped: Unfortunately this new test is still skipped too.

Tools:

Had to teach run-perf-tests to ignore one more warning.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144785 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[chromium] Clean up WebWidget / WebLayerTreeView interactions
commit-queue@webkit.org [Tue, 5 Mar 2013 19:07:01 +0000 (19:07 +0000)]
[chromium] Clean up WebWidget / WebLayerTreeView interactions
https://bugs.webkit.org/show_bug.cgi?id=109125

Patch by James Robinson <jamesr@chromium.org> on 2013-03-05
Reviewed by Adrienne Walker.

Source/Platform:

This deprecates most of the calls on WebLayerTreeViewClient since these interactions are handled
entirely on the embedder side of the interface now.

* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):
* chromium/public/WebLayerTreeViewClient.h:
(WebLayerTreeViewClient):
(WebKit::WebLayerTreeViewClient::willBeginFrame):
(WebKit::WebLayerTreeViewClient::didBeginFrame):
(WebKit::WebLayerTreeViewClient::applyScrollAndScale):
(WebKit::WebLayerTreeViewClient::layout):
(WebKit::WebLayerTreeViewClient::didRecreateOutputSurface):
(WebKit::WebLayerTreeViewClient::createInputHandler):
(WebKit::WebLayerTreeViewClient::createOutputSurface):
(WebKit::WebLayerTreeViewClient::willCommit):
(WebKit::WebLayerTreeViewClient::didCommit):
(WebKit::WebLayerTreeViewClient::didCommitAndDrawFrame):
(WebKit::WebLayerTreeViewClient::didCompleteSwapBuffers):

Source/WebKit/chromium:

This removes most of the compositing control flow logic from WebViewImpl since
it is now handled in the embedding layer (by the implementation of WebViewClient/WebWidgetClient).

* public/WebViewClient.h:
* public/WebWidget.h:
(WebKit):
(WebKit::WebWidget::animate):
(WebWidget):
(WebKit::WebWidget::didExitCompositingMode):
(WebKit::WebWidget::createInputHandler):
(WebKit::WebWidget::applyScrollAndScale):
(WebKit::WebWidget::instrumentBeginFrame):
(WebKit::WebWidget::instrumentWillBeginFrame):
(WebKit::WebWidget::instrumentDidCancelFrame):
(WebKit::WebWidget::instrumentDidBeginFrame):
(WebKit::WebWidget::instrumentWillComposite):
* src/WebHelperPluginImpl.cpp:
* src/WebHelperPluginImpl.h:
(WebHelperPluginImpl):
* src/WebPagePopupImpl.cpp:
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
* src/WebPopupMenuImpl.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::instrumentWillBeginFrame):
(WebKit::WebViewImpl::instrumentDidBeginFrame):
(WebKit::WebViewImpl::instrumentDidCancelFrame):
(WebKit::WebViewImpl::instrumentWillComposite):
(WebKit):
(WebKit::WebViewImpl::updateBatteryStatus):
(WebKit::WebViewImpl::animate):
(WebKit::WebViewImpl::didExitCompositingMode):
* src/WebViewImpl.h:
* tests/WebLayerTreeViewTestCommon.h:
(MockWebLayerTreeViewClient):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate list of builders for test results server
jochen@chromium.org [Tue, 5 Mar 2013 19:05:28 +0000 (19:05 +0000)]
Update list of builders for test results server
https://bugs.webkit.org/show_bug.cgi?id=111166

Reviewed by Ojan Vafai.

* TestResultServer/static-dashboards/builders.jsonp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144783 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Move basic dependency installation to a script
commit-queue@webkit.org [Tue, 5 Mar 2013 18:30:58 +0000 (18:30 +0000)]
[GTK] Move basic dependency installation to a script
https://bugs.webkit.org/show_bug.cgi?id=110692

Patch by Martin Robinson  <mrobinson@igalia.com> and Tomas Popela <tpopela@redhat.com> on 2013-03-05
Reviewed by Gustavo Noronha Silva.

* gtk/install-dependencies: Added. A Script which installs all dependencies
necessary for building for Debian-based distributions and Fedora.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144780 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFollow up to https://bugs.webkit.org/show_bug.cgi?id=111453, forgot to mark the files...
weinig@apple.com [Tue, 5 Mar 2013 18:29:23 +0000 (18:29 +0000)]
Follow up to https://bugs.webkit.org/show_bug.cgi?id=111453, forgot to mark the files as Private.

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144779 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoElevate accessors of C-SPI API variants to Objective-C SPI
weinig@apple.com [Tue, 5 Mar 2013 18:26:41 +0000 (18:26 +0000)]
Elevate accessors of C-SPI API variants to Objective-C SPI
https://bugs.webkit.org/show_bug.cgi?id=111453
<rdar://problem/13340357>

Reviewed by Alexey Proskuryakov.

* Shared/mac/ObjCObjectGraphCoders.mm:
* UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
* UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
* UIProcess/API/mac/WKBrowsingContextGroup.mm:
* UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
* UIProcess/API/mac/WKProcessGroup.mm:
* UIProcess/API/mac/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
* UIProcess/API/mac/WKView.mm:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
(-[WKWebProcessPlugInController _bundleRef]):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h: Renamed from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
Add access to C-SPI WebKit types as Objective-C SPI.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144777 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Exclusions] shape-outside on floats for polygon shapes
commit-queue@webkit.org [Tue, 5 Mar 2013 18:19:36 +0000 (18:19 +0000)]
[CSS Exclusions] shape-outside on floats for polygon shapes
https://bugs.webkit.org/show_bug.cgi?id=98676

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-03-05
Reviewed by David Hyatt.

Source/WebCore:

Implement support for polygonal shape-outside on floats. The basic
tack taken here is to keep using the bounding box of the shape to
position the float, but to compute the offset (caused by the shape)
from the bounding box for each line when creating and positioning
other inline content.

Test: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html

* rendering/ExclusionShapeInfo.cpp:
(WebCore):
(WebCore::::computedShape): Add new template parameter.
(WebCore::::logicalTopOffset): Add new template parameter.
(WebCore::::computeSegmentsForLine): Move here from
    ExclusionShapeInsideInfo, since ExclusionShapeOutsideInfo needs it
    as well. Make virtual since there is slightly different behavior
    between each class even though the vast majority of the code is
    common.
* rendering/ExclusionShapeInfo.h:
(WebCore):
(WebCore::ExclusionShapeInfo::~ExclusionShapeInfo): Since
    computeSegmentsForLine is virtual, the destructor must be virtual
    as well.
(ExclusionShapeInfo): Add new data members to support
    computeSegmentsForLine.
(WebCore::ExclusionShapeInfo::shapeLogicalRight): Fix bug, the logical
    right is based off of maxX, not y. (it's a logical bounding box!)
(WebCore::ExclusionShapeInfo::logicalLineTop): Moved from
    ExclusionShapeInsideInfo for use by computeSegmentsForLine and
    lineOverlapsShapeBounds.
(WebCore::ExclusionShapeInfo::logicalLineBottom): Moved from
    ExclusionShapeInsideInfo for use by computeSegmentsForLine and
    lineOverlapsShapeBounds.
(WebCore::ExclusionShapeInfo::lineOverlapsShapeBounds): Moved from
    ExclusionShapeInsideInfo for use by computeSegmentsForLine.
* rendering/ExclusionShapeInsideInfo.cpp: Moved common code from
    computeSegmentsForLine into ExclusionShapeInfo.
* rendering/ExclusionShapeInsideInfo.h:
(WebCore): Moved some methods to ExclusionShapeInfo.
(ExclusionShapeInsideInfo): Update for new template parameter.
(WebCore::ExclusionShapeInsideInfo::compyteSegmentsForLine): Override
    superclass method to clear the segment ranges. Segement ranges
    aren't used by shape outside, and have some complex dependencies
    that make it very hard to try and move up into ExclusionShapeInfo.
(WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Update
    for new template parameter.
* rendering/ExclusionShapeOutsideInfo.cpp:
(WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Add polygons as a
    supported shape.
(WebCore::ExclusionShapeOutsideInfo::computeSegmentsForLine): Override
    superclass method to not recompute if it isn't needed (this isn't
    straightfoward for shape inside, which is why it isn't common),
    and to save the left and right offsets caused by the shape
    outside, since that's all that is needed to properly do layout in
    the case of floats.
* rendering/ExclusionShapeOutsideInfo.h:
(WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Reformat to
    be on a single line, like most other methods of it's type in
    WebKit headers.
(ExclusionShapeOutsideInfo): Update for new template parameter.
(WebCore::ExclusionShapeOutsideInfo::logicalLeftOffsetForLine):
    Accessor method to get the left offset between the shape and the
    shape's bounding box.
(WebCore::ExclusionShapeOutsideInfo::logicalRightOffsetForLine):
    Accessor method to get the left offset between the shape and the
    shape's bounding box.
(WebCore::ExclusionShapeOutsideInfo::ExclusionShapeOutsideInfo):
    Update for new template parameter.
* rendering/RenderBlock.cpp:
(WebCore::::collectIfNeeded): Save the last float encountered so that
    the shape outside offset can be accounted for.
(WebCore::RenderBlock::logicalLeftOffsetForLine): Account for the
    shape outside offset on the outermost float.
(WebCore::RenderBlock::logicalRightOffsetForLine): Account for the
    shape outside offset on the outermost float.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
    Initialize the lastFloat member.
(WebCore::RenderBlock::FloatIntervalSearchAdapter::lastFloat): Get the
    last float encountered.
(FloatIntervalSearchAdapter): Add a pointer to the last float
    encountered. Note that the variable is mutable because
    collectIfNeeded is declared as a const method even though it isn't
    (it uses loopholes to update m_offset and m_heightRemaining).
    Instead of trying to come up with a hack to stick with the
    loopholes, I decided to be explicit about it.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Take
    into account the offset from any polygonal shape outside.
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Add a FIXME
    because the current code will not work properly with stacked
    floats that have polygonal shape outside.

LayoutTests:

Simple test for floats with polygonal shape-outside.

* fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon-expected.html: Added.
* fast/exclusions/shape-outside-floats/shape-outside-floats-simple-polygon.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144776 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoChromium DumpRenderTree dumps a core every time it's run (Linux/Debug)
jamesr@google.com [Tue, 5 Mar 2013 18:18:45 +0000 (18:18 +0000)]
Chromium DumpRenderTree dumps a core every time it's run (Linux/Debug)
https://bugs.webkit.org/show_bug.cgi?id=111440

Reviewed by Adrienne Walker.

Remove unnecessary WebCompositorSupport::shutdown call

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144775 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[New Multicolumn] Autogenerate regions for columns.
hyatt@apple.com [Tue, 5 Mar 2013 18:05:44 +0000 (18:05 +0000)]
[New Multicolumn] Autogenerate regions for columns.
https://bugs.webkit.org/show_bug.cgi?id=111363

Reviewed by Dean Jackson.

In CSS Regions, we lay out the regions first, and then
we put the flow thread into the regions. This model doesn't
really work for multicolumn layout, which needs to be able
to auto-generate new regions lazily in response to the flow
thread asking for regions at particular offsets.

With the multi-column model, where the regions can't just occur
anywhere, its ok not to lay them out before the flow thread, as
long as we have at least given them the correct size.

This patch changes the layout algorithm for columns to:
(1) Size any existing regions (without worrying about placement).
(2) Lay out the flow thread (generating and sizing regions lazily
that need to be created).
(3) Lay out the regions (to give them correct placement and to
compute overflow correctly for the multi-column block that contains
the regions).

There are no new tests, since there are no behavioral changes. This
is just groundwork for being able to add new sets in response to
spans, balancing, and nested pagination contexts.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::determineLogicalLeftPositionForChild):
(WebCore::RenderBlock::layoutBlockChild):
* rendering/RenderBlock.h:
(RenderBlock):
Since we want to be able to call determineLogicalLeftPositionForChild
to place the flow thread properly, and we don't want to apply a layout
delta (flow threads repaint themselves), we parameterize the method
here so that it can be called without applying a layout delta.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addRegionToThread):
(WebCore::RenderFlowThread::removeRegionFromThread):
These methods are only used by RenderMultiColumnFlowThread, since
RenderNamedFlowThread overrides them. Remove the code that invalidates
the flow threads region set as regions come and go, since that is now
going to be expected with auto-generation.

(WebCore::RenderFlowThread::validateRegions):
Refactor the code in RenderFlowThread::layout that validates the regions
into its own method, so that we can re-validate regions at any time
after generating new ones.

(WebCore::RenderFlowThread::layout):
Changed to move the region validation code into its own function that is
now called from here.

(WebCore::RenderFlowThread::updateLogicalWidth):
Don't assert if a region set needs layout.

(WebCore::RenderFlowThread::computeLogicalHeight):
Ditto. Don't assert if a region set needs layout. That's expected now.

(WebCore::RenderFlowThread::regionAtBlockOffset):
Add code to regionAtBlockOffset to auto-generate regions up to
the offset. This ensures the region that is being asked for
exists.

(WebCore::RenderFlowThread::pageLogicalTopForOffset):
(WebCore::RenderFlowThread::pageLogicalWidthForOffset):
(WebCore::RenderFlowThread::pageLogicalHeightForOffset):
(WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
These functions are no longer const, since the act of asking for
pagination offsets can cause us to generate new regions.

(WebCore::RenderFlowThread::mapFromFlowToRegion):
Modified to turn auto-generation off, since this is not really
a "layout-time" function.

(WebCore::RenderFlowThread::logicalWidthChangedInRegions):
Modified to not assert if a region set needs layout, since that is
expected now.

* rendering/RenderFlowThread.h:
Changes to remove const from the methods that can trigger region
auto-generation.

* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::styleDidChange):
Make sure to propagate style changes down into the regions. I don't know
of any correctness bugs around this, but I figured I'd be thorough.

(WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
We no longer build a column set aggressively. We wait for the flow thread
to ask us for a region at a particular offset, and only then do we
build the set.

(WebCore::RenderMultiColumnBlock::addChild):
Now that we lay out the flow thread as a special excluded child, we don't
care about the ordering of it relative to the region children.

(WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
We now lay out the flow thread as a special excluded child (like the legend
of a fieldset).

* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
Add new overrides like layoutSpecialExcludedChild.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
Set the flow thread to the initial column width even when no regions exist
yet. This way we ensure the width is right even when we don't have any
regions yet.

(WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
This method handles autogenerating the new region for a given offset.
Right now it's simplistic, since we only have one column set. This method
will be enhanced in future patches when we start supporting multiple column
sets.

* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
Adding new method declarations like autoGenerateRegionsToBlockOffset.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::updateLogicalWidth):
Since regions lay out after flow threads, we don't need to make
setFlowThreadPortionRect virtual any longer. We can just get our column set's
width correct immediately. This is the same logic, just moved into updateLogicalWidth().

* rendering/RenderMultiColumnSet.h:
Remove setFlowThreadPortionRect override, since the function can just be simple
and non-virtual in RenderRegion now.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::layoutBlock):
Don't ever invalidate region sets in response to our size changing during layout. Since
our size is always determined outside of layout now, we don't need to do any of
these checks.

* rendering/RenderRegion.h:
(WebCore::RenderRegion::setFlowThreadPortionRect):
Changed to be non-virtual now that RenderMultiColumnSet doesn't need to override.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144773 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Authentication credentials lost when opening a new tab
commit-queue@webkit.org [Tue, 5 Mar 2013 18:05:24 +0000 (18:05 +0000)]
[BlackBerry] Authentication credentials lost when opening a new tab
https://bugs.webkit.org/show_bug.cgi?id=111445

PR 286627

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-03-05
Reviewed by Rob Buis.
Internally Reviewed by Lianghui Chen.

Prevent changing the private mode boolean value in didChangeSettings if the value
hasn't changed.

Setting the private mode value of credentialstorage every time didChangeSettings gets
called causes the session credential mapping to be cleared on every tab change in
non-private mode.

Tested changing tabs after logging into a site using the HTTP Basic Auth protocol to see
if the credentials are cleared. Also ensured the functionality of private mode is not changed.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] FatFinger pairs the wrong element with fatfinger rect part.
commit-queue@webkit.org [Tue, 5 Mar 2013 17:54:31 +0000 (17:54 +0000)]
[BlackBerry] FatFinger pairs the wrong element with fatfinger rect part.
https://bugs.webkit.org/show_bug.cgi?id=111444

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-03-05
Reviewed by Rob Buis.

Internal PR 266214
Internally reviewed by Genevieve Mak.

Instead of subtracting with the element region, we should get the remaining
rect by find the intersect region of element region and fatfinger detection
region.

* WebKitSupport/FatFingers.cpp:
(BlackBerry::WebKit::FatFingers::checkForClickableElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144771 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago Make AsyncFileReader work without ScriptExecutionContext
ap@apple.com [Tue, 5 Mar 2013 17:42:47 +0000 (17:42 +0000)]
    Make AsyncFileReader work without ScriptExecutionContext
        https://bugs.webkit.org/show_bug.cgi?id=111376

        Reviewed by Anders Carlsson.

        * WebCore.xcodeproj/project.pbxproj: Added MainThreadTask.h.

        * dom/ScriptExecutionContext.cpp:
        * dom/ScriptExecutionContext.h:
        Removed fileThread(). Creating a thread for every context that acesses files appears
        wasteful and unnecessary.

        * fileapi/AsyncFileStream.h:
        * fileapi/AsyncFileStream.cpp:
        (WebCore::createFileThread): FileThread is now a singleton.
        (WebCore::fileThread): Ditto.
        (WebCore::AsyncFileStream::AsyncFileStream):
        (WebCore::AsyncFileStream::create):
        (WebCore::didStart):
        (WebCore::AsyncFileStream::startOnFileThread):
        (WebCore::AsyncFileStream::stop):
        (WebCore::derefProxyOnMainThread):
        (WebCore::AsyncFileStream::stopOnFileThread):
        (WebCore::didGetSize):
        (WebCore::AsyncFileStream::getSizeOnFileThread):
        (WebCore::didOpen):
        (WebCore::AsyncFileStream::openForReadOnFileThread):
        (WebCore::AsyncFileStream::openForWriteOnFileThread):
        (WebCore::didRead):
        (WebCore::AsyncFileStream::readOnFileThread):
        (WebCore::didWrite):
        (WebCore::AsyncFileStream::writeOnFileThread):
        (WebCore::didTruncate):
        (WebCore::AsyncFileStream::truncateOnFileThread):
        Use callOnMainThread() instead of posting messages through a context. We never used
        other threads, and don't plan to.

        * loader/ResourceLoader.cpp:
        * loader/ResourceLoader.h:
        We no longer need this pseudo-client call to create an AsyncFileStream, now that
        we don't need to get a ScriptExecutionContext somewhere.

        * platform/MainThreadTask.h: Added. This implements callOnMainThread with multiple
        strongly typed arguments. Closely based on CrossThreadTask.h.

        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::BlobResourceHandle): Create AsyncFileStream directly.

        * platform/network/ResourceHandleClient.h: Removed createAsyncFileStream().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144770 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate the localizable strings file.
jberlin@webkit.org [Tue, 5 Mar 2013 17:35:38 +0000 (17:35 +0000)]
Update the localizable strings file.

Rubber-stamped by Anders Carlsson.

* English.lproj/Localizable.strings:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144769 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago <rdar://problem/13345116> REGRESSION: Child processes get access to user...
ap@apple.com [Tue, 5 Mar 2013 17:32:37 +0000 (17:32 +0000)]
    <rdar://problem/13345116> REGRESSION: Child processes get access to user cache
        and temporary directories instead of private ones

        Reviewed by Sam Weinig.

        * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
        Restore the correct order of calls, so sandbox parameters respect WebKit pseudo
        containers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144768 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r144708.
commit-queue@webkit.org [Tue, 5 Mar 2013 17:26:48 +0000 (17:26 +0000)]
Unreviewed, rolling out r144708.
http://trac.webkit.org/changeset/144708
https://bugs.webkit.org/show_bug.cgi?id=111447

random assertion crashes in inspector tests on qt+mac bots
(Requested by kling on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-05

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSGlobalData):
* runtime/PropertyMapHashTable.h:
(PropertyTable):
(JSC::PropertyTable::PropertyTable):
(JSC):
(JSC::PropertyTable::~PropertyTable):
(JSC::PropertyTable::copy):
* runtime/PropertyTable.cpp: Removed.
* runtime/Structure.cpp:
(JSC::Structure::dumpStatistics):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::despecifyDictionaryFunction):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::sealTransition):
(JSC::Structure::freezeTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::isSealed):
(JSC::Structure::isFrozen):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::pin):
(JSC::Structure::copyPropertyTable):
(JSC::Structure::copyPropertyTableForPinning):
(JSC::Structure::get):
(JSC::Structure::despecifyFunction):
(JSC::Structure::despecifyAllFunctions):
(JSC::Structure::putSpecificValue):
(JSC::Structure::remove):
(JSC::Structure::createPropertyMap):
(JSC::Structure::getPropertyNamesFromStructure):
(JSC::Structure::visitChildren):
(JSC::Structure::checkConsistency):
* runtime/Structure.h:
(JSC):
(JSC::Structure::putWillGrowOutOfLineStorage):
(JSC::Structure::materializePropertyMapIfNecessary):
(JSC::Structure::materializePropertyMapIfNecessaryForPinning):
(JSC::Structure::checkOffsetConsistency):
(Structure):
* runtime/StructureInlines.h:
(JSC::Structure::get):
* runtime/WriteBarrier.h:
(JSC::WriteBarrierBase::get):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144767 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAX: aria-label does not override text content on iOS
cfleizach@apple.com [Tue, 5 Mar 2013 17:24:30 +0000 (17:24 +0000)]
AX: aria-label does not override text content on iOS
https://bugs.webkit.org/show_bug.cgi?id=111222

Reviewed by David Kilzer.

Source/WebCore:

Make iOS use the same text alternative computation that Mac is using. The main difference
is that description and title need to be concatenated, because iOS doesn't have two attributes
to return those values.

Test: platform/iphone-simulator/accessibility/aria-label-with-internal-text.html

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
(-[WebAccessibilityObjectWrapper accessibilityLabel]):
(-[WebAccessibilityObjectWrapper accessibilityHint]):
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:

LayoutTests:

* platform/iphone-simulator/accessibility/aria-label-with-internal-text-expected.txt: Added.
* platform/iphone-simulator/accessibility/aria-label-with-internal-text.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144766 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed build fix.
kov@webkit.org [Tue, 5 Mar 2013 17:08:18 +0000 (17:08 +0000)]
Unreviewed build fix.

.:

* GNUmakefile.am: remove bad path for generate-feature-defines-files from EXTRA_DIST.

Tools:

* GNUmakefile.am: add generate-feature-defines-files scripts to EXTRA_DIST.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144765 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
ddkilzer@apple.com [Tue, 5 Mar 2013 16:58:53 +0000 (16:58 +0000)]
BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac
<http://webkit.org/b/106742>

Fixes the following build failures:

    Undefined symbols for architecture i386:
      "__ZTVN7WebCore25PlatformSpeechSynthesizerE", referenced from:
          __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
      NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
      "__ZN7WebCore25PlatformSpeechSynthesizer19initializeVoiceListEv", referenced from:
          __ZN7WebCore25PlatformSpeechSynthesizerC2EPNS_31PlatformSpeechSynthesizerClientE in PlatformSpeechSynthesizer.o
    ld: symbol(s) not found for architecture i386

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
- Fix definition of ENABLE_ENCRYPTED_MEDIA_V2_macosx to match
  other FeatureDefines.xcconfig files.
- Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
- Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
- Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
- Only set ENABLE_SPEECH_SYNTHESIS for the macosx platform.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144764 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: registered new MIME type application/font-woff for WOFF fonts.
commit-queue@webkit.org [Tue, 5 Mar 2013 16:58:13 +0000 (16:58 +0000)]
Web Inspector: registered new MIME type application/font-woff for WOFF fonts.
https://bugs.webkit.org/show_bug.cgi?id=111418

The WOFF MIME Type was formally registered as application/font-woff (FINALLY):
http://www.iana.org/assignments/media-types/application/font-woff

Patch by Dmitry Zvorygin <zvorygin@chromium.org> on 2013-03-05
Reviewed by Pavel Feldman.

* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkManager):
(WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144763 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Grid Layout] Add parsing for grid-{end|after}
jchaffraix@webkit.org [Tue, 5 Mar 2013 16:27:54 +0000 (16:27 +0000)]
[CSS Grid Layout] Add parsing for grid-{end|after}
https://bugs.webkit.org/show_bug.cgi?id=111372

Reviewed by Tony Chang.

Source/WebCore:

Test: fast/css-grid-layout/grid-item-end-after-get-set.html

This change adds the proper support for grid-{end|after}. It doesn't update
grid-{row|column} to be a shorthand for both grid-{before|start} and grid-{after|end}
though.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
Added the new properties to our known properties. Also added
support for getComputedStyle.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
Added parsing for the new properties.

* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
The new properties are not inherited.

* css/CSSPropertyNames.in:
Added the new properties.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
Added code to handle applying them to our style.

* rendering/style/RenderStyle.h:
* rendering/style/StyleGridItemData.cpp:
(WebCore::StyleGridItemData::StyleGridItemData):
* rendering/style/StyleGridItemData.h:
(WebCore::StyleGridItemData::operator==):
(StyleGridItemData):
Updated our representation to store the new properties.

LayoutTests:

* fast/css-grid-layout/grid-item-end-after-get-set-expected.txt: Added.
* fast/css-grid-layout/grid-item-end-after-get-set.html: Added.
Note that some of the test fails as we don't treat grid-{row|column} as a shorthand.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144762 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed follow-up to r144756, fix broken inspector-less build.
caseq@chromium.org [Tue, 5 Mar 2013 16:06:19 +0000 (16:06 +0000)]
Unreviewed follow-up to r144756, fix broken inspector-less build.

* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willWriteHTML):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144761 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoImprove robustness of WebSQL quota management.
mark.lam@apple.com [Tue, 5 Mar 2013 15:54:13 +0000 (15:54 +0000)]
Improve robustness of WebSQL quota management.
https://bugs.webkit.org/show_bug.cgi?id=110600.

Reviewed by Geoffrey Garen.

Source/WebCore:

1. Introduced the OriginLock for synchronizing write access to the
   database origin directory. This allows us to more accurately
   compute the disk usage.

   The OriginLock uses a mutex to provide mutual exclusion between
   threads and a file lock for mutual exclusion between processes.
   The file lock part is conditional on USE(FILE_LOCK).

   The mutex mutual exclusion also serves to ensure that only 1 thread
   can write to a sqlite database at one time.

2. Change the SQLTransactionCoordinator to only allow one write
   transaction to an origin instead of one write transaction per
   database. This is needed in order to accurately compute the
   disk usage. It is also necessary so that the OriginLock does not
   deadlock itself (as would be the case if concurrent write transactions
   to different databases in the same origin are allowed).

3. Fix DatabaseTracker::getMaxSizeForDatabase() to check for when
   disk usage may exceed the quota, and ensure that we will return
   an appropriate max database size.

   Disk usage can exceed the usage if it is already near the quota limit
   but have not exceeded it yet. If a new database is opened in that
   origin, it may bump the usage above the quota, but should not
   continually repeat this. Subsequent attempts to open a database
   will find that the quota is already exhausted and fail.

   There is still a race condition pertaining to the tracker database
   getting out of sync that may still enable runaway growth in the
   database sizes. That issue only manifest in a multi-process
   environment, and will be fixed in another changeset.

4. Fixed a bug in SQLStatement to check if the errorCallback exists
   before invoking it.

No new layout tests. A quota-test.html was attached to bugzilla for manual
testing of multi-tab concurrent consumption of storage resource, and also
to test handling situations when the user deletes the database files while
the script is still using the database.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::originLockFor):
(WebCore::DatabaseTracker::deleteOriginLockFor):
(WebCore::DatabaseTracker::deleteOrigin):
* Modules/webdatabase/DatabaseTracker.h:
* Modules/webdatabase/OriginLock.cpp: Added.
(WebCore::OriginLock::lockFileNameForPath):
(WebCore::OriginLock::OriginLock):
(WebCore::OriginLock::~OriginLock):
(WebCore::OriginLock::lock):
(WebCore::OriginLock::unlock):
* Modules/webdatabase/OriginLock.h: Added.
* Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::performCallback):
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::postflightAndCommit):
(WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
(WebCore::SQLTransactionBackend::acquireOriginLock):
(WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded):
* Modules/webdatabase/SQLTransactionBackend.h:
(SQLTransactionBackend):
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::getDatabaseIdentifier):
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* config.h:
* platform/FileSystem.h:
* platform/posix/FileSystemPOSIX.cpp:
(WebCore::lockFile):
(WebCore::unlockFile):

LayoutTests:

* storage/websql/multiple-databases-garbage-collection.js:
- This test runs 2 transactions on 2 databases (1 each). The 2 databases
  are named "persistent" and "forgotten". The test executes the
  transaction on "persistent" first, but expects the transaction on
  "forgotten" to finish first. This is because "forgotten"'s transaction
  is a smaller one. The new changes to SQLTransactionCoordinator now
  ensures that a write transaction must completes before another is
  started for databases in the same origin. Hence, the previously expected
  result will no longer be true.

  Regardless, the purpose of the test is not to test the order of
  completion but that resources are reclaimed. So, I'm changing the test
  to start the "forgotten" transaction first followed by the "persistent"
  transaction. This ensures that the test will yield consistent results
  even when run on ports that may allow more than one write transaction
  to run at the same time.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144760 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
loislo@chromium.org [Tue, 5 Mar 2013 15:29:16 +0000 (15:29 +0000)]
Web Inspector: move PopoverContentHelper from TimelinePresentationModel.js to Popover.js.
https://bugs.webkit.org/show_bug.cgi?id=111431

Reviewed by Yury Semikhatsky.

class WebInspector.TimelinePresentationModel.PopoverContentHelper was renamed to WebInspector.PopoverContentHelper.
Style names were changed accordingly.

* inspector/front-end/Popover.js:
(WebInspector.PopoverContentHelper):
(WebInspector.PopoverContentHelper.prototype.contentTable):
(WebInspector.PopoverContentHelper.prototype._createCell):
(WebInspector.PopoverContentHelper.prototype.appendTextRow):
(WebInspector.PopoverContentHelper.prototype.appendElementRow):
(WebInspector.PopoverContentHelper.prototype.appendStackTrace):
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.prototype.generateMainThreadBarPopupContent):
(WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
(WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
(WebInspector.TimelinePresentationModel.generatePopupContentForFrameStatistics):
* inspector/front-end/popover.css:
(.popover-details):
(.popover-function-name):
(.popover-stacktrace-title):
(.popover-details-row-title):
(.popover-details-row-data):
(.popover-details-title):
* inspector/front-end/timelinePanel.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144759 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt][MiniBrowser] Improve the update of touch indicators
abecsi@webkit.org [Tue, 5 Mar 2013 15:00:00 +0000 (15:00 +0000)]
[Qt][MiniBrowser] Improve the update of touch indicators
https://bugs.webkit.org/show_bug.cgi?id=111429

Reviewed by Jocelyn Turcotte.

MiniBrowserApplication::sendTouchEvent sends an empty list
to BrowserWindow::updateVisualMockTouchPoints if the control
button is released, in which case the touch indicators should
be hidden so that we never end up with a leftover indicator
sticking on the screen.
This patch also simplifies the lookup of the indicator items by
replacing the findChild search in the item tree with a QHash
that stores the touch ID's and the pointers to the corresponding
indicator items.

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::updateVisualMockTouchPoints):
* MiniBrowser/qt/BrowserWindow.h:
(BrowserWindow):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144758 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: remove "Live native memory chart" experiment
yurys@chromium.org [Tue, 5 Mar 2013 14:54:08 +0000 (14:54 +0000)]
Web Inspector: remove "Live native memory chart" experiment
https://bugs.webkit.org/show_bug.cgi?id=111432

Reviewed by Alexander Pavlov.

Removed support for live native memory chart.

* English.lproj/localizedStrings.js:
* inspector/front-end/NativeMemorySnapshotView.js:
* inspector/front-end/ProfileLauncherView.js:
(WebInspector.ProfileLauncherView):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/nativeMemoryProfiler.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144757 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: remove length parameter from Parse HTML timeline event
caseq@chromium.org [Tue, 5 Mar 2013 14:09:20 +0000 (14:09 +0000)]
Web Inspector: remove length parameter from Parse HTML timeline event
https://bugs.webkit.org/show_bug.cgi?id=111421

Reviewed by Yury Semikhatsky.

Source/WebCore:

- remove length parameter in all instrumentation methods used to emit ParseHTML timeline event;
- drive-by style fixes.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::pumpPendingSpeculations):
(WebCore::HTMLDocumentParser::pumpTokenizer):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willWriteHTMLImpl):
(WebCore::InspectorInstrumentation::didWriteHTMLImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willWriteHTML):
(WebCore::InspectorInstrumentation::didWriteHTML):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willWriteHTML):
(WebCore::InspectorTimelineAgent::didWriteHTML):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createParseHTMLData):
* inspector/TimelineRecordFactory.h:
(TimelineRecordFactory):

LayoutTests:

- removed length field from ParseHTML data in expectations.

* inspector/timeline/timeline-parse-html-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144756 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Add a renderer process memory size test.
commit-queue@webkit.org [Tue, 5 Mar 2013 14:06:28 +0000 (14:06 +0000)]
Web Inspector: Add a renderer process memory size test.
https://bugs.webkit.org/show_bug.cgi?id=111337

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-05
Reviewed by Yury Semikhatsky.

The test checks that the renderer process memory size
is obtained from the browser and reported to the inspector
frontend correctly.

* src/js/Tests.js:
(.TestSuite.prototype.testRendererProcessNativeMemorySize.checkFuzzyValue):
(.TestSuite.prototype.testRendererProcessNativeMemorySize.step2):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144755 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: allow each profiler panel to have own landing page
commit-queue@webkit.org [Tue, 5 Mar 2013 13:58:11 +0000 (13:58 +0000)]
Web Inspector: allow each profiler panel to have own landing page
https://bugs.webkit.org/show_bug.cgi?id=111298

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-05
Reviewed by Yury Semikhatsky.

Refactor profiler landing page to allow different profiler panels to have own landing pages.
  - MultiProfileLauncherView is inherited from ProfileLauncherView
  - Native memory distribution profiler has got a custom page.

No new tests: code refactoring.

* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotView.prototype.get profile):
(WebInspector.HeapSnapshotView.prototype.get baseProfile):
(WebInspector.HeapSnapshotView.prototype._profiles):
* inspector/front-end/NativeMemorySnapshotView.js:
* inspector/front-end/ProfileLauncherView.js:
(WebInspector.ProfileLauncherView):
(WebInspector.ProfileLauncherView.prototype.addProfileType):
(WebInspector.ProfileLauncherView.prototype._controlButtonClicked):
(WebInspector.ProfileLauncherView.prototype._updateControls):
(WebInspector.ProfileLauncherView.prototype.profileStarted):
(WebInspector.ProfileLauncherView.prototype.profileFinished):
(WebInspector.MultiProfileLauncherView):
(WebInspector.MultiProfileLauncherView.prototype.addProfileType):
(WebInspector.MultiProfileLauncherView.prototype._profileTypeChanged):
(WebInspector.NativeProfileLauncherView):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype._createLauncherView):
(WebInspector.CPUProfilerPanel):
(WebInspector.CSSSelectorProfilerPanel):
(WebInspector.HeapProfilerPanel):
(WebInspector.CanvasProfilerPanel):
(WebInspector.MemoryChartProfilerPanel):
(WebInspector.MemoryChartProfilerPanel.prototype._createLauncherView):
(WebInspector.NativeMemoryProfilerPanel):
* inspector/front-end/profilesPanel.css:
(.panel-enabler-view.profile-launcher-view button:not(.status-bar-item)):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144754 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
eustas@chromium.org [Tue, 5 Mar 2013 13:33:41 +0000 (13:33 +0000)]
Web Inspector: Clarify some StylesSidebarPanel and CSSMetadata JSDocs.
https://bugs.webkit.org/show_bug.cgi?id=111427

Reviewed by Alexander Pavlov.

Goal: reflect in JSDoc that non-null array is passed to completionsReady callback.

* inspector/front-end/CSSMetadata.js:
Added JSDocs, avoided possible NPEs.
* inspector/front-end/StylesSidebarPane.js:
Fixed JSDocs, removed unused assignment.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144753 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2] WTR needs an implementation of setAsynchronousSpellCheckingEnabled
g.czajkowski@samsung.com [Tue, 5 Mar 2013 13:29:37 +0000 (13:29 +0000)]
[WK2] WTR needs an implementation of setAsynchronousSpellCheckingEnabled
https://bugs.webkit.org/show_bug.cgi?id=81042

Reviewed by Enrica Casucci.

Source/WebKit2:

Expose WK2 setting to enable/disabled asynchronous spell checking.
It's used by WebKitTestRunner to reset the setting at the beginning
of the test.
WebKit2 ports might be interested in this setting if they are going
to enable this feature.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAsynchronousSpellCheckingEnabled):
(WKPreferencesGetAsynchronousSpellCheckingEnabled):
* UIProcess/API/C/WKPreferences.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetAsynchronousSpellCheckingEnabled):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setAsynchronousSpellCheckingEnabled):
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

Add setAsynchronousSpellCheckingEnabled implementation for
WebKitTestRunner to have the possibility to test asynchronous
spell checking implementation from bug 109577.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setAsynchronousSpellCheckingEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):

LayoutTests:

Gardening of the asynchronous spell checking tests.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
Some tests need to be skipped as they require features not
implemented for EFL yet (pasteboard, grammar checking, text replacement).

* platform/gtk-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/qt-5.0-wk2/TestExpectations:
Skip asynchronous spell checking for GTK+, Mac, Qt unless
they implement TextChecker::requestCheckingOfText.

* platform/wk2/TestExpectations:
Remove asynchronous spell checking tests from global wk2's
as they are passing for EFL.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144752 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
ddkilzer@apple.com [Tue, 5 Mar 2013 13:29:23 +0000 (13:29 +0000)]
BUILD FIX (r144727): Change type of columnRange and rowRange to pair<unsigned, unsigned>
<http://webkit.org/b/110050>

Fixes the following build failures:

    Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:741:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
        tableCell->rowIndexRange(rowRange);
                                 ^~~~~~~~
    In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
    Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
        virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
                                                             ^
    Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:742:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
        tableCell->columnIndexRange(columnRange);
                                    ^~~~~~~~~~~
    In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
    Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
        virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
                                                                ^
    Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:804:30: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
        tableCell->rowIndexRange(rowRange);
                                 ^~~~~~~~
    In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
    Source/WebCore/accessibility/AccessibilityTableCell.h:47:58: note: passing argument to parameter 'rowRange' here
        virtual void rowIndexRange(pair<unsigned, unsigned>& rowRange);
                                                             ^
    Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:818:33: error: non-const lvalue reference to type 'pair<unsigned int, unsigned int>' cannot bind to a value of unrelated type 'pair<int, int>'
        tableCell->columnIndexRange(columnRange);
                                    ^~~~~~~~~~~
    In file included from Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:33:
    Source/WebCore/accessibility/AccessibilityTableCell.h:49:61: note: passing argument to parameter 'columnRange' here
        virtual void columnIndexRange(pair<unsigned, unsigned>& columnRange);
                                                    ^
    4 errors generated.

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
(-[WebAccessibilityObjectWrapper accessibilityRowRange]):
(-[WebAccessibilityObjectWrapper accessibilityColumnRange]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144751 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Clean up animated scroll/zoom code in WebPagePrivate
commit-queue@webkit.org [Tue, 5 Mar 2013 12:53:35 +0000 (12:53 +0000)]
[BlackBerry] Clean up animated scroll/zoom code in WebPagePrivate
https://bugs.webkit.org/show_bug.cgi?id=111373

Patch by Andrew Lo <anlo@rim.com> on 2013-03-05
Reviewed by Rob Buis.

Internally reviewed by Jakob Petsovits.
Internal PR 285468.

Have WebPageClient pass the final scale and position to WebPage when a zoom/scroll
animation finishes, rather than keeping those values as instance variables in
WebPagePrivate.

Rename some functions & variables to reflect that they are used for both block zoom
and generic zoom/scroll animations.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::zoomAnimationFinished):
(BlackBerry::WebKit::WebPage::zoomAnimationFinished):
(BlackBerry::WebKit::WebPagePrivate::resetBlockZoom):
(BlackBerry::WebKit::WebPage::blockZoom):
(BlackBerry::WebKit::WebPagePrivate::animateToScaleAndDocumentScrollPosition):
* Api/WebPage.h:
* Api/WebPageClient.h:
* Api/WebPage_p.h:
(WebPagePrivate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144750 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: [refactoring] set frame identifiers in timeline records early, do...
caseq@chromium.org [Tue, 5 Mar 2013 12:23:37 +0000 (12:23 +0000)]
Web Inspector: [refactoring] set frame identifiers in timeline records early, do not keep them in event stack
https://bugs.webkit.org/show_bug.cgi?id=111345

Reviewed by Pavel Feldman.

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::pushGCEventRecords):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
(WebCore::InspectorTimelineAgent::setFrameIdentifier):
(WebCore):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
(WebCore::InspectorTimelineAgent::commitFrameRecord):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
(TimelineRecordEntry):
(InspectorTimelineAgent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144749 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMediaStream API: Add the getStreamById method on RTCPeerConnection
tommyw@google.com [Tue, 5 Mar 2013 11:34:38 +0000 (11:34 +0000)]
MediaStream API: Add the getStreamById method on RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=111311

Reviewed by Adam Barth.

Source/Platform:

Added an initial initialize method which doesn't take an id;
the id will be generated for you.

* chromium/public/WebMediaStream.h:
(WebMediaStream):

Source/WebCore:

Adding the missing method on RTCPeerConnection defined here:
http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCPeerConnection-getStreamById-MediaStream-DOMString-streamId

Existing tests have been extended to cover patch.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::getStreamById):
(WebCore):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* platform/chromium/support/WebMediaStream.cpp:
(WebKit::WebMediaStream::initialize):
(WebKit):
* platform/mediastream/MediaStreamSource.cpp:
(WebCore::MediaStreamSource::setReadyState):

Tools:

Changing mocks to be more realistic.

* DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp:
(WebTestRunner::MockWebRTCPeerConnectionHandler::addStream):
(WebTestRunner::MockWebRTCPeerConnectionHandler::removeStream):
* DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp:
(WebTestRunner::WebUserMediaClientMock::requestUserMedia):

LayoutTests:

* fast/mediastream/MediaStream-add-remove-tracks.html:
* fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
* fast/mediastream/RTCPeerConnection-AddRemoveStream.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144748 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: allow retrieval of composited layers in a given DOM subtree
graouts@apple.com [Tue, 5 Mar 2013 11:31:28 +0000 (11:31 +0000)]
Web Inspector: allow retrieval of composited layers in a given DOM subtree
https://bugs.webkit.org/show_bug.cgi?id=111312

Source/WebCore:

Introduce the LayerTreeAgent.layersForNode(node) method allowing the front-end
to gather all composited layers associated with nodes in the subtree of which
the provided node is the root.

In order to gather the layers in the subtree, we first traverse the node's
renderer's RenderObject hierarchy and whenever we encounter a RenderObject
that has a RenderLayer, we then traverse that renderLayer's RenderLayer
hierarchy. This allows for a quick path through the relevant objects we're
gathering.

Layers gathered will push the node to which they're associated, allowing a
nodeId for this layer to be listed in the Layer object sent to the front-end.
It is crucial to be able to provide a nodeId as well as a layerId for a Layer
object in order to be able to correctly assess mutations in the layer tree.
For instance, it is expected that a node's layer be replaced by a new layer
to represent a slightly different rendering of its content, but the front-end
should be able to represent this layer as an object for which only certain
attributes have changed (like the "paintCount" property).

Layer objects also indicate whether they're associated to a node hosted in a
shadow tree (the optional "isInShadowTree" property) in order for the front-end
to be able to only show this layer if the option to show nodes hosted in shadow
tree is enabled.

Finally, since we're only gathering composited layers, we're removing the
"isLayerComposited" property and removing the optional flag on the "paintCount",
"memory" and "compositedBounds" properties.

Reviewed by Simon Fraser.

Test: inspector-protocol/layers/layers-for-node.html

* inspector/Inspector.json:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::idForNode):
* inspector/InspectorLayerTreeAgent.h:
(InspectorLayerTreeAgent):

LayoutTests:

New test for the LayerTree.layersForNode() method.

Reviewed by Simon Fraser.

* inspector-protocol/layers/layers-for-node-expected.txt: Added.
* inspector-protocol/layers/layers-for-node.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144747 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
caseq@chromium.org [Tue, 5 Mar 2013 10:53:38 +0000 (10:53 +0000)]
Web Inspector: use timestamps consistent with rest of Timeline in WebSocket events.
https://bugs.webkit.org/show_bug.cgi?id=111344

- create web socket related records in a manner consistent with the rest of timeline.

Reviewed by Pavel Feldman.

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didCreateWebSocket):
(WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorTimelineAgent::didDestroyWebSocket):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144746 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2][EFL] Add requestCheckingOfString implementation.
g.czajkowski@samsung.com [Tue, 5 Mar 2013 10:38:48 +0000 (10:38 +0000)]
[WK2][EFL] Add requestCheckingOfString implementation.
https://bugs.webkit.org/show_bug.cgi?id=108172

Reviewed by Hajime Morrita.

Provide implementation of 'requestCheckingOfString' for WK2-EFL.
It uses the unified text checker feature.

* UIProcess/efl/TextCheckerEfl.cpp:
(WebKit::TextChecker::requestCheckingOfString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144745 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Regions] Crash when MathML used in CSS Regions
abucur@adobe.com [Tue, 5 Mar 2013 10:27:35 +0000 (10:27 +0000)]
[CSS Regions] Crash when MathML used in CSS Regions
https://bugs.webkit.org/show_bug.cgi?id=110686

Reviewed by David Hyatt.

Source/WebCore:

The MathML blocks trigger a children layout when computing the preferred widths. This happens to determine the preferred
logical heights of the children. When the layout reaches the line boxes computation the preferred width of the containing block
is requested. Because it wasn't computed, the layout of the children is started again to determine the preferred logical heights.
This causes an infinite recursion and triggers a stack overflow.

The patch introduces a new RAII utility class that disables fragmentation when the constructor is called and restores it
on the destructor. This class is used when computing the preferred height for the children of a MathML block.

Test: fast/regions/mathml-crash.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::setFlowThreadStateIncludingDescendants): Do not cross RenderFlowThread boundaries when updating the flow thread
state flag. The innermost flow threads need to manage their descendants flag values.
* rendering/RenderView.cpp:
(WebCore::FragmentationDisabler::FragmentationDisabler):
(WebCore):
(WebCore::FragmentationDisabler::~FragmentationDisabler):
* rendering/RenderView.h:
(FragmentationDisabler):
(WebCore):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):

LayoutTests:

Add a test to verify regions and MathML do not crash.

* fast/regions/mathml-crash-expected.txt: Added.
* fast/regions/mathml-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144744 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCleanup: Move HitTestLocation and HitTestResult into separate files.
mkwst@chromium.org [Tue, 5 Mar 2013 10:05:41 +0000 (10:05 +0000)]
Cleanup: Move HitTestLocation and HitTestResult into separate files.
https://bugs.webkit.org/show_bug.cgi?id=111294

Reviewed by Allan Sandfeld Jensen.

HitTestLocation and HitTestResult currently both live in
HitTestResult.h. That makes things more difficult to understand than
they should be, and violates the one-class-one-file principle that
WebKit generally follows. Happily, it's fairly trivial to fix.

This should have no visible change; it's strictly an internal
refactoring. It doesn't even touch any implementation code: we're
just moving bits from one place to another.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
    Hey, look: a new file! Let's add it to six different build systems! :)
* rendering/HitTestLocation.cpp: Added.
(WebCore):
(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestLocation::~HitTestLocation):
(WebCore::HitTestLocation::operator=):
(WebCore::HitTestLocation::move):
(WebCore::HitTestLocation::intersectsRect):
(WebCore::HitTestLocation::intersects):
(WebCore::HitTestLocation::rectForPoint):
* rendering/HitTestLocation.h: Added.
(WebCore):
(HitTestLocation):
(WebCore::HitTestLocation::point):
(WebCore::HitTestLocation::roundedPoint):
(WebCore::HitTestLocation::region):
(WebCore::HitTestLocation::isRectBasedTest):
(WebCore::HitTestLocation::isRectilinear):
(WebCore::HitTestLocation::boundingBox):
(WebCore::HitTestLocation::topPadding):
(WebCore::HitTestLocation::rightPadding):
(WebCore::HitTestLocation::bottomPadding):
(WebCore::HitTestLocation::leftPadding):
(WebCore::HitTestLocation::transformedPoint):
(WebCore::HitTestLocation::transformedRect):
* rendering/HitTestResult.cpp:
* rendering/HitTestResult.h:
    Move all this code from HitTestResult.* to HitTestLocation.*.
* rendering/RenderBlock.cpp:
    Include HitTestLocation.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144743 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRefactor UserGestureIndicator::Token to be a top-level class
jochen@chromium.org [Tue, 5 Mar 2013 09:30:47 +0000 (09:30 +0000)]
Refactor UserGestureIndicator::Token to be a top-level class
https://bugs.webkit.org/show_bug.cgi?id=111412

Reviewed by Nico Weber.

This will allow for forward declaring the class in a public WebKit
API header. The goal is to enable the embedder to hold on to a
UserGestureToken.

* dom/UserGestureIndicator.cpp:
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::currentToken):
* dom/UserGestureIndicator.h:
(UserGestureToken):
(WebCore::UserGestureToken::~UserGestureToken):
(WebCore):
(UserGestureIndicator):
* page/DOMTimer.h:
(DOMTimer):
* page/EventHandler.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144742 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove redundant code in Document::updateHoverActiveState.
mkwst@chromium.org [Tue, 5 Mar 2013 09:15:59 +0000 (09:15 +0000)]
Remove redundant code in Document::updateHoverActiveState.
https://bugs.webkit.org/show_bug.cgi?id=111303

Reviewed by Darin Adler.

Document::updateHoverActiveState currently looks for touchrelease events
and explictly clears out the hover state for all nodes between the
currently hovered node and the top of the hover chain. This is actually
redundant with the logic in the rest of the function; we can simplify by
setting the Element* we're working with to 0, which causes the later
loops to do the necessary work.

There should be no web-visible effect from this change; it should simply
make this function less complex.

Extracted from Allan Sandfeld Jensen's original patch to wkbug.com/98168

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):
    Set innerElementInDocument to 0 rather than walking the hover chain
    and clearing it when we see a touchrelease event. The rest of the
    code in this function will have the same effect.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144741 268f45cc-cd09-0410-ab3c-d52691b4dbfc