WebKit-https.git
8 years ago[EFL] [WK2] Some authentication tests fail in WebKit2
mrobinson@webkit.org [Wed, 9 Jan 2013 03:28:39 +0000 (03:28 +0000)]
[EFL] [WK2] Some authentication tests fail in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=106407

* platform/efl-wk2/TestExpectations: Skip some tests failing for EFL
on WebKit2.

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

8 years ago[Mac] Authentication tests fail even after r139140
mrobinson@webkit.org [Wed, 9 Jan 2013 03:22:50 +0000 (03:22 +0000)]
[Mac] Authentication tests fail even after r139140
https://bugs.webkit.org/show_bug.cgi?id=106405

* platform/mac-wk2/TestExpectations: Skip authentication tests that are still
failing in WebKit2 on Mac.

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

8 years agoLayout Test fast/css-grid-layout/grid-columns-rows-get-set-multiple.html, grid-column...
jchaffraix@webkit.org [Wed, 9 Jan 2013 03:21:27 +0000 (03:21 +0000)]
Layout Test fast/css-grid-layout/grid-columns-rows-get-set-multiple.html, grid-columns-rows-get-set.html is failing
https://bugs.webkit.org/show_bug.cgi?id=104090

Unreviewed gardening.

* platform/chromium/TestExpectations:
In r139025, the not-totally-OK call to GridTrackSize::length() was removed and thus the
tests don't trigger an ASSERT anymore. This change merrily re-enable them.

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

8 years agoAssert in RenderGeometryMap::mapToContainer
achicu@adobe.com [Wed, 9 Jan 2013 02:57:50 +0000 (02:57 +0000)]
Assert in RenderGeometryMap::mapToContainer
https://bugs.webkit.org/show_bug.cgi?id=106068

Reviewed by Simon Fraser.

Source/WebCore:

The assert was due to a pending layout, so the values used to compute the layer bounding boxes were incorrect.
That was because of the Document::setVisualUpdatesAllowed mechanism, which triggers a compositor update
and a repaint, but before this patch didn't check whether a layout was pending or not.

Added a check in Document::setVisualUpdatesAllowed for pending layouts and bailed when such case happened.
A layout will come anyway and trigger the correct updates. Couldn't not force an inline layout at that time
as this function is sometimes called really soon, when the WebKit parts are not fully created yet and updates were
calling back into some client callbacks that were not ready.

Also added an assert in RenderLayerCompositor::updateCompositingLayers to check for other cases that might
try to update the layers with a layout pending. That one led to finding an issue in the RenderMarquee, which
was updating on a timer callback. It might happen that a layout is pending while this timer fires and it
tries to update the scroll position of the layers while a layout is still due.

There was already a protection to bail if a layout is pending in RenderMarquee::timerFired, so I've just broadened the scope
to the whole RenderView to catch all the layout requests.

Tests: compositing/geometry/assert-layout-not-done.html
       compositing/geometry/assert-marquee-timer.html

* dom/Document.cpp:
(WebCore::Document::setVisualUpdatesAllowed):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::timerFired):

LayoutTests:

* compositing/geometry/assert-layout-not-done-expected.txt: Added.
* compositing/geometry/assert-layout-not-done.html: Added. Testing for the case when compositor is triggered before the first layout.
* compositing/geometry/assert-marquee-timer-expected.txt: Added.
* compositing/geometry/assert-marquee-timer.html: Added. Tested for the case when the marquee might trigger compositor updates, while a layout is still pending.

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

8 years agoSupport op_typeof in the DFG
oliver@apple.com [Wed, 9 Jan 2013 02:37:29 +0000 (02:37 +0000)]
Support op_typeof in the DFG
https://bugs.webkit.org/show_bug.cgi?id=98898

Reviewed by Filip Pizlo.

Adds a TypeOf node to the DFG to support op_typeof.

To avoid adding too much GC horror, this also makes the
common strings portion of the SmallString cache strongly
referenced.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
  We try to determine the result early here, and substitute in a constant.
  Otherwise we leave the node intact, and set the result type to SpecString.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
  Parse op_typeof
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
  TypeOf nodes can be subjected to pure CSE
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
  We can handle typeof.
* dfg/DFGNodeType.h:
(DFG):
  Define the node.
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
  Add operationTypeOf to support the non-trivial cases.
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
  Actual codegen
* runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
(JSC):
* runtime/Operations.h:
(JSC):
  Some refactoring to allow us to get the type string for an
  object without needing a callframe.

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

8 years agoCanvasRenderingContext2D::setFont argument may reference destroyed object
junov@google.com [Wed, 9 Jan 2013 02:30:03 +0000 (02:30 +0000)]
CanvasRenderingContext2D::setFont argument may reference destroyed object
https://bugs.webkit.org/show_bug.cgi?id=106385

Reviewed by Abhishek Arya.

No new tests: covered by fast/canvas/canvas-measureText.html

This is a re-write of r138994.  Fixing bug in setFont instead of
workaround at call site.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
(WebCore::CanvasRenderingContext2D::accessFont):

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

8 years agoIndexedDB: Provide LevelDB with IDBEnv instead of Env::Default
dgrogan@chromium.org [Wed, 9 Jan 2013 02:28:26 +0000 (02:28 +0000)]
IndexedDB: Provide LevelDB with IDBEnv instead of Env::Default
https://bugs.webkit.org/show_bug.cgi?id=106135

Reviewed by Tony Chang.

IDBEnv only changes the name of the histogram where errors are logged.

* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::open):
(WebCore::LevelDBDatabase::openInMemory):

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

8 years agoMake WebGLRenderingContext inherit from ActiveDOMObject
commit-queue@webkit.org [Wed, 9 Jan 2013 02:21:57 +0000 (02:21 +0000)]
Make WebGLRenderingContext inherit from ActiveDOMObject
https://bugs.webkit.org/show_bug.cgi?id=104733

Patch by Brandon Jones <bajones@chromium.org> on 2013-01-08
Reviewed by Adam Barth.

Source/WebCore:

When ActiveDOMObject::stop is called on the WebGLRenderingContext the
DrawingBuffer and GraphicsContext3D instances are forcibly released in
order to keep GPU memory utilization to a minimum.

Incorporated new layout test based on one just added to the WebGL
conformance suite. Also tested manually by reloading and
navigating between many WebGL apps.

Test: fast/canvas/webgl/context-release-upon-reload.html

* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::getContextCallback):
    Removed garbage collection hack added in Bug 76255.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::create):
    Call suspendIfNeeded per ActiveDOMObject contract.
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
    Call ActiveDOMObject constructor.
(WebCore::WebGLRenderingContext::~WebGLRenderingContext):
    Call destroyGraphicsContext3D.
(WebCore::WebGLRenderingContext::destroyGraphicsContext3D):
    Drop DrawingBuffer backing store and delete GraphicsContext3D.
(WebCore::WebGLRenderingContext::hasPendingActivity):
    Always return false.
(WebCore::WebGLRenderingContext::stop):
    Force lost context upon page reload or navigation.
* html/canvas/WebGLRenderingContext.h:
(WebGLRenderingContext):
    Inherit from ActiveDOMObject and override notifications.
* platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
(WebCore):
(WebCore::DrawingBuffer::clearPlatformLayer):
    Add currently no-op implementation.
* platform/graphics/cairo/DrawingBufferCairo.cpp:
(WebCore):
(WebCore::DrawingBuffer::clearPlatformLayer):
    Add currently no-op implementation.
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBufferPrivate::clearTextureId):
    Clear texture ID from compositor's layer.
(DrawingBufferPrivate):
(WebCore::DrawingBuffer::framebuffer):
    Moved around to reduce number of #ifdefs.
(WebCore):
(WebCore::DrawingBuffer::platformLayer):
(WebCore::DrawingBuffer::clearPlatformLayer):
    Tell compositor to stop referencing DrawingBuffer's texture.
* platform/graphics/clutter/DrawingBufferClutter.cpp:
(WebCore):
(WebCore::DrawingBuffer::clearPlatformLayer):
    Add currently no-op implementation.
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::clear):
    Call clearPlatformLayer before deleting OpenGL resources.
* platform/graphics/gpu/DrawingBuffer.h:
(DrawingBuffer):
    Add clearPlatformLayer.
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore):
(WebCore::DrawingBuffer::clearPlatformLayer):
    Add currently no-op implementation.
* platform/graphics/gpu/qt/DrawingBufferQt.cpp:
(WebCore):
(WebCore::DrawingBuffer::clearPlatformLayer):
    Add currently no-op implementation.

LayoutTests:

* fast/canvas/webgl/context-release-upon-reload-expected.txt: Added.
* fast/canvas/webgl/context-release-upon-reload.html: Added.
* fast/canvas/webgl/resources/context-release-upon-reload-child.html: Added.

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

8 years agoRemove dependency on Document from HTMLConstructionSite::inQuirksMode()
tonyg@chromium.org [Wed, 9 Jan 2013 01:43:54 +0000 (01:43 +0000)]
Remove dependency on Document from HTMLConstructionSite::inQuirksMode()
https://bugs.webkit.org/show_bug.cgi?id=106375

Reviewed by Adam Barth.

This is another step towards removing main thread object dependencies
from the parser.

No new tests because no new functionality.

* dom/Document.h:
* html/HTMLDocument.cpp:
* html/HTMLDocument.h:
(HTMLDocument):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::HTMLConstructionSite):
(WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
(WebCore):
(WebCore::HTMLConstructionSite::setCompatibilityMode):
(WebCore::HTMLConstructionSite::setCompatibilityModeFromDoctype):
(WebCore::HTMLConstructionSite::insertDoctype):
(WebCore::HTMLConstructionSite::inQuirksMode):
* html/parser/HTMLConstructionSite.h:
(HTMLConstructionSite):

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

8 years agoWebKitTestRunner needs support for setHandlesAuthenticationChallenges
mrobinson@webkit.org [Wed, 9 Jan 2013 01:41:17 +0000 (01:41 +0000)]
WebKitTestRunner needs support for setHandlesAuthenticationChallenges
https://bugs.webkit.org/show_bug.cgi?id=103653

Reviewed by Anders Carlsson.

Tools:

Implement setHandlesAuthenticationChallenges in the UIProcess by sending credentials
and the enabled boolean to the UIProcess and then implementing the didReceiveAuthenticationChallengeInFrame
client callback.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Exposed the new TestRunner
methods to the JavaScript API.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setHandlesAuthenticationChallenges): Added this callback for the JavaScript API.
(WTR::TestRunner::setAuthenticationUsername): Ditto.
(WTR::TestRunner::setAuthenticationPassword): Ditto.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner): Added new declarations for the above.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions): Hook up the new didReceiveSynchronousMessageFromInjectedBundle
callback.
(WTR::TestController::resetStateToConsistentValues): Reset the credentials and enabled boolean between tests.
(WTR::TestController::didReceiveAuthenticationChallengeInFrame): Handle the callback by using
the authentication information passed from the InjectedBundle.
* WebKitTestRunner/TestController.h:
(WTR::TestController::setHandlesAuthenticationChallenges): Added setter to allow TestInvocation
to communicate with the TestController.
(WTR::TestController::setAuthenticationUsername): Ditto.
(WTR::TestController::setAuthenticationPassword): Ditto.
(TestController):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Handle the messages sending authentication
information from the InjectedBundle.
(WTR::TestInvocation::outputText): Added this method so that the TestController can output
text to the TestInvocation text output.
* WebKitTestRunner/TestInvocation.h:
(TestInvocation): Added declaration for new method.

LayoutTests:

Unskip authentication tests which are now passing.

* platform/wk2/TestExpectations:

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

