Timeline



Jan 8, 2013:

11:41 PM Changeset in webkit [139169] by tasak@google.com
  • 3 edits in trunk/LayoutTests

Use window.WebKitShadowRoot for checking whether a node is shadow root or not.
https://bugs.webkit.org/show_bug.cgi?id=88748

Reviewed by Hajime Morita.

  • fast/dom/shadow/resources/shadow-dom.js:

(isShadowRoot):
Modified to use window.WebKitShadowRoot instead of node name.

  • resources/dump-as-markup.js:

(Markup.get var):
Added shadowRootList which has information about whether the given node
is a shadow root or not.
(Markup):
(Markup._get):
If the given element is a document fragment and its address is in
shadowRootList, use "<shadow:root>".
(Markup._getShadowHostIfPossible):
Only this method uses internals.shadowRoot and obtains the youngest
shadow root from the given node. So update shadowRootList in this
method.

11:12 PM Changeset in webkit [139168] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

Assertion Failure in WebCore::RenderLayerCompositor::updateCompositingLayers.
https://bugs.webkit.org/show_bug.cgi?id=106419.

Unreviewed.

Updated Expectations.

  • platform/mac/TestExpectations:
11:09 PM Changeset in webkit [139167] by noel.gordon@gmail.com
  • 1 edit
    2 adds in trunk/LayoutTests

[chromium] Unreviewed gardening. Update fast/events/touch/compositor-touch-hit-rects on linux

  • platform/chromium-linux/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
10:55 PM Changeset in webkit [139166] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Caret is incorrectly painted for a contenteditable <div> containing a <br> in vertical writing mode
https://bugs.webkit.org/show_bug.cgi?id=103621

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2013-01-08
Reviewed by Ryosuke Niwa.

Source/WebCore:

While computing the caret rect for the given specific scenario, we
canonicalize our position. For the upstream (or downstream) block flow
candidates a check to ignore the nodes having renderers with zero height
is carried out. This is where we fail our check in the vertical writing mode.

In the vertical writing mode, instead of verifying the height of the descendants
of the candidate nodes, a check for their width should be carried out.

For our case, i.e. the <br> element contained inside the div, the bounding box
in the vertical writing mode would have a width greater than zero and height
equal to zero (as is to be expected in the vertical mode).

Thus, we need to make a check against the logical height. For the vertical
writing mode, the logical height should return the width of the computed
bounding box.

Test: editing/selection/caret-in-div-containing-br-in-vertical-mode.html

  • dom/Position.cpp:

(WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
Have modified the code to verify against the logical height, instead
of simply the height, both in case of RenderText and RenderBox.
The logical height of the computed rects returns a value according
to the writing mode.

For the RenderText a new function, linesLogicalBoundingBox() is called
which returns the values depending on the writing mode.
Similarly, on the RenderBox, pixelSnappedLogicalHeight() is called which
too takes care of the writing mode internally. (borderBoundingBox()
internally calls on the pixelSnappedRect).

  • rendering/RenderText.cpp:

(WebCore::RenderText::linesLogicalBoundingBox):
(WebCore):

  • rendering/RenderText.h:

(RenderText):
New function is added to return the logical linesBoundingBox, i.e.,
the width and height of the linesBoundingBox are set according to
the writing mode.

LayoutTests:

  • editing/selection/caret-in-div-containing-br-in-vertical-mode-expected.txt: Added.
  • editing/selection/caret-in-div-containing-br-in-vertical-mode.html: Added.

Testcase added for verifying the caret display at the start of an editable
div containing only a <br> element in vertical writing mode.

10:42 PM Changeset in webkit [139165] by crogers@google.com
  • 5 edits in trunk/Source

Remove unused/deprecated render() method in chromium WebKit API
https://bugs.webkit.org/show_bug.cgi?id=106399

Reviewed by Kent Tamura.

Source/Platform:

  • chromium/public/WebAudioDevice.h:

Source/WebKit/chromium:

  • src/AudioDestinationChromium.cpp:
  • src/AudioDestinationChromium.h:

(AudioDestinationChromium):

10:39 PM Changeset in webkit [139164] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/TestExpectations:
10:33 PM Changeset in webkit [139163] by noel.gordon@gmail.com
  • 1 edit
    1 move in trunk/LayoutTests

[chromium] Rebaseline and optimise fast/regions/full-screen-video-from-region on Win7 and Win XP

Unreviewed gardening.

  • platform/chromium-win/fast/regions/full-screen-video-from-region-expected.png: Renamed from LayoutTests/platform/chromium-win-xp/fast/regions/full-screen-video-from-region-expected.png.
10:26 PM Changeset in webkit [139162] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/TestExpectations:
9:32 PM Changeset in webkit [139161] by tonyg@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove a few unused includes from HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=106401

Reviewed by Adam Barth.

I happened to notice these while attempting to remove non-thread friendly deps from HTMLTreeBuilder.

No new tests because no new functionality.

  • html/parser/HTMLTreeBuilder.cpp:
9:30 PM Changeset in webkit [139160] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

A couple of fast/workers tests fail after http://trac.webkit.org/projects/webkit/changeset/139145.
https://bugs.webkit.org/show_bug.cgi?id=106415.

Unreviewed.

Updated Expectations.

  • platform/mac/TestExpectations:
9:26 PM Changeset in webkit [139159] by gyuyoung.kim@samsung.com
  • 28 edits in trunk

Regression(r138681): Add HAVE(ACCESSIBILITY) guard to atk files
https://bugs.webkit.org/show_bug.cgi?id=106290

Reviewed by Martin Robinson.

Some atk files don't use HAVE(ACCESSIBILITY). It might make build errors when
the macro isn't enabled.

Source/WebCore:

  • accessibility/atk/AXObjectCacheAtk.cpp:
  • accessibility/atk/WebKitAccessibleHyperlink.h:
  • accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceAction.h:
  • accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceDocument.h:
  • accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceEditableText.h:
  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.h:
  • accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceImage.h:
  • accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceSelection.h:
  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceTable.h:
  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceText.h:
  • accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
  • accessibility/atk/WebKitAccessibleInterfaceValue.h:
  • accessibility/atk/WebKitAccessibleUtil.cpp:
  • accessibility/atk/WebKitAccessibleUtil.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.h:

Tools:

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
9:21 PM Changeset in webkit [139158] by commit-queue@webkit.org
  • 4 edits in trunk/WebKitLibraries

Add WebKitSystemInterface needed for overriding system proxies on Mac
https://bugs.webkit.org/show_bug.cgi?id=106410

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-08
Reviewed by Stephanie Lewis.

This patch is in anticipation of the fix for https://bugs.webkit.org/show_bug.cgi?id=104197,
Add user defaults to override system proxy settings for NetworkProcess on Mac, which
is awaiting the approval of a WebKit2 committer. Commiting the WKSI portion separately,
so that the internal repository commit for generating the WKSI libraries does not have to
be rolled back every time the rest of the patch changes.

Add WKCFNetworkSetOverrideSystemProxySettings(), needed by NetworkProcess to set
custom proxies during initialization.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMountainLion.a:
9:21 PM Changeset in webkit [139157] by yosin@chromium.org
  • 2 edits
    2 deletes in trunk/Source/WebKit/chromium

Remove WebKit/chromium/src/DragScrollTimer.{cpp,h}
https://bugs.webkit.org/show_bug.cgi?id=106403

This patch removes unused file DragScrollTimer.{cpp,h} obsoleted by
r139044.

Reviewed by Hajime Morita.

  • WebKit.gyp: Changed to remove lines for DragScroll.{cpp.h}.
  • src/DragScrollTimer.cpp: Removed.
  • src/DragScrollTimer.h: Removed.
9:11 PM Changeset in webkit [139156] by weinig@apple.com
  • 1 edit
    1 add in trunk/Source/WebKit2

Add Owners file.

  • Owners: Added.
9:01 PM Changeset in webkit [139155] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

Assertion failure in WebCore::HTMLConstructionSite::HTMLConstructionSite.
https://bugs.webkit.org/show_bug.cgi?id=106412.

Unreviewed.

Updating Expectations.

  • platform/mac/TestExpectations:
8:46 PM Changeset in webkit [139154] by falken@chromium.org
  • 3 edits
    6 adds in trunk

Make NodeRenderingContext::parentRenderer and nextRenderer top layer aware
https://bugs.webkit.org/show_bug.cgi?id=103477

Reviewed by Hajime Morita.

Source/WebCore:

Original patch by Elliott Sprehn (minor code and layout tests added).

Instead of using adjustInsertionPointForTopLayerElement and reassigning
pointers passed by reference we should just make nextRenderer and parentRenderer
handle the top layer properly. Right now they would return the wrong values
since we only correctly handle the top layer during renderer creation.

This makes handling of top layer elements consistent with handling of
other special renderering systems like flow threads.

Tests: fast/dom/HTMLDialogElement/modal-dialog-in-replaced-renderer.html

fast/dom/HTMLDialogElement/modal-dialog-in-table-column.html
fast/dom/HTMLDialogElement/modal-dialog-sibling.html

  • dom/NodeRenderingContext.cpp:

(WebCore::isRendererReparented): Added this helper function. We must skip
renderers that are reparented in nextRenderer and previousRenderer.
(WebCore):
(WebCore::adjustInsertionPointForTopLayerElement): Removed this method.
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):
(WebCore::NodeRenderingContext::parentRenderer):
(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):

LayoutTests:

  • fast/dom/HTMLDialogElement/modal-dialog-in-replaced-renderer-expected.html: Added.
  • fast/dom/HTMLDialogElement/modal-dialog-in-replaced-renderer.html: Added.
  • fast/dom/HTMLDialogElement/modal-dialog-in-table-column-expected.html: Added.
  • fast/dom/HTMLDialogElement/modal-dialog-in-table-column.html: Added.
  • fast/dom/HTMLDialogElement/modal-dialog-sibling-expected.html: Added.
  • fast/dom/HTMLDialogElement/modal-dialog-sibling.html: Added.
8:41 PM Changeset in webkit [139153] by hayato@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

[Shadow DOM] The MouseEvent offsetX and offsetY attributes must return the coordinates relative to the origin of the padding edge of the relative target after retargeting.
https://bugs.webkit.org/show_bug.cgi?id=104509

Reviewed by Dimitri Glazkov.

Adding a test for making sure that MouseEvent offsetX and offsetY arrributes are adjusted in retargeting.

  • fast/dom/shadow/shadow-dom-mouse-event-adjust-offset-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-mouse-event-adjust-offset.html: Added.
8:35 PM Changeset in webkit [139152] by noel.gordon@gmail.com
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening. jquery/event.html timeouts in release and debug.

  • platform/chromium/TestExpectations:
8:17 PM Changeset in webkit [139151] by tkent@chromium.org
  • 6 edits in trunk

REGRESSION(r135836): Invalid user input for input[type=number] should be cleared by input.value=""
https://bugs.webkit.org/show_bug.cgi?id=106284

Reviewed by Hajime Morita.

Source/WebCore:

No new tests. Updates fast/forms/number/number/validity-badinput.html.

  • html/NumberInputType.cpp:

(WebCore::NumberInputType::setValue):
If the new sanitized value is empty and innerTextValue is a bad input
(it means !valueChanged && !innerTextValue().isEmpty() because the new
sanitized value is empty), we need to update innerTextValue with the
empty string.

  • html/NumberInputType.h:

(NumberInputType): Declare setValue.

LayoutTests:

  • fast/forms/number/number-validity-badinput.html:

Add a test case.

  • fast/forms/number/number-validity-badinput-expected.txt:
7:30 PM Changeset in webkit [139150] by Nate Chapin
  • 6 edits in trunk

REGRESSION(r138222?): [Mac WK1] http/tests/appcache/main-resource-redirect.html asserts in WebFrameLoaderClient::dispatchDidFinishLoading
https://bugs.webkit.org/show_bug.cgi?id=106123

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests, fixing an existing test.

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::continueAfterNavigationPolicy): Before calling m_resource->removeClient(this)

and potentially canceling the ResourceLoader, ensure it won't send resource load callbacks.

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::setSendCallbackPolicy):

LayoutTests:

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations: main-resource-redirect.html is no longer crashing.
7:28 PM Changeset in webkit [139149] by Martin Robinson
  • 2 edits in trunk/LayoutTests

[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.

7:22 PM Changeset in webkit [139148] by Martin Robinson
  • 2 edits in trunk/LayoutTests

[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.

7:21 PM Changeset in webkit [139147] by jchaffraix@webkit.org
  • 2 edits in trunk/LayoutTests

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.

6:57 PM Changeset in webkit [139146] by Alexandru Chiculita
  • 5 edits
    4 adds in trunk

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.
6:37 PM Changeset in webkit [139145] by oliver@apple.com
  • 20 edits in trunk/Source/JavaScriptCore

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.

6:30 PM Changeset in webkit [139144] by junov@google.com
  • 2 edits in trunk/Source/WebCore

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):

6:28 PM Changeset in webkit [139143] by dgrogan@chromium.org
  • 2 edits in trunk/Source/WebCore

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):

6:21 PM Changeset in webkit [139142] by commit-queue@webkit.org
  • 13 edits
    3 adds in trunk

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.
5:43 PM Changeset in webkit [139141] by tonyg@chromium.org
  • 6 edits in trunk/Source/WebCore

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):

5:41 PM Changeset in webkit [139140] by Martin Robinson
  • 10 edits in trunk

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:
5:41 PM Changeset in webkit [139139] by keishi@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[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:
5:36 PM Changeset in webkit [139138] by fmalita@chromium.org
  • 9 edits in trunk/Source/WebCore

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:
5:17 PM Changeset in webkit [139137] by junov@google.com
  • 4 edits
    3 adds in trunk

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.
5:11 PM Changeset in webkit [139136] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

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):

4:59 PM Changeset in webkit [139135] by esprehn@chromium.org
  • 3 edits in trunk/Source/WebCore

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):

4:47 PM Changeset in webkit [139134] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[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:
4:44 PM Changeset in webkit [139133] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Unbreak the world.

  • WebProcess/com.apple.WebProcess.sb.in:
4:42 PM Changeset in webkit [139132] by rafaelw@chromium.org
  • 10 edits in trunk/Source/WebCore

[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):

4:32 PM Changeset in webkit [139131] by morrita@google.com
  • 4 edits in trunk/LayoutTests

Unreviewed, marking drag-and-drop-autoscroll.html

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
4:30 PM Changeset in webkit [139130] by zandobersek@gmail.com
  • 1 edit
    1 add in trunk

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.
4:29 PM Changeset in webkit [139129] by benjamin@webkit.org
  • 2 edits in trunk/Tools

Add myself as a watcher for Web Geolocation

Unreviewed.

  • Scripts/webkitpy/common/config/watchlist:
4:16 PM Changeset in webkit [139128] by morrita@google.com
  • 17 edits in trunk

[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:
4:09 PM Changeset in webkit [139127] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[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:
3:53 PM Changeset in webkit [139126] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[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):

3:50 PM Changeset in webkit [139125] by Dimitri Glazkov
  • 1 edit
    2 deletes in trunk/LayoutTests

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.
3:42 PM Changeset in webkit [139124] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
3:28 PM Changeset in webkit [139123] by Lucas Forschler
  • 4 edits in tags/Safari-537.24.3/Source

Versioning.

3:26 PM Changeset in webkit [139122] by Lucas Forschler
  • 1 copy in tags/Safari-537.24.3

New Tag.

3:11 PM Changeset in webkit [139121] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[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.
2:59 PM Changeset in webkit [139120] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

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:
2:57 PM Changeset in webkit [139119] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

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.
2:54 PM Changeset in webkit [139118] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Skip the test added by r139062 on WebKit2 bots since it uses a testRunner method
that hasn't been implemented yet.

  • platform/wk2/TestExpectations:
2:50 PM Changeset in webkit [139117] by aelias@chromium.org
  • 1 edit
    3 copies in branches/chromium/1364

Merge 139022

Divide gesture scroll delta by scale factor
https://bugs.webkit.org/show_bug.cgi?id=106263

Reviewed by Adam Barth.

Gesture scroll deltas were not being adjusted by the frame's scale
factors, resulting in overly fast main-thread scrolling when zoomed
in.

New test: fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleGestureScrollCore):

TBR=aelias@chromium.org

BUG=166628
Review URL: https://codereview.chromium.org/11826009

2:50 PM Changeset in webkit [139116] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Tighten up some test expectations.

  • platform/chromium/TestExpectations: Tightened.
2:49 PM Changeset in webkit [139115] by leviw@chromium.org
  • 1 edit in branches/chromium/1364/Source/WebKit/chromium/src/WebViewImpl.cpp

Merge 139017. Requested by yusufo@google.com

Don't use double tap zoom if minimum and maximum page scale is the same
https://bugs.webkit.org/show_bug.cgi?id=106272

Patch by Yusuf Ozuysal <yusufo@google.com> on 2013-01-07
Reviewed by James Robinson.

We should only try to computed relevant scale and scrollOffset and start the animation
if the page is zoomable. This now creates an undesired animation for mobile pages which
are not zoomable.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11821007

2:19 PM Changeset in webkit [139114] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/LayoutTests

Update test result. <rdar://problem/12968772>

2:16 PM Changeset in webkit [139113] by weinig@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit2

This should be camel case. Must remove to fix.

  • OWNERS: Removed.
2:16 PM Changeset in webkit [139112] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[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.
2:11 PM Changeset in webkit [139111] by tsepez@chromium.org
  • 23 edits
    2 adds in trunk

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.
2:03 PM Changeset in webkit [139110] by zhajiang@rim.com
  • 4 edits in trunk/Source/WebKit/blackberry

[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):

2:02 PM Changeset in webkit [139109] by fpizlo@apple.com
  • 6 edits
    3 adds in trunk

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):

1:54 PM Changeset in webkit [139108] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

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.

1:50 PM Changeset in webkit [139107] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<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):
1:44 PM Changeset in webkit [139106] by alexis@webkit.org
  • 7 edits in trunk

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:
1:37 PM Changeset in webkit [139105] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Tighten up the actual expectations around webaudio fails..
https://bugs.webkit.org/show_bug.cgi?id=106232

  • platform/chromium/TestExpectations: Tightened.
1:33 PM Changeset in webkit [139104] by Dimitri Glazkov
  • 2 edits
    1 delete in trunk/LayoutTests

[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:
1:25 PM Changeset in webkit [139103] by Dimitri Glazkov
  • 4 edits
    2 deletes in trunk/LayoutTests

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:
1:25 PM Changeset in webkit [139102] by zandobersek@gmail.com
  • 4 edits in trunk/Tools

[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):

1:11 PM Changeset in webkit [139101] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

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:
1:08 PM Changeset in webkit [139100] by akling@apple.com
  • 4 edits
    2 adds in trunk

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.
1:04 PM Changeset in webkit [139099] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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):

12:54 PM Changeset in webkit [139098] by fpizlo@apple.com
  • 4 edits
    15 adds in trunk

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):

12:33 PM Changeset in webkit [139097] by jparent@chromium.org
  • 5 edits in trunk/Tools

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:
12:31 PM Changeset in webkit [139096] by bweinstein@apple.com
  • 2 edits in trunk/Source/WebCore

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.

12:23 PM Changeset in webkit [139095] by zandobersek@gmail.com
  • 6 edits
    1 add in trunk/Tools

[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):

12:21 PM Changeset in webkit [139094] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

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):

12:12 PM Changeset in webkit [139093] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

12:05 PM Changeset in webkit [139092] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a crashing test expectation to a test added in r139029.
The failure is tracked by the bug 106361.

  • platform/mac/TestExpectations:
11:52 AM Changeset in webkit [139091] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

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):

11:49 AM Changeset in webkit [139090] by jochen@chromium.org
  • 14 edits in trunk/Tools

[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):

11:40 AM Changeset in webkit [139089] by ojan@chromium.org
  • 7 edits
    2 adds in trunk

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.
11:35 AM Changeset in webkit [139088] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[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):

11:28 AM Changeset in webkit [139087] by peter@chromium.org
  • 2 edits in trunk/Source/WebCore

[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]):

11:27 AM Changeset in webkit [139086] by weinig@apple.com
  • 1 edit
    1 add in trunk/Source/WebKit2

Add OWNERS file.

  • OWNERS: Added.
11:22 AM Changeset in webkit [139085] by mkwst@chromium.org
  • 3 edits
    2 adds in trunk

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.
11:19 AM Changeset in webkit [139084] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

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):

11:15 AM Changeset in webkit [139083] by alokp@chromium.org
  • 3 edits in trunk/Source/WebCore

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):

11:00 AM Changeset in webkit [139082] by jparent@chromium.org
  • 3 edits in trunk/Tools

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:
10:54 AM Changeset in webkit [139081] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[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):

10:49 AM Changeset in webkit [139080] by commit-queue@webkit.org
  • 14 edits
    5 adds in trunk

<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 <Antoine Quint> 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 <Antoine Quint> 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:
10:47 AM Changeset in webkit [139079] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

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:
10:47 AM Changeset in webkit [139078] by mark.lam@apple.com
  • 40 edits in trunk/Source

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):

10:40 AM Changeset in webkit [139077] by Chris Fleizach
  • 4 edits
    2 adds in trunk

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.
10:34 AM Changeset in webkit [139076] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

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().

10:17 AM Changeset in webkit [139075] by dmazzoni@google.com
  • 2 edits in trunk/Tools

Add aboxhall@chromium.org to accessibility watchlist.

Unreviewed.

  • Scripts/webkitpy/common/config/watchlist:
10:15 AM Changeset in webkit [139074] by Dimitri Glazkov
  • 7 edits
    3 adds in trunk/LayoutTests

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:
10:14 AM Changeset in webkit [139073] by Dimitri Glazkov
  • 1 edit
    1 add in trunk/LayoutTests

Update expectations for webaudio/realtimeanalyser-fft-sizing.html.

  • platform/chromium-linux/webaudio/realtimeanalyser-fft-sizing-expected.txt: Added.
10:13 AM Changeset in webkit [139072] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] context-creation-and-destruction.html is slow and flaky.
https://bugs.webkit.org/show_bug.cgi?id=92287

  • platform/chromium/TestExpectations: Adjusted expectations.
10:10 AM Changeset in webkit [139071] by danw@gnome.org
  • 9 edits
    1 copy
    1 move in trunk

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:
10:08 AM Changeset in webkit [139070] by alexis@webkit.org
  • 5 edits in trunk

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:
10:06 AM Changeset in webkit [139069] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[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.
9:56 AM Changeset in webkit [139068] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

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):

9:51 AM Changeset in webkit [139067] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[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.
9:50 AM Changeset in webkit [139066] by ap@apple.com
  • 14 edits
    2 moves in trunk/Source/WebKit2

[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:
9:33 AM Changeset in webkit [139065] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

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):

9:29 AM Changeset in webkit [139064] by morrita@google.com
  • 17 edits in trunk/Source/WebCore

[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):

8:47 AM Changeset in webkit [139063] by sergio@webkit.org
  • 2 edits in trunk/Source/WebCore

[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].
8:45 AM Changeset in webkit [139062] by Martin Robinson
  • 3 edits
    6 adds in trunk

[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.
8:36 AM Changeset in webkit [139061] by zandobersek@gmail.com
  • 5 edits in trunk/LayoutTests

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:
8:28 AM Changeset in webkit [139060] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[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):

8:08 AM Changeset in webkit [139059] by junov@google.com
  • 1 edit
    2 copies in branches/chromium/1364

Merge 138994

Fixing memory read after free in CanvasRenderingContext2D::accessFont
https://bugs.webkit.org/show_bug.cgi?id=106244

Reviewed by Abhishek Arya.

Source/WebCore:

Using a temporary String object to hold ref count on string that is
passed by reference in CanvasRenderingContext2D::accessFont.

Test: fast/canvas/canvas-measureText.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::accessFont):

LayoutTests:

New test case to verify stability of 2D canvas method measureText.
Test case was causing a DumpRenderTree crash on builds with
AddressSantitizer instrumentation.

  • fast/canvas/canvas-measureText-expected.txt: Added.
  • fast/canvas/canvas-measureText.html: Added.

TBR=junov@google.com
Review URL: https://codereview.chromium.org/11808004

8:04 AM Changeset in webkit [139058] by junov@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 138994

Fixing memory read after free in CanvasRenderingContext2D::accessFont
https://bugs.webkit.org/show_bug.cgi?id=106244

Reviewed by Abhishek Arya.

Source/WebCore:

Using a temporary String object to hold ref count on string that is
passed by reference in CanvasRenderingContext2D::accessFont.

Test: fast/canvas/canvas-measureText.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::accessFont):

LayoutTests:

New test case to verify stability of 2D canvas method measureText.
Test case was causing a DumpRenderTree crash on builds with
AddressSantitizer instrumentation.

  • fast/canvas/canvas-measureText-expected.txt: Added.
  • fast/canvas/canvas-measureText.html: Added.

TBR=junov@google.com
Review URL: https://codereview.chromium.org/11783030

7:58 AM Changeset in webkit [139057] by junov@google.com
  • 3 edits
    2 copies in branches/chromium/1271

Merge 138994

Fixing memory read after free in CanvasRenderingContext2D::accessFont
https://bugs.webkit.org/show_bug.cgi?id=106244

Reviewed by Abhishek Arya.

Source/WebCore:

Using a temporary String object to hold ref count on string that is
passed by reference in CanvasRenderingContext2D::accessFont.

Test: fast/canvas/canvas-measureText.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::accessFont):

LayoutTests:

New test case to verify stability of 2D canvas method measureText.
Test case was causing a DumpRenderTree crash on builds with
AddressSantitizer instrumentation.

  • fast/canvas/canvas-measureText-expected.txt: Added.
  • fast/canvas/canvas-measureText.html: Added.

TBR=junov@google.com

7:26 AM Changeset in webkit [139056] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

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:
6:12 AM Changeset in webkit [139055] by keishi@webkit.org
  • 7 edits in trunk

[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.
6:06 AM Changeset in webkit [139054] by tonikitoo@webkit.org
  • 3 edits in trunk/Source/WebCore

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):

6:05 AM Changeset in webkit [139053] by tonikitoo@webkit.org
  • 5 edits in trunk/Source

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):

5:28 AM Changeset in webkit [139052] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[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
3:54 AM Changeset in webkit [139051] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip a new failing test.

  • platform/qt/TestExpectations:
3:34 AM Changeset in webkit [139050] by kihong.kwon@samsung.com
  • 20 edits
    27 adds in trunk

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.
2:36 AM AddingFeatures edited by zandobersek@gmail.com
Adding instructions about adding new features for the Autotools build … (diff)
2:29 AM ScalesAndZooms edited by mnaganov@chromium.org
Logical pixels -> DIP pixels, see … (diff)
2:17 AM Changeset in webkit [139049] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding failure expectation for an a11y test added in r139002.

  • platform/gtk/TestExpectations:
2:10 AM Changeset in webkit [139048] by zandobersek@gmail.com
  • 4 edits in trunk/Tools

[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):

1:37 AM Changeset in webkit [139047] by Csaba Osztrogonác
  • 1 edit
    19 adds in trunk/LayoutTests

[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.
1:31 AM Changeset in webkit [139046] by sergio@webkit.org
  • 11 edits in trunk

[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.

1:27 AM Changeset in webkit [139045] by commit-queue@webkit.org
  • 12 edits in trunk/Source

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):

12:57 AM Changeset in webkit [139044] by yosin@chromium.org
  • 16 edits
    2 adds in trunk

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.
12:40 AM Changeset in webkit [139043] by jochen@chromium.org
  • 3 edits in trunk/Source/WebCore

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

12:23 AM Changeset in webkit [139042] by abarth@webkit.org
  • 5 edits in trunk/Source/WebCore

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):

12:15 AM Changeset in webkit [139041] by Csaba Osztrogonác
  • 1 edit
    4 adds in trunk/Source/WebKit2

[Qt][Win] Unreviewed buildfix, partially revert
r139003, because Qt port still uses these files.

  • Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Added.
  • Platform/CoreIPC/win/ConnectionWin.cpp: Added.
  • Platform/win/SharedMemoryWin.cpp: Added.
  • Platform/win/WorkQueueWin.cpp: Added.
12:12 AM Changeset in webkit [139040] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Float block's logical top margin is illegal in vertical writing mode.
https://bugs.webkit.org/show_bug.cgi?id=96597

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2013-01-08
Reviewed by Hajime Morita.

Source/WebCore:

flipFloatForWritingModeForChild() should use child->renderer()->width() not child->width() like horizontal writing mode.

Test: fast/writing-mode/vertical-float-margin.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::flipFloatForWritingModeForChild):

LayoutTests:

Specify margin to float block in vertical writing mode.

  • fast/writing-mode/vertical-float-margin-expected.html: Added.
  • fast/writing-mode/vertical-float-margin.html: Added.
  • platform/chromium/TestExpectations: Add need rebaseline.

Jan 7, 2013:

11:53 PM Changeset in webkit [139039] by steveblock@google.com
  • 2 edits in trunk/Tools

Add chromium.org email address for Steve Block.

Unreviewed.

  • Scripts/webkitpy/common/config/committers.py:
11:49 PM Changeset in webkit [139038] by tkent@chromium.org
  • 3 edits
    2 adds in trunk

REGRESSION(r137406): Text inside an empty optgroup prevents subsequent options from appearing
https://bugs.webkit.org/show_bug.cgi?id=106298

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/forms/select/select-empty-optgroup.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::recalcListItems):
Traverse to the first element within the 'current' only if it exists.

LayoutTests:

  • fast/forms/select/select-empty-optgroup-expected.html: Added.
  • fast/forms/select/select-empty-optgroup.html: Added.
11:46 PM Changeset in webkit [139037] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Use toSize() to convert from Int/FloatPoint to Int/FloatSize
https://bugs.webkit.org/show_bug.cgi?id=105992

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

Source/WebCore:

Refactoring only, no change in behavior.

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::computePath):

  • platform/ScrollView.h:

(WebCore::ScrollView::scrollOffset):

  • platform/graphics/FloatPoint.h:

(WebCore::toFloatSize):
Add 'inline FloatSize toFloatSize(const FloatPoint&)' to match IntPoint.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Source/WebKit/chromium:

  • src/LinkHighlight.cpp:

(WebKit::LinkHighlight::computeHighlightLayerPathAndPosition):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::minimumScrollOffset):
(WebKit::WebFrameImpl::maximumScrollOffset):

11:19 PM Changeset in webkit [139036] by commit-queue@webkit.org
  • 10 edits
    6 adds in trunk

INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of month/day field should respect min/max attributes
https://bugs.webkit.org/show_bug.cgi?id=106212

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2013-01-07
Reviewed by Kent Tamura.

Source/WebCore:

Make step-up/-down of the month and day fields respect the min/max
attributes of the element.
Note that these fields still accept any keyboard inputs (the element
becomes 'invalid' state when out-of-bounds values entered).

Tests: fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html

fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html
fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html
fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer.html

  • css/html.css: Add CSS rules for month and day fields.
  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditBuilder::visitField):
Compute minimum/maximum values of month/day fields from the min/max
parameters of the element. If minimum, maximum, and current value is
the same, makes the field read-only.

  • html/shadow/DateTimeFieldElements.cpp:

(WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement): Ditto.
(WebCore::DateTimeDayFieldElement::create): Ditto.
(WebCore::DateTimeDayFieldElement::clampValueForHardLimits): Added.
(WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeMonthFieldElement::create): Ditto.
(WebCore::DateTimeMonthFieldElement::clampValueForHardLimits): Added.
(WebCore::DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeSymbolicMonthFieldElement::create): Ditto.

  • html/shadow/DateTimeFieldElements.h:

(DateTimeDayFieldElement): Add mininum/maximum arguments and declare clampValueForHardLimits.
(DateTimeMonthFieldElement): Ditto.
(DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.

  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement): Add mininum/maximum arguments.
(WebCore::DateTimeSymbolicFieldElement::maximum): Returns m_maximumIndex + 1 as it assumes 1-origin value.
(WebCore::DateTimeSymbolicFieldElement::minimum): Ditto.
(WebCore::DateTimeSymbolicFieldElement::stepDown): Restrict value to m_minimumIndex-m_maximumIndex.
(WebCore::DateTimeSymbolicFieldElement::stepUp): Ditto.

  • html/shadow/DateTimeSymbolicFieldElement.h:

(DateTimeSymbolicFieldElement): Add m_minimumIndex and m_maximumIndex.
(WebCore::DateTimeSymbolicFieldElement::isInRange): Added.

LayoutTests:

  • fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield-expected.txt:
  • fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html: Add tests for month and day fields.
  • fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added.
  • fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer.html: Added.
11:18 PM Changeset in webkit [139035] by keishi@webkit.org
  • 13 edits in branches/chromium/1364

Merge 138365

Fix typing zero into multiple field input
https://bugs.webkit.org/show_bug.cgi?id=105501

Reviewed by Kent Tamura.

Source/WebCore:

We have a couple of problems when handling zero in a multiple fields
element.

  1. Typing '02' into a month field will set '12'.
  2. Typing '0' into 12 hour hour field will set '12' and move to the focus to the next field.

This change adds a type ahead buffer so we can handle these cases
properly. If the value in the type ahead buffer is valid we set it so a
change event will fire.

Added tests to *-multiple-fields-keyboard-events.html.

  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::didBlur): Clear the type ahead
buffer. handleKeyboardEvent() won't set the type ahead value if it is
not in range, so we set the value here.
(WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
(WebCore::DateTimeNumericFieldElement::setEmptyValue): Clear type ahead buffer.
(WebCore::DateTimeNumericFieldElement::setValueAsInteger):
(WebCore::DateTimeNumericFieldElement::stepDown): Clear type ahead buffer.
(WebCore::DateTimeNumericFieldElement::stepUp): Clear type ahead buffer.
(WebCore::DateTimeNumericFieldElement::typeAheadValue): Returns integer
value for the type ahead characters.
(WebCore):
(WebCore::DateTimeNumericFieldElement::visibleValue): If we have type
ahead characters, show that.

  • html/shadow/DateTimeNumericFieldElement.h:

(DateTimeNumericFieldElement):

LayoutTests:

  • fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html:
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events.html:
  • fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html:
  • fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html:

TBR=keishi@webkit.org
Review URL: https://codereview.chromium.org/11801035

11:07 PM Changeset in webkit [139034] by Christophe Dumez
  • 4 edits in trunk

[CoordinatedGraphics] compositing/repaint/resize-repaint.html is failing
https://bugs.webkit.org/show_bug.cgi?id=104637

Reviewed by Noam Rosenthal.

Source/WebKit2:

r137526 attempted to fix excessive repainting when compositing layers
change size. However, the fix did not suffice for ports using Coordinated
Graphics because CoordinatedGraphicsLayer::setSize() was calling
setNeedsDisplay() causing a full repaint.

This patch removes the call to setNeedsDisplay() in
CoordinatedGraphicsLayer::setSize() so that we don't unconditionally
repaint CoordinatedGraphics layers when their size changes.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setSize):

LayoutTests:

Unskip compositing/repaint/resize-repaint.html now that Coordinated
Graphics is no longer repainting unconditionally compositing layers
when their size changes.

  • platform/efl-wk2/TestExpectations:
10:53 PM Changeset in webkit [139033] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL][WK2][WebGL] The top left side of the screen is shown inside the canvas element
https://bugs.webkit.org/show_bug.cgi?id=105136

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-07
Reviewed by Noam Rosenthal.

Use glXSwapBuffers to force resize of GL surface after X window resize.

Fixes fast/canvas/webgl/webgl-composite-modes.html pixel test on EFL platform.

  • platform/graphics/surfaces/glx/X11WindowResources.cpp:

(WebCore::X11OffScreenWindow::reSizeWindow):

10:07 PM Changeset in webkit [139032] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Use explicit constructor to convert from Int/FloatSize to Int/FloatPoint
https://bugs.webkit.org/show_bug.cgi?id=106209

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

Refactoring only, no functional change.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

10:03 PM Changeset in webkit [139031] by Christophe Dumez
  • 5 edits
    2 adds in trunk

[CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=106002

Reviewed by Noam Rosenthal.

Source/WebKit2:

Add calls to addRepaintRect() to CoordinatedGraphicsLayer so that
we can track invalidation in the composited layer.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplay): Pass a FloatRect instead
of an IntRect to setNeedsDisplayInRect() since it is what it expects.
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):

LayoutTests:

Unskip several tests that require invalidation tracking for EFL WK2 now that
it is supported by Coordinated Graphics.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt: Added.

Use same expectation as mac port.

  • platform/efl/fast/images/repaint-subrect-grid-expected.txt: Added. We are sometimes

1 pixel off compared to the global expectation likely due to lack for subpixel layout
support.

8:58 PM Changeset in webkit [139030] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL][WebGL] Crash of WebKitTestRunner when running webgl layout tests
https://bugs.webkit.org/show_bug.cgi?id=105936

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-07
Reviewed by Laszlo Gombos.

If canvas window becomes invalid don't create pixmap from it and don't
use it for painting.

Improves stability of existing webgl layout tests.

  • platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:

(WebCore::GraphicsSurfacePrivate::createPixmap):
(WebCore::GraphicsSurfacePrivate::size):
(WebCore::GraphicsSurface::platformGetTextureID):
(WebCore::GraphicsSurface::platformPaintToTextureMapper):

8:39 PM Changeset in webkit [139029] by morrita@google.com
  • 4 edits
    2 adds in trunk

Document::m_activeNode should be always an Element.
https://bugs.webkit.org/show_bug.cgi?id=106193

Reviewed by Ryosuke Niwa.

Source/WebCore:

r137277 tightened an invariant that assumes that active node is
always an element. But Document::updateHoverActiveState() didn't
respect that assumption. This change forces it.

Test: svg/custom/text-use-click-crash.html

  • dom/Document.cpp:

(WebCore::Document::removedLastRef):
(WebCore::Document::detach):
(WebCore::Document::setActiveNode):
(WebCore::Document::activeChainNodeDetached):
(WebCore::Document::updateHoverActiveState):

  • dom/Document.h:

(WebCore::Document::activeElement): Renamed from m_activeNode for the clarification.
(Document):

LayoutTests:

  • svg/custom/text-use-click-crash-expected.txt: Added.
  • svg/custom/text-use-click-crash.html: Added.
8:24 PM Changeset in webkit [139028] by wangxianzhu@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium] Expose compositedScrollingForFramesEnabled setting in WebKit API
https://bugs.webkit.org/show_bug.cgi?id=106262

Reviewed by James Robinson.

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setCompositedScrollingForFramesEnabled):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

7:00 PM Changeset in webkit [139027] by morrita@google.com
  • 4 edits in trunk/Source/WebCore

WebKit should compile on Mac with --shadow-dom
https://bugs.webkit.org/show_bug.cgi?id=105469

Reviewed by Dimitri Glazkov.

No new tests. Just changing build files.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Element.idl:
6:58 PM Changeset in webkit [139026] by senorblanco@chromium.org
  • 7 edits in trunk/Source

Add a flag to control canvas antialiasing.
https://bugs.webkit.org/show_bug.cgi?id=106255

Reviewed by Darin Fisher.

Source/WebCore:

This flag is not exposed through TestRunner or DRT, so no testing is
possible yet.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • page/Settings.in:

Source/WebKit/chromium:

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setAntialiased2dCanvasEnabled):

  • src/WebSettingsImpl.h:
6:41 PM Changeset in webkit [139025] by jchaffraix@webkit.org
  • 5 edits
    4 adds in trunk

[CSS Grid Layout] Implement grid items sizing for fixed minmax grid tracks
https://bugs.webkit.org/show_bug.cgi?id=104700

Reviewed by Tony Chang.

Source/WebCore:

This change implements parts of the minmax() track sizing algorithm. The chosen subset enables us
to resolve any sizing function that doesn't size based on the content (min-content, max-content).

Tests: fast/css-grid-layout/minmax-fixed-logical-height-only.html

fast/css-grid-layout/minmax-fixed-logical-width-only.html

  • rendering/RenderGrid.cpp:

(WebCore::GridTrack::GridTrack):
Added a new member to hold the maximum track breadth.

(WebCore::RenderGrid::computePreferredLogicalWidths):
(WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
Updated these functions to work on both min and max track breadth. In order to match
the specification, if max track breadth < min track breadth, we ignore the max track breadth.
For computedUsedBreadthOfGridTracks, it also involves calling distributeSpaceToTracks.

(WebCore::RenderGrid::computeUsedBreadthOfLength):
New helper function that compute a single length's size.

(WebCore::sortByGridTrackGrowthPotential):
Ordering function for the sorting the track: it orders the track per increasing potential
growth (defined as the difference between max breadth and the currently used breadth).

(WebCore::RenderGrid::distributeSpaceToTracks):
Added this function that matches the specification's algorithm. Only the relevant bits from
the specification were implemented for now (for example, SubsetOfTracksForGrowthBeyondTrackGrowthConstraint
is always the empty set so it was omitted).

  • rendering/RenderGrid.h:

Added the new functions and declared GridTrack as public into the WebCore namespace.

  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::maxTrackBreadth):
Removed 2 ASSERTs as the layout algorithm doesn't care if the min / max were
set from a single track breadth or through minmax().

LayoutTests:

  • fast/css-grid-layout/minmax-fixed-logical-height-only-expected.txt: Added.
  • fast/css-grid-layout/minmax-fixed-logical-height-only.html: Added.
  • fast/css-grid-layout/minmax-fixed-logical-width-only-expected.txt: Added.
  • fast/css-grid-layout/minmax-fixed-logical-width-only.html: Added.
5:51 PM Changeset in webkit [139024] by wangxianzhu@chromium.org
  • 7 edits
    2 adds in trunk

Add a setting to enable composited scrolling for frames
https://bugs.webkit.org/show_bug.cgi?id=104950

Reviewed by James Robinson.

Source/WebCore:

Test: compositing/iframes/iframe-composited-scrolling.html

  • page/FrameView.cpp:

(WebCore::FrameView::usesCompositedScrolling): Returns true if compositedScrollingForFramesEnabled and the frame is in forced compositing mode (which is set when forced compositing mode and compositing for scrollable frames are enabled), so that ScrollingCoordinator won't include the region of the frame in the nonFastScrollableRegion.
(WebCore):

  • page/FrameView.h:

(FrameView):

  • page/Settings.in: Add compositedScrollingForFramesEnabled setting.
  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated): Changed the comment about which ScrollableAreas are non-fast-scrollable.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidScroll): Let ScrollongCoordinator know when the scrolling changes for a frame with composited scrolling enabled.

LayoutTests:

Test case to ensure iframes are not added into nonFastScrollableRegion when acceleratedCompositingForScrollableFramesEnabled and compositedScrollingForFramesEnabled.

  • compositing/iframes/iframe-composited-scrolling-expected.txt: Added.
  • compositing/iframes/iframe-composited-scrolling.html: Added.
5:45 PM Changeset in webkit [139023] by andersca@apple.com
  • 75 edits in trunk/Source/WebKit2

Remove PLATFORM(WIN) #ifdefs
https://bugs.webkit.org/show_bug.cgi?id=106279

Reviewed by Sam Weinig.

  • Platform/CoreIPC/BinarySemaphore.cpp:
  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::waitForSyncReply):

  • Platform/CoreIPC/Connection.h:

(Client):

  • Platform/Module.cpp:

(WebKit::Module::Module):

  • Platform/Module.h:

(Module):

  • Platform/PlatformProcessIdentifier.h:

(WebKit):

  • Shared/CommandLine.h:

(CommandLine):

  • Shared/FontSmoothingLevel.h:
  • Shared/LayerTreeContext.h:

(LayerTreeContext):

  • Shared/NativeWebKeyboardEvent.h:

(NativeWebKeyboardEvent):

  • Shared/NativeWebMouseEvent.h:

(NativeWebMouseEvent):

  • Shared/NativeWebWheelEvent.h:

(NativeWebWheelEvent):

  • Shared/PlatformPopupMenuData.cpp:

(WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h:

(PlatformPopupMenuData):

  • Shared/Plugins/PluginModuleInfo.h:

(PluginModuleInfo):
(WebKit::PluginModuleInfo::isolatedCopy):

  • Shared/ShareableBitmap.h:

(ShareableBitmap):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebEvent.h:

(WebMouseEvent):

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):

  • Shared/WebMouseEvent.cpp:

(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode):
(WebKit::WebMouseEvent::decode):

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters):

  • Shared/WebPreferencesStore.h:

(WebKit):

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:

(WebProcessCreationParameters):

  • Shared/WebURLRequest.h:
  • Shared/WebURLResponse.h:
  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::ShareableBitmap::makeCGImageCopy):

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toFontSmoothingLevel):
(WebKit::toAPI):

  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/BackingStore.h:

(BackingStore):

  • UIProcess/PageClient.h:

(WebKit):
(PageClient):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):

  • UIProcess/WebContext.h:

(WebContext):

  • UIProcess/WebFullScreenManagerProxy.h:

(WebKit):

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::WebInspectorProxy):

  • UIProcess/WebInspectorProxy.h:

(WebInspectorProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::creationParameters):
(WebKit):

  • UIProcess/WebPageProxy.h:

(WebKit):
(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

  • WebKit2Prefix.h:
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameCopyWebArchiveFilteringSubframes):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):

  • WebProcess/InjectedBundle/InjectedBundle.h:

(WebKit):
(InjectedBundle):

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetValue):

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:

(NetscapePlugin):

  • WebProcess/Plugins/PluginController.h:

(PluginController):

  • WebProcess/Plugins/PluginView.cpp:
  • WebProcess/Plugins/PluginView.h:

(PluginView):

  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
(WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection):
(WebKit):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

  • WebProcess/WebCoreSupport/WebDragClient.cpp:

(WebKit):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::respondToChangedSelection):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

(WebFrameLoaderClient):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  • WebProcess/WebCoreSupport/WebPopupMenu.cpp:

(WebKit::WebPopupMenu::updateFromElement):

  • WebProcess/WebKitMain.cpp:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit):
(DrawingArea):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::createGraphicsContext):

  • WebProcess/WebPage/DrawingAreaImpl.h:

(DrawingAreaImpl):

  • WebProcess/WebPage/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::create):

  • WebProcess/WebPage/LayerTreeHost.h:

(WebCore):
(WebKit):
(LayerTreeHost):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit):

  • WebProcess/WebPage/WebFrame.h:

(WebFrame):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::installPageOverlay):
(WebKit::WebPage::uninstallPageOverlay):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensurePrivateBrowsingSession):
(WebKit::WebProcess::destroyPrivateBrowsingSession):

  • WebProcess/WebProcess.h:

(WebProcess):

  • WebProcess/WebProcess.messages.in:
  • config.h:
5:39 PM Changeset in webkit [139022] by aelias@chromium.org
  • 2 edits
    3 adds in trunk

Divide gesture scroll delta by scale factor
https://bugs.webkit.org/show_bug.cgi?id=106263

Reviewed by Adam Barth.

Gesture scroll deltas were not being adjusted by the frame's scale
factors, resulting in overly fast main-thread scrolling when zoomed
in.

New test: fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleGestureScrollCore):

5:23 PM Changeset in webkit [139021] by fpizlo@apple.com
  • 13 edits in trunk

Rationalize closure call heuristics and profiling
https://bugs.webkit.org/show_bug.cgi?id=106270

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Did a number of things:

  • CallLinkInfo now remembers if it was ever a closure call, and CallLinkStatus uses this. Reduces the likelihood that we will inline a closure call as if it was a normal call.


  • Made InlineCallFrame print inferred function names, and refactored CodeBlock::inferredName() to better use FunctionExecutable's API.


  • Made bytecode dumping print frequent exit sites that led to recompilation.


  • Made bytecode dumping for op_call and op_construct print what the CallLinkStatus saw.


  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::CallLinkInfo):
(CallLinkInfo):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::inferredName):
(JSC::CodeBlock::dumpBytecodeCommentAndNewLine):
(JSC::CodeBlock::printCallOp):

  • bytecode/CodeOrigin.cpp:

(JSC::CodeOrigin::dump):
(JSC::InlineCallFrame::inferredName):
(JSC):
(JSC::InlineCallFrame::dumpBriefFunctionInformation):
(JSC::InlineCallFrame::dump):

  • bytecode/CodeOrigin.h:

(InlineCallFrame):

  • bytecode/DFGExitProfile.cpp:

(JSC::DFG::ExitProfile::exitSitesFor):
(DFG):

  • bytecode/DFGExitProfile.h:

(ExitProfile):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

Source/WTF:

Reviewed by Oliver Hunt.

Add a macro to add a method to a class that returns a dumper. Allows you to have
secondary dump() methods for dumping either more or less information.

  • wtf/PrintStream.h:

(WTF):

Tools:

Reviewed by Oliver Hunt.

Add ability to use display-profiler-output via a pipe, and add the ability to dump
all generated code ('display *' or 'd *').

  • Scripts/display-profiler-output:
5:21 PM Changeset in webkit [139020] by abarth@webkit.org
  • 14 edits in trunk

HTMLTreeBuilder should not depend on Frame
https://bugs.webkit.org/show_bug.cgi?id=106256

Reviewed by Eric Seidel.

Source/WebCore:

Rather than have the tree builder ask the Frame whether scripting and
plugins are enabled, we now push that information to the tree builder
via HTMLParserOptions, letting us remove the Frame dependency from the
tree builder.

As a consequence of this change, the "script enabled" bit in the parser
is now locked in when the parser starts. This bit doesn't actually
control when script execute, only how the <noscript> element is parsed.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::tokenizerStateForContextElement):
(WebCore::HTMLDocumentParser::HTMLDocumentParser):

  • html/parser/HTMLMetaCharsetParser.cpp:

(WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset):

  • html/parser/HTMLParserOptions.cpp:

(WebCore::HTMLParserOptions::HTMLParserOptions):

  • html/parser/HTMLParserOptions.h:

(HTMLParserOptions):
(WebCore::HTMLParserOptions::HTMLParserOptions):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
(WebCore::HTMLPreloadScanner::processToken):

  • html/parser/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::updateStateFor):

  • html/parser/HTMLTokenizer.h:

(WebCore::HTMLTokenizer::create):
(HTMLTokenizer):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):

  • html/parser/HTMLTreeBuilder.h:
  • html/parser/HTMLViewSourceParser.cpp:

(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
(WebCore::HTMLViewSourceParser::updateTokenizerState):

LayoutTests:

I needed to update this test slightly because now we lock in the
"script enabled" bit for the parser when the parser starts. That means
we'll parse the document in a consistent way even if the "script
enabled" bit gets flipped later.

  • fast/parser/noscript-with-javascript-disabled-expected.txt:
  • fast/parser/noscript-with-javascript-disabled.html:
5:19 PM Changeset in webkit [139019] by ap@apple.com
  • 2 edits
    2 deletes in trunk/Source/WebKit2

[WK2] Delete more obsolete Keychain code
https://bugs.webkit.org/show_bug.cgi?id=106276

Reviewed by Sam Weinig.

Deleting dead code.

  • Shared/mac/KeychainAttribute.cpp: Removed.
  • Shared/mac/KeychainAttribute.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
5:17 PM Changeset in webkit [139018] by ap@apple.com
  • 3 edits
    2 deletes in trunk/Source/WebKit2

[WK2] Merge SecItemShimMethods files into SecItemShim
https://bugs.webkit.org/show_bug.cgi?id=106278

Reviewed by Anders Carlsson.

Now that we have a SecItemShim class, there is no reason to split implementation
into a separate file.

  • Shared/mac/SecItemShim.cpp: (WebKit::responseMap): (WebKit::generateSecItemRequestID): (WebKit::sendSecItemRequest): (WebKit::webSecItemCopyMatching): (WebKit::webSecItemAdd): (WebKit::webSecItemUpdate): (WebKit::webSecItemDelete): (WebKit::SecItemShim::secItemResponse): (WebKit::SecItemShim::install):
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/mac/SecItemShimMethods.h: Removed.
  • WebProcess/mac/SecItemShimMethods.mm: Removed.
5:08 PM Changeset in webkit [139017] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Don't use double tap zoom if minimum and maximum page scale is the same
https://bugs.webkit.org/show_bug.cgi?id=106272

Patch by Yusuf Ozuysal <yusufo@google.com> on 2013-01-07
Reviewed by James Robinson.

We should only try to computed relevant scale and scrollOffset and start the animation
if the page is zoomable. This now creates an undesired animation for mobile pages which
are not zoomable.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

5:00 PM Changeset in webkit [139016] by tony@chromium.org
  • 8 edits in trunk

Remove more internals.settings that are autogenerated
https://bugs.webkit.org/show_bug.cgi?id=106253

Reviewed by Adam Barth.

Source/WebCore:

Remove 8 methods that are autogenerated by Settings.in.

No new tests, this is a refactor and is convered by existing tests.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup): Remove backup.
(WebCore::InternalSettings::Backup::restoreTo): Remove restore.

  • testing/InternalSettings.h:

(Backup): Remove member variables and functions.
(InternalSettings):

  • testing/InternalSettings.idl: Remove functions.

LayoutTests:

These tests were manually trying to reset setMediaPlaybackRequiresUserGesture
when the test ended because they weren't using the InternalSettings::Backup to
save/restore the prefs. The autogenerated code will properly reset these prefs
before the next test.

  • media/no-autoplay-with-user-gesture-requirement.html:
  • media/video-load-require-user-gesture.html:
  • media/video-play-require-user-gesture.html:
4:59 PM Changeset in webkit [139015] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Another incremental build fix after r139013.

  • mathml/MathMLAllInOne.cpp:
4:52 PM Changeset in webkit [139014] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Incremental build system on Windows port does not necessarily rebuild RenderBox.cpp after r139013.

  • rendering/RenderingAllInOne.cpp:
4:39 PM Changeset in webkit [139013] by eae@chromium.org
  • 5 edits
    2 adds in trunk

REGRESSION(SUBPIXEL_LAYOUT): el.offsetWidth < el.clientWidth for elements of a certain size
https://bugs.webkit.org/show_bug.cgi?id=106107

Source/WebCore:

Reviewed by Levi Weintraub.

Add overloaded pixelSnappedOffsetWidth|Height methods to
RenderBox that do pixel snapping with the same offset
as clientWidth/height to ensure consistent rounding.

Test: fast/sub-pixel/client-and-offset-width.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::pixelSnappedOffsetWidth):
(WebCore::RenderBox::pixelSnappedOffsetHeight):
Snap using the same offset as the clientWidth/height versions.

  • rendering/RenderBox.h:

Remove out of date FIXME and add OVERRIDE keyword.

  • rendering/RenderBoxModelObject.h:

Mark pixelSnappedOffsetWidth|Height as virtual.

LayoutTests:

Reviewed by Levi Weintraub.

Add test for clientWidth/offsetWidth rounding.

  • fast/sub-pixel/client-and-offset-width-expected.txt: Added.
  • fast/sub-pixel/client-and-offset-width.html: Added.
4:38 PM Changeset in webkit [139012] by rniwa@webkit.org
  • 6 edits in trunk

Source/JavaScriptCore: Sorted the xcodeproj file.

Tools: Sorted more xcodeproj files.

  • MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
4:38 PM Changeset in webkit [139011] by tony@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
4:30 PM Changeset in webkit [139010] by rniwa@webkit.org
  • 9 edits in trunk

Source/WebKit: Sorted the xcodeproj file.

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit2: Sorted the xcodeproj file.

  • WebKit2.xcodeproj/project.pbxproj:

Source/WTF: Sorted the xcodeproj file.

  • WTF.xcodeproj/project.pbxproj:

Tools: Sorted xcodeprojs files.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
4:20 PM Changeset in webkit [139009] by ap@apple.com
  • 13 edits
    6 adds in trunk/Source/WebKit2

[WK2] Make SecItemShim messages work with any process
https://bugs.webkit.org/show_bug.cgi?id=106269

Reviewed by Sam Weinig.

Add SecItemShim and SecItemShimProxy classes to manage message sending, and moved
relevant code from WebProcess(Proxy).

  • DerivedSources.make:
  • Platform/CoreIPC/MessageID.h:
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching):
  • UIProcess/WebProcessProxy.h: (WebProcessProxy):
  • UIProcess/WebProcessProxy.messages.in:
  • Shared/mac/SecItemShim.cpp: Added. (WebKit::SecItemShim::shared): (WebKit::SecItemShim::SecItemShim): (WebKit::SecItemShim::secItemResponse): (WebKit::SecItemShim::install): (WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
  • Shared/mac/SecItemShim.h: Added.
  • Shared/mac/SecItemShim.messages.in: Added.
  • UIProcess/mac/SecItemShimProxy.cpp: Added. (WebKit::SecItemShimProxy::shared): (WebKit::SecItemShimProxy::SecItemShimProxy): (WebKit::handleSecItemRequest): (WebKit::dispatchFunctionOnQueue): (WebKit::SecItemShimProxy::secItemRequest): (WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
  • UIProcess/mac/SecItemShimProxy.h: Added.
  • UIProcess/mac/SecItemShimProxy.messages.in: Added.
  • UIProcess/mac/WebProcessProxyMac.mm:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeConnection):
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/mac/SecItemShimMethods.mm: (WebKit::sendSeqItemRequest):
  • WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeProcess):
4:20 PM Changeset in webkit [139008] by abarth@webkit.org
  • 14 edits
    2 adds in trunk/Source/WebCore

Introduce HTMLParserOptions to encapsulate HTML parser options
https://bugs.webkit.org/show_bug.cgi?id=106251

Reviewed by Eric Seidel.

Currently, the HTMLTreeBuilder (and potentially other parts of the
parser) use their Document* to read configuration information from the
Document (such as Settings). This patch introduces the
HTMLParserOptions class to encapsulate that information, making it
easier to move the HTML parser to a background thread (because the
HTMLTreeBuilder won't need to talk to the Document directly).

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):

  • html/parser/HTMLDocumentParser.h:

(HTMLDocumentParser):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):

  • html/parser/HTMLPreloadScanner.h:

(WebCore):
(HTMLPreloadScanner):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):

  • html/parser/HTMLTreeBuilder.h:

(WebCore::HTMLTreeBuilder::create):
(HTMLTreeBuilder):

  • html/parser/HTMLViewSourceParser.cpp:

(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):

3:59 PM Changeset in webkit [139007] by rniwa@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

Add Mac Lion result after r138986.

  • platform/mac-lion/platform/mac/fast/text/vertical-no-sideways-expected.txt: Added.
3:57 PM Changeset in webkit [139006] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Minor improvements to HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=105353

Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::canPlayType):
(WebCore::createFileURLForApplicationCacheResource):
(WebCore::stringForNetworkState):
(WebCore::HTMLMediaElement::preload):
(WebCore::HTMLMediaElement::getPluginProxyParams):
Use ASCIILiteral for literal strings becoming WTFStrings.

(WebCore::HTMLMediaElement::setLoop):
By going through setAttribute, parseAttribute would already take care of
updating the disable sleep, so the call here is not needed.

3:57 PM Changeset in webkit [139005] by Joseph Pecoraro
  • 4 edits in trunk/Source/WebCore

String improvements in geolocation and notifications modules
https://bugs.webkit.org/show_bug.cgi?id=105352

Reviewed by Sam Weinig.

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::GeoNotifier::timerFired):
(WebCore::Geolocation::startRequest):
(WebCore::Geolocation::requestUsesCachedPosition):
(WebCore::Geolocation::makeCachedPositionCallbacks):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::cancelRequests):
(WebCore::Geolocation::handlePendingPermissionNotifiers):

  • Modules/geolocation/GeolocationController.cpp:

(WebCore::GeolocationController::positionChanged):

  • Modules/notifications/WorkerContextNotifications.cpp:

Use ASCIILiteral for constant strings becoming WTFStrings.

(WebCore::WorkerContextNotifications::from):
Use AtomicString::ConstructFromLiteral for the static local.

3:49 PM Changeset in webkit [139004] by fpizlo@apple.com
  • 10 edits in trunk/Source

Unreviewed, it should be possible to build JSC on ARM.

Source/JavaScriptCore:

  • API/JSBase.h:
  • jit/JITStubs.cpp:

(JSC::performPlatformSpecificJITAssertions):
(JSC):

  • jit/JITStubs.h:

(JSC):

  • jit/JITThunks.cpp:

(JSC::JITThunks::JITThunks):

  • jit/JITThunks.h:

(JITThunks):

  • offlineasm/armv7.rb:
  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::IncrementalScavenge):

3:35 PM Changeset in webkit [139003] by andersca@apple.com
  • 1 edit
    76 deletes in trunk/Source/WebKit2

Remove Windows files from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=106264

