WebKit.git
7 years ago[BlackBerry] GeolocationClientBB should show file system path in prompts when host...
commit-queue@webkit.org [Fri, 7 Dec 2012 20:22:35 +0000 (20:22 +0000)]
[BlackBerry] GeolocationClientBB should show file system path in prompts when host is not avaliable
https://bugs.webkit.org/show_bug.cgi?id=103785

PR 247656

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-12-07
Reviewed by Rob Buis.

Adding a special case for origins with protocol "file". We will use the filepath as
an origin when asking for geolocation permission.

If the origin is unique (ie. from a sandboxed iframe), we will fail the location request
right away.

* WebCoreSupport/GeolocationClientBlackBerry.cpp:
(getOrigin):
(GeolocationClientBlackBerry::requestPermission):
(GeolocationClientBlackBerry::cancelPermissionRequest):

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

7 years ago[Chromium] Enable Intel's Resource Timing tests
simonjam@chromium.org [Fri, 7 Dec 2012 19:34:59 +0000 (19:34 +0000)]
[Chromium] Enable Intel's Resource Timing tests
https://bugs.webkit.org/show_bug.cgi?id=104330

Reviewed by Tony Gentilcore.

* platform/chromium/TestExpectations: 2 fail because they rely on iframes.

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

7 years agoREGRESSION(r127163): Content is offset to the right at rea.ru
robert@webkit.org [Fri, 7 Dec 2012 19:30:51 +0000 (19:30 +0000)]
REGRESSION(r127163): Content is offset to the right at rea.ru
https://bugs.webkit.org/show_bug.cgi?id=103116

Reviewed by David Hyatt.

Source/WebCore:

The top margin edge of a self-collapsing block that clears a float intrudes up into it by the height of the margin,
so to ensure any child floats of the self-collapsing block only go as far as the top content edge
add the margin back in to the block's current height before placing them.

Tests: fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins.html
       fast/block/margin-collapse/self-collapsing-block-with-float-child.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

LayoutTests:

* fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins-expected.html: Added.
* fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins.html: Added.
* fast/block/margin-collapse/self-collapsing-block-with-float-child-expected.html: Added.
* fast/block/margin-collapse/self-collapsing-block-with-float-child.html: Added.

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

7 years agoImprove r136754 by hardening checks of expected values for background-position.
alexis@webkit.org [Fri, 7 Dec 2012 19:23:52 +0000 (19:23 +0000)]
Improve r136754 by hardening checks of expected values for background-position.
https://bugs.webkit.org/show_bug.cgi?id=104380

Reviewed by Antti Koivisto.

r136754 was landed to fix the problem of checking successively two calc
values with validUnit. It was asserting as validUnit expect you to use
the parsed value of the calc after the call. In this case we pre-check the
background-position longhand to count how many values it has to then
call the right parsing functions accordingly. While r136754 is not
wrong it is better to harden isPotentialPositionValue with the real
expected units and keywords. For this matter we can reuse the
ReleaseParsedCalcValueCondition enum which was created with the same
idea as this patch. If you are not interested of the calc parsed
value when calling validUnit() you can now specify it, I believe it is
good to have it explicit to avoid mistake in the future.