8 years ago[Chromium] Hiding popups on mouse wheel should be handled by WebViewImpl
keishi@webkit.org [Wed, 9 Jan 2013 01:41:13 +0000 (01:41 +0000)]
[Chromium] Hiding popups on mouse wheel should be handled by WebViewImpl
https://bugs.webkit.org/show_bug.cgi?id=106312

Reviewed by Kent Tamura.

We had to removed the code that closed popups on mouse wheel events from
content::RenderWidgetHostViewMac because it no longer had access to
child popups. WebViewImpl will hide the popups on mouse wheel events so
we can maintain the same behavior.

https://src.chromium.org/viewvc/chrome?view=rev&revision=175488

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleMouseWheel): Overriding so we can hide popups.
(WebKit):
* src/WebViewImpl.h:

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

8 years agoRemove unused GraphicsContext::addInnerRoundedRectClip()
fmalita@chromium.org [Wed, 9 Jan 2013 01:36:28 +0000 (01:36 +0000)]
Remove unused GraphicsContext::addInnerRoundedRectClip()
https://bugs.webkit.org/show_bug.cgi?id=106376

Reviewed by Andreas Kling.

Since there don't seem to be any users left for it, remove addInnerRoundedRectClip().

No new tests: no functional changes.

* platform/graphics/GraphicsContext.h:
(GraphicsContext):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
* platform/graphics/wx/GraphicsContextWx.cpp:

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

8 years agoColor bleeding with rounded rectangles on high dpi displays
junov@google.com [Wed, 9 Jan 2013 01:17:19 +0000 (01:17 +0000)]
Color bleeding with rounded rectangles on high dpi displays
https://bugs.webkit.org/show_bug.cgi?id=106373

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/backgrounds/gradient-background-leakage-hidpi.html

Avoid using the BackgroundBleedShrinkBackground draw strategy for
RenderBox when border width is less than two layout units. This
is because rounded rectangles are always snapped to integer layout
coordinates, even with subpixel layout enabled.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::determineBackgroundBleedAvoidance):

LayoutTests:

New layout test to verify that rounded rectangle corners do not
produce color bleeding on high dpi devices.

* fast/backgrounds/gradient-background-leakage-hidpi-expected.txt: Added.
* fast/backgrounds/gradient-background-leakage-hidpi.html: Added.
* platform/chromium-linux/fast/backgrounds/gradient-background-leakage-hidpi-expected.png: Added.

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

8 years agoDFG shouldn't treat the 'this' argument as being captured if a code block uses arguments
fpizlo@apple.com [Wed, 9 Jan 2013 01:11:32 +0000 (01:11 +0000)]
DFG shouldn't treat the 'this' argument as being captured if a code block uses arguments
https://bugs.webkit.org/show_bug.cgi?id=106398
<rdar://problem/12439776>

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

This is a possible optimization for inlined calls, and fixes crashes for inlined constructors, in the case
that the inlined code used arguments. The problem was that assuming that 'this' was captured implies the
assumption that it was initialized by the caller, which is wrong for constructors and this.

Also added a pretty essential DFG IR validation rule: we shouldn't have any live locals at the top of the
root block. This helps to catch this bug: our assumption that 'this' was captured in an inlined constructor
that used arguments led to liveness for the temporary that would have held 'this' in the caller being
propagated all the way up to the entrypoint of the function.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::isCaptured):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::reportValidationContext):
(Validate):
(JSC::DFG::Validate::dumpGraphIfAppropriate):

LayoutTests:

Reviewed by Mark Hahnenberg.

* fast/js/dfg-inline-constructor-that-uses-arguments-expected.txt: Added.
* fast/js/dfg-inline-constructor-that-uses-arguments.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-inline-constructor-that-uses-arguments.js: Added.
(Foo):
(bar):

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

8 years agoMerge getLineAtIndex into RenderBlock::lineAtIndex
esprehn@chromium.org [Wed, 9 Jan 2013 00:59:43 +0000 (00:59 +0000)]
Merge getLineAtIndex into RenderBlock::lineAtIndex
https://bugs.webkit.org/show_bug.cgi?id=106379

Reviewed by Eric Seidel.

getLineAtIndex can be merged into lineAtIndex, which was it's only caller.

No new tests, just refactoring.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::lineAtIndex):
(WebCore::RenderBlock::lineCount):
* rendering/RenderBlock.h:
(RenderBlock):

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

8 years ago[EFL][WK2] WebGL test cases are sometimes crashing
commit-queue@webkit.org [Wed, 9 Jan 2013 00:47:13 +0000 (00:47 +0000)]
[EFL][WK2] WebGL test cases are sometimes crashing
https://bugs.webkit.org/show_bug.cgi?id=104506

Unreviewed gardening.

Enable webgl tests that are passing after recent changes.

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-08

* platform/efl/TestExpectations:

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

8 years agoUnbreak the world.
andersca@apple.com [Wed, 9 Jan 2013 00:44:39 +0000 (00:44 +0000)]
Unbreak the world.

* WebProcess/com.apple.WebProcess.sb.in:

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

8 years ago[HTMLTemplateElement] Allow <template> content to be inspected
rafaelw@chromium.org [Wed, 9 Jan 2013 00:42:52 +0000 (00:42 +0000)]
[HTMLTemplateElement] Allow <template> content to be inspected
https://bugs.webkit.org/show_bug.cgi?id=105839

Reviewed by Pavel Feldman.

In addition to the plumbing which allows template contents to be
displayed within the inspector, this patch adds a manually-managed
weakref from the template document back to its host document (typically
the creator). This is required so that the inspector agent can be found
for template elements.

* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::templateDocument):
* dom/Document.h:
(Document):
(WebCore::Document::setTemplateDocumentHost):
(WebCore::Document::templateDocumentHost):
* editing/markup.cpp:
(WebCore::createFragmentForInnerOuterHTML):
* html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::content):
* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode):
(WebInspector.DOMNode.prototype.hasChildNodes):
(WebInspector.DOMNode.prototype._insertChild):
(WebInspector.DOMNode.prototype._setChildrenPayload):

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

8 years agoUnreviewed, marking drag-and-drop-autoscroll.html
morrita@google.com [Wed, 9 Jan 2013 00:32:15 +0000 (00:32 +0000)]
Unreviewed, marking drag-and-drop-autoscroll.html

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

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

8 years agoAdd an Autoconf macro that checks whether a given feature is enabled
zandobersek@gmail.com [Wed, 9 Jan 2013 00:30:42 +0000 (00:30 +0000)]
Add an Autoconf macro that checks whether a given feature is enabled
https://bugs.webkit.org/show_bug.cgi?id=106380

Reviewed by Martin Robinson.

Add the AC_CHECK_WEBKIT_FEATURE_ENABLED macro. It checks the generated
Source/WebCore/GNUmakefile.features.am file to determine whether the
given feature is enabled or disabled in the build that's being configured.

* Source/autotools/webkitfeature.m4: Added.

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

8 years agoAdd myself as a watcher for Web Geolocation
benjamin@webkit.org [Wed, 9 Jan 2013 00:29:29 +0000 (00:29 +0000)]
Add myself as a watcher for Web Geolocation

Unreviewed.

* Scripts/webkitpy/common/config/watchlist:

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

8 years ago[Shadow DOM] Distribution related code on ShadowRoot should be minimized.
morrita@google.com [Wed, 9 Jan 2013 00:16:19 +0000 (00:16 +0000)]
[Shadow DOM] Distribution related code on ShadowRoot should be minimized.
https://bugs.webkit.org/show_bug.cgi?id=106282

Reviewed by Dimitri Glazkov.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

ShadowRoot had a certain amount of logic which is dedicated for
node distribution computation.  These code is going to be compiled
out (Bug 103339) and better be part of the node distribution
algorithm, which is ScopeContentDistribution class.

This change

- Renames ShadowRootContentDistributionData to
  ScopeContentDistribution.  New name is concise and a bit more
  meaningful: It owns per TreeScope distribution state.
- Moves distribution related code from ShadowRoot to ScopeContentDistribution

No new tests. Refactoring.

* WebCore.exp.in:
* css/StyleScopeResolver.cpp:
(WebCore::StyleScopeResolver::styleSharingCandidateMatchesHostRules):
(WebCore::StyleScopeResolver::matchHostRules):
* dom/ComposedShadowTreeWalker.cpp:
(WebCore::nodeCanBeDistributed):
(WebCore::ComposedShadowTreeWalker::traverseBackToYoungerShadowRoot):
(WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
(WebCore::AncestorChainWalker::parent):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::collectSelectFeatureSetFrom):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::insertedInto):
(WebCore::ShadowRoot::removedFrom):
(WebCore::ShadowRoot::ensureScopeDistribution):
(WebCore::ShadowRoot::reportMemoryUsage):
* dom/ShadowRoot.h:
(WebCore):
(ShadowRoot):
(WebCore::ShadowRoot::scopeDistribution):
* html/shadow/ContentDistributor.cpp:
(WebCore::ScopeContentDistribution::ScopeContentDistribution):
(WebCore::ScopeContentDistribution::invalidateInsertionPointList):
(WebCore::ScopeContentDistribution::ensureInsertionPointList):
(WebCore::ScopeContentDistribution::registerInsertionPoint):
(WebCore::ScopeContentDistribution::unregisterInsertionPoint):
(WebCore::ScopeContentDistribution::hasShadowElement):
(WebCore):
(WebCore::ScopeContentDistribution::hasContentElement):
(WebCore::ScopeContentDistribution::countElementShadow):
(WebCore::ScopeContentDistribution::hasInsertionPoint):
(WebCore::ScopeContentDistribution::assignedTo):
(WebCore::ContentDistributor::distribute):
(WebCore::ContentDistributor::invalidate):
* html/shadow/ContentDistributor.h:
(ScopeContentDistribution):
(WebCore::ScopeContentDistribution::registerElementShadow):
(WebCore::ScopeContentDistribution::unregisterElementShadow):
(WebCore::ScopeContentDistribution::hasElementShadow):
* html/shadow/HTMLShadowElement.cpp:
(WebCore::HTMLShadowElement::olderShadowRoot):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::insertedInto):
(WebCore::InsertionPoint::removedFrom):
(WebCore::InsertionPoint::contains):
(WebCore):
(WebCore::resolveReprojection):
* html/shadow/InsertionPoint.h:
(InsertionPoint):
(WebCore):
* testing/Internals.cpp:
(WebCore::Internals::hasShadowInsertionPoint):
(WebCore::Internals::hasContentElement):
(WebCore::Internals::countElementShadow):

Source/WebKit/win:

* WebKit.vcproj/WebKit.def.in:

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

8 years ago[chromium] Remove transitional #defines from WebKit API headers
commit-queue@webkit.org [Wed, 9 Jan 2013 00:09:43 +0000 (00:09 +0000)]
[chromium] Remove transitional #defines from WebKit API headers
https://bugs.webkit.org/show_bug.cgi?id=106381

Patch by James Robinson <jamesr@chromium.org> on 2013-01-08
Reviewed by Adam Barth.

Source/Platform:

* chromium/public/WebGraphicsContext3D.h:

Source/WebKit/chromium:

* public/WebWidget.h:

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

8 years ago[BlackBerry] Removing the totalusage variable in ChromeClientBB::exceededDatabaseQuota
commit-queue@webkit.org [Tue, 8 Jan 2013 23:53:33 +0000 (23:53 +0000)]
[BlackBerry] Removing the totalusage variable in ChromeClientBB::exceededDatabaseQuota
https://bugs.webkit.org/show_bug.cgi?id=106370

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-01-08
Reviewed by Yong Li.

Removing totalUsage in ChromeClientBlackBerry as we no longer use that variable.

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):

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

8 years agoOrganize some svg/gynamic-updates expectations.
dglazkov@chromium.org [Tue, 8 Jan 2013 23:50:27 +0000 (23:50 +0000)]
Organize some svg/gynamic-updates expectations.