Reviewed by Sam Weinig.

  • Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
  • Platform/CoreIPC/win/ConnectionWin.cpp: Removed.
  • Platform/win/ModuleWin.cpp: Removed.
  • Platform/win/SharedMemoryWin.cpp: Removed.
  • Platform/win/WorkQueueWin.cpp: Removed.
  • Shared/API/c/win/WKBaseWin.h: Removed.
  • Shared/API/c/win/WKCertificateInfoWin.cpp: Removed.
  • Shared/API/c/win/WKCertificateInfoWin.h: Removed.
  • Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
  • Shared/cg/win/ShareableBitmapCGWin.cpp: Removed.
  • Shared/win/CoalescedWindowGeometriesUpdater.cpp: Removed.
  • Shared/win/CoalescedWindowGeometriesUpdater.h: Removed.
  • Shared/win/CommandLineWin.cpp: Removed.
  • Shared/win/LayerTreeContextWin.cpp: Removed.
  • Shared/win/NativeWebKeyboardEventWin.cpp: Removed.
  • Shared/win/NativeWebMouseEventWin.cpp: Removed.
  • Shared/win/NativeWebWheelEventWin.cpp: Removed.
  • Shared/win/PlatformCertificateInfo.cpp: Removed.
  • Shared/win/PlatformCertificateInfo.h: Removed.
  • Shared/win/ShareableBitmapWin.cpp: Removed.
  • Shared/win/WebCoreArgumentCodersWin.cpp: Removed.
  • Shared/win/WebEventFactory.cpp: Removed.
  • Shared/win/WebEventFactory.h: Removed.
  • Shared/win/WebKitBundle.cpp: Removed.
  • Shared/win/WebKitBundle.h: Removed.
  • Shared/win/WebURLRequestWin.cpp: Removed.
  • Shared/win/WebURLResponseWin.cpp: Removed.
  • Shared/win/WindowGeometry.cpp: Removed.
  • Shared/win/WindowGeometry.h: Removed.
  • UIProcess/API/C/win/WKAPICastWin.h: Removed.
  • UIProcess/API/C/win/WKContextPrivateWin.h: Removed.
  • UIProcess/API/C/win/WKContextWin.cpp: Removed.
  • UIProcess/API/C/win/WKView.cpp: Removed.
  • UIProcess/API/C/win/WKView.h: Removed.
  • UIProcess/API/C/win/WKViewPrivate.cpp: Removed.
  • UIProcess/API/C/win/WKViewPrivate.h: Removed.
  • UIProcess/Launcher/win/ProcessLauncherWin.cpp: Removed.
  • UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Removed.
  • UIProcess/win/BackingStoreWin.cpp: Removed.
  • UIProcess/win/TextCheckerWin.cpp: Removed.
  • UIProcess/win/WebContextMenuProxyWin.cpp: Removed.
  • UIProcess/win/WebContextMenuProxyWin.h: Removed.
  • UIProcess/win/WebContextWin.cpp: Removed.
  • UIProcess/win/WebFullScreenManagerProxyWin.cpp: Removed.
  • UIProcess/win/WebInspectorProxyWin.cpp: Removed.
  • UIProcess/win/WebPageProxyWin.cpp: Removed.
  • UIProcess/win/WebPopupMenuProxyWin.cpp: Removed.
  • UIProcess/win/WebPopupMenuProxyWin.h: Removed.
  • UIProcess/win/WebProcessProxyWin.cpp: Removed.
  • UIProcess/win/WebUndoClient.cpp: Removed.
  • UIProcess/win/WebUndoClient.h: Removed.
  • UIProcess/win/WebView.cpp: Removed.
  • UIProcess/win/WebView.h: Removed.
  • WebProcess/Downloads/cf/win/DownloadCFWin.cpp: Removed.
  • WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: Removed.
  • WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Removed.
  • WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
  • WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: Removed.
  • WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Removed.
  • WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Removed.
  • WebProcess/WebCoreSupport/win/WebDragSource.cpp: Removed.
  • WebProcess/WebCoreSupport/win/WebDragSource.h: Removed.
  • WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Removed.
  • WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Removed.
  • WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Removed.
  • WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Removed.
  • WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: Removed.
  • WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Removed.
  • WebProcess/WebPage/ca/win/WKCACFViewWindow.cpp: Removed.
  • WebProcess/WebPage/ca/win/WKCACFViewWindow.h: Removed.
  • WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Removed.
  • WebProcess/WebPage/win/LayerTreeHostWin.cpp: Removed.
  • WebProcess/WebPage/win/WebInspectorWin.cpp: Removed.
  • WebProcess/WebPage/win/WebPageWin.cpp: Removed.
  • WebProcess/win/WebProcessMainWin.cpp: Removed.
  • WebProcess/win/WebProcessWin.cpp: Removed.
3:32 PM Changeset in webkit [139002] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: the text of render counters are not exposed to Accessibility
https://bugs.webkit.org/show_bug.cgi?id=103794

Reviewed by Ryosuke Niwa.

Source/WebCore:

Support RenderText objects that don't have nodes (like RenderCounter).

Test: accessibility/render-counter-text.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):

LayoutTests:

  • accessibility/render-counter-text-expected.txt: Added.
  • accessibility/render-counter-text.html: Added.
3:29 PM Changeset in webkit [139001] by mkwst@chromium.org
  • 2 edits in trunk/Source/WebKit/qt

[qt] Fix ENABLE_IFRAME_SEAMLESS=0 builds.
https://bugs.webkit.org/show_bug.cgi?id=106252

Reviewed by Eric Seidel.

Wrap the call to setSeamlessIFramesEnabled in an ifdef in order
to ensure that it's only called when IFRAME_SEAMLESS is enabled.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setSeamlessIFramesEnabled):

3:26 PM Changeset in webkit [139000] by mitz@apple.com
  • 7 edits
    1 add in trunk

[mac] WebKit1 clients can’t tell when a frame has been removed from the hierarchy
https://bugs.webkit.org/show_bug.cgi?id=106261

Reviewed by Simon Fraser.

Source/WebKit/mac:

Test: TestWebKitAPI/Tests/mac/WebViewDidRemoveFrameFromHierarchy.mm.

Added -[WebFrameLoadDelegate webView:didRemoveFrameFromHierarchy:].

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::detachedFromParent2): Added a call to the new frame load delegate
method.

  • WebView/WebDelegateImplementationCaching.h:

(WebFrameLoadDelegateImplementationCache): Added the new method to the cache.

  • WebView/WebFrameLoadDelegatePrivate.h: Declared the new delegate method.
  • WebView/WebView.mm:

(-[WebView _cacheFrameLoadDelegateImplementations]): Added the new method to the cache.

Tools:

Added a test for -[WebFrameLoadDelegate webView:didRemoveFrameFromHierarchy:].

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/WebViewDidRemoveFrameFromHierarchy.mm: Added.

(-[DidRemoveFrameFromHierarchyFrameLoadDelegate webView:didFinishLoadForFrame:]):
(-[DidRemoveFrameFromHierarchyFrameLoadDelegate webView:didRemoveFrameFromHierarchy:]):
(TestWebKitAPI):
(TestWebKitAPI::TEST):

3:23 PM Changeset in webkit [138999] by Lucas Forschler
  • 5 edits in tags/Safari-537.24.2/Source/WebCore

Merged r138997.

3:18 PM Changeset in webkit [138998] by Lucas Forschler
  • 2 edits
    1 copy
    1 delete in branches/safari-536.28-branch/LayoutTests

Merged r125813.

3:17 PM Changeset in webkit [138997] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

Tiled-layer TileCaches shouldn't unparent offscreen tiles
https://bugs.webkit.org/show_bug.cgi?id=106258
<rdar://problem/12969116>

Reviewed by Simon Fraser.

Add a setting on TiledBacking (implemented on TileCache) that controls whether or not
the TileCache should unparent offscreen tiles. We can't use this behavior for tiled-layer TileCaches
currently because m_isInWindow is not updated for tiled-layer TileCaches, and because we haven't
decided exactly what their behavior should be. So, revert to the old behavior for them.

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/mac/TileCache.h:

(TileCache): Add setUnparentsOffscreenTiles/unparentsOffscreenTiles.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::TileCache): m_unparentsOffscreenTiles defaults to false.
(WebCore::TileCache::revalidateTiles):
Return to the old behavior of always adding new layers to the layer tree regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
Return to the old behavior of never unparenting tiles regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
(WebCore::TileCache::ensureTilesForRect): Return to the old behavior of always ensuring tiles regardless of m_isInWindow if m_unparentsOffscreen$

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking): Tell primary TileCaches that it's OK to unparent offscreen tiles.

3:04 PM Changeset in webkit [138996] by ojan@chromium.org
  • 3 edits in trunk/LayoutTests

A couple more rebaselines for http://trac.webkit.org/changeset/138838.

  • platform/mac/fast/table/038-vertical-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
2:59 PM Changeset in webkit [138995] by ojan@chromium.org
  • 2 edits in trunk/Tools

Add the Apple MountainLion bots to garden-o-matic.
Eventually, we really should move away from hardcoding
the list of bots.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
2:56 PM Changeset in webkit [138994] by junov@google.com
  • 3 edits
    2 adds in trunk

Fixing memory read after free in CanvasRenderingContext2D::accessFont
https://bugs.webkit.org/show_bug.cgi?id=106244

Reviewed by Abhishek Arya.

Source/WebCore:

Using a temporary String object to hold ref count on string that is
passed by reference in CanvasRenderingContext2D::accessFont.

Test: fast/canvas/canvas-measureText.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::accessFont):

LayoutTests:

New test case to verify stability of 2D canvas method measureText.
Test case was causing a DumpRenderTree crash on builds with
AddressSantitizer instrumentation.

  • fast/canvas/canvas-measureText-expected.txt: Added.
  • fast/canvas/canvas-measureText.html: Added.
2:52 PM Changeset in webkit [138993] by jochen@chromium.org
  • 7 edits in trunk/Tools

[chromium] move web audio related methods to testrunner library
https://bugs.webkit.org/show_bug.cgi?id=106211

Reviewed by Adam Barth.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:

(WebKit):
(WebTestRunner::WebTestRunner::shouldDumpAsAudio):
(WebTestRunner::WebTestRunner::audioData):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpAsAudio):
(WebTestRunner):
(WebTestRunner::TestRunner::audioData):
(WebTestRunner::TestRunner::setAudioData):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::dump):

2:24 PM Changeset in webkit [138992] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

DOMEvents.h should include DOMProgressEvent.h
https://bugs.webkit.org/show_bug.cgi?id=106250

Reviewed by Sam Weinig.

DOMProgressEvent.h is already installed as a public header, so it should also be included by DOMEvents.h.

  • bindings/objc/DOMEvents.h:
2:12 PM Changeset in webkit [138991] by wangxianzhu@chromium.org
  • 13 edits in trunk

Add window.internals.nonFastScrollableRects for testing scrollable areas in fast/slow paths
https://bugs.webkit.org/show_bug.cgi?id=105546

Reviewed by James Robinson.

.:

Export the new symbol.

  • Source/autotools/symbols.filter:

Source/WebCore:

No new tests. Added test API for new tests of other bugs.

  • WebCore.exp.in:
  • page/Page.cpp:

(WebCore::Page::nonFastScrollableRects):
(WebCore):

  • page/Page.h:

(WebCore):
(Page):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Change to public to allow Page::nonFastScrollableRects to access.

  • page/scrolling/ScrollingCoordinator.h:

(ScrollingCoordinator):

  • testing/Internals.cpp:

(WebCore::Internals::nonFastScrollableRects):
(WebCore):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit2:

Export the new symbol.

  • win/WebKit2.def.in:
2:10 PM Changeset in webkit [138990] by tsepez@chromium.org
  • 2 edits in trunk/Source/WebCore

Document::initSecurityContext() gives parent security context to iframes with invalid URLs.
https://bugs.webkit.org/show_bug.cgi?id=104960

Reviewed by Adam Barth.

Change covers the case of an invalid non-empty URL. We know nothing
about that kind of URL and choose not to inherit origins.

  • dom/Document.cpp:

(WebCore::shouldInheritSecurityOriginFromOwner):

2:09 PM Changeset in webkit [138989] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: Regression: Contextual menu not following with VO cursor in HTML content when item is scrolled
https://bugs.webkit.org/show_bug.cgi?id=70075

Reviewed by Anders Carlsson.

On WK2 only, when accessibility opens a contextual menu, it does not honor the scroll offset.
On WK1, the attachment views handle this conversion when it's needed, but on WK2 it needs to be done manually
(similar to how the accessibility position is calculated).

No test. Cannot test the location of context menu popups on WK2 yet.

  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):

2:07 PM Changeset in webkit [138988] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Heap-buffer-overflow in WebCore::RenderBlock::clone.
https://bugs.webkit.org/show_bug.cgi?id=101984

Reviewed by Julien Chaffraix.

Source/WebCore:

Add a global in RenderBlock to prevent recursion inside splitFlow.
While inside splitFlow (multi-column handling), we move many children
using fullRemoveInsert=true, causing RenderBlock::addChild to be called
and recursing in splitFlow. This messes the tree splitting happening in
RenderBlock::splitBlocks and can cause bad casts.

Test: fast/multicol/recursive-split-flow-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):

LayoutTests:

  • fast/multicol/recursive-split-flow-crash-expected.txt: Added.
  • fast/multicol/recursive-split-flow-crash.html: Added.
2:05 PM Changeset in webkit [138987] by alokp@chromium.org
  • 9 edits in trunk/Source

[chromium] Fix PlatformContextSkia::setDrawingToImageBuffer abuse
https://bugs.webkit.org/show_bug.cgi?id=104956

Reviewed by James Robinson.

Replaced PlatformContextSkia::SetDrawingToImageBuffer with GraphicsContext::setShouldSmoothFonts.

Source/WebCore:

No new tests needed. No change in functionality.

  • platform/graphics/chromium/CompositorHUDFontAtlas.cpp:

(WebCore::CompositorHUDFontAtlas::generateFontAtlas):

  • platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:

(WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/skia/PlatformContextSkia.cpp:

(WebCore::PlatformContextSkia::couldUseLCDRenderedText):
(WebCore):

Source/WebKit/chromium:

  • src/NonCompositedContentHost.cpp:

(WebKit::NonCompositedContentHost::paintContents):
(WebKit):
(WebKit::NonCompositedContentHost::setShowDebugBorders):

  • src/PageWidgetDelegate.cpp:

(WebKit::PageWidgetDelegate::paint):

  • src/WebFontImpl.cpp:

(WebKit::WebFontImpl::drawText):

2:03 PM Changeset in webkit [138986] by enrica@apple.com
  • 4 edits
    2 adds in trunk

Some characters are not rotated properly in vertical text
https://bugs.webkit.org/show_bug.cgi?id=105663
<rdar://problem/12738911>

Source/WebCore:

Reviewed by Dan Bernstein.

Test: platform/mac/fast/text/vertical-no-sideways.html

  • platform/graphics/Font.cpp:

(WebCore::Font::isCJKIdeographOrSymbol): Added several characters to the list.

  • platform/graphics/FontFastPath.cpp:

(WebCore::shouldIgnoreRotation): Added
(WebCore::Font::glyphDataAndPageForNonCJKCharacterWithGlyphOrientation): Added logic to avoid
rotation for all the characters listed in shouldIgnoreRotation.

LayoutTests:

Reviewed by Dan Bernstein.

  • platform/mac/fast/text/vertical-no-sideways.html: Added.
  • platform/mac/platform/mac/fast/text/vertical-no-sideways-expected.txt: Added.
2:02 PM Changeset in webkit [138985] by leviw@chromium.org
  • 3 edits
    3 adds
    1 delete in trunk/LayoutTests

Unreviewed gardening. Updating test expectations following r138717.

  • platform/chromium-linux/platform/chromium/fast/events/touch: Removed.
  • platform/chromium-linux/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Removed.
  • platform/chromium-mac/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt:
  • platform/chromium-win-xp/platform/chromium/fast/events: Added.
  • platform/chromium-win-xp/platform/chromium/fast/events/touch: Added.
  • platform/chromium-win-xp/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
  • platform/chromium/TestExpectations:
1:47 PM Changeset in webkit [138984] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] fast/speech/scripted/navigate-away.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=106249

  • platform/chromium/TestExpectations: Marked as flaky.
1:45 PM Changeset in webkit [138983] by mkwst@chromium.org
  • 35 edits in trunk

Make the IFRAME_SEAMLESS flag runtime-enabled.
https://bugs.webkit.org/show_bug.cgi?id=106213

Reviewed by Ojan Vafai.

Source/WebCore:

Seamless IFrames live behind the IFRAME_SEAMLESS compile-time flag, this
patch adds another layer to that in order to enable runtime decisions
about when it should be active. This will allow ports (Chromium, for
instance) to toggle the feature on/off for particular builds without
recompiling from scratch.

  • WebCore.exp.in:
  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore):

  • bindings/generic/RuntimeEnabledFeatures.h:

(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::seamlessIFramesEnabled):
(WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled):

Add seamless IFrames to the set of runtime controlled features.

  • dom/Document.cpp:

(WebCore::Document::shouldDisplaySeamlesslyWithParent):

If seamless IFrames aren't runtime enabled, always return false from
Document::shouldDisplaySeamlesslyWithParent. As this method already
acts as the single gate that controls the rest of the system, it's
the only place we need to make the runtime check.

Source/WebKit/chromium:

  • public/WebRuntimeFeatures.h:

(WebRuntimeFeatures):

  • src/WebRuntimeFeatures.cpp:

(WebKit::WebRuntimeFeatures::enableSeamlessIFrames):
(WebKit):
(WebKit::WebRuntimeFeatures::areSeamlessIFramesEnabled):

Expose the new runtime feature to the Chromium port.

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setSeamlessIFramesEnabled):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:
  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

Add a toggle for seamless IFrames to EFL's DRTSuport.

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Add a toggle for seamless IFrames to GTK's DRTSuport.

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences seamlessIFramesEnabled]):
(-[WebPreferences setSeamlessIFramesEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Add a seamless IFrame preference to WebPreferences, and use it to
toggle the runtime state of the feature as appropriate.

Source/WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setSeamlessIFramesEnabled):

  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Add a toggle for seamless IFrames to QT's DRTSuport.

Source/WebKit2:

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetSeamlessIFramesEnabled):

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setSeamlessIFramesEnabled):
(WebKit):

  • WebProcess/InjectedBundle/InjectedBundle.h:

(InjectedBundle):

Add a toggle for seamless IFrames to InjectedBundle, and set it to
true when beginning testing.

Tools:

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::TestShell):

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::WebPage::resetSettings):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

Ensure that seamless IFrames are enabled for layout tests in each of
the ports that support seamless IFrames.

1:34 PM Changeset in webkit [138982] by ap@apple.com
  • 4 edits in trunk/Source/WebKit2

[WK2] Remove more obsolete shim code
https://bugs.webkit.org/show_bug.cgi?id=106248

Reviewed by Anders Carlsson.

Removing KeychainItemShimCallbacks, and SecItemRequestData::CopyContent, which was
only needed for that obsolete version of shim.

We now use WebProcessSecItemShimCallbacks.

  • Shared/mac/SecItemRequestData.h:
  • UIProcess/mac/WebProcessProxyMac.mm: (WebKit::handleSecItemRequest):
  • WebProcess/mac/WebProcessShim.h:
1:26 PM Changeset in webkit [138981] by weinig@apple.com
  • 9 edits
    1 copy
    1 add in trunk/Source/WebKit2

Merge child process main functions as much as possible
https://bugs.webkit.org/show_bug.cgi?id=106192

Reviewed by Anders Carlsson.

To reduce copied code, this merges the Mac main functions for the WebProcess,
NetworkProcess, PluginProcess, and SharedWorkerProcess. Since slight variations
are needed, it adds a delegate class for hooks into the main function that each
process can override if necessary.

  • NetworkProcess/mac/NetworkProcessMainMac.mm:

(WebKit::NetworkProcessMain):
Remove almost everything with a call to ChildProcessMain with the default delegate.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::platformInitializeProcess):
Move defaults registration here from PluginProcessMainMac.

  • PluginProcess/mac/PluginProcessMainMac.mm:

(PluginProcessMainDelegate):
Add a delegate for the new shared main function that does does PluginProcess
specific work.

(WebKit::PluginProcessMainDelegate::doPreInitializationWork):
Move DYLD_INSERT_LIBRARIES removal and createPluginMIMETypesPreferences special mode
to this pre-initialization hook.

(WebKit::PluginProcessMainDelegate::doPostRunWork):
Move private temporary and cache directories clean up to this post run hook.

(WebKit::PluginProcessMain):
Call the ChildProcessMain shared main function with the PluginProcess as the process
to initialize and PluginProcessMainDelegate as the main delegate.

  • Shared/mac/ChildProcessMain.h: Added.

(ChildProcessMainDelegate):
ChildProcessMainDelegate is a helper class that process can subclass to hook into
the main function.

(WebKit::ChildProcessMain):
Add a single version of the "main" function that uses the ChildProcessMainDelegate to
allow processes to hook into it.

  • Shared/mac/ChildProcessMain.mm:

(WebKit::ChildProcessMainDelegate::~ChildProcessMainDelegate):
(WebKit::ChildProcessMainDelegate::installSignalHandlers):
(WebKit::ChildProcessMainDelegate::doPreInitializationWork):
(WebKit::ChildProcessMainDelegate::getConnectionIdentifier):
(WebKit::ChildProcessMainDelegate::getClientIdentifier):
(WebKit::ChildProcessMainDelegate::getClientProcessName):
(WebKit::ChildProcessMainDelegate::doPostRunWork):
Add default implementations of the delegate hooks, most processes should be able to
use the defaults.

  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:

(WebKit::SharedWorkerProcessMain):
Remove almost everything with a call to ChildProcessMain with the default delegate.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/mac/WebProcessMainMac.mm:

(WebProcessMainDelegate):
Add a delegate for the new shared main function that does does WebProcess
specific work.

(WebKit::WebProcessMainDelegate::doPreInitializationWork):
Move DYLD_INSERT_LIBRARIES removal to this this pre-initialization hook.

(WebKit::WebProcessMainDelegate::getConnectionIdentifier):
A custom getConnectionIdentifier is necessary for the WebProcess to keep support for having the WebProcess
be able to launch the UIProcess (for debugging purposes).

(WebKit::WebProcessMainDelegate::getClientIdentifier):
For the same reasons as about, a custom getClientIdentifier is needed.

(WebKit::WebProcessMain):
Call the ChildProcessMain shared main function with the WebProcess as the process
to initialize and WebProcessMainDelegate as the main delegate.

1:21 PM Changeset in webkit [138980] by jochen@chromium.org
  • 6 edits in trunk/Tools

[chromium] move dumpAsText and friends to the TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=106222

Reviewed by Adam Barth.

This moves dumpAsText, dumpChildFramesAsText, and dumpChildFrameScrollPositions to the TestRunner library.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:

(WebTestRunner::WebTestRunner::shouldDumpAsText):
(WebTestRunner::WebTestRunner::setShouldDumpAsText):
(WebTestRunner::WebTestRunner::shouldGeneratePixelResults):
(WebTestRunner::WebTestRunner::setShouldGeneratePixelResults):
(WebTestRunner::WebTestRunner::shouldDumpChildFrameScrollPositions):
(WebTestRunner::WebTestRunner::shouldDumpChildFramesAsText):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpAsText):
(WebTestRunner):
(WebTestRunner::TestRunner::setShouldDumpAsText):
(WebTestRunner::TestRunner::shouldGeneratePixelResults):
(WebTestRunner::TestRunner::setShouldGeneratePixelResults):
(WebTestRunner::TestRunner::shouldDumpChildFrameScrollPositions):
(WebTestRunner::TestRunner::shouldDumpChildFramesAsText):
(WebTestRunner::TestRunner::dumpAsText):
(WebTestRunner::TestRunner::dumpChildFrameScrollPositions):
(WebTestRunner::TestRunner::dumpChildFramesAsText):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

12:58 PM Changeset in webkit [138979] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Touch Events are falling through fullscreen video
https://bugs.webkit.org/show_bug.cgi?id=106112

Patch by Genevieve Mak <gmak@rim.com> on 2013-01-07
Reviewed by Rob Buis.

Reviewed Internally by Jakob Petsovits.
PR #274326
Do not do viewport centering calculations if in fullscreen video.
The offset should be zero.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

12:53 PM Changeset in webkit [138978] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

LayoutUnit(unsigned long long value) compile failure
https://bugs.webkit.org/show_bug.cgi?id=106239

Cast the result of ('unsigned long long' * 'int') to an int before storing in m_value
to avoid compile failure on some platforms.

Reviewed by Ryosuke Niwa.

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::LayoutUnit): Cast to int after multiplication.

12:47 PM Changeset in webkit [138977] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Handle the new AuthRetry result code in NetworkJob::notifyAuthReceived
https://bugs.webkit.org/show_bug.cgi?id=106233

Patch by Joe Mason <jmason@rim.com> on 2013-01-07
Reviewed by Rob Buis.

Internal PR: 270683
FilterStream::notifyAuthReceived has a new result code, AuthRetry. When it's received we
need to handle it by resending the request with the same credentials.

Reviewed internally by Leo Yang.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::notifyAuthReceived):

  • platform/network/blackberry/NetworkJob.h:

(NetworkJob):

12:33 PM Changeset in webkit [138976] by pdr@google.com
  • 2 edits in trunk/Source/WebCore

Clear pending container size requests as early as possible
https://bugs.webkit.org/show_bug.cgi?id=106162

Reviewed by Eric Seidel.

http://trac.webkit.org/changeset/137981 contained a bug where pending container size
requests were only cleared for images that use container sizes. Bitmap images do not use
container sizes so these requests were not being cleared. This patch does the trivial
refactoring so that container size requests are cleared as early as possible.

No new tests as this is just a refactoring of some messy code added in r137981.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::createImage):

12:23 PM Changeset in webkit [138975] by Dimitri Glazkov
  • 1 edit
    1 move in trunk/LayoutTests

[Chromium] Rebaseline webaudio/realtimeanalyser-fft-sizing.html.

  • platform/chromium-win/webaudio/realtimeanalyser-fft-sizing-expected.txt: Renamed from LayoutTests/platform/chromium-win-xp/webaudio/realtimeanalyser-fft-sizing-expected.txt.
11:52 AM Changeset in webkit [138974] by inferno@chromium.org
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r137632.
http://trac.webkit.org/changeset/137632
https://bugs.webkit.org/show_bug.cgi?id=106237

Caused major security regressions on ClusterFuzz (Requested by
inferno-sec on #webkit).

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

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::startDelayUpdateScrollInfo):
(WebCore::RenderBlock::finishDelayUpdateScrollInfo):

LayoutTests:

  • mathml/mo-stretch-crash-expected.txt: Removed.
  • mathml/mo-stretch-crash.html: Removed.
11:52 AM Changeset in webkit [138973] by Simon Fraser
  • 12 edits in trunk/Source/WebKit2

Make WKViews work when layer-backed
https://bugs.webkit.org/show_bug.cgi?id=106166

Reviewed by Sam Weinig.

When not in TileCache mode, WebKit2 views had redraw problems on scrolling,
if layer-backed.

The issue is that the DrawingAreaProxy code tries to optimize scrolling by
calling -scrollRect:by: on the WKView (an NSView) to copy bits, rather than
repainting the entire view. However, -scrollRect:by: does nothing for NSViews
that have layers.

Fix by plumbing through a canScrollView() function which PageClientImpl()
implements, returning true if the view does not have layer backing.
When canScrollView() is false, DrawingAreaProxyImpl::incorporateUpdate()
dirties the entire view.

  • UIProcess/API/gtk/PageClientImpl.h:

(WebKit::PageClientImpl::canScrollView):

  • UIProcess/API/mac/PageClientImpl.h:

(PageClientImpl):

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::canScrollView):

  • UIProcess/API/qt/raw/qrawwebview_p_p.h:

(QRawWebViewPrivate::canScrollView):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::incorporateUpdate):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::canScrollView):

  • UIProcess/WebPageProxy.h:
  • UIProcess/efl/PageClientBase.h:

(WebKit::PageClientBase::canScrollView):

  • UIProcess/qt/QtPageClient.h:

(WebKit::QtPageClient::canScrollView):

  • UIProcess/win/WebView.h:

(WebKit::WebView::canScrollView):

11:44 AM Changeset in webkit [138972] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Rebaseline svg/W3C-SVG-1.1/paths-data-03-f.svg.

  • platform/chromium-win/svg/W3C-SVG-1.1/paths-data-03-f-expected.png: Updated expectation.
11:41 AM Changeset in webkit [138971] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Tests in svg/dynamic-updates are flaky..
https://bugs.webkit.org/show_bug.cgi?id=106238

  • platform/chromium/TestExpectations: Marked as flaky.
11:40 AM Changeset in webkit [138970] by commit-queue@webkit.org
  • 12 edits
    1 add in trunk/Source

MIPS LLInt implementation.
https://bugs.webkit.org/show_bug.cgi?id=99706

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-01-07
Reviewed by Filip Pizlo.

LLInt implementation for MIPS.

Source/JavaScriptCore:

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::jump):

  • dfg/DFGOperations.cpp:

(JSC):

  • jit/JITStubs.cpp:

(JSC):

  • jit/JITStubs.h:

(JITStackFrame):

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • offlineasm/backends.rb:
  • offlineasm/instructions.rb:
  • offlineasm/mips.rb: Added.

Source/WTF:

  • wtf/Platform.h:
11:36 AM Changeset in webkit [138969] by inferno@chromium.org
  • 1 edit
    2 deletes in branches/chromium/1312

Revert 137759
Review URL: https://codereview.chromium.org/11784026

11:31 AM Changeset in webkit [138968] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Roll out r136173 as there are alternative approaches from the client sides now
https://bugs.webkit.org/show_bug.cgi?id=106236

Unreviewed, rolling out r136173.
This becomes unnecessary now as there are alternative approaches to
solve the issue from the client sides.

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::createWindow):

11:24 AM Changeset in webkit [138967] by ojan@chromium.org
  • 20 edits
    2 copies
    1 move
    8 adds in trunk/LayoutTests

Rebaselines after http://trac.webkit.org/changeset/138838.

  • platform/chromium-mac-lion/fast/ruby/base-shorter-than-text-expected.txt:
  • platform/chromium-mac-lion/fast/table/038-vertical-expected.png:
  • platform/chromium-mac-lion/fast/table/border-collapsing/004-vertical-expected.png:
  • platform/chromium-mac-snowleopard/fast/table/038-vertical-expected.png:
  • platform/chromium-mac-snowleopard/fast/table/border-collapsing/004-vertical-expected.png:
  • platform/chromium-mac/fast/ruby/base-shorter-than-text-expected.txt:
  • platform/chromium-mac/fast/table/038-vertical-expected.png:
  • platform/chromium-mac/fast/table/038-vertical-expected.txt: Copied from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
  • platform/chromium-mac/fast/table/border-collapsing/004-vertical-expected.png:
  • platform/chromium-mac/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/chromium-win-xp/fast/ruby/base-shorter-than-text-expected.txt:
  • platform/chromium-win-xp/fast/table/038-vertical-expected.png: Added.
  • platform/chromium-win-xp/fast/table/border-collapsing/004-vertical-expected.png: Added.
  • platform/chromium/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/ruby/base-shorter-than-text-expected.txt:
  • platform/gtk/fast/table/038-vertical-expected.txt:
  • platform/gtk/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/mac-lion/fast/table/038-vertical-expected.txt: Copied from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
  • platform/mac-lion/fast/table/border-collapsing/004-vertical-expected.txt: Added.
  • platform/mac-wk2/fast/table/038-vertical-expected.txt: Renamed from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
  • platform/mac-wk2/fast/table/border-collapsing/004-vertical-expected.txt: Added.
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/qt/fast/table/038-vertical-expected.txt:
  • platform/qt/fast/table/border-collapsing/004-vertical-expected.txt:
11:21 AM Changeset in webkit [138966] by victor@rosedu.org
  • 3 edits
    2 adds in trunk

[Track] Rendering crash
https://bugs.webkit.org/show_bug.cgi?id=106199

Reviewed by Eric Carlson.

Source/WebCore:

The browser is crashing if a text track is added through JavaScript,
due to the fact that the containing block is not marked as inline at
the time RenderTextTrackCue::layout() is called. The fix consists
of ensuring that the pseudo id is set, even if the track isn't
yet visible.

Test: media/track/track-cue-inline-assertion-crash.html

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::updateDisplayTree): The pseudo-id should
be set when the display tree is generated.
(WebCore::TextTrackCue::getDisplayTree): Added extra check to not
do unneccessary logic if the track will never be displayed.

LayoutTests:

  • media/track/track-cue-inline-assertion-crash-expected.txt: Added.
  • media/track/track-cue-inline-assertion-crash.html: Added.
11:04 AM Changeset in webkit [138965] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Build fix attempt after r138810.

Apparently python 2.6 is really bad at floating point computation.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(MainTest.test_run_memory_test):

11:03 AM Changeset in webkit [138964] by commit-queue@webkit.org
  • 8 edits in trunk

[JSC] Copy non-index properties of arrays in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=105575

Patch by Michael Pruett <michael@68k.org> on 2013-01-07
Reviewed by Oliver Hunt.

The structured cloning algorithm requires copying all properties of
array objects, including non-index properties.

Source/WebCore:

Tests: fast/storage/serialized-script-value.html