No new tests : this is covered by css3/*, fast/backgrounds/*.

* css/CSSParser.cpp:
(WebCore::CSSParser::validCalculationUnit):
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::isPotentialPositionValue):
* css/CSSParser.h:
(WebCore::CSSParser::validUnit):
(CSSParser):

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

7 years ago[BlackBerry] Update BlackBerry Port to use new Graphics::createBuffer BufferType...
commit-queue@webkit.org [Fri, 7 Dec 2012 19:16:49 +0000 (19:16 +0000)]
[BlackBerry] Update BlackBerry Port to use new Graphics::createBuffer BufferType enum values.
https://bugs.webkit.org/show_bug.cgi?id=104121

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-12-07
Reviewed by Rob Buis.

Source/WebKit/blackberry:

Update createBuffer calls to reflect new BufferType enum.
Set buffers opaque if possible to avoid unnecessary blends.
Internal PR 254649
Internal Review: Jakob Petsovits

* WebKitSupport/BackingStoreTile.cpp:
(BlackBerry::WebKit::TileBuffer::nativeBuffer):

Tools:

Update createBuffer call to reflect new BufferType enum.
Internal PR 254649
Internal Review: Jakob Petsovits

DRT is always backed for maximum compatibility.

* DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.cpp:
(createBitmapContextFromWebView):

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

7 years agoRemove unnecessary casts in transformations.
bfulgham@webkit.org [Fri, 7 Dec 2012 19:10:02 +0000 (19:10 +0000)]
Remove unnecessary casts in transformations.
https://bugs.webkit.org/show_bug.cgi?id=104376

Reviewed by Simon Fraser.

Several casts from float-to-double are performed prior to
storing the result in a double type. These casts are unnecessary
overhead and reduce the clarity of the source code.

No new tests. Covered by existing CSS test cases.

* platform/graphics/transforms/RotateTransformOperation.cpp:
* platform/graphics/transforms/TransformationMatrix.cpp:

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

7 years agofast/frames/sandboxed-iframe-scripting.html contains very misleading comments.
mkwst@chromium.org [Fri, 7 Dec 2012 18:49:47 +0000 (18:49 +0000)]
fast/frames/sandboxed-iframe-scripting.html contains very misleading comments.
https://bugs.webkit.org/show_bug.cgi?id=104363

Reviewed by Darin Adler.

The comments in this test describe a state that is in fact the opposite
of what's being tested. That confused me. This patch corrects the
comments to make it clear that adding a sandbox attribute at runtime has
no effect on the frame; the sandboxing flags are set when the nested
browsing context is _navigated_, not when the attribute changes value.

Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-sandbox

* fast/frames/resources/sandboxed-iframe-script-dynamic.html:
* fast/frames/sandboxed-iframe-scripting-expected.txt:
* fast/frames/sandboxed-iframe-scripting.html:

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

7 years agoAdd 'CHROMIUM_DEVEL_SANDBOX' to the environment variables to copy for layout test...
jochen@chromium.org [Fri, 7 Dec 2012 18:26:02 +0000 (18:26 +0000)]
Add 'CHROMIUM_DEVEL_SANDBOX' to the environment variables to copy for layout test drivers
https://bugs.webkit.org/show_bug.cgi?id=104355

Reviewed by Dirk Pranke.

This enables chromium's content_shell driver to run with the full SUID
sandbox.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.to.setup_environ_for_server):

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

7 years ago[BlackBerry] Double zoom animation when focusing on input field.
commit-queue@webkit.org [Fri, 7 Dec 2012 18:16:11 +0000 (18:16 +0000)]
[BlackBerry] Double zoom animation when focusing on input field.
https://bugs.webkit.org/show_bug.cgi?id=104375

Patch by Andrew Lo <anlo@rim.com> on 2012-12-07
Reviewed by Rob Buis.
Internally reviewed by Jakob Petsovits.

UI thread does not need to be notified of a scale change if the WebKit
thread scale has not changed.

This caused issues when two viewport resizes occured one after the other.
Before the scale change due to the first resize could be set in the WK
thread's scale value, it caused WK thread to dispatch a scaleChanged,
overwritting & resetting the new UI thread scale value, resulting in the
double zoom animation.

The larger issue dealing with synchronization between the threads where
scale changes could occur on either thread, however that is beyond the
scope of this change.

Internal PR253122

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

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

7 years agoProvide the backend for exposing the layer tree to the Web Inspector
commit-queue@webkit.org [Fri, 7 Dec 2012 17:54:54 +0000 (17:54 +0000)]
Provide the backend for exposing the layer tree to the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=103513

Patch by Antoine Quint <graouts@apple.com> on 2012-12-07
Reviewed by Pavel Feldman.

Source/WebCore:

The purpose of this patch is to provide a new agent enabling the Web Inspector to interface
with WebCore to access information about the render layer tree and, more specifically, expose
useful information about layers backed by textures composited on the GPU such as metrics and
backing store. Thus we now provide a LayerTreeAgent which will inform the front-end of
changes to the render layer tree via a new layerTreeDidChange event, providing an object
containing the entire hierarchy of RenderLayers for the inspected document. This hierarchy
can be queried at any time using the .getLayerTree() method on the LayerTreeAgent. Finally,
the LayerTreeAgent also exposes a .nodeIdForLayerId() method allowing to get the id of the
node associated with the RenderLayer with the provided layer id.

In terms of implementation, RenderLayerCompositor has been changed such that in its
updateCompositingLayers() method we call the layerTreeDidChange method on the
InspectorLayerTreeAgent instance via the InspectorInstrumentation.

Test: inspector-protocol/layer-tree.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/Inspector.json: Define new types IntRect (x, y, width, height) and Layer, which
holds the information for a RenderLayer (layerId, bounds, isComposited, memory,
compositedBounds) and its children (childLayers). We also define the methods of the
LayerTreeAgent object (enable, disable, getLayerTree, nodeIdForLayerId) and the
layerTreeDidChange event it
fires.
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::pushNodePathForRenderLayerToFrontend): New method facilitating
pushing the node associated with a given RenderLayer to the front-end.
(WebCore):
* inspector/InspectorDOMAgent.h:
(InspectorDOMAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::layerTreeDidChangeImpl):
(WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):
* inspector/InspectorLayerTreeAgent.cpp: Added.
(WebCore):
(LayerTreeAgentState):
(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::~InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::setFrontend):
(WebCore::InspectorLayerTreeAgent::clearFrontend):
(WebCore::InspectorLayerTreeAgent::restore):
(WebCore::InspectorLayerTreeAgent::reset):
(WebCore::InspectorLayerTreeAgent::enable):
(WebCore::InspectorLayerTreeAgent::disable):
(WebCore::InspectorLayerTreeAgent::layerTreeDidChange):
(WebCore::InspectorLayerTreeAgent::renderLayerDestroyed):
(WebCore::InspectorLayerTreeAgent::getLayerTree):
(WebCore::InspectorLayerTreeAgent::buildObjectForRootLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer): Build the entire hierarchy of
RenderLayers from the provided RenderLayer.
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::bind):
(WebCore::InspectorLayerTreeAgent::unbind):
(WebCore::InspectorLayerTreeAgent::nodeIdForLayerId):
* inspector/InspectorLayerTreeAgent.h: Added.
(WebCore):
(InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::create):
* inspector/InstrumentingAgents.h:
(WebCore):
(WebCore::InstrumentingAgents::InstrumentingAgents):
(InstrumentingAgents):
(WebCore::InstrumentingAgents::inspectorLayerTreeAgent):
(WebCore::InstrumentingAgents::setInspectorLayerTreeAgent):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers): Call the layerTreeDidChange method
on the LayerTreeAgent via the InspectorInstrumentation to inform the front-end that the
RenderLayer hierarchy has changed.
(WebCore):
(WebCore::RenderLayerCompositor::layerBecameNonComposited): Call the renderLayerDestroyed
method on the LayerTreeAgent via the InspectorInstrumentation to unbind the layer that is
being destroyed.
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

LayoutTests:

Adding a LayoutTest that exercises the various APIs and event exposed by the LayerTreeAgent.
This test is skipped on EFL where ACCELERATED_COMPOSITING is not available.

* inspector-protocol/layer-tree-expected.txt: Added.
* inspector-protocol/layer-tree.html: Added.
* platform/efl/TestExpectations:

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

7 years agoIndexedDB: Check SSV version when opening database
jsbell@chromium.org [Fri, 7 Dec 2012 17:52:36 +0000 (17:52 +0000)]
IndexedDB: Check SSV version when opening database
https://bugs.webkit.org/show_bug.cgi?id=102243

Reviewed by Tony Chang.

Ensure that the data format (SerializedScriptValue) isn't "from the future" when opening
a backing store. Treat an unknown version the same as an unknown schema version.

Chromium-side test at https://codereview.chromium.org/11470013/ (same as other schema version tests)

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore):
(WebCore::isSchemaKnown): Check data version as well.
(WebCore::setUpMetadata): Ensure data version is recorded; bump schema version.
* Modules/indexeddb/IDBLevelDBCoding.cpp: Encoding for "DataVersion" global metadata entry.
(IDBLevelDBCoding):
(WebCore::IDBLevelDBCoding::compare):
(WebCore::IDBLevelDBCoding::DataVersionKey::encode):
* Modules/indexeddb/IDBLevelDBCoding.h:
(DataVersionKey):
(IDBLevelDBCoding):
* bindings/js/SerializedScriptValue.cpp:
(SerializedScriptValue::wireFormatVersion): New method (JSC side).
* bindings/js/SerializedScriptValue.h:
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::wireFormatVersion): New method (V8 side).
(WebCore):
* bindings/v8/SerializedScriptValue.h:
(SerializedScriptValue):

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

7 years ago[EFL] Fix tools for WebKit2-only builds
commit-queue@webkit.org [Fri, 7 Dec 2012 16:54:31 +0000 (16:54 +0000)]
[EFL] Fix tools for WebKit2-only builds
https://bugs.webkit.org/show_bug.cgi?id=103904

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-12-07
Reviewed by Laszlo Gombos.

The libewebkit2.so should be used for library path for EFL WebKit2.

* Scripts/webkitdirs.pm:
(builtDylibPathForName):

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

7 years agoThrow away StyleResolvers that haven't been used for a long time.
akling@apple.com [Fri, 7 Dec 2012 16:32:19 +0000 (16:32 +0000)]
Throw away StyleResolvers that haven't been used for a long time.
<http://webkit.org/b/104314>

Reviewed by Antti Koivisto.

A lot of memory gets tied up in StyleResolver and the structures and caches that hang from it.
Add a mechanism to throw it away after it's been unused for a while (1 minute.)
This frees up large amounts of memory on inactive pages (background tabs) and static content.

We already have a number of scenarios where the document style is invalidated by throwing away
the StyleResolver so the major code paths are prepared for having a null StyleResolver* on occasion.

~20MB progression on Membuster3.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):

    Call document()->didAccessStyleResolver() from the relevant parts of StyleResolver's public API.
    This prevents Document from throwing the StyleResolver away for 1 minute after it's used.

* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::createStyleResolver):
(WebCore::Document::didAccessStyleResolver):
(WebCore::Document::styleResolverThrowawayTimerFired):

    Add a mechanism to call clearStyleResolver() on a refreshing timer.

* dom/Element.cpp:
(WebCore::Element::attributeChanged):

    If an attribute change occurs while the document doesn't have a StyleResolver, dirty the element style
    since we can't be sure that the attribute change didn't affect any rules.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 7 Dec 2012 16:09:10 +0000 (16:09 +0000)]
Unreviewed GTK gardening.

Adding an image mismatch expectation for fast/exclusions/shape-inside/shape-inside-rounded-rectangle-fit-002.html.

* platform/gtk/TestExpectations:

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

7 years agoREGRESSION(r136947): Made two tests fail on all platforms (Requested by tonikitoo...
commit-queue@webkit.org [Fri, 7 Dec 2012 15:51:04 +0000 (15:51 +0000)]
REGRESSION(r136947): Made two tests fail on all platforms (Requested by tonikitoo-ll on #webkit).
https://bugs.webkit.org/show_bug.cgi?id=104368

Unreviewed partial rollout.

r136947 was too aggressive in the sense of fixing RenderBox::canBeScrolledAndHasScrollableArea
as part of itself. Revert the related changes in order to fix both
fast/events/autoscroll-should-not-stop-on-keypress.html and
fast/events/autoscroll-in-textfield.html

Patch by Antonio Gomes <a1.gomes@sisa.samsung.com> on 2012-12-07

* rendering/RenderBox.cpp:
(WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
* rendering/RenderBox.h:

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

7 years ago[TexMap] Can not do multiple accelerated animations
allan.jensen@digia.com [Fri, 7 Dec 2012 15:02:31 +0000 (15:02 +0000)]
[TexMap] Can not do multiple accelerated animations
https://bugs.webkit.org/show_bug.cgi?id=104364

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

By removing all animations with the same name, it is not possible to animate more than one property accelerated.
Instead only remove any animations with both same name and property.

Covered by animations/opacity-transform-animation.html.

* platform/graphics/GraphicsLayerAnimation.cpp:
(WebCore::GraphicsLayerAnimations::add):
(WebCore::GraphicsLayerAnimations::remove):
* platform/graphics/GraphicsLayerAnimation.h:
(GraphicsLayerAnimations):

LayoutTests:

Unskip test animating multiple accelerated properties.

* platform/qt/TestExpectations:

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

7 years ago[EFL] Fix build warning in StyleResolver.cpp using gcc 4.7.2
commit-queue@webkit.org [Fri, 7 Dec 2012 14:52:12 +0000 (14:52 +0000)]
[EFL] Fix build warning in StyleResolver.cpp using gcc 4.7.2
https://bugs.webkit.org/show_bug.cgi?id=104262

Patch by Sujin Park <sujjin.park@gmail.com> on 2012-12-07
Reviewed by Alexis Menard.

EFL port treats build warning as compile error and there are
maybe-uninitialized when building with gcc 4.7.2.
This patch adds default case to resolve a build break.

* css/StyleResolver.cpp:
(WebCore::getFontAndGlyphOrientation):

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

7 years ago[Chromium] Move WorkerContextProxy::create out of PlatformSupport
pilgrim@chromium.org [Fri, 7 Dec 2012 14:47:44 +0000 (14:47 +0000)]
[Chromium] Move WorkerContextProxy::create out of PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=104151

Reviewed by Kentaro Hara.

Doesn't really solve the layering violation as much as kick it
down the road a bit. Part of a refactoring series; see tracking
bug 82948.

* WebKit.gyp:
* src/PlatformSupport.cpp:
(WebCore):
* src/WorkerContextProxy.cpp: Added.
(WebCore):
(WebCore::WebCore::WorkerContextProxy::create):

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

7 years agoWeb Inspector: [Chromium] Ctrl + ']' "Goto right panel" keyboard shortcut doesn't...
apavlov@chromium.org [Fri, 7 Dec 2012 14:30:58 +0000 (14:30 +0000)]
Web Inspector: [Chromium] Ctrl + ']' "Goto right panel" keyboard shortcut doesn't work
https://bugs.webkit.org/show_bug.cgi?id=104250

Reviewed by Pavel Feldman.

Ignore "keypress" event resulting from a WM_CHAR message emitted by Win7 upon Ctrl + ']' keypress.

* inspector/front-end/InspectorView.js:
(WebInspector.InspectorView.prototype._keyPress): Ignore all events with charCode < 32.

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

7 years agoWeb Inspector: provide a way to reload page with given script preprocessor.
pfeldman@chromium.org [Fri, 7 Dec 2012 14:13:33 +0000 (14:13 +0000)]
Web Inspector: provide a way to reload page with given script preprocessor.
https://bugs.webkit.org/show_bug.cgi?id=80992

Reviewed by Yury Semikhatsky.

Source/WebCore:

This change introduces a way to inject 'preprocessor' script that would process
each JavaScript file before it gets into the VM for compilation. That way inspector
can expose capabilities such as assessing code coverage or tracing all the calls.

Preprocessor script is stored in the page agent where it waits for reload to happen.
Upon reload, ScriptDebugServer is using it to patch the script sources.

Test: inspector/debugger/debugger-script-preprocessor.html

* bindings/js/ScriptDebugServer.h:
(WebCore::ScriptDebugServer::setScriptPreprocessor):
(ScriptDebugServer):
* bindings/v8/DebuggerScript.js:
* bindings/v8/ScriptDebugServer.cpp:
(ScriptDebugServer::ScriptPreprocessor):
(WebCore::ScriptDebugServer::ScriptPreprocessor::ScriptPreprocessor):
(WebCore::ScriptDebugServer::ScriptPreprocessor::preprocessSourceCode):
(WebCore::ScriptDebugServer::ScriptPreprocessor::~ScriptPreprocessor):
(WebCore):
(WebCore::ScriptDebugServer::~ScriptDebugServer):
(WebCore::ScriptDebugServer::setScriptSource):
(WebCore::ScriptDebugServer::setScriptPreprocessor):
(WebCore::ScriptDebugServer::handleV8DebugEvent):
* bindings/v8/ScriptDebugServer.h:
(ScriptDebugServer):
* bindings/v8/custom/V8InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::reload):
(WebCore::InspectorPageAgent::frameNavigated):
* inspector/InspectorPageAgent.h:
(WebCore::InspectorPageAgent::page):
(WebCore::InspectorPageAgent::scriptPreprocessor):
(InspectorPageAgent):
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::create):
(WebCore::PageDebuggerAgent::PageDebuggerAgent):
(WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
(WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
(WebCore::PageDebuggerAgent::injectedScriptForEval):
(WebCore::PageDebuggerAgent::didClearMainFrameWindowObject):
(WebCore):
* inspector/PageDebuggerAgent.h:
(WebCore):
(PageDebuggerAgent):

LayoutTests:

* http/tests/inspector/inspector-test.js:
(initialize_InspectorTest.InspectorTest.hardReloadPage):
(initialize_InspectorTest.InspectorTest.reloadPage):
(initialize_InspectorTest.InspectorTest._innerReloadPage):
* inspector/debugger/debugger-script-preprocessor-expected.txt: Added.
* inspector/debugger/debugger-script-preprocessor.html: Added.
* platform/chromium/inspector/debugger/debugger-script-preprocessor-expected.txt: Added.

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

7 years agoWeb Inspector: the "Sources" column is always empty in CSS selector profiles
apavlov@chromium.org [Fri, 7 Dec 2012 13:22:52 +0000 (13:22 +0000)]
Web Inspector: the "Sources" column is always empty in CSS selector profiles
https://bugs.webkit.org/show_bug.cgi?id=104225

Reviewed by Pavel Feldman.

Source/WebCore:

r112923 and preceding changesets modified the CSSOM wrapper creation for StyleRules in a way
that would not specify the parent CSSStyleSheet for the CSSStyleRules created. Instead,
styleResolver->ensureFullCSSOMWrapperForInspector(rule) is now used to make sure the CSSStyleRule
has a valid parent CSSStyleSheet.

Test: inspector/profiler/selector-profiler-url.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::applyProperties):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):
(WebCore::InspectorInstrumentation::willProcessRuleImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):
(WebCore::InspectorInstrumentation::willProcessRule):

LayoutTests:

* inspector/profiler/selector-profiler-url-expected.txt: Added.
* inspector/profiler/selector-profiler-url.html: Added.

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

7 years agoRework bug 97927 to not depend on RenderLayer::allowsScrolling
tonikitoo@webkit.org [Fri, 7 Dec 2012 13:03:24 +0000 (13:03 +0000)]
Rework bug 97927 to not depend on RenderLayer::allowsScrolling
https://bugs.webkit.org/show_bug.cgi?id=103999

Reviewed by James Robinson.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Patch makes it possible for methods like
RenderLayer::{updateScrollbarsAfterLayout,updateScrollbarsAfterStyleChange}
to not depend on RenderLayer::allowsScrolling to determine if a layer should
be added or removed from its FrameView's ScrollableArea set.

Following the same logic, the patch also fixes RenderBox::canBeScrolledAndHasScrollableArea
method to take into account the box' scroll allowance in a given direction only
when it overflows. This allows simplifying custom methods like InRegionScrollerPrivate::canScrollRenderBox
(@WebKit/blackberry/Api/InRegionScroller.cpp).

The naming pattern for the newly added methods were chosen to keep the consistency
with the existing ones, in the same class.

No new test: it is already covered by ScrollingCoordinatorChromiumTest.clippedBodyTest.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
* rendering/RenderBox.h:
(RenderBox):
(WebCore::RenderBox::hasScrollableOverflowX):
(WebCore::RenderBox::hasScrollableOverflowY):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasScrollableHorizontalOverflow):
(WebCore):
(WebCore::RenderLayer::hasScrollableVerticalOverflow):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
(WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
* rendering/RenderLayer.h:
(RenderLayer):

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

7 years ago[BlackBerry] make "isVideo" information available to platform media player
commit-queue@webkit.org [Fri, 7 Dec 2012 12:57:51 +0000 (12:57 +0000)]
[BlackBerry] make "isVideo" information available to platform media player
https://bugs.webkit.org/show_bug.cgi?id=104334

Patch by Max Feil <mfeil@rim.com> on 2012-12-07
Reviewed by Rob Buis.

The platform player needs to know whether the element is <video>
or <audio>, so it can make certain decisions before metadata
is ready. This is part of a performance optimization refactor
which does not change functionality so no new tests are required.

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::load):

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

7 years agoWeb Inspector: enable inspector tests on chromium-mac.
loislo@chromium.org [Fri, 7 Dec 2012 12:47:24 +0000 (12:47 +0000)]
Web Inspector: enable inspector tests on chromium-mac.
https://bugs.webkit.org/show_bug.cgi?id=104357

Reviewed by Pavel Feldman.

After chromium r171707 patch we can enable inspector tests on chromium-mac.
Two expectation files were moved from chromium-win to chromium because chromium-mac doesn't inherit expectations from chromium-win.
Expectations in chromium-mac were removed because they were added by mistake.
[ Win Linux ] filter was removed because I need to add Mac but [ Mac Win Linux ] is equivalent to nothing.

* platform/chromium-mac/inspector/console/command-line-api-getEventListeners-expected.txt: Removed.
* platform/chromium-mac/inspector/cookie-parser-expected.txt: Removed.
* platform/chromium-mac/inspector/debugger/debugger-activation-crash2-expected.txt: Removed.
* platform/chromium-mac/inspector/debugger/event-listener-breakpoints-expected.txt: Removed.
* platform/chromium/TestExpectations:
* platform/chromium/inspector/console/command-line-api-getEventListeners-expected.txt: Renamed from LayoutTests/platform/chromium-win/inspector/console/command-line-api-getEventListeners-expected.txt.
* platform/chromium/inspector/debugger/debugger-scripts-expected.txt: Renamed from LayoutTests/platform/chromium-win/inspector/debugger/debugger-scripts-expected.txt.

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

7 years agoUnreviewed EFL gardening.
sudarsana.nagineni@linux.intel.com [Fri, 7 Dec 2012 12:38:01 +0000 (12:38 +0000)]
Unreviewed EFL gardening.

Remove platform-specific baselines for viewsource-attribute.html
and viewsource-on-image-file.html as the current results matches
base expectations. Also, add missing platform-specific baselines
for fast/text/decorations-with-text-combine.html.

* platform/efl-wk2/fast/frames/viewsource-attribute-expected.png: Removed.
* platform/efl-wk2/fast/frames/viewsource-attribute-expected.txt: Removed.
* platform/efl-wk2/fast/frames/viewsource-on-image-file-expected.png: Removed.
* platform/efl-wk2/fast/frames/viewsource-on-image-file-expected.txt: Removed.
* platform/efl/fast/text/decorations-with-text-combine-expected.png: Added.
* platform/efl/fast/text/decorations-with-text-combine-expected.txt: Added.

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

7 years ago[Qt][Qnx] Fix QNX build by adding missing include.
commit-queue@webkit.org [Fri, 7 Dec 2012 12:01:44 +0000 (12:01 +0000)]
[Qt][Qnx] Fix QNX build by adding missing include.
https://bugs.webkit.org/show_bug.cgi?id=104359

Patch by Sergio Martins <sergio.martins@kdab.com> on 2012-12-07
Reviewed by Jocelyn Turcotte.

It's where WEBKIT_EXPORTDATA is defined, so include it. Not sure why other
platforms aren't failing.

* WebCoreSupport/QWebPageAdapter.h:

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

7 years ago[EFL] [AC] Implement ImageExtractor::extractImage in GraphicsContext3DEfl.
commit-queue@webkit.org [Fri, 7 Dec 2012 10:50:02 +0000 (10:50 +0000)]
[EFL] [AC] Implement ImageExtractor::extractImage in GraphicsContext3DEfl.
https://bugs.webkit.org/show_bug.cgi?id=104271.

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-07
Reviewed by Kenneth Rohde Christiansen.

This patch implements ImageExtractor::extractImage in GraphicsContext3DEfl.

Covered by existing tests.

* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

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

7 years ago[EFL][WK2] Add ewk_settings APIs for text autosizing
commit-queue@webkit.org [Fri, 7 Dec 2012 10:47:51 +0000 (10:47 +0000)]
[EFL][WK2] Add ewk_settings APIs for text autosizing
https://bugs.webkit.org/show_bug.cgi?id=103342

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-12-07
Reviewed by Kenneth Rohde Christiansen.

Add ewk_settings_text_autosizing_enabled_get / set() functions.
Text autosizing is disabled by default.

* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_text_autosizing_enabled_set):
(ewk_settings_text_autosizing_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):

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

7 years ago[BlackBerry] DRT - Update implementation of TestRunner.setCustomPolicyDelegate()
commit-queue@webkit.org [Fri, 7 Dec 2012 10:22:06 +0000 (10:22 +0000)]
[BlackBerry] DRT - Update implementation of TestRunner.setCustomPolicyDelegate()
https://bugs.webkit.org/show_bug.cgi?id=104243

RIM PR 259337

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-12-07
Reviewed by Rob Buis.

Source/WebKit/blackberry:

1. Add DRT callback in dispatchDecidePolicyForResponse.
2. Pass frame pointer to DRT callback in
dispatchDecidePolicyForNavigationAction, so that it can be used to
calculate originating.
3. Fix some webkit style errors.

The patch fixed the following tests:
- http/tests/download
- fast/forms/mailto/formenctype-attribute-button-html.html
- fast/forms/mailto/formenctype-attribute-input-html.html
- fast/encoding/mailto-always-utf-8.html

* Api/DumpRenderTreeClient.h:
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
(WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
(WebCore::FrameLoaderClientBlackBerry::decidePolicyForExternalLoad):

Tools:

1. Implement calculation of navigation originating in
didDecidePolicyForNavigationAction().
2. Implement policy delegate for resource response.
3. Enable customPolicyDelegate if waitForPolicyDelegate() is called.
4. Minor optional updates in dump() and dumpFrameLoadCallbacks().

The patch fixed the following tests:
- http/tests/download
- fast/forms/mailto/formenctype-attribute-button-html.html
- fast/forms/mailto/formenctype-attribute-input-html.html
- fast/encoding/mailto-always-utf-8.html

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::DumpRenderTree):
(BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):
(BlackBerry::WebKit::DumpRenderTree::dump):
(BlackBerry::WebKit::DumpRenderTree::didFinishLoadForFrame):
(BlackBerry::WebKit::DumpRenderTree::didDecidePolicyForNavigationAction):
(BlackBerry::WebKit::DumpRenderTree::didDecidePolicyForResponse):
(BlackBerry::WebKit::DumpRenderTree::setCustomPolicyDelegate):
* DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h:
(DumpRenderTree):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
(TestRunner::setCustomPolicyDelegate):
(TestRunner::waitForPolicyDelegate):
(TestRunner::overridePreference):

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

7 years agoUnreviewed roll crhomium to r171707.
loislo@chromium.org [Fri, 7 Dec 2012 09:58:55 +0000 (09:58 +0000)]
Unreviewed roll crhomium to r171707.

* DEPS:

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

7 years agoUse always the order iterator from data member in RenderFlexibleBox
carlosgc@webkit.org [Fri, 7 Dec 2012 09:56:44 +0000 (09:56 +0000)]
Use always the order iterator from data member in RenderFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=104112

Reviewed by Tony Chang.

Some methods receive it as parameter and others use the data
member.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::layoutFlexItems):
(WebCore::RenderFlexibleBox::computeNextFlexLine):
(WebCore::RenderFlexibleBox::alignFlexLines):
(WebCore::RenderFlexibleBox::alignChildren):
(WebCore::RenderFlexibleBox::flipForRightToLeftColumn):
(WebCore::RenderFlexibleBox::flipForWrapReverse):
* rendering/RenderFlexibleBox.h:

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

7 years agoImprove confusing code in BaseMultipleFieldsDateAndTimeInputType
tkent@chromium.org [Fri, 7 Dec 2012 09:53:43 +0000 (09:53 +0000)]
Improve confusing code in BaseMultipleFieldsDateAndTimeInputType
https://bugs.webkit.org/show_bug.cgi?id=104353

Reviewed by Kentaro Hara.

This doesn't change any behavior because call sites of
isEditControlOwnerDisabled and isEditControlOwnerReadOnly treat them
similarly.

* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerDisabled):
Checks element()->disabled, not readOnly.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerReadOnly):
Checks element()->readOnly, not disabled.

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

7 years ago[Qt] Gardening after r136857, r136893 and 136919.
kkristof@inf.u-szeged.hu [Fri, 7 Dec 2012 09:16:07 +0000 (09:16 +0000)]
[Qt] Gardening after r136857, r136893 and 136919.
https://bugs.webkit.org/show_bug.cgi?id=104351

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-12-07
Reviewed by Csaba Osztrogonác.

r136857: skipped a newly added failing reftest.
r136893: skipped two newly added xmlhttprequest tests
r136919: skipped a test because layoutTestController.setBackingScaleFactor() is unimplemented

* platform/qt/TestExpectations:

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

7 years agoREGRESSION(r136631): Fix null pointer dereference in WebPagePopupImpl::paint
tkent@chromium.org [Fri, 7 Dec 2012 09:09:37 +0000 (09:09 +0000)]
REGRESSION(r136631): Fix null pointer dereference in WebPagePopupImpl::paint
https://bugs.webkit.org/show_bug.cgi?id=104350

Reviewed by Hajime Morita.

We changed WebPagePopupImpl so that it deleted m_page in
closePopup. However, paint function is still called.

* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint): Block by m_closing.

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

7 years ago[Qt] Adjust library name in layout_tests/port/qt.py after Qt5-r40
ossy@webkit.org [Fri, 7 Dec 2012 08:49:24 +0000 (08:49 +0000)]
[Qt] Adjust library name in layout_tests/port/qt.py after Qt5-r40
https://bugs.webkit.org/show_bug.cgi?id=104348

Patch by Gwang Yoon Hwang <ryumiel@company100.net> on 2012-12-07
Reviewed by Csaba Osztrogonác.

After Qt-5.0.0-r40, the library was renamed from QtWebKitWidgets to
Qt5WebKitWidgets. run-webkit-tests were still looking for QtWebKitWidgets

* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort._path_to_webcore_library):

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

7 years agoBuild fix.
jonlee@apple.com [Fri, 7 Dec 2012 08:46:25 +0000 (08:46 +0000)]
Build fix.

* plugins/PlugInOriginHash.cpp:
(WebCore::PlugInOriginHash::hash):

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

7 years agoAdd PlugInOriginHash
jonlee@apple.com [Fri, 7 Dec 2012 08:43:32 +0000 (08:43 +0000)]
Add PlugInOriginHash
https://bugs.webkit.org/show_bug.cgi?id=103655
<rdar://problem/12778949>

Reviewed by Alexey Proskuryakov.

Add the concept of plug-in origin hashes, which are based on a combination of the base domains of the
page's main frame and the plug-in, and the plug-in MIME type.

* plugins/PlugInOriginHash.cpp: Added.
(WebCore::addCaseFoldedCharacters): Add the case-folded string to the hash.
(WebCore::PlugInOriginHash::hash): The hash is based on the concatenation of the page's host, the plug-in
URL's host, and the MIME type. We use StringHasher to get all 32-bits of the hash, since using StringImpl's hash
masks out 8 of the hash bits to make room for bit flags.
* plugins/PlugInOriginHash.h: Added.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:

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

7 years agoUnreviewed fix, unbreak run-launcher after library renaming.
ossy@webkit.org [Fri, 7 Dec 2012 08:25:49 +0000 (08:25 +0000)]
Unreviewed fix, unbreak run-launcher after library renaming.

* Scripts/webkitdirs.pm:
(builtDylibPathForName):

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

7 years ago[BlackBerry] new target window would cause the url being loaded twice
mary.wu@torchmobile.com.cn [Fri, 7 Dec 2012 08:25:23 +0000 (08:25 +0000)]
[BlackBerry] new target window would cause the url being loaded twice
https://bugs.webkit.org/show_bug.cgi?id=104086

Reviewed by Yong Li.

When webkit need to open window for a new target like "_blank", it would
load the url subsequently after createWindow. But the chrome browser would
load the url again when it get the OpenWindowEvent from native, which
causes the url being loaded twice. We should make sure that createWindow() be
used to create a new window only, not loading url, so we pass empty url
as parameter.

RIM PR# 257329
Internally reviewed by Charles Wei.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):

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

7 years agoUnreviewed fix after r136896, unbreak --debug-rwt to make bots result verbose again.
ossy@webkit.org [Fri, 7 Dec 2012 08:04:35 +0000 (08:04 +0000)]
Unreviewed fix after r136896, unbreak --debug-rwt to make bots result verbose again.
https://bugs.webkit.org/show_bug.cgi?id=104296

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):

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

7 years agoRefactoring: Clean up placeholder attribute usage
tkent@chromium.org [Fri, 7 Dec 2012 07:46:58 +0000 (07:46 +0000)]
Refactoring: Clean up placeholder attribute usage
https://bugs.webkit.org/show_bug.cgi?id=104337

Reviewed by Kentaro Hara.

Source/WebCore:

No new tests. This doesn't change any behavior.

* html/HTMLInputElement.cpp: Remove placeholder and setPlacehodler.
* html/HTMLInputElement.h: Ditto.
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::strippedPlaceholder):
We can use fastGetAttribute for placeholder.
(WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
Ditto.

Source/WebKit/chromium:

* src/WebInputElement.cpp:
(WebKit::WebInputElement::setPlaceholder):
Use setAttribute.
(WebKit::WebInputElement::placeholder):
Use fastGetAttribute.

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

7 years agoIncorrect inequality for checking whether a statement is within bounds of a handler
fpizlo@apple.com [Fri, 7 Dec 2012 07:44:01 +0000 (07:44 +0000)]
Incorrect inequality for checking whether a statement is within bounds of a handler
https://bugs.webkit.org/show_bug.cgi?id=104313
<rdar://problem/12808934>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The most relevant change is in handlerForBytecodeOffset(), which fixes the inequality
used for checking whether a handler is pertinent to the current instruction. '<' is
correct, but '<=' isn't, since the 'end' is not inclusive.

Also found, and addressed, a benign goof in how the finally inliner works: sometimes
we will have end > start. This falls out naturally from how the inliner works and how
we pop scopes in the bytecompiler, but it's sufficiently surprising that, to avoid any
future confusion, I added a comment and some code to prune those handlers out. Because
of how the handler resolution works, these handlers would have been skipped anyway.

Also made various fixes to debugging code, which was necessary for tracking this down.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::handlerForBytecodeOffset):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
* bytecompiler/Label.h:
(JSC::Label::bind):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::throwException):
* llint/LLIntExceptions.cpp:
(JSC::LLInt::interpreterThrowInCaller):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::handleHostCall):

LayoutTests:

* fast/js/jsc-test-list:
* fast/js/script-tests/try-catch-try-try-catch-try-finally-return-catch-finally.js: Added.
(foo):
* fast/js/try-catch-try-try-catch-try-finally-return-catch-finally-expected.txt: Added.
* fast/js/try-catch-try-try-catch-try-finally-return-catch-finally.html: Added.

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

7 years ago[chromium] Introduce setting for low latency rendering
commit-queue@webkit.org [Fri, 7 Dec 2012 07:24:23 +0000 (07:24 +0000)]
[chromium] Introduce setting for low latency rendering
https://bugs.webkit.org/show_bug.cgi?id=104011

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-12-06
Reviewed by James Robinson.

This low latency rendering setting will be used to enable alternate
render signaling and scheduling to reduce latency.

Source/Platform:

* chromium/public/WebLayerTreeView.h:
(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

Source/WebKit/chromium:

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::WebSettingsImpl):
(WebKit::WebSettingsImpl::setLowLatencyRenderingEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
(WebKit::WebSettingsImpl::lowLatencyRenderingEnabled):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

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

7 years agoRefactoring: Rename HTMLFormControlElement::required to isRequired
tkent@chromium.org [Fri, 7 Dec 2012 07:21:14 +0000 (07:21 +0000)]
Refactoring: Rename HTMLFormControlElement::required to isRequired
https://bugs.webkit.org/show_bug.cgi?id=104336

Reviewed by Kentaro Hara.

m_required should be m_isRequired, and required() should be
isRequired. It's safe to rename them because HTML*Element::required IDL
attributes are [Reflected].
http://www.webkit.org/coding/coding-style.html#names-bool

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isRequired):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithControl):
* dom/CheckedRadioButtons.cpp:
(WebCore::RadioButtonGroup::add):
(WebCore::RadioButtonGroup::requiredAttributeChanged):
(WebCore::RadioButtonGroup::remove):
* html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::valueMissing):
* html/FileInputType.cpp:
(WebCore::FileInputType::valueMissing):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::parseAttribute):
(WebCore::HTMLFormControlElement::isRequired):
* html/HTMLFormControlElement.h:
(HTMLFormControlElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isRequiredFormControl):
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::valueMissing):
(WebCore::HTMLSelectElement::isRequiredFormControl):
* html/HTMLTextAreaElement.h:
(WebCore::HTMLTextAreaElement::isRequiredFormControl):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::valueMissing):

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

7 years ago[Shadow DOM] Implement Element::shadowRoot with prefix
morrita@google.com [Fri, 7 Dec 2012 07:20:18 +0000 (07:20 +0000)]
[Shadow DOM] Implement Element::shadowRoot with prefix
https://bugs.webkit.org/show_bug.cgi?id=102912

Reviewed by Dimitri Glazkov.

- Added Element::shadowRoot() which return the youngest author shadow root.
- Renamed existing Node::shadowRoot() to containingShadowRoot() to avoid name shadowing.
  The name shadowRoot() is confusing anyway so this is good opportunity to rename it.

Test: fast/dom/shadow/shadow-aware-shadow-root.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkSelector):
* css/StyleScopeResolver.cpp:
(WebCore::StyleScopeResolver::scopeFor):
(WebCore::StyleScopeResolver::addHostRule):
* dom/Element.cpp:
(WebCore::Element::shadowRoot):
(WebCore):
* dom/Element.h:
(Element):
* dom/Element.idl:
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::setShouldCollectSelectFeatureSet):
* dom/Node.cpp:
(WebCore::Node::rendererIsEditable):
(WebCore::Node::shadowHost):
(WebCore::Node::shadowAncestorNode):
(WebCore::Node::containingShadowRoot):
* dom/Node.h:
(Node):
* dom/Range.cpp:
(WebCore::Range::shadowRoot):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::insertedInto):
(WebCore::ShadowRoot::removedFrom):
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::isAccessible):
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleReplacedElement):
* editing/htmlediting.cpp:
(WebCore::indexForVisiblePosition):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::scopedAttributeChanged):
(WebCore::HTMLStyleElement::registerWithScopingNode):
(WebCore::HTMLStyleElement::removedFrom):
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::distribute):
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::parseAttribute):
(WebCore::HTMLContentElement::insertedInto):
(WebCore::HTMLContentElement::removedFrom):
* html/shadow/HTMLShadowElement.cpp:
(WebCore::HTMLShadowElement::insertedInto):
(WebCore::HTMLShadowElement::removedFrom):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::attach):
(WebCore::InsertionPoint::detach):
(WebCore::InsertionPoint::isActive):
(WebCore::InsertionPoint::childrenChanged):
(WebCore::InsertionPoint::insertedInto):
(WebCore::InsertionPoint::removedFrom):
(WebCore::InsertionPoint::setResetStyleInheritance):
* page/EventHandler.cpp:
(WebCore::instanceAssociatedWithShadowTreeElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::correspondingElement):
(WebCore::collectInstancesForSVGElement):

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

7 years agoIndexedDB: Replace int64 with int64_t
commit-queue@webkit.org [Fri, 7 Dec 2012 07:02:31 +0000 (07:02 +0000)]
IndexedDB: Replace int64 with int64_t
https://bugs.webkit.org/show_bug.cgi?id=104338

Patch by Michael Pruett <michael@68k.org> on 2012-12-06
Reviewed by Kentaro Hara.

Cleaning up coding inconsistencies, no change in behavior.

Tests: storage/indexeddb/*

* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::openInternal):

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

7 years agoUnreviewed Gardening. More http://trac.webkit.org/changeset/136910. Add Chromium...
noel.gordon@gmail.com [Fri, 7 Dec 2012 06:22:07 +0000 (06:22 +0000)]
Unreviewed Gardening. More trac.webkit.org/changeset/136910. Add Chromium Linux results.

* platform/chromium-linux/http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_clearMarks-expected.txt: Added.
* platform/chromium-linux/http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_mark-expected.txt: Added.

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

7 years ago[Chromium] Rename some init* functions to initialize*
tkent@chromium.org [Fri, 7 Dec 2012 05:40:52 +0000 (05:40 +0000)]
[Chromium] Rename some init* functions to initialize*
https://bugs.webkit.org/show_bug.cgi?id=104335

Reviewed by Kentaro Hara.

We should use full words.
http://www.webkit.org/coding/coding-style.html#names-full-words

* src/WebHelperPluginImpl.cpp:
(WebKit::WebHelperPluginImpl::initialize): Renamed from init.
(WebKit::WebHelperPluginImpl::initializePage): Renamed from initPage.
* src/WebHelperPluginImpl.h:
(WebHelperPluginImpl):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::initialize): Renamed from init.
(WebKit::WebPagePopupImpl::initializePage): Renamed from initPage.
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::initialize): Renamed from init.
* src/WebPopupMenuImpl.h:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::openPagePopup): Follow the renamings.
(WebKit::WebViewImpl::createHelperPlugin): Ditto.
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::popupOpened): Ditto.

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

7 years ago[Resource Timing] Allow detailed timing on same origin sites
simonjam@chromium.org [Fri, 7 Dec 2012 05:08:25 +0000 (05:08 +0000)]
[Resource Timing] Allow detailed timing on same origin sites
https://bugs.webkit.org/show_bug.cgi?id=104328

Reviewed by Tony Gentilcore.

Source/WebCore:

This block was lost when I moved it to PerformanceResourceTiming.cpp.

Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_attribute_order.html

* page/PerformanceResourceTiming.cpp:
(WebCore::passesTimingAllowCheck):

LayoutTests:

* platform/chromium/TestExpectations: This was mismarked as an iframe failure.

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

7 years agoCSS cursor property should support webkit-image-set
commit-queue@webkit.org [Fri, 7 Dec 2012 03:07:24 +0000 (03:07 +0000)]
CSS cursor property should support webkit-image-set
https://bugs.webkit.org/show_bug.cgi?id=99493

Patch by Rick Byers <rbyers@chromium.org> on 2012-12-06
Reviewed by Beth Dakin.

.:

Add ENABLE_MOUSE_CURSOR_SCALE (disabled by default)

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

Add ENABLE_MOUSE_CURSOR_SCALE (disabled by default)

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Add support for image scale factors attached to custom mouse cursor images
behind ENABLE(MOUSE_CURSOR_SCALE).

This required refactoring CSSCursorImageValue to derive directly from
CSSValue since it can contain either a CSSImageValue or a CSSImageSetValue.
If it contains an image-set, then we can plumb directly through to the
CSSImageSetValue.  If it contains an image, then either we can plumb directly
through to the CSSImageValue, or if the URL represents an SVG cursor we have
to intercept the image loading in order to substitute the actual SVG image URL
and do the appropriate lifetime management.

Tests: fast/css/cursor-parsing-image-set.html
       fast/events/mouse-cursor-image-set.html

* Configurations/FeatureDefines.xcconfig: Add ENABLE_MOUSE_CURSOR_SCALE - disabled
* GNUmakefile.features.am: ditto
* css/CSSCursorImageValue.cpp: Refactor to inherit directly from CSSValue and support image sets
(WebCore::CSSCursorImageValue::CSSCursorImageValue):
(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
(WebCore::CSSCursorImageValue::customCssText):
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedOrPendingImage):
(WebCore::CSSCursorImageValue::isSVGCursor):
(WebCore::CSSCursorImageValue::cachedImageURL):
(WebCore::CSSCursorImageValue::clearCachedImage):
(WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
* css/CSSCursorImageValue.h: Remove cursor-specific hacks
(WebCore::CSSCursorImageValue::create):
(CSSCursorImageValue):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedImage):
* css/CSSImageValue.h:
(CSSImageValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Parse cursor(-webkit-image-set(...)) rules
* css/CSSValue.h:
(WebCore::CSSValue::isImageValue):
* css/StyleBuilder.cpp:
(WebCore::ApplyPropertyCursor::applyValue):
* css/StyleResolver.cpp: Hook up new CSSCursorImageValue support since it can't be handled like other images any more.
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::cursorOrPendingFromValue):
(WebCore::StyleResolver::loadPendingImage):
* css/StyleResolver.h:
(StyleResolver):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor): Handle StyleCachedImageSet images and plumb scale factor through
* platform/Cursor.cpp:
(WebCore::Cursor::Cursor): Add imageScaleFactor
* platform/Cursor.h: Add imageScaleFactor
(Cursor):
(WebCore::Cursor::imageScaleFactor):
* platform/chromium/CursorChromium.cpp: Add imageScaleFactor
(WebCore::Cursor::Cursor):
(WebCore::Cursor::operator=):
* rendering/style/CursorData.h: Clarify hotspot units
(CursorData):
* rendering/style/StyleCachedImage.h:
(StyleCachedImage::cachedImage): Override new virtual.
* rendering/style/StyleCachedImageSet.h:
(StyleCachedImageSet::cachedImage): Override new virtual.
* rendering/style/StyleImage.h:
(StyleImage::cachedImage): Add new virtual method to avoid lots of casts and typechecks.
* rendering/style/StylePendingImage.h: Add CSSCursorImageValue support
(WebCore::StylePendingImage::cssCursorImageValue):
* testing/Internals.cpp:
(WebCore::Internals::getCurrentCursorInfo): Print non-identity scale factors for testing

Source/WebKit/chromium:

Add ENABLE_MOUSE_CURSOR_SCALE and enable it on the chromium port.
Plumb cursor image scale factor through to chromium API.

* features.gypi:
* public/WebCursorInfo.h:
* src/WebCursorInfo.cpp:
(WebKit::WebCursorInfo::WebCursorInfo):

Source/WebKit/mac:

Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default.

* Configurations/FeatureDefines.xcconfig:

Tools:

Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default

* Scripts/webkitperl/FeatureList.pm:
* qmake/mkspecs/features/features.pri:

WebKitLibraries:

Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:

LayoutTests:

Add tests for parser round-tripping of cursor rules with -webkit-image-set,
and also end-to-end mouse cursor tests that validate the cursor details
ultimately used at different device scales.

Tests are disabled on ports other than chromium (require ENABLE(MOUSE_CURSOR_SCALE))

* fast/css/cursor-parsing-image-set-expected.txt: Added.
* fast/css/cursor-parsing-image-set.html: Added.
* fast/events/mouse-cursor-image-set-expected.txt: Added.
* fast/events/mouse-cursor-image-set.html: Added.
* fast/events/resources/greenbox200.png: Added.
* fast/events/resources/greenbox30-hotspot28-3.cur: Added.
* fast/events/resources/greenbox30.png: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:

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

7 years agoEvent's relatedTarget re-targeting does not occur for manually fired mouse events...
hayato@chromium.org [Fri, 7 Dec 2012 03:03:26 +0000 (03:03 +0000)]
Event's relatedTarget re-targeting does not occur for manually fired mouse events created by event.initMouseEvent().
https://bugs.webkit.org/show_bug.cgi?id=102681

Reviewed by Dimitri Glazkov.

Source/WebCore:

Make sure that event's relatedTarget re-targeting occurs for mouse
events created by event.initMouseEvent().  Since user-generated
mouse events can have a relatedTarget which is same to the target
node, the algorithm which calculates event's ancestors is also
updated so that ancestors are not shrunk wrongly.

Test: fast/events/dispatch-synthetic-mouseevent.html
      fast/dom/shadow/shadow-dom-event-dispatching.html

* dom/EventDispatcher.cpp:
(WebCore::EventRelatedTargetAdjuster::adjust):
* dom/MouseEvent.cpp:
(WebCore::MouseEventDispatchMediator::create):
(WebCore::MouseEventDispatchMediator::MouseEventDispatchMediator):
(WebCore::MouseEventDispatchMediator::dispatchEvent):
* dom/MouseEvent.h:
(WebCore::MouseEventDispatchMediator::isSyntheticMouseEvent):
(MouseEventDispatchMediator):
* dom/Node.cpp:
(WebCore::Node::dispatchEvent):

LayoutTests:

* fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
* fast/dom/shadow/shadow-dom-event-dispatching.html:
* fast/events/dispatch-synthetic-mouseevent-expected.txt: Added.
* fast/events/dispatch-synthetic-mouseevent.html: Added.

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

7 years ago[chromium] Rename non-standard discard/ensureFramebufferCHROMIUM extensions so we...
commit-queue@webkit.org [Fri, 7 Dec 2012 02:57:21 +0000 (02:57 +0000)]
[chromium] Rename non-standard discard/ensureFramebufferCHROMIUM extensions so we can use real GL_EXT_discard_framebuffer
https://bugs.webkit.org/show_bug.cgi?id=104316

Patch by James Robinson <jamesr@chromium.org> on 2012-12-06
Reviewed by Kenneth Russell.

GL_EXT_discard_framebuffer is a GL extension that enables optimizations for GPUs that aggressively defer
operations. We've 'borrowed' the extension namespace to enable backbuffer management, but this makes it
impossible to use the actual extension.  This adds new entry points for backbuffer management. After callers
(which aren't in the WebKit repo) are updated, we can remove the overlapping entry points.

* chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::discardFramebufferCHROMIUM):
(WebKit::WebGraphicsContext3D::discardBackbufferCHROMIUM):
(WebKit::WebGraphicsContext3D::ensureBackbufferCHROMIUM):

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

7 years agoReview page is super flakey now
ojan@chromium.org [Fri, 7 Dec 2012 02:30:17 +0000 (02:30 +0000)]
Review page is super flakey now
https://bugs.webkit.org/show_bug.cgi?id=104331

Committing without review since this is breaking the code review tool.

remove is only shipping in Chromium. Use jQuery's remove instead.

* PrettyPatch/PrettyPatch.rb:
* code-review.js:

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

7 years agoDisabled file input box stops a certain other div from being rendered
commit-queue@webkit.org [Fri, 7 Dec 2012 02:18:01 +0000 (02:18 +0000)]
Disabled file input box stops a certain other div from being rendered
https://bugs.webkit.org/show_bug.cgi?id=104226

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-12-06
Reviewed by Dimitri Glazkov.

Source/WebCore:

The bug was caused by setNeedsStyleRecalc() call during style recalculation,
which resulted in inconsistent ChildNeedsStyleRecalc flags in DOM tree.

When reattach of file input happens during style recalculation,
RenderFileUploadControl::updateFromElement() is called from attach().
It may change the disabled state of the upload button in its shadow tree,
but it triggers style recalculation.

This patch solves this issue by setting disabled state of the upload button in
FileInputType::disabledAttributeChanged instead of RenderFileUploadControl.

Test: fast/forms/file/sibling-of-disabled-file-input.html

* html/FileInputType.cpp:
(WebCore::FileInputType::disabledAttributeChanged): Added.
* html/FileInputType.h:
(FileInputType): Declare disabledAttributeChanged.
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::updateFromElement): Remove call to button->setDisabled().

LayoutTests:

Add a test to ensure that sibling of disabled file input is correctly rendered.

* fast/forms/file/sibling-of-disabled-file-input-expected.txt: Added.
* fast/forms/file/sibling-of-disabled-file-input.html: Added.

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

7 years ago[CMake] Consolidate list of files to build for JavaScriptCore
commit-queue@webkit.org [Fri, 7 Dec 2012 02:17:14 +0000 (02:17 +0000)]
[CMake] Consolidate list of files to build for JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=104287

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-12-06
Reviewed by Gyuyoung Kim.

Add MemoryStatistics.cpp and ExecutableAllocator.cpp to the common
list of files and remove them from the port specific lists.

* CMakeLists.txt:
* PlatformBlackBerry.cmake:
* PlatformEfl.cmake:
* PlatformWinCE.cmake:

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

7 years agoElement.pseudo property should be prefixed
dominicc@chromium.org [Fri, 7 Dec 2012 01:48:46 +0000 (01:48 +0000)]
Element.pseudo property should be prefixed
https://bugs.webkit.org/show_bug.cgi?id=104060

Reviewed by Hajime Morita.

Source/WebCore:

Other Shadow DOM properties are prefixed; pseudo should be too.

Covered by updated tests in fast/dom/shadow.

* dom/Element.idl:

LayoutTests:

Updated tests.

* fast/dom/shadow/pseudo-attribute-dynamic.html:
* fast/dom/shadow/pseudo-attribute-expected.txt:
* fast/dom/shadow/pseudo-attribute-rendering.html:
* fast/dom/shadow/pseudo-attribute.html:
* fast/dom/shadow/shadow-pseudo-id.html:

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

7 years agoCoordinated Graphics: Rename WebLayerTreeInfo to CoordinatedLayerInfo
commit-queue@webkit.org [Fri, 7 Dec 2012 01:45:07 +0000 (01:45 +0000)]
Coordinated Graphics: Rename WebLayerTreeInfo to CoordinatedLayerInfo
https://bugs.webkit.org/show_bug.cgi?id=103983

Patch by Jae Hyun Park <jae.park@company100.net> on 2012-12-06
Reviewed by Noam Rosenthal.

This patch refactors WebLayerTreeInfo in 2 areas.

1. WebLayerTreeInfo is only used by Coordinated Graphics. So, the file
should be located in WebKit2/Shared/CoordinatedGraphics instead of
WebKit2/Shared.

2. The name of WebLayerTreeInfo is incorrect. Currently,
WebLayerTreeInfo only has WebLayerInfo struct. Also, it is hard to know
what WebLayer is since we don't use that name anymore. More appropriate
name for WebLayerInfo would be CoordinatedLayerInfo.

No new test, because no behavioral change.

* CMakeLists.txt:
* Scripts/webkit2/messages.py:
(headers_for_type):
* Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.cpp.
(WebKit):
(WebKit::CoordinatedLayerInfo::encode):
(WebKit::CoordinatedLayerInfo::decode):
* Shared/CoordinatedGraphics/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.h.
(WebKit):
(WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
(CoordinatedLayerInfo):
* Shared/LayerTreeContext.h:
(LayerTreeContext):
* Shared/efl/LayerTreeContextEfl.cpp:
(WebKit::LayerTreeContext::LayerTreeContext):
(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):
(WebKit::LayerTreeContext::isEmpty):
(WebKit::operator==):
* Shared/qt/LayerTreeContextQt.cpp:
(WebKit::LayerTreeContext::LayerTreeContext):
(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):
(WebKit::LayerTreeContext::isEmpty):
(WebKit::operator==):
* Target.pri:
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
(WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
(WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
(WebKit::LayerTreeCoordinatorProxy::createCanvas):
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
(WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(WebKit):
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::createLayer):
(WebKit::LayerTreeRenderer::createCanvas):
(WebKit::LayerTreeRenderer::syncCanvas):
(WebKit::LayerTreeRenderer::destroyCanvas):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::ensureLayer):
(WebKit::LayerTreeRenderer::setRootLayerID):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::ensureRootLayer):
(WebKit::LayerTreeRenderer::purgeGLResources):
(WebKit::LayerTreeRenderer::setLayerAnimations):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit):
(LayerTreeRenderer):
(WebKit::LayerTreeRenderer::layerByID):
* UIProcess/DrawingAreaProxy.h:
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::layerByIDMap):
(WebCore::toCoordinatedLayerID):
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::id):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::syncLayerState):
(WebKit::LayerTreeCoordinator::syncLayerChildren):
(WebKit::LayerTreeCoordinator::createCanvas):
(WebKit::LayerTreeCoordinator::syncCanvas):
(WebKit::LayerTreeCoordinator::destroyCanvas):
(WebKit::LayerTreeCoordinator::syncLayerFilters):
(WebKit::LayerTreeCoordinator::createTile):
(WebKit::LayerTreeCoordinator::updateTile):
(WebKit::LayerTreeCoordinator::removeTile):
(WebKit::LayerTreeCoordinator::setLayerAnimations):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):

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

7 years ago[Chromium] Unreviewed, webaudio/audioparam-connect-audioratesignal.html is flaky
li.yin@intel.com [Fri, 7 Dec 2012 01:43:18 +0000 (01:43 +0000)]
[Chromium] Unreviewed, webaudio/audioparam-connect-audioratesignal.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=87273

Remove audioparam-connect-audioratesignal.html from chromium/TestExpectations,
since it no longer appears on the flakiness dashboard.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed chromium rebaseline for r136909.
eae@chromium.org [Fri, 7 Dec 2012 01:31:10 +0000 (01:31 +0000)]
Unreviewed chromium rebaseline for r136909.

* platform/chromium-win-xp/http/tests/w3c: Added.
* platform/chromium-win-xp/http/tests/w3c/webperf: Added.
* platform/chromium-win-xp/http/tests/w3c/webperf/submission: Added.
* platform/chromium-win-xp/http/tests/w3c/webperf/submission/Intel: Added.
* platform/chromium-win-xp/http/tests/w3c/webperf/submission/Intel/user-timing: Added.
* platform/chromium-win-xp/http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_mark-expected.txt: Added.
* platform/chromium-win/http/tests/w3c: Added.
* platform/chromium-win/http/tests/w3c/webperf: Added.
* platform/chromium-win/http/tests/w3c/webperf/submission: Added.
* platform/chromium-win/http/tests/w3c/webperf/submission/Intel: Added.
* platform/chromium-win/http/tests/w3c/webperf/submission/Intel/user-timing: Added.
* platform/chromium-win/http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_clearMarks-expected.txt: Added.
* platform/chromium-win/http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_mark-expected.txt: Added.

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

7 years agoUnreviewed, rolling out r136900.
commit-queue@webkit.org [Fri, 7 Dec 2012 00:52:36 +0000 (00:52 +0000)]
Unreviewed, rolling out r136900.
http://trac.webkit.org/changeset/136900
https://bugs.webkit.org/show_bug.cgi?id=104318

Unreviewed build for Windows port. (Requested by rfong on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-12-06

* win/WebKit2.def.in:

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

7 years ago[CSS Regions] Remove the sanitize mechanism from LineFragmentationData
commit-queue@webkit.org [Fri, 7 Dec 2012 00:33:56 +0000 (00:33 +0000)]
[CSS Regions] Remove the sanitize mechanism from LineFragmentationData
https://bugs.webkit.org/show_bug.cgi?id=104234

Patch by Andrei Bucur <abucur@adobe.com> on 2012-12-06
Reviewed by David Hyatt.

Remove previous work that ensured an invalid region is never returned by the containingRegion getter. After r136793 the blocks always
relayout children if the region chain changes. This means the sanitize() method is only necessary when all the regions are removed.
This case is treated separately in layoutInlineChildren.

Tests: no new functionality, no bug fixed.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::containingRegion):
(WebCore):
(WebCore::RootInlineBox::setContainingRegion):
* rendering/RootInlineBox.h:
(RootInlineBox):
(WebCore::RootInlineBox::LineFragmentationData::LineFragmentationData):
(LineFragmentationData):

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

7 years agoAssociate URLs with GraphicsContext3D instances created for WebGL
kbr@google.com [Fri, 7 Dec 2012 00:26:52 +0000 (00:26 +0000)]
Associate URLs with GraphicsContext3D instances created for WebGL
https://bugs.webkit.org/show_bug.cgi?id=103793

Reviewed by Adam Barth.

Source/Platform:

* chromium/public/WebGraphicsContext3D.h:
(Attributes):
    Add top document's URL to context creation attributes.

Source/WebCore:

Pass down the URL of the topmost frame's document creating the
WebGL context to the platform layer through
GraphicsContext3D::Attributes.

Not feasible to write a layout test for this change; has no
user-visible effect. Tested manually with failure injection in
Chromium port.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::create):
    Pass top document's URL in context creation attributes.
* platform/chromium/support/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3D::create):
    Pass URL through WebKit API.
* platform/graphics/GraphicsContext3D.h:
(Attributes):
    Add top document's URL to context creation attributes.

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

7 years agoUnify SVG's animation and target tracking systems.
pdr@google.com [Fri, 7 Dec 2012 00:21:57 +0000 (00:21 +0000)]
Unify SVG's animation and target tracking systems.
https://bugs.webkit.org/show_bug.cgi?id=102655

Reviewed by Dirk Schulze.

Source/WebCore:

This patch unifies our animation target tracking system and regular target tracking system.
This simplifies the code, fixes a bug, and cleans up a historically security-sensitive area.

Background: When <use>, <mpath>, <animate>, etc. reference another element using
xlink:href="#id", we need to track when #id changes to #otherId, when #id is removed, etc.
This bookkeeping of element -> target is done in SVGDocumentExtensions. Additionally, when
a target changes that causes layout (e.g., rect.x is changed), all dependent elements with
renderers are notified (<animate> has no renderer and will not use this).

Previously, xlink:href changes were lazily resolved when targetElement() was called, target
changes were tracked using the animation tracking framework, and pending targets did not
work (e.g., <animate xlink:href="#p"><!--animate is now pending #p --><rect id="p"/>).

After this patch, we no longer lazily resolve targetElement() but instead change it when
our xlink:href attribute changes. Instead of using the animation tracking framework in
SVGDocumentExtensions, we now use the regular target tracking framework. Lastly, by using
the regular target tracking framework we are able to hook into the pending resource handling
which fixes a bug (see the test).

A test has been added to test that the order of animation elements does not matter. A second
test has been added to show we do not regress a pending-while-pending case.

Tests: svg/animations/svg-animation-order.html
       svg/custom/svg-pending-twice.html

* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::setTargetElement):

    setTargetElement and setAttributeName now work similarly. When the corresponding attribute
    changes, we update our internal state (target or attributeName) and save it instead of
    looking these values up on each iteration.

(WebCore::SVGAnimateElement::setAttributeName):
(WebCore):
(WebCore::SVGAnimateElement::resetAnimatedPropertyType):
* svg/SVGAnimateElement.h:
(SVGAnimateElement):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::setAttributeType):
(WebCore::SVGAnimationElement::setTargetElement):
(WebCore::SVGAnimationElement::setAttributeName):
* svg/SVGAnimationElement.h:
(SVGAnimationElement):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
(WebCore):
* svg/SVGDocumentExtensions.h:
(SVGDocumentExtensions):
* svg/SVGElement.cpp:
(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::removedFrom):
(WebCore::SVGElement::attributeChanged):
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::invalidateAllInstancesOfElement):

    This can be removed after r131631 landed.

* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::buildPendingResource):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::buildPendingResource):

    A bug was discovered in review with our resource tracking in a pending-while-pending
    case. SVGMpathElement and SVGTextPathElement have been updated to fix this as well.

* svg/animation/SVGSMILElement.cpp:

    The changes in SVGSMILElement should look very similar to SVGFEImageElement,
    SVGMPathElement, etc. The idea is to build pending resources when added or
    removed from the document, or when the href attribute changes.

(WebCore::SVGSMILElement::~SVGSMILElement):
(WebCore):
(WebCore::SVGSMILElement::clearResourceReferences):
(WebCore::SVGSMILElement::buildPendingResource):
(WebCore::SVGSMILElement::insertedInto):
(WebCore::SVGSMILElement::removedFrom):
(WebCore::SVGSMILElement::svgAttributeChanged):
(WebCore::SVGSMILElement::setAttributeName):
(WebCore::SVGSMILElement::setTargetElement):
* svg/animation/SVGSMILElement.h:
(WebCore):
(WebCore::SVGSMILElement::targetElement):
(SVGSMILElement):

LayoutTests:

* svg/animations/svg-animation-order-expected.html: Added.
* svg/animations/svg-animation-order.html: Added.
* svg/custom/svg-pending-twice-expected.html: Added.
* svg/custom/svg-pending-twice.html: Added.

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

7 years agoRetry snapshots if they are too empty
jonlee@apple.com [Fri, 7 Dec 2012 00:10:23 +0000 (00:10 +0000)]
Retry snapshots if they are too empty
https://bugs.webkit.org/show_bug.cgi?id=104174
<rdar://problem/12820146>

Reviewed by Simon Fraser.

Source/WebCore:

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateSnapshot): Change the state machine check so that even
when the plug-in is displaying a snapshot, the snapshot can still be updated. This allows for the
retries to be drawn.

Source/WebKit2:

* WebProcess/Plugins/PluginView.h: Add a new variable that keeps track of the number of times we've
retried to come up with a snapshot.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::PluginView): Initialize the count to 0.
(WebKit::isAlmostSolidColor): Figure out if the image is almost a solid color by overlaying
a grid of dots, and calculate the differences among them. If the average color difference is greater than
a threshold, we consider it to have meaningful content. For now we expect a minimum size and a specific
bitmap image format, otherwise we return early.
(WebKit::PluginView::pluginSnapshotTimerFired): If we have a snapshot image to look at, and if it is
evaluated to be too empty, then try again.

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

7 years ago[Chromium] Enable Resource Timing and User Timing
simonjam@chromium.org [Thu, 6 Dec 2012 23:50:44 +0000 (23:50 +0000)]
[Chromium] Enable Resource Timing and User Timing
https://bugs.webkit.org/show_bug.cgi?id=103788

Reviewed by Tony Gentilcore.

Source/WebKit/chromium:

* features.gypi:

LayoutTests:

* http/tests/w3c/webperf/submission/resource-timing/html/test_resource_iframe_navigation.html: Removed. Incomplete, shouldn't have been submitted.
* platform/chromium/TestExpectations: Remove 'Skip' expectations and add expected failures for iframes.
* platform/chromium/fast/dom/Window/window-properties-performance-expected.txt: Added. Now includes User Timing and Resource Timing properties.

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

7 years ago[HTMLTemplateElement] make content readonly and cloneNode(deep) clone content
adamk@chromium.org [Thu, 6 Dec 2012 23:47:58 +0000 (23:47 +0000)]
[HTMLTemplateElement] make content readonly and cloneNode(deep) clone content
https://bugs.webkit.org/show_bug.cgi?id=104181

Reviewed by Adam Barth.

Source/WebCore:

Note that this patch also adds IDL attributes/custom code to tie the lifetime
of the content DocumentFragment wrapper to the lifetime of the template element wrapper
via a hidden JS property.

Based on a patch by Rafael Weinstein.

Test: fast/dom/HTMLTemplateElement/contentWrappers.html

* DerivedSources.cpp:
* Target.pri:
* UseJSC.cmake:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSHTMLTemplateElementCustom.cpp: Copied from Source/WebCore/html/HTMLTemplateElement.idl.
(WebCore):
(WebCore::JSHTMLTemplateElement::content):
* bindings/scripts/CodeGeneratorV8.pm: Add support for new V8CacheAttributeForGC attribute.
* dom/Element.h:
(Element): Annotate cloneNode() with OVERRIDE
* html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::cloneNode):
* html/HTMLTemplateElement.h:
(HTMLTemplateElement): override cloneNode
* html/HTMLTemplateElement.idl: Make content readonly and add custom attributes.

LayoutTests:

* fast/dom/HTMLTemplateElement/cloneNode-expected.txt:
* fast/dom/HTMLTemplateElement/cloneNode.html:
* fast/dom/HTMLTemplateElement/contentWrappers-expected.txt: Added.
* fast/dom/HTMLTemplateElement/contentWrappers.html: Added.
* fast/dom/HTMLTemplateElement/ownerDocument-expected.txt:
* fast/dom/HTMLTemplateElement/ownerDocument.html:

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

7 years agoUnreviewed chromium rebaseline for r136885.
eae@chromium.org [Thu, 6 Dec 2012 23:31:39 +0000 (23:31 +0000)]
Unreviewed chromium rebaseline for r136885.

* platform/chromium-mac-lion/compositing/geometry/fixed-position-composited-page-scale-down-expected.png:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/geometry/fixed-position-composited-page-scale-down-expected.png: Added.
* platform/chromium-mac-snowleopard/compositing/geometry/fixed-position-composited-page-scale-down-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/geometry/fixed-position-composited-page-scale-down-expected.png: Added.
* platform/chromium-mac/compositing/geometry/fixed-position-composited-page-scale-down-expected.png:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/fixed-position-composited-page-scale-down-expected.png: Added.
* platform/efl-wk1/compositing/geometry/fixed-position-composited-page-scale-down-expected.png: Added.
* platform/efl/compositing/geometry/fixed-position-composited-page-scale-down-expected.png: Removed.

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

7 years agoUnreviewed. Fixing the email order to work correctly with bugzilla.
vivek.vg@samsung.com [Thu, 6 Dec 2012 23:30:37 +0000 (23:30 +0000)]
Unreviewed. Fixing the email order to work correctly with bugzilla.

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

7 years agoUnreviewed, Apple Win Debug build fix.
tony@chromium.org [Thu, 6 Dec 2012 23:28:45 +0000 (23:28 +0000)]
Unreviewed, Apple Win Debug build fix.

* win/WebKit2.def.in: Add 2 symbols that are needed by the debug build.

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

7 years ago[chromium] when forwarding events through the WebPluginContainer, create a UserGestur...
jochen@chromium.org [Thu, 6 Dec 2012 23:20:12 +0000 (23:20 +0000)]
[chromium] when forwarding events through the WebPluginContainer, create a UserGestureIndicator if processing a user gesture
https://bugs.webkit.org/show_bug.cgi?id=104306

Reviewed by Dimitri Glazkov.

Source/WebKit/chromium:

In http://trac.webkit.org/changeset/65964 a UserGestureIndicator was
introduced in chromium's WebKit layer intended to fix a problem with
plugins, however, it also affected regular event handling, so I removed
it in http://trac.webkit.org/changeset/128273. Turns out it still is a
problem for plugins. This change adds the UserGestureIndicator back,
however, only for the WebPluginContainer.

* public/WebInputEvent.h:
(WebInputEvent):
(WebKit::WebInputEvent::isUserGestureEventType):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::handleEvent):

Tools:

* DumpRenderTree/chromium/TestWebPlugin.cpp:
(TestWebPlugin::TestWebPlugin):
(TestWebPlugin::handleInputEvent): add support for printing the user gesture status
* DumpRenderTree/chromium/TestWebPlugin.h:
(TestWebPlugin):

LayoutTests:

* platform/chromium/plugins/user-gesture-expected.txt: Added.
* platform/chromium/plugins/user-gesture.html: Added.

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

7 years ago[Windows, WinCairo] Unreviewed build correction.
bfulgham@webkit.org [Thu, 6 Dec 2012 23:02:11 +0000 (23:02 +0000)]
[Windows, WinCairo] Unreviewed build correction.

Exclude 'DocumentSharedObjectPool.cpp' from build, since it is
built as part of DOMAllInOne.cpp.  The build (besides wasting
time) generates a bunch of build warnings for duplicate symbols.

* WebCore.vcproj/WebCore.vcproj: Mark DocumentSharedObjectPool.cpp
to not build independently of DOMAllInOne.cpp.

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

7 years agoIndexedDB: Abort transactions because of leveldb errors part 4
dgrogan@chromium.org [Thu, 6 Dec 2012 22:56:26 +0000 (22:56 +0000)]
IndexedDB: Abort transactions because of leveldb errors part 4
https://bugs.webkit.org/show_bug.cgi?id=103964

Reviewed by Tony Chang.

Source/WebCore:

deleteDatabase, open, and deleteObjectStore will now fire more aborts
and errors in case of leveldb problems

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::getVarInt): Make return value indicate leveldb error.
(WebCore::getString): ditto.
(WebCore::IDBBackingStore::getIDBDatabaseMetaData):
Change return value to indicate leveldb error.

(WebCore::IDBBackingStore::deleteDatabase):
Already had the desired return value semantics. As a consumer of
getIDBDatabaseMetadata, will return an error (causing an abort) more
often.

(WebCore::IDBBackingStore::deleteObjectStore):
Needed return value change. Will return error to DatabaseBackend to
indicate leveldb problems.

* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::openInternal):
Pass leveldb errors up to callers, who already handle internal errors.

(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::perform):
Abort transaction if there were leveldb problems deleting an object
store.

Source/WebKit/chromium:

* tests/IDBFakeBackingStore.h:
  Update one overridden method signature, delete another.

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

7 years agonew-run-webkit-tests --lint-test-files seems to be broken
dpranke@chromium.org [Thu, 6 Dec 2012 22:45:34 +0000 (22:45 +0000)]
new-run-webkit-tests --lint-test-files seems to be broken
https://bugs.webkit.org/show_bug.cgi?id=104296

Unreviewed, build fix.

My recent refactoring caused me to not initialize the printer
before calling lint(); this patch restructures the code to make
the lint routine self-contained and do all the work necessary.
This will also make it easier to move this code out into a standalone
file.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(lint):
(main):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(LintTest.test_all_configurations):
(LintTest.test_lint_test_files):
(LintTest.test_lint_test_files__errors):

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

7 years agoTell heap that we've released all the compiled code.
oliver@apple.com [Thu, 6 Dec 2012 22:36:12 +0000 (22:36 +0000)]
Tell heap that we've released all the compiled code.

Reviewed by Geoff Garen.

When we discard compiled code, inform the heap that we've
released an entire object graph.  This informs the heap that
it might want to perform a GC soon.

* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::discardAllCode):

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

7 years agoIndexedDB: Add webkitErrorMessage to IDBTransaction
dgrogan@chromium.org [Thu, 6 Dec 2012 22:33:57 +0000 (22:33 +0000)]
IndexedDB: Add webkitErrorMessage to IDBTransaction
https://bugs.webkit.org/show_bug.cgi?id=104199

Reviewed by Tony Chang.

Source/WebCore:

Don't drop error messages on the floor.

Expose an error message on IDBTransaction to give developers more
information than the opaque error code currently available. This is
exactly what is done in IDBRequest.

Tests - transaction-error.html

* Modules/indexeddb/IDBDatabaseError.h:
(WebCore::IDBDatabaseError::create):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):
(WebCore::IDBRequest::uncaughtExceptionInEventHandler):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::setError):
(WebCore):
(WebCore::IDBTransaction::webkitErrorMessage):
(WebCore::IDBTransaction::onAbort):
* Modules/indexeddb/IDBTransaction.h:
(IDBTransaction):
* Modules/indexeddb/IDBTransaction.idl:

LayoutTests:

Test for webkitErrorMessage in the three circumstances that can
generate one:
1) Bubble from operation error
2) Uncaught exception in operation event handler
3) Asynchronous abort from the backend

And fix a FIXME in the test.

* storage/indexeddb/resources/transaction-error.js:
(testErrorFromRequest.trans.onabort):
(testErrorFromRequest):
(testErrorFromException.trans.onabort):
(testErrorFromException):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded.trans.onabort):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded):
(testErrorFromCommit.trans.oncomplete):
(testErrorFromCommit):
* storage/indexeddb/transaction-error-expected.txt:

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

7 years agoXMLHttpRequest Content-Type should be taken from Blob type
commit-queue@webkit.org [Thu, 6 Dec 2012 22:32:46 +0000 (22:32 +0000)]
XMLHttpRequest Content-Type should be taken from Blob type
https://bugs.webkit.org/show_bug.cgi?id=99983

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-12-06
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Fix XMLHttpRequest::send(Blob*) method, so that the Content-Type is set according to W3C specification.
http://www.w3.org/TR/XMLHttpRequest/#the-send-method

Added test that check if content type is set correctly when blob object is sent.

Test: http/tests/xmlhttprequest/post-blob-content-type.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
    Set correct MIME type for Blob objects.
* WebCore.vcproj/WebCore.vcproj:
    Added ParsedContentType to project file.

LayoutTests:

Added tests that check if content type is set correctly when blob object is sent.

* http/tests/xmlhttprequest/post-blob-content-type-expected.txt: Added.
* http/tests/xmlhttprequest/post-blob-content-type.html: Added.

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

7 years ago[Chromium] IndexedDB: storage/indexeddb/resources/cursor-advance.html flaky in conten...
jsbell@chromium.org [Thu, 6 Dec 2012 22:30:06 +0000 (22:30 +0000)]
[Chromium] IndexedDB: storage/indexeddb/resources/cursor-advance.html flaky in content_shell after WK136782
https://bugs.webkit.org/show_bug.cgi?id=104292

Reviewed by Tony Chang.

Test had a read-only transaction depending on the completion of a prior read-write transaction,
which is not guaranteed by the spec. Switch from triggering the second transaction into the
oncomplete of the first.

* storage/indexeddb/resources/cursor-advance.js:
(populateObjectStore):

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

7 years agoMake LazyDecodingPixelRef inherit from skia::LazyPixelRef so that cc thread can access it
commit-queue@webkit.org [Thu, 6 Dec 2012 22:21:27 +0000 (22:21 +0000)]
Make LazyDecodingPixelRef inherit from skia::LazyPixelRef so that cc thread can access it
https://bugs.webkit.org/show_bug.cgi?id=103555

Patch by Min Qin <qinmin@chromium.org> on 2012-12-06
Reviewed by Stephen White.

Expose LazyDecodingPixelRef to the cc thread by inheriting from skia::LazyPixelRef.
No test added for now as impl side paiting is still WIP.

* platform/graphics/chromium/LazyDecodingPixelRef.cpp:
(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::PrepareToDecode):
(WebCore):
(WebCore::LazyDecodingPixelRef::Decode):
* platform/graphics/chromium/LazyDecodingPixelRef.h:
(LazyDecodingPixelRef):

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

7 years ago[Chromium] Unreviewed, rebaselining http/tests/media/video-buffered-range-contains...
scherkus@chromium.org [Thu, 6 Dec 2012 22:21:13 +0000 (22:21 +0000)]
[Chromium] Unreviewed, rebaselining http/tests/media/video-buffered-range-contains-currentTime.html
https://bugs.webkit.org/show_bug.cgi?id=104300

* platform/chromium-linux/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/chromium-mac-lion/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/chromium-mac-snowleopard/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/chromium-mac/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/chromium-win/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/chromium/TestExpectations:

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

7 years ago Track private browsing session in network process
ap@apple.com [Thu, 6 Dec 2012 22:14:38 +0000 (22:14 +0000)]
    Track private browsing session in network process
        https://bugs.webkit.org/show_bug.cgi?id=104281

        Reviewed by Jessie Berlin.

        Added ensure/destroy messages that match what's done in WebProcess. Also similarly,
        ensuring a private session may happen on demand if network process has been restarted
        after a crash, or if private browsing is enabled via a persistent preference.

        Eventually, we should find a way to share code between WebFrameNetworkingContext
        and RemoteNetworkingContext.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::initializeNetworkProcess):
        (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
        (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/mac/RemoteNetworkingContext.h:
        (RemoteNetworkingContext):
        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::privateBrowsingStorageSessionIdentifierBase):
        (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::encode):
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h:
        (NetworkProcessCreationParameters):
        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
        (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):

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

7 years ago[V8] Make an Isolate mandatory in v8UnsignedInteger()
haraken@chromium.org [Thu, 6 Dec 2012 22:10:11 +0000 (22:10 +0000)]
[V8] Make an Isolate mandatory in v8UnsignedInteger()
https://bugs.webkit.org/show_bug.cgi?id=104235

Reviewed by Adam Barth.

No tests. No change in behavior.

* bindings/v8/ArrayValue.cpp:
(WebCore::ArrayValue::get):
* bindings/v8/V8Binding.h:
(WebCore::v8UnsignedInteger):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::prepareListenerObject):

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

7 years ago[New Multicolumn] Add requiresBalancing booleans to track which column sets need...
hyatt@apple.com [Thu, 6 Dec 2012 22:08:33 +0000 (22:08 +0000)]
[New Multicolumn] Add requiresBalancing booleans to track which column sets need to rebalance.
https://bugs.webkit.org/show_bug.cgi?id=104297

Reviewed by Simon Fraser.

Add requiresBalancing booleans to RenderMultiColumnBlock and RenderMultiColumnSet. For now the former is just propagated
to the latter, but eventually RenderMultiColumnSets will have a notion of balancing that has to be independent of the
owning block (e.g., maybe only the last set rebalances, or maybe only a set that contains the content between two forced
breaks wants to rebalance, etc.).

* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
(WebCore::RenderMultiColumnBlock::ensureColumnSets):
* rendering/RenderMultiColumnBlock.h:
(WebCore::RenderMultiColumnBlock::requiresBalancing):
(RenderMultiColumnBlock):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
* rendering/RenderMultiColumnSet.h:
(WebCore::RenderMultiColumnSet::requiresBalancing):
(WebCore::RenderMultiColumnSet::setRequiresBalancing):
(RenderMultiColumnSet):
(WebCore::toRenderMultiColumnSet):
(WebCore):

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

7 years agointernals.settings.setEnableCompositingForFixedPosition() should be called before...
wangxianzhu@chromium.org [Thu, 6 Dec 2012 22:00:46 +0000 (22:00 +0000)]
internals.settings.setEnableCompositingForFixedPosition() should be called before onload
https://bugs.webkit.org/show_bug.cgi?id=104277

Fixed some tests that set enableCompositingForFixedPosition in onload handler which may not take effect because it is too late.
Leave the image mismatches to bug 96839.

Reviewed by Simon Fraser.

* compositing/geometry/fixed-position-composited-page-scale-down.html:
* compositing/geometry/fixed-position-composited-page-scale-scroll.html:
* compositing/geometry/fixed-position-composited-page-scale.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale.html:
* compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
* compositing/geometry/fixed-position-transform-composited-page-scale.html:
* compositing/layer-creation/fixed-position-out-of-view.html:
* platform/chromium/TestExpectations: Mark the original flaky image mismatch as constantly failure. Add one image mismatch caused by this change but because of incorrect baseline.

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

7 years ago[EFL] Remove ENABLE_GLIB_SUPPORT CMake variable
commit-queue@webkit.org [Thu, 6 Dec 2012 21:58:01 +0000 (21:58 +0000)]
[EFL] Remove ENABLE_GLIB_SUPPORT CMake variable
https://bugs.webkit.org/show_bug.cgi?id=104278

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-12-06
Reviewed by Brent Fulgham.

.:

The variable is unnecessary as glib is a required dependency
for the EFL port and glib is not used by other ports building
with CMake.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

The conditional is not required as it is always set for EFL.

* PlatformEfl.cmake:

Source/WebKit2:

The guards are not required as it is always set for EFL.

* PlatformEfl.cmake:
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):

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

7 years agoUnreviewed, rolling out r136871.
eae@chromium.org [Thu, 6 Dec 2012 21:41:27 +0000 (21:41 +0000)]
Unreviewed, rolling out r136871.
http://trac.webkit.org/changeset/136871
https://bugs.webkit.org/show_bug.cgi?id=104293

crashes on bots and memory leaks (Requested by esprehn on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-12-06

* dom/Document.h:
(WebCore::Node::treeScope):
* dom/Element.cpp:
(WebCore::Element::createRareData):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* dom/Node.cpp:
(WebCore::Node::setTreeScope):
(WebCore::Node::ensureRareData):
(WebCore::Node::createRareData):
(WebCore::Node::clearRareData):
* dom/Node.h:
(WebCore::NodeRareDataBase::~NodeRareDataBase):
(WebCore::NodeRareDataBase::NodeRareDataBase):
(NodeRareDataBase):
(WebCore::Node::renderer):
(WebCore::Node::setRenderer):
(Node):
(WebCore::Node::hasRareData):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(NodeRareData):

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

7 years agoRemove non-v8 binding files from WebCore.gypi
adamk@chromium.org [Thu, 6 Dec 2012 21:26:27 +0000 (21:26 +0000)]
Remove non-v8 binding files from WebCore.gypi
https://bugs.webkit.org/show_bug.cgi?id=104288

Reviewed by Adam Barth.

Since the gyp build is only used by the Chromium project,
there's no need for cpp, gobject, objc, or jsc bindings
in these build files.

* WebCore.gypi:

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

7 years agoDFG profiler should be helpful about gem installation
fpizlo@apple.com [Thu, 6 Dec 2012 21:22:03 +0000 (21:22 +0000)]
DFG profiler should be helpful about gem installation
https://bugs.webkit.org/show_bug.cgi?id=104217

Reviewed by Oliver Hunt.

'json' and 'highline' are not installed by default on the ruby distributions with
which I am familiar, and the default error messages don't make me happy. This makes
display-profiler-output print a helpful message if those gems are not found.

* Scripts/display-profiler-output:

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

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Thu, 6 Dec 2012 21:21:27 +0000 (21:21 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

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

7 years agoProfiler should print a helpful message if you pass the wrong arguments
fpizlo@apple.com [Thu, 6 Dec 2012 21:20:30 +0000 (21:20 +0000)]
Profiler should print a helpful message if you pass the wrong arguments
https://bugs.webkit.org/show_bug.cgi?id=104222

Reviewed by Oliver Hunt.

* Scripts/display-profiler-output:

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

7 years agoREGRESSION(r135082): Restore the ability to insert author level style sheets from...
tony@chromium.org [Thu, 6 Dec 2012 21:19:12 +0000 (21:19 +0000)]
REGRESSION(r135082): Restore the ability to insert author level style sheets from script
https://bugs.webkit.org/show_bug.cgi?id=104042

Reviewed by Antti Koivisto.

.:

Update exports for Internals.cpp.

* Source/autotools/symbols.filter:

Source/WebCore:

Add DocumentStyleSheetCollection::addAuthorSheet so embedders can allow scripts
to insert author level styles. Expose the method to window.interals for testing.

Test: userscripts/insert-stylesheets.html

* WebCore.exp.in: Update exports for Internals.cpp.
* WebCore.order: Update exports for Internals.cpp.
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::addAuthorSheet): Add the stylesheet and force a style recalc.
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): Include author level styles.
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage): Include author styles.
* dom/DocumentStyleSheetCollection.h:
(WebCore::DocumentStyleSheetCollection::documentAuthorStyleSheets): Accessor.
(DocumentStyleSheetCollection): Keep track of author styles added by script.
* testing/Internals.cpp:
(WebCore::Internals::insertAuthorCSS): Testing addAuthorSheet.
(WebCore::Internals::insertUserCSS): Testing addUserSheet.
* testing/Internals.h:
* testing/Internals.idl: Add addAuthorSheet and addUserSheet.

Source/WebKit/chromium:

* src/WebDocument.cpp:
(WebKit::WebDocument::insertUserStyleSheet): Use addAuthorSheet if an author level script is requested.

Source/WebKit2:

Update exports for Internals.cpp.

* win/WebKit2.def.in:

LayoutTests:

Add a test that makes sure that an author level style is set.

* userscripts/insert-stylesheets-expected.txt: Added.
* userscripts/insert-stylesheets.html: Added.

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

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Thu, 6 Dec 2012 21:15:45 +0000 (21:15 +0000)]
[Chromium] Unreviewed gardening.

effect-reference-hw.html is failing (lighting has a Y-flip), but people
seem tempted to rebaseline it.  Put the software result in its place
for now, and mark it failing, so people aren't tempted to rebaseline it.

* platform/chromium-linux/css3/filters/effect-reference-hw-expected.png: Removed.
* platform/chromium-mac/css3/filters/effect-reference-hw-expected.png:
* platform/chromium-win/css3/filters/effect-reference-hw-expected.png:
* platform/chromium/TestExpectations:

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

7 years ago[chromium] Add some null-checks for the touch-lists in TouchEvent
commit-queue@webkit.org [Thu, 6 Dec 2012 21:13:24 +0000 (21:13 +0000)]
[chromium] Add some null-checks for the touch-lists in TouchEvent
https://bugs.webkit.org/show_bug.cgi?id=104098

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-12-06
Reviewed by Adam Barth.

It is possible for the touch-lists to be NULL in a TouchEvent. V8TouchEvent checks for NULL
touches(), targetTouches() and changedTouches(). So do the same for WebMouseEventBuilder.

* src/WebInputEventConversion.cpp:
(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
* tests/WebInputEventConversionTest.cpp:

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

7 years agoAllow for CCing a secondary email address from watchlists
ojan@chromium.org [Thu, 6 Dec 2012 21:09:58 +0000 (21:09 +0000)]
Allow for CCing a secondary email address from watchlists
https://bugs.webkit.org/show_bug.cgi?id=104286

Reviewed by Dirk Pranke.

Change my watchlist CC address so I can filter these separately from
when people explicitly CC me and update the watchlist parser to allow that.

* Scripts/webkitpy/common/config/committers.py:
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/common/watchlist/watchlistparser.py:
(WatchListParser._validate):
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:
(WatchListParserTest.test_cc_rule_with_invalid_email):
(WatchListParserTest.test_cc_rule_with_secondary_email):

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

7 years ago[Qt] Unreviewed gardening, skip a new test because of missing test font.
ossy@webkit.org [Thu, 6 Dec 2012 20:40:24 +0000 (20:40 +0000)]
[Qt] Unreviewed gardening, skip a new test because of missing test font.

* platform/qt/TestExpectations:

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

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Thu, 6 Dec 2012 20:31:07 +0000 (20:31 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium-linux/fast/borders/border-radius-constraints-expected.png:
* platform/chromium-linux/fast/borders/mixed-border-styles-radius-expected.png:
* platform/chromium-linux/fast/css/background-clip-radius-values-expected.png:
* platform/chromium-mac-lion/fast/borders/border-radius-constraints-expected.png:
* platform/chromium-mac-lion/fast/css/background-clip-radius-values-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/borders/border-radius-constraints-expected.png:
* platform/chromium-mac/fast/borders/border-radius-constraints-expected.png:
* platform/chromium-mac/fast/borders/mixed-border-styles-radius-expected.png:
* platform/chromium-mac/fast/css/background-clip-radius-values-expected.png:
* platform/chromium-win/fast/borders/border-radius-constraints-expected.png:
* platform/chromium-win/fast/borders/mixed-border-styles-radius-expected.png:
* platform/chromium-win/fast/css/background-clip-radius-values-expected.png: Added.
* platform/chromium/TestExpectations:

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

7 years agoCreate only NodeRareDataBase when setting TreeScope
commit-queue@webkit.org [Thu, 6 Dec 2012 20:16:22 +0000 (20:16 +0000)]
Create only NodeRareDataBase when setting TreeScope
https://bugs.webkit.org/show_bug.cgi?id=104202

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-12-06
Reviewed by Dimitri Glazkov.

Move many fields from NodeRareData into NodeRareDataBase and rename it
UncommonNodeData and add a flag to determine if a UncommonNodeData is
actually a full NodeRareData instance. By moving fields up from NodeRareData
we ensure that this new flag in the base class doesn't make NodeRareData
grow in size.

We then make setting the tree scope only allocate the UncommonNodeData
instead of creating the full NodeRareData or ElementRareData. This is
important because when putting nodes into ShadowRoot or any descendant
we must associate the node with a tree scope which adds rare data to the
node making NodeRareData and ElementRareData not very rare.

On 64bit, this reduces the overhead per element from 136 bytes to
32 bytes for a 76% savings, and on other nodes from 64 bytes to 32 bytes
for a 50% savings.

No new tests, no change in behavior.

* dom/Document.h:
(WebCore::Node::treeScope):
* dom/Element.cpp:
(WebCore::Element::createRareData):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* dom/Node.cpp:
(WebCore::Node::setTreeScope):
(WebCore::Node::ensureRareData):
(WebCore::Node::createRareData):
(WebCore::Node::clearRareData):
* dom/Node.h:
(WebCore::UncommonNodeData::create):
(UncommonNodeData):
(WebCore::UncommonNodeData::~UncommonNodeData):
(WebCore::UncommonNodeData::isNodeRareData):
(WebCore::UncommonNodeData::UncommonNodeData):
(WebCore::Node::renderer):
(WebCore::Node::setRenderer):
(Node):
(WebCore::Node::hasRareData):
(WebCore::Node::hasUncommonNodeData):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(NodeRareData):

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

7 years ago[Chromium] Unreviewed gardening.
senorblanco@chromium.org [Thu, 6 Dec 2012 20:13:09 +0000 (20:13 +0000)]
[Chromium] Unreviewed gardening.

Add some bug IDs to failing tests, and restore some old expectations.
* platform/chromium/TestExpectations:

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

7 years agoIndexedDB: Remove IDBDatabaseException.idl
jsbell@chromium.org [Thu, 6 Dec 2012 20:11:42 +0000 (20:11 +0000)]
IndexedDB: Remove IDBDatabaseException.idl
https://bugs.webkit.org/show_bug.cgi?id=102961

Reviewed by Adam Barth.

Delete the IDL and references to it. No longer needed as a enum member
in the autogenerated ExceptionCodeDescription.h so removed from the ".in"
file; only direct references are retained in the autogenerated cpp file.

Ideally the code generator would handle these new-style DOMExceptions,
but we don't have any other examples yet to know what pattern to follow.

No new tests - just removing dead code.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Modules/indexeddb/IDBDatabaseException.idl: Removed.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMExceptions.in:
* dom/make_dom_exceptions.pl:
(generateImplementation):

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

7 years agoUnreviewed chromium rebaselines.
eae@chromium.org [Thu, 6 Dec 2012 20:02:19 +0000 (20:02 +0000)]
Unreviewed chromium rebaselines.

* platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.png: Removed.
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/masks: Removed.
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/masks/masked-ancestor-expected.png: Removed.
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/shadows: Removed.
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png: Removed.
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/iframes: Added.
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/iframes/composited-iframe-alignment-expected.png: Added.

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

7 years agoNew pixel baselines for fast/backgrounds/gradient-background-leakage.html
junov@google.com [Thu, 6 Dec 2012 19:54:39 +0000 (19:54 +0000)]
New pixel baselines for fast/backgrounds/gradient-background-leakage.html
https://bugs.webkit.org/show_bug.cgi?id=103896

Unreviewed

* platform/chromium-linux/fast/backgrounds/gradient-background-leakage-expected.png:
* platform/chromium-mac/fast/backgrounds/gradient-background-leakage-expected.png:
* platform/chromium/TestExpectations:
* platform/efl-wk1/fast/backgrounds: Added.
* platform/efl-wk1/fast/backgrounds/gradient-background-leakage-expected.png: Added.
* platform/efl/fast/backgrounds/gradient-background-leakage-expected.png: Removed.

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