* platform/chromium-win-xp/svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr-expected.png: Removed.
* platform/chromium-win-xp/svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop-expected.png: Removed.

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

8 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Tue, 8 Jan 2013 23:42:03 +0000 (23:42 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

8 years ago[Chromium] Layout Tests svg/dynamic-updates/SVGFEComponentTransferElement-svgdom...
dglazkov@chromium.org [Tue, 8 Jan 2013 23:11:08 +0000 (23:11 +0000)]
[Chromium] Layout Tests svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues* are flaky.
https://bugs.webkit.org/show_bug.cgi?id=106390

* platform/chromium/TestExpectations: Adjusted expectations.

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

8 years agoSilence a sandbox violation
andersca@apple.com [Tue, 8 Jan 2013 22:59:13 +0000 (22:59 +0000)]
Silence a sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=106386
<rdar://problem/12976435>

Reviewed by Andreas Kling.

* WebProcess/com.apple.WebProcess.sb.in:

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

8 years agoLayout Tests svg/W3C-SVG-1.1/filters-comptran-01-b.svg and svg/W3C-SVG-1.1/animate...
dglazkov@chromium.org [Tue, 8 Jan 2013 22:57:12 +0000 (22:57 +0000)]
Layout Tests svg/W3C-SVG-1.1/filters-comptran-01-b.svg and svg/W3C-SVG-1.1/animate-elem-80-t.svg are flaky.
https://bugs.webkit.org/show_bug.cgi?id=106387

* platform/chromium/TestExpectations: Marked new flakes.

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

8 years agoSkip the test added by r139062 on WebKit2 bots since it uses a testRunner method
rniwa@webkit.org [Tue, 8 Jan 2013 22:54:09 +0000 (22:54 +0000)]
Skip the test added by r139062 on WebKit2 bots since it uses a testRunner method
that hasn't been implemented yet.

* platform/wk2/TestExpectations:

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

8 years ago[Chromium] Tighten up some test expectations.
dglazkov@chromium.org [Tue, 8 Jan 2013 22:50:14 +0000 (22:50 +0000)]
[Chromium] Tighten up some test expectations.

* platform/chromium/TestExpectations: Tightened.

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

8 years agoThis should be camel case. Must remove to fix.
weinig@apple.com [Tue, 8 Jan 2013 22:16:38 +0000 (22:16 +0000)]
This should be camel case. Must remove to fix.

* OWNERS: Removed.

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

8 years ago[Chromium] A bunch of fast/css-grid-layout tests started timing out after r139025.
dglazkov@chromium.org [Tue, 8 Jan 2013 22:16:14 +0000 (22:16 +0000)]
[Chromium] A bunch of fast/css-grid-layout tests started timing out after r139025.
https://bugs.webkit.org/show_bug.cgi?id=106378

* platform/chromium/TestExpectations: Marked expectations.

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

8 years agoCopy-paste preserves <embed> tags containing active content.
tsepez@chromium.org [Tue, 8 Jan 2013 22:11:02 +0000 (22:11 +0000)]
Copy-paste preserves <embed> tags containing active content.
https://bugs.webkit.org/show_bug.cgi?id=77625

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: editing/pasteboard/paste-noplugin.html

* dom/FragmentScriptingPermission.h:
(WebCore::scriptingContentIsAllowed):
(WebCore::pluginContentIsAllowed):
Add new permission to restrict plugin pasting.  Add inline functions to check
the implications of each permission rather than having a list of raw comparisions
sprinkled throughout the code.

* editing/markup.cpp:
(WebCore::createFragmentFromMarkup):
Revert back to unsafe plugin pasting regardless of caller's intentions when
the settings allow it.

* dom/Element.cpp:
(WebCore::Element::parserSetAttributes):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertScriptElement):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::endElementNs):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseEndElement):
Use new inline functions to check implications of permissions rather than raw
comparisions.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
Check if plugin pasting is allowed before inserting applet/embed/oject elements.

* page/Settings.in:
Declaration of new unsafePluginPastingEnabled setting.

* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::documentFragment):
* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/chromium/DragDataChromium.cpp:
(WebCore::DragData::asFragment):
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::asFragment):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::documentFragment):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::fragmentFromCFHTML):
(WebCore::fragmentFromHTML):
* platform/wx/PasteboardWx.cpp:
(WebCore::Pasteboard::documentFragment):
Pass DisallowScriptingAndPluginContent enum value.

Source/WebKit/chromium:

Adds chromium API to new unsafePluginPastingEnabled setting.

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setUnsafePluginPastingEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

LayoutTests:

* editing/pasteboard/paste-noplugin-expected.txt: Added.
* editing/pasteboard/paste-noplugin.html: Added.

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

8 years ago[Blackberry][FullScreen] Create a helper method to adjust the fullscreen renderer...
zhajiang@rim.com [Tue, 8 Jan 2013 22:03:24 +0000 (22:03 +0000)]
[Blackberry][FullScreen] Create a helper method to adjust the fullscreen renderer dimensions
https://bugs.webkit.org/show_bug.cgi?id=91748

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Antonio Gomes.

PR: 195524
The was originally from Antonio Gomes on PR195524. Bug 105488 has
partially upstreamed that patch. This patch upstreams the rest of it.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
(BlackBerry::WebKit::WebPagePrivate::notifyTransformedScrollChanged):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):

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

8 years agoREGRESSION (r138921): Crash in JSC::Arguments::create
fpizlo@apple.com [Tue, 8 Jan 2013 22:02:04 +0000 (22:02 +0000)]
REGRESSION (r138921): Crash in JSC::Arguments::create
https://bugs.webkit.org/show_bug.cgi?id=106329
<rdar://problem/12974196>

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Arguments::finishCreation() that takes an InlineCallFrame* needs to understand that the callee can
be unset, indicating that the callee needs to be loaded from the true call frame. This adds a
method to InlineCallFrame to do just that.

* bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::calleeForCallFrame):
* bytecode/CodeOrigin.h:
(InlineCallFrame):
* runtime/Arguments.h:
(JSC::Arguments::finishCreation):

LayoutTests:

Reviewed by Mark Hahnenberg.

* fast/js/dfg-create-inlined-arguments-in-closure-inline-expected.txt: Added.
* fast/js/dfg-create-inlined-arguments-in-closure-inline.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-create-inlined-arguments-in-closure-inline.js: Added.
(foo):

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

8 years agoLayout Test http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect...
rniwa@webkit.org [Tue, 8 Jan 2013 21:54:32 +0000 (21:54 +0000)]
Layout Test http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=106332

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-08
Reviewed by Ryosuke Niwa.

Fix this flaky test by adjusting the authentication realm
used in the HTTP headers.

* http/tests/misc/authentication-redirect-4/resources/auth-then-redirect.php: The authentication realm used
in the HTTP headers is shared with several other HTTP tests, so cached credentials can "leak" from one
test to another. Make the authentication realm unique for this test.

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

8 years ago <rdar://problem/12944813> Network process temporary and cache directories...
ap@apple.com [Tue, 8 Jan 2013 21:50:08 +0000 (21:50 +0000)]
    <rdar://problem/12944813> Network process temporary and cache directories are not set correctly

        Reviewed by Sam Weinig.

        Set DIRHELPER_USER_DIR_SUFFIX, like we do for WebProcess. Also while in this function,
        enabled sandbox-style file quarantine.

        * NetworkProcess/mac/NetworkProcessMac.mm:
        (WebKit::NetworkProcess::initializeSandbox):

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

8 years agoWebKit does not reject some cubic-bezier form values for transition-timing-function.
alexis@webkit.org [Tue, 8 Jan 2013 21:44:22 +0000 (21:44 +0000)]
WebKit does not reject some cubic-bezier form values for transition-timing-function.
https://bugs.webkit.org/show_bug.cgi?id=106369

Reviewed by Dean Jackson.

Source/WebCore:

http://www.w3.org/TR/css3-transitions/#transition-timing-function-property
describes restricitions on cubic-bezier values where the x values of
the curve should be between [0, 1] and y values can exceed this range.
WebKit was not following the specification by allowing x values
exceeding the range.
The spec also says that we should reject the defintion if the condition
is not respected which is what the new code does.

Test: transitions/transitions-parsing.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseAnimationTimingFunction):

LayoutTests:

Extended existing tests to cover the bug. Updated an existing test
which was checking wrong values.

* fast/css/transition-timing-function.html: Change the tested values as
they are considered wrong by the spec.
* fast/css/transition-timing-function-expected.txt:

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

8 years ago[Chromium] Tighten up the actual expectations around webaudio fails..
dglazkov@chromium.org [Tue, 8 Jan 2013 21:37:14 +0000 (21:37 +0000)]
[Chromium] Tighten up the actual expectations around webaudio fails..
https://bugs.webkit.org/show_bug.cgi?id=106232

* platform/chromium/TestExpectations: Tightened.

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

8 years ago[Chromium] Update expectations for platform/chromium/fast/events/touch/compositor...
dglazkov@chromium.org [Tue, 8 Jan 2013 21:33:51 +0000 (21:33 +0000)]
[Chromium] Update expectations for platform/chromium/fast/events/touch/compositor-touch-hit-rects.html.

* platform/chromium-win-xp/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Removed.
* platform/chromium-win/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt:

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

8 years agoUpdate expectations for various tests.
dglazkov@chromium.org [Tue, 8 Jan 2013 21:25:45 +0000 (21:25 +0000)]
Update expectations for various tests.

* platform/chromium-win-xp/fast/table/038-vertical-expected.png: Removed.
* platform/chromium-win-xp/fast/table/border-collapsing/004-vertical-expected.png: Removed.
* platform/chromium-win/fast/ruby/base-shorter-than-text-expected.txt:
* platform/chromium-win/fast/table/038-vertical-expected.png:
* platform/chromium-win/fast/table/border-collapsing/004-vertical-expected.png:

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

8 years ago[webkitpy] Call setup_test_run method of the parent Port interface when method is...
zandobersek@gmail.com [Tue, 8 Jan 2013 21:25:28 +0000 (21:25 +0000)]
[webkitpy] Call setup_test_run method of the parent Port interface when method is called on subclasses
https://bugs.webkit.org/show_bug.cgi?id=106364

Reviewed by Eric Seidel.

When the setup_test_run method is called on the subclasses of the base Port
interface, the parent method should also be called via super(), despite the
parent method not doing anything at the moment.

The according calls to super() are required in the ChromiumPort, EflPort
and GtkPort implementations.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.setup_test_run):
* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort.setup_test_run):
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort.setup_test_run):

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

8 years agoUse correct capitalization in service name
andersca@apple.com [Tue, 8 Jan 2013 21:11:03 +0000 (21:11 +0000)]
Use correct capitalization in service name
https://bugs.webkit.org/show_bug.cgi?id=106368

Reviewed by Andreas Kling.

* WebProcess/com.apple.WebProcess.sb.in:

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

8 years agoHeap-use-after-free in bool WebCore::SelectorChecker::checkOneSelector.
akling@apple.com [Tue, 8 Jan 2013 21:08:15 +0000 (21:08 +0000)]
Heap-use-after-free in bool WebCore::SelectorChecker::checkOneSelector.
<http://webkit.org/b/105834>

Reviewed by Antti Koivisto.

Source/WebCore:

Suppress the DOMSubtreeModified event when synchronizing the "style" attribute and we've
instantiated an Attr node wrapper for the said attribute.

Also added an assertion that Document's StyleResolver isn't cleared during style recalc,
which will help us catch this kind of bug in the future.

Test: fast/dom/mutation-event-listener-with-dirty-inline-style-crash.html

* dom/Document.cpp:
(WebCore::Document::styleResolverThrowawayTimerFired):
* dom/Element.cpp:
(WebCore::Element::setAttributeInternal):