storage/indexeddb/structured-clone.html

  • bindings/js/SerializedScriptValue.cpp:

(WebCore):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::putProperty):
(WebCore::CloneDeserializer::deserialize):

LayoutTests:

  • fast/storage/resources/serialized-script-value.js:
  • fast/storage/serialized-script-value-expected.txt:
  • fast/storage/serialized-script-value.html:
  • platform/chromium/fast/storage/serialized-script-value-expected.txt:
  • platform/chromium/fast/storage/serialized-script-value.html:
10:53 AM Changeset in webkit [138963] by alecflett@chromium.org
  • 10 edits in trunk/Source

IndexedDB: Stub out async IDBDatabaseBackendInterface::createObjectStore
https://bugs.webkit.org/show_bug.cgi?id=106148

Reviewed by Adam Barth.

Source/WebCore:

These methods are becoming async in multiprocess ports, so stub out
versions that have no return values.

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

(IDBDatabaseBackendInterface):

Source/WebKit/chromium:

Stub out WebKit API for async createObjectStore.

  • public/WebIDBDatabase.h:

(WebIDBDatabase):

  • src/IDBDatabaseBackendProxy.cpp:

(WebKit::IDBDatabaseBackendProxy::createObjectStore):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::deleteObjectStore):

  • src/IDBDatabaseBackendProxy.h:

(IDBDatabaseBackendProxy):

  • src/WebIDBDatabaseImpl.cpp:

(WebKit::WebIDBDatabaseImpl::createObjectStore):
(WebKit):
(WebKit::WebIDBDatabaseImpl::deleteObjectStore):

  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

10:40 AM Changeset in webkit [138962] by ap@apple.com
  • 15 edits in trunk/Source/WebCore

ResourceHandle::willLoadFromCache is evil
https://bugs.webkit.org/show_bug.cgi?id=106147

Reviewed by Brady Eidson.

For back/forward navigations to a page that's a result of form submission, we may
never silently re-submit the form. So, we show a warning dialog when about to re-submit,
but try to load from cache if possible.

This patch changes the logic so that we always try to fetch from cache, without
any preflighting. If cache load fails, we restart the load as a known re-submit.

No behavior change expected, so no tests.

  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::handleClick): Added a FIXME.
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::startLoadingMainResource): Amended a FIXME with some information about why this call may still be needed.
  • loader/FrameLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURLIntoChildFrame): Pass an explicit argument for unchanged caching behavior. (WebCore::FrameLoader::reloadWithOverrideEncoding): Added a FIXME. This function can silently re-submit a form. (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest): Added a FIXME about an incorrect use of current load type. (WebCore::FrameLoader::addExtraFieldsToRequest): Make sure that a correct caching policy is used for subresources even if main resource was loaded from cache. We didn't need that before because initial request had wrong extra fields due to a use of m_loadType when it was first called. Removed code to change caching policy for b/f navigations. This function does not have enough context to decide what the policy should be. (WebCore::FrameLoader::loadDifferentDocumentItem): Added an argument telling the function whether it should attempt loading from cache. It should do that on first attempt to navigate to a form submission result, but not if that failed. Pass a correct loadType - m_loadType is one for _previous_ load. Removed a special case for https - we've long stopped prohibiting caching of https resources, and using a resource that's already cached should definitely be allowed. (WebCore::FrameLoader::loadItem): Pass an explicit argument for unchanged caching behavior. (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad): Added.
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::notifyFinished): Removed a check for m_resource being null, because we were immediately dereferencing it anyway. Call retryAfterFailedCacheOnlyMainResourceLoad() to let FrameLoader restart the navigation.
  • platform/network/ResourceHandle.h:
  • platform/network/blackberry/ResourceHandleBlackBerry.cpp:
  • platform/network/cf/ResourceHandleCFNet.cpp:
  • platform/network/chromium/ResourceHandle.cpp:
  • platform/network/curl/ResourceHandleCurl.cpp:
  • platform/network/mac/ResourceHandleMac.mm:
  • platform/network/qt/ResourceHandleQt.cpp:
  • platform/network/soup/ResourceHandleSoup.cpp:
  • platform/network/win/ResourceHandleWin.cpp: Removed willLoadFromCache() - the new logic is cross-platform.
10:36 AM Changeset in webkit [138961] by mihnea@adobe.com
  • 2 edits
    1 add
    13 deletes in trunk/LayoutTests

[CSS Regions] LayoutTests/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html has repainting issues
https://bugs.webkit.org/show_bug.cgi?id=97208

Reviewed by Tony Chang.

Following the fix for https://bugs.webkit.org/show_bug.cgi?id=105893, i converted this to a ref test.
Used a defined monospace font for similar results on all platforms.

  • fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.html: Added.
  • fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
  • fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html:
  • platform/chromium-linux/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
  • platform/chromium-mac-lion/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
  • platform/chromium-mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
  • platform/chromium-win/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
  • platform/chromium-win/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
  • platform/chromium/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
  • platform/gtk/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
  • platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
  • platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
  • platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
  • platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
10:34 AM Changeset in webkit [138960] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Disable deprecation warnings for GStaticRecMutex
https://bugs.webkit.org/show_bug.cgi?id=105918

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-01-07
Reviewed by Philippe Normand.

GStaticRecMutex is deprecated since glib 2.32, but we can't remove
it because it's needed by GStreamer 0.10. The solution is to
disable the deprecation warnings for that code alone.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
10:33 AM Changeset in webkit [138959] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Marked WebAudio tests that are failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=106232

  • platform/chromium/TestExpectations: Marked.
10:32 AM Changeset in webkit [138958] by pdr@google.com
  • 2 edits in trunk/Source/WebCore

Refactor client removal in CachedResource::switchClientsToRevalidatedResource
https://bugs.webkit.org/show_bug.cgi?id=106206

Previously switchClientsToRevalidatedResource() failed to call didRemoveClient() for each
client and instead simply cleared m_clients. This patch removes an incorrect comment and
refactors the code so that removeClient() and didRemoveClient() are properly called.

Reviewed by Nate Chapin.

No new tests as there are no observable changes from this refactoring.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::switchClientsToRevalidatedResource):

10:31 AM Changeset in webkit [138957] by mhahnenberg@apple.com
  • 2 edits
    1 move in trunk/Source/JavaScriptCore

testapi is failing with a block-related error in the Objc API
https://bugs.webkit.org/show_bug.cgi?id=106055

Reviewed by Geoffrey Garen.

Casting a block to a bool will always return true, which isn't the behavior that is intended here.
Instead we need to call the block, but C semantics don't allow this, so we need to change
testapi.m to be Objective-C++ and therefore testapi.mm.

  • API/tests/testapi.m: Removed.
  • API/tests/testapi.mm: Copied from Source/JavaScriptCore/API/tests/testapi.m.

(blockSignatureContainsClass):

10:28 AM Changeset in webkit [138956] by jpetsovits@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Never avoid blitting when one-shot drawing sync is involved.
https://bugs.webkit.org/show_bug.cgi?id=106225
RIM PR 274948

Reviewed by George Staikos.
Based on a patch by Chris Guan.

didRenderContent() has a mechanism to avoid double blits;
when scrolling or zooming is enabled then we don't issue
blitContents() as the client would (continually) do that
already.

However, since r138024, didRenderContents() also deals
with one-shot drawing synchronization and commits.
When these are required, we can't just skip out or the
backingstore and overlaying composited layers are likely
to get out of sync. The condition also doesn't make much
sense for direct rendering as no blit calls are issued
at all when it is enabled.

Fix the issue by limiting the impact of the scroll/zoom
early return to only regular blit operations.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::didRenderContent):

10:28 AM Changeset in webkit [138955] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Extract a class to represent a test result to simplify PerfTest.parse_output and PageLoadPerfTest._run_with_driver
https://bugs.webkit.org/show_bug.cgi?id=106172

Reviewed by Tony Chang.

Extracted PerfTestMetric, which represents a test result and knows how to compute statistics and convert itself
to a dictionary. A metric is a type of measurement each test makes such as "Time", "Malloc", and "JSHeap".
A single test (e.g. html5-full-render.html) may have multiple metrics, each of which is reported as a separate
test on perf-o-matic and perf. test's results page.

Also, use python's compute_statistics instead of reading statistics off of DriverOutput to simplify the code.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTestMetric): Added.
(PerfTestMetric.init): Added.
(PerfTestMetric.metric): Added.
(PerfTestMetric.has_values): Added.
(PerfTestMetric.legacy_chromium_bot_compatible_test_name): Added. Following the legacy convention, "Malloc" and
"JSHeap" will use "test_name:Malloc" whereas "Time" uses "test_name" itself. We should eventually move these
conversions to be done on the client side (perf-o-matic and results page).
(PerfTestMetric.append): Added.
(PerfTestMetric.to_dict): Added. Computes the statistics and generates the dictionary object that represents
a result for this metric.
(PerfTestMetric.metric_to_unit): Added. Each metric maps to exactly one unit (it's not one-to-one).
(PerfTestMetric.compute_statistics): Moved from PerfTest.

(PerfTest._create_driver): Extracted from PerfTest.run.
(PerfTest.run): Given an array of PerfTestMetric, generate the results dictionary. Also print out results
as needed.
(PerfTest._run_with_driver):
(PerfTest): Removed _result_classes and _result_class_regex. "result class" is the old name for "metric".
(PerfTest.parse_output): Dramatically simplified. We now just return an array of PerfTestMetric's. Also ignore
all keys except "values". We rely on PerfTestMetric to compute the statistics for us.

(ChromiumStylePerfTest.run): Added and merged _run_with_driver. Since chromium style perf tests are so different
from other perf tests, there isn't much point in sharing the code here.

(PageLoadingPerfTest._run_with_driver): Simplified. Just create an array of PerfTestMetric's without computing
statistics for the measured values.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTestMetric): Added.
(TestPerfTestMetric.test_init_set_missing_unit): Added.
(TestPerfTestMetric.test_legacy_chromium_bot_compatible_test_name): Added.
(TestPerfTestMetric.test_has_values): Added.
(TestPerfTestMetric.test_append): Added.
(TestPerfTestMetric.test_compute_statistics.compute_statistics):
(TestPerfTestMetric.test_compute_statistics): Added a trivial test case.

(TestPerfTest._assert_results_are_correct): Updated as needed.
(TestPageLoadingPerfTest.test_run): Ditto. Notice that we no longer log anything in _run_with_driver. It's done
in PerfTest.run now after generating the results dictionary.
(TestPageLoadingPerfTest.test_run_with_memory_output): Ditto.

10:27 AM Changeset in webkit [138954] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

Mark fast/block/float/max-width-clear-float-with-overflow-hidden.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=47975

  • platform/chromium/TestExpectations: Marked.
10:18 AM Changeset in webkit [138953] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Update bug numbers and organize bug lines.

  • platform/chromium/TestExpectations: Organizzazzed.
9:25 AM Changeset in webkit [138952] by jchaffraix@webkit.org
  • 4 edits in trunk

Support size_t multiplication and division operators on LayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=83848

Reviewed by Emil A Eklund.

Source/WebCore:

Per Darin's suggestion, adding a version of the operator for most unsigned types (excluding
only unsigned char). This should automatically cover size_t as it should be one of these.

Test: TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::LayoutUnit):
(WebCore::operator*):
(WebCore::operator/):
Added the operators and (possibly saturating) constructors for unsigned short, unsigned long,
unsigned long long.

Tools:

  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:

Added some simple tests for the new operators using size_t.

9:15 AM Changeset in webkit [138951] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

[Qt] run-webkit-tests cleanup for parallel NRWT
https://bugs.webkit.org/show_bug.cgi?id=106220

Reviewed by Dirk Pranke.

  • Scripts/run-webkit-tests:

(useNewRunWebKitTests):

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort):
(QtPort.default_child_processes):

9:02 AM Changeset in webkit [138950] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Add comment to WebKit skia gyp

Unreviewed additon of a comment.

  • skia_webkit.gyp: Some changes should not yet be committed. Commented to that effect.
8:54 AM Changeset in webkit [138949] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Add Skia build flags to WebKit skia gyp

Unreviewed change to enable easy layout test rebaselining.

  • skia_webkit.gyp: Added SK_IGNORE_QUAD_STROKE_FIX and SK_IGNORE_TREAT_AS_SPRITE
8:40 AM Changeset in webkit [138948] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r138944.
http://trac.webkit.org/changeset/138944
https://bugs.webkit.org/show_bug.cgi?id=106223

It made 28 tests crash (Requested by Ossy on #webkit).

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

  • plugins/qt/PluginPackageQt.cpp:

(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):

8:32 AM Changeset in webkit [138947] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[WinCairo] Build fixes after r138413
https://bugs.webkit.org/show_bug.cgi?id=106087

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-01-07
Reviewed by Alexey Proskuryakov.

  • WebCore.vcproj/WebCore.vcproj: Added NetworkStorageSessionStub.cpp,

and removed NetworkStorageSessionCFNet.cpp for WinCairo build.

  • platform/win/TemporaryLinkStubs.cpp: Include fix.
7:51 AM Changeset in webkit [138946] by michael.bruning@digia.com
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Apply correct patch for the scrolling issue from bug 105014
https://bugs.webkit.org/show_bug.cgi?id=106219

Correct the if condition when overwriting the layout direction option
with the values from the facade options to only overwrite if the facade
direction is not equal to LayoutDirectionAuto.

Reviewed by Allan Sandfeld Jensen.

  • WidgetSupport/QStyleFacadeImp.cpp:

(WebKit::initGenericStyleOption):

7:45 AM Changeset in webkit [138945] by Philippe Normand
  • 2 edits in trunk/Tools

Create a GStreamerAudio watchlist and add myself to it.

Unreviewed.

  • Scripts/webkitpy/common/config/watchlist:
7:40 AM Changeset in webkit [138944] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Major performance improvement in Qt's PluginDatabase implementation
https://bugs.webkit.org/show_bug.cgi?id=106140

Patch by David Faure <faure@kde.org> on 2013-01-07
Reviewed by Simon Hausmann.

No new tests, only a performance improvement.

  • plugins/qt/PluginPackageQt.cpp:

(WebCore::PluginPackage::fetchInfo): Don't do a full-fledged load(), load the module directly.
(WebCore::PluginPackage::load): Use existing module if fetchInfo created it.

7:33 AM Changeset in webkit [138943] by Lucas Forschler
  • 13 edits in tags/Safari-537.24.2/Source

Merged r138858.

7:25 AM Changeset in webkit [138942] by Lucas Forschler
  • 4 edits in tags/Safari-537.24.2/Source

Versioning.

7:23 AM Changeset in webkit [138941] by Lucas Forschler
  • 1 copy in tags/Safari-537.24.2

New Tag.

7:21 AM Changeset in webkit [138940] by haraken@chromium.org
  • 3 edits
    2 copies in branches/chromium/1364

Merge 137964

Regression causing DOM objects to have unstable NPObject* references with v8 bindings
https://bugs.webkit.org/show_bug.cgi?id=104921

Source/WebCore:

Patch by Matthew Dempsky <mdempsky@google.com> on 2012-12-17
Reviewed by Kentaro Hara.

Fix regression introduced by changeset 135804 resulting in
unstable NPObject* references for v8 objects. In the iter !=
v8NPObjectMap->end() code path, objectVector was left unassigned
if the for loop terminated without returning.

Also, V8Object::GetIdentityHash() is documented as not being guaranteed
as unique. As such, don't ASSERT() that two objects with the same hash
must therefor be the same object.

Tests: plugins/npruntime/embed-property-iframe-equality.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::npCreateV8ScriptObject): Fix.

LayoutTests:

Patch by Mathew Dempsky <mdempsky@google.com> on 2012-12-17
Reviewed by Kentaro Hara.

Add variant of embed-property-equality test to verify that the
test still passes when the object being tested for equality
has already been remembered by a plugin from a different
JavaScript context.

  • plugins/npruntime/embed-property-iframe-equality.html: Added.
  • plugins/npruntime/embed-property-iframe-equality-expected.txt: Added.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11791021

7:13 AM Changeset in webkit [138939] by mihnea@adobe.com
  • 3 edits in trunk/LayoutTests

Unreviewed. Unskip tests fixed in http://trac.webkit.org/changeset/138937.

7:13 AM Changeset in webkit [138938] by mkwst@chromium.org
  • 1 edit in branches/chromium/1312/Source/WebKit/chromium/features.gypi

[chromium] Unreviewed. Toggling ENABLE_IFRAME_SEAMLESS off for M24.

BUG=168555

6:47 AM Changeset in webkit [138937] by mihnea@adobe.com
  • 5 edits in trunk/LayoutTests

[GTK][EFL][Qt] New tests fast/regions/region-rule-nested-region-rule.html, fast/regions/region-styling-mediaquery.html are failing
https://bugs.webkit.org/show_bug.cgi?id=106168

Reviewed by Csaba Osztrogonác.

Specify a margin-top: 0 both for the h1 element that is flowed into region and the h1 element in the ref test to ensure
the h1 element is displayed at the same position in the region and in the containing article element.
Also, cleaned up the tests a little.

  • fast/regions/region-rule-nested-region-rule-expected.html:
  • fast/regions/region-rule-nested-region-rule.html:
  • fast/regions/region-styling-mediaquery-expected.html:
  • fast/regions/region-styling-mediaquery.html:
6:31 AM Changeset in webkit [138936] by rgabor@webkit.org
  • 3 edits in trunk/Source/WebCore

Optimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions with NEON intrinsics
https://bugs.webkit.org/show_bug.cgi?id=103614

Reviewed by Zoltan Herczeg.

Optimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions in GraphicsContext3D
with ARM NEON intrinsics. The optimized functions are 2-3x faster than the origin.

  • platform/graphics/GraphicsContext3D.cpp:

(WebCore):

  • platform/graphics/cpu/arm/GraphicsContext3DNEON.h:

(WebCore::SIMD::unpackOneRowOfRGBA16LittleToRGBA8):
(SIMD):
(WebCore::SIMD::unpackOneRowOfRGB16LittleToRGBA8):
(WebCore::SIMD::unpackOneRowOfARGB16LittleToRGBA8):
(WebCore::SIMD::unpackOneRowOfBGRA16LittleToRGBA8):

5:26 AM Changeset in webkit [138935] by Christophe Dumez
  • 4 edits in trunk

Regression(r138786): Causes webaudio tests to crash
https://bugs.webkit.org/show_bug.cgi?id=106182

Reviewed by Philippe Normand.

Source/WebCore:

Partially revert r138786 since it causes crashes in webaudio
tests. The WebProcess would actually become unresponsive due
to source element never going to PLAYING state.

Only the changes to webKitWebAudioSrcChangeState() were reverted.

No new tests, already covered by existing tests.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcChangeState):

LayoutTests:

Unskip several webaudio tests for EFL WK2 now that the
regression was fixed.

  • platform/efl-wk2/TestExpectations:
3:26 AM Changeset in webkit [138934] by János Badics
  • 3 edits in trunk/LayoutTests

[Qt] Gardening.
r138820: Skipped a test because track feature is not functional yet.
r138838: Added new baseline to fast/writing-mode/table-percent-width-quirk-expected.txt.

Reviewed by Csaba Osztrogonác.

  • platform/qt/TestExpectations:
  • platform/qt/fast/writing-mode/table-percent-width-quirk-expected.txt:
2:09 AM Changeset in webkit [138933] by michael.bruning@digia.com
  • 6 edits
    2 adds in trunk/Source/WebKit/qt

[Qt] Horizontal scrollbars events are offseted making them difficult to use
https://bugs.webkit.org/show_bug.cgi?id=105014

Reviewed by Allan Sandfeld Jensen.

Patch co-authored by Simon Hausmann.

Only copy the layout direction from the facade options if the
current option is Qt::LayoutDirectionAuto in order to prevent
misinterpretations as different layout direction when hit testing.

Tests added to tst_qwebview and tst_qgraphicswebview to verify
that the view actually is scrolled in the right direction.

  • WidgetSupport/QStyleFacadeImp.cpp:

(WebKit::initGenericStyleOption):

  • tests/qgraphicswebview/resources/scrolltest_page.html: Added.
  • tests/qgraphicswebview/tst_qgraphicswebview.cpp:

(tst_QGraphicsWebView):
(tst_QGraphicsWebView::horizontalScrollbarTest):

  • tests/qgraphicswebview/tst_qgraphicswebview.qrc:
  • tests/qwebview/resources/scrolltest_page.html: Added.
  • tests/qwebview/tst_qwebview.cpp:

(tst_QWebView):
(tst_QWebView::horizontalScrollbarTest):

  • tests/qwebview/tst_qwebview.qrc:
2:01 AM Changeset in webkit [138932] by allan.jensen@digia.com
  • 2 edits
    9 adds in trunk/LayoutTests

Unskip now passing ruby tests.

Unreviewed gardening.

Verified to match rendering in other ports.

  • platform/qt/TestExpectations:
  • platform/qt/fast/ruby/ruby-beforeafter-expected.txt: Added.
  • platform/qt/fast/ruby/ruby-empty-rt-expected.txt: Added.
  • platform/qt/fast/ruby/ruby-length-expected.txt: Added.
  • platform/qt/fast/ruby/ruby-run-break-expected.txt: Added.
  • platform/qt/fast/ruby/ruby-runs-expected.txt: Added.
  • platform/qt/fast/ruby/ruby-runs-spans-expected.txt: Added.
  • platform/qt/fast/ruby/ruby-simple-expected.txt: Added.
  • platform/qt/fast/ruby/ruby-simple-rp-expected.txt: Added.
  • platform/qt/fast/ruby/ruby-trailing-expected.txt: Added.
1:18 AM Changeset in webkit [138931] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark 2 fast/regions ref tests as failing for EFL
port. Those tests were introduced in r138854.

  • platform/efl/TestExpectations:
1:13 AM Changeset in webkit [138930] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several webaudio tests as crashing on WK2 EFL
due to a regression in r138786.

  • platform/efl-wk2/TestExpectations:
1:07 AM Changeset in webkit [138929] by hayato@chromium.org
  • 2 edits in trunk/Source/WebCore

Cannot compile with ENABLE_SHADOW_DOM=0 and ENABLE_STYLE_SCOPED=1
https://bugs.webkit.org/show_bug.cgi?id=106207

Reviewed by Hajime Morita.

Guard StyleScopeResolver::addHostRule with SHADOW_DOM flag.

No tests, as no change in behavior.

  • css/StyleScopeResolver.cpp:

(WebCore):

12:12 AM Changeset in webkit [138928] by jonlee@apple.com
  • 3 edits in trunk/Source/WebCore

Missing amendments to r138927. Amend Changelog to remove item about Timer.h, which was not changed.

  • rendering/RenderSnapshottedPlugIn.cpp: Rename stopAndRestartDelayTimer() to resetDelayTimer().

(WebCore::RenderSnapshottedPlugIn::updateSnapshot):
(WebCore::RenderSnapshottedPlugIn::handleEvent):
(WebCore::RenderSnapshottedPlugIn::resetDelayTimer):

  • rendering/RenderSnapshottedPlugIn.h:

Jan 6, 2013:

11:28 PM Changeset in webkit [138927] by jonlee@apple.com
  • 4 edits in trunk/Source/WebCore

Show label automatically for plug-ins of significant size
https://bugs.webkit.org/show_bug.cgi?id=106146
<rdar://problem/12783010>

Reviewed by Simon Fraser.

For significantly sized plug-ins, trigger a timer that displays the label automatically
without requiring the user to mouse over the element first. The trickiness of the logic
here is that there are two delays involved-- one for whether the user mouses over (shorter),
and one for when the label is shown automatically (longer). Mousing over a plug-in that is
marked to show it automatically should have the timer delay switched. And if the label
showed automatically, mousing in and out of the element should not change that label's
state.

  • html/HTMLPlugInImageElement.cpp:

(WebCore): Add constants that determine whether the plug-in is of a significant size.
(WebCore::shouldPlugInShowLabelAutomatically): Based on the size of the frame view and the
clipped plug-in size, determine whether the label should show automatically. If the plug-in is
not contained within the bounds of the frame view, or is not at least as large as the threshold
size, then do not show the label automatically.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): After we've determined that
the plug-in should not auto-start, make a check to see if the label should show automatically.
Also, update some of the logging.
(WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Update the logging.

  • platform/Timer.h:

(WebCore::DeferrableOneShotTimer::setDelay): Added to allow changing the delay of the timer. It
does not change any currently set timer, but should change the delay for the next one.

  • rendering/RenderSnapshottedPlugIn.h: Rename the timer to m_showLabelDelayTimer since

it can fire for two different reasons. Add some additional state variables, and an enum
to explain why the label appeared.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore): Change hoverDelay to showLabelAfterMouseOverDelay. Add a new, longer delay for
when the plug-in is supposed to auto-show the label.
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize the member variables.
(WebCore::RenderSnapshottedPlugIn::updateSnapshot): When the snapshot image is updated,
start the timer to auto-show the label.
(WebCore::RenderSnapshottedPlugIn::paintLabel): Avoid painting the label only if the element
is not hovered and the user was mousing over the plug-in. Otherwise, the plug-in is supposed
to show automatically, and we should paint. Mark the renderer as having showed the label at
least once.
(WebCore::RenderSnapshottedPlugIn::showLabelDelayTimerFired): Renamed to reflect the
purpose of the timer.
(WebCore::RenderSnapshottedPlugIn::setShouldShowLabelAutomatically): Set the variable that
determines whether, in general, this plug-in should show the label automatically even
without user input.
(WebCore::RenderSnapshottedPlugIn::handleEvent): If the user mouses over the plug-in,
only reset the show timer is the label has never appeared before, or if it has, that
it's not because the label was supposed to show automatically. That is, if the label is
supposed to show automatically, the label should remain visible. This is also true when
the user mouses out of the plug-in. If the user moused out before the time had a chance
to fire and show the label for the first time, then we check to see if the plug-in should
be displaying the label automatically, and if so, restart the timer using the longer delay.
(WebCore::RenderSnapshottedPlugIn::stopAndRestartDelayTimer): Convenience function to
update the m_showReason variable, and reset the timer with the appropriate delay.

11:15 PM Changeset in webkit [138926] by inferno@chromium.org
  • 4 edits
    2 adds in trunk

Heap-use-after-free in DocumentLoader::stopLoading
https://bugs.webkit.org/show_bug.cgi?id=103656

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/dom/ready-state-change-crash.html

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::prepareToStopParsing): Bail out
if the parser is detached due to mutation event.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::stopLoading): Move the protectors for
frame and document loader to the start of the function. Call to
m_frame->loader()->stopLoading() can change document ready state
and fire mutation event which might blow the document loader from
underneath.

LayoutTests:

  • fast/dom/ready-state-change-crash-expected.txt: Added.
  • fast/dom/ready-state-change-crash.html: Added.
10:45 PM Changeset in webkit [138925] by hayato@chromium.org
  • 6 edits in branches/chromium/1364

Merge 138165

Expose WebKitShadowRoot constructor to DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=105385

Reviewed by Dimitri Glazkov.

Source/WebCore:

This is a follow-up patch for r137870. WebKitShadowRoot
constructor should be in DOMWindow, just like all of the other
not-callable-constructors like HTMLDivElement, etc. We need it
for instanceof tests and so on.

Test: fast/dom/shadow/shadow-root-js-api.html

fast/js/global-constructors-expected.html

  • page/DOMWindow.idl:

LayoutTests:

  • fast/dom/shadow/shadow-root-js-api-expected.txt:
  • fast/dom/shadow/shadow-root-js-api.html:
  • fast/js/global-constructors-expected.txt:
  • platform/efl/fast/js/global-constructors-expected.txt:
  • platform/gtk/fast/js/global-constructors-expected.txt:

TBR=hayato@chromium.org
Review URL: https://codereview.chromium.org/11776020

10:34 PM Changeset in webkit [138924] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Simplify slow case profiling
https://bugs.webkit.org/show_bug.cgi?id=106208

Reviewed by Mark Rowe.

Removing the minimum execution ratio portion of slow case profiling, which allows
the removal of a field from CodeBlock. This appears to be performance neutral,
implying that the complexity incurred by the previous heuristic was purely
harmful: it made the code more complicated, and it made CodeBlock larger, without
resulting in any measurable benefits.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::likelyToTakeSlowCase):
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::likelyToTakeSpecialFastCase):
(JSC::CodeBlock::couldTakeSpecialFastCase):
(JSC::CodeBlock::likelyToTakeDeepestSlowCase):
(JSC::CodeBlock::likelyToTakeAnySlowCase):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • runtime/Options.h:
10:10 PM Changeset in webkit [138923] by tasak@google.com
  • 2 edits in trunk/Source/WebCore

[Shadow DOM]: crash in WebCore::ElementShadow::setValidityUndetermined
https://bugs.webkit.org/show_bug.cgi?id=106203

Reviewed by Hajime Morita.

InsertionPoint should check whether ElementShadow is available or not
before invoking its methods.

No new tests. Webcomponents_fuzzer reported this bug. Would like to
use the fuzzer to check this issue.

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::getDistributedNodes):
(WebCore::InsertionPoint::childrenChanged):
(WebCore::InsertionPoint::insertedInto):
Added ifs to check whether ElementShadow is available or not before
invoking ElementShadow's methods, i.e. setValidityUndetermined,
invalidateDistribution, and ensureDistributionDocument.

10:03 PM Changeset in webkit [138922] by shinyak@chromium.org
  • 2 edits in trunk/Source/WebCore

RenderImage should not use shadowAncestorNode
https://bugs.webkit.org/show_bug.cgi?id=97871

Reviewed by Dimitri Glazkov.

Since shadowAncestorNode() does not return 0, this if-condition will never hold.
shadowHost() should be used instead.

No change in logic, refactoring.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::hostImageElement):

6:24 PM Changeset in webkit [138921] by fpizlo@apple.com
  • 18 edits in trunk/Source/JavaScriptCore

DFG should inline closure calls
https://bugs.webkit.org/show_bug.cgi?id=106067

Reviewed by Gavin Barraclough.

This adds initial support for inlining closure calls to the DFG. A call is considered
to be a closure call when the JSFunction* varies, but always has the same executable.
We already have closure call inline caching in both JITs, which works by checking that
the callee has an expected structure (as a cheap way of detecting that it is in fact
a JSFunction) and an expected executable. Closure call inlining uses profiling data
aggregated by CallLinkStatus to decide when to specialize the call to the particular
structure/executable, and inline the call rather than emitting a call sequence. When
we choose to do a closure inline rather than an ordinary inline, a number of things
change about how inlining is performed:

  • The inline is guarded by a CheckStructure/CheckExecutable rather than a CheckFunction.


  • Instead of propagating a constant value for the scope, we emit GetMyScope every time that the scope is needed, which loads the scope from a local variable. We do similar things for the callee.


  • The prologue of the inlined code includes SetMyScope and SetCallee nodes to eagerly plant the scope and callee into the "true call frame", i.e. the place on the stack where the call frame would have been if the call had been actually performed. This allows GetMyScope/GetCallee to work as they would if the code wasn't inlined. It also allows for trivial handling of scope and callee for call frame reconstruction upon stack introspection and during OSR.


  • A new node called GetScope is introduced, which just gets the scope of a function. This node has the expected CSE support. This allows for the SetMyScope(GetScope(@function)) sequence to set up the scope in the true call frame.


  • GetMyScope/GetCallee CSE can match against SetMyScope/SetCallee, which means that the GetMyScope/GetCallee nodes emitted during parsing are often removed during CSE, if we can prove that it is safe to do so.


  • Inlining heuristics are adjusted to grok the cost of inlining a closure. We are less likely to inline a closure call than we are to inline a normal call, since we end up emitting more code for closures due to CheckStructure, CheckExecutable, GetScope, SetMyScope, and SetCallee.