LayoutTests:

* fast/dom/mutation-event-listener-with-dirty-inline-style-crash-expected.txt: Added.
* fast/dom/mutation-event-listener-with-dirty-inline-style-crash.html: Added.

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

8 years agoUnreviewed, rolling out r139096.
commit-queue@webkit.org [Tue, 8 Jan 2013 21:04:55 +0000 (21:04 +0000)]
Unreviewed, rolling out r139096.
http://trac.webkit.org/changeset/139096
https://bugs.webkit.org/show_bug.cgi?id=106367

not a complete fix (Requested by bweinstein on #webkit).

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

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot):

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

8 years agoDFG initrinsic handling should ensure that we backwards propagate the fact that all...
fpizlo@apple.com [Tue, 8 Jan 2013 20:54:15 +0000 (20:54 +0000)]
DFG initrinsic handling should ensure that we backwards propagate the fact that all operands may escape
https://bugs.webkit.org/show_bug.cgi?id=106365

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Use the fact that Phantom means that things escaped, and just insert Phantoms for all
of the operands.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall):

LayoutTests:

Reviewed by Mark Hahnenberg.

Add tests that cover the possible badness that could occur for all of those
intrinsics that don't intrinsically (pun sort of intended) cause escapeage
to happen. As in, if we did happen to know for sure that what we want is
ArithSqrt, then we would have a guarantee that ArithSqrt does not by itself
use its operands in a way that involves NodeUsedAsOther. But when ArithSqrt
is inserted because of intrinsic optimization (i.e. something like
Math.sqrt(blah)) then the intrinsic machinery needs to indicate that blah
could escape in the case that we didn't end up doing ArithSqrt because we
exited prior to it and called some other function.

* fast/js/dfg-abs-backwards-propagation-expected.txt: Added.
* fast/js/dfg-abs-backwards-propagation.html: Added.
* fast/js/dfg-max-backwards-propagation-expected.txt: Added.
* fast/js/dfg-max-backwards-propagation.html: Added.
* fast/js/dfg-min-backwards-propagation-expected.txt: Added.
* fast/js/dfg-min-backwards-propagation.html: Added.
* fast/js/dfg-proven-sqrt-backwards-propagation-expected.txt: Added.
* fast/js/dfg-proven-sqrt-backwards-propagation.html: Added.
* fast/js/dfg-sqrt-backwards-propagation-expected.txt: Added.
* fast/js/dfg-sqrt-backwards-propagation.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-abs-backwards-propagation.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-max-backwards-propagation.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-min-backwards-propagation.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-proven-sqrt-backwards-propagation.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-sqrt-backwards-propagation.js: Added.
(foo):
(bar):

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

8 years agoDashboard cleanup: Remove globals g_buildersThatFailedToLoad and g_staleBuilders
jparent@chromium.org [Tue, 8 Jan 2013 20:33:08 +0000 (20:33 +0000)]
Dashboard cleanup: Remove globals g_buildersThatFailedToLoad and g_staleBuilders
https://bugs.webkit.org/show_bug.cgi?id=106356

g_buildersThatFailedToLoad and g_staleBuilders were globals defined in
dashboard_base, assigned by Loader, and used only by dashboard_base to
create error messages.  Moved the variables to be privates on the Loader
object, moved error message creation to _getLoadingErrorMessages on the
Loader object, and now pass the errors back to dashboard base via the
resourceLoadingComplete callback.

Also removed the now unused clearError function, it was only being used
by unit tests to clean up global state.

Reviewed by Dirk Pranke.

* TestResultServer/static-dashboards/dashboard_base.js:
(resourceLoadingComplete):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
* TestResultServer/static-dashboards/loader.js:
(.):
* TestResultServer/static-dashboards/loader_unittests.js:

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

8 years agoPlug-ins shouldn’t be added to list to autostart if you start a plugin in private...
bweinstein@apple.com [Tue, 8 Jan 2013 20:31:37 +0000 (20:31 +0000)]
Plug-ins shouldn’t be added to list to autostart if you start a plugin in private browsing.
https://bugs.webkit.org/show_bug.cgi?id=106348
<rdar://problem/12968442>

Reviewed by Anders Carlsson.

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Don't call addAutoStartOrigin if we are
    in private browsing mode.

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

8 years ago[EFL][GTK] Make the PulseAudioSanitizer an object on the EflPort, GtkPort
zandobersek@gmail.com [Tue, 8 Jan 2013 20:23:47 +0000 (20:23 +0000)]
[EFL][GTK] Make the PulseAudioSanitizer an object on the EflPort, GtkPort
https://bugs.webkit.org/show_bug.cgi?id=106354

Reviewed by Eric Seidel.

Put the PulseAudioSanitizer object on the EflPort and GtkPort interfaces
instead of those two inheriting from it. Also add a mock object of the
sanitizer that's used in unit tests.

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort):
(EflPort.__init__):
(EflPort.setup_test_run):
(EflPort.clean_up_test_run):
* Scripts/webkitpy/layout_tests/port/efl_unittest.py: Also correct the
importing order.
(EflPortTest.make_port): Put a mock PulseAudioSanitizer on the instance.
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort):
(GtkPort.__init__):
(GtkPort.setup_test_run):
(GtkPort.clean_up_test_run):
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py: Also correct the
importing order.
(GtkPortTest.make_port): Put a mock PulseAudioSanitizer on the instance.
* Scripts/webkitpy/layout_tests/port/pulseaudio_sanitizer.py:
(PulseAudioSanitizer.unload_pulseaudio_module): Stylize the method as public.
(PulseAudioSanitizer.restore_pulseaudio_module): Ditto.
* Scripts/webkitpy/layout_tests/port/pulseaudio_sanitizer_mock.py: Added.
(PulseAudioSanitizerMock): A simple mock interface for PulseAudioSanitizer.
(PulseAudioSanitizerMock.unload_pulseaudio_module):
(PulseAudioSanitizerMock.restore_pulseaudio_module):

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

8 years agoIf array allocation profiling causes a new_array to allocate double arrays, then...
fpizlo@apple.com [Tue, 8 Jan 2013 20:21:36 +0000 (20:21 +0000)]
If array allocation profiling causes a new_array to allocate double arrays, then the holes should end up being correctly initialized
https://bugs.webkit.org/show_bug.cgi?id=106363

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* runtime/JSArray.h:
(JSC::JSArray::tryCreateUninitialized):

LayoutTests:

* fast/js/jsc-test-list:
* fast/js/new-array-double-with-holes-expected.txt: Added.
* fast/js/new-array-double-with-holes.html: Added.
* fast/js/script-tests/new-array-double-with-holes.js: Added.
(foo):

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

8 years agoTweak sandbox profile
andersca@apple.com [Tue, 8 Jan 2013 20:12:49 +0000 (20:12 +0000)]
Tweak sandbox profile
https://bugs.webkit.org/show_bug.cgi?id=106362
<rdar://problem/12884745>

Reviewed by Sam Weinig.

* WebProcess/com.apple.WebProcess.sb.in:
Allow access to com.apple.CoreServices.launchservicesd.

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

8 years agoAdd a crashing test expectation to a test added in r139029.
rniwa@webkit.org [Tue, 8 Jan 2013 20:05:43 +0000 (20:05 +0000)]
Add a crashing test expectation to a test added in r139029.
The failure is tracked by the bug 106361.

* platform/mac/TestExpectations:

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

8 years agoAX: native popup buttons should not use textUnderElement for their title
cfleizach@apple.com [Tue, 8 Jan 2013 19:52:53 +0000 (19:52 +0000)]
AX: native popup buttons should not use textUnderElement for their title
https://bugs.webkit.org/show_bug.cgi?id=106349

Reviewed by Ryosuke Niwa.

Native popup buttons (<select> elements) were calculating its title based on the text
under the element. When Bug 103794 introduced a more complete way of getting render text,
it causes popup buttons to start returning a title.
The fix is that we should not be calculating a title for a native popup button from its children.

Existing tests cover this functionality. This will fix a failing test.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::visibleText):

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

8 years ago[chromium] move dumpFrameLoadCallbacks and friends to the TestRunner library
jochen@chromium.org [Tue, 8 Jan 2013 19:49:34 +0000 (19:49 +0000)]
[chromium] move dumpFrameLoadCallbacks and friends to the TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=106324

Reviewed by Adam Barth.

Since the frame load callbacks are part of the WebFrameClient, the
WebTestProxy is now intercepting both WebViewClient and WebFrameClient
methods.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestInterfaces.h:
(WebTestInterfaces):
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebKit):
(WebTestProxyBase):
(WebTestRunner):
(WebTestRunner::WebTestProxy::WebTestProxy):
(WebTestProxy):
(WebTestRunner::WebTestProxy::didInvalidateRect):
(WebTestRunner::WebTestProxy::didScrollRect):
(WebTestRunner::WebTestProxy::scheduleComposite):
(WebTestRunner::WebTestProxy::scheduleAnimation):
(WebTestRunner::WebTestProxy::setWindowRect):
(WebTestRunner::WebTestProxy::show):
(WebTestRunner::WebTestProxy::didAutoResize):
(WebTestRunner::WebTestProxy::postAccessibilityNotification):
(WebTestRunner::WebTestProxy::startDragging):
(WebTestRunner::WebTestProxy::shouldBeginEditing):
(WebTestRunner::WebTestProxy::shouldEndEditing):
(WebTestRunner::WebTestProxy::shouldInsertNode):
(WebTestRunner::WebTestProxy::shouldInsertText):
(WebTestRunner::WebTestProxy::shouldChangeSelectedRange):
(WebTestRunner::WebTestProxy::shouldDeleteRange):
(WebTestRunner::WebTestProxy::shouldApplyStyle):
(WebTestRunner::WebTestProxy::didBeginEditing):
(WebTestRunner::WebTestProxy::didChangeSelection):
(WebTestRunner::WebTestProxy::didChangeContents):
(WebTestRunner::WebTestProxy::didEndEditing):
(WebTestRunner::WebTestProxy::registerIntentService):
(WebTestRunner::WebTestProxy::dispatchIntent):
(WebTestRunner::WebTestProxy::willPerformClientRedirect):
(WebTestRunner::WebTestProxy::didCancelClientRedirect):
(WebTestRunner::WebTestProxy::didStartProvisionalLoad):
(WebTestRunner::WebTestProxy::didReceiveServerRedirectForProvisionalLoad):
(WebTestRunner::WebTestProxy::didFailProvisionalLoad):
(WebTestRunner::WebTestProxy::didCommitProvisionalLoad):
(WebTestRunner::WebTestProxy::didReceiveTitle):
(WebTestRunner::WebTestProxy::didFinishDocumentLoad):
(WebTestRunner::WebTestProxy::didHandleOnloadEvents):
(WebTestRunner::WebTestProxy::didFailLoad):
(WebTestRunner::WebTestProxy::didFinishLoad):
(WebTestRunner::WebTestProxy::didChangeLocationWithinPage):
(WebTestRunner::WebTestProxy::didDisplayInsecureContent):
(WebTestRunner::WebTestProxy::didRunInsecureContent):
(WebTestRunner::WebTestProxy::didDetectXSS):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::setTestIsRunning):
(WebTestRunner::WebTestRunner::shouldDumpFrameLoadCallbacks):
(WebTestRunner::WebTestRunner::setShouldDumpFrameLoadCallbacks):
(WebTestRunner::WebTestRunner::shouldDumpUserGestureInFrameLoadCallbacks):
(WebTestRunner::WebTestRunner::stopProvisionalFrameLoads):
(WebTestRunner::WebTestRunner::shouldDumpTitleChanges):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::setTestIsRunning):
(WebTestRunner):
(WebTestRunner::TestRunner::shouldDumpFrameLoadCallbacks):
(WebTestRunner::TestRunner::setShouldDumpFrameLoadCallbacks):
(WebTestRunner::TestRunner::shouldDumpUserGestureInFrameLoadCallbacks):
(WebTestRunner::TestRunner::stopProvisionalFrameLoads):
(WebTestRunner::TestRunner::shouldDumpTitleChanges):
(WebTestRunner::TestRunner::dumpFrameLoadCallbacks):
(WebTestRunner::TestRunner::dumpUserGestureInFrameLoadCallbacks):
(WebTestRunner::TestRunner::setStopProvisionalFrameLoads):
(WebTestRunner::TestRunner::dumpTitleChanges):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:
(WebTestInterfaces::Internal):
(WebTestRunner::WebTestInterfaces::Internal::webView):
(WebTestRunner::WebTestInterfaces::Internal::Internal):
(WebTestRunner::WebTestInterfaces::Internal::setWebView):
(WebTestRunner):
(WebTestRunner::WebTestInterfaces::Internal::setTestIsRunning):
(WebTestRunner::WebTestInterfaces::setWebView):
(WebTestRunner::WebTestInterfaces::setTestIsRunning):
(WebTestRunner::WebTestInterfaces::webView):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::willPerformClientRedirect):
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::didCancelClientRedirect):
(WebTestRunner::WebTestProxyBase::didStartProvisionalLoad):
(WebTestRunner::WebTestProxyBase::didReceiveServerRedirectForProvisionalLoad):
(WebTestRunner::WebTestProxyBase::didFailProvisionalLoad):
(WebTestRunner::WebTestProxyBase::didCommitProvisionalLoad):
(WebTestRunner::WebTestProxyBase::didReceiveTitle):
(WebTestRunner::WebTestProxyBase::didFinishDocumentLoad):
(WebTestRunner::WebTestProxyBase::didHandleOnloadEvents):
(WebTestRunner::WebTestProxyBase::didFailLoad):
(WebTestRunner::WebTestProxyBase::didFinishLoad):
(WebTestRunner::WebTestProxyBase::didChangeLocationWithinPage):
(WebTestRunner::WebTestProxyBase::didDisplayInsecureContent):
(WebTestRunner::WebTestProxyBase::didRunInsecureContent):
(WebTestRunner::WebTestProxyBase::didDetectXSS):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::runFileTest):
(TestShell::testFinished):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::didStartProvisionalLoad):
(WebViewHost::didReceiveServerRedirectForProvisionalLoad):
(WebViewHost::didFailProvisionalLoad):
(WebViewHost::didCommitProvisionalLoad):
(WebViewHost::didReceiveTitle):
(WebViewHost::didFailLoad):
(WebViewHost::didFinishLoad):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