Additionally, I've fixed the VariableEventStream to ensure that we don't attempt to
plant Undefined into the true call frames. This was previously a harmless oversight,
but it becomes quite bad if OSR is relying on the scope/callee already having been
set and not subsequently clobbered by the OSR itself.

This is a ~60% speed-up on programs that frequently make calls to closures. It's
neutral on V8v7 and other major benchmark suites.

The lack of a definite speed-up is likely due the fact that closure inlining currently
does not do any cardinality [1] optimizations. We don't observe when a closure was
constructed within its caller, and so used the scope from its caller; and furthermore
we have no facility to detect when the scope is single. All scoped variable accesses
are assumed to be multiple instead. A subsequent step will be to ensure that closure
call inlining will be single and loving it.

[1] Single and loving it: Must-alias analysis for higher-order languages. Suresh

Jagannathan, Peter Thiemann, Stephen Weeks, and Andrew Wright. In POPL '98.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::dump):

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::isClosureCall):
(CallLinkStatus):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::globalObjectFor):
(JSC):

  • bytecode/CodeBlock.h:

(CodeBlock):

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::dump):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::handleInlining):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::pureCSE):
(CSEPhase):
(JSC::DFG::CSEPhase::getCalleeLoadElimination):
(JSC::DFG::CSEPhase::checkExecutableElimination):
(JSC::DFG::CSEPhase::getMyScopeLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::mightInlineFunctionForClosureCall):

  • dfg/DFGCapabilities.h:

(DFG):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::canInlineFunctionForClosureCall):
(JSC::DFG::canInlineFunctionFor):

  • dfg/DFGNode.h:

(Node):
(JSC::DFG::Node::hasExecutable):
(JSC::DFG::Node::executable):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStream::reconstruct):

  • runtime/Options.h:

(JSC):

3:58 PM Changeset in webkit [138920] by kerz@chromium.org
  • 2 edits in branches/chromium/1364/Source/WebKit/chromium

Merge 138302

[chromium] Disable color profile support for WebImageSkia users
https://bugs.webkit.org/show_bug.cgi?id=105493

Reviewed by Eric Seidel.

Disable color profiles to prevent null pointer dereference under some
conditions. Tested by unittests at src.chromium.org.

  • src/WebImageSkia.cpp:

(WebKit::WebImage::fromData):
(WebKit::WebImage::framesFromData):

TBR=noel.gordon@gmail.com
Review URL: https://codereview.chromium.org/11785017

12:26 PM Changeset in webkit [138919] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Bug 106177 - [GStreamer] Don't call gst_video_info_from_caps() with non-fixed caps
https://bugs.webkit.org/show_bug.cgi?id=106177

Patch by Sebastian Dröge <sebastian.droege@collabora.co.uk> on 2013-01-06
Reviewed by Martin Robinson.

  • platform/graphics/gstreamer/GStreamerVersioning.cpp:

(getVideoSizeAndFormatFromCaps):
Don't call gst_video_info_from_caps() with non-fixed caps as
it will cause assertions.

10:53 AM Changeset in webkit [138918] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Heap-use-after-free in WebCore::Document::implicitClose
https://bugs.webkit.org/show_bug.cgi?id=105655

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/dom/window-load-crash.html

  • dom/Document.cpp:

(WebCore::Document::implicitClose): RefPtr protect |this| document since it
can be destroyed in the dispatchWindowLoadEvent call.

LayoutTests:

  • fast/dom/window-load-crash-expected.txt: Added.
  • fast/dom/window-load-crash.html: Added.
3:18 AM BuildingGtk edited by Christophe Dumez
(diff)
3:17 AM BuildingGtk edited by Christophe Dumez
(diff)
1:43 AM Changeset in webkit [138917] by mkwst@chromium.org
  • 4 edits in trunk

Seamless: IFrame's padding isn't taken into account when calculating its height.
https://bugs.webkit.org/show_bug.cgi?id=106167

Reviewed by Eric Seidel.

Source/WebCore:

IFrames rendered seamlessly don't currently calculate their height
correctly when padding is applied to the frame itself. This patch adds
padding calculations to RenderIFrame::layoutSeamlessly to ensure that
the seamless frame is correctly sized.

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::layoutSeamlessly):

LayoutTests:

  • fast/frames/seamless/seamless-border-padding-expected.txt:

Adjusts the previously failing expectations to the correct values.

Jan 5, 2013:

10:16 PM Changeset in webkit [138916] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION: [Mac] Intermittent crashes in AXObjectCache::notificationPostTimerFired
https://bugs.webkit.org/show_bug.cgi?id=106106

Reviewed by Eric Seidel.

The crash was cause by notification post timer firing after the object destruction had taken place.
Clear the timer so that this won't happen. Also make sure the document doesn't go away while we're
going through m_notificationsToPost.

No new tests since crashes have been caught by various layout tests, and we can't easily
create a deterministic layout test for this particular crash.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::notificationPostTimerFired):

6:59 PM Changeset in webkit [138915] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Data flow paths that carry non-numbers, non-undefined, non-null values should not cause subtractions and arithmetic additions (i.e. ++) to speculate double
https://bugs.webkit.org/show_bug.cgi?id=106190

Reviewed by Sam Weinig.

The problem is that the DFG logic for deciding when to speculate integer was
confusing the special case of ValueAdd (where non-numeric values should cause us
to not speculate integer, because we want to fall off into the generic case) with
the more normal case of ArithAdd and ArithSub (where we want to speculate integer
unless we have evidence that the operands are doubles, since the DFG doesn't have
generic handling of those operations). Prior to this change doing a - b where
either a or b were possibly non-numeric would always force the subtraction to be
done using doubles.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::addSpeculationMode):
(Graph):
(JSC::DFG::Graph::valueAddSpeculationMode):
(JSC::DFG::Graph::arithAddSpeculationMode):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):

6:45 PM Changeset in webkit [138914] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Replace int64 with int64_t
https://bugs.webkit.org/show_bug.cgi?id=106189

Patch by Michael Pruett <michael@68k.org> on 2013-01-05
Reviewed by Sam Weinig.

Cleaning up coding inconsistencies, no change in behavior.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::GetOperation::create):

6:26 PM Changeset in webkit [138913] by weinig@apple.com
  • 20 edits
    4 deletes in trunk/Source/WebKit2

Remove WebProcessInitialization and NetworkProcessInitialization by putting the rest of initialization in ChildProcess derived classes
https://bugs.webkit.org/show_bug.cgi?id=106163

Reviewed by Darin Adler.

Adds ChildProcess::initializeProcessName() and the catchall ChildProcess::initializeProcess()
as the last pieces to have all the initialization from WebProcessInitialization and NetworkProcessInitialization
captured in ChildProcess and derived classes.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeProcessName):
(WebKit::NetworkProcess::initializeSandbox):

  • NetworkProcess/NetworkProcess.h:

(NetworkProcess):

  • NetworkProcess/mac/NetworkProcessInitialization.h: Removed.
  • NetworkProcess/mac/NetworkProcessInitialization.mm: Removed.
  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::initializeProcessName):
(WebKit::NetworkProcess::initializeSandbox):

  • NetworkProcess/mac/NetworkProcessMainMac.mm:

(WebKit::NetworkProcessMain):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::initializeProcess):

  • PluginProcess/PluginProcess.h:

(PluginProcess):

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::platformInitializeProcess):

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • PluginProcess/qt/PluginProcessQt.cpp:

(WebKit::PluginProcess::platformInitializeProcess):
(WebKit::PluginProcess::platformInitializePluginProcess):

  • PluginProcess/unix/PluginProcessUnix.cpp:

(WebKit::PluginProcess::platformInitializeProcess):

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeProcess):
(WebKit::ChildProcess::initializeProcessName):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::initializeConnection):

  • Shared/ChildProcess.h:

(ChildProcess):

  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:

(WebKit::SharedWorkerProcessMain):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::initializeSandbox):

  • WebProcess/WebProcess.h:

(WebProcess):

  • WebProcess/mac/WebProcessInitialization.h: Removed.
  • WebProcess/mac/WebProcessInitialization.mm: Removed.
  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):

  • WebProcess/mac/WebProcessMainMac.mm:

(WebKit::WebProcessMain):

  • WebProcess/mac/WebProcessServiceEntryPoints.mm:

(WebKit::WebProcessServiceEventHandler):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):

4:03 PM Changeset in webkit [138912] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add failing test expectations to some tile drawing tests on Mac WebKit2.
The failures are tracked by the bug 106187.

  • platform/mac-wk2/TestExpectations:
3:55 PM Changeset in webkit [138911] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Revert an erroneous change from r138874.

http/tests/misc/link-rel-icon-beforeload.html had been skipped prior to r138874
and it should continued to be.

  • platform/mac-wk2/TestExpectations:
3:40 PM Changeset in webkit [138910] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a flaky test expectation for the bug 106185.

  • platform/mac/TestExpectations:
3:07 PM Changeset in webkit [138909] by esprehn@chromium.org
  • 10 edits in trunk/Source/WebCore

Remove RenderObjectChildList::beforePseudoElementRenderer and afterPseudoElementRenderer
https://bugs.webkit.org/show_bug.cgi?id=106132

Reviewed by Abhishek Arya.

We no longer need the complicated traversals in beforePseudoElementRenderer
and afterPseudoElementRenderer since we can get the renderers of pseudo
elements through the node. This removes all that code and swaps it for
Element::pseudoElementRenderer.

This is possible now that r138850 removed all the now incorrect manual
management of pseudo element renderers from the render tree that was
left over from before the switch to DOM based pseudo elements.

No new tests, just refactoring.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • dom/Element.cpp:

(WebCore::Element::pseudoElementRenderer):

Added, gets the renderer of the pseudo element by PseudoId if it
exists.

  • dom/Element.h:

(Element):

  • dom/NodeRenderingTraversal.cpp:

(WebCore::NodeRenderingTraversal::nextSiblingSlow):
(WebCore::NodeRenderingTraversal::previousSiblingSlow):

  • rendering/RenderCounter.cpp:

(WebCore::previousInPreOrder):
(WebCore::previousSiblingOrParent):
(WebCore::nextInPreOrder):

  • rendering/RenderObject.h:

(WebCore::RenderObject::lastChild):

  • rendering/RenderObjectChildList.cpp:
  • rendering/RenderObjectChildList.h:

(RenderObjectChildList):

  • rendering/RenderTreeAsText.cpp:

(WebCore::counterValueForElement):

1:23 PM Changeset in webkit [138908] by robert@webkit.org
  • 3 edits
    2 adds in trunk

Heap-use-after-free in WebCore::RenderBlock::insertIntoTrackedRendererMaps
https://bugs.webkit.org/show_bug.cgi?id=105654

Reviewed by Simon Fraser.

Source/WebCore:

As with position:relative, position:sticky does not apply to table sections.

Test: fast/block/sticky-position-containing-block-crash.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

LayoutTests:

  • fast/block/sticky-position-containing-block-crash-expected.txt: Added.
  • fast/block/sticky-position-containing-block-crash.html: Added.
1:20 PM Changeset in webkit [138907] by mkwst@chromium.org
  • 7 edits
    1 add in trunk/LayoutTests

Deflaking http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html
https://bugs.webkit.org/show_bug.cgi?id=106165

Reviewed by Adam Barth.

The original test chose its violation mechanism poorly. The existing injection file
injected two violations, which generated reports delivered in a random order. This
patch creates a new injection JavaScript file that injects a single image, generating
a single report. That should deflake the test.

  • http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html:
  • http/tests/security/contentSecurityPolicy/resources/inject-image.js:

Adjusting the test to be deterministic.

  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:

Unskipping test.

1:07 PM Changeset in webkit [138906] by mkwst@chromium.org
  • 4 edits in trunk/Source/WebCore

Cleanup: mayDisplaySeamlessWithParent -> mayDisplaySeamless_ly_WithParent
https://bugs.webkit.org/show_bug.cgi?id=106169

Reviewed by Eric Seidel.

This patch renames SecurityContext's 'm_mayDisplaySeamlessWithParent' to
'm_mayDisplaySeamlesslyWithParent'. Because adverbs matter.

  • dom/Document.cpp:

(WebCore::Document::initSecurityContext):
(WebCore::Document::shouldDisplaySeamlesslyWithParent):

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::SecurityContext):

  • dom/SecurityContext.h:

(SecurityContext):

1:02 PM Changeset in webkit [138905] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] SelectionHandler::selectAtPoint should use last fat finger result when it is a link
https://bugs.webkit.org/show_bug.cgi?id=106141

Patch by Andy Chen <andchen@rim.com> on 2013-01-05
Reviewed by Rob Buis.

If last fat finger result is a link, select it directly when
SelectionHandler::selectAtPoint is called.
PR 263449
Internally reviewed by Mike Fenton and Yongxin Dai.

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::selectNodeIfFatFingersResultIsLink):
(WebKit):
(BlackBerry::WebKit::SelectionHandler::selectAtPoint):

  • WebKitSupport/SelectionHandler.h:

(WebKit):
(SelectionHandler):

12:50 PM Changeset in webkit [138904] by mkwst@chromium.org
  • 3 edits
    2 adds in trunk

seamless iframes don't take border into account properly and make the iframe too small.
https://bugs.webkit.org/show_bug.cgi?id=90827

Reviewed by Ojan Vafai.

Source/WebCore:

Seamless IFrames were incorrectly calculating their width; borders and
padding of the child document were accidentally left out of the end
result. This tiny patch adds the border/padding width to the calculated
width for the seamless IFrame, bringing things back into line with
expectations.

Test: fast/frames/seamless/seamless-border-padding.html

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::minPreferredLogicalWidth):
(WebCore::RenderIFrame::maxPreferredLogicalWidth):

Add borderAndPaddingLogicalWidth() to the result of both methods.

LayoutTests:

  • fast/frames/seamless/seamless-border-padding-expected.txt: Added.
  • fast/frames/seamless/seamless-border-padding.html: Added.

This test checks the IFrame's handling of borders and padding.
Things work correctly for width after this patch, but there are
still issues with padding and height, which will be fixed in
http://wkbug.com/106167

12:50 PM Changeset in webkit [138903] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Only enable MinGW-w64 pow() workaround if needed
https://bugs.webkit.org/show_bug.cgi?id=106099

Patch by Jonathan Liu <net147@gmail.com> on 2013-01-05
Reviewed by Filip Pizlo.

The pow() workaround is no longer needed in the latest version
of MinGW-w64.

  • wtf/MathExtras.h:
12:49 PM Changeset in webkit [138902] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

MediaControls::show() should make controls opaque
https://bugs.webkit.org/show_bug.cgi?id=106034

Patch by Min Qin <qinmin@chromium.org> on 2013-01-05
Reviewed by Eric Carlson.

Source/WebCore:

When a video enters fullscreen, webkit starts a timer to make the control transparent when the timer expires.
If the user exits fullscreen while the timer expires, webkit will call mediaControls::show().
However, show() actually displays nothing as the control is transparent.
The user had to move his mouse outside the video rect and move it back in order to show the controls.
Simply clicking/moving the mouse inside the video rect will not make the control opaque.
Test: media/video-controls-visible-exiting-fullscreen.html

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::show):

LayoutTests:

Add tests to check that video controls are shown when exiting from fullscreen.

  • media/video-controls-visible-exiting-fullscreen-expected.txt: Added.
  • media/video-controls-visible-exiting-fullscreen.html: Added.
12:44 PM Changeset in webkit [138901] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[WK2] Exclude IndexedDB tests which use eventSender.beginDragWithFiles()
https://bugs.webkit.org/show_bug.cgi?id=106138

Patch by Michael Pruett <michael@68k.org> on 2013-01-05
Reviewed by Alexey Proskuryakov.

  • platform/wk2/TestExpectations:
12:42 PM Changeset in webkit [138900] by alecflett@chromium.org
  • 24 edits in trunk

IndexedDB: Migrate backend ObjectStore calls to use transaction id
https://bugs.webkit.org/show_bug.cgi?id=102741

Reviewed by Tony Chang.

Source/WebCore:

Fully migrate 8 core data calls (get, put, setIndexKeys, setIndexesReady,
openCursor, count, deleteRange, and clear) into IDBDatabaseBackendImpl,
combining common code from IDBObjectStoreBackendImpl and IDBIndexBackendImpl
in order to simplify the backend interface. These calls are now
implemented in terms of an int64_t-based transactionId rather than
an IDBTransactionBackendInterface, which simplifies the ownership model
between the frontend and the backend.

In addition, remove references to IDBObjectStoreBackend* from IDBIndex,
as it is no longer needed.

A few duplicate IDB_TRACE methods have been removed from wrapper methods
that call another method that already have IDB_TRACE's.

Finally, IDBCursorBackendImpl now no longer holds onto an
IDBObjectStoreBackendImpl*, so its destruction and member variables are
simplified, and reordered to match proper destruction order.

  • Modules/indexeddb/IDBCursorBackendImpl.cpp: Reordered to account for proper destruction.

(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::deleteFunction):

  • Modules/indexeddb/IDBCursorBackendImpl.h:

(WebCore::IDBCursorBackendImpl::create):
(IDBCursorBackendImpl):

  • Modules/indexeddb/IDBDatabase.h:

(WebCore::IDBDatabase::backend):
(IDBDatabase):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(GetOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::*RetrievalOperation
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(WebCore):
(PutOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::*StorageOperation.
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(SetIndexesReadyOperation): Moved from IDBObjectStoreBackendImpl::IndexesReadyOperation
(WebCore::SetIndexesReadyOperation::create):
(WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
(OpenCursorOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::Open*CursorOperation
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(CountOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::CountOperation
(WebCore::CountOperation::create):
(WebCore::CountOperation::CountOperation):
(DeleteRangeOperation): Moved from IDBObjectStoreBackendImpl::DeleteOperation
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(ClearOperation): Moved from IDBObjectStoreBackendImpl::ClearOperation
(WebCore::ClearOperation::create):
(WebCore::ClearOperation::ClearOperation):
(WebCore::IDBDatabaseBackendImpl::get): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::get*
(WebCore::GetOperation::perform):
(WebCore::IDBDatabaseBackendImpl::put): Moved from IDBObjectStoreBackendImpl::put
(WebCore::PutOperation::perform):
(WebCore::IDBDatabaseBackendImpl::setIndexKeys): Moved from IDBObjectStoreBackendImpl::setIndexKeys
(WebCore::IDBDatabaseBackendImpl::setIndexesReady):
(WebCore::SetIndexesReadyOperation::perform):
(WebCore::IDBDatabaseBackendImpl::openCursor):
(WebCore::IDBDatabaseBackendImpl::count):
(WebCore::CountOperation::perform):
(WebCore::IDBDatabaseBackendImpl::deleteRange):
(WebCore::DeleteRangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::clear):
(WebCore::ClearOperation::perform):
(WebCore::OpenCursorOperation::perform):

  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
(WebCore::IDBIndex::backendDB):
(WebCore):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::create):
(IDBIndex):

  • Modules/indexeddb/IDBIndexBackendImpl.cpp:

(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):

  • Modules/indexeddb/IDBIndexBackendImpl.h:

(WebCore::IDBIndexBackendImpl::create):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
(IDBIndexBackendImpl):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::clear):
(WebCore):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):
(WebCore::IDBObjectStore::backendDB):

  • Modules/indexeddb/IDBObjectStore.h:

(WebCore::IDBObjectStore::id):
(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
(WebCore::IDBObjectStoreBackendImpl::generateKey):
(WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.h:

(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::count):
(IDBObjectStoreBackendImpl):

  • Modules/indexeddb/IDBTransactionBackendImpl.h:

(WebCore::IDBTransactionBackendImpl::database):
(IDBTransactionBackendImpl):

Source/WebKit/chromium:

Fix a bug where an array was initialized with a large empty buffer,
clean up whitespace, and update to match signatures that changed
in WebCore.

  • public/WebIDBDatabase.h:

(WebKit::WebIDBDatabase::clear):

  • src/WebIDBDatabaseImpl.cpp:

(WebKit::WebIDBDatabaseImpl::put):

  • src/WebIDBIndexImpl.cpp:
  • tests/IDBDatabaseBackendTest.cpp:

LayoutTests:

Add additional count() tests for multi-entry indexes, not previously
covered.

  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/resources/index-multientry.js:

(.transaction.oncomplete):
(verifyCount.request.onsuccess.request.onsuccess):
(verifyCount.request.onsuccess):
(verifyCount):

12:26 PM Changeset in webkit [138899] by robert@webkit.org
  • 3 edits
    2 adds in trunk

Max width of a floated container with floated children calculated incorrectly
https://bugs.webkit.org/show_bug.cgi?id=47975

Source/WebCore:

Accumulate the width of child floats in the correct counter so that it gets reset
as expected when a subsequent sibling decides to clear it.

Reviewed by Levi Weintraub.

Test: fast/block/float/max-width-clear-float-with-overflow-hidden.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):

LayoutTests:

Reviewed by Levi Weintraub.

  • fast/block/float/max-width-clear-float-with-overflow-hidden-expected.html: Added.
  • fast/block/float/max-width-clear-float-with-overflow-hidden.html: Added.
12:22 PM Changeset in webkit [138898] by alecflett@chromium.org
  • 10 edits in trunk/Source

IndexedDB: Stub out IDBDatabaseBackendInterface::createIndex/deleteIndex
https://bugs.webkit.org/show_bug.cgi?id=106117

Reviewed by Adam Barth.

Source/WebCore:

No new tests, these are just stubs for refactoring.

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(WebCore::IDBDatabaseBackendImpl::createIndex):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

(IDBDatabaseBackendInterface):

Source/WebKit/chromium:

Stubs for migration from WebIDBObjectStore.

  • public/WebIDBDatabase.h:

(WebKit::WebIDBDatabase::createIndex):
(WebKit::WebIDBDatabase::deleteIndex):
(WebIDBDatabase):

  • src/IDBDatabaseBackendProxy.cpp:

(WebKit::IDBDatabaseBackendProxy::createIndex):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::deleteIndex):

  • src/IDBDatabaseBackendProxy.h:

(IDBDatabaseBackendProxy):

  • src/WebIDBDatabaseImpl.cpp:

(WebKit::WebIDBDatabaseImpl::createIndex):
(WebKit):
(WebKit::WebIDBDatabaseImpl::deleteIndex):

  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

  • tests/IDBDatabaseBackendTest.cpp:
12:11 PM Changeset in webkit [138897] by tasak@google.com
  • 4 edits
    2 adds in trunk

[Shadow DOM]: Some named elements in ShadowTree visible on nesting document level
https://bugs.webkit.org/show_bug.cgi?id=105617

Reviewed by Dimitri Glazkov.

Source/WebCore:

According to the shadow dom spec, the nodes and named elements are not
accessible using shadow host's document DOM tree accessors or with
Window object named properties. c.f.
https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#upper-boundary-encapsulation

Test: fast/dom/shadow/element-name-in-shadow.html

  • dom/Element.h:

(WebCore::Element::updateName):
Check whether the given element is in a shadow dom tree or not. If in
a shadow dom tree, don't register the name.

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::insertedInto):
(WebCore::HTMLIFrameElement::removedFrom):
(WebCore::HTMLIFrameElement::parseAttribute):
HTMLIFrameElement doesn't use updateName. Instead the element uses
addExtraNamedItem and removeExtraNameItem in HTMLIFrameElement.cpp.

LayoutTests:

  • fast/dom/shadow/element-name-in-shadow-expected.txt: Added.
  • fast/dom/shadow/element-name-in-shadow.html: Added.
12:05 PM Changeset in webkit [138896] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening

Skipping http/tests/multipart/multipart-wait-before-boundary.html for now,
the test is intermittently timing out on release builders despite being assigned
a SLOW expectation, thus unnecessarily painting bots red. A bug identifier is also
added for this test.

  • platform/gtk/TestExpectations:
12:04 PM Changeset in webkit [138895] by crogers@google.com
  • 9 edits in trunk

Implement MediaStreamSource::setAudioFormat()
https://bugs.webkit.org/show_bug.cgi?id=106053

Reviewed by Kenneth Russell.

Source/Platform:

  • chromium/public/WebAudioDestinationConsumer.h:

(WebAudioDestinationConsumer):

Source/WebCore:

MediaStreamAudioDestinationNode needs to be able to tell its associated
MediaStreamSource about the audio format (number of channels and sample-rate).

  • Modules/webaudio/MediaStreamAudioDestinationNode.cpp:

(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):

  • platform/audio/AudioDestinationConsumer.h:

(AudioDestinationConsumer):

  • platform/chromium/support/WebMediaStreamSource.cpp:

(ConsumerWrapper):
(WebKit::ConsumerWrapper::setFormat):
(WebKit):

  • platform/mediastream/MediaStreamSource.cpp:

(WebCore::MediaStreamSource::setAudioFormat):
(WebCore):

  • platform/mediastream/MediaStreamSource.h:

(MediaStreamSource):

12:02 PM Changeset in webkit [138894] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Fix compilation of MathExtras.h with MinGW-w64
https://bugs.webkit.org/show_bug.cgi?id=106105

Patch by Jonathan Liu <net147@gmail.com> on 2013-01-05
Reviewed by Simon Hausmann.

The isfinite and isinf functions are required by wtf_pow but
not defined until after wtf_pow. Move wtf_pow to after
"using std::isfinite" and "using std::isinf" to fix compilation.

  • wtf/MathExtras.h:

(wtf_pow):

12:01 PM Changeset in webkit [138893] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

Add function to move caret selection towards a point
https://bugs.webkit.org/show_bug.cgi?id=105189

Patch by Chris Hopman <cjhopman@google.com> on 2013-01-05
Reviewed by Eric Seidel.

This function moves the selection to the corresponding point in the
rootEditableElement of the current selection. Used on Android for
the behavior of insertion handles (i.e. dragging the caret around).

  • public/WebFrame.h:

(WebFrame):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::moveCaretSelectionTowardsWindowPoint):
(WebKit):

  • src/WebFrameImpl.h:

(WebFrameImpl):

7:15 AM Changeset in webkit [138892] by Christophe Dumez
  • 7 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline several tests after r138838.

  • platform/efl/fast/ruby/base-shorter-than-text-expected.png:
  • platform/efl/fast/ruby/base-shorter-than-text-expected.txt:
  • platform/efl/fast/table/038-vertical-expected.png:
  • platform/efl/fast/table/038-vertical-expected.txt:
  • platform/efl/fast/table/border-collapsing/004-vertical-expected.png:
  • platform/efl/fast/table/border-collapsing/004-vertical-expected.txt:
5:52 AM Changeset in webkit [138891] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Texmap] TextureMapperGL should reset ARRAY_BUFFER after painting.
https://bugs.webkit.org/show_bug.cgi?id=106098

This fixes the issue of the address bar disappearing in
Qt/MiniBrowser after r138555.

Reviewed by Jocelyn Turcotte.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawEdgeTriangles):
(WebCore::TextureMapperGL::drawUnitRect):

1:24 AM AddingFeatures edited by zandobersek@gmail.com
Adjust the name of the file containing feature defines for the … (diff)
1:04 AM Changeset in webkit [138890] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG should trust array profiling over value profiling
https://bugs.webkit.org/show_bug.cgi?id=106155

Reviewed by Gavin Barraclough.

The real problem is that prediction propagation is not flow-sensitive. We had code
like:

var a = (some load from memory); returns either an array or false
if (a)

a[i] = v;


Because 'a' could be 'false', we were emitting a fully generic unoptimized PutByVal.
This patch changes ArrayMode to ignore the type of the base of an array access, if
array profiling tells us that the array access can be optimized.

In the future, we could probably make this work even better with some flow
sensitivity in the prediction propagator, but I also tend to think that this is a
more robust overall solution. If we ever did want to support array accesses on
array-or-false then we should change the array profiler to be able to tell us that
this is what is going on.

3.7% speed-up on V8/earley.

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

12:28 AM Changeset in webkit [138889] by rniwa@webkit.org
  • 1 edit
    1 delete in trunk/Tools

Add svn:executable to a bunch of scripts in BuildSlaveSupport.
Also removed the empty mac directory.

  • BuildSlaveSupport/built-product-archive: Added property svn:executable.
  • BuildSlaveSupport/download-built-product: Added property svn:executable.
  • BuildSlaveSupport/mac: Removed.
  • BuildSlaveSupport/test-result-archive: Added property svn:executable.
12:20 AM Changeset in webkit [138888] by rniwa@webkit.org
  • 2 edits
    1 add in trunk/Tools

Add a script to delete stale zero-byte build files
https://bugs.webkit.org/show_bug.cgi?id=106131

Reviewed by Tony Chang.

Delete zero-byte build files on Mac port for now. It doesn't do anything on other ports.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(DeleteStaleBuildFiles): Added.
(Factory.init): Add DeleteStaleBuildFiles step.

  • BuildSlaveSupport/delete-stale-build-files: Added.

(main): Delete zero-byte files except ones intentionally generated by our build process.
(webkitBuildDirectory): Copied from build-product-archive.

Jan 4, 2013:

11:36 PM Changeset in webkit [138887] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding failure expectations for two CSS Regions tests added in r138854.
Modifying a failure expectation for a CSS Image Set test that now times out after r138857.

  • platform/gtk/TestExpectations:
7:58 PM Changeset in webkit [138886] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Remove a duplicate test expectation since the bug 106153 has been merged into the bug 106165.

  • platform/chromium/TestExpectations:
7:55 PM Changeset in webkit [138885] by rniwa@webkit.org
  • 5 edits in trunk/LayoutTests

Add a flaky failure expectation to a test added by r138834.
The failure is tracked by the bug 106165.

  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
7:53 PM Changeset in webkit [138884] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. fast/ruby/base-shorter-than-text.html is failing on
Lion and MountainLion.

  • platform/chromium/TestExpectations:
7:50 PM Changeset in webkit [138883] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix failing API test.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::initializeWebProcess):
The WebConnectionToUIProcess needs to be initialized before the injected bundle is,
so that if the user tries to use it, its there.

7:20 PM Changeset in webkit [138882] by rniwa@webkit.org
  • 2 edits in trunk/Tools

[GTK] Fix build error on GTK due to r138836
https://bugs.webkit.org/show_bug.cgi?id=106154

Patch by Michael Pruett <michael@68k.org> on 2013-01-04
Reviewed by Kentaro Hara.

  • GNUmakefile.am:
6:51 PM Changeset in webkit [138881] by weinig@apple.com
  • 11 edits
    2 copies in trunk/Source/WebKit2

Consolidate all the one time initialization functions into a single InitializeWebKit2() super function
https://bugs.webkit.org/show_bug.cgi?id=106161

Reviewed by Simon Fraser.

Adds InitializeWebKit2 and uses it.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/mac/NetworkProcessInitialization.mm:

(WebKit::initializeNetworkProcess):

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • Shared/WebKit2Initialize.cpp: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.

(WebKit::InitializeWebKit2):

  • Shared/WebKit2Initialize.h: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.

(WebKit):

  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:

(WebKit::SharedWorkerProcessMain):

  • Target.pri:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • WebProcess/mac/WebProcessInitialization.mm:

(WebKit::initializeWebProcess):