8 years agotext controls are sized too small when a percentage height is set
ojan@chromium.org [Tue, 8 Jan 2013 19:40:40 +0000 (19:40 +0000)]
text controls are sized too small when a percentage height is set
https://bugs.webkit.org/show_bug.cgi?id=106277

Reviewed by Tony Chang.

Source/WebCore:

This makes our behavior match Firefox 17, IE 9 and Opera 12.
The current logic came from http://trac.webkit.org/changeset/13723,
which itself was copy-pasted from RenderReplaced and no longer has this clause..

Test: fast/forms/percent-height-auto-width-form-controls.html

* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::computePreferredLogicalWidths):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::computePreferredLogicalWidths):
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::computePreferredLogicalWidths):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computePreferredLogicalWidths):

LayoutTests:

* fast/forms/percent-height-auto-width-form-controls-expected.txt: Added.
* fast/forms/percent-height-auto-width-form-controls.html: Added.

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

8 years ago[GTK] Lower the default timeout value for WebKitTestRunner
zandobersek@gmail.com [Tue, 8 Jan 2013 19:35:54 +0000 (19:35 +0000)]
[GTK] Lower the default timeout value for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=106353

Reviewed by Dirk Pranke.

The default timeout value for WebKitTestRunner should be lowered.
The current value (80 seconds) is irrational and just leads to producing
text failures for layout tests that genuinely time out. This just leads
to more deviation from the GTK WK1 port in terms of test expectations.

The value used is the same as when running the DumpRenderTree, that's
6 seconds in release builds and 12 seconds in debug builds.

* Scripts/webkitpy/layout_tests/port/gtk.py:
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
(GtkPortTest.test_default_timeout_ms):

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

8 years ago[Chromium] Modify Android's user agent CSS to not set a border-radius on select elements
peter@chromium.org [Tue, 8 Jan 2013 19:28:34 +0000 (19:28 +0000)]
[Chromium] Modify Android's user agent CSS to not set a border-radius on select elements
https://bugs.webkit.org/show_bug.cgi?id=106327

Reviewed by Adam Barth.

Android's user agent CSS overrides the style applied to <select>
elements with a @size or @multiple attribute, and then applies
(among other things) a border-radius of 5 pixels. While select
elements with a larger size or multiple selection should appear
as drop-down boxes for now, setting the border radius causes
Chromium to skip rendering the background and border, making
them hard to read when the page relies on the default styling.

This is covered by existing pixel tests.

* css/themeChromiumAndroid.css:
(select[size][multiple]):

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

8 years agoAdd OWNERS file.
weinig@apple.com [Tue, 8 Jan 2013 19:27:30 +0000 (19:27 +0000)]
Add OWNERS file.

* OWNERS: Added.

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

8 years agoCSP: 'none' should take effect only if no other source expression is present.
mkwst@chromium.org [Tue, 8 Jan 2013 19:22:00 +0000 (19:22 +0000)]
CSP: 'none' should take effect only if no other source expression is present.
https://bugs.webkit.org/show_bug.cgi?id=106314

Reviewed by Adam Barth.

Source/WebCore:

WebKit's handling of 'none' in Content Security Policy source lists
doesn't quite match the spec. Currently, we're treating any source list
that contains 'none' as its first token as an empty list. That is:
"script-src 'none'" is handled in the same way as
"script-src 'none' example.com". Based on a bit of public-webappsec@
discussion[1], the behavior we actually want should treat the first as
an empty list, while treating the second as "script-src example.com". In
other words, 'none' in a source list is a no-op, unless it is the _only_
item in the source list.

This patch adjusts our parsing behavior accordingly, and tweaks the
console log we emit for invalid source expressions to warn specifically
about this case.

[1]: http://lists.w3.org/Archives/Public/public-webappsec/2013Jan/0006.html

Test: http/tests/security/contentSecurityPolicy/source-list-parsing-none.html

* page/ContentSecurityPolicy.cpp:
(WebCore::isSourceListNone):
    A new static method that returns true when given a string that
    contains only 'none' (potentially surrounded by whitespace), and
    false otherwise.
(WebCore):
(WebCore::CSPSourceList::parse):
    Move the 'none' check into the initial layer of parsing, which means
    that we can drop the 'isFirstSourceInList' check entirely.
(WebCore::CSPSourceList::parseSource):
    Since we've already checked for 'none' in ::parse, we can at this
    point safely treat any occurance of 'none' in the source list as an
    invalid expression.
(WebCore::ContentSecurityPolicy::reportInvalidSourceExpression):
    If the invalid expression is 'none', add a clarification to the
    console message, noting that 'none' only has effect when it's all
    alone.

LayoutTests:

* http/tests/security/contentSecurityPolicy/source-list-parsing-none-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/source-list-parsing-none.html: Added.

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

8 years agotest-webkitpy shows failure output on my linux box
zandobersek@gmail.com [Tue, 8 Jan 2013 19:19:37 +0000 (19:19 +0000)]
test-webkitpy shows failure output on my linux box
https://bugs.webkit.org/show_bug.cgi?id=101261

Reviewed by Eric Seidel.

Mock out the PulseAudioSanitizer methods when creating testing instances
of EflPort and GtkPort interfaces in unit tests. This stops throwing up
PulseAudio output when the sanitizer was trying to unload modules which
were already unloaded by another unit test that was being run in parallel.

* Scripts/webkitpy/layout_tests/port/efl_unittest.py:
(EflPortTest):
(EflPortTest.make_port):
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
(GtkPortTest):
(GtkPortTest.make_port):

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

8 years agoAdded OpaqueRegionSkia::currentTrackingOpaqueRect
alokp@chromium.org [Tue, 8 Jan 2013 19:15:56 +0000 (19:15 +0000)]
Added OpaqueRegionSkia::currentTrackingOpaqueRect

[chromium] Add OpaqueRegionSkia::currentTrackingOpaqueRect
https://bugs.webkit.org/show_bug.cgi?id=106267

Reviewed by Stephen White.

No new tests needed. No change in functionality.

* platform/graphics/skia/OpaqueRegionSkia.cpp:
(WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
(WebCore::OpaqueRegionSkia::markRectAsOpaque):
(WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
(WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
(WebCore::OpaqueRegionSkia::currentTrackingOpaqueRect):
(WebCore):
* platform/graphics/skia/OpaqueRegionSkia.h:
(OpaqueRegionSkia):

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

8 years agoDashboard Cleanup: Remove g_hasDoneInitialPageGeneration
jparent@chromium.org [Tue, 8 Jan 2013 19:00:33 +0000 (19:00 +0000)]
Dashboard Cleanup: Remove g_hasDoneInitialPageGeneration
https://bugs.webkit.org/show_bug.cgi?id=106254

Remove the global variable g_hasDoneInitialPageGeneration.  It was used
only to figure out if we should call addBuilderLoadErrors during
handleLocationChange, which was called when the loader completed and on
any hash change, but we only ever wanted to call addBuilderLoadErrors
on the initial loader load.  Moved the call of addBuilderLoadErrors to
resourceLoadingComplete rather than handleLocationChange, so now we
only call it when we want to, and the check can go away completely.

Reviewed by Dirk Pranke.

* TestResultServer/static-dashboards/dashboard_base.js:
(addBuilderLoadErrors):
(resourceLoadingComplete):
(handleLocationChange):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

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

8 years ago[GTK] Build failures when building with python 3.3
zandobersek@gmail.com [Tue, 8 Jan 2013 18:54:35 +0000 (18:54 +0000)]
[GTK] Build failures when building with python 3.3
https://bugs.webkit.org/show_bug.cgi?id=106194

Reviewed by Dirk Pranke.

Python 3.3 introduced changes to dictionaries which can result in changed
iteration order. More about these changes:
http://docs.python.org/3.3/whatsnew/3.3.html#pep-412-key-sharing-dictionary
http://www.python.org/dev/peps/pep-0412/#cons

This causes the Source/WebCore/inspector/generate-inspector-protocol-version
script to fail the self-testing when using Python 3.3. These changes work
around this problem by not checking for expected errors in order but rather
for their presence in the error output sequence. The number of actual errors
is also checked to be equal to the number of expected errors.

No new tests - no new functionality.

* inspector/generate-inspector-protocol-version:
(self_test):

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

8 years ago<track> element's mode set to "disabled" after load although it was explicitly set...
commit-queue@webkit.org [Tue, 8 Jan 2013 18:49:48 +0000 (18:49 +0000)]
<track> element's mode set to "disabled" after load although it was explicitly set to "hidden"
https://bugs.webkit.org/show_bug.cgi?id=105536

Source/WebCore:

Remove all concept of "showing by default". This means removing the showingByDefault()
and setShowingByDefault() methods on TextTrack. As I was going  through this code,
I also noticed that in HTMLMediaElement::configureTextTrackGroup(), we would set
defaultTrack to textTrack.get() even though defaultTrack was created to be a RefPtr<TextTrack>.

As a result, we can now pass an additional 8 tests from the Opera-submitted test suite:

LayoutTests/media/track/opera/interfaces/TextTrack/addCue.html
LayoutTests/media/track/opera/interfaces/TextTrack/removeCue.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/endTime.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/startTime.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/align.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/id.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/pauseOnExit.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/track.html

Patch by Antoine Quint <graouts@apple.com> on 2013-01-08
Reviewed by Eric Carlson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::configureTextTrackGroup):
(WebCore::HTMLMediaElement::toggleTrackAtIndex):
* html/track/TextTrack.cpp:
(WebCore::TextTrack::TextTrack):
(WebCore::TextTrack::setMode):
(WebCore::TextTrack::isRendered):
* html/track/TextTrack.h:
(WebCore::TextTrack::mode):
(TextTrack):

LayoutTests:

Patch by Antoine Quint <graouts@apple.com> on 2013-01-08
Reviewed by Eric Carlson.

* media/track/opera/interfaces/TextTrack/addCue-expected.txt:
* media/track/opera/interfaces/TextTrack/removeCue-expected.txt: Added.
* media/track/opera/interfaces/TextTrackCue/align-expected.txt: Added.
* media/track/opera/interfaces/TextTrackCue/endTime-expected.txt:
* media/track/opera/interfaces/TextTrackCue/id-expected.txt: Added.
* media/track/opera/interfaces/TextTrackCue/pauseOnExit-expected.txt: Added.
* media/track/opera/interfaces/TextTrackCue/startTime-expected.txt:
* media/track/opera/interfaces/TextTrackCue/track-expected.txt: Added.
* platform/chromium/TestExpectations: Skipping newly failing test on Chrome.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 8 Jan 2013 18:47:58 +0000 (18:47 +0000)]
Unreviewed GTK gardening.

Unifying accessibility layout test failure expectations in the WK2
TestExpectations file, with each expectation given an appropriate bug modifier.
Removing three failure expectations for transitions tests that are now passing
on WK2.

* platform/gtk-wk2/TestExpectations:

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

8 years agoRemoved the need for the ProposedDatabase mechanism.
mark.lam@apple.com [Tue, 8 Jan 2013 18:47:28 +0000 (18:47 +0000)]
Removed the need for the ProposedDatabase mechanism.
https://bugs.webkit.org/show_bug.cgi?id=106292.

Reviewed by Sam Weinig.

Source/WebCore:

No new tests.

* Modules/webdatabase/AbstractDatabase.cpp:
(WebCore::AbstractDatabase::details):
(WebCore):
* Modules/webdatabase/AbstractDatabase.h:
(AbstractDatabase):
* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::databaseExceededQuota):
* Modules/webdatabase/DatabaseContext.h:
(DatabaseContext):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
* Modules/webdatabase/DatabaseTracker.h:
(DatabaseTracker):
* Modules/webdatabase/SQLTransactionClient.cpp:
(WebCore::SQLTransactionClient::didExceedQuota):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::exceededDatabaseQuota):
* page/ChromeClient.h:
(ChromeClient):