6:08 PM Changeset in webkit [138880] by Lucas Forschler
  • 2 edits in tags/Safari-537.24.1/Source/WebCore

Merged r138877.

6:05 PM Changeset in webkit [138879] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Chromium windows compile fails because of the assertion in NodeRareData
https://bugs.webkit.org/show_bug.cgi?id=106149

Reviewed by Andreas Kling.

MSVC adds padding between bitfields of different types for better alignment.
Since we care more about the memory usage, use unsigned for all bitfields to work around this behavior.

  • dom/NodeRareData.cpp:

(SameSizeAsNodeRareData):
(WebCore):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::isWebVTTNode):
(WebCore::NodeRareData::isWebVTTFutureNode):
(NodeRareData):

5:59 PM Changeset in webkit [138878] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Updated the exports file.

Rubber-stamped by Andy Estes.

  • WebCore.exp.in: Moved the DOMHTMLTableCellElement export out of the !PLATFORM(IOS) section.
5:54 PM Changeset in webkit [138877] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Update margin for label to 0
https://bugs.webkit.org/show_bug.cgi?id=106152
<rdar://problem/12961387>

Reviewed by Brian Weinstein.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore): Change the margin constant from 10 to 0.

5:53 PM Changeset in webkit [138876] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Test is flaky on Linux and Mac.

  • platform/chromium/TestExpectations:
5:47 PM Changeset in webkit [138875] by weinig@apple.com
  • 6 edits in trunk/Source/WebKit2

Follow up to https://bugs.webkit.org/show_bug.cgi?id=106144, fixing some
of Alexey's review comments.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::createWebProcessConnection):
(WebKit::PluginProcess::getSitesWithData):
(WebKit::PluginProcess::clearSiteData):

  • Shared/ChildProcess.h:

(WebKit::ChildProcess::parentProcessConnection):

  • SharedWorkerProcess/SharedWorkerProcess.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::addVisitedLink):
(WebKit::WebProcess::removeWebFrame):
(WebKit::WebProcess::getSitesWithPluginData):
(WebKit::WebProcess::clearPluginSiteData):
(WebKit::WebProcess::addPlugInAutoStartOrigin):
(WebKit::WebProcess::plugInDidReceiveUserInteraction):
(WebKit::WebProcess::getWebCoreStatistics):

5:38 PM Changeset in webkit [138874] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Add a Mac test expectation for the test that has been intermittently failing on Mac Lion WebKit1.
The failure is tracked by the bug 106151.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
5:31 PM Changeset in webkit [138873] by Lucas Forschler
  • 4 edits in tags/Safari-537.24.1/Source

Versioning.

5:29 PM Changeset in webkit [138872] by Lucas Forschler
  • 1 copy in tags/Safari-537.24.1

New Tag.

5:28 PM Changeset in webkit [138871] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Rationalize exit site profiling for calls
https://bugs.webkit.org/show_bug.cgi?id=106150

Reviewed by Sam Weinig.

This adds two new exit kinds for calls: BadFunction and BadExecutable. The latter is not used
yet, but is already integrated with profiling. CheckFunction uses a BadFunction speculation
instead of BadCache, now. This allows CallLinkStatus to turn itself into a closure call status
if we had a BadFunction exit site but the CallLinkInfo told us to use a non-closure call. This
might happen if we had call unlinking that led to information loss along the way.

No performance impact. This is meant as another step towards inlining closure calls.

  • bytecode/CallLinkStatus.cpp:
  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::setIsProved):
(JSC::CallLinkStatus::setHasBadFunctionExitSite):
(CallLinkStatus):
(JSC::CallLinkStatus::setHasBadCacheExitSite):
(JSC::CallLinkStatus::setHasBadExecutableExitSite):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

5:26 PM Changeset in webkit [138870] by rniwa@webkit.org
  • 1 edit
    1 move
    4 deletes in trunk/LayoutTests

Remove superfluous chromium test baselines for the test added by r138862 after r138869.

  • platform/chromium-linux-x86/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium-linux/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium-mac-lion/fast/js: Removed.
  • platform/chromium-mac-lion/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium-mac/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Copied from LayoutTests/platform/chromium-linux-x86/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt.
5:21 PM Changeset in webkit [138869] by tdanderson@chromium.org
  • 1 edit
    6 adds in trunk/LayoutTests

Unreviewed gardening. Adding new baselines for chromium.

  • platform/chromium-linux-x86/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • platform/chromium-linux/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • platform/chromium-mac-lion/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • platform/chromium-mac-snowleopard/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • platform/chromium-mac/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
5:19 PM Changeset in webkit [138868] by weinig@apple.com
  • 31 edits in trunk/Source/WebKit2

Consolidate process initialization in ChildProcess
https://bugs.webkit.org/show_bug.cgi?id=106144

Reviewed by Alexey Proskuryakov.

Consolidate more functionality down into ChildProcess.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::initializeSandbox):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/mac/NetworkProcessInitialization.h:
  • NetworkProcess/mac/NetworkProcessInitialization.mm:

(WebKit::initializeNetworkProcess):

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • NetworkProcess/mac/NetworkProcessMainMac.mm:

(WebKit::NetworkProcessMain):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::PluginProcess):
(WebKit::PluginProcess::initializePluginProcess):
(WebKit::PluginProcess::createWebProcessConnection):
(WebKit::PluginProcess::getSitesWithData):
(WebKit::PluginProcess::clearSiteData):

  • PluginProcess/PluginProcess.h:

(PluginProcess):

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::initializeShim):
(WebKit::initializeCocoaOverrides):
(WebKit::PluginProcess::platformInitialize):
(WebKit::PluginProcess::platformInitializePluginProcess):

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • PluginProcess/qt/PluginProcessMainQt.cpp:

(WebKit::PluginProcessMain):

  • PluginProcess/qt/PluginProcessQt.cpp:

(WebKit::PluginProcess::platformInitializePluginProcess):

  • PluginProcess/unix/PluginProcessMainUnix.cpp:

(WebKit::PluginProcessMainUnix):

  • PluginProcess/unix/PluginProcessUnix.cpp:

(WebKit::PluginProcess::platformInitializePluginProcess):

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::ChildProcess):
(WebKit::watchdogCallback):
(WebKit::didCloseOnConnectionWorkQueue):
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeConnection):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::terminate):

  • Shared/ChildProcess.h:

(ChildProcessInitializationParameters):
(ChildProcess):
(WebKit::ChildProcess::connection):
(WebKit::ChildProcess::destinationID):
(WebKit::ChildProcess::messageReceiverMap):

  • SharedWorkerProcess/SharedWorkerProcess.cpp:

(WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):

  • SharedWorkerProcess/SharedWorkerProcess.h:

(SharedWorkerProcess):

  • SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:

(WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess):

  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:

(WebKit::SharedWorkerProcessMain):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::removeWebFrame):
(WebKit::WebProcess::initializeSandbox):

  • WebProcess/WebProcess.h:
  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMainGtk):

  • WebProcess/mac/WebProcessInitialization.h:
  • WebProcess/mac/WebProcessInitialization.mm:

(WebKit::initializeWebProcess):

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitialize):

  • WebProcess/mac/WebProcessMainMac.mm:

(WebKit::WebProcessMain):

  • WebProcess/mac/WebProcessServiceEntryPoints.mm:

(WebKit::WebProcessServiceEventHandler):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):

  • WebProcess/qt/WebProcessMainQt.cpp:

(WebKit::WebProcessMainQt):

4:55 PM Changeset in webkit [138867] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed cleanup. Remove media/track/ from Mac TestExpectations because
https://bugs.webkit.org/show_bug.cgi?id=105606 was fixed.

  • platform/mac/TestExpectations:
4:34 PM Changeset in webkit [138866] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Optimize TransformationMatrix::multiply() for x86_64
https://bugs.webkit.org/show_bug.cgi?id=105719

Reviewed by Sam Weinig.

On x86_64, we have access to 16 XMM registers. This can hold 32 double values.
We can use that in two ways to optimize matrix multiplications:
-Keep the source matrix completely in registers. Write the result directly in

the source matrix's memory. This avoids the memcpy at the end of the multiplication
and various memory operations.

-Use SIMD with SSE to perform 2 operations at a time.

The parameter from the second matrix are loaded one by one in XMM registers.
Loading them with SSE then shuffling the values perform worse than loading
one by one.

This is only enabled on 64bits as x86 only has access to 8 XMM registers and
the function should be written differently.

On a i5, TransformationMatrix::multiply() perform about 3 times faster with the change.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::multiply):

  • platform/graphics/transforms/TransformationMatrix.h:

(TransformationMatrix): Fix an incorrect comment. Unify the comment with the cpp file.

4:18 PM Changeset in webkit [138865] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit/win

Make private browsing work on Windows.
https://bugs.webkit.org/show_bug.cgi?id=106032.

Reviewed by Alexey Proskuryakov.

Code path never called ensurePrivateBrowsingSession which is what starts up the private browsing session.
This was causing many tests to involving private browsing to fail.

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

3:57 PM Changeset in webkit [138864] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix Apple Win build following http://trac.webkit.org/changeset/138838
https://bugs.webkit.org/show_bug.cgi?id=105927

  • WebCore.vcproj/WebCoreTestSupport.vcproj:
3:47 PM Changeset in webkit [138863] by inferno@chromium.org
  • 5 edits in trunk/Source/WebCore

Heap-use-after-free in WebCore::XMLDocumentParser::doEnd
https://bugs.webkit.org/show_bug.cgi?id=100152

Reviewed by Adam Barth.

XMLDocumentParser can be blown away inside document()->styleResolverChanged()
call. Protect it with a local RefPtr in Document::explitClose.

No new tests. The site specific dependencies are hard to minimize.

  • dom/Document.cpp:

(WebCore::Document::explicitClose): RefPtr m_parser into a local, since
it can be detached and nulled out in DocumentWriter::end().

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::end): Bail out when we are detached.

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::doEnd): Bail out when we are detached.

  • xml/parser/XMLDocumentParserQt.cpp:

(WebCore::XMLDocumentParser::doEnd): Bail out when we are detached.

3:40 PM Changeset in webkit [138862] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

DFG should not elide CheckStructure if it's needed to perform a cell check
https://bugs.webkit.org/show_bug.cgi?id=106074

Source/JavaScriptCore:

Reviewed by Ryosuke Niwa.

The problem here was that the constant folding phase was misinterpreting the meaning of the sets
in DFG::AbstractValue. AbstractValue describes a constraint on the values that a variable (i.e.
a DFG Node, or a virtual register, i.e. local or argument) may have. It does so by containing
four sets: the set of JSValues (either empty, the singleton set containing one JSValue, or the
set of all JSValues); the set of "current known" structures, i.e. the set of structures that you
already know that this value may have right now (also either empty, the singleton set, or the set
of all structures); the set of "future possible" structures, i.e. the set of structures that this
value could have in the future if none of the structure transition watchpoints for those
structures had fired (also empty, singleton, or all); and the set of types, which is a
SpeculatedType bitmask. The correct way to interpret the sets is to think of the AbstractValue as
the intersection of these three sets of values:

  • The set of JSValues that have a type that belongs to the m_type set.
  • If m_value is not the empty value then: the set of all JSValues that are == m_value;

else: the set of all JSValues.

where '==' is as defined by JSValue::operator==.

  • Union of { the set of all cells that have a structure that belongs to m_currentKnownStructure }

and { the set of all JSValues that are not cells }.


You can then further intersect this set with the following set, if you guard the code with
watchpoints on all structures in the m_futurePossibleStructure:

  • Union of { the set of all cells that have a structure that belongs to m_futurePossibleStructure }

and { the set of all JSValues that are not cells }.


One way to think of this is that m_currentKnownStructure is filtered by m_futurePossibleStructure
(i.e. is set to the intersection of m_currentKnownStructure and m_futurePossibleStructure), if the
code for which you're doing this is always preceded by watchpoints on all structures in
m_futurePossibleStructure, and is always before any side-effects that could change the structures
of objects.

The incorrect optimization related to CheckStructure. CheckStructure checks that the value is a
cell, and that it has a particular structure. It was incorrectly assuming that you could eliminate
the CheckStructure, if m_currentKnownStructure contained the structure that CheckStructure was
checking. But this is not the case, since m_currentKnownStructure does not prove that the value is
a cell with a particular structure; it only proves that if the value was a cell then it would have
a particular structure. Hence, to eliminate CheckStructure, it is also necessary to check that
AbstractValue::m_type contains only cells (i.e. isCellSpeculation(m_type) == true).

It wasn't doing that, and this changes makes sure that it does do that.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

LayoutTests:

Reviewed by Ryosuke Niwa.

  • fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • fast/js/dfg-check-structure-elimination-for-non-cell.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-check-structure-elimination-for-non-cell.js: Added.

(foo):
(bar):
(baz):

3:39 PM Changeset in webkit [138861] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Temporarily skipping three tests
in webaudio/codec-tests/vorbis because they need a
special rebaseline.

  • platform/chromium/TestExpectations:
3:36 PM Changeset in webkit [138860] by rniwa@webkit.org
  • 5 edits in trunk

REGRESSION(r138394): platform/mac/accessibility/file-upload-button-subrole.html is failing
https://bugs.webkit.org/show_bug.cgi?id=105778

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Rename "file upload" to "file upload button".

  • English.lproj/Localizable.strings:
  • platform/LocalizedStrings.cpp:

LayoutTests:

Removed the old test expectations.

  • platform/mac/TestExpectations:
3:21 PM Changeset in webkit [138859] by jamesr@google.com
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Remove WebWidget::layerTreeView(), ownership is the other way around
https://bugs.webkit.org/show_bug.cgi?id=106139

Reviewed by Adrienne Walker.

This was added with the thought that it would be useful for transitioning code for a world where the
WebLayerTreeView for a given widget was owned by the WebWidgetClient instead of the WebWidget, but as it turns
out we've transitioned without every adding any callers to this.

  • public/WebWidget.h:

(WebWidget):

  • src/WebViewImpl.cpp:
3:15 PM Changeset in webkit [138858] by timothy_horton@apple.com
  • 13 edits in trunk/Source

[wk2] Remove non-visible tiles from the layer tree
https://bugs.webkit.org/show_bug.cgi?id=106061
<rdar://problem/12761821>

Reviewed by Simon Fraser.

Unparenting tiles which aren't currently on-screen can allow underlying
frameworks to manage the layer's backing stores more effectively than we can.

In addition, add a setting (AggressiveTileRetentionEnabled) which keeps more
tiles around (we don't remove tiles in cohorts, nor when the TileCache moves
out of the window), which is off by default.

  • WebCore.exp.in: Export Settings::setAggressiveTileRetentionEnabled.
  • page/Settings.cpp:

(WebCore::Settings::Settings): Initialize m_aggressiveTileRetentionEnabled to false.
(WebCore::Settings::setAggressiveTileRetentionEnabled): Added.

  • page/Settings.h:

(WebCore::Settings::aggressiveTileRetentionEnabled): Added.

  • platform/graphics/TiledBacking.h: Add setter/getter to hand aggressivelyRetainsTiles through to TiledBackings.
  • platform/graphics/ca/mac/TileCache.h:

(TileCache): Turn TileValidationPolicy into TileValidationPolicyFlags, and add
a flag for unparenting all tiles.
Implement aggressivelyRetainsTiles setter/getter.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::TileCache): Initialize m_aggressivelyRetainsTiles to false.
(WebCore::TileCache::setIsInWindow): Revalidate tiles immediately if the TileCache has just entered the window.
(WebCore::TileCache::tileRevalidationTimerFired):
This is called if coverage rect, tile cache layer bounds, or visibility changes. We will revalidate tiles:

  • Removing all tiles from the layer tree for background tile caches.
  • Not pruning old tiles if the aggressiveTileRetentionEnabled setting is on.

(WebCore::TileCache::revalidateTiles):
Adopt TileValidationPolicyFlags instead of the old enum, and use separate flags for foreground/background caches.
Unparent tiles when they move out of the tile coverage rect.
Only schedule the tile cohort removal timer if we're not aggressively keeping tiles around.
Ensure that tiles are re-added to the TileCache layer tree if they already exist.
Unparent all tiles if TileValidationPolicyFlags says to (from tileRevalidationTimerFired's background flags).
Only add new tiles to the TileCache's layer tree if we're currently in the window.
Don't prune secondary tiles if the visible rect changes; this will already occur because when the visibleRect
changes, we arrive via tileRevalidationTimerFired, which asks for PruneSecondaryTiles anyway (except if we're
aggressively retaining tiles). This prevents tiles from being deleted unexpectedly during rubber-banding or when zoomed (this part of the patch is thanks to Simon).
(WebCore::TileCache::ensureTilesForRect):
Don't ensure any tiles if the TileCache is offscreen.
Ensure that tiles are re-added to the TileCache layer tree if they already exist.
(WebCore::TileCache::drawTileMapContents):
Draw a thick purple border around tiles that have been unparented.

Add a setting to enable aggressive retention of TileCache tiles. If enabled,
TileCache will generally try to keep around all tiles. This setting is off by default.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAggressiveTileRetentionEnabled):
(WKPreferencesGetAggressiveTileRetentionEnabled):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Forward the setting to the TiledBacking.

2:45 PM Changeset in webkit [138857] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/LayoutTests

URL duplication in mouse cursor tests mean minor typos can cause flakiness
https://bugs.webkit.org/show_bug.cgi?id=104952

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Eric Seidel.

Replace the explicit list of images to preload with code that extracts
URLs from style definitions. Also move all this image preload code to
a common helper file so that it can easily be used by other tests.

  • fast/events/mouse-cursor-image-set.html:
  • fast/events/mouse-cursor-multiframecur.html:
  • fast/events/mouse-cursor.html:
  • fast/js/resources/image-preload-helper.js: Added.

(preloadImagesFromStyle):
(onComplete):
(imagesToLoad):

2:27 PM Changeset in webkit [138856] by wangxianzhu@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewd. Fix break caused by using old internals.settings.setEnableCompositingForFixedPosition
(has been renamed to setAcceleratedCompositingForFixedPositionEnabled).

  • compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html:
2:18 PM Changeset in webkit [138855] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

HTMLTreeBuilder should ASSERT that it is on the main thread before touching elements
https://bugs.webkit.org/show_bug.cgi?id=106128

Reviewed by Eric Seidel.

Even if we move the HTML parser onto a background thread, we're likely
to keep fragment parsing on the main thread. These code paths touch
elements (which only exist on the main thread) but are only used during
fragment parsing. This patch adds ASSERTs to document that invariant.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::closestFormAncestor):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

2:01 PM Changeset in webkit [138854] by zoltan@webkit.org
  • 4 edits
    4 adds in trunk

[CSS Regions] @region rules inside media queries are ignored
https://bugs.webkit.org/show_bug.cgi?id=102388

Reviewed by David Hyatt.

Using @region rules in media queries was ignored, but we should accept and apply it.

Source/WebCore:

Tests: fast/regions/region-rule-nested-region-rule.html

fast/regions/region-styling-mediaquery.html

  • css/CSSGrammar.y.in: Add new ruleList for region rule to handle the media query case

and avoid using nested region rules.

  • css/RuleSet.cpp:

(WebCore::RuleSet::addRulesFromSheet): Add case for region rules inside media queries.

LayoutTests:

  • fast/regions/region-rule-nested-region-rule-expected.html: Added.
  • fast/regions/region-rule-nested-region-rule.html: Added.
  • fast/regions/region-styling-mediaquery-expected.html: Added.
  • fast/regions/region-styling-mediaquery.html: Added.
1:48 PM Changeset in webkit [138853] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Last text input caret left visible when WebView entirely loses focus.
https://bugs.webkit.org/show_bug.cgi?id=106124

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2013-01-04
Reviewed by George Staikos.

Internal PR 248834

There are numerous code paths that lead to repainting of the focus node
when the focus moves to another node, but none seem to cover the case
of focus leaving the document when there are no DocumentMarkers present.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::setElementUnfocused):

1:48 PM Changeset in webkit [138852] by Lucas Forschler
  • 3 edits
    1 add in branches/safari-536.28-branch/LayoutTests/platform/mac

Rebase svg tests.

1:39 PM Changeset in webkit [138851] by mitz@apple.com
  • 5 edits
    2 adds in trunk

[mac] WebKit1 has no equivalent of WKBundleNodeHandleCopyHTMLTableCellElementCellAbove
https://bugs.webkit.org/show_bug.cgi?id=106121

Reviewed by Adele Peterson.

Source/WebCore:

Test: TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm.

  • bindings/objc/DOM.mm:

(-[DOMHTMLTableCellElement _cellAbove]): Added. Calls HTMLTableCellElement::cellAbove().

  • bindings/objc/DOMPrivate.h: Added declaration of the above.

Tools:

Added test for -[DOMTHMLTableCellElement _cellAbove].

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm: Added.

(-[HTMLTableCellElementCellAboveTest webView:didFinishLoadForFrame:]):
(TestWebKitAPI):
(TestWebKitAPI::expectCellAboveCell):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/DOMHTMLTableCellElementCellAbove.html: Added.
1:37 PM Changeset in webkit [138850] by inferno@chromium.org
  • 7 edits
    2 adds in trunk

Crash in WebCore::RenderBlock::willBeDestroyed
https://bugs.webkit.org/show_bug.cgi?id=103455

Reviewed by Eric Seidel.

Source/WebCore:

It is not required to set beforeChild to :after child since DOM is
now pseudo element aware. See trac.webkit.org/changeset/137336. We
were incorrectly placing the inline continuation before the :after
content.

Test: fast/multicol/continuation-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): remove beforeChild
setting to afterPseudoElementRenderer.

  • rendering/RenderRuby.cpp:

(WebCore::RenderRubyAsInline::addChild): add missing beforeChild argument.
setting to afterPseudoElementRenderer.
(WebCore::RenderRubyAsBlock::addChild): add missing beforeChild argument.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild): remove beforeChild
setting to afterPseudoElementRenderer.

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::addChild): remove beforeChild
setting to afterPseudoElementRenderer.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addChild): remove beforeChild
setting to afterPseudoElementRenderer.

LayoutTests:

  • fast/multicol/continuation-crash-expected.txt: Added.
  • fast/multicol/continuation-crash.html: Added.
1:33 PM Changeset in webkit [138849] by crogers@google.com
  • 21 edits
    3 copies
    3 adds
    2 deletes in trunk

Implement WebIDL-style string constants in WebAudio (part 2)
https://bugs.webkit.org/show_bug.cgi?id=105977

Reviewed by Kentaro Hara.

Source/WebCore:

See Deprecation Notes for more detail:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes

PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
Legacy support in the setters for the old integer values should be supported.
This patch handles the changes for BiquadFilterNode and PannerNode.

Test: webaudio/pannernode-basic.html

  • GNUmakefile.list.am:
  • Modules/webaudio/BiquadFilterNode.cpp:

(WebCore::BiquadFilterNode::type):
(WebCore):
(WebCore::BiquadFilterNode::setType):

  • Modules/webaudio/BiquadFilterNode.h:

(BiquadFilterNode):

  • Modules/webaudio/BiquadFilterNode.idl:
  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::panningModel):
(WebCore):
(WebCore::PannerNode::setPanningModel):
(WebCore::PannerNode::distanceModel):
(WebCore::PannerNode::setDistanceModel):

  • Modules/webaudio/PannerNode.h:

(PannerNode):

  • Modules/webaudio/PannerNode.idl:
  • Target.pri:
  • UseJSC.cmake:
  • UseV8.cmake:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.

(WebCore):
(WebCore::JSBiquadFilterNode::setType):

  • bindings/js/JSPannerNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.

(WebCore):
(WebCore::JSPannerNode::setPanningModel):
(WebCore::JSPannerNode::setDistanceModel):

  • bindings/v8/custom/V8BiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.

(WebCore):
(WebCore::V8BiquadFilterNode::typeAccessorSetter):

  • bindings/v8/custom/V8PannerNodeCustom.cpp: Added.

(WebCore):
(WebCore::V8PannerNode::panningModelAccessorSetter):
(WebCore::V8PannerNode::distanceModelAccessorSetter):

LayoutTests:

  • webaudio/audiopannernode-basic-expected.txt: Removed.
  • webaudio/audiopannernode-basic.html: Removed.
  • webaudio/biquad-getFrequencyResponse-expected.txt:
  • webaudio/biquad-getFrequencyResponse.html:
  • webaudio/biquadfilternode-basic-expected.txt:
  • webaudio/biquadfilternode-basic.html:
  • webaudio/pannernode-basic-expected.txt: Added.
  • webaudio/pannernode-basic.html: Added.
  • webaudio/resources/biquad-testing.js:
  • webaudio/resources/distance-model-testing.js:

(createGraph):
(.return.renderedBuffer):
(checkDistanceResult):

  • webaudio/resources/panner-model-testing.js:

(createGraph):

1:25 PM Changeset in webkit [138848] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] FCC will show up as you type if you tap on the same input bar twice before typing
https://bugs.webkit.org/show_bug.cgi?id=106116

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-01-04
Reviewed by Yong Li.
Internal reviewed by Gen Mak.
PR 267177

FCC is being invoked because the fatfinger result is no longer a reliable source
to tell whether the caret change is caused by user touch input. Instead, we recognize all
notifyCaretChange calls with userTouchInput as true except when caretPositionChanged is invoked
by SelectionHandler:inputHandlerDidFinishProcessingChange.

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::inputHandlerDidFinishProcessingChange):
(BlackBerry::WebKit::SelectionHandler::notifyCaretPositionChangedIfNeeded):
(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):

  • WebKitSupport/SelectionHandler.h:

(SelectionHandler):

1:25 PM Changeset in webkit [138847] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/LayoutTests

Update tests to use layoutTestController instead of testRunner.

1:23 PM Changeset in webkit [138846] by yoli@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Cached frame shouldn't access the page when being destroyed
https://bugs.webkit.org/show_bug.cgi?id=105942

Reviewed by George Staikos.

Fix regression of previous patch. dispatchDidHandleOnloadEvents() can be called
after Frame has been detached.

RIM PR# 271237.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):

1:15 PM Changeset in webkit [138845] by weinig@apple.com
  • 12 edits in trunk/Source/WebKit2

Make process initialization more uniform by renaming initialization methods and removing extraneous parameters
https://bugs.webkit.org/show_bug.cgi?id=106120

Reviewed by Brady Eidson.

Rename FooProcess::initialize() -> FooProcess::initializeConnection() and removes
the RunLoop parameter since it is always the same the as RunLoop::main().

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeConnection):

  • NetworkProcess/NetworkProcess.h:

(NetworkProcess):

  • NetworkProcess/mac/NetworkProcessInitialization.mm:

(WebKit::initializeNetworkProcess):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::initializeConnection):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • PluginProcess/qt/PluginProcessMainQt.cpp:

(WebKit::PluginProcessMain):

  • PluginProcess/unix/PluginProcessMainUnix.cpp:

(WebKit::PluginProcessMainUnix):

  • SharedWorkerProcess/SharedWorkerProcess.cpp:

(WebKit::SharedWorkerProcess::initializeConnection):

  • SharedWorkerProcess/SharedWorkerProcess.h:

(SharedWorkerProcess):

  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:

(WebKit::SharedWorkerProcessMain):

1:15 PM Changeset in webkit [138844] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. The following two tests are flaky on XP:
svg/custom/feComponentTransfer-Table.svg
svg/custom/embedding-external-svgs.xhtml

  • platform/chromium/TestExpectations:
1:12 PM Changeset in webkit [138843] by commit-queue@webkit.org
  • 11 edits in trunk

window.Touch and TouchList should exist when touch events are enabled
https://bugs.webkit.org/show_bug.cgi?id=96295

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Kentaro Hara.

Source/WebCore:

Add missing window.Touch and window.TouchList constructors under
ENABLE(TOUCH_EVENTS).

Make window.Touch, window.TouchList and window.TouchEvent enabled at runtime
under V8, to be consistent with all the other touch-related APIs.

Tests: fast/events/touch/document-create-touch-list.html

fast/js/global-constructors.html

  • bindings/generic/RuntimeEnabledFeatures.h:
  • dom/Document.idl:
  • dom/Element.idl:
  • page/DOMWindow.idl:

LayoutTests:

Add new expected constructors and instanceof checks.

  • fast/events/touch/document-create-touch-list-expected.txt:
  • fast/events/touch/script-tests/document-create-touch-list.js:
  • platform/efl/fast/js/global-constructors-expected.txt:
  • platform/qt-5.0/fast/js/global-constructors-expected.txt:
  • platform/qt/fast/js/global-constructors-expected.txt:
1:04 PM Changeset in webkit [138842] by wangxianzhu@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

Test compositing and slow scrolling behavior of fixed position elements under transformed elements
https://bugs.webkit.org/show_bug.cgi?id=103470

Reviewed by Simon Fraser.

Add test case for the behavior change about fixed position elements under transformed elements in bug 102543 by the way.

  • compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt: Added.
  • compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html: Added.
1:03 PM Changeset in webkit [138841] by adamk@chromium.org
  • 6 edits
    1 move
    1 add in trunk/Source/WebCore

[v8] Stop using an IDL to generate V8MutationCallback
https://bugs.webkit.org/show_bug.cgi?id=106122

Reviewed by Adam Barth.

The only real code in the generated V8MutationCallback.{h,cpp} files
were specifically written in CodeGeneratorV8 for its use. By instead
Using completely-hand-written versions of these files, the
CodeGenerator can be simplified (as can all generated Callbacks).
All the actually shared code is still shared via subclassing of
ActiveDOMCallback.

This introduces additional flexibility into the implementation of
MutationCallback which will be used when fixing the MutationObserver
memory leak (http://webkit.org/b/90661) for JSC.

No changes to JSC for now, just a FIXME in the IDL file.

No new tests, refactoringonly.

  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallbackHeader):
(GenerateCallbackImplementation):

  • bindings/scripts/test/V8/V8TestCallback.cpp:

(WebCore::V8TestCallback::V8TestCallback):

  • bindings/scripts/test/V8/V8TestCallback.h:

(WebCore::V8TestCallback::create):
(V8TestCallback):

  • bindings/v8/V8MutationCallback.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MutationCallbackCustom.cpp.

(WebCore::V8MutationCallback::V8MutationCallback):
(WebCore::V8MutationCallback::handleEvent):

  • bindings/v8/V8MutationCallback.h: Added.

(V8MutationCallback):
(WebCore::V8MutationCallback::create):
(WebCore::V8MutationCallback::weakCallback):

  • dom/MutationCallback.idl:
12:51 PM Changeset in webkit [138840] by tony@chromium.org
  • 28 edits in trunk

Remove some autogenerated settings from InternalSettings.idl
https://bugs.webkit.org/show_bug.cgi?id=106114

Reviewed by Ojan Vafai.

Source/WebCore:

Remove 6 methods that are now autogenerated.
setAcceleratedFiltersEnabled was never called.
AcceleratedCompositingForOverflowScrollEnabled was never backed up/restored.
setEnableCompositingForFixedPosition and setEnableCompositingForScrollableFrames
are renamed to match the name in Settings.in.

No new tests, there should be no change in behavior. This is covered by
existing tests in compositing and platform/chromium/compositing.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup): Remove code.
(WebCore::InternalSettings::Backup::restoreTo): Remove code.

  • testing/InternalSettings.h:

(Backup): Remove member variables.
(InternalSettings):

  • testing/InternalSettings.idl: Remove methods that are no longer used.

LayoutTests:

Rename setters to match the name in Settings.in
setEnableCompositingForFixedPosition -> setAcceleratedCompositingForFixedPositionEnabled
setEnableCompositingForScrollableFrames -> setAcceleratedCompositingForScrollableFramesEnabled

  • compositing/absolute-inside-out-of-view-fixed.html:
  • compositing/geometry/fixed-position-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-composited-page-scale-scroll.html:
  • compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html:
  • compositing/geometry/fixed-position-composited-page-scale.html:
  • compositing/geometry/fixed-position-composited-switch.html:
  • compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-iframe-composited-page-scale.html:
  • compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-transform-composited-page-scale.html:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-scroll.html:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-iframe.html:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html:
  • compositing/layer-creation/fixed-position-out-of-view-scaled.html:
  • compositing/layer-creation/fixed-position-out-of-view-scroll-reason.html:
  • compositing/layer-creation/fixed-position-out-of-view.html:
  • compositing/overflow/automatically-opt-into-composited-scrolling.html:
  • platform/chromium/compositing/force-compositing-mode/force-composite-empty.html:
  • platform/chromium/compositing/force-compositing-mode/no-overflow-iframe-layer.html:
  • platform/chromium/compositing/force-compositing-mode/overflow-hidden-iframe-layer.html:
  • platform/chromium/compositing/force-compositing-mode/overflow-iframe-enter-compositing.html:
  • platform/chromium/compositing/force-compositing-mode/overflow-iframe-layer.html:
  • platform/chromium/compositing/force-compositing-mode/overflow-iframe-leave-compositing.html:
12:51 PM Changeset in webkit [138839] by nghanavatian@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Allow defaultTabEventHandler to trigger on tab
https://bugs.webkit.org/show_bug.cgi?id=106118

Reviewed by Yong Li.

In order to support tabbing through input elements, amongst
other things, we need to bipass the processing of the tab key as
'\t'. This will simply insert 4 spaces in the field. Remove tab
support from the key down map so that we don't translate it to
an editor command.

Internally reviewed by Mike Fenton.

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore):

12:45 PM Changeset in webkit [138838] by ojan@chromium.org
  • 23 edits
    2 adds in trunk

Vertical writing mode can overflow fixed size grandparent container
https://bugs.webkit.org/show_bug.cgi?id=93655

Reviewed by David Hyatt.

Source/WebCore:

Add a hook to RenderBox::availableHeight to exclude the containing block's
margin, border and padding. This is for auto-sizing perpendicular writing modes
to restrict to the minimum of the fill-available height and the viewport height.

This will be used in a future patch to implement "height: fill-available".

This behavior was recently specced in http://dev.w3.org/csswg/css3-sizing/#extrinsic-sizing.

Test: fast/writing-mode/auto-sizing-orthogonal-flows.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeight):
(WebCore::RenderBox::availableLogicalHeightUsing):

  • rendering/RenderBox.h:

(RenderBox):
(WebCore::RenderBox::availableWidth):
(WebCore::RenderBox::availableHeight):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeIntrinsicRatioInformation):

  • rendering/RenderView.cpp:

(WebCore::RenderView::availableLogicalHeight):

  • rendering/RenderView.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

LayoutTests:

  • fast/writing-mode/auto-sizing-orthogonal-flows-expected.txt: Added.
  • fast/writing-mode/auto-sizing-orthogonal-flows.html: Added.
  • fast/writing-mode/percentage-height-orthogonal-writing-modes-expected.txt:
  • fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks-expected.txt:
  • fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks.html:
  • fast/writing-mode/percentage-height-orthogonal-writing-modes.html:
  • fast/writing-mode/table-percent-width-quirk-expected.png:
  • fast/writing-mode/table-percent-width-quirk-expected.txt:

This test now correctly uses the containing blocks's availableHeight instead of the
initial containing block's height to size the perpendicular child.

  • platform/chromium-linux/fast/ruby/base-shorter-than-text-expected.txt:
  • platform/chromium-linux/fast/table/038-vertical-expected.png:
  • platform/chromium-linux/fast/table/border-collapsing/004-vertical-expected.png:

The extra wrapping in this test is just because we subtract the body's margin when
computing the available height. If you force the table's container 16px smaller,
you get the same rendering at tip of tree WebKit.

  • platform/chromium-win/fast/table/038-vertical-expected.txt:
  • platform/chromium-win/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:

Add tests that will need rebaseline once this patch lands.

12:43 PM Changeset in webkit [138837] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Enable Input Focus when handling touch events for JS
https://bugs.webkit.org/show_bug.cgi?id=106109

Reviewed by Yong Li.

PR 273325.

Toggle input mode active when a touch event is
received for JS processing to ensure state
is updated even when event is consumed.

Reviewed Internally by Gen Mak.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::touchEvent):

12:42 PM Changeset in webkit [138836] by jsbell@chromium.org
  • 14 edits
    4 adds in trunk

Add tests for WebIDL type conversions
https://bugs.webkit.org/show_bug.cgi?id=105927

Reviewed by Adam Barth.

Source/WebCore:

Expose attributes of various WebIDL types for testing ECMAScript value conversion,
including edge cases such as NaNs, Infinities, etc. These attributes hang off
a TypeConversions object created via window.internals.typeConversions().

Test: fast/js/webidl-type-mapping.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.vcproj/WebCoreTestSupport.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • testing/Internals.cpp:

(WebCore::Internals::typeConversions):
(WebCore):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:
  • testing/TypeConversions.h: Added.

(WebCore):
(TypeConversions):
(WebCore::TypeConversions::create):
(WebCore::TypeConversions::testLong):
(WebCore::TypeConversions::setTestLong):
(WebCore::TypeConversions::testUnsignedLong):
(WebCore::TypeConversions::setTestUnsignedLong):
(WebCore::TypeConversions::testLongLong):
(WebCore::TypeConversions::setTestLongLong):
(WebCore::TypeConversions::testUnsignedLongLong):
(WebCore::TypeConversions::setTestUnsignedLongLong):
(WebCore::TypeConversions::TypeConversions):

  • testing/TypeConversions.idl: Added.

LayoutTests:

This currently fails long long conversions of non-finites (which should map to 0). Patch
in progress at: http://wkbug.com/96798

  • fast/js/webidl-type-mapping-expected.txt: Added.
  • fast/js/webidl-type-mapping.html: Added.
12:40 PM Changeset in webkit [138835] by senorblanco@chromium.org
  • 5 edits
    2 adds in trunk

Invalidation of some SVG filter attributes on HTML content doesn't work
https://bugs.webkit.org/show_bug.cgi?id=105635

Reviewed by Dirk Schulze.

Source/WebCore:

Since HTML elements with filters are only added to m_clientLayers, not
m_clients, and do not use the FilterInfo used by SVG filters on SVG
elements, they must be invalidated separately. Some filter attribute
invalidations call markAllClientsForInvalidation(), but some call
markClientForInvalidation() directly. These invaldations must also
invalidate m_clientLayers.

Test: css3/filters/reference-filter-update-on-attribute-change.html

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
(WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):

  • rendering/svg/RenderSVGResourceContainer.h:

Refactor client layer invalidation out into its own function.

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
Mark all client layers for invalidation when a filter primitve attribute is
changed.

LayoutTests:

New reftest to verify filter attribute change invalidations.

  • css3/filters/reference-filter-update-on-attribute-change-expected.html: Added.
  • css3/filters/reference-filter-update-on-attribute-change.html: Added.
12:38 PM Changeset in webkit [138834] by mkwst@chromium.org
  • 3 edits
    4 adds in trunk

CSP 1.1: Experiment with adding line numbers to violation reports.
https://bugs.webkit.org/show_bug.cgi?id=105374

Reviewed by Adam Barth.

Source/WebCore:

Line numbers and URLs were added to the CSP 1.1 spec in
https://dvcs.w3.org/hg/content-security-policy/rev/e0270baace3d, and
already exist (and have for quite some time) in Firefox's
implementation. Based on developer feedback, it seems reasonable to
experiment a bit with adding them to WebKit's violation reports.
This patch generates a stack trace when constructing the violation
report object (iff a violation report object ought to be generated)
and adds a line number and URL to the object if possible.

Tests: http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.html

http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation):

Generate a stack trace when building the violation report: if it
has relevant detail, add the line number and URL to the report
object.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.html: Added.
  • http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html: Added.
12:32 PM Changeset in webkit [138833] by mikelawther@chromium.org
  • 3 edits
    4 adds in trunk

CSS3 calc: working with translate and scale transforms
https://bugs.webkit.org/show_bug.cgi?id=105985

Reviewed by Ojan Vafai.

Source/WebCore:

Allow convertTo[Float|Int]Length functions to process calculated values.

Tests: css3/calc/transforms-scale.html

css3/calc/transforms-translate.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::convertToIntLength):
(WebCore::StyleResolver::convertToFloatLength):

LayoutTests:

  • css3/calc/transforms-scale-expected.html: Added.
  • css3/calc/transforms-scale.html: Added.
  • css3/calc/transforms-translate-expected.html: Added.
  • css3/calc/transforms-translate.html: Added.
12:30 PM Changeset in webkit [138832] by esprehn@chromium.org
  • 3 edits
    2 adds in trunk

PseudoElement should never dispatch events
https://bugs.webkit.org/show_bug.cgi?id=106048

Reviewed by Ojan Vafai.

Source/WebCore:

The new DOM based generated content can sometimes dispatch events
as a result of animations or transitions which is incorrect as it
exposes the PseudoElement to script. All event dispatch from a
PseudoElement should be ignored.

Per discussions with Tab Atkins in the future we might add support
by making events dispatched from a pseudo element fire with the
target as the parent element and add a new pseudo property to
events that has the value "before" or "after".

Test: fast/css-generated-content/pseudo-element-events.html

  • dom/PseudoElement.h:

LayoutTests:

Add a test that events don't get dispatched from pseudo elements. The
only way right now to cause this is with transitions or animations.

  • fast/css-generated-content/pseudo-element-events-expected.txt: Added.
  • fast/css-generated-content/pseudo-element-events.html: Added.
12:25 PM Changeset in webkit [138831] by commit-queue@webkit.org
  • 13 edits in trunk/Source/Platform

[chromium] Remove static create functions from types WebCompositorSupport can construct
https://bugs.webkit.org/show_bug.cgi?id=99877

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

  • chromium/public/WebAnimation.h:
  • chromium/public/WebContentLayer.h:
  • chromium/public/WebExternalTextureLayer.h:
  • chromium/public/WebFloatAnimationCurve.h:
  • chromium/public/WebIOSurfaceLayer.h:
  • chromium/public/WebImageLayer.h:
  • chromium/public/WebLayer.h:
  • chromium/public/WebLayerTreeView.h:
  • chromium/public/WebScrollbarLayer.h:
  • chromium/public/WebSolidColorLayer.h:
  • chromium/public/WebTransformAnimationCurve.h:
  • chromium/public/WebVideoLayer.h:
12:25 PM Changeset in webkit [138830] by tdanderson@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed gardening. Adding Lion image baseline for
fast/regions/full-screen-video-from-region.html

  • platform/chromium-mac-lion/fast/regions/full-screen-video-from-region-expected.png: Added.
12:23 PM Changeset in webkit [138829] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

WebKitCSSTransformValue::customCssText() should always allocate once
https://bugs.webkit.org/show_bug.cgi?id=105445

Reviewed by Alexis Menard.

When converting a WebKitCSSTransformValue to a String representation,
it was typically done with 2 memory allocations due to the string size in StringBuilder.

This patch changes the code to use the String Concatenate operations in order
to create the string at once.

The opening parenthesis is also moved in the prefix name in order to maximize
the range copied with memcopy.

  • css/WebKitCSSTransformValue.cpp:

(WebCore::transformValueToCssString): New generic function for boxing values.
(WebCore::WebKitCSSTransformValue::customCssText):
(WebCore::WebKitCSSTransformValue::customSerializeResolvingVariables):

12:13 PM Changeset in webkit [138828] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Add a crash test expectation for the crashing test on Mac WebKit1 after r138782,
which attempted to fix the crash but appears to did so only on WebKit2.

The failure is tracked by the bug 106123.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:06 PM Changeset in webkit [138827] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

The following two tests are starting to fail while on the verge of
timing out. Adding Failure to their modifiers.

fast/canvas/webgl/context-creation-and-destruction.html
platform/chromium/virtual/gpu/fast/canvas/webgl/context-creation-and-destruction.html

  • platform/chromium/TestExpectations:
12:05 PM Changeset in webkit [138826] by eric@webkit.org
  • 11 edits in trunk/Tools

FlakyTestReporter should be re-enabled and taught how to post patches
https://bugs.webkit.org/show_bug.cgi?id=103839

Reviewed by Adam Barth.

This moves LayoutTestResultsReader off of the DeprecatedPort object.
It also adds a real Port object to the EWS and CommitQueue objects
using a new PatchProcessingQueue superclass.
PatchProcessingQueue doesn't seem to be the cleanest insertion point
but works for this purpose.
I also moved _upload_results_archive_for_patch into PatchProcessingQueue
to resolve a FIXME.

This required some hacks/shiming between the non-specific "old"
port names which the EWS system is currently using, and the new
port objects. This shimming is done in PatchProcessingQueue._new_port_name_from_old.

Hopefully this will fix the flaky test reporter and results uploading.
Certainly it's another small step towards getting rid of the old ports.py
infrastructure and making the NRWT Port class common webkitpy infrastructure.

Now that DeprecatedPort is no longer used for the results directory
I removed all the explicit results-dir code which webkit-patch was using
in --non-interactive mode to tell NRWT to use a results-dir it understood. :)

  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.run_perl_unittests_command):

  • Scripts/webkitpy/common/config/ports_mock.py:

(MockPort.name):

  • Scripts/webkitpy/common/system/outputcapture.py:

(OutputCapture.assert_outputs):

  • Scripts/webkitpy/layout_tests/port/apple.py:

(ApplePort.determine_full_port_name):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader.py:

(LayoutTestResultsReader.init):
(LayoutTestResultsReader):
(LayoutTestResultsReader._read_file_contents):
(LayoutTestResultsReader._create_layout_test_results):
(LayoutTestResultsReader._create_unit_test_results):
(LayoutTestResultsReader.results):
(LayoutTestResultsReader.archive):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

(LayoutTestResultsReaderTest.test_missing_layout_test_results):
(LayoutTestResultsReaderTest.test_create_unit_test_results):
(test_missing_unit_test_results_path):
(test_layout_test_results):
(test_archive_last_layout_test_results):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(AbstractEarlyWarningSystem):
(AbstractEarlyWarningSystem.init):
(AbstractEarlyWarningSystem.begin_work_queue):
(AbstractEarlyWarningSystem.run_command):

  • Scripts/webkitpy/tool/commands/queues.py:

(AbstractPatchQueue.work_item_log_path):
(PatchProcessingQueue):
(PatchProcessingQueue._new_port_name_from_old):
(PatchProcessingQueue.begin_work_queue):
(PatchProcessingQueue._upload_results_archive_for_patch):
(CommitQueue):
(CommitQueue.begin_work_queue):
(CommitQueue.run_command):
(AbstractReviewQueue):
(AbstractReviewQueue.init):
(AbstractReviewQueue.begin_work_queue):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(AbstractPatchQueueTest.test_next_patch):
(PatchProcessingQueueTest):
(PatchProcessingQueueTest.test_upload_results_archive_for_patch):

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests.run):

  • Scripts/webkitpy/tool/steps/runtests_unittest.py:
12:02 PM Changeset in webkit [138825] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] WebTransformationMatrix shouldn't alias memory for TransformationMatrix
https://bugs.webkit.org/show_bug.cgi?id=106025

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

Source/Platform:

  • chromium/public/WebTransformationMatrix.h:

(WebCore):
(WebKit::WebTransformationMatrix::~WebTransformationMatrix):
(WebTransformationMatrix):

Source/WebCore:

  • platform/chromium/support/WebTransformationMatrix.cpp:

(WebKit::WebTransformationMatrix::WebTransformationMatrix):
(WebKit::WebTransformationMatrix::reset):
(WebKit):
(WebKit::WebTransformationMatrix::operator=):
(WebKit::WebTransformationMatrix::operator==):
(WebKit::WebTransformationMatrix::inverse):
(WebKit::WebTransformationMatrix::to2dTransform):
(WebKit::WebTransformationMatrix::multiply):
(WebKit::WebTransformationMatrix::makeIdentity):
(WebKit::WebTransformationMatrix::translate):
(WebKit::WebTransformationMatrix::translate3d):
(WebKit::WebTransformationMatrix::translateRight3d):
(WebKit::WebTransformationMatrix::scale):
(WebKit::WebTransformationMatrix::scaleNonUniform):
(WebKit::WebTransformationMatrix::scale3d):
(WebKit::WebTransformationMatrix::rotate):
(WebKit::WebTransformationMatrix::rotate3d):
(WebKit::WebTransformationMatrix::skewX):
(WebKit::WebTransformationMatrix::skewY):
(WebKit::WebTransformationMatrix::applyPerspective):
(WebKit::WebTransformationMatrix::blend):
(WebKit::WebTransformationMatrix::hasPerspective):
(WebKit::WebTransformationMatrix::isInvertible):
(WebKit::WebTransformationMatrix::isBackFaceVisible):
(WebKit::WebTransformationMatrix::isIdentity):
(WebKit::WebTransformationMatrix::isIdentityOrTranslation):
(WebKit::WebTransformationMatrix::isIntegerTranslation):
(WebKit::WebTransformationMatrix::m11):
(WebKit::WebTransformationMatrix::setM11):
(WebKit::WebTransformationMatrix::m12):
(WebKit::WebTransformationMatrix::setM12):
(WebKit::WebTransformationMatrix::m13):
(WebKit::WebTransformationMatrix::setM13):
(WebKit::WebTransformationMatrix::m14):
(WebKit::WebTransformationMatrix::setM14):
(WebKit::WebTransformationMatrix::m21):
(WebKit::WebTransformationMatrix::setM21):
(WebKit::WebTransformationMatrix::m22):
(WebKit::WebTransformationMatrix::setM22):
(WebKit::WebTransformationMatrix::m23):
(WebKit::WebTransformationMatrix::setM23):
(WebKit::WebTransformationMatrix::m24):
(WebKit::WebTransformationMatrix::setM24):
(WebKit::WebTransformationMatrix::m31):
(WebKit::WebTransformationMatrix::setM31):
(WebKit::WebTransformationMatrix::m32):
(WebKit::WebTransformationMatrix::setM32):
(WebKit::WebTransformationMatrix::m33):
(WebKit::WebTransformationMatrix::setM33):
(WebKit::WebTransformationMatrix::m34):
(WebKit::WebTransformationMatrix::setM34):
(WebKit::WebTransformationMatrix::m41):
(WebKit::WebTransformationMatrix::setM41):
(WebKit::WebTransformationMatrix::m42):
(WebKit::WebTransformationMatrix::setM42):
(WebKit::WebTransformationMatrix::m43):
(WebKit::WebTransformationMatrix::setM43):
(WebKit::WebTransformationMatrix::m44):
(WebKit::WebTransformationMatrix::setM44):
(WebKit::WebTransformationMatrix::a):
(WebKit::WebTransformationMatrix::setA):
(WebKit::WebTransformationMatrix::b):
(WebKit::WebTransformationMatrix::setB):
(WebKit::WebTransformationMatrix::c):
(WebKit::WebTransformationMatrix::setC):
(WebKit::WebTransformationMatrix::d):
(WebKit::WebTransformationMatrix::setD):
(WebKit::WebTransformationMatrix::e):
(WebKit::WebTransformationMatrix::setE):
(WebKit::WebTransformationMatrix::f):
(WebKit::WebTransformationMatrix::setF):
(WebKit::WebTransformationMatrix::toWebCoreTransform):

11:55 AM Changeset in webkit [138824] by rniwa@webkit.org
  • 1 edit
    7 adds in trunk/LayoutTests

Add Mac baselines for subpixel tests added in r125794, r137945, and r138200.
https://bugs.webkit.org/show_bug.cgi?id=106070

Reviewed by Emil A Eklund.

Added baselines.

  • platform/mac/fast/sub-pixel: Added.
  • platform/mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.png: Added.
  • platform/mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.txt: Added.
  • platform/mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Added.
  • platform/mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt: Added.
  • platform/mac/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
  • platform/mac/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt: Added.
11:48 AM Changeset in webkit [138823] by senorblanco@chromium.org
  • 18 edits
    16 adds in trunk

CSS url() filters with forward references don't work
https://bugs.webkit.org/show_bug.cgi?id=90405

Based on a patch by Keyar Hood.

Reviewed by Dirk Schulze.

Source/WebCore:

In order for CSS to reference SVG filters that will occur later in
the document, or will be added at a future time, we need a way to
notify the target element (the one the filter style is applied to)
when the correct SVG filter is added to the DOM.
There is already code for SVG elements that handles this problem, in
SVGResourcesCache. This patch allows any element to have a reference to
an SVG element in SVGResourceCache.

Tests: css3/filters/effect-reference-after.html

css3/filters/effect-reference-delete-crash.html
css3/filters/effect-reference-delete.html
css3/filters/effect-reference-removed-while-pending-resources.html
css3/filters/effect-reference-rename.html
css3/filters/effect-reference-reset-style-delete-crash.html
svg/filters/filter-cycle.html

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::removedFrom):
When an Element is deleted or removed from its container, and it
has pending resources, remove it from the SVGResourceCache resources
on deletion or when removed from its container.
(WebCore::Element::hasPendingResources):
(WebCore::Element::setHasPendingResources):
(WebCore::Element::clearHasPendingResources):
Accessors for ElementRareData's new bit flag.

  • dom/Element.h:

(WebCore::Element::buildPendingResource):
Virtual function to override for referenced elements (moved from SVGElement).

  • dom/ElementRareData.h:

(WebCore::ElementRareData::hasPendingResources):
(WebCore::ElementRareData::setHasPendingResources):
(WebCore::ElementRareData::ElementRareData):
Add a new bit flag to indicate whether the element depends on pending resources or not, and accessors.

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
The actual flag bit lives in NodeRareData, so it compacts better with
other flags.

  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::BitmapTextureImageBuffer::applyFilters):
Changed to the new function signature for FilterEffectRenderer::build().

  • rendering/FilterEffectRenderer.cpp:

(WebCore::createCustomFilterEffect):
(WebCore::FilterEffectRenderer::buildReferenceFilter):
Changed signature to accept a RenderObject rather than a Document, so we know which node to notify when the SVG filter arrives. If the referenced filter cannot be found, add its id as a pending reference.
(WebCore::FilterEffectRenderer::build):

  • rendering/FilterEffectRenderer.h:

Change to signatures of build() and buildReferenceFilter() to pass

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
Use the new semantics for FilterEffectRenderer::build().

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::registerResource):
Call clearHasPendingResourceIfPossible on the SVGDocumentExtensions, not
on the element, since we want to support generic Elements.

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::addResourcesFromRenderObject):
(WebCore::SVGResourcesCache::clientStyleChanged):
For non-SVG elements, set a synthetic style change when parent resources
are invalidated.
(WebCore::SVGResourcesCache::resourceDestroyed):
Add support for non-SVG Elements.

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::addPendingResource):
(WebCore::SVGDocumentExtensions::isElementPendingResources):
(WebCore::SVGDocumentExtensions::isElementPendingResource):
Changed to allow use of Element instead of SVGElement.
(WebCore::SVGDocumentExtensions::clearHasPendingResourcesIfPossible):
Moved from SVGElement, and made to work on any Element. This way,
we avoid adding this function to Element itself.
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
Changed to allow use of Element instead of SVGElement.

  • svg/SVGDocumentExtensions.h:

SVGElement -> Element.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::removedFrom):
Don't handle pending resource notifications (Element will do it).

  • svg/SVGElement.h:

All functions moved to Element, except for clearHasPendingResourcesIfPossible() moved to SVGDocumentExtensions.

  • svg/SVGElementRareData.h:

(WebCore::SVGElementRareData::SVGElementRareData):
m_hasPendingResources and accessors moved to ElementRareData.

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
SVGElement -> Element, and call SVGDocumentExtensions for
clearHasPendingResourcesIfPossible().

LayoutTests:

  • css3/filters/effect-reference-after-expected.html: Added.
  • css3/filters/effect-reference-after.html: Added.
  • css3/filters/effect-reference-delete-crash.html: Added.
  • css3/filters/effect-reference-delete-expected.html: Added.
  • css3/filters/effect-reference-delete.html: Added.
  • css3/filters/effect-reference-removed-while-pending-resources-expected.html: Added.
  • css3/filters/effect-reference-removed-while-pending-resources.html: Added.
  • css3/filters/effect-reference-rename-expected.html: Added.
  • css3/filters/effect-reference-rename.html: Added.
  • css3/filters/effect-reference-reset-style-delete-crash-expected.txt: Added.
  • css3/filters/effect-reference-reset-style-delete-crash.html: Added.
  • css3/filters/script-tests/effect-reference-delete-crash.js: Added.
  • css3/filters/script-tests/effect-reference-reset-style-delete-crash.js: Added.
  • svg/filters/filter-cycle-expected.html: Added.
  • svg/filters/filter-cycle.html: Added.
11:36 AM Changeset in webkit [138822] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk/Source/Platform

[chromium] Remove unneeded WebDelegatedRendererLayer and WebCompositorTransferableResourceList headers
https://bugs.webkit.org/show_bug.cgi?id=105263

Patch by James Robinson <jamesr@chromium.org> on 2013-01-04
Reviewed by Darin Fisher.

These aren't needed any more since the delegation will be set up on the chromium side.

  • Platform.gypi:
  • chromium/public/WebCompositorSupport.h:

(WebKit):

  • chromium/public/WebCompositorTransferableResourceList.h: Removed.
  • chromium/public/WebDelegatedRendererLayer.h: Removed.
11:34 AM Changeset in webkit [138821] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Clamp font sizes to valid range in RenderStyle::setFontSize
https://bugs.webkit.org/show_bug.cgi?id=106014

Patch by John Mellor <johnme@chromium.org> on 2013-01-04
Reviewed by Emil A Eklund.

There is a test-case attached to http://crbug.com/167443, but I can't
think of a good way of automatically testing this. Functionality
shouldn't change on normal pages.

  • rendering/style/RenderStyleConstants.h:

Add constant for maximum allowed font size.

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyFontSize::applyValue):

Use constant from RenderStyleConstants.h instead of hardcoding.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::getComputedSizeFromSpecifiedSize):

Use constant from RenderStyleConstants.h instead of hardcoding.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setFontSize):

Clamp non-finite and out of range font sizes.

11:32 AM Changeset in webkit [138820] by mkwst@chromium.org
  • 3 edits
    3 adds in trunk

CSP: Blocked 'track' sources should only log once to the console.
https://bugs.webkit.org/show_bug.cgi?id=106091

Reviewed by Eric Carlson.

Source/WebCore:

HTMLTrackElement posts a message to the console when track data is
blocked by Content Security Policy. Now that we're logging inside the
ContentSecurityPolicy object itself, there's no need for the
duplication. This patch drops the extra log message (and, as a
side-effect, adds a test that ensures that 'track' content is governed
by the 'media-src' directive).

Test: http/tests/security/contentSecurityPolicy/media-src-track-block.html

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::canLoadUrl):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/media-src-track-block-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/media-src-track-block.html: Added.
  • http/tests/security/contentSecurityPolicy/resources/track.srt: Added.
11:26 AM BuildingQtOnWindows edited by pierre.rossi@gmail.com
Unindent Ruby from GnuWin32 tools (diff)
11:18 AM Changeset in webkit [138819] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Crash in media/unsupported-rtsp.html.
https://bugs.webkit.org/show_bug.cgi?id=106038

Reviewed by Eric Carlson.

Fixes media/unsupported-rtsp.html on Mac platforms which support AVAssetResourceLoadingRequest.

Check that the CachedResource passed in the notifyFinished method didn't fail or error before
passing its (possibly nil) contents to the AVAssetResourceLoadingRequest.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::notifyFinished):
(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

11:13 AM Changeset in webkit [138818] by mkwst@chromium.org
  • 4 edits
    2 adds in trunk

CSP: 'frame-src' should block redirects to invalid sources.
https://bugs.webkit.org/show_bug.cgi?id=106084

Reviewed by Adam Barth.

Source/WebCore:

The 'frame-src' CSP directive whitelists valid iframe targets, but
currently fails to correctly deal with redirection. As long as the
initial target is valid, any redirection goes through without
question. This patch moves the CSP check out of
SubframeLoader::loadSubframe, and into
PolicyChecker::checkNavigationPolicy. In the new location, the check
is well-positioned to check each URL in a redirect chain, as opposed
to checking only the initial target.

Test: http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked.html

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked.html: Added.
11:09 AM Changeset in webkit [138817] by mkwst@chromium.org
  • 11 edits
    2 adds in trunk

CSP: XHR from an isolated world should bypass a page's policy.
https://bugs.webkit.org/show_bug.cgi?id=104480

Reviewed by Adam Barth.

Source/WebCore:

Connections of various types are governed by the page's Content Security
Policy 'connect-src' directive. In the special case of connections
generated from an isolated world, we'd like to bypass these restrictions
in order to allow things like extensions to enjoy their uniquely high-
privilege lifestyle. This patch does just that.

We'll lock them down to their own policy in webkit.org/b/104520, but
that's a bit far away at the moment. Soon!

Test: http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

  • page/EventSource.cpp:

(WebCore::EventSource::create):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::open):

Check whether or not code is running in an isolated world that has
its own Content Security Policy. If so, bypass the main world's CSP
checks. Isolated worlds gotta be free, man.

LayoutTests:

  • http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr-expected.txt: Added.
  • http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html: Added.

A new test! How wonderful!

  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:

Skipping the new test on ports that don't support it.

11:02 AM Changeset in webkit [138816] by mikelawther@chromium.org
  • 4 edits
    1 move in trunk

CSS3 calc: mixed percent/absolute for border-radius
https://bugs.webkit.org/show_bug.cgi?id=106046

Reviewed by Ojan Vafai.

Source/WebCore:

Add the calculation evaluation to the border radius code.

Test: css3/calc/border-radius.html

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyBorderRadius::applyValue):

LayoutTests:

  • css3/calc/border-radius-expected.html: Renamed from LayoutTests/css3/calc/border-radius-expected-mismatch.html.
  • css3/calc/border-radius.html:
10:44 AM Changeset in webkit [138815] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Again updating baseline for editing/deleting/delete-to-select-table.html.

  • platform/gtk/editing/deleting/delete-to-select-table-expected.txt:
10:39 AM Changeset in webkit [138814] by danakj@chromium.org
  • 10 edits
    27 deletes in trunk

[chromium] Remove lost-compositor-context layout tests
https://bugs.webkit.org/show_bug.cgi?id=106089

Reviewed by James Robinson.

Source/Platform:

Mark the loseCompositorContext() test function for removal.

  • chromium/public/WebLayerTreeView.h:

(WebLayerTreeView):

Source/WebKit/chromium:

Remove the loseCompositorContext() test function.

  • public/WebView.h:

(WebView):

  • src/WebViewImpl.cpp:
  • src/WebViewImpl.h:

(WebViewImpl):

Tools:

Remove the loseCompositorContext() test function.

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

LayoutTests:

Better test coverage for these issues is now provided by the unit tests
in the compositor's cc/layer_tree_host_unittest_context.cc file.

  • platform/chromium-linux-x86/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium-linux/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-permanently-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-twice-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium-mac/platform/chromium/compositing/lost-compositor-context-with-video-expected.png: Removed.
  • platform/chromium-win-xp/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-permanently-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-permanently-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-permanently.html: Removed.
  • platform/chromium/compositing/lost-compositor-context-twice-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-twice-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-twice.html: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-rendersurface.html: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-video-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-video-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-video.html: Removed.
  • platform/chromium/compositing/lost-compositor-context.html: Removed.
  • platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium/compositing/webgl-loses-compositor-context-expected.txt: Removed.
  • platform/chromium/compositing/webgl-loses-compositor-context.html: Removed.
10:34 AM Changeset in webkit [138813] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. fast/repaint/japanese-rl-selection-repaint-in-regions.html
has image-only failures on SnowLeopard and Lion.

  • platform/chromium/TestExpectations:
10:32 AM Changeset in webkit [138812] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Early out from FontCache::releaseFontData if cached font data not found.
https://bugs.webkit.org/show_bug.cgi?id=106104

Patch by John Mellor <johnme@chromium.org> on 2013-01-04
Reviewed by Abhishek Arya.

No tests, as no change in behavior.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::releaseFontData):

Early out in release builds if cached font data not found.

10:24 AM Changeset in webkit [138811] by adamk@chromium.org
  • 74 edits in trunk

Remove ENABLE_MUTATION_OBSERVERS #define
https://bugs.webkit.org/show_bug.cgi?id=105459

Reviewed by Ryosuke Niwa.

.:

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

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

The flag has been on by default for quite awhile now (nearly a year)
and the feature is a standardized part of DOM4.

The only place it was disabled was under "unstable" features for the
gtk port, but the fact that it's shipping in several major WebKit
browsers as well as Firefox suggests that it's not too unstable.

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.am: Removed ENABLE_MUTATION_OBSERVERS from the "unstable features" list.
  • GNUmakefile.features.am.in:
  • bindings/js/JSDictionary.cpp:

(WebCore):
(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDictionary.h:
  • bindings/js/JSMainThreadExecState.cpp:

(WebCore::JSMainThreadExecState::didLeaveScriptContext):

  • bindings/js/JSMutationCallbackCustom.cpp:
  • bindings/js/JSMutationObserverCustom.cpp:
  • bindings/v8/V8GCController.cpp:
  • bindings/v8/V8RecursionScope.cpp:

(WebCore::V8RecursionScope::didLeaveScriptContext):

  • bindings/v8/custom/V8MutationCallbackCustom.cpp:
  • bindings/v8/custom/V8MutationObserverCustom.cpp:
  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):

  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent):

  • dom/ChildListMutationScope.cpp:
  • dom/ChildListMutationScope.h:
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::willRemoveChild):
(WebCore::willRemoveChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::updateTreeAfterInsertion):

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:

(Document):

  • dom/Element.cpp:

(WebCore::Element::willModifyAttribute):

  • dom/MutationCallback.h:
  • dom/MutationCallback.idl:
  • dom/MutationObserver.cpp:
  • dom/MutationObserver.h:
  • dom/MutationObserver.idl:
  • dom/MutationObserverInterestGroup.cpp:
  • dom/MutationObserverInterestGroup.h:
  • dom/MutationObserverRegistration.cpp:
  • dom/MutationObserverRegistration.h:
  • dom/MutationRecord.cpp:
  • dom/MutationRecord.h:
  • dom/MutationRecord.idl:
  • dom/Node.cpp:

(WebCore::Node::clearRareData):
(WebCore::Node::setTextContent):
(WebCore::Node::didMoveToNewDocument):
(WebCore::Node::notifyMutationObserversNodeWillDetach):

  • dom/Node.h:

(Node):

  • dom/NodeRareData.cpp:

(SameSizeAsNodeRareData):
(WebCore::NodeRareData::reportMemoryUsage):

  • dom/NodeRareData.h:

(NodeRareData):
(WebCore::NodeRareData::ensureTransientMutationObserverRegistry):

  • editing/markup.cpp:

(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):

  • page/DOMWindow.idl:

Source/WebKit/blackberry:

  • WebCoreSupport/AboutDataEnableFeatures.in:

Source/WebKit/chromium:

  • features.gypi:
  • src/WebKit.cpp:

(WebKit::initialize):
(WebKit::shutdown):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::deliverAllMutationsIfNecessary):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::deliverAllMutationsIfNecessary):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

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

WebKitLibraries:

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

LayoutTests:

Remove references to ENABLE(MUTATION_OBSERVERS) from tests.

  • fast/dom/MutationObserver/cross-document.html:
  • fast/dom/MutationObserver/database-callback-delivery.html:
  • fast/dom/MutationObserver/disconnect-cancel-pending.html:
  • fast/dom/MutationObserver/filesystem-callback-delivery.html:
  • fast/dom/MutationObserver/mutation-observer-constructor.html:
  • fast/dom/MutationObserver/observe-attributes.html:
  • fast/dom/MutationObserver/observe-characterdata.html:
  • fast/dom/MutationObserver/observe-childList.html:
  • fast/dom/MutationObserver/observe-exceptions.html:
  • fast/dom/MutationObserver/observe-subtree.html:
  • fast/dom/MutationObserver/takeRecords.html:
10:20 AM Changeset in webkit [138810] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Statistics used in perftest_unittest.py and perftest_integrationtest.py are bogus
https://bugs.webkit.org/show_bug.cgi?id=106078

Reviewed by Tony Chang.

This patch updates values for individual iterations in dummy performance tests used in
perftest_unittest.py and perftest_integrationtest.py so that they match up with
statistics such as stdev and median reported in those tests. This change is required
to resolve the bug 97510.

This patch also refactors integration tests by extracting *TestData classes that
centralizes the definitions of each dummy performance test's text (DRT output),
runner output, and parsed results (JSON) so that we may share more data between
python tests.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(MainTest._assert_results_are_correct): Extracted from test_parse_output.
Use self.assertAlmostEqual when comparing the standard deviation.
(MainTest.test_parse_output):
(test_parse_output_with_failing_line):
(test_parse_output_with_description): Use _assert_results_are_correct.
(test_parse_output_with_subtests): Ditto.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(InspectorPassTestData): Extracted from tests below.
(EventTargetWrapperTestData): Ditto.
(SomeParserTestData): Ditto.
(MemoryTestData): Ditto.
(TestDriver.run_test): Moved test definitions out of the method.
(MainTest._normalize_output): Truncate standard deviations at 5th decimal point.
(MainTest._load_output_json): Extracted from create_runner.
(MainTest.create_runner):
(MainTest.test_run_test_set_for_parser_tests):
(MainTest.test_run_memory_test):
(MainTest._test_run_with_json_output):
(MainTest.test_run_with_json_output):
(MainTest.test_run_with_description):
(MainTest.test_run_generates_json_by_default):
(MainTest.test_run_merges_output_by_default):
(MainTest.test_run_respects_reset_results):
(MainTest.test_run_generates_and_show_results_page):
(MainTest.test_run_with_slave_config_json):
(MainTest.test_run_with_multiple_repositories):

9:59 AM Changeset in webkit [138809] by wangxianzhu@chromium.org
  • 6 edits in trunk/Source/WebCore

Change RenderLayerBacking::nameForLayer() to RenderLayer::name()
https://bugs.webkit.org/show_bug.cgi?id=105648

Reviewed by Simon Fraser.

No new tests. For debugging only.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::name):
(WebCore):

  • rendering/RenderLayer.h:

(RenderLayer):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateForegroundLayer):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::logLayerInfo):

9:58 AM Changeset in webkit [138808] by commit-queue@webkit.org
  • 8 edits in trunk

Existence of window.Touch can break websites mobile device detection
https://bugs.webkit.org/show_bug.cgi?id=106071

Source/WebCore:

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Ojan Vafai.

Revert http://trac.webkit.org/changeset/135562 for now while I work
on a slightly safer version.

  • page/DOMWindow.idl:

LayoutTests:

Revert http://trac.webkit.org/changeset/135562 for now while I work
on a slightly safer version.

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Ojan Vafai.

  • fast/events/touch/document-create-touch-list-expected.txt:
  • fast/events/touch/script-tests/document-create-touch-list.js:
  • platform/efl/fast/js/global-constructors-expected.txt:
  • platform/qt-5.0/fast/js/global-constructors-expected.txt:
  • platform/qt/fast/js/global-constructors-expected.txt:
9:47 AM Changeset in webkit [138807] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK2] Unreviewed gardening, unskip a now passing test.

  • platform/qt-5.0-wk2/TestExpectations:
9:41 AM Changeset in webkit [138806] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK] [WebKit2] Clicking on a word that is selected in an editable area deletes it
https://bugs.webkit.org/show_bug.cgi?id=106045

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-04
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Be more selective about when to confirm WebKit compositions. If there is no current
preedit, reseting the GTK+ context shouldn't also do an empty confirmation in WebKit,
as this will trash the current selection. The second part of this patch also makes the
m_composingTextCurrently member more accurately reflect whether or not we are composing
text.

  • platform/gtk/GtkInputMethodFilter.cpp:

(WebCore::GtkInputMethodFilter::notifyMouseButtonPress): Only confirm the current WebKit composition
if we have a preedit.
(WebCore::GtkInputMethodFilter::notifyFocusedOut): Ditto.
(WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): Don't clear the m_composingTextCurrently
member if we are not sending a confirmed composition.

Tools:

Update test results to confirm that compositions without preedits do not trigger
a composition confirmation.

  • TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp:

(TestWebKitAPI::verifyCanceledComposition):

9:30 AM Changeset in webkit [138805] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Handle re-entrant destruction of MediaPlayerPrivate while a dialog is up
https://bugs.webkit.org/show_bug.cgi?id=105906

Patch by Max Feil <mfeil@rim.com> on 2013-01-04
Reviewed by George Staikos.

Now that dialogs are not truly modal anymore, we need to
handle the case where MediaPlayerPrivate gets destroyed by
re-entrant calls while a dialog is up. We do this by deferring
the destruction of MMRPlayer until the user dismisses the dialog.

No new tests because user dialog input is not yet part of the
layouttest framework.

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
(WebCore::MediaPlayerPrivate::onShowErrorDialog):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:

(MediaPlayerPrivate):

9:16 AM Changeset in webkit [138804] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[Blackberry] Static code analysis warning fixes
https://bugs.webkit.org/show_bug.cgi?id=105679

Patch by Anthony Scian <ascian@rim.com> on 2013-01-04
Reviewed by Rob Buis.

Source/WebCore:

klocwork 1855: fixed by caching page, check against NULL and use cached value

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::determineFullScreenMultiplier):

Source/WebKit/blackberry:

Klocwork issue 959: check layer against NULL since it is used in both cases
of the subsequent if-stmt

  • Api/InRegionScroller.cpp:

(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):

9:14 AM Changeset in webkit [138803] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[WK2] [Gtk] crash when web inspector is attached, and window height is reduced.
https://bugs.webkit.org/show_bug.cgi?id=106052

Reviewed by Martin Robinson.

Do not allocate more size for the inspector view than its parent
size. Also make sure that the view size is always at least 1.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(resizeWebKitWebViewBaseFromAllocation):

8:58 AM Changeset in webkit [138802] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[CSS Exclusions] The ExclusionPolygon classes should allow more than one type of "Edge" class
https://bugs.webkit.org/show_bug.cgi?id=106026

Patch by Hans Muller <hmuller@adobe.com> on 2013-01-04
Reviewed by Dirk Schulze.

Refactored the ExclusionPolygonEdge class to pave the way for a similar
OffsetEdge class. The new VertexPair abstract base class provides the common
state and operations. ExclusionPolygonEdge now extends VertexPair and defines
ExclusionPolygon as a friend, since the ExclusionPolygon constructor initializes
its private state.

  • rendering/ExclusionPolygon.cpp:

(WebCore::ExclusionPolygon::ExclusionPolygon): Use ExclusionPolygonEdge accessors instead of direct field access.
(WebCore::getVertexIntersectionVertices): Ditto.

  • rendering/ExclusionPolygon.h:

(VertexPair): New abstract base class.
(WebCore::VertexPair::~VertexPair):
(WebCore::VertexPair::minX): This method was defined in ExclusionPolygonEdge.
(WebCore::VertexPair::minY): Ditto.
(WebCore::VertexPair::maxX): Ditto.
(WebCore::VertexPair::maxY): Ditto.
(ExclusionPolygonEdge): Now extends VertexPair.
(WebCore::ExclusionPolygonEdge::previousEdge): Refer to m_ private class fields, instead of public struct fields.
(WebCore::ExclusionPolygonEdge::nextEdge): Ditto.
(WebCore::ExclusionPolygonEdge::polygon): Ditto.
(WebCore::ExclusionPolygonEdge::vertexIndex1): Ditto.
(WebCore::ExclusionPolygonEdge::vertexIndex2): Ditto.
(WebCore::ExclusionPolygonEdge::edgeIndex): Ditto.

8:35 AM Changeset in webkit [138801] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip a new failing test.

  • platform/qt/TestExpectations:
8:14 AM Changeset in webkit [138800] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Add 'float FloatPoint::slopeAngleRadians()'
https://bugs.webkit.org/show_bug.cgi?id=105997

Patch by Steve Block <steveblock@chromium.org> on 2013-01-04
Reviewed by Stephen White.

Refactoring only, no functional change.

  • platform/graphics/FloatPoint.cpp:

(WebCore::FloatPoint::slopeAngleRadians):
(WebCore):

  • platform/graphics/FloatPoint.h:

Add 'float FloatPoint::slopeAngleRadians() const'

  • platform/graphics/PathTraversalState.cpp:

(WebCore::PathTraversalState::processSegment):

  • rendering/svg/SVGMarkerData.h:

(WebCore::SVGMarkerData::currentAngle):

  • svg/SVGPathParser.cpp:

(WebCore::SVGPathParser::decomposeArcToCubic):

7:55 AM Changeset in webkit [138799] by tdanderson@chromium.org
  • 2 edits
    3 adds in trunk/LayoutTests

Unreviewed gardening. New image baselines for test
fast/regions/full-screen-video-from-region.html

  • platform/chromium-mac-snowleopard/fast/regions/full-screen-video-from-region-expected.png: Added.
  • platform/chromium-mac/fast/regions/full-screen-video-from-region-expected.png:
  • platform/chromium-win-xp/fast/regions/full-screen-video-from-region-expected.png: Added.
7:37 AM Changeset in webkit [138798] by pilgrim@chromium.org
  • 29 edits in trunk/Source/WebKit/chromium

[Chromium] Update some #includes to use headers in the new Platform directory
https://bugs.webkit.org/show_bug.cgi?id=106092

Reviewed by Kentaro Hara.

Working towards getting rid of legacy header files in
WebKit/chromium/public/ and WebKit/chromium/public/platform/

  • src/AsyncFileSystemChromium.cpp:
  • src/StorageAreaProxy.cpp:
  • src/StorageNamespaceProxy.cpp:
  • src/WebFileSystemCallbacksImpl.cpp:
  • src/WebGraphicsContext3D.cpp:
  • src/WebIDBCursorImpl.h:
  • src/WebIDBDatabaseCallbacksImpl.cpp:
  • src/WebIDBDatabaseCallbacksImpl.h:
  • src/WebIDBDatabaseError.cpp:
  • src/WebIDBDatabaseImpl.h:
  • src/WebIDBIndexImpl.h:
  • src/WebIDBKeyPath.cpp:
  • src/WebIDBMetadata.cpp:
  • src/WebIDBObjectStoreImpl.h:
  • src/WebWorkerClientImpl.cpp:
  • src/WebWorkerRunLoop.cpp:
  • src/WorkerFileSystemCallbacksBridge.cpp:
  • tests/AssociatedURLLoaderTest.cpp:
  • tests/FrameTestHelpers.cpp:
  • tests/PopupMenuTest.cpp:
  • tests/URLTestHelpers.cpp:
  • tests/WebFrameTest.cpp:
  • tests/WebPageNewSerializerTest.cpp:
  • tests/WebPageSerializerTest.cpp:
  • tests/WebURLRequestTest.cpp:
  • tests/WebURLResponseTest.cpp:
  • tests/WebUnitTests.h:
  • tests/WebViewTest.cpp:
7:25 AM Changeset in webkit [138797] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening.

Rebaselining an editing test after r138654.

Adding failure expectations for two tests added in r138632.
Add a temporary failure expectation for transitions/transitions-parsing.html,
the test is fixed but just requires a clean build. It shouldn't paint the bots
red until then.

  • platform/gtk/TestExpectations:
  • platform/gtk/editing/deleting/delete-to-select-table-expected.txt: Added.
6:43 AM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
Add color chooser API (diff)
6:37 AM Changeset in webkit [138796] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
6:15 AM Changeset in webkit [138795] by zandobersek@gmail.com
  • 6 edits in trunk

REGRESSION (r138184): transitions/transitions-parsing.html is failing on GTK
https://bugs.webkit.org/show_bug.cgi?id=105522

Reviewed by Xan Lopez.

.:

Remove the configuration flag covering unprefixed CSS transition property names.
It does not introduce any dependency. The unprefixed property names should be
available by default.

  • configure.ac:

Source/WebCore:

Remove the feature define overriding for the unprefixed CSS transition property names
define as it is not required.

No new tests - no new functionality.

  • GNUmakefile.am:

LayoutTests:

Remove a failure expectation for a test that's now passing.

  • platform/gtk/TestExpectations:
6:13 AM Changeset in webkit [138794] by sudarsana.nagineni@linux.intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip new failing tests introduced in r138632 and r138756.

  • platform/efl/TestExpectations:
6:13 AM Changeset in webkit [138793] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[GObject bindings] Wrap event target interface code in feature define guards if necessary
https://bugs.webkit.org/show_bug.cgi?id=105743

Reviewed by Xan Lopez.

Wrap the event target interface implementation code in feature define guards if the interface
is guarded by a conditional. A warning is reported if these methods get called with the specific
feature being disabled.

This was spotted when building with the video track feature disabled was causing build failures.

No new tests - no new functionality. The bindings tests don't test event targets under conditionals.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateEventTargetIface):

6:03 AM Changeset in webkit [138792] by sudarsana.nagineni@linux.intel.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline editing/deleting/delete-to-select-table.html.

  • platform/efl/editing/deleting/delete-to-select-table-expected.png:
  • platform/efl/editing/deleting/delete-to-select-table-expected.txt: Added.
5:24 AM Changeset in webkit [138791] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[GTK][Qt] Make compositing messages async again
https://bugs.webkit.org/show_bug.cgi?id=106082

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-01-04
Reviewed by Simon Hausmann.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::cancelComposition):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::cancelComposition):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
4:50 AM Changeset in webkit [138790] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

Regression(r138728): Causes crashes on the build bots
https://bugs.webkit.org/show_bug.cgi?id=106083

Reviewed by Simon Hausmann.

Update encodeTimingFunction() to encode the x/y members only
if the bezierPreset is set to custom. This is needed because
decodeTimingFunction() only decodes x/y members if the
bezierPreset is set to custom.

This fixes assertion hits on the debug build bots.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::encodeTimingFunction):

4:09 AM Changeset in webkit [138789] by sudarsana.nagineni@linux.intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark test webaudio/codec-tests/mp3/128kbps-44khz.html as Missing.

  • platform/efl/TestExpectations:
3:38 AM Changeset in webkit [138788] by sudarsana.nagineni@linux.intel.com
  • 5 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline 2 media/track test cases after r138784.

  • platform/efl/media/track/track-cue-rendering-horizontal-expected.png:
  • platform/efl/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/efl/media/track/track-cue-rendering-vertical-expected.png:
  • platform/efl/media/track/track-cue-rendering-vertical-expected.txt:
2:19 AM Changeset in webkit [138787] by commit-queue@webkit.org
  • 4 edits in trunk

[Mac] [WK2] platform/mac/fast/events/numpad-keycode-mapping.html fails
https://bugs.webkit.org/show_bug.cgi?id=105958

Patch by Sailesh Agrawal <sail@chromium.org> on 2013-01-04
Reviewed by Alexey Proskuryakov.

Tools:

Ported code from DumpRenderTree to WebKitTestRunner to map all numpad keys.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(KeyMappingEntry):
(WTR):
(WTR::EventSenderProxy::keyDown): Added all numpad keys.

LayoutTests:

Fixed numpad-keycode-mapping.html failure in WebKitTestRunner.

  • platform/mac-wk2/TestExpectations:
2:14 AM Changeset in webkit [138786] by Philippe Normand
  • 9 edits in trunk/Source/WebCore

[GStreamer] Port WebAudio backend to 1.0 APIs
https://bugs.webkit.org/show_bug.cgi?id=105293

Reviewed by Martin Robinson.

Port the AudioFileReader and AudioDestination to GStreamer 1.0
APIs. It would be preferable to rely on at least GStreamer 1.0.4
for this to work properly as that release contains two bug fixes
for the deinterleave and interleave elements.

  • platform/audio/FFTFrame.cpp:

(WebCore::FFTFrame::reportMemoryUsage): Don't report GstFFTF32
structures anymore because they're opaque in GStreamer 1.0.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore):
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
The wavparse element in 1.0 has no sometimes-pads anymore.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(AudioFileReader): The decodebin2 element has been renamed to
decodebin in GStreamer 1.0.
(WebCore::getGStreamerAudioCaps): Audio caps description changed a
lot in GStreamer 1.0, the function now handles both APIs.
(WebCore::copyGstreamerBuffersToAudioChannel): Adapted to
GstBufferList and GstBuffer API changes.
(WebCore::onAppsinkPullRequiredCallback): Pull a sample or buffer,
depending on which API we use.
(WebCore::AudioFileReader::~AudioFileReader): Protect
GstBufferListIterators in 0.10-only code path.
(WebCore):
(WebCore::AudioFileReader::handleSample): Pull an audio sample
from appsink and insert it in the appropriate buffer list.
(WebCore::AudioFileReader::handleNewDeinterleavePad): Handle
appsink API changes from GStreamer 0.10 to 1.0.
(WebCore::AudioFileReader::decodeAudioForBusCreation): Create the
correct decodebin element.
(WebCore::AudioFileReader::createBus): Protect GstBufferListIterators
in 0.10-only code path.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(_WebKitWebAudioSourcePrivate): GstTask in GStreamer 1.0 uses a
GRecMutex instead of a (deprecated) GStaticRecMutex.
(getGStreamerMonoAudioCaps): Handle caps description changes
between GStreamer 0.10 and 1.0.
(webKitWebAudioGStreamerChannelPosition): POSITION_LFE in
GStreamer 1.0 is now POSITION_LFE1. Also map ChannelCenter to its
GStreamer equivalent.
(webkit_web_audio_src_class_init): Use generic setGstElementClassMetadata.
(webkit_web_audio_src_init): Handle GRecMutex initialisation.
(webKitWebAudioSrcConstructed): Set channel position on
capsfilter. This is done for GStreamer 1.0 code path only because
in 0.10 the caps have no way to store this information.
(webKitWebAudioSrcFinalize): Clear GRecMutex.
(webKitWebAudioSrcLoop): Handle GstBuffer API changes and add an
error check if buffers can't be chained to queue's source pad.
(webKitWebAudioSrcChangeState): As advised in the GStreamer docs,
fixup the state changes for this live source element: NO_PREROLL
in READY->PAUSED and start/stop the GstTask when going/coming
to/from PLAYING.

2:13 AM Changeset in webkit [138785] by mihnea@adobe.com
  • 4 edits
    8 adds in trunk

[CSS Regions]Content overflowing last region displayed wrong
https://bugs.webkit.org/show_bug.cgi?id=105893

Reviewed by David Hyatt.

Source/WebCore:

For the last region in the region chain and flipped writing modes (horizontal-bt, vertical-rl),
the clipping rect should take overflow into account in the writing mode direction, which is
different in these cases than the direction for non-flipped writing modes.

Tests: fast/regions/overflow-last-region-horiz-bt.html

fast/regions/overflow-last-region-vert-lr.html
fast/regions/overflow-last-region-vert-rl.html
fast/regions/overflow-last-region.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::computeRegionClippingRect): Helper function used to compute region clipping rect
for paint and hitTest.
(WebCore):
(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):

  • rendering/RenderFlowThread.h:

LayoutTests:

Add tests for all writing modes with content overflowing the last region in chain.
Hit testing for content overflowing the last region is not yet supported, therefore tests
for that will be added in the future.

  • fast/regions/overflow-last-region-expected.html: Added.
  • fast/regions/overflow-last-region-horiz-bt-expected.html: Added.
  • fast/regions/overflow-last-region-horiz-bt.html: Added.
  • fast/regions/overflow-last-region-vert-lr-expected.html: Added.
  • fast/regions/overflow-last-region-vert-lr.html: Added.
  • fast/regions/overflow-last-region-vert-rl-expected.html: Added.
  • fast/regions/overflow-last-region-vert-rl.html: Added.
  • fast/regions/overflow-last-region.html: Added.
1:15 AM Changeset in webkit [138784] by commit-queue@webkit.org
  • 21 edits
    3 deletes in trunk

Implement :future pseudo class for the WebVTT ::cue pseudo element
https://bugs.webkit.org/show_bug.cgi?id=105473

Patch by Dima Gorbik <dgorbik@apple.com> on 2013-01-04
Reviewed by Antti Koivisto.

Source/WebCore:

This patch changes the approach of showing past/future node objects.
Before upper-level containers were used to put past and future nodes inside. Styles were applied
to containers. Now styles could be applied directly to nodes by using ::cue(:future).
That allows to style future/past WebVTT nodes even if they are nested.

Existing test was modified to cover new cases.

  • css/CSSSelector.cpp: added :future pseudo class support.

(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::extractPseudoType):

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp: ditto.

(WebCore::SelectorChecker::checkOneSelector):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement): define style sharing rules for WebVTT objects.

  • css/mediaControls.css:

(video::-webkit-media-text-track-all-nodes):
(video::cue(:future)): added standard user-agent styles for the future nodes.

  • dom/Element.cpp: setter functions don't have an argument now because WebVTT type enum was introduced and the right type is set

when the setter is being called.
(WebCore::Element::setIsWebVTTNode):
(WebCore):
(WebCore::Element::isWebVTTFutureNode):
(WebCore::Element::setIsWebVTTFutureNode):

  • dom/Element.h:

(Element):

  • dom/ElementRareData.h:

(ElementRareData):

  • dom/NodeRareData.cpp:

(SameSizeAsNodeRareData): added a dummy enum value. Enum is integer type and is aligned in Windows when placed in the bitfield,
so it takes more space.

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::isWebVTTNode):
(WebCore::NodeRareData::setIsWebVTTNode):
(WebCore::NodeRareData::isWebVTTFutureNode):
(WebCore::NodeRareData::setIsWebVTTFutureNode):
(NodeRareData):

  • html/shadow/MediaControlElements.cpp:

(WebCore):

  • html/track/TextTrack.h: add a WebVTT node object type enum.

(TextTrack):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::allNodesShadowPseudoId):
(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::getCueAsHTML):
(WebCore):
(WebCore::TextTrackCue::setNodeObjectFlags): determine if the node is future or past and mark as WebVTT node.
This combines the functionality related to marking nodes implemented before in updateDisplayTree and
markNodesAsWebVTTNodes.
(WebCore::TextTrackCue::updateDisplayTree):
(WebCore::TextTrackCue::getDisplayTree):

  • html/track/TextTrackCue.h:

(TextTrackCue):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::constructTreeFromToken): no need to mark nodes as WebVTT nodes when parsing. This is done at the
rendering stage later.

  • page/CaptionUserPreferencesMac.mm:

(WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): the container name has changed.

LayoutTests:

Modified the track css matching test to cover :future pseudo-class case.

  • media/track/captions-webvtt/captions-inner-timestamps.vtt: Removed.
  • media/track/captions-webvtt/styling.vtt:
  • media/track/track-css-matching-expected.txt:
  • media/track/track-css-matching.html:
  • media/track/track-cue-rendering-inner-timestamps-expected.txt: Removed.
  • media/track/track-cue-rendering-inner-timestamps.html: The test was removed because it was based on the old

future/past nodes rendering logic.

1:07 AM Changeset in webkit [138783] by Carlos Garcia Campos
  • 10 edits in trunk/Source/WebKit2

[SOUP] Convert WebSoupRequestManagerProxy to be WebContextSupplement
https://bugs.webkit.org/show_bug.cgi?id=106012

Reviewed by Martin Robinson.

  • UIProcess/API/C/soup/WKContextSoup.cpp:

(WKContextGetSoupRequestManager):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::disconnectProcess):

  • UIProcess/WebContext.h:

(WebKit):
(WebContext):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveURIRequest):

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/soup/WebSoupRequestManagerProxy.cpp:

(WebKit::WebSoupRequestManagerProxy::supplementName):
(WebKit):
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::initializeClient):
(WebKit::WebSoupRequestManagerProxy::contextDestroyed):
(WebKit::WebSoupRequestManagerProxy::processDidClose):
(WebKit::WebSoupRequestManagerProxy::refWebContextSupplement):
(WebKit::WebSoupRequestManagerProxy::derefWebContextSupplement):
(WebKit::WebSoupRequestManagerProxy::registerURIScheme):
(WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):

  • UIProcess/soup/WebSoupRequestManagerProxy.h:

(WebSoupRequestManagerProxy):

1:03 AM Changeset in webkit [138782] by Carlos Garcia Campos
  • 5 edits in trunk

REGRESSION (r138222?): Assertion failure on appcache/main-resource-redirect.html
https://bugs.webkit.org/show_bug.cgi?id=105591

Reviewed by Brady Eidson.

Source/WebCore:

Fixes crash in test http/tests/appcache/main-resource-redirect.html.

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::willSendRequest): In case of loading
substitute data from application cache host due to a redirect,
make sure the substitute data identifier is initialized.

LayoutTests:

Unskip http/tests/appcache/main-resource-redirect.html.

  • platform/efl-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:29 AM Changeset in webkit [138781] by Chris Fleizach
  • 3 edits in trunk/Tools

REGRESSION: [Mac] Intermittent crash in WTR::AccessibilityUIElement::isEqual
https://bugs.webkit.org/show_bug.cgi?id=106073

Reviewed by Ryosuke Niwa.

Check that the element being compared to is not nil.
This crash is happening because one of the accessibility tests does an isEqual comparison within a callback function.
It looks like occasionally, one of the elements passed in to the isEqual is nil because the notification handler is on the accessibility
controller, and the notification is being delivered after the document objects are cleared. This shouldn't happen but I've seen it
sometimes before on parallel WebKitTestRunner runs.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(AccessibilityUIElement::isEqual):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::isEqual):

12:04 AM Changeset in webkit [138780] by mikhail.pozdnyakov@intel.com
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Remove unneeded EwkViewImpl::informLoadCommitted()
https://bugs.webkit.org/show_bug.cgi?id=106010

Reviewed by Gyuyoung Kim.

Removed EwkViewImpl::informLoadCommitted() method to simplify the code.

  • UIProcess/API/efl/EwkViewImpl.cpp:
  • UIProcess/API/efl/EwkViewImpl.h:
  • UIProcess/efl/PageClientBase.h:

(PageClientBase):

  • UIProcess/efl/PageLoadClientEfl.cpp:

(WebKit::PageLoadClientEfl::didCommitLoadForFrame):

Note: See TracTimeline for information about the timeline view.