Source/WebKit/blackberry:

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::exceededDatabaseQuota):
* src/ChromeClientImpl.h:
(ChromeClientImpl):

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::exceededDatabaseQuota):
* WebCoreSupport/ChromeClientEfl.h:
(ChromeClientEfl):

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::exceededDatabaseQuota):
* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):

Source/WebKit/mac:

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

Source/WebKit/qt:

* WebCoreSupport/ChromeClientQt.cpp:
* WebCoreSupport/ChromeClientQt.h:
(ChromeClientQt):

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::exceededDatabaseQuota):
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

Source/WebKit/wince:

* WebCoreSupport/ChromeClientWinCE.cpp:
(WebKit::ChromeClientWinCE::exceededDatabaseQuota):
* WebCoreSupport/ChromeClientWinCE.h:
(ChromeClientWinCE):

Source/WebKit/wx:

* WebKitSupport/ChromeClientWx.cpp:
(WebCore::ChromeClientWx::exceededDatabaseQuota):
* WebKitSupport/ChromeClientWx.h:
(ChromeClientWx):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exceededDatabaseQuota):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

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

8 years agoAX: PopUpButtons do not report that AXValueAttribute is supported
cfleizach@apple.com [Tue, 8 Jan 2013 18:40:12 +0000 (18:40 +0000)]
AX: PopUpButtons do not report that AXValueAttribute is supported
https://bugs.webkit.org/show_bug.cgi?id=106333

Reviewed by Ryosuke Niwa.

Source/WebCore:

The Mac platform expects that AXPopUpButton's expose the AXValue attribute.

Test: platform/mac/accessibility/popup-button-exposes-axvalue.html

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isPopUpButton):
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):

LayoutTests:

* platform/mac/accessibility/popup-button-exposes-axvalue-expected.txt: Added.
* platform/mac/accessibility/popup-button-exposes-axvalue.html: Added.

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

8 years agoRemove dead Connection members in ChildProcess subclasses (and their users)
weinig@apple.com [Tue, 8 Jan 2013 18:34:38 +0000 (18:34 +0000)]
Remove dead Connection members in ChildProcess subclasses (and their users)
https://bugs.webkit.org/show_bug.cgi?id=106347
<rdar://problem/12973955>

Reviewed by Alexey Proskuryakov.

This also fixes a crash when entering fullscreen with a plug-in.

* PluginProcess/PluginProcess.h:
Remove dead m_connection member.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::setModalWindowIsShowing):
(WebKit::PluginProcess::setFullscreenWindowIsShowing):
Replace use of m_connection, which is dead, with parentProcessConnection().

* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
Remove dead m_connection member.

* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::createWebProcessConnection):
Replace use of m_connection, which is dead, with parentProcessConnection().

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

8 years agoAdd aboxhall@chromium.org to accessibility watchlist.
dmazzoni@google.com [Tue, 8 Jan 2013 18:17:04 +0000 (18:17 +0000)]
Add aboxhall@chromium.org to accessibility watchlist.

Unreviewed.

* Scripts/webkitpy/common/config/watchlist:

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

8 years agoUpdate expectations for fast/text/justify-ideograph*.
dglazkov@chromium.org [Tue, 8 Jan 2013 18:15:55 +0000 (18:15 +0000)]
Update expectations for fast/text/justify-ideograph*.

* platform/chromium-linux-x86/fast/text/justify-ideograph-vertical-expected.txt: Added.
* platform/chromium-linux/fast/text/justify-ideograph-vertical-expected.png: Added.
* platform/chromium-linux/fast/text/justify-ideograph-vertical-expected.txt: Added.
* platform/chromium-mac-lion/fast/text/justify-ideograph-simple-expected.png:
* platform/chromium-mac-lion/fast/text/justify-ideograph-vertical-expected.png:
* platform/chromium-mac-snowleopard/fast/text/justify-ideograph-simple-expected.png:
* platform/chromium-mac-snowleopard/fast/text/justify-ideograph-vertical-expected.png:
* platform/chromium-mac/fast/text/justify-ideograph-simple-expected.png:
* platform/chromium-mac/fast/text/justify-ideograph-vertical-expected.png:

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

8 years agoUpdate expectations for webaudio/realtimeanalyser-fft-sizing.html.
dglazkov@chromium.org [Tue, 8 Jan 2013 18:14:37 +0000 (18:14 +0000)]
Update expectations for webaudio/realtimeanalyser-fft-sizing.html.

* platform/chromium-linux/webaudio/realtimeanalyser-fft-sizing-expected.txt: Added.

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

8 years ago[Chromium] context-creation-and-destruction.html is slow and flaky.
dglazkov@chromium.org [Tue, 8 Jan 2013 18:13:19 +0000 (18:13 +0000)]
[Chromium] context-creation-and-destruction.html is slow and flaky.
https://bugs.webkit.org/show_bug.cgi?id=92287

* platform/chromium/TestExpectations: Adjusted expectations.

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

8 years agoTools: Add Apache 2.4 support for Fedora 18
danw@gnome.org [Tue, 8 Jan 2013 18:10:07 +0000 (18:10 +0000)]
Tools: Add Apache 2.4 support for Fedora 18
https://bugs.webkit.org/show_bug.cgi?id=104478

Reviewed by Martin Robinson.

Apache 2.4's httpd.conf is slightly incompatible with 2.2's, so we
need a separate config.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port._apache_version):
(Port._apache_config_file_name_for_platform):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
* Scripts/run-webkit-httpd:
* Scripts/webkitperl/httpd.pm:
(getApacheVersion):
(getDefaultConfigForTestDirectory):
(getHTTPDConfigPathForTestDirectory):

LayoutTests: Updates for Apache 2.4
https://bugs.webkit.org/show_bug.cgi?id=104478

Reviewed by Martin Robinson.

Apache 2.4 requires a slightly different config from 2.2, so split
fedora-httpd.conf into separate 2.2 and 2.4 versions.

2.4 is also more picky about passing request headers to CGI
scripts, and will ignore headers that aren't valid according to
the HTTP grammar, so change underscores to hyphens to fix them.

* http/conf/fedora-httpd-2.2.conf: Renamed from
LayoutTests/http/conf/fedora-httpd.conf.
* http/conf/fedora-httpd-2.4.conf: Based on
LayoutTests/http/conf/fedora-httpd.conf and updated for 2.4.
* http/tests/cookies/resources/cookies-test-pre.js:
(setCookies):
(clearCookies):
* http/tests/navigation/ping-cookie.html:
* http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html:

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

8 years agotransition-delay and transition-duration return incorrect values when querying using...
alexis@webkit.org [Tue, 8 Jan 2013 18:08:02 +0000 (18:08 +0000)]
transition-delay and transition-duration return incorrect values when querying using the computed style.
https://bugs.webkit.org/show_bug.cgi?id=105432

Reviewed by Dean Jackson.

Source/WebCore:

When setting the transition-delay to 10ms for example the value of transition-delay
on the computed style was incorrect, it should return 0.01s but it was
returning something like 0.0099999999...s. In fact the bug was after
the parsing step when creating the Animation object where a conversion
from a double to float was done. This conversion is not needed as the
animation class expects double for delay and transition times.

Test: transitions/transitions-parsing.html

* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDuration):

LayoutTests:

Uncomment existing tests to cover the bug.

* transitions/transitions-parsing-expected.txt:
* transitions/transitions-parsing.html:

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

8 years ago[Chromium] Tweak expectations for random-array-gc-stress.html to reflect reality.
dglazkov@chromium.org [Tue, 8 Jan 2013 18:06:28 +0000 (18:06 +0000)]
[Chromium] Tweak expectations for random-array-gc-stress.html to reflect reality.
https://bugs.webkit.org/show_bug.cgi?id=84802

* platform/chromium/TestExpectations: Tweaked expectations.

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

8 years agoDFG should backwards-propagate NodeUsedAsValue for Phantom
fpizlo@apple.com [Tue, 8 Jan 2013 17:56:22 +0000 (17:56 +0000)]
DFG should backwards-propagate NodeUsedAsValue for Phantom
https://bugs.webkit.org/show_bug.cgi?id=106299

Reviewed by Mark Hahnenberg.

This is currently benign because Phantom is only inserted by the bytecode parser for
things that already happen to be used in contexts that backwards propagate
NodeUsedAsValue. But that doesn't change the fact that the semantics of Phantom are
that the value can be arbitrarily used by the baseline JIT.

* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):

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

8 years ago[Chromium] Skip http/tests/misc/authentication-redirect-4/authentication-sent-to...
dglazkov@chromium.org [Tue, 8 Jan 2013 17:51:48 +0000 (17:51 +0000)]
[Chromium] Skip http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html, because
it's been timing out since it was added.
https://bugs.webkit.org/show_bug.cgi?id=106332

* platform/chromium/TestExpectations: Adjusted expectations.

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

8 years ago [WK2] NetworkProcess should have a Keychain shim
ap@apple.com [Tue, 8 Jan 2013 17:50:51 +0000 (17:50 +0000)]
    [WK2] NetworkProcess should have a Keychain shim
        https://bugs.webkit.org/show_bug.cgi?id=106286

        Reviewed by Sam Weinig.

        Renamed WebProcessShim to SecItemShim. Use it with NetworkProcess, too.

        * WebProcess/mac/SecItemShimLibrary.h: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.h.
        * WebProcess/mac/SecItemShimLibrary.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.mm.
        This code lives in SecItemShim.dylib.
        "Library" in the name is to avoid conflicting with SecItemShim class in WebKit2.

        * Shared/mac/SecItemShim.cpp:
        (WebKit::sendSecItemRequest):
        (WebKit::SecItemShim::initialize):
        * Shared/mac/SecItemShim.h:
        Take a ChildProcess pointer at initialization instead of using using WebProcess::shared().

        * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::addDYLDEnvironmentAdditions):
        Use SecItemShim with NetworkProcess too.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::initializeConnection):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/mac/NetworkProcessMac.mm:
        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::didFinishLaunching):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeConnection):
        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformInitializeProcess):
        * WebProcess/mac/WebProcessMainMac.mm:
        (WebKit::WebProcessMainDelegate::doPreInitializationWork):
        * WebProcess/mac/WebProcessServiceEntryPoints.mm:
        (webProcessServiceMain):
        (initializeWebProcessForWebProcessServiceForWebKitDevelopment):
        * WebProcess/mac/WebProcessShim.h: Removed.
        * WebProcess/mac/WebProcessShim.mm: Removed.
        * WebProcessService/Info.plist:

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

8 years agoMake the override-feature-defines script compatible with Python v3
zandobersek@gmail.com [Tue, 8 Jan 2013 17:33:02 +0000 (17:33 +0000)]
Make the override-feature-defines script compatible with Python v3
https://bugs.webkit.org/show_bug.cgi?id=105742

Reviewed by Martin Robinson.

Instead of printing output through a statement, use the print function and format
the output using the str.format method. This makes the script runnable with Python v3.

* gtk/override-feature-defines:
(adjust_feature_defines_makefile):

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

8 years ago[Shadow DOM] Refactoring: invalidateParentDistributionIfNecessary() calls are too...
morrita@google.com [Tue, 8 Jan 2013 17:29:32 +0000 (17:29 +0000)]
[Shadow DOM] Refactoring: invalidateParentDistributionIfNecessary() calls are too intrusive
https://bugs.webkit.org/show_bug.cgi?id=106305

Reviewed by Dimitri Glazkov.

Scattering invalidateParentDistributionIfNecessary() looks bad because
- it has long name whose terminology is cryptic for people who don't know much about Shadow DOM standard.
- its calls are always paired with setNeedsStyleRecalc() and people do setNeedsStyleRecalc()
  need to be aware about distribution feature bit tracking. Separate invalidateParentDistributionIfNecessary()
  call doesn't help that recognition.

This change introduces Element::didAffectSelector() to replace a setNeedsStyleRecalc()-i37y() call sequence.
SelectRuleFeatureSet::FeatureRule is renamed AffectedSelectorType so that it explains its purpose
in a bit more plain WebKit term.

No new tests. Refactoring.

* dom/Document.cpp:
(WebCore::Document::setCSSTarget): Adopted didAffectSelector.
* dom/Element.cpp:
(WebCore::Element::didAffectSelector): Added.
(WebCore):
* dom/Element.h:
(Element):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::didAffectSelector): Morphed from invalidateParentDistributionIfNecessary().
* dom/ElementShadow.h:
(ElementShadow):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute): Adopted didAffectSelector
* html/HTMLDetailsElement.cpp:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::disabledAttributeChanged): Adopted didAffectSelector
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked): Adopted didAffectSelector
(WebCore::HTMLInputElement::setIndeterminate): Adopted didAffectSelector
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::parseAttribute): Adopted didAffectSelector
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::parseAttribute): Adopted didAffectSelector
(WebCore::HTMLOptionElement::setSelectedState): Adopted didAffectSelector
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::didElementStateChange): Adopted didAffectSelector
* html/HTMLSummaryElement.cpp:
* html/shadow/HTMLContentElement.cpp:
* html/shadow/SelectRuleFeatureSet.cpp:
(WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector): Followed renaming.
* html/shadow/SelectRuleFeatureSet.h: Followed renaming.
(WebCore::SelectRuleFeatureSet::hasSelectorForChecked):
(WebCore::SelectRuleFeatureSet::hasSelectorForEnabled):
(WebCore::SelectRuleFeatureSet::hasSelectorForDisabled):
(WebCore::SelectRuleFeatureSet::hasSelectorForIndeterminate):
(WebCore::SelectRuleFeatureSet::hasSelectorForLink):
(WebCore::SelectRuleFeatureSet::hasSelectorForTarget):
(WebCore::SelectRuleFeatureSet::hasSelectorForVisited):
(WebCore::SelectRuleFeatureSet::hasSelectorFor):
(WebCore::SelectRuleFeatureSet::setSelectRuleFeature):

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

8 years ago[Qt] Fix build with --web-audio
sergio@webkit.org [Tue, 8 Jan 2013 16:47:55 +0000 (16:47 +0000)]
[Qt] Fix build with --web-audio
https://bugs.webkit.org/show_bug.cgi?id=106328

Reviewed by Philippe Normand.

Build fix, no new tests required.

* Target.pri: addded missing OfflineAudioContext.[cpp|h].

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

8 years ago[GTK] Login & password shown in browsers' URL entry after successful HTTP authentication
mrobinson@webkit.org [Tue, 8 Jan 2013 16:45:55 +0000 (16:45 +0000)]
[GTK] Login & password shown in browsers' URL entry after successful HTTP authentication
https://bugs.webkit.org/show_bug.cgi?id=105190

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test: http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::restartedCallback): After sending a redirect with credentials to libsoup, strip
the credentials from the request. This ensures that the credentials do not show up in
the user agent or in document.location.

LayoutTests:

Add a new test that checks that the URL of a page that redirects and uses
authentication. This verifies correct behavior for ports that communicates
a request's credentials to the platform networking layer by setting them in the URL.
The credentials should not remain in the URL string itself.

* http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt: Added.
* http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html: Added.
* http/tests/misc/authentication-redirect-4/resources/auth-echo.php: Added.
* http/tests/misc/authentication-redirect-4/resources/auth-then-redirect.php: Added.

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

8 years agoUnreviwed gardening.
zandobersek@gmail.com [Tue, 8 Jan 2013 16:36:00 +0000 (16:36 +0000)]
Unreviwed gardening.

Removing failure expectations/skip entries for fast/dom/Window/window-postmessage-arrays.html.
The test was fixed by r138964.

Also further remove failure expectations for now-passing tests on the GTK builders.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

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

8 years ago[BlackBerry] Can't select text out of current focused input
commit-queue@webkit.org [Tue, 8 Jan 2013 16:28:49 +0000 (16:28 +0000)]
[BlackBerry] Can't select text out of current focused input
https://bugs.webkit.org/show_bug.cgi?id=106322

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2013-01-08
Reviewed by Rob Buis.

PR270755
Internally reviewed by Mike Fenton

When selection changed, the selection handler clips new selection with
current focused node's boundary. So we clear focus before selectObject.
This patch clear focus when selectObject is at a point but not at a node.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectObject):

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 8 Jan 2013 15:26:51 +0000 (15:26 +0000)]
Unreviewed GTK gardening.

Changing a timeout expectation for inspector/timeline/timeline-decode-resize.html
to a failure expectation. The test doesn't time out anymore due to added WebP support.

Adding a timeout expectation for two proximity layout tests added in r139050.

* platform/gtk/TestExpectations:

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

8 years ago[Chromium] Don't confine page popups to root view on Mac
keishi@webkit.org [Tue, 8 Jan 2013 14:12:11 +0000 (14:12 +0000)]
[Chromium] Don't confine page popups to root view on Mac
https://bugs.webkit.org/show_bug.cgi?id=106315

Reviewed by Kent Tamura.

Source/WebCore:

No new tests.

* Resources/pagepopups/pickerCommon.js:
(adjustWindowRect): Remove code to confine to root view.

Source/WebKit/chromium:

Page popups on Mac no longer get clipped to the web view so we can
remove the code to confine to root view.

* src/ColorChooserPopupUIController.cpp:
(WebKit::ColorChooserPopupUIController::writeDocument): Removing parameters confineToRootView and rootViewRectInScreen.
* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::writeDocument): Ditto.

LayoutTests:

* platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html: Remove setting parameters confineToRootView and rootViewRectInScreen.

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

8 years agoMake RenderLayer::updateNeedsCompositedScrolling scrollbars agnostic
tonikitoo@webkit.org [Tue, 8 Jan 2013 14:06:37 +0000 (14:06 +0000)]
Make RenderLayer::updateNeedsCompositedScrolling scrollbars agnostic
https://bugs.webkit.org/show_bug.cgi?id=95494

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

Some ports (including Qt-wk1 and BlackBerry) allow disabling
scrollbars at FrameView creation level. That said, cheking for the
scrollbars presence in order to determine if we should promote a
RenderLayer to use composited scrolling is not ideal, as done in
RenderLayerCompositor::updateNeedsCompositedScrolling()

Instead, this patch makes the RenderLayer class to query its FrameView
if it has been cached as scrollable by the later.

Least, patch also takes this opportunity to remove RenderLayer::allowsScrolling,
which became unused.

No new tests added, since there is no *practical* behavior change: ports
like Chromium and others who currently check for the scrollbars presence
in order to determine either to promote or not layers to benefit of composited
scrolling should not be affected.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateNeedsCompositedScrolling):
* rendering/RenderLayer.h:
(RenderLayer):

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

8 years agoIntroduce a compositing trigger for scrollable frames
tonikitoo@webkit.org [Tue, 8 Jan 2013 14:05:37 +0000 (14:05 +0000)]
Introduce a compositing trigger for scrollable frames
https://bugs.webkit.org/show_bug.cgi?id=105573

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

Source/WebCore:

Make requiresCompositingForScrollableFrame to check the
newly added compositing trigger instead of the associated setting.

It introduces no have behavior change, so no new tests. Patch basically
does some preparation work for adding support to composite scrollable inner
frames independently from "force compositing mode" bit.

* page/ChromeClient.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):

Source/WebKit/chromium:

Set the newly added scrollable-inner-frames bit to compositing-trigger
bitset in accordance to the respective setting value.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::allowedCompositingTriggers):

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

8 years ago[Qt] Fix libxml2 config test
commit-queue@webkit.org [Tue, 8 Jan 2013 13:28:41 +0000 (13:28 +0000)]
[Qt] Fix libxml2 config test
https://bugs.webkit.org/show_bug.cgi?id=106317

Patch by Heikki Paajanen <heikki.paajanen@palm.com> on 2013-01-08
Reviewed by Simon Hausmann.

Don't assume standard include/libxml2, libxml-2.0.pc should know
where it's headers are.

* qmake/config.tests/libxml2/libxml2.cpp: Fix include

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

8 years ago[Qt] Unreviewed gardening, skip a new failing test.
ossy@webkit.org [Tue, 8 Jan 2013 11:54:04 +0000 (11:54 +0000)]
[Qt] Unreviewed gardening, skip a new failing test.

* platform/qt/TestExpectations:

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

8 years agoAdd DeviceProximityController to support Device Proximity Events.
kihong.kwon@samsung.com [Tue, 8 Jan 2013 11:34:22 +0000 (11:34 +0000)]
Add DeviceProximityController to support Device Proximity Events.
https://bugs.webkit.org/show_bug.cgi?id=97630

Reviewed by Hajime Morita.

Source/WebCore:

Implement DeviceProximityController which is inherited from DeviceController to support Device Proximity Events.
DeviceProximityController has two major functionalities.
- When listener is added, DeviceProximityController stores DOMWindow pointer to m_listeners
  and start gathering proximity event.
- When DeviceProximityController receives a proximity event from client, fire an event using m_listeners.
In addition, setDeviceProximity function is added to Internals for layout test.

Tests: proximity/add-listener-from-callback.html
       proximity/basic-operation.html
       proximity/create-event.html
       proximity/event-after-navigation.html
       proximity/multiple-frames.html
       proximity/no-page-cache.html
       proximity/optional-event-properties.html
       proximity/updates.html
       proximity/window-property.html

* CMakeLists.txt:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/proximity/DeviceProximityClient.h: Added.
(WebCore):
(DeviceProximityClient):
(WebCore::DeviceProximityClient::~DeviceProximityClient):
* Modules/proximity/DeviceProximityController.cpp: Added.
(WebCore):
(WebCore::DeviceProximityController::DeviceProximityController):
(WebCore::DeviceProximityController::create):
(WebCore::DeviceProximityController::didChangeDeviceProximity):
(WebCore::DeviceProximityController::deviceProximityClient):
(WebCore::DeviceProximityController::hasLastData):
(WebCore::DeviceProximityController::getLastEvent):
(WebCore::DeviceProximityController::supplementName):
(WebCore::DeviceProximityController::from):
(WebCore::DeviceProximityController::isActiveAt):
(WebCore::provideDeviceProximityTo):
* Modules/proximity/DeviceProximityController.h: Added.
(WebCore):
(DeviceProximityController):
(WebCore::DeviceProximityController::~DeviceProximityController):
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.xcodeproj/project.pbxproj:
* history/PageCache.cpp:
When a page has Device Proximity Event Listener, it has not to be cached like Device Orientation.
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
* testing/Internals.cpp:
(WebCore::Internals::setDeviceProximity):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit2:

Add initial WebDeviceProximityClient class which is inherited DeviceProximityClient.
But startUpdating and stopUpdating need to be implemented.

* CMakeLists.txt:
* WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp: Added.
(WebKit):
(WebKit::WebDeviceProximityClient::WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::startUpdating):
(WebKit::WebDeviceProximityClient::stopUpdating):
(WebKit::WebDeviceProximityClient::hasLastData):
* WebProcess/WebCoreSupport/WebDeviceProximityClient.h: Added.
(WebKit):
(WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::~WebDeviceProximityClient):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

LayoutTests:

Add layout test cases for the DeviceProximityController.

* proximity/add-listener-from-callback-expected.txt: Added.
* proximity/add-listener-from-callback.html: Added.
* proximity/basic-operation-expected.txt: Added.
* proximity/basic-operation.html: Added.
* proximity/create-event-expected.txt: Added.
* proximity/create-event.html: Added.
* proximity/event-after-navigation-expected.txt: Added.
* proximity/event-after-navigation.html: Added.
* proximity/multiple-frames-expected.txt: Added.
* proximity/multiple-frames.html: Added.
* proximity/no-page-cache-expected.txt: Added.
* proximity/no-page-cache.html: Added.
* proximity/optional-event-properties-expected.txt: Added.
* proximity/optional-event-properties.html: Added.
* proximity/resources/cached-page-1.html: Added.
* proximity/resources/cached-page-2.html: Added.
* proximity/resources/event-after-navigation-new.html: Added.
* proximity/updates-expected.txt: Added.
* proximity/updates.html: Added.
* proximity/window-property-expected.txt: Added.
* proximity/window-property.html: Added.

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 8 Jan 2013 10:17:28 +0000 (10:17 +0000)]
Unreviewed GTK gardening.

Adding failure expectation for an a11y test added in r139002.

* platform/gtk/TestExpectations:

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

8 years ago[GTK] Make Tools/gtk/generate-gtkdoc compatible with Python 3
zandobersek@gmail.com [Tue, 8 Jan 2013 10:10:24 +0000 (10:10 +0000)]
[GTK] Make Tools/gtk/generate-gtkdoc compatible with Python 3
https://bugs.webkit.org/show_bug.cgi?id=106195

Reviewed by Philippe Normand.

Perform changes in the generate-gtkdoc script and common and gtkdoc modules
to make the Python code compatible with Python 3. This includes modifying
print statements, exception handling, dictionary iteration and
byte-sequence-to-string conversion.

* gtk/common.py:
(get_build_path):
(pkg_config_file_variable):
(gtk_version_of_pkg_config_file):
* gtk/generate-gtkdoc:
(print_missing_api):
* gtk/gtkdoc.py:
(GTKDoc.__init__):
(GTKDoc._run_command):

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

8 years ago[Qt][WK2] Unreviewed gardening after r138932.
ossy@webkit.org [Tue, 8 Jan 2013 09:37:53 +0000 (09:37 +0000)]
[Qt][WK2] Unreviewed gardening after r138932.

* platform/qt-5.0-wk2/fast/ruby/ruby-beforeafter-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-beforeafter-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-empty-rt-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-empty-rt-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-length-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-length-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-run-break-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-run-break-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-spans-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-runs-spans-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-rp-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-simple-rp-expected.txt: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-trailing-expected.png: Added.
* platform/qt-5.0-wk2/fast/ruby/ruby-trailing-expected.txt: Added.

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

8 years ago[GTK] Add WebP image support
sergio@webkit.org [Tue, 8 Jan 2013 09:31:56 +0000 (09:31 +0000)]
[GTK] Add WebP image support
https://bugs.webkit.org/show_bug.cgi?id=105915

Reviewed by Martin Robinson.

.:

WebP is from now on a dependency for WebKitGtk+.

* configure.ac: added WebP library detection.

Source/WebCore:

* GNUmakefile.am: add WTF_USE_WEBP definition.
* GNUmakefile.list.am: properly sort image decoders in the sources list.

Source/WebKit/gtk:

* GNUmakefile.am: link against WebP library.

Source/WebKit2:

* GNUmakefile.am: link against WebP library.

LayoutTests:

* platform/gtk/TestExpectations: unskipped two tests passing now
that we have WebP support.

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

8 years agoRename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
commit-queue@webkit.org [Tue, 8 Jan 2013 09:27:08 +0000 (09:27 +0000)]
Rename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
https://bugs.webkit.org/show_bug.cgi?id=106307

This matches other method names which distinguish between sizes and
points. See https://bugs.webkit.org/show_bug.cgi?id=105992#c4.

Patch by Steve Block <steveblock@chromium.org> on 2013-01-08
Reviewed by Kentaro Hara.

Source/WebCore:

Refactoring only, no functional change.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::scrollTo):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
* platform/ScrollView.h:
(WebCore::ScrollView::scrollOffset):
* platform/graphics/IntPoint.h:
(WebCore::toIntSize):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::positionNewlyCreatedOverflowControls):
(WebCore::RenderLayer::paintOverflowControls):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Source/WebKit/blackberry:

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::minimumScrollOffset):
(WebKit::WebFrameImpl::maximumScrollOffset):

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

8 years agoDragging over an element with scrollbars should scroll the element when dragging...
yosin@chromium.org [Tue, 8 Jan 2013 08:57:56 +0000 (08:57 +0000)]
Dragging over an element with scrollbars should scroll the element when dragging near edges
https://bugs.webkit.org/show_bug.cgi?id=39725

Reviewed by Hajime Morita.

Source/WebCore:

This patch introduces auto scrolling functionality during drag-and-drop
when drop source is near edge of scrollable element.

When drop source is inside 20px of scrollable element more than 200ms,
scrollable element is automatically scrolled every 50ms toward drop
source position, e.g. vertically scroll up when drop source is in top
edge.

Test: fast/events/drag-and-drop-autoscroll.html

* page/AutoscrollController.cpp:
(WebCore::AutoscrollController::AutoscrollController): Changed to initialize m_dragAndDropAutoscrollStartTime.
(WebCore::AutoscrollController::updateDragAndDrop): Added for start/stop autoscroll during drag-and-drop.
(WebCore::AutoscrollController::autoscrollTimerFired): Changed to add autoscroll for drag-and-drop, and to pass last know position to RenderBox::autoscroll().
* page/AutoscrollController.h:
(AutoscrollController): Changed to add updateDragAndDrop() and m_dragAndDropAutoscrollReferencePosition and m_dragAndDropAutoscrollStartTime.
* page/EventHandler.cpp:
(WebCore::EventHandler::updateDragAndDrop): Changed to call AutoscrollController::updateDragAndDrop().
* rendering/RenderBox.cpp:
(WebCore::RenderBox::autoscroll): Changed for new parameter position.
(WebCore::RenderBox::calculateAutoscrollDirection): Added for autoscroll.
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll):  Changed for new parameter position and move updateSelectionForMouseDrag() to AutoscrollController.
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::autoscroll):  Changed for new parameter position.
* rendering/RenderListBox.h:
(RenderListBox):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::autoscroll):  Changed for new parameter position.
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):

Source/WebKit/chromium:

This patch removes DragScrollTimer used for automatic scrolling of main
frame drag-and-drop which is now implemented in EventHandler.

Another patch will remove DragScrollTimer.{cpp,h} and update GYP files to
make patch size small.

No tests. Existing test covers this change.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl): Changed to remove m_dragScrollTimer.
(WebKit::WebViewImpl::dragSourceEndedAt): ditto
(WebKit::WebViewImpl::dragSourceMovedTo): ditto
(WebKit::WebViewImpl::dragTargetDrop): ditto
(WebKit::WebViewImpl::dragTargetDragEnterOrOver): ditto
* src/WebViewImpl.h:
(WebKit): Chagned to remove DragScrollTimer.

LayoutTests:

This patch adds new test for autoscroll during drag-and-drop.

* fast/events/drag-and-drop-autoscroll-expected.txt: Added.
* fast/events/drag-and-drop-autoscroll.html: Added.

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

8 years agoREGRESSION(r139036): 'WebCore::DateTimeSymbolicFieldElement::isInRange' hides overloa...
jochen@chromium.org [Tue, 8 Jan 2013 08:40:10 +0000 (08:40 +0000)]
REGRESSION(r139036): 'WebCore::DateTimeSymbolicFieldElement::isInRange' hides overloaded virtual function
https://bugs.webkit.org/show_bug.cgi?id=106311

Unreviewed build fix.

* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::stepDown):
(WebCore::DateTimeSymbolicFieldElement::stepUp):
* html/shadow/DateTimeSymbolicFieldElement.h:
(WebCore::DateTimeSymbolicFieldElement::indexIsInRange): renamed method to avoid hiding Element::isInRange

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

8 years agoHTMLTreeBuilder shouldn't keep a Document pointer
abarth@webkit.org [Tue, 8 Jan 2013 08:23:01 +0000 (08:23 +0000)]
HTMLTreeBuilder shouldn't keep a Document pointer
https://bugs.webkit.org/show_bug.cgi?id=106268

Reviewed by Eric Seidel.

The tree builder shouldn't interact with the Document directly.
Instead, the tree builder should use the HTMLConstructionSite to
interact with the document.

Unfortunately, the HTMLTreeBuilder does need to read back one bit of
information (the quirks mode) from the Document. Currently the
HTMLConstructionSite reads the information directly from the Document.
If/when we move the parser onto its own thread, we'll need to keep
track of this bit on the parser thread. (We should be able to
encapsulate all that logic in the HTMLConstructionSite.)

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
(WebCore):
(WebCore::HTMLConstructionSite::finishedParsing):
(WebCore::HTMLConstructionSite::inQuirksMode):
* html/parser/HTMLConstructionSite.h:
(HTMLConstructionSite):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::detach):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::defaultForInitial):
(WebCore::HTMLTreeBuilder::finished):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):

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