Timeline



May 20, 2013:

11:39 PM Changeset in webkit [150423] by Lucas Forschler
  • 1 copy in tags/Safari-537.43

New Tag.

11:39 PM Changeset in webkit [150422] by Lucas Forschler
  • 1 delete in tags/Safari-537.43
11:16 PM Changeset in webkit [150421] by zandobersek@gmail.com
  • 8 edits in trunk

[GTK] Fix concatenations of string literals that are not C++11-compliant
https://bugs.webkit.org/show_bug.cgi?id=116449

Reviewed by Martin Robinson.

Fix the problematic concatenations of string literals so they are compilable under the C++11 standard. This
is simply a matter of separating the string and the string literal that are being concatenated with a space.

Source/WebCore:

  • platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
  • platform/gtk/FileSystemGtk.cpp:

(WebCore::sharedResourcesPath):

Source/WebKit2:

  • UIProcess/API/gtk/tests/TestPrinting.cpp:

(testPrintOperationPrint):

  • UIProcess/API/gtk/tests/WebExtensionTest.cpp:

(methodCallCallback):

Tools:

  • ImageDiff/gtk/ImageDiff.cpp:

(printImage):

11:13 PM Changeset in webkit [150420] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[GTK] Pass GTEST_HAS_RTTI=0 cppflag to TestWebKitAPI programs at compilation-time
https://bugs.webkit.org/show_bug.cgi?id=116450

Reviewed by Martin Robinson.

The -fno-rtti flag is used when compiling C++ source code throughout the project. The TestWebKitAPI
programs fail to compile because of this when using the C++11 standard as the GTest headers assume by
default that the RTTI support is available. This can be turned off by passing GTEST_HAS_RTTI=0 to the
TestWebKitAPI programs when compiling them.

  • TestWebKitAPI/GNUmakefile.am:
11:11 PM Changeset in webkit [150419] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Use 'typeof' keyword to avoid problems when compiling in C++11 standard compliance
https://bugs.webkit.org/show_bug.cgi?id=116447

Reviewed by Darin Adler.

The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode
(such as -std=c++11). The 'typeof' keyword should be used instead as it's available in all modes both under GCC and Clang.

  • wtf/FastMalloc.cpp:

(WTF): Replace the 'typeof' keyword with 'typeof'.

11:08 PM Changeset in webkit [150418] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[GTK] Support application/x-mimearchive mimetype for MHTML archives instead of message/rfc822
https://bugs.webkit.org/show_bug.cgi?id=116442

Reviewed by Martin Robinson.

  • loader/archive/ArchiveFactory.cpp:

(WebCore::archiveMIMETypes): Like EFL and Qt, register the application/x-mimearchive mime type as a MHTML archive type
and stop propagating the message/rfc822 mime type as such. This also removes a couple of PLATFORM ifdefs.

10:57 PM Changeset in webkit [150417] by benjamin@webkit.org
  • 18 edits in trunk/Source/WebCore

Minor String fixes in CSS
https://bugs.webkit.org/show_bug.cgi?id=116291

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-20
Reviewed by Darin Adler.

Some trival changes to make up for a bad day :)

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::customCssText):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::customCssText):

  • css/CSSImportRule.cpp:

(WebCore::CSSImportRule::cssText):

  • css/CSSInheritedValue.cpp:

(WebCore::CSSInheritedValue::customCssText):

  • css/CSSInitialValue.cpp:

(WebCore::CSSInitialValue::customCssText):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::customCssText):

  • css/CSSPropertySourceData.cpp:

(WebCore::CSSPropertySourceData::toString):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::generateSelectorText):

  • css/CSSStyleSheet.h:

(WebCore::CSSStyleSheet::type):

  • css/CSSTimingFunctionValue.cpp:

(WebCore::CSSLinearTimingFunctionValue::customCssText):
(WebCore::CSSCubicBezierTimingFunctionValue::customCssText):

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::customCssText):
(WebCore::CSSValueList::customSerializeResolvingVariables):

  • css/MediaQueryExp.cpp:

(WebCore::MediaQueryExp::serialize):

  • css/WebKitCSSFilterValue.cpp:

(WebCore::WebKitCSSFilterValue::customCssText):

  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::StyleRuleKeyframes::findKeyframeIndex):
(WebCore::WebKitCSSKeyframesRule::cssText):

  • css/WebKitCSSMatFunctionValue.cpp:

(WebCore::WebKitCSSMatFunctionValue::customCssText):

  • css/WebKitCSSMixFunctionValue.cpp:

(WebCore::WebKitCSSMixFunctionValue::customCssText):

10:50 PM Changeset in webkit [150416] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Remove DriverProxy._running_drivers from webkitpy.layout_tests.port
https://bugs.webkit.org/show_bug.cgi?id=116492

Reviewed by Dirk Pranke.

Merge https://chromium.googlesource.com/chromium/blink/+/1af2f0be5a1746784ff114952f29f7b8fa9895f3.

The DriverProxy class had the concept of keeping a pool of started DRTs around (indexed by command line)
so that we didn't necessarily need to restart DRT when the command line for a test changed (e.g., when
starting to run tests in a virtual suite). However, the pool was per-worker (so not shared across the machine)
and we didn't cap the number of processes started, so we would end up with a whole bunch of DRTs (3x-4x
the number of workers started). If anything, this seemed to make the tests slightly slower and probably added
to memory pressure on the machine.

This change removes the pool code; now we'll simply restart DRT when the command line changes. With this change,
we can actually fold the restarting code into Driver itself (and get rid of DriverProxy), but I'll leave that
for a subsequent patch just to make things easier to follow.

  • Scripts/webkitpy/port/driver.py:

(DriverProxy.init):
(DriverProxy.run_test):
(DriverProxy.has_crashed):
(DriverProxy.stop):

10:33 PM Changeset in webkit [150415] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Change EFL Linux 64-bit Release with EFL Linux 64-bit Release WK1
https://bugs.webkit.org/show_bug.cgi?id=116423

Reviewed by Ryosuke Niwa.

EFL Linux 64-bit Release starts to support WK1's build and layout test from now on.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
9:55 PM Changeset in webkit [150414] by Lucas Forschler
  • 1 copy in tags/Safari-537.43

New Tag.

9:52 PM Changeset in webkit [150413] by commit-queue@webkit.org
  • 9 edits
    7 deletes in trunk

Remove remaining link-prerender code
https://bugs.webkit.org/show_bug.cgi?id=116429

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-20
Reviewed by Darin Adler.

Tools:

Link prerendering code was removed in r150356.

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

LayoutTests:

Remove test cases related to link-prerender.

  • fast/dom/HTMLLinkElement/prerender-insert-after-stop-expected.txt: Removed.
  • fast/dom/HTMLLinkElement/prerender-insert-after-stop.html: Removed.
  • fast/dom/HTMLLinkElement/prerender-remove-after-stop-expected.txt: Removed.
  • fast/dom/HTMLLinkElement/prerender-remove-after-stop.html: Removed.
  • fast/dom/HTMLLinkElement/resources/empty.html: Removed.
  • fast/dom/HTMLLinkElement/resources/empty2.html: Removed.
  • fast/dom/HTMLLinkElement/resources/simple-prerender.html: Removed.
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
9:51 PM Changeset in webkit [150412] by Lucas Forschler
  • 1 delete in tags/Safari-537.43
9:50 PM Changeset in webkit [150411] by Lucas Forschler
  • 1 copy in tags/Safari-537.43/trunk

New Tag.

9:50 PM Changeset in webkit [150410] by Lucas Forschler
  • 1 copy in tags/Safari-537.43

New Tag.

9:49 PM Changeset in webkit [150409] by Lucas Forschler
  • 1 delete in tags/Safari-537.43
9:42 PM Changeset in webkit [150408] by akling@apple.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed, rolling out r150384.
http://trac.webkit.org/changeset/150384
https://bugs.webkit.org/show_bug.cgi?id=116513

Not ready for primetime. (Requested by kling on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-05-20

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::removeWebPage):

  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

9:35 PM Changeset in webkit [150407] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

9:34 PM Changeset in webkit [150406] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening. Below tests don't come to crash anymore after r150368.
But, pending-activity.html still comes to crash on wk2.

storage/indexeddb/pending-activity.html
storage/indexeddb/transaction-coordination-across-databases.html

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
9:30 PM Changeset in webkit [150405] by Lucas Forschler
  • 1 copy in tags/Safari-537.43

New Tag.

8:58 PM Changeset in webkit [150404] by rniwa@webkit.org
  • 6 edits in trunk/Tools

commit-queue should check for oops in changelog entries
https://bugs.webkit.org/show_bug.cgi?id=116395

Reviewed by Martin Robinson.

Make changelog validation fail when it contains oops!.

  • Scripts/webkitpy/tool/bot/commitqueuetask.py:

(CommitQueueTask._validate_changelog):

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

(CommitQueueTaskTest._run_through_task):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:
  • Scripts/webkitpy/tool/steps/validatechangelogs.py:

(ValidateChangeLogs.options):
(ValidateChangeLogs._check_changelog_diff):
(ValidateChangeLogs._changelog_contains_oops):
(ValidateChangeLogs.run):

  • Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:

(ValidateChangeLogsTest._assert_start_line_produces_output):
(ValidateChangeLogsTest.test_check_changelog_diff):
(ValidateChangeLogsTest):
(ValidateChangeLogsTest.test_changelog_contains_oops):

8:43 PM Changeset in webkit [150403] by rniwa@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Add tests for named access checks on DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=116512

Reviewed by Geoffrey Garen.

Merge https://chromium.googlesource.com/chromium/blink/+/9207625a100abe9b72333ac5dba02b38ca5f4466

  • http/tests/security/xss-DENIED-window-name-alert-expected.txt: Added.
  • http/tests/security/xss-DENIED-window-name-alert.html: Added.
  • http/tests/security/xss-DENIED-window-name-navigator-expected.txt: Added.
  • http/tests/security/xss-DENIED-window-name-navigator.html: Added.
8:18 PM Changeset in webkit [150402] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Null pointer deference in WebCore::AppendNodeCommand::create
https://bugs.webkit.org/show_bug.cgi?id=116479

Source/WebCore:

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/5cb43002a44f67a60ecf5a7ed76de2d0bcf89eb2

DeleteSelection::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss() make style and link elements
to be the direct children of the editable root. However, these style and link elements are not necessary editable
and WebKit crashes when they are not.

Test: editing/deleting/delete-uneditable-style.html

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):

LayoutTests:

Reviewed by Andreas Kling.

Add a regression test.

  • editing/deleting/delete-uneditable-style-expected.txt: Added.
  • editing/deleting/delete-uneditable-style.html: Added.
8:13 PM Changeset in webkit [150401] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Disable SuperRegion
https://bugs.webkit.org/show_bug.cgi?id=116362

Rubber stamped by Geoff Garen.

  • heap/Region.h:
7:39 PM Changeset in webkit [150400] by Martin Robinson
  • 1 edit
    1 delete in trunk/Source/WebKit2

Remove SharedMemoryGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=116457

Reviewed by Andreas Kling.

  • Platform/gtk/SharedMemoryGtk.cpp: Removed.
7:29 PM Changeset in webkit [150399] by Beth Dakin
  • 9 edits in trunk/Source/WebCore

Scrollbars still show sometimes even when WKPageSetSuppressScrollbarAnimations()
is set
https://bugs.webkit.org/show_bug.cgi?id=116493
-and corresponding-
<rdar://problem/13912871>

Reviewed by Dean Jackson.

We need to be more aggressive with our approach since AppKit may still ask the
scrollbars to paint here.

scrollbarAnimationsAreSuppressed() will allow us to find out if the setting has
been set.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollbarAnimationsAreSuppressed):

  • page/FrameView.h:
  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::scrollbarAnimationsAreSuppressed):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollbarAnimationsAreSuppressed):

  • rendering/RenderLayer.h:

(RenderLayer):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::scrollbarAnimationsAreSuppressed):

  • rendering/RenderListBox.h:

Don’t allow animations if scrollbars are suppressed.

  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):

Call cancelAnimations() to prevent a just-started animation from continuing.
(WebCore::ScrollAnimatorMac::finishCurrentScrollAnimations):

7:07 PM Changeset in webkit [150398] by jberlin@webkit.org
  • 8 edits
    3 adds in trunk

Expose a way to know when forms are added to a page or when form controls are added to a form
in the injected bundle
https://bugs.webkit.org/show_bug.cgi?id=116334

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:

Add the new callbacks as part of version 2 of the WKBundlePageFormClient.

  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:

(WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
Pass the message along to the client if the client has a handler.
(WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
Ditto.

  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::didAssociateFormControls):
Tell the injected bundle form client for the page.
(WebKit::WebChromeClient::shouldNotifyOnFormChanges):
Ditto.

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Tools:

Add tests for the new callbacks.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Add DidAssociateFormControls/_Bundle.cpp and associate-form-controls.html

  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls.cpp: Added.

(TestWebKitAPI::nullJavaScriptCallback):
A "null" callback to handle the fact that WKPageRunJavaScriptInMainFrame cannot handle null
being passed in for the callback.
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
After receiving the message that didAssociateFormControls callback was invoked from adding
the form in the onload handler, tell the page to add a password field to the form, which
should also invoke didAssociateFormControls callback.
(TestWebKitAPI::setInjectedBundleClient):
Register to receive messages.
(TestWebKitAPI::TEST):
Load associate-form-controls.html and wait until the didAssociateFormControls callback has
been invoked for both adding the form and for adding a password field to the form.

  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp: Added.

(TestWebKitAPI::shouldNotifyOnFormChanges):
Return true so the didAssociateFormControls callback is invoked.
(TestWebKitAPI::didAssociateFormControls):
Tell the UI process.
(TestWebKitAPI::DidAssociateFormControlsTest::DidAssociateFormControlsTest):
(TestWebKitAPI::DidAssociateFormControlsTest::didCreatePage):
Register for the shouldNotifyOnFormChanges and didAssociateFormControls callbacks.

  • TestWebKitAPI/Tests/WebKit2/associate-form-controls.html: Added.

Add a form in response to the onload event. Add a button that will add the password field
for manual testing.

7:04 PM Changeset in webkit [150397] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION(r150386): [WK2] loader/go-back-cached-main-resource.html fails
https://bugs.webkit.org/show_bug.cgi?id=116491

Add a test expectation.

  • platform/wk2/TestExpectations:
6:53 PM Changeset in webkit [150396] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Avoid caret repaints if we're not showing carets anyway.
<http://webkit.org/b/116489>

Reviewed by Simon Fraser.

When moving the selection, check if we're inside a contenteditable element (or in caret browsing mode)
before repainting the caret's previous location.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::recomputeCaretRect):

6:43 PM Changeset in webkit [150395] by Simon Fraser
  • 6 edits
    2 adds in trunk

position:sticky should stick for the enclosing overflow ancestor
https://bugs.webkit.org/show_bug.cgi?id=100054

Source/WebCore:

Reviewed by Beth Dakin.

Make position: -webkit-sticky be constrained by an enclosing ancestor
with non-visible overflow if there is one, rather than being constained
always by the viewport.

Test: fast/css/sticky/sticky-top-overflow.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::computeStickyPositionConstraints): Rename
viewportRect to constrainingRect, since it isn't just about the viewport any more.
Fix an issue where just adding stickyLocation to absContainerFrame.location() was
incorrect when the container is scrolled; we also have to take the scroll offset
into account, and that offset is stored in the layer tree.
(WebCore::RenderBoxModelObject::stickyPositionOffset):
Look for an enclosing layer with overflow clipping, and, if found, use it to
compute the sticky constraint rect.

  • rendering/RenderLayer.h: Add a helpful IncludeSelfOrNot, and fix several member functions

to use it place of hard-to-read boolean arguments.
Add enclosingOverflowClipLayer(IncludeSelfOrNot).
(WebCore::RenderLayer::ancestorCompositingLayer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::enclosingOverflowClipLayer): New function, finds the enclosing
layer with overflow clip.
(WebCore::RenderLayer::enclosingCompositingLayer): Use IncludeSelfOrNot.
(WebCore::RenderLayer::enclosingCompositingLayerForRepaint): Ditto.
(WebCore::RenderLayer::enclosingFilterLayer): Ditto.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::repaintInCompositedAncestor): Use IncludeSelfOrNot.
(WebCore::isViewportConstrainedFixedOrStickyLayer): Renamed from isRootmostFixedOrStickyLayer
and moved up so we can use it in requiresCompositingForPosition().
(WebCore::RenderLayerCompositor::requiresCompositingForPosition): Only make sticky composited if
it's viewport-constrained.
(WebCore::RenderLayerCompositor::updateViewportConstraintStatus):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Declare StickyPositionViewportConstraints
one line down to just before it gets used.

LayoutTests:

Reviewed by Beth Dakin.

Reference test for sticky behavior inside overflow:.

  • fast/css/sticky/sticky-top-overflow-expected.html: Added.
  • fast/css/sticky/sticky-top-overflow.html: Added.
6:25 PM Changeset in webkit [150394] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove DISABLE_ROUNDED_CORNER_CLIPPING
https://bugs.webkit.org/show_bug.cgi?id=115531

Patch by Jeff Rogers <jrogers@blackberry.com> on 2013-05-20
Reviewed by Andreas Kling.

BlackBerry port is no longer using this.

  • rendering/RenderLayer.cpp:

(WebCore::inContainingBlockChain):
(WebCore::RenderLayer::clipToRect):

5:57 PM Changeset in webkit [150393] by rniwa@webkit.org
  • 6 edits
    2 adds in trunk/LayoutTests

Add a test that inserting a character inside a URL doesn't move caret per auto correction
https://bugs.webkit.org/show_bug.cgi?id=116458

Reviewed by Darin Adler.

Add a test. This is broken on Safari 6 but fixed on ToT.

  • editing/inserting/inserting-slash-inside-url-with-smart-link-expected.txt: Added.
  • editing/inserting/inserting-slash-inside-url-with-smart-link.html: Added.
  • platform/mac-wk2/TestExpectations:
5:49 PM Changeset in webkit [150392] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK][WK2] Unflag tests related to layoutTestController.setSmartInsertDeleteEnabled
https://bugs.webkit.org/show_bug.cgi?id=116433

Unreviewed gardening.

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-05-20

  • platform/gtk-wk2/TestExpectations: Unflag tests as they are passing

since r150289.

5:24 PM Changeset in webkit [150391] by Christophe Dumez
  • 2 edits in trunk/Tools

[EFL][JHBUILD] Make sure eet is built before evas
https://bugs.webkit.org/show_bug.cgi?id=116440

Reviewed by Gyuyoung Kim.

Mark eet as a dependency of evas since evas requires eet to enable some of its
functionality.

  • efl/jhbuild.modules:
5:10 PM Changeset in webkit [150390] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

[Mac] [WK2] storage/websql/open-database-creation-callback-isolated-world.html, statement-error-callback-isolated-world.html,
and transaction-success-callback-isolated-world.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=116478

Add flaky test expectations.

  • platform/mac-wk2/TestExpectations:
5:07 PM Changeset in webkit [150389] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

svg/batik/text/textEffect.svg is flaky on Mountain Lion builders
https://bugs.webkit.org/show_bug.cgi?id=116477

Add a failing test expectation.

  • platform/mac/TestExpectations:
4:43 PM Changeset in webkit [150388] by timothy_horton@apple.com
  • 12 edits in trunk/Source

Clients should have a way to extend rendering suppression
https://bugs.webkit.org/show_bug.cgi?id=116463
<rdar://problem/13738496>

Reviewed by Andy Estes.

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

(WKBundlePageExtendIncrementalRenderingSuppression): Added.
(WKBundlePageStopExtendingIncrementalRenderingSuppression): Added.

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

These only have any effect if SuppressesIncrementalRendering is also enabled.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
Inform the FrameView if there are any outstanding rendering suppression tokens.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::extendIncrementalRenderingSuppression):
Return the next available rendering suppression token.
Add it to the list of active tokens.
Inform the FrameView that we want to suppress rendering.

(WebKit::WebPage::stopExtendingIncrementalRenderingSuppression):
Remove the given token from the list of active tokens.
Un-suppress rendering if appropriate.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::shouldExtendIncrementalRenderingSuppression):
Return if there are any active rendering suppression tokens.

  • WebCore.exp.in:

Export FrameView::setVisualUpdatesAllowedByClient.

  • dom/Document.cpp:

(WebCore::Document::setVisualUpdatesAllowed):
Move rendering-suppression watchdog into setVisualUpdatesAllowed(bool).
setVisualUpdatesAllowed(ReadyState) should not re-enable visual updates
if the client is itself disabling visual updates.

(WebCore::Document::visualUpdatesSuppressionTimerFired):
If the watchdog fires and the client is still disabling visual
updates, we should not re-enable visual updates, but instead
wait for the client.

(WebCore::Document::setVisualUpdatesAllowedByClient):
Actually re-enable visual updates if we deferred the re-enabling above
(when the page finishes loading, but the client had them disabled).

  • dom/Document.h:

(Document): Add setVisualUpdatesAllowedByClient.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView): Visual updates are allowed by default.
(WebCore::FrameView::setVisualUpdatesAllowedByClient):
Forward through to the document, but we also need to persist the state
here in FrameView so that it survives through navigation.

  • page/FrameView.h:

(WebCore::FrameView::setVisualUpdatesAllowedByClient): Added.
(WebCore::FrameView::visualUpdatesAllowedByClient): Added.
Added storage for m_visualUpdatesAllowedByClient.

4:30 PM Changeset in webkit [150387] by hmuller@adobe.com
  • 16 edits in trunk

[CSS Exclusions] Add CSS parsing support for image URI shape-inside and shape-outside values
https://bugs.webkit.org/show_bug.cgi?id=116349

Reviewed by Alexandru Chiculita.

Source/WebCore:

Add support for parsing image URI values for the shape-inside and shape-outside CSS properties.
Extended the ExclusionShapeValue class to support tracking the property's StyleImage value.

The ExclusionShapeValue::type enums were changed from all upper case to "Intercase" by order
of the style bot.

The existing CSS parsing tests were extended to check URI values.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyExclusionShape::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImages):

  • rendering/style/ExclusionShapeValue.h:

(WebCore::ExclusionShapeValue::createImageValue):
(ExclusionShapeValue):
(WebCore::ExclusionShapeValue::image):
(WebCore::ExclusionShapeValue::setImage):
(WebCore::ExclusionShapeValue::ExclusionShapeValue):

LayoutTests:

Check that shape values specified with a URI are parsed correctly.

  • fast/exclusions/parsing-wrap-shape-inside-expected.txt:
  • fast/exclusions/parsing-wrap-shape-outside-expected.txt:
  • fast/exclusions/script-tests/parsing-wrap-shape-inside.js:
  • fast/exclusions/script-tests/parsing-wrap-shape-outside.js:
4:28 PM Changeset in webkit [150386] by commit-queue@webkit.org
  • 5 edits in trunk

WTR::pathSuitableForTestResult should behave the same as _drt_descriptionSuitableForTestResult so we can unskip tests.
https://bugs.webkit.org/show_bug.cgi?id=116125

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-20
Reviewed by Tim Horton.

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::pathSuitableForTestResult):
Changed string operations to match _drt_descriptionSuitableForTestResult.
(WTR::dumpRequestDescriptionSuitableForTestResult):
(WTR::dumpResponseDescriptionSuitableForTestResult):
(WTR::InjectedBundlePage::willPerformClientRedirectForFrame):
(WTR::InjectedBundlePage::didInitiateLoadForResource):
(WTR::InjectedBundlePage::willSendRequestForFrame):
(WTR::InjectedBundlePage::didReceiveResponseForResource):
Pass the main frame's URL to pathSuitableForTestResult.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:

Added WKBundlePageRef to willPerformClientRedirectForFrame.

LayoutTests:

  • platform/wk2/TestExpectations:

Unskipped working tests.

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

Add a failing test expectation to editing/selection/user-drag-element-and-user-select-none.html
after r150354. The failure is tracked by the bug 116473.

3:55 PM Changeset in webkit [150384] by akling@apple.com
  • 3 edits in trunk/Source/WebKit2

PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
<http://webkit.org/b/116464>
<rdar://problem/10103795>

Reviewed by Anders Carlsson.

Give the web process a 10 second chance to exit nicely after closing the last tab belonging to it.
This code only runs if there was something on the page (e.g an unload/beforeunload event handler)
preventing the UI process from killing it right away.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::forcefulTerminationTimerFired):

  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

2:38 PM Changeset in webkit [150383] by commit-queue@webkit.org
  • 5 edits
    10 adds in trunk

[CSSRegions] Fix offsetLeft / offsetTop for elements inside named flow
https://bugs.webkit.org/show_bug.cgi?id=115899

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-20
Reviewed by David Hyatt.

Source/WebCore:

Elements in named flows that have the body as their offsetParent, need to compute their
offsetLeft and offsetTop values relative to the body.

Tests: fast/regions/offsetLeft-offsetTop-in-multiple-regions.html

fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html
fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl.html
fast/regions/offsetLeft-offsetTop-in-region-float.html
fast/regions/offsetLeft-offsetTop-inlines-region-in-element.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):

  • rendering/RenderFlowThread.cpp:

(WebCore):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):

  • rendering/RenderFlowThread.h:

LayoutTests:

Added tests for the implementation of offsetLeft and offsetTop for objects inside named flows
for which the offsetParent is the body.

  • fast/regions/offsetLeft-offsetTop-in-multiple-regions-expected.txt: Added.
  • fast/regions/offsetLeft-offsetTop-in-multiple-regions.html: Added.
  • fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed-expected.txt: Added.
  • fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html: Added.
  • fast/regions/offsetLeft-offsetTop-in-region-float-expected.txt: Added.
  • fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl-expected.txt: Added.
  • fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl.html: Added.
  • fast/regions/offsetLeft-offsetTop-in-region-float.html: Added.
  • fast/regions/offsetLeft-offsetTop-inlines-region-in-element-expected.txt: Added.
  • fast/regions/offsetLeft-offsetTop-inlines-region-in-element.html: Added.
2:17 PM Changeset in webkit [150382] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Unreviewed TestExpectation cleanup. Reordered lines
to match Mac version to make it easier to understand what features
are uniquely missing in Windows port.

  • platform/win/TestExpectations: Reordering of lines, adds some

bug ID's to existing skipped tests.

2:10 PM Changeset in webkit [150381] by oliver@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Make C API more robust against null contexts
https://bugs.webkit.org/show_bug.cgi?id=116462

Reviewed by Anders Carlsson.

Handle null contexts in a non-crashy way. It's a bug to ever call the
API with a null context, and the absence of a context means we can't
produce a meaningful result, so we still assert in debug builds.

Now where possible we detect and early return, returning null for any
pointer type, NaN for doubles, and false for any boolean result.

  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):
(JSReportExtraMemoryCost):

  • API/JSContextRef.cpp:

(JSContextGetGlobalObject):
(JSContextGetGroup):
(JSContextGetGlobalContext):
(JSContextCreateBacktrace):

  • API/JSObjectRef.cpp:

(JSObjectMake):
(JSObjectMakeFunctionWithCallback):
(JSObjectMakeConstructor):
(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetPrototype):
(JSObjectSetPrototype):
(JSObjectHasProperty):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCopyPropertyNames):

  • API/JSValueRef.cpp:

(JSValueGetType):
(JSValueIsUndefined):
(JSValueIsNull):
(JSValueIsBoolean):
(JSValueIsNumber):
(JSValueIsString):
(JSValueIsObject):
(JSValueIsObjectOfClass):
(JSValueIsEqual):
(JSValueIsStrictEqual):
(JSValueIsInstanceOfConstructor):
(JSValueMakeUndefined):
(JSValueMakeNull):
(JSValueMakeBoolean):
(JSValueMakeNumber):
(JSValueMakeString):
(JSValueMakeFromJSONString):
(JSValueCreateJSONString):
(JSValueToBoolean):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
(JSValueProtect):

  • API/JSWeakObjectMapRefPrivate.cpp:
1:42 PM Changeset in webkit [150380] by dpranke@chromium.org
  • 3 edits in trunk/Tools

fix w3c test importer unit tests after r150324
https://bugs.webkit.org/show_bug.cgi?id=116459

Reviewed by Ryosuke Niwa.

This patch fixes the unit tests to not actually call out to
'hg' (by using a mock executive) and also changes the real
directory we crawl from Source/WebCore/css to
Tools/Scripts/webkitpy/w3c to run much more quickly. We should
still change this to a mock filesystem, but that's a separate change.

  • Scripts/webkitpy/w3c/test_importer.py:

(main):
(TestImporter.init):
(TestImporter.load_changeset):

  • Scripts/webkitpy/w3c/test_importer_unittest.py:

(TestImporterTest.test_import_dir_with_no_tests_and_no_hg):
(TestImporterTest.test_import_dir_with_no_tests):

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

Add helper function for converting a KeyedCodingValue to a CFTypeRef
https://bugs.webkit.org/show_bug.cgi?id=116461

Reviewed by Tim Horton.

  • Shared/cf/KeyedCodingValueCF.cpp: Added.
  • Shared/cf/KeyedCodingValueCF.h: Added.
  • WebKit2.xcodeproj/project.pbxproj:
1:00 PM Changeset in webkit [150378] by hmuller@adobe.com
  • 2 edits in trunk/LayoutTests

[Qt] REGRESSION(r149457): some fast/exclusions tests are failing
https://bugs.webkit.org/show_bug.cgi?id=115511

Reviewed by Andreas Kling.

Unskipping the exclusions tests on Qt. They were fixed by https://bugs.webkit.org/show_bug.cgi?id=116115.

  • platform/qt/TestExpectations:
12:55 PM Changeset in webkit [150377] by andersca@apple.com
  • 2 edits
    3 adds in trunk/Source/WebKit2

Begin stubbing out a new KeyedEncoder class
https://bugs.webkit.org/show_bug.cgi?id=116456

Reviewed by Sam Weinig.

This class (and it's coming counterpart, KeyedDecoder) will be used for serializing
object graphs to a tree-like structure of dictionaries. It is up to individual ports to
serialize them further (for example, on Mac they could be serialized to CFPropertyList objects).

This will be used for serializing session storage state but I hope that it can be used for serializing
back forward state in the future as our current implementation of back forward state serialization
is fragile and depends on our IPC layer's binary encoding(!).

  • Shared/KeyedCodingValue.h: Added.
  • Shared/KeyedEncoder.cpp: Added.
  • Shared/KeyedEncoder.h: Added.
  • WebKit2.xcodeproj/project.pbxproj:
12:13 PM Changeset in webkit [150376] by Christophe Dumez
  • 4 edits in trunk/Tools

Unreviewed EFL build fix.

Fix linking errors due to undefined symbols on Ubuntu 13.04.

  • DumpRenderTree/efl/CMakeLists.txt:
  • EWebLauncher/CMakeLists.txt:
  • MiniBrowser/efl/CMakeLists.txt:
12:00 PM Changeset in webkit [150375] by zoltan@webkit.org
  • 3 edits
    4 adds in trunk

[CSS Regions][CSS Exclusions] shape-inside on regions should respect positioned shapes and overflow
https://bugs.webkit.org/show_bug.cgi?id=116252

Reviewed by David Hyatt.

Regions should respect shape-inside properties which have specified top offset. Since the content which overflows from the
shape should be pushed after the content box (for details check out r148975), I implemented overflowthe behavior for simple
cases when you have only one region. I'm going to implement it for additional regions in a follow up patch.

Tests: fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html

fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html

Source/WebCore:

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::updateLineBoundariesForExclusions): Handle the flow thread case, push the overflowing content after the
content box. Respect existing shape-inside on region tests.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Set the correct logical top position for the shape-inside in
the case of regions. Respect the region's margins and paddings.

LayoutTests:

  • fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html: Added.
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html: Added.
11:45 AM Changeset in webkit [150374] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Cleanup TestExpectations to pass --lint-test-files
https://bugs.webkit.org/show_bug.cgi?id=116419

Unreviewed GTK gardening.

Remove one of two http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-20

  • platform/gtk/TestExpectations:
11:10 AM Changeset in webkit [150373] by Darin Adler
  • 11 edits in trunk/Source/WebCore

Remove custom binding for the Clipboard clearData function
https://bugs.webkit.org/show_bug.cgi?id=116421

Reviewed by Andreas Kling.

  • bindings/js/JSClipboardCustom.cpp: Removed the clearData binding.
  • dom/Clipboard.idl: Removed [Custom].
  • dom/Clipboard.cpp:

(WebCore::Clipboard::clearData): Renamed from clearAllData.

  • dom/Clipboard.h: Rename clearAllData to clearData so we just use

overloading for the one with and without a MIME type.

  • platform/ios/ClipboardIOS.h: Rename clearAllData to clearData.
  • platform/ios/ClipboardIOS.mm:

(WebCore::ClipboardIOS::clearData): Ditto.

  • platform/qt/ClipboardQt.cpp:

(WebCore::ClipboardQt::clearData). Ditto.

  • platform/qt/ClipboardQt.h: Ditto.
  • platform/win/ClipboardWin.cpp:

(WebCore::ClipboardWin::clearData): Ditto.

  • platform/win/ClipboardWin.h: Ditto.
10:21 AM Changeset in webkit [150372] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] media/event-queue-crash.html ASSERTs in notifyChildInserted
https://bugs.webkit.org/show_bug.cgi?id=116444

Reviewed by Jer Noble.

No new tests, covered by existing tests.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::configureMediaControls): Only create media controls when the

element is in a Document.

9:47 AM Changeset in webkit [150371] by Antoine Quint
  • 9 edits
    2 adds in trunk

[Mac] captions menu should behave more like a menu
https://bugs.webkit.org/show_bug.cgi?id=116436

Reviewed by Eric Carlson.

Let the captions menu behave more like a native Mac menu by hiding it when
clicking anywhere on the page and preventing the page from scrolling when
attempting to scroll the captions menu when it cannot scroll in the requested
direction.

Test: media/video-controls-captions-trackmenu-hide-on-click-outside.html

  • dom/EventListener.h:

Add the new MediaControlsAppleEventListenerType.

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::defaultEventHandler):
(WebCore::MediaControlsApple::hide):
(WebCore::MediaControlsApple::makeTransparent):
(WebCore::MediaControlsApple::changedClosedCaptionsVisibility):
(WebCore::MediaControlsApple::reportedError):
(WebCore::MediaControlsApple::toggleClosedCaptionTrackList):
Use the hideClosedCaptionTrackList() and showClosedCaptionTrackList()
methods to hide and show the captions menu instead of calling hide()
and show() directly on m_closedCaptionsContainer.

(WebCore::MediaControlsApple::showClosedCaptionTrackList):
Show the m_closedCaptionsContainer and register a "mousewheel" event
listener on it as well as a "click" event listener on the entire document.

(WebCore::MediaControlsApple::hideClosedCaptionTrackList):
Hide the m_closedCaptionsContainer and remove the "mousewheel" event
listener on it as well as the "click" event listener on the entire document.

(WebCore::MediaControlsApple::shouldClosedCaptionsContainerPreventPageScrolling):
New private utility to determine whether the m_closedCaptionsContainer can scroll
in the provided scroll direction.

(WebCore::MediaControlsApple::eventListener):
Obtain the event listener used for "mousewheel" and "click" event handlers.

(WebCore::MediaControlsAppleEventListener::handleEvent):
Event handler for the "mousewheel" and "click" events. If we get a "click" event, we
toggle the captions menu visibility and if we get a "mousewheel" event, we call into
shouldClosedCaptionsContainerPreventPageScrolling() to see if we can scroll in the
current scroll direction, and if not prevent the event from resulting in a scroll by
calling preventDefault().

(WebCore::MediaControlsAppleEventListener::operator==):
Required for the successful subclassing of EventListener.

  • html/shadow/MediaControlsApple.h:

(MediaControlsAppleEventListener):
(WebCore::MediaControlsAppleEventListener::create):
(WebCore::MediaControlsAppleEventListener::cast):
(WebCore::MediaControlsAppleEventListener::MediaControlsAppleEventListener):
New subclass of EventListener required to provide a custom event listener for the
"mousewheel" and "click" events registered in showClosedCaptionTrackList() and
hideClosedCaptionTrackList().

9:39 AM Changeset in webkit [150370] by Martin Robinson
  • 3 edits
    3 adds in trunk

[Cairo] Canvas-shadow behavior is not being as expected
https://bugs.webkit.org/show_bug.cgi?id=108897

Patch by Rashmi Shyamasundar <rashmi.s2@samsung.com> on 2013-05-18
Reviewed by Martin Robinson.

Source/WebCore:

ShadowBlur::endShadowLayer copies the image from shadowContext to cairoContext.
CairoContext-path should be empty for doing this copy. Otherwise, the
original-image area will also get filled with the shadow.

Test: fast/canvas/canvas-image-shadow.html

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::drawPathShadow):

LayoutTests:

Test to verify the shadow of an image drawn on canvas.
This test uses an image whose size is smaller than,
the size of the rectangle which should be filled with the image.

  • fast/canvas/canvas-image-shadow-expected.txt: Added.
  • fast/canvas/canvas-image-shadow.html: Added.
  • fast/canvas/script-tests/canvas-image-shadow.js: Added.

(draw):

9:21 AM Changeset in webkit [150369] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

Bump WKBundlePageLoaderClient version number so as not to break some clients
https://bugs.webkit.org/show_bug.cgi?id=116426

Reviewed by Anders Carlsson.

  • Shared/APIClientTraits.cpp:

(WebKit):

  • Shared/APIClientTraits.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
9:00 AM Changeset in webkit [150368] by Christophe Dumez
  • 6 edits in trunk

[EFL] Reenabled INDEXED_DATABASE after r150344
https://bugs.webkit.org/show_bug.cgi?id=116430

Reviewed by Gyuyoung Kim.

.:

Reenable INDEXED_DATABASE flag for EFL port now that WebKit2
build was fixed in r150344.

  • Source/cmake/OptionsEfl.cmake:

Tools:

Reenable INDEXED_DATABASE flag for EFL port now that WebKit2
build was fixed in r150344.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Unskip indexeddb layout tests for EFL port now that the functionality
is reenabled at compile time.

  • platform/efl/TestExpectations:
7:44 AM Changeset in webkit [150367] by ddkilzer@apple.com
  • 4 edits in trunk/Source

Synchronize FeatureDefines.xcconfig

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Remove

ENABLE_LINK_PRERENDER. This was missed in r150356.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Add a newline to the

end of the file.

6:44 AM Changeset in webkit [150366] by commit-queue@webkit.org
  • 10 edits in trunk

-webkit-text-underline-position should not be inherited
https://bugs.webkit.org/show_bug.cgi?id=116363

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-05-20
Reviewed by Dean Jackson.

Source/WebCore:

Specification says text-underline-position should not be inherited.

No new tests, this updates existing tests.

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty): Make
CSSPropertyWebkitTextUnderlinePosition return false.

  • rendering/style/RenderStyle.h: Treat TextUnderlinePosition as

non-inherited.

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==): Remove m_textUnderlinePosition.

  • rendering/style/StyleRareInheritedData.h:

(StyleRareInheritedData):

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==): Add m_textUnderlinePosition.

  • rendering/style/StyleRareNonInheritedData.h:

(StyleRareNonInheritedData):

LayoutTests:

Update expected results.

  • fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position-expected.txt:
  • fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js:
6:36 AM Changeset in webkit [150365] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Add compile asserts for the size of RootInlineBox and InlineTextbox
https://bugs.webkit.org/show_bug.cgi?id=116337

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-05-20
Reviewed by Darin Adler.

Add compile asserts to ensure RootInlineBox and InlineTextbox stay small.

  • rendering/InlineTextBox.cpp:

(SameSizeAsInlineTextBox):
(WebCore):

  • rendering/RootInlineBox.cpp:

(SameSizeAsRootInlineBox):
(WebCore):

5:03 AM Changeset in webkit [150364] by g.czajkowski@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Adding failure expectations for spelling tests.

  • platform/efl-wk2/TestExpectations:
3:45 AM WebKit Team edited by Claudio Saavedra
(diff)
3:11 AM Changeset in webkit [150363] by g.czajkowski@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

spelling-double-clicked-word.html passes after r150289.

  • platform/efl-wk2/TestExpectations:
2:37 AM Changeset in webkit [150362] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] LocalizedStringsBlackBerry: add dummy text track strings
https://bugs.webkit.org/show_bug.cgi?id=116300

Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-20
Reviewed by Rob Buis.

These are dummy implementations necessary to make WebKit link.

  • platform/blackberry/LocalizedStringsBlackBerry.cpp:

(WebCore::weekFormatInLDML):
(WebCore):
(WebCore::textTrackClosedCaptionsText):
(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffText):
(WebCore::textTrackNoLabelText):

1:30 AM Changeset in webkit [150361] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Do not use skia in FrameLoaderClientBlackBerry::dispatchDidReceiveIcon()
https://bugs.webkit.org/show_bug.cgi?id=116302

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-20
Reviewed by Rob Buis.

TiledImage is now the NativeImage of the BlackBerry port.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):

1:02 AM EFLWebKit edited by dominik.rottsches@intel.com
buildbots (diff)
1:01 AM EFLWebKitBuildBots edited by dominik.rottsches@intel.com
(diff)
1:00 AM EFLWebKitBuildBots edited by dominik.rottsches@intel.com
removing cq requestees. (diff)
1:00 AM EFLWebKitBuildBots edited by dominik.rottsches@intel.com
removing intel gardeners (diff)
12:24 AM WebKitGTK/2.0.x edited by Manuel Rego Casasnovas
(diff)

May 19, 2013:

11:48 PM Changeset in webkit [150360] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

[EFL] init/shutdown should be paired in EWebLauncher
https://bugs.webkit.org/show_bug.cgi?id=116427

Reviewed by Christophe Dumez.

Added ecore_file_shutdown() for cleanup of ecore_file.
Removed edje_init and ecore_evas_init because it was in ewk_init().

  • EWebLauncher/main.c:

(main):

5:50 PM Changeset in webkit [150359] by mhahnenberg@apple.com
  • 18 edits in branches/dfgFourthTier

CheckArrays should be hoisted
https://bugs.webkit.org/show_bug.cgi?id=116353

Source/JavaScriptCore:

Performance neutral. This will be more important when we start depending on CheckArray for flat arrays.

Reviewed by Filip Pizlo.

  • dfg/DFGAbstractState.cpp: Add ForwardCheckArray to wherever we had a CheckArray before.

(JSC::DFG::AbstractState::executeEffects):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::isContravenedByStructure): Checks if the ArrayMode derived from a specific Structure
would contradict the ArrayModes that would be filtered by the current ArrayMode. This is used to detect
if any specific CheckStructures would contradict our CheckArray so that we can defer to the CheckStructure's
judgment.

  • dfg/DFGByteCodeParser.cpp: Fill in checkArrayHoistingFailed where we previously exited due to a BadIndexingType.

(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::checkArrayElimination):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasArrayMode):

  • dfg/DFGNodeType.h: New ForwardCheckArray node type.
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGTypeCheckHoistingPhase.cpp: Refactored most of TypeCheckHoistingPhase into separate functions, some

of which are now generic to both CheckStructure and CheckArray hoisting while others are specific to one or the
other. Both of the non-zero CheckBallot values must be 1 because we use them as an index into an array of
length 2 inside the VariableAccessData.
(CheckData): Moved structure outside of TypeCheckHoistingPhase so that ArrayTypeCheck and StructureTypeCheck
can access it. Also added new fields for tracking ArrayModes. We need the m_arrayModeIsValid because there
isn't a good sentinel value for "this ArrayMode is invalid and meaningless" like there is for m_structure.
We need m_arrayModeHoistingOkay for when we want to permanently disable hoisting for that particular variable.
(JSC::DFG::CheckData::CheckData):
(JSC::DFG::CheckData::disableCheckArrayHoisting): Helper function for disabling CheckArray hoisting for a
specific CheckData.
(JSC::DFG::TypeCheckHoistingPhase::run): We now do both CheckStructure and CheckArray hoisting, although we prefer
CheckStructure hoisting when given the possibility to do both.
(TypeCheckHoistingPhase):
(JSC::DFG::TypeCheckHoistingPhase::clearVariableVotes): Clears all of the VariableAccessData votes since they
can only have two types of votes at any particular time.
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks): Very similar to identifyRedundantStructureChecks,
but with a few different nodes that are important, namely CheckArray (instead of CheckStructure) and the Arrayify-like
nodes always disable hoisting since they always change the IndexingType.
(JSC::DFG::TypeCheckHoistingPhase::disableHoistingForVariablesWithInsufficientVotes):
(JSC::DFG::TypeCheckHoistingPhase::disableHoistingAcrossOSREntries):
(JSC::DFG::TypeCheckHoistingPhase::disableCheckArrayHoisting): Helper that looks up the CheckData for the
specified variable and disables CheckArray hoisting on it.
(JSC::DFG::TypeCheckHoistingPhase::shouldConsiderForHoisting):
(JSC::DFG::TypeCheckHoistingPhase::noticeStructureCheck):
(JSC::DFG::TypeCheckHoistingPhase::noticeCheckArray):
(JSC::DFG::TypeCheckHoistingPhase::noticeStructureCheckAccountingForArrayMode): We want to take CheckStructure nodes
into account when hoisting CheckArrays, so we make sure that if we contradict what a CheckStructure says then we
give up on hoisting the CheckArray.
(JSC::DFG::ArrayTypeCheck::isValidToHoist):
(ArrayTypeCheck): Structure that houses some of the specifics on how to hoist CheckArrays. This structure
is used a template argument to allow some of the very similar code to statically parameterized and reused
for both CheckStructure and CheckArray hoisting.
(JSC::DFG::ArrayTypeCheck::disableHoisting):
(JSC::DFG::ArrayTypeCheck::isContravenedByValue):
(JSC::DFG::ArrayTypeCheck::hasEnoughVotesToHoist):
(JSC::DFG::ArrayTypeCheck::hoistingPreviouslyFailed):
(JSC::DFG::StructureTypeCheck::isValidToHoist):
(StructureTypeCheck): Same as ArrayTypeCheck, but specific to CheckStructure hoisting.
(JSC::DFG::StructureTypeCheck::disableHoisting):
(JSC::DFG::StructureTypeCheck::isContravenedByValue):
(JSC::DFG::StructureTypeCheck::hasEnoughVotesToHoist):
(JSC::DFG::StructureTypeCheck::hoistingPreviouslyFailed):

  • dfg/DFGUnificationPhase.cpp: Added merging of whether or not CheckArray hoisting failed.

(JSC::DFG::UnificationPhase::run):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeCheckArrayHoistingFailed):
(VariableAccessData):
(JSC::DFG::VariableAccessData::checkArrayHoistingFailed):

  • runtime/Options.h:

LayoutTests:

Added a microbenchmark to JSRegress that specifically targets CheckArray hoisting.
We get a 25% improvement on it.

Reviewed by Filip Pizlo.

  • fast/js/regress/check-array-hoisting-expected.txt: Added.
  • fast/js/regress/check-array-hoisting.html: Added.
  • fast/js/regress/script-tests/check-array-hoisting.js: Added.

(f):

5:04 PM Changeset in webkit [150358] by Darin Adler
  • 2 edits in trunk/Source/WebCore

[Mac] Improve string use in PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116418

Reviewed by Sam Weinig.

Did a Ben Poulain all over this file.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::plainText): Add the newline separately to the string builder.
Prepending it to the string first just does more allocations for no good reason.
(WebCore::Pasteboard::documentFragment): Use emptyString() instead of "" and use
ASCIILiteral where appropriate.
(WebCore::cocoaTypeFromHTMLClipboardType): More ASCIILiteral.
(WebCore::Pasteboard::clear): Use early return instead of a nested if here.
Use emptyString() instead of "".
(WebCore::addHTMLClipboardTypesForCocoaType): More ASCIILiteral.

4:56 PM Changeset in webkit [150357] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Add command line option to MiniBrowser to set user agent
https://bugs.webkit.org/show_bug.cgi?id=116387

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-19
Reviewed by Christophe Dumez.

We need this option to compare the rendering differences according to different user agents.

  • MiniBrowser/efl/main.c:

(window_create):
(elm_main):

3:57 PM Changeset in webkit [150356] by andersca@apple.com
  • 32 edits
    6 deletes in trunk

Remove link prerendering code
https://bugs.webkit.org/show_bug.cgi?id=116415

Reviewed by Darin Adler.

.:

This code was only used by Chromium and is dead now.

  • Source/autotools/SetupWebKitFeatures.m4:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

This code was only used by Chromium and is dead now.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:

(WebCore):
(Document):

  • dom/EventNames.h:

(WebCore):

  • html/HTMLLinkElement.cpp:
  • html/HTMLLinkElement.h:
  • html/LinkRelAttribute.cpp:

(WebCore::LinkRelAttribute::LinkRelAttribute):

  • html/LinkRelAttribute.h:

(LinkRelAttribute):

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::~LinkLoader):
(WebCore::LinkLoader::loadLink):
(WebCore::LinkLoader::released):

  • loader/LinkLoader.h:

(WebCore):
(LinkLoader):

  • loader/LinkLoaderClient.h:

(LinkLoaderClient):

  • loader/Prerenderer.cpp: Removed.
  • loader/Prerenderer.h: Removed.
  • loader/PrerendererClient.cpp: Removed.
  • loader/PrerendererClient.h: Removed.
  • platform/PrerenderClient.h: Removed.
  • platform/PrerenderHandle.h: Removed.

Source/WebKit/blackberry:

This code was only used by Chromium and is dead now.

  • WebCoreSupport/AboutDataEnableFeatures.in:

Source/WebKit/mac:

This code was only used by Chromium and is dead now.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

This code was only used by Chromium and is dead now.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

This code was only used by Chromium and is dead now.

  • wtf/FeatureDefines.h:
3:52 PM Changeset in webkit [150355] by Simon Fraser
  • 12 edits in trunk/Source/WebCore

Change the terminology used by rendering code when painting a given node and its children from "paintingRoot" to "subtreePaintRoot"
https://bugs.webkit.org/show_bug.cgi?id=116417

Reviewed by Sam Weinig.

PaintInfo and RenderLayer code referred to a "paintingRoot". This is only set when
FrameView::setNodeToDraw() has been called and is used to restrict painting to
some part of the subtree, but it could easily be misinterpreted, and confused with
the "rootLayer" used by RenderLayer (which is usually not the layer associated with
the paintingRoot).

Change the terminology from "paintingRoot" to "subtreePaintRoot" root to make the
purpose of this variable more obvious.

No behavior change.

  • page/FrameView.cpp: Add a comment for setNodeToDraw(); in future this should

be called setSubtreePaintRoot() or something. Not done in this patch to avoid
risk; this function is exported from WebCore.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::paint):

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::PaintInfo):
(WebCore::PaintInfo::updateSubtreePaintRootForChildren):
(WebCore::PaintInfo::shouldPaintWithinRoot):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintContents):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paint):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintOverlayScrollbars):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):

  • rendering/RenderObject.cpp: Add a comment to recommend changing the name of

paintingRootRect() to refer to a subtree paint. Not done in this patch to avoid
risk; this function is exported from WebCore.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paint):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::paintObject):

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::paint):

2:51 PM Changeset in webkit [150354] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Use Element instead of Node in DragState, also redo DragState struct
https://bugs.webkit.org/show_bug.cgi?id=116411

Reviewed by Sam Weinig.

The drag source is an element, so use RefPtr<Element> instead of RefPtr<Node>.

Also, the entire drag state is about dragging, so no need for the word "drag" in the
name of its members. Also, it's a struct, so the members don't need m_ prefixes.

  • page/DragController.cpp: Removed unneeded include of Node.h since it's included by

Element.h, which is also included.
(WebCore::DragController::draggableElement): Renamed from Node to Element and changed
the types and names of arguments accordingly. Also made this function handle a
startElement of 0 so callers don't need to. Also updated for changes to DragState members.
(WebCore::DragController::startDrag): Updated for changes to DragState members.
Since dragSource can only be an element, was able to get rid of isElementNode checks.

  • page/DragController.h: Fixed style of forward declarations of structs. Updated for

change of draggableNode to draggableElement. Also removed declarations of nonexistent
selectionDraggingRect and doDrag functions.

  • page/DragState.h: Rewrote practically this whole header. Added an include of Element

instead of Node since that's what we use now. Removed includes that are redundant.
There's no problem copying a DragState, so removed WTF_MAKE_NONCOPYABLE. There's no need
to allocate a DragState on the heap, so removed WTF_MAKE_FAST_ALLOCATED. The event dispatch
boolean is never set to a constant, so there's no need for a policy enum; it can just be
a boolean. Removed the "m_" prefixes from the struct members, since this is a struct with
public members and we don't use the prefix in those cases. Removed the word "drag" from the
struct member names since this entire struct is about dragging and has drag in its name.
Left the comments mostly intact, even though I'm not certain of their value.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent): Updated for changes to DragState.
(WebCore::EventHandler::eventMayStartDrag):
Use innerElement instead of innerNode to call draggableElement instead of draggableNode.
(WebCore::EventHandler::updateDragAndDrop): Updated for changes to DragState.
(WebCore::EventHandler::cancelDragAndDrop): Ditto.
(WebCore::EventHandler::handleWheelEvent): Added FIXME.
(WebCore::EventHandler::dragHysteresisExceeded): Updated for changes to DragState.
(WebCore::EventHandler::freeClipboard): Updated for changes to DragState. Also re-added
code to release the clipboard object, which is needed here to avoid keeping it around in
memory until the next drag.
(WebCore::EventHandler::dragSourceEndedAt): Updated for changes to DragState.
(WebCore::EventHandler::updateDragStateAfterEditDragIfNeeded): Ditto.
(WebCore::EventHandler::dispatchDragSrcEvent): Ditto.
(WebCore::EventHandler::handleDrag): Updated for changes to DragState. Use innerElement
instead of innerNode to call draggableElement instead of draggableNode. No longer need to
null check innerElement because draggableElement does that. Removed unneeded else that was
setting m_dragSrc to zero since it's guaranteed to already be zero.

1:38 PM Changeset in webkit [150353] by andersca@apple.com
  • 20 edits in trunk/Source

Remove ChromeClient::webView()
https://bugs.webkit.org/show_bug.cgi?id=116054

Source/WebCore:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

  • loader/EmptyClients.h:
  • page/ChromeClient.h:

(ChromeClient):

Source/WebKit/blackberry:

Reviewed by Andreas Kling.

This blatantly horrible layer violation was only used by the Chromium port; get rid of it.

  • WebCoreSupport/ChromeClientBlackBerry.h:

(ChromeClientBlackBerry):

Source/WebKit/efl:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

  • WebCoreSupport/ChromeClientEfl.h:

(ChromeClientEfl):

Source/WebKit/gtk:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

  • WebCoreSupport/ChromeClientGtk.h:

(ChromeClient):

Source/WebKit/mac:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

  • WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

Source/WebKit/qt:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

  • WebCoreSupport/ChromeClientQt.h:

(ChromeClientQt):

Source/WebKit/win:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

  • WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

Source/WebKit/wince:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

  • WebCoreSupport/ChromeClientWinCE.h:

(ChromeClientWinCE):

11:40 AM Changeset in webkit [150352] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed, addressing test-webkitpy failures after r150317.

  • Scripts/webkitpy/w3c/test_converter.py:

(W3CTestConverter.read_webkit_prefixed_css_property_list): CssPropertyNames.in doesn't exist, but CSSPropertyNames.in does.

8:40 AM Changeset in webkit [150351] by Darin Adler
  • 6 edits
    1 delete in trunk/Source/WebCore

Eliminate the Editor::newGeneralClipboard function
https://bugs.webkit.org/show_bug.cgi?id=116410

Reviewed by Andreas Kling.

This is one of the clean-ups made possible by the changes to the DOM clipboard class.
I had been waiting until all the platforms were moved over to it, but it turns out to be
easy to do this now, just with #ifdefs.

  • PlatformBlackBerry.cmake: Deleted EditorBlackBerry.cpp.
  • editing/Editor.cpp:

(WebCore::Editor::dispatchCPPEvent): Call Clipboard::createForCopyAndPaste directly when
using the new version of the Clipboard class. Also some small style cleanup nearby.

  • editing/blackberry/EditorBlackBerry.cpp: Removed. The only function in this file was

newGeneralClipboard.

  • editing/mac/EditorMac.mm: Deleted newGeneralClipboard.
  • platform/efl/ClipboardEfl.cpp: Ditto.
  • platform/gtk/ClipboardGtk.cpp: Ditto.
7:56 AM Changeset in webkit [150350] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

GtkSelectionData length is off by one
https://bugs.webkit.org/show_bug.cgi?id=113962

Reviewed by Anders Carlsson.

No new tests. Since drag data is interpreted as a null-terminated string
this is difficult to test with a C program and we have no infrastructure
built for using GIR tests.

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillSelectionData): Instead of including the null
character in the paste data length, just include the string. This matches the behavior
of Firefox.

May 18, 2013:

8:01 PM Changeset in webkit [150349] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Hoist several chunks of code at the top of RenderLayer::paintLayerContents() onto new functions
https://bugs.webkit.org/show_bug.cgi?id=116406

Reviewed by Andreas Kling.

RenderLayer::paintLayerContents() was getting polluted with code related to filters,
clipping and font subpixel quantization, and hard to follow.

Move three hunks of code into new functions:
setupFontSubpixelQuantization() now contains the code related to whether we disable
font subpixel quantization on the context.
setupClipPath() now contains code related to clipping to shapes and references.
setupFilters() and applyFilters() contain code related to CSS filters.

As part of this, the interaction with FilterEffectRendererHelper was simplified.
It was convenient for setupFilters() to return a FilterEffectRendererHelper object
if successful, so we use an OwnPtr<FilterEffectRendererHelper> now. In addition,
the GraphicsContext swapping was moved from FilterEffectRendererHelper code into RenderLayer
to make it easier to follow. FilterEffectRendererHelper no longer holds on to
the old GraphicsContext.

No behavior change.

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRendererHelper::filterContext):
(WebCore::FilterEffectRendererHelper::beginFilterEffect):
(WebCore::FilterEffectRendererHelper::applyFilterEffect):

  • rendering/FilterEffectRenderer.h:

(WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
(WebCore::FilterEffectRendererHelper::hasStartedFilterEffect):
(FilterEffectRendererHelper):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupFontSubpixelQuantization):
(WebCore::RenderLayer::setupClipPath):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::applyFilters):
(WebCore::RenderLayer::paintLayerContents):

  • rendering/RenderLayer.h:
8:00 PM Changeset in webkit [150348] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Refactor RenderStyle::diff()
https://bugs.webkit.org/show_bug.cgi?id=116397

Reviewed by Andreas Kling.

RenderStyle::diff() was prone to being changed incorrectly, since there was
a poorly documented ordering requirement: style changes that cause layout
have to be detected before those that cause only repainting.

In addition, the existing code made it impossible to separately ask whether
a given style change requires a repaint, if we've already detected that it
requires a positioned-movement-only layout.

Fix by factoring the code into member functions that check for each type
of style change.

No behavior change.

  • rendering/style/RenderStyle.cpp:

(WebCore::positionChangeIsMovementOnly):
(WebCore::RenderStyle::changeRequiresLayout):
(WebCore::RenderStyle::changeRequiresPositionedLayoutOnly):
(WebCore::RenderStyle::changeRequiresLayerRepaint):
(WebCore::RenderStyle::changeRequiresRepaint):
(WebCore::RenderStyle::changeRequiresRepaintIfText):
(WebCore::RenderStyle::changeRequiresRecompositeLayer):
(WebCore::RenderStyle::diff):

  • rendering/style/RenderStyle.h:
7:40 PM Changeset in webkit [150347] by Simon Fraser
  • 2 edits in trunk/LayoutTests

svg/batik tests are flakey.
webkit.org/b/116398

  • platform/mac/TestExpectations:
5:06 PM Changeset in webkit [150346] by andersca@apple.com
  • 9 edits in trunk/Source

Simplify the StorageArea setter functions
https://bugs.webkit.org/show_bug.cgi?id=116402

Reviewed by Sam Weinig.

Source/WebCore:

Move more security checking code to Storage so more code can be shared between WebKit1 and WebKit2.

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):

  • storage/Storage.cpp:

(WebCore::Storage::setItem):
(WebCore::Storage::removeItem):
(WebCore::Storage::clear):

  • storage/StorageArea.h:

(StorageArea):

  • storage/StorageAreaImpl.cpp:

(WebCore::StorageAreaImpl::setItem):
(WebCore::StorageAreaImpl::removeItem):
(WebCore::StorageAreaImpl::clear):

  • storage/StorageAreaImpl.h:

(StorageAreaImpl):

Source/WebKit2:

Remove security checking code that lives in Storage now.

  • WebProcess/Storage/StorageAreaImpl.cpp:

(WebKit::StorageAreaImpl::setItem):
(WebKit::StorageAreaImpl::removeItem):
(WebKit::StorageAreaImpl::clear):

  • WebProcess/Storage/StorageAreaImpl.h:
4:40 PM Changeset in webkit [150345] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix some builds.

  • UIProcess/API/mac/WKTypeRefWrapper.mm:
4:15 PM Changeset in webkit [150344] by Martin Robinson
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r150305): WebKit2 build broken with INDEXED_DATABASE enabled
https://bugs.webkit.org/show_bug.cgi?id=116389

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-18
Reviewed by Martin Robinson.

There's no longer WebKeyValueStorageManager in the web process
after r150305.

  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit::WebPageGroupProxy::WebPageGroupProxy):

3:41 PM Changeset in webkit [150343] by weinig@apple.com
  • 3 edits
    2 adds in trunk/Source/WebKit2

Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
https://bugs.webkit.org/show_bug.cgi?id=116345

Reviewed by Anders Carlsson.

In order to efficiently send a WKImageRef to another process when using the
Objective-C WKConnection (or other user data messages), we need a way to encode
WKTypeRefs in the objective-c object graph. Thus was born WKTypeRefWrapper.

  • Shared/mac/ObjCObjectGraphCoders.mm:

(WebKit::typeFromObject):
(WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):

  • UIProcess/API/mac/WKTypeRefWrapper.h: Added.
  • UIProcess/API/mac/WKTypeRefWrapper.mm: Added.

(-[WKTypeRefWrapper initWithObject:]):
(-[WKTypeRefWrapper object]):

  • WebKit2.xcodeproj/project.pbxproj:
3:11 PM Changeset in webkit [150342] by andersca@apple.com
  • 9 edits in trunk/Source

Simplify StorageArea getter functions
https://bugs.webkit.org/show_bug.cgi?id=116399

Reviewed by Sam Weinig.

Source/WebCore:

Move the security and private browsing checks from StorageArea to Storage so we can share
more code between WebKit1 and WebKit2.

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
Update to new StorageArea interface. The security checks are unnecessary here anyway because
InspectorDOMStorageAgent::findStorageArea will only return a StorageArea that can be accessed
by the frame's security origin.

  • storage/Storage.cpp:

(WebCore::Storage::key):
(WebCore::Storage::getItem):
(WebCore::Storage::contains):

  • storage/StorageArea.h:

(StorageArea):

  • storage/StorageAreaImpl.cpp:

(WebCore::StorageAreaImpl::key):
(WebCore::StorageAreaImpl::item):
(WebCore::StorageAreaImpl::contains):

  • storage/StorageAreaImpl.h:

(StorageAreaImpl):

Source/WebKit2:

Remove security and private browsing checks.

  • WebProcess/Storage/StorageAreaImpl.cpp:

(WebKit::StorageAreaImpl::key):
(WebKit::StorageAreaImpl::item):
(WebKit::StorageAreaImpl::contains):

  • WebProcess/Storage/StorageAreaImpl.h:
12:27 PM Changeset in webkit [150341] by rniwa@webkit.org
  • 2 edits
    1 add in trunk/PerformanceTests

Add a performance test for copying
https://bugs.webkit.org/show_bug.cgi?id=116394

Reviewed by Andreas Kling.

Added. We're going to skip this test by default since it's such a microbenchmark, and also because
it currently takes 30 minutes to run. As insane as it sounds, each copy takes rouhgly 57 seconds.

Running Interactive/CopyAll.html (1 of 1)
RESULT Interactive: CopyAll: Time= 57618.05 ms
median= 57135.0 ms, stdev= 1542.07271571 ms, min= 55095.0 ms, max= 60913.0 ms
RESULT Interactive: CopyAll: JSHeap= 102811.2 bytes
median= 103272.0 bytes, stdev= 1115.28148913 bytes, min= 100648.0 bytes, max= 103504.0 bytes
RESULT Interactive: CopyAll: Malloc= 446408712.0 bytes
median= 459156772.0 bytes, stdev= 20007346.3266 bytes, min= 415564040.0 bytes, max= 462011928.0 bytes
Finished: 1766.883236 s

  • Interactive/CopyAll.html: Added.
  • Skipped:
12:09 PM Changeset in webkit [150340] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Garbage on page background while http://canberraballoons.com.au is loading
https://bugs.webkit.org/show_bug.cgi?id=116384
<rdar://problem/13930328>

Reviewed by Dan Bernstein.

This page loads a large JPEG image as the body background.
ImageSource::frameHasAlphaAtIndex() always claims that JPEG images
are opaque, but this isn't true if the frame is only partially loaded.
However, this would cause FillLayer::hasOpaqueImage() to report that the
background image is opaque, so we'd skip painting the background color.
Unpainted content in an opaque layer results in garbage.

Fix by having ImageSource::frameHasAlphaAtIndex() always return true
for frames that are not complete. When the image load completes, we
recompute metadata and correctly determine that the frame is opaque.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::frameHasAlphaAtIndex):

9:06 AM Changeset in webkit [150339] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

Simplify EventLoop::cycle() on Mac.

https://webkit.org/b/116392

Reviewed by Anders Carlsson.

  • platform/mac/EventLoopMac.mm:

(WebCore::EventLoop::cycle): Use CFRunLoopRunInMode instead.

9:06 AM Changeset in webkit [150338] by fpizlo@apple.com
  • 3 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: getCTIStub should be thread-safe
https://bugs.webkit.org/show_bug.cgi?id=116126

Reviewed by Dan Bernstein.

It's called from the compilation thread. Give it locks.

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiStub):
(JSC::JITThunks::hostFunctionStub):

  • jit/JITThunks.h:

(JITThunks):

8:02 AM Changeset in webkit [150337] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Use CSSParserSelector::appendTagHistory() from CSS grammar.
<http://webkit.org/b/116382>

Reviewed by Antti Koivisto.

CSSParserSelector already knows how to append another component to itself,
no need to duplicate that logic in the grammar.

  • css/CSSGrammar.y.in:
4:36 AM Changeset in webkit [150336] by Patrick Gansterer
  • 36 edits in trunk

[CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
https://bugs.webkit.org/show_bug.cgi?id=114554

Reviewed by Gyuyoung Kim.

Using variables as target names is very uncommon in CMake.
The usual way to specify the name of the resulting binary
is to set the OUTPUT_NAME target property.

.:

  • CMakeLists.txt:
  • Source/CMakeLists.txt:
  • Source/PlatformEfl.cmake:
  • Source/PlatformGTK.cmake:
  • Source/cmake/OptionsBlackBerry.cmake:
  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/WebKitHelpers.cmake:
  • Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

  • CMakeLists.txt:
  • shell/CMakeLists.txt:

Source/WebCore:

  • CMakeLists.txt:

Source/WebKit:

  • CMakeLists.txt:
  • PlatformBlackBerry.cmake:
  • PlatformEfl.cmake:

Source/WebKit/efl:

  • ewebkit.pc.in:

Source/WebKit2:

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • efl/ewebkit2.pc.in:

Source/WTF:

  • wtf/CMakeLists.txt:

Tools:

  • DumpRenderTree/efl/CMakeLists.txt:
  • EWebLauncher/CMakeLists.txt:
  • ImageDiff/CMakeLists.txt:
  • MiniBrowser/efl/CMakeLists.txt:
  • TestWebKitAPI/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
  • WebKitTestRunner/PlatformEfl.cmake:
  • WinCELauncher/CMakeLists.txt:
2:14 AM Changeset in webkit [150335] by Christophe Dumez
  • 6 edits in trunk

Unreviewed EFL build fix.

.:

Temporarily disabled INDEXED_DATABASE at compile-time as it breaks
WK2 build after r150305.

  • Source/cmake/OptionsEfl.cmake:

Tools:

Temporarily disabled INDEXED_DATABASE at compile-time as it breaks
WK2 build after r150305.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Skip indexeddb test cases as the feature is temporarily disabled due to
r150305.

  • platform/efl/TestExpectations:
2:12 AM Changeset in webkit [150334] by Carlos Garcia Campos
  • 13 edits
    1 delete in trunk/Source

[GTK] Move GTK port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116221

Reviewed by Martin Robinson.

Source/WebCore:

Merge clipboard methods into PasteboardGtk that now wraps a
DataObjectGtk.

  • GNUmakefile.list.am: Remove ClipboardGtk.h.
  • dom/Clipboard.h: Remove GTK from the list of ports using legacy

clipboard.

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::createDraggingClipboard): Use
Clipboard::createForDragAndDrop().

  • platform/Pasteboard.h:

(Pasteboard):

  • platform/gtk/ClipboardGtk.cpp:

(WebCore::Editor::newGeneralClipboard): Use
Clipboard::createForCopyAndPaste().
(WebCore::Clipboard::createDragImage):
(WebCore::Clipboard::declareAndWriteDragImage):

  • platform/gtk/ClipboardGtk.h: Removed.
  • platform/gtk/DragDataGtk.cpp:
  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::create): Create a new Pasteboard for a given
GtkClipboard or DataObjectGtk.
(WebCore::Pasteboard::createForCopyAndPaste): Create a Pasteboard
for the GDK_SELECTION_CLIPBOARD clipboard.
(WebCore::Pasteboard::createPrivate): Create a Pasteboard without
a GtkClipboard associated.
(WebCore::Pasteboard::createForDragAndDrop): Create a Pasteboard
for drag and drop operations.
(WebCore::selectionClipboard): Return a static Pasteboard for the
GDK_SELECTION_CLIPBOARD clipboard.
(WebCore::primaryClipboard): Return a static Pasteboard for the
GDK_SELECTION_PRIMARY clipboard.
(WebCore::Pasteboard::generalPasteboard): Return
selectionClipboard() or primaryClipboard() depending on whether
primary selection clipboard is the active one or not.
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::~Pasteboard):
(WebCore::Pasteboard::dataObject): Return the wrapped DataObjectGtk.
(WebCore::dataObjectTypeFromHTMLClipboardType): Copied from
ClipboardGtk.cpp.
(WebCore::Pasteboard::writeString): Adapted to upate the wrapped
DataObjectGtk and the GtkClipboard if needed.
(WebCore::Pasteboard::writeSelection): Ditto.
(WebCore::Pasteboard::writePlainText): Ditto.
(WebCore::Pasteboard::writeURL): Ditto.
(WebCore::Pasteboard::writeImage): Ditto.
(WebCore::Pasteboard::writePasteboard): Copy the wrapped
DataObjectGtk from the DataObjectGtk of the given Pasteboard and
upsate the GtkClipboard if needed.
(WebCore::Pasteboard::clear): Copied from ClipboardGtk.cpp.
(WebCore::Pasteboard::canSmartReplace): Check if current
GtkClipboard supports smart replace.
(WebCore::Pasteboard::setDragImage):
(WebCore::Pasteboard::documentFragment): Adapted to use the
wrapped DataObjectGtk reading from the current GtkClipboard if
present.
(WebCore::Pasteboard::plainText): Ditto.
(WebCore::Pasteboard::hasData): Copied from ClipboardGtk.cpp.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.

Source/WebKit/gtk:

  • WebCoreSupport/DragClientGtk.cpp:

(WebKit::DragClient::startDrag): Get the DataObjectGtk from the
Pasteboard associated to the given Clipboard.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h

include.

  • WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:

(WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the
Pasteboard associated to the given Clipboard.

1:51 AM Changeset in webkit [150333] by rniwa@webkit.org
  • 20 edits in trunk/LayoutTests

Mac rebaseline after r148944.

  • platform/mac/TestExpectations:
  • platform/mac/fast/table/giantRowspan-expected.txt:
  • platform/mac/fast/table/giantRowspan2-expected.png:
  • platform/mac/fast/table/giantRowspan2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug133756-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug133756-2-expected.png:
  • platform/mac/tables/mozilla/bugs/bug133756-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug220536-expected.png:
  • platform/mac/tables/mozilla/bugs/bug220536-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug8858-expected.txt:
  • platform/mac/tables/mozilla/core/bloomberg-expected.png:
  • platform/mac/tables/mozilla/core/bloomberg-expected.txt:
  • platform/mac/tables/mozilla/core/row_span-expected.png:
  • platform/mac/tables/mozilla/core/row_span-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.png:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug65372-expected.png:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:
1:48 AM Changeset in webkit [150332] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Refactor ewk_view_custom_encoding_set/get API
https://bugs.webkit.org/show_bug.cgi?id=116386

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-18
Reviewed by Christophe Dumez.

Refactor the API to handle 'const char*' parameter in right way and
enable the unit test which was disabled in r136230 as there is no assertion now.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::setCustomTextEncodingName):

  • UIProcess/API/efl/EwkView.h:

(EwkView::customTextEncodingName):
(EwkView):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_custom_encoding_set):

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

1:39 AM Changeset in webkit [150331] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION: [Mac] fast/js/post-message-numeric-property.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=116388

Add a flaky test expectation.

  • platform/mac/TestExpectations:
1:34 AM Changeset in webkit [150330] by rniwa@webkit.org
  • 2 edits
    2 adds in trunk/LayoutTests

Mac Lion rebaselines after r149999 and r150260.

  • platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
  • platform/mac-lion/media/track: Added.
  • platform/mac-lion/media/track/track-cue-rendering-vertical-expected.txt: Added.
1:17 AM Changeset in webkit [150329] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[CMake] Unreviewed speculative build fix after r150305 and r150306.

  • CMakeLists.txt:
1:11 AM Changeset in webkit [150328] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit/qt

[Qt] REGRESSION(r150227): It made zillion tests crash under PlatformStrategiesQt::getPluginInfo
https://bugs.webkit.org/show_bug.cgi?id=116289

Patch by Tim Horton <timothy_horton@apple.com> on 2013-05-18
Reviewed by Csaba Osztrogonác.

Don't try to static cast something that isn't a ChromeClientQt to ChromeClientQt.
It's actually SVGImage's EmptyChromeClient-derived client (or other such things).

  • WebCoreSupport/PlatformStrategiesQt.cpp:

(PlatformStrategiesQt::getPluginInfo):

12:33 AM Changeset in webkit [150327] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

[Qt][WK2] Unreviewed build fix after r150305 and r150306.

  • DerivedSources.pri:
  • Target.pri:
12:19 AM Changeset in webkit [150326] by commit-queue@webkit.org
  • 6 edits in trunk

[GTK] Parallel build fails if gtk-doc is enabled
https://bugs.webkit.org/show_bug.cgi?id=116227

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-18
Reviewed by Martin Robinson.

.:

  • GNUmakefile.am:

Define an empty noinst_DATA variable where other automake files
can add additional objects to be built.

Source/WebCore:

  • GNUmakefile.am:

Don't overwrite noinst_DATA, modify its existing value instead.

Tools:

  • GNUmakefile.am:

Don't use the 'all' target to generate the documentation.
The prerequisites of this target must be files that need to be
built _before_ the actual compilation of WebKit starts. Since the
documentation depends on WebKit being built first, this means in
practice that the code will be built in parallel with the
generation of its dependencies, potentially making the build fail.

12:12 AM Changeset in webkit [150325] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for the GTK port after r150305 and r150306.

  • GNUmakefile.list.am:

May 17, 2013:

9:50 PM Changeset in webkit [150324] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Don't run hg.

  • Scripts/webkitpy/w3c/test_importer_unittest.py:

(TestImporterTest):

9:24 PM Changeset in webkit [150323] by fpizlo@apple.com
  • 19 edits
    2 adds in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: Executable and CodeBlock should be aware of DFG::Plans that complete asynchronously
https://bugs.webkit.org/show_bug.cgi?id=116350

Reviewed by Oliver Hunt.

This refactors compilation so that:

  • JITStubs knows exactly what the result of compilation was. For example, if compilation was deferred, it will now know this.


  • The set of things that has to happen to install compiled code is now factored out into JSC::installOptimizedCode().


  • A bunch of the code in Executable.cpp is now made more common to reduce code duplication. For example, the heap heuristics stuff is now in one place.

(JSC::ProgramCodeBlock::compileOptimized):
(JSC::ProgramCodeBlock::replaceWithDeferredOptimizedCode):
(JSC):
(JSC::EvalCodeBlock::compileOptimized):
(JSC::EvalCodeBlock::replaceWithDeferredOptimizedCode):
(JSC::FunctionCodeBlock::compileOptimized):
(JSC::FunctionCodeBlock::replaceWithDeferredOptimizedCode):
(JSC::ProgramCodeBlock::jitCompileImpl):
(JSC::EvalCodeBlock::jitCompileImpl):
(JSC::FunctionCodeBlock::jitCompileImpl):

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::jitCompile):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):

  • dfg/DFGDesiredIdentifiers.cpp:

(JSC::DFG::DesiredIdentifiers::numberOfIdentifiers):
(DFG):
(JSC::DFG::DesiredIdentifiers::at):

  • dfg/DFGDesiredIdentifiers.h:

(JSC):
(DesiredIdentifiers):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):
(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):
(JSC::DFG::tryFinalizePlan):
(DFG):

  • dfg/DFGDriver.h:

(DFG):
(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):
(JSC::DFG::tryFinalizePlan):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):

  • dfg/DFGJITFinalizer.cpp:

(JSC::DFG::JITFinalizer::finalizeCommon):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::reallyAdd):

  • dfg/DFGPlan.h:

(JSC):
(Plan):
(DFG):

  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • jit/JITDriver.h:

(JSC::jitCompileIfAppropriateImpl):
(JSC::jitCompileFunctionIfAppropriateImpl):
(JSC):
(JSC::jitCompileIfAppropriate):
(JSC::jitCompileFunctionIfAppropriate):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):

  • runtime/CompilationResult.cpp: Added.

(WTF):
(WTF::printInternal):

  • runtime/CompilationResult.h: Added.

(JSC):
(WTF):

  • runtime/Executable.cpp:

(JSC::EvalExecutable::compileOptimized):
(JSC::EvalExecutable::jitCompile):
(JSC::EvalExecutable::compileInternal):
(JSC::EvalExecutable::replaceWithDeferredOptimizedCode):
(JSC):
(JSC::ProgramExecutable::compileOptimized):
(JSC::ProgramExecutable::jitCompile):
(JSC::ProgramExecutable::compileInternal):
(JSC::ProgramExecutable::replaceWithDeferredOptimizedCode):
(JSC::FunctionExecutable::compileOptimizedForCall):
(JSC::FunctionExecutable::compileOptimizedForConstruct):
(JSC::FunctionExecutable::jitCompileForCall):
(JSC::FunctionExecutable::jitCompileForConstruct):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::replaceWithDeferredOptimizedCodeForCall):
(JSC::FunctionExecutable::compileForConstructInternal):
(JSC::FunctionExecutable::replaceWithDeferredOptimizedCodeForConstruct):

  • runtime/Executable.h:

(ScriptExecutable):
(EvalExecutable):
(ProgramExecutable):
(FunctionExecutable):
(JSC::FunctionExecutable::compileOptimizedFor):
(JSC::FunctionExecutable::replaceWithDeferredOptimizedCodeFor):
(JSC::FunctionExecutable::jitCompileFor):

  • runtime/ExecutionHarness.h:

(JSC::prepareForExecutionImpl):
(JSC::prepareFunctionForExecutionImpl):
(JSC):
(JSC::installOptimizedCode):
(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):
(JSC::replaceWithDeferredOptimizedCode):

9:23 PM Changeset in webkit [150322] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13819878> Disable SharedWorker when in multiple web process model
https://bugs.webkit.org/show_bug.cgi?id=116359

The condition was accidentally negated, fixing.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::isAvailable):
9:11 PM Changeset in webkit [150321] by Michelangelo De Simone
  • 2 edits in trunk/Source/WebCore

CSSParser parsing of CSSPropertyFontStretch falls into CSSPropertyGeometry
https://bugs.webkit.org/show_bug.cgi?id=116370

CSSPropertyFontStretch mistakenly fell through the shader parsing logic.

Reviewed by Alexandru Chiculita.

No new test possible, the feature is not implemented nor exposed.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

8:12 PM Changeset in webkit [150320] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

Force the script debug server to continue when disabling the debugger.

There might be some cases where the debugger will stay in the nested run loop
which cause weird issues.

Speculative fix for: https://webkit.org/b/111438

Reviewed by Joseph Pecoraro.

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::disable):

7:58 PM Changeset in webkit [150319] by Darin Adler
  • 6 edits
    2 deletes in trunk/Source/WebCore

[BlackBerry] Get BlackBerry port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116287

Reviewed by Rob Buis.

  • PlatformBlackBerry.cmake: Removed ClipboardBlackBerry.cpp.
  • dom/Clipboard.h: Removed BLACKBERRY from the list of platforms that

use the legacy clipboard.

  • editing/blackberry/EditorBlackBerry.cpp:

(WebCore::Editor::newGeneralClipboard): Changed to just create a copy
and paste clipboard.

  • page/blackberry/EventHandlerBlackBerry.cpp: Removed a drag-related

function that wasn't doing any good.

  • platform/blackberry/ClipboardBlackBerry.cpp: Removed.
  • platform/blackberry/ClipboardBlackBerry.h: Removed.
  • platform/blackberry/PasteboardBlackBerry.cpp:

(WebCore::Pasteboard::createForCopyAndPaste): Added.
(WebCore::Pasteboard::createPrivate): Added.
(WebCore::Pasteboard::hasData): Added. Moved code here from ClipboardBlackBerry.cpp.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::writeString): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.

7:56 PM Changeset in webkit [150318] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Ads on theverge.com cause repaints when hovered, even though content doesn't visibly change.
<http://webkit.org/b/116344>

Reviewed by Darin Adler.

Teach RenderStyle::diff() to ignore differences in the outline value if both styles have non-visible outlines.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):

  • rendering/style/StyleBackgroundData.cpp:

(WebCore::StyleBackgroundData::isEquivalentForPainting):

  • rendering/style/StyleBackgroundData.h:

(StyleBackgroundData):

7:40 PM Changeset in webkit [150317] by dpranke@chromium.org
  • 1 edit
    8 adds in trunk/Tools

Create a script to import W3C tests
https://bugs.webkit.org/show_bug.cgi?id=111513

Reviewed by Ryosuke Niwa.

This patch attempts to re-land the 'import-w3c-tests'
script and accompanying modules. The tests and code have
been cleaned up so that we do not log anything to stdout/stderr
while running the tests (thanks to outputcapture) and do not
write into the source tree while running the tests, and much
but not all of the code has been converted over to using the webkitpy

  • Scripts/import-w3c-tests: Added.
  • Scripts/webkitpy/w3c/init.py: Added.
  • Scripts/webkitpy/w3c/test_converter.py: Added.

(W3CTestConverter):
(W3CTestConverter.init):
(W3CTestConverter.path_from_webkit_root):
(W3CTestConverter.read_webkit_prefixed_css_property_list):
(W3CTestConverter.convert_for_webkit):
(W3CTestConverter.convert_css):
(W3CTestConverter.convert_html):
(W3CTestConverter.convert_testharness_paths):
(W3CTestConverter.convert_prefixed_properties):
(W3CTestConverter.add_webkit_prefix_to_unprefixed_properties):
(W3CTestConverter.replace_tag):

  • Scripts/webkitpy/w3c/test_converter_unittest.py: Added.

(W3CTestConverterTest):
(W3CTestConverterTest.fake_dir_path):
(W3CTestConverterTest.test_read_prefixed_property_list):
(W3CTestConverterTest.test_convert_for_webkit_nothing_to_convert):
(test_convert_for_webkit_harness_only):
(test_convert_for_webkit_properties_only):
(test_convert_for_webkit_harness_and_properties):
(test_convert_test_harness_paths):
(test_convert_prefixed_properties):
(verify_conversion_happened):
(verify_no_conversion_happened):
(verify_test_harness_paths):
(verify_prefixed_properties):
(generate_test_content):

  • Scripts/webkitpy/w3c/test_importer.py: Added.

(main):
(parse_args):
(validate_import_directory):
(TestImporter):
(TestImporter.init):
(TestImporter.path_from_webkit_root):
(TestImporter.do_import):
(TestImporter.load_changeset):
(TestImporter.find_importable_tests):
(TestImporter.import_tests):
(TestImporter.setup_destination_directory):
(TestImporter.update_test_status):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):

  • Scripts/webkitpy/w3c/test_importer_unittest.py: Added.

(TestImporterTest):
(TestImporterTest.test_import_dir_with_no_tests):

  • Scripts/webkitpy/w3c/test_parser.py: Added.

(TestParser):
(TestParser.init):
(TestParser.load_file):
(TestParser.analyze_test):
(TestParser.reference_links_of_type):
(TestParser.is_jstest):
(TestParser.support_files):

  • Scripts/webkitpy/w3c/test_parser_unittest.py: Added.

(TestParserTest):
(TestParserTest.test_analyze_test_reftest_one_match):
(test_analyze_test_reftest_multiple_matches):
(test_analyze_test_reftest_match_and_mismatch):
(test_analyze_test_reftest_with_ref_support_Files):
(test_analyze_jstest):
(test_analyze_pixel_test_all_true):
(test_analyze_pixel_test_all_false):
(test_analyze_non_html_file):

7:28 PM Changeset in webkit [150316] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Plug leak in CSSSelectorList::deleteSelectors().
<http://webkit.org/b/116371>
<rdar://problem/13930698>

Reviewed by Ryosuke Niwa.

Don't forget to destroy the very last selector in the list.

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::deleteSelectors):

7:21 PM Changeset in webkit [150315] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

One more Mac rebaseline.

  • platform/mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
  • platform/mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:
6:13 PM Changeset in webkit [150314] by barraclough@apple.com
  • 12 edits in trunk/Source/WebKit2

Only allow 1 WebProcess to hold a PageCache
https://bugs.webkit.org/show_bug.cgi?id=116368
<rdar://problem/13392600>

Reviewed by Geoff Garen & Anders Carlson.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::processDidSaveToPageCache):
(WebKit):
(WebKit::WebContext::disconnectProcess):

  • UIProcess/WebContext.h:
    • Added m_processWithPageCache, only allow one process to keep a PageCache.

(WebContext):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didSaveToPageCache):
(WebKit):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
    • Forward didSaveToPageCache to the WebProcessProxy.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::didSaveToPageCache):
(WebKit):
(WebKit::WebProcessProxy::releasePageCache):

  • Forward releasePageCache to the WebProcess.
  • Forward didSaveToPageCache to the WebContext.
  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::didSaveToPageCache):

  • Forward didSaveToPageCache to the WebPageProxy.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::releasePageCache):
(WebKit):

  • WebProcess/WebProcess.h:

(WebProcess):

  • WebProcess/WebProcess.messages.in:
    • Added 'ReleasePageCache' to instruct a web process to drop any cached pages.
6:04 PM Changeset in webkit [150313] by andersca@apple.com
  • 13 edits in trunk/Source

Share code between WebKit1 and WebKit2 StorageArea subclasses
https://bugs.webkit.org/show_bug.cgi?id=116367

Reviewed by Andreas Kling.

Source/WebCore:

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
Remove ec parameter.

  • inspector/InspectorDOMStorageAgent.h:

Add forward declaration.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):
Storage::StorageArea returns a reference now.

  • storage/Storage.cpp:

(WebCore::Storage::length):
Check that the storage area can be accessed by the frame, and that it's not disabled by private browsing.
Then call down to the (now simplified) StorageArea::length().

(WebCore::Storage::isDisabledByPrivateBrowsing):
New helper function that's based on StorageAreaImpl::disabledByPrivateBrowsingInFrame, but reordered
to make it easier to follow.

  • storage/Storage.h:

(WebCore::Storage::area):
Return a reference.

  • storage/StorageAreaImpl.cpp:

(WebCore::StorageAreaImpl::storageType):
Add this new virtual member funciton that's needed by Storage::isDisabledByPrivateBrowsing.

(WebCore::StorageAreaImpl::length):
Remove unneeded code.

Source/WebKit2:

  • WebProcess/Storage/StorageAreaImpl.cpp:

(WebKit::StorageAreaImpl::length):
Remove code that's now in Storage::length.

(WebKit::StorageAreaImpl::storageType):
Make this a virtual member function.

  • WebProcess/Storage/StorageAreaImpl.h:
5:51 PM Changeset in webkit [150312] by commit-queue@webkit.org
  • 101 edits in trunk/Source/WebCore

Unreviewed, rolling out r150294.
http://trac.webkit.org/changeset/150294
https://bugs.webkit.org/show_bug.cgi?id=116369

Caused 31 tests to fail (Requested by rniwa on #webkit).

  • WebCore.exp.in:
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.h:

(InlineTextBox):

  • rendering/RenderApplet.h:
  • rendering/RenderBR.h:
  • rendering/RenderBlock.h:

(RenderBlock):
(WebCore::RenderBlock::virtualContinuation):

  • rendering/RenderBox.h:

(WebCore::RenderBox::borderBoundingBox):
(RenderBox):
(WebCore::RenderBox::marginLogicalLeft):
(WebCore::RenderBox::marginLogicalRight):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::isBoxModelObject):

  • rendering/RenderButton.h:
  • rendering/RenderCombineText.h:
  • rendering/RenderCounter.h:
  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderDetailsMarker.h:
  • rendering/RenderEmbeddedObject.h:

(RenderEmbeddedObject):
(WebCore::RenderEmbeddedObject::isEmbeddedObject):
(WebCore::RenderEmbeddedObject::virtualChildren):

  • rendering/RenderFieldset.h:
  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFlowThread.h:
  • rendering/RenderFrame.h:
  • rendering/RenderFrameSet.h:
  • rendering/RenderFullScreen.cpp:
  • rendering/RenderFullScreen.h:
  • rendering/RenderGrid.h:
  • rendering/RenderHTMLCanvas.h:
  • rendering/RenderIFrame.h:
  • rendering/RenderImage.h:

(RenderImage):
(WebCore::RenderImage::isRenderImage):

  • rendering/RenderInline.h:

(RenderInline):
(WebCore::RenderInline::virtualContinuation):
(WebCore::RenderInline::virtualChildren):
(WebCore::RenderInline::isRenderInline):
(WebCore::RenderInline::layout):
(WebCore::RenderInline::requiresLayer):
(WebCore::RenderInline::offsetWidth):
(WebCore::RenderInline::offsetHeight):
(WebCore::RenderInline::borderBoundingBox):
(WebCore::RenderInline::dirtyLinesFromChangedChild):

  • rendering/RenderLayerModelObject.h:
  • rendering/RenderListBox.h:
  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.h:
  • rendering/RenderMedia.h:

(WebCore::RenderMedia::virtualChildren):
(WebCore::RenderMedia::canHaveChildren):
(WebCore::RenderMedia::isMedia):
(WebCore::RenderMedia::isImage):
(WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):

  • rendering/RenderMediaControlElements.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnBlock.h:
  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderPart.h:

(RenderPart):
(WebCore::RenderPart::isRenderPart):
(WebCore::RenderPart::renderName):

  • rendering/RenderProgress.h:
  • rendering/RenderRegion.h:

(WebCore::RenderRegion::isRenderRegion):

  • rendering/RenderRegionSet.h:
  • rendering/RenderReplaced.h:

(RenderReplaced):
(WebCore::RenderReplaced::renderName):

  • rendering/RenderReplica.h:
  • rendering/RenderRuby.h:
  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.h:
  • rendering/RenderRubyText.h:
  • rendering/RenderScrollbarPart.h:
  • rendering/RenderSearchField.h:
  • rendering/RenderSlider.h:
  • rendering/RenderSnapshottedPlugIn.h:

(RenderSnapshottedPlugIn):

  • rendering/RenderTable.h:

(RenderTable):
(WebCore::RenderTable::renderName):
(WebCore::RenderTable::isTable):
(WebCore::RenderTable::avoidsFloats):

  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCell.h:
  • rendering/RenderTableCol.h:
  • rendering/RenderTableRow.h:
  • rendering/RenderTableSection.h:
  • rendering/RenderText.h:

(RenderText):
(WebCore::RenderText::marginLeft):
(WebCore::RenderText::marginRight):
(WebCore::RenderText::styleWillChange):
(WebCore::RenderText::length):
(WebCore::RenderText::paint):
(WebCore::RenderText::layout):

  • rendering/RenderTextControl.h:

(RenderTextControl):
(WebCore::RenderTextControl::renderName):
(WebCore::RenderTextControl::isTextControl):
(WebCore::RenderTextControl::avoidsFloats):

  • rendering/RenderTextControlMultiLine.h:
  • rendering/RenderTextControlSingleLine.h:

(RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::isTextField):

  • rendering/RenderTextFragment.h:
  • rendering/RenderTextTrackCue.h:
  • rendering/RenderVideo.h:
  • rendering/RenderView.h:
  • rendering/RenderWidget.h:

(RenderWidget):
(WebCore::RenderWidget::isWidget):

  • rendering/RenderWordBreak.h:
  • rendering/RootInlineBox.h:

(RootInlineBox):

  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/svg/RenderSVGBlock.h:

(RenderSVGBlock):

  • rendering/svg/RenderSVGContainer.h:

(WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
(WebCore::RenderSVGContainer::virtualChildren):
(WebCore::RenderSVGContainer::isSVGContainer):
(WebCore::RenderSVGContainer::renderName):
(RenderSVGContainer):
(WebCore::RenderSVGContainer::objectBoundingBox):
(WebCore::RenderSVGContainer::strokeBoundingBox):
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):

  • rendering/svg/RenderSVGEllipse.h:
  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGGradientStop.h:
  • rendering/svg/RenderSVGHiddenContainer.h:

(WebCore::RenderSVGHiddenContainer::renderName):
(RenderSVGHiddenContainer):
(WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):

  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGInline.h:

(WebCore::RenderSVGInline::renderName):
(WebCore::RenderSVGInline::requiresLayer):
(WebCore::RenderSVGInline::isSVGInline):
(RenderSVGInline):

  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGModelObject.h:

(WebCore::RenderSVGModelObject::requiresLayer):
(RenderSVGModelObject):

  • rendering/svg/RenderSVGPath.h:
  • rendering/svg/RenderSVGRect.h:
  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceContainer.h:

(RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):

  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceFilterPrimitive.h:
  • rendering/svg/RenderSVGResourceGradient.h:

(RenderSVGResourceGradient):
(WebCore::RenderSVGResourceGradient::resourceBoundingBox):

  • rendering/svg/RenderSVGResourceLinearGradient.h:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceRadialGradient.h:
  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGShape.h:

(WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
(WebCore::RenderSVGShape::setNeedsTransformUpdate):
(WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
(WebCore::RenderSVGShape::localToParentTransform):
(WebCore::RenderSVGShape::localTransform):
(WebCore::RenderSVGShape::isSVGShape):
(RenderSVGShape):
(WebCore::RenderSVGShape::objectBoundingBox):
(WebCore::RenderSVGShape::strokeBoundingBox):

  • rendering/svg/RenderSVGTSpan.h:
  • rendering/svg/RenderSVGText.h:
  • rendering/svg/RenderSVGTextPath.h:
  • rendering/svg/RenderSVGTransformableContainer.h:
  • rendering/svg/RenderSVGViewportContainer.h:
5:16 PM Changeset in webkit [150311] by Christophe Dumez
  • 4 edits in trunk/Source/WebCore

Get rid of Custom code for Audio global constructor
https://bugs.webkit.org/show_bug.cgi?id=116343

Reviewed by Geoffrey Garen.

Remove custom code for Audio global constructor. It is no longer needed
now that the the bindings generator no longer require custom code for
named constructors and now that [EnabledAtRuntime] extended attribute is
supported for global constructors.

HTMLAudioElement global constructors are now automatically generated.

No new tests, no behavior change for layout tests.

  • bindings/js/JSDOMWindowCustom.cpp:
  • html/HTMLAudioElement.idl:
  • page/DOMWindow.idl:
5:05 PM Changeset in webkit [150310] by ap@apple.com
  • 8 edits in trunk/Source

<rdar://problem/13819878> Disable SharedWorker when in multiple web process model
https://bugs.webkit.org/show_bug.cgi?id=116359

Reviewed by Anders Carlsson.

This feature was already RuntimeEnabled. Call through layers to get the answer from
a platform strategy.

  • workers/DefaultSharedWorkerRepository.cpp: (WebCore::DefaultSharedWorkerRepository::isAvailable):
  • workers/DefaultSharedWorkerRepository.h:
  • workers/SharedWorkerRepository.cpp: (WebCore::SharedWorkerRepository::isAvailable):
  • workers/SharedWorkerStrategy.h: (WebCore::SharedWorkerStrategy::isAvailable):
4:45 PM Changeset in webkit [150309] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Move Storage member functions out of line
https://bugs.webkit.org/show_bug.cgi?id=116364

Reviewed by Andreas Kling.

This is preparation for sharing more code between the WebKit1 and WebKit2 storage area subclasses.
Also remove unnecessary null checks and make m_storageArea const.

  • storage/Storage.cpp:

(WebCore::Storage::length):
(WebCore::Storage::key):
(WebCore::Storage::getItem):
(WebCore::Storage::setItem):
(WebCore::Storage::removeItem):
(WebCore::Storage::clear):
(WebCore::Storage::contains):

  • storage/Storage.h:

(WebCore::Storage::area):

4:35 PM Changeset in webkit [150308] by akling@apple.com
  • 2 edits in trunk/Source/WTF

Re-align the OS(AIX) macro...
...in the hopes that the resulting world rebuild will fix failures after r150294.

  • wtf/Platform.h:
4:13 PM Changeset in webkit [150307] by Beth Dakin
  • 14 edits in trunk/Source

Headers and footers will sometimes disappear and re-appear during page loads
https://bugs.webkit.org/show_bug.cgi?id=116336
-and corresponding-
<rdar://problem/13886753>

Reviewed by Simon Fraser.

This patch changes the WebCore-level API that WebKit uses to create a banner.
Specifically this patch removes FrameView::setWantsLayerForHeader(), which created
and returned a layer. Instead, WK2 will call Page::addHeaderWithHeight(). When the
layer has been created, it will call back into WK2 via ChromeClient. This will
allow WebCore to re-create the header/footer layers as needed whenever the
FrameView/RenderLayerCompositor have been destroyed and recreated.

Source/WebCore:

Remove references to old FrameView functions. Add references to new Page
functions.

  • WebCore.exp.in:

New ChromeClient functions will pass the new layers up to WK2.

  • page/ChromeClient.h:

(WebCore::ChromeClient::didAddHeaderLayer):
(WebCore::ChromeClient::didAddFooterLayer):
(ChromeClient):

Remove setWantsLayerForHeader/Footer.

  • page/FrameView.cpp:
  • page/FrameView.h:

(FrameView):

Page now caches the header and footer height. When the FrameView/RLC have been
destroyed, and the cached layer/height information on those classes has been lost,
this data on Page will persist so that we can build the layers back up.

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::addHeaderWithHeight):
(WebCore::Page::addFooterWithHeight):

  • page/Page.h:

(WebCore::Page::headerHeight):
(WebCore::Page::footerHeight):

As soon as the root gets a backing, recreate the header and footer layers if
needed.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):

Call into ChromeClient.
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):

Source/WebKit2:

Send the layers over to PageBanner.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::didAddHeaderLayer):
(WebKit::WebChromeClient::didAddFooterLayer):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

PageBanner::addToPage() now does much less work since it can’t get the parent
layer right away. The work that is used to do once it had the parent layer is now
performed in didAddParentLayer()

  • WebProcess/WebPage/PageBanner.cpp:

(WebKit::PageBanner::didAddParentLayer):

  • WebProcess/WebPage/PageBanner.h:
  • WebProcess/WebPage/mac/PageBannerMac.mm:

(WebKit::PageBanner::addToPage):
(WebKit::PageBanner::didAddParentLayer):

4:13 PM Changeset in webkit [150306] by andersca@apple.com
  • 6 edits
    2 moves in trunk/Source/WebKit2

Rename WebKeyValueStorageManagerProxy to WebKeyValueStorageManager
https://bugs.webkit.org/show_bug.cgi?id=116361

Reviewed by Andreas Kling.

There's nothing proxy about this class anymore!

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/API/C/WKKeyValueStorageManager.cpp:
  • UIProcess/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp.
  • UIProcess/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h.
  • WebKit2.xcodeproj/project.pbxproj:
4:06 PM Changeset in webkit [150305] by andersca@apple.com
  • 7 edits
    4 deletes in trunk/Source/WebKit2

Remove dead local storage code
https://bugs.webkit.org/show_bug.cgi?id=116360

Reviewed by Beth Dakin.

Storage is all handled in the UI process now so we no longer need a WebKeyValueStorageManager in the web process.

  • DerivedSources.make:
  • UIProcess/WebKeyValueStorageManagerProxy.cpp:

(WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
(WebKit):
(WebKit::didGetKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):

  • UIProcess/WebKeyValueStorageManagerProxy.h:

(WebKeyValueStorageManagerProxy):

  • UIProcess/WebKeyValueStorageManagerProxy.messages.in: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Storage/WebKeyValueStorageManager.cpp: Removed.
  • WebProcess/Storage/WebKeyValueStorageManager.h: Removed.
  • WebProcess/Storage/WebKeyValueStorageManager.messages.in: Removed.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

3:59 PM Changeset in webkit [150304] by andersca@apple.com
  • 11 edits in trunk/Source/WebKit2

Use the UI process storage manager for deleting local storage data
https://bugs.webkit.org/show_bug.cgi?id=116358
<rdar://problem/13852829>

Reviewed by Andreas Kling.

  • Shared/WebSecurityOrigin.h:

(WebKit::WebSecurityOrigin::protocol):
(WebKit::WebSecurityOrigin::host):
(WebKit::WebSecurityOrigin::databaseIdentifier):
(WebKit::WebSecurityOrigin::toString):
Remove unneeded consts.

(WebKit::WebSecurityOrigin::securityOrigin):
Add getter.

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::close):
deleteEmptyDatabaseWithOrigin has been renamed to deleteDatabaseWithOrigin.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin):
Rename since this is no longer used only for empty databases.

(WebKit::LocalStorageDatabaseTracker::deleteAllDatabases):
Loop over the tracker database and delete all database files.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::clear):
Clear the map, close the database and tell all event listeners to reset their caches.

(WebKit::StorageManager::LocalStorageNamespace::clearStorageAreasMatchingOrigin):
Loop over all storage areas and call clear on those matching the security origin.

(WebKit::StorageManager::LocalStorageNamespace::clearAllStorageAreas):
Loop over all storage areas and call clear on them.

(WebKit::StorageManager::deleteEntriesForOrigin):
Dispatch deleteEntriesForOriginInternal on the work queue.

(WebKit::StorageManager::deleteAllEntries):
Dispatch deleteAllEntriesInternal on the work queue.

(WebKit::StorageManager::deleteEntriesForOriginInternal):
Call clearStorageAreasMatchingOrigin on all local storage namespaces and then delete the database.

(WebKit::StorageManager::deleteAllEntriesInternal):
Call clearAllStorageAreas on all local storage namespaces and then delete all databases.

  • UIProcess/WebKeyValueStorageManagerProxy.cpp:

(WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
Call out to the storage manager.

(WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
Ditto.

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::clearCache):
Call resetValues which will null out the storage map.

  • WebProcess/Storage/StorageAreaMap.messages.in:

Add ClearCache message.

3:06 PM Changeset in webkit [150303] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Leaks builders exit early frequently
https://bugs.webkit.org/show_bug.cgi?id=116355

Reviewed by Stephanie Lewis.

Throttle the number of processes to use, and also bump up the number of crashes/timeouts
we tolerate from 20 to 50.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunWebKitTests.start):

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_child_processes):

3:02 PM WebKitIDL edited by Christophe Dumez
Add link to RuntimeEnabledFeatures header. (diff)
2:54 PM WebKitIDL edited by Christophe Dumez
Add documentation for [EnabledAtRuntime] introduced in r150276 (diff)
2:53 PM Changeset in webkit [150302] by Claudio Saavedra
  • 2 edits in trunk/Source/WebCore

[CSS] Minor cleanups in CSS variables handling
https://bugs.webkit.org/show_bug.cgi?id=116318

Reviewed by Ryosuke Niwa.

No new tests, only a cleanup.

  • css/CSSParser.cpp:

(WebCore::CSSParserString::substring): Optimize.
(WebCore::CSSParser::createPrimitiveVariableNameValue):
Remove intermediate variable.

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

Only import local storage items from the database once
https://bugs.webkit.org/show_bug.cgi?id=116354

Reviewed by Andreas Kling.

We import items from the database over and over, when we only want to do it once. Use a
boolean flag to guard against doing it more than once.

Also, rename importItemsFromDatabase to openDatabaseAndImportItemsIfNeeded since it now
also opens the database (even if it doesn't need to import anything). This is preparation for an
upcoming patch where the database will be closed when it's cleared.

  • UIProcess/Storage/StorageManager.cpp:

(StorageManager::StorageArea):
(WebKit::StorageManager::StorageArea::StorageArea):
(WebKit::StorageManager::StorageArea::setItem):
(WebKit::StorageManager::StorageArea::removeItem):
(WebKit::StorageManager::StorageArea::clear):
(WebKit::StorageManager::StorageArea::items):
(WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded):

2:41 PM WebKitIDL edited by Christophe Dumez
Remove [ConstructorParameters] due to r150292 (diff)
2:41 PM Changeset in webkit [150300] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Add DOMWindowConstructors.idl to Xcode project file
https://bugs.webkit.org/show_bug.cgi?id=116351

Reviewed by Anders Carlsson.

  • WebCore.xcodeproj/project.pbxproj: Added the file, so that Xcode includes it in searches.
2:26 PM Changeset in webkit [150299] by Lucas Forschler
  • 4 edits in tags/Safari-537.42.1/Source

Versioning.

2:23 PM Changeset in webkit [150298] by Lucas Forschler
  • 1 copy in tags/Safari-537.42.1

New Tag.

2:17 PM Changeset in webkit [150297] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove the declaration of Element::detachAttrNodeAtIndex erroneously added in r150072.

  • dom/Element.h:

(Element):

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

<rdar://problem/13869765> Lion: Crashes in islcCanLoadInputMethodFromBundleID.

Reviewed by Anders Carlsson.

  • WebProcess/com.apple.WebProcess.sb.in: Allow text input directories.
1:41 PM Changeset in webkit [150295] by andersca@apple.com
  • 10 edits in trunk/Source

WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
https://bugs.webkit.org/show_bug.cgi?id=116346
<rdar://problem/13852829>

Reviewed by Andreas Kling.

Source/WebCore:

Export the UTF8Encoding symbol.

  • WebCore.exp.in:

Source/WebKit2:

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::origins):
New helper function to return all the tracked origins.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageManager):
Initialize the UTF-8 encoding.

(WebKit::StorageManager::getOrigins):
Call getOriginsInternal on our queue.

(WebKit::callCallbackFunction):
Helper function for calling the callback function.

(WebKit::StorageManager::getOriginsInternal):
Get the origins and make sure we call the callback with the given function dispatcher.

  • UIProcess/WebKeyValueStorageManagerProxy.cpp:

(WebKit::didGetKeyValueStorageOriginsCallback):
Construct the array of WebSecurityOrigin objects and call the callback.

(WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
Call StorageManager::getOrigins.

Source/WTF:

Add forward declaration for Function.

  • wtf/Forward.h:
1:32 PM Changeset in webkit [150294] by akling@apple.com
  • 101 edits in trunk/Source/WebCore

Apply FINAL to the RenderObject hierarchy.
<http://webkit.org/b/115977>

Mostly from Blink r148795 by <cevans@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=148795>

Re-landing without devirtualization tweaks.

  • rendering/: Beat things with the FINAL stick.
  • WebCore.exp.in: Export a now-needed symbol.
1:17 PM Changeset in webkit [150293] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::willTransitionToCommitted): Frame:editor() now returns a reference.
1:05 PM Changeset in webkit [150292] by Christophe Dumez
  • 17 edits in trunk/Source/WebCore

Get rid of [ConstructorParameters] extended attributes
https://bugs.webkit.org/show_bug.cgi?id=116308

Reviewed by Kentaro Hara.

Get rid of WebKit-specific [ConstructorParameters] IDL extended attribute. Instead,
[CustomConstructor] arguments are now explicitly specified, similarly to [Constructor]
arguments and the constructor object's "length" property is now automatically
computed for custom constructors as well.

This is less error-prone as the value is not hardcoded, more consistent with
[Constructor] extended attribute and gives more information about the custom constructor
in the IDL file. We also get rid of a WebKit-specific IDL attribute which is always
nice.

No new tests, already covered by fast/js/constructor-length.html.

  • Modules/mediastream/MediaStream.idl:
  • Modules/webaudio/AudioContext.idl:
  • Modules/websockets/WebSocket.idl:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorHelperMethods):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/IDLParser.pm:

(applyTypedefs):
(parseAttributeRest):
(copyExtendedAttributes):
(parseExtendedAttributeRest):
(applyExtendedAttributeList):

  • bindings/scripts/test/JS/JSFloat64Array.cpp:

(WebCore::JSFloat64ArrayConstructor::finishCreation):

  • bindings/scripts/test/TestTypedArray.idl:
  • dom/MutationObserver.idl:
  • fileapi/Blob.idl:
  • html/DOMFormData.idl:
  • html/canvas/ArrayBuffer.idl:
  • html/canvas/DataView.idl:
  • page/WebKitPoint.idl:
  • workers/SharedWorker.idl:
  • workers/Worker.idl:
1:04 PM Changeset in webkit [150291] by ap@apple.com
  • 13 edits
    5 adds in trunk

Text input is largely broken when there are subframes loading
http://bugs.webkit.org/show_bug.cgi?id=59121
<rdar://problem/9320468>

Reviewed by Darin Adler.

  • UIProcess/PageClient.h:
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::updateSecureInputState): Separated secure input state updating into a separate function. Removed updateTextInputState, we don't need to go through PageClient to implement its behavior at all. (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added a FIXME.
  • UIProcess/API/mac/WKView.mm:
  • UIProcess/API/mac/WKViewInternal.h: Removed _updateTextInputStateIncludingSecureInputState.
  • UIProcess/WebPageProxy.h: Added m_temporarilyClosedComposition, which helps to figure out that WebCore decided to close a composition. The issue is that WebCore would first send an EditorState with hasComposition set to false, and with shouldIgnoreCompositionSelectionChange set to true, at which time we forget the previous m_editorState, but can't make any decisions based on this transient state. We should find a way to simplify this (maybe not send these updates with shouldIgnoreCompositionSelectionChange at all?)
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::WebPageProxy): Initialize m_temporarilyClosedComposition. (WebKit::WebPageProxy::didCommitLoadForFrame): Removed the code to kill a composition when any frame commits a load, which made no sense (along with surrounding code, which will unfortunately survive longer). (WebKit::WebPageProxy::editorStateChanged): Implemented state updating here, we don't need to go to WKView.mm to implement this logic. Figure out when WebCore discards a composition, and notify input methods about this. (WebKit::WebPageProxy::resetStateAfterProcessExited): Reset m_temporarilyClosedComposition. Added some FIXMEs.
12:54 PM Changeset in webkit [150290] by rniwa@webkit.org
  • 15 edits in trunk/LayoutTests

Mac rebaselines; also remove some entries.

Seriously, I've had it enough. Why are people adding these entires never to rebaseline them later?

  • platform/mac/TestExpectations:
  • platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.txt:
  • platform/mac/fast/dom/HTMLImageElement/image-alt-text-expected.png:
  • platform/mac/fast/dom/HTMLImageElement/image-alt-text-expected.txt:
  • platform/mac/fast/encoding/utf-16-big-endian-expected.png:
  • platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/mac/fast/encoding/utf-16-little-endian-expected.png:
  • platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/mac/fast/forms/input-value-expected.png:
  • platform/mac/fast/forms/input-value-expected.txt:
  • platform/mac/fast/lists/inlineBoxWrapperNullCheck-expected.png:
  • platform/mac/fast/lists/inlineBoxWrapperNullCheck-expected.txt:
  • platform/mac/tables/mozilla/collapsing_borders/bug41262-3-expected.png:
  • platform/mac/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
12:50 PM Changeset in webkit [150289] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

[WK2] Add support for selectTrailingWhitespaceEnabled setting
https://bugs.webkit.org/show_bug.cgi?id=112426

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-05-17
Reviewed by Ryosuke Niwa.

  • Shared/WebPreferencesStore.h:

(WebKit): Add macro for selectTrailingWhitespaceEnabled.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetSelectTrailingWhitespaceEnabled):
(WKPreferencesGetSelectTrailingWhitespaceEnabled): Implement methods
using the new setting.

  • UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::isSelectTrailingWhitespaceEnabled): Implement
method delegating in WebPage.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Set
selectTrailingWhitespaceEnabled setting.
(WebKit::WebPage::setSmartInsertDeleteEnabled): Set
selectTrailingWhitespaceEnabled as they are mutually exclusive.
(WebKit):
(WebKit::WebPage::isSelectTrailingWhitespaceEnabled): Implement method
using settings.
(WebKit::WebPage::setSelectTrailingWhitespaceEnabled): Implement method
using settings and set smartInsertDeleteEnabled as they are mutually
exclusive.

  • WebProcess/WebPage/WebPage.h:

(WebPage): Add new methods headers.

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

Fix crash introduced by http://trac.webkit.org/changeset/150282
Followup to https://bugs.webkit.org/show_bug.cgi?id=116253

Reviewed by Andreas Kling.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::focusedFrameChanged): Frame might be null.

12:47 PM Changeset in webkit [150287] by commit-queue@webkit.org
  • 3 edits
    4 deletes in trunk/Tools

Remove chrome-channels command from the webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=116303

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-05-17
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/common/config/urls.py: Removed omahaproxy url.
  • Scripts/webkitpy/common/net/omahaproxy.py: Removed.
  • Scripts/webkitpy/common/net/omahaproxy_unittest.py: Removed.
  • Scripts/webkitpy/tool/commands/init.py: Removed chromechannels import.
  • Scripts/webkitpy/tool/commands/chromechannels.py: Removed.
  • Scripts/webkitpy/tool/commands/chromechannels_unittest.py: Removed.
12:33 PM Changeset in webkit [150286] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

filter-build-webkit: Don't filter out the location of the missing symbol when linking fails
Part 3 of 3: <http://webkit.org/b/116247>

Reviewed by Benjamin Poulain.

  • Scripts/filter-build-webkit: Change while() loop to for() loop

to track $previousLine, then pass $previousLine into
shouldIgnoreLine().
(shouldIgnoreLine): Add $previousLine argument. Do not skip a
line that begins with four spaces if the previous line is a
linker error message.

  • Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl:
  • Add "Ignored: " to test descriptions to document expected behavior.
  • Add comment blocks for various groups of tests.
  • Expand "Build settings" tests since we're changing the code in shouldIgnoreLine() that ignores those lines.
  • Add tests for undefined symbols error message.

(description): Add. Extract from global code.

12:33 PM Changeset in webkit [150285] by ddkilzer@apple.com
  • 2 edits
    2 adds in trunk/Tools

Add tests for shouldIgnoreLine() in filter-build-webkit
Part 2 of 3: <http://webkit.org/b/116247>

Reviewed by Benjamin Poulain.

  • Scripts/filter-build-webkit:

(shouldIgnoreLine): Add. Extract code from global scope into
subroutine to make it testable.

  • Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl: Add.

Tests shouldIgnoreLine() using output from a real build
transcript.

12:24 PM Changeset in webkit [150284] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Rename "WebKit Queues" to explicitly call out for EWS and CQ on build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=116341

Reviewed by Brady Eidson.

  • BuildSlaveSupport/build.webkit.org-config/templates/root.html:
12:17 PM Changeset in webkit [150283] by Christophe Dumez
  • 8 edits in trunk/Source/WebCore

Get rid of [CustomGetter] for global named constructors
https://bugs.webkit.org/show_bug.cgi?id=116116

Reviewed by Geoffrey Garen.

Improve the JSC bindings generator so that global named constructors no longer
require a [CustomGetter] IDL extended attribute. As a consequence, attributes
on the global window object can now be automatically generated for interfaces
that have a [NamedConstructor], namely HTMLOptionElement.

The HTMLAudioElement global constructors are still manually defined because it
requires custom code at the moment to check if the media player is available.

No new tests, no behavior change.

  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/preprocess-idls.pl:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • html/HTMLOptionElement.idl:
  • page/DOMWindow.idl:
12:15 PM Changeset in webkit [150282] by beidson@apple.com
  • 14 edits in trunk/Source/WebKit2

Replace WebFrameLoaderClient static_casts with a function that might return null.
https://bugs.webkit.org/show_bug.cgi?id=116253

The general approach here is:
1 - Introduce a toWebFrameLoaderClient() function to convert FrameLoaderClients, and that may return null.
2 - Adopt toWebFrameLoaderClient() everywhere we used to do a direct static_cast<WebFrameLoaderClient*>
3 - In functions that already support a "return 0" scenario, a failed cast results in a return 0.
4 - In other functions that assume no failure to get the WebFrameLoaderClient, add an ASSERT.

Reviewed by Alexey Proskuryakov.

Add the utility function to cast:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

(WebKit::toWebFrameLoaderClient):

Adopt it everywhere:

  • WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:

(WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::documentFrame):
(WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:

(WebKit::InjectedBundleDOMWindowExtension::frame):

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::frame):
(WebKit::InjectedBundleHitTestResult::targetFrame):

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::webPage):
(WebKit::PluginView::performFrameLoadURLRequest):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::focusedNodeChanged):
(WebKit::WebChromeClient::focusedFrameChanged):
(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
(WebKit::WebChromeClient::print):
(WebKit::WebChromeClient::exceededDatabaseQuota):
(WebKit::WebChromeClient::runOpenPanel):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::contentsAsString):
(WebKit::WebFrame::parentFrame):
(WebKit::WebFrame::childFrames):
(WebKit::WebFrame::frameForContext):
(WebKit::WebFrameFilter::shouldIncludeSubframe):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mainFrameHasCustomRepresentation):

12:06 PM Changeset in webkit [150281] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] Don't use pdevenv when building with VS2010.
https://bugs.webkit.org/show_bug.cgi?id=116338.

Reviewed by Adam Roben.

  • Scripts/webkitdirs.pm:

(setupCygwinEnv): Check if we are using VS2005, and only use
the 'pdevenv' hack if we are. Otherwise, just build with
our standard project since it uses VS2010+'s native
parallel building features.

11:49 AM Changeset in webkit [150280] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Web Inspector: SyntaxError evaluating "1+1; @ sourceURL=test" in console
https://bugs.webkit.org/show_bug.cgi?id=116292

Source/WebCore:

Add a newline after the expression so a single line comment doesn't
erroneously comment out the closing brace of the with block.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-05-17
Reviewed by Timothy Hatcher.

Test: inspector/console/console-eval-comment.html

  • inspector/InjectedScriptSource.js:

LayoutTests:

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-05-17
Reviewed by Timothy Hatcher.

  • inspector/console/console-eval-comment-expected.txt: Added.
  • inspector/console/console-eval-comment.html: Added.
11:42 AM Changeset in webkit [150279] by hyatt@apple.com
  • 1 edit in trunk/LayoutTests/platform/mac/TestExpectations
11:41 AM Changeset in webkit [150278] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

fast/flexbox/auto-height-with-flex.html failing only on release builds.
https://bugs.webkit.org/show_bug.cgi?id=116240

Reviewed by Darin Adler.

Fix the mainAxisContentExtent method so no overflow occurs, since it
doesn't work right on release builds.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::mainAxisContentExtent):

11:28 AM Changeset in webkit [150277] by weinig@apple.com
  • 6 edits
    3 adds in trunk/Source/WebKit2

Expose new load-with-userData API to Objective-C
https://bugs.webkit.org/show_bug.cgi?id=116335

Reviewed by Anders Carlsson.

  • Adds loadRequest:userData:, loadFileURL:restrictToFilesWithin:userData:, loadHTMLString:baseURL:userData: loadData:MIMEType:textEncodingName:baseURL:, and loadData:MIMEType:textEncodingName:baseURL:userData.
  • Adds a WKObjCTypeWrapperRef (which is a ObjCObjectGraph under the covers) to allow the userData to be unwrapped in the injected bundles willLoadURLRequest and willLoadDataRequest C-SPI callbacks.
  • Shared/API/c/WKBase.h:
  • Shared/API/c/WKSharedAPICast.h:
  • Shared/API/c/mac/WKBaseMac.h: Added.
  • Shared/API/c/mac/WKObjCTypeWrapperRef.h: Added.
  • Shared/API/c/mac/WKObjCTypeWrapperRef.mm: Added.

(WKObjCTypeWrapperGetTypeID):
(WKObjCTypeWrapperCreate):
(WKObjCTypeWrapperGetObject):

  • UIProcess/API/mac/WKBrowsingContextController.h:
  • UIProcess/API/mac/WKBrowsingContextController.mm:

(+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
(+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
(-[WKBrowsingContextController loadRequest:]):
(-[WKBrowsingContextController loadRequest:userData:]):
(-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
(-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
(-[WKBrowsingContextController loadHTMLString:baseURL:]):
(-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:]):
(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):

  • WebKit2.xcodeproj/project.pbxproj:
11:16 AM Changeset in webkit [150276] by Christophe Dumez
  • 16 edits
    1 delete in trunk/Source/WebCore

Add [EnabledAtRuntime] extended attribute support for global constructors
https://bugs.webkit.org/show_bug.cgi?id=116147

Reviewed by Geoffrey Garen.

Add [EnabledAtRuntime] extended attribute support for global constructors.
This patch adds [EnabledAtRuntime] extended attribute to SharedWorker and
WebSocket IDL interfaces so that their global constructors on the global
Window object can now be automatically generated.

The behavior on JavaScript side is unchanged. We simply leverage
RuntimeEnabledFeatures class and the new [EnabledAtRuntime] IDL extended
attribute to generate the code for global constructors getters instead
of using custom code.

No new tests, no behavior change for layout tests.

  • GNUmakefile.list.am:
  • Modules/websockets/WebSocket.cpp: Enable WebSockets at runtime by default.
  • Modules/websockets/WebSocket.idl:
  • Target.pri:
  • UseJSC.cmake:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore):

  • bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed.
  • bindings/scripts/CodeGeneratorJS.pm:

(ToMethodName):
(GetRuntimeEnableFunctionName):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • page/DOMWindow.idl:
  • workers/SharedWorker.idl:
11:02 AM Changeset in webkit [150275] by kov@webkit.org
  • 4 edits in trunk

Unreviewed. Skip webgl and transforms/3d tests again, until we find out why they do
not run in the release bot.

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-05-17

  • platform/gtk/TestExpectations:

Tools

  • Tools/DumpRenderTree/gtk/DumpRenderTree.cpp: Disable accelerated compositing until we figure

out why it does not work properly in the 64 bits release bot.

10:43 AM Changeset in webkit [150274] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] REGRESSION(r150060): Crash in LayerWebKitThread::updateTextureContents
https://bugs.webkit.org/show_bug.cgi?id=116305

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-17
Reviewed by Rob Buis.

PR 340537.
Internally reviewed by Arvid Nilsson.

Use updateLayoutAndStyleIfNeededRecursive() instead of
layoutIfNeeded() since we are about to draw in
rootLayerCommitTimerFired().

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):

10:40 AM Changeset in webkit [150273] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Accessing null function pointers is bad.

  • WebCoreSupport/WebFrameLoaderClient.mm:
10:34 AM Changeset in webkit [150272] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Make filter-build-webkit testable using LoadAsModule
Part 1 of 3: <http://webkit.org/b/116247>

Reviewed by Benjamin Poulain.

  • Scripts/filter-build-webkit: Change global variables that are

used in subroutines from 'my' to 'our' to make it possible to
evaluate the script in a package context in LoadAsModule.pm.

10:30 AM Changeset in webkit [150271] by weinig@apple.com
  • 8 edits in trunk/Source/WebKit2

Add WKPageLoadData and WKPageLoadDataWithUserData SPI to support loading arbitrary data blobs
https://bugs.webkit.org/show_bug.cgi?id=116325

Reviewed by Simon Fraser.

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadData):
(WKPageLoadDataWithUserData):
Add new SPI.

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

(WebKit::WebPageProxy::loadData):

  • UIProcess/WebPageProxy.h:

Pipe through to the WebProcess.

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

(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):
Rename existing loadData function to loadDataImpl (I hate it) to avoid overload conflict
from IPC magic.

10:25 AM Changeset in webkit [150270] by timothy@apple.com
  • 1 edit in trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm

Fix Release builds.

9:57 AM Changeset in webkit [150269] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Make kit(Frame*) more robust
https://bugs.webkit.org/show_bug.cgi?id=116324

Reviewed by Darin Adler.

Check that the frame loader's client isn't the EmptyFrameLoaderClient (or a subclass thereof)
before casting to WebFrameLoaderClient.

  • WebView/WebFrame.mm:

(kit):

9:57 AM Changeset in webkit [150268] by Darin Adler
  • 5 edits
    1 delete in trunk/Source/WebCore

[EFL] Move EFL port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116181

Reviewed by Anders Carlsson.

  • dom/Clipboard.h: Switched EFL away from "legacy" mode for Clipboard.
  • page/efl/EventHandlerEfl.cpp:

(WebCore::EventHandler::createDraggingClipboard): Changed to call Clipboard member function.

  • platform/efl/ClipboardEfl.cpp: Deleted most of the functions.

(WebCore::Editor::newGeneralClipboard): Changed to call Clipboard member function.
(WebCore::Clipboard::createDragImage): Moved from ClipboardEfl to Clipboard.
(WebCore::Clipboard::declareAndWriteDragImage): Moved from ClipboardEfl to Clipboard.
(WebCore::Clipboard::items): Ditto.

  • platform/efl/PasteboardEfl.cpp: A lot of copyright notices for a file that

has no code in it other than notImplemented lines! I didn't add a new one.
(WebCore::Pasteboard::createForCopyAndPaste): Added.
(WebCore::Pasteboard::createPrivate): Added.
(WebCore::Pasteboard::createForDragAndDrop): Added.
(WebCore::Pasteboard::hasData): Added.
(WebCore::Pasteboard::readString): Added.
(WebCore::Pasteboard::writeString): Added.
(WebCore::Pasteboard::types): Added.
(WebCore::Pasteboard::readFilenames): Added.
(WebCore::Pasteboard::setDragImage): Added.
(WebCore::Pasteboard::writePasteboard): Added.

9:53 AM Changeset in webkit [150267] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Fix sub menu initialization in ewk_context_menu_item
https://bugs.webkit.org/show_bug.cgi?id=116321

Patch by Michał Pakuła vel Rutka <Michał Pakuła vel Rutka> on 2013-05-17
Reviewed by Christophe Dumez.

During sub menu creation, after initializing m_parentMenu, parentMenu
pointer became null which may cause segfaults. This patch fixes it by
using m_parentMenu.

  • UIProcess/API/efl/ewk_context_menu_item.cpp:

(EwkContextMenuItem::EwkContextMenuItem):

9:47 AM Changeset in webkit [150266] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Move the policy function to WebFramePolicyListener
https://bugs.webkit.org/show_bug.cgi?id=116323

Reviewed by Darin Adler.

There's no need for the WebFrameLoaaderClient to hold on to the policy function,
so move it to WebFramePolicyListener. This gets rid of another WebFrameLoaderClient cast.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::setUpPolicyListener):
Pass the policy function when creating the WebFramePolicyListener object.

9:34 AM Changeset in webkit [150265] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

WebFramePolicyListener should keep its Frame in a RefPtr
https://bugs.webkit.org/show_bug.cgi?id=116322

Reviewed by Darin Adler.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(-[WebFramePolicyListener initWithWebCoreFrame:]):
No need to ref the frame, the RefPtr does that for us.

(-[WebFramePolicyListener invalidate]):
Just set the frame to null.

(-[WebFramePolicyListener dealloc]):
Remove call to deref, that's done automatically now.

(-[WebFramePolicyListener finalize]):
Remove this method. (We could have kept it just for the assertion but I didn't think that was necessary).

(-[WebFramePolicyListener receivedPolicyDecision:):
Use release() to transfer ownership.

9:26 AM Changeset in webkit [150264] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Bad spacing inside MathML formulas when text-indent is specified
https://bugs.webkit.org/show_bug.cgi?id=106600

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-05-17
Reviewed by Martin Robinson.

Source/WebCore:

When MathML is used in a HTML page that modifies the CSS text-indent,
large gaps appear inside the mathematical expressions. Resetting it to
0 on the math root (as Gecko does) fixes the issue.

Tests: mathml/presentation/text-indent.html

mathml/presentation/text-indent-expected.html

  • css/mathml.css:

(math): reset text-indent to its default value.

LayoutTests:

New test to verify that the text-indent property is reset to 0 on
the MathML root.

  • mathml/presentation/text-indent-expected.html: Added.
  • mathml/presentation/text-indent.html: Added.
9:07 AM Changeset in webkit [150263] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Fix code that expects Page::chrome() to return a pointer
https://bugs.webkit.org/show_bug.cgi?id=116313

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-17
Reviewed by Darin Adler.

Page::chrome() returns a reference after r150214.

  • platform/network/blackberry/NetworkManager.cpp:

(WebCore::NetworkManager::startJob):

  • platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:

(WebCore::SocketStreamHandle::SocketStreamHandle):

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setEnableMockPagePopup):

9:00 AM Changeset in webkit [150262] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] ImageBlackBerry: add missing BlendMode parameter
https://bugs.webkit.org/show_bug.cgi?id=116316

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-17
Reviewed by Carlos Garcia Campos.

When the new BitmapImage::draw() method was added in r147110 it
didn't include the BlendMode parameter, which has been there since
r137011.

  • platform/graphics/blackberry/ImageBlackBerry.cpp:

(WebCore::BitmapImage::draw):

8:55 AM Changeset in webkit [150261] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Reduce number of WebFrameLoaderClient static casts in WebKit
https://bugs.webkit.org/show_bug.cgi?id=116320

Reviewed by Antti Koivisto.

We already have a function to return a WebFrame from a WebCore::Frame, use it.

  • DOM/WebDOMOperations.mm:

(WebFrameFilter::shouldIncludeSubframe):

  • WebView/WebDataSource.mm:

(-[WebDataSource webFrame]):

8:29 AM Changeset in webkit [150260] by jer.noble@apple.com
  • 17 edits in trunk

Some media/track tests fail or assert on Mac
https://bugs.webkit.org/show_bug.cgi?id=97132

Reviewed by Simon Fraser.

Source/WebCore:

Rationalize the font and padding behavior of cues and cue boxes; ::cue pseudo elements cannot have padding
values applied via CSS (due to padding not being included in the whitelist of applicable CSS properties).
Also, the font values were being applied to the box at one level and the cue at another, leading to incorrect
layout in the snapToLines case. Padding has been removed from the cue, and the font settings are now applied
to the box exclusively.

Additionally, a few drive-by changes were made in TextTrackCue to the return values of displayTreeInternal() &
element(), which previously returned a PassRefPtr<> instead of a plain pointer.

  • css/mediaControls.css:

(video::-webkit-media-text-track-container): Move the font size to the display selector.
(video::cue): Remove the display:inline and padding:2px declarations.
(video::-webkit-media-text-track-display): Remove the -webkit-line-content now that the ::cue has no padding.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::TextTrackCue): The background box is now a span, rather than a forced-inline div.
(WebCore::TextTrackCue::displayTreeInternal): Return a plain pointer.
(WebCore::TextTrackCue::getDisplayTree): Ditto.
(WebCore::TextTrackCue::setFontSize): Set the font on the box, not the cue.

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::element): Return a plain pointer.

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): The cue element is now a span, not a div.

  • page/CaptionUserPreferencesMac.mm:

(WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Whitespace.
(WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Do not set padding on the cue.

LayoutTests:

  • media/track/captions-webvtt/captions-snap-to-lines-not-set.vtt:
  • media/track/track-cue-rendering-horizontal.html:
  • media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt:
  • media/track/track-cue-rendering-snap-to-lines-not-set.html:
  • media/track/track-cue-rendering-vertical.html:
  • platform/mac/TestExpectations:
  • platform/mac/media/track/track-cue-rendering-horizontal-expected.png:
  • platform/mac/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/mac/media/track/track-cue-rendering-vertical-expected.png:
  • platform/mac/media/track/track-cue-rendering-vertical-expected.txt:
8:26 AM Changeset in webkit [150259] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Changes in text-only properties shouldn't cause repaints unless there is actually text.
<http://webkit.org/b/116250>

Reviewed by Antti Koivisto.

Add a new StyleDifferenceRepaintIfText value to the repertoire of RenderStyle::diff().
This result means that the renderer only needs to repaint if one of its immediate children contains text.

This lets us avoid repainting the same pixels when hovering over constructs like:

<style>

a { text-decoration: none; }
a:hover { text-decoration: underline; }

</style>
<a href="http://is.gd/andersca">

<img src="cool-hat.jpg">

</a>

Since the change in text-decoration has no effect on the rendering of the <img> element,
we'll now be smart enough to avoid repainting it.

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):

Move checking of text-only properties until the very end, and return StyleDifferenceRepaintIfText
in case a difference is found, giving precedence to StyleDifferenceRepaint.

  • rendering/RenderObject.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::hasImmediateNonWhitespaceTextChild):

Helper to check if a RenderObject has at least one RenderText child containing more than just
collapsible whitespace.

(WebCore::RenderObject::shouldRepaintForStyleDifference):

Helper to check if a StyleDifference is either ...Repaint or ...RepaintIfText and the renderer
has an immediate text child.

(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::setStyle):

Don't repaint for StyleDifferenceRepaintIfText unless hasImmediateNonWhitespaceTextChild().

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::clientStyleChanged):

Tweak for new StyleDifference enum value.

  • rendering/RenderText.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::isAllCollapsibleWhitespace):

Made this const.

8:11 AM Changeset in webkit [150258] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Improve -webkit-text-underline-position memory usage.
https://bugs.webkit.org/show_bug.cgi?id=116108

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-05-17
Reviewed by Benjamin Poulain.

Remove m_maxLogicalTop private variable from RootInlineBox to reduce
the overall memory used to render RootInlineBoxes (eight bytes per RootInlineBox
instance in a 64-bit machine). RootInline::maxLogicalTop() now computes
the maxLogicalTop value everytime it is called. In a typical page
computeMaxLogicalTop is called less than 10 times for each
InlineTextBox that uses -webkit-text-underline-position. That is a small
price users of -webkit-text-underline-position will pay so that
everybody can benefit from the memory reduction in RootInlineBox.

No new tests, no change in behavior.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalTop): Make it const.

  • rendering/InlineFlowBox.h:
  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::RootInlineBox): Remove m_maxLogicalTop.
(WebCore::RootInlineBox::alignBoxesInBlockDirection): Remove
computeMaxLogicalTop call and obsolete comment.
(WebCore):
(WebCore::RootInlineBox::maxLogicalTop): Compute maxLogicalTop before
returning its value.

  • rendering/RootInlineBox.h:

(RootInlineBox):

8:08 AM Changeset in webkit [150257] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove stale comment for select mouse handling.
https://bugs.webkit.org/show_bug.cgi?id=116309

Reviewed by Rob Buis.

PR 135935.

Remove a FIXME that has been invalidated by a change
to our touch -> mouse model.

Internally Rubberstamped by Genevieve Mak.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):

7:33 AM Changeset in webkit [150256] by kov@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

Unreviewed build fix. Remove assertion that doesn't make sense anymore since the
page does not give us access to the Chrome pointer directly anymore.

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-05-17

  • webkit/webkitwebview.cpp:

(WebKit::kit):

7:05 AM Changeset in webkit [150255] by alexis@webkit.org
  • 4 edits in trunk/Source/WebCore

Make sure to call release() on our smart pointers when we should.
https://bugs.webkit.org/show_bug.cgi?id=116307

Reviewed by Andreas Kling.

Call release() when we should call it. There is probably more occurence
of this problem on the codebase but this is a first bunch of fixes.

No new tests : existing ones should cover.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForNinePieceImage):
(WebCore::getBorderRadiusShorthandValue):
(WebCore::CSSComputedStyleDeclaration::valueForFilter):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForGridShorthand):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBorderImage):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::collectStyleForPresentationAttribute):

6:46 AM Changeset in webkit [150254] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Support sub menu in ewk context menus
https://bugs.webkit.org/show_bug.cgi?id=114729

Patch by Michał Pakuła vel Rutka <Michał Pakuła vel Rutka> on 2013-05-17
Reviewed by Christophe Dumez.

Added submenu support in EwkContextMenu and an API function to receive
Ewk_Context_Menu from submenu context menu item. A test case was added
for new API function.
EwkContextMenu is now an EwkObject allowing multiple instances of submenu
to be used in different submenu type context menu items.

  • UIProcess/API/efl/ewk_context_menu_item.cpp:

(EwkContextMenuItem::EwkContextMenuItem):
(ewk_context_menu_item_new):
(ewk_context_menu_item_parent_menu_get):
(ewk_context_menu_item_submenu_get):

  • UIProcess/API/efl/ewk_context_menu_item.h:
  • UIProcess/API/efl/ewk_context_menu_item_private.h:

(EwkContextMenuItem::create):
(EwkContextMenuItem::parentMenu):
(EwkContextMenuItem::subMenu):
(EwkContextMenuItem):

  • UIProcess/API/efl/ewk_context_menu_private.h:

(EwkContextMenu::ewkView):
(EwkContextMenu):

  • UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:

(showContextMenu):

6:00 AM Changeset in webkit [150253] by Patrick Gansterer
  • 4 edits
    2 deletes in trunk/Source

[CMake] Remove invalid include paths
https://bugs.webkit.org/show_bug.cgi?id=116213

Reviewed by Gyuyoung Kim.

Since "${JAVASCRIPTCORE_DIR}/wtf" does not exist, it is safe
to remove them from the list of include directories.

Source/JavaScriptCore:

  • PlatformEfl.cmake: Removed.
  • PlatformGTK.cmake: Removed.

Source/WTF:

  • wtf/PlatformEfl.cmake:
  • wtf/PlatformGTK.cmake:
5:41 AM Changeset in webkit [150252] by allan.jensen@digia.com
  • 5 edits in trunk/Source/WebCore

Make PNGImageDecoder::rowAvailable auto-vectorizable
https://bugs.webkit.org/show_bug.cgi?id=116151

Reviewed by Benjamin Poulain.

Changed the main loops under PNGImageDecoder::rowAvailable so that they
avoid branches and non-sequential table look ups.

Together with automatic vectorization by the compiler this provides around
4x speed-up with AVX or 2x speed-up on generic x64. Shaving off 12-40% on
PNG decoding in general.

  • platform/graphics/Color.cpp:

(WebCore::premultipliedARGBFromColor):

  • platform/graphics/Color.h:

(WebCore::fastDivideBy255):

  • platform/graphics/filters/FEBlend.cpp:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::setPixelRGB):
(WebCore::setPixelRGBA):
(WebCore::setPixelRGBA_Premultiplied):
(WebCore::PNGImageDecoder::rowAvailable):

5:30 AM Changeset in webkit [150251] by commit-queue@webkit.org
  • 8 edits in trunk

Web Inspector: Allow "# sourceMappingURL" syntax alongside "@"
https://bugs.webkit.org/show_bug.cgi?id=116290

Source/WebCore:

Follow an update to the spec and support the new and old syntax.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-05-17
Reviewed by Timothy Hatcher.

  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::scriptCommentPattern):
(WebCore::ContentSearchUtils::stylesheetCommentPattern):

  • inspector/front-end/SASSSourceMapping.js:

(WebInspector.SASSSourceMapping.prototype._loadAndProcessSourceMap):

LayoutTests:

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-05-17
Reviewed by Timothy Hatcher.

  • http/tests/inspector/network/resources/source-map-test-style.css:
  • http/tests/inspector/stylesheet-source-mapping.html:
  • inspector/debugger/source-url-comment-expected.txt:
  • inspector/debugger/source-url-comment.html:
5:30 AM Changeset in webkit [150250] by allan.jensen@digia.com
  • 6 edits in trunk/LayoutTests

2 math sputnik test fail on 32 bit
https://bugs.webkit.org/show_bug.cgi?id=88519

Reviewed by Jocelyn Turcotte.

Update the expected values to match recent changes in test262.
The old tested values are considered outside the validation range.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
  • sputnik/Conformance/15_Native_Objects/15.8_Math/15.8.2/15.8.2.16_sin/S15.8.2.16_A7.html:
  • sputnik/Conformance/15_Native_Objects/15.8_Math/15.8.2/15.8.2.18_tan/S15.8.2.18_A7.html:
5:24 AM Changeset in webkit [150249] by Christophe Dumez
  • 5 edits in trunk/Source/WebCore

Remove custom code for MessageEvent.ports getter
https://bugs.webkit.org/show_bug.cgi?id=116304

Reviewed by Kentaro Hara.

Remove Custom code for the "ports" attribute getter in MessageEvent
IDL interface. The JSC bindings generator already supports attributes
of type MessagePortArray.

No new tests, already covered by existing layout tests and bindings
tests.

  • bindings/js/JSMessageEventCustom.cpp: Remove Custom code for ports getter.
  • bindings/scripts/CodeGeneratorJS.pm:

(NativeToJSValue): Small tweak to correctly handle the case where impl->ports()
returns NULL and avoid crashing in this case.

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Rebaseline due

to bindings generator tweak.

  • dom/MessageEvent.idl: Remove [CustomGetter] extended attribute for 'ports' attribute

and switch to MessagePortArray type.

5:22 AM Changeset in webkit [150248] by zarvai@inf.u-szeged.hu
  • 2 edits
    8 adds in trunk/LayoutTests

[Qt] Unreviewed gardening. Added platform specific expected after r143389.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-05-17

  • platform/qt/svg/as-image/image-preserveAspectRatio-all-expected.png: Added.
  • platform/qt/svg/as-image/image-preserveAspectRatio-all-expected.txt: Added.
  • platform/qt/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png: Added.
  • platform/qt/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.txt: Added.
  • platform/qt/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png: Added.
  • platform/qt/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.txt: Added.
  • platform/qt/svg/filters/feImage-preserveAspectRatio-all-expected.png: Added.
  • platform/qt/svg/filters/feImage-preserveAspectRatio-all-expected.txt: Added.
4:09 AM WebKitGTK/TrackingMemoryErrors edited by Manuel Rego Casasnovas
(diff)
3:42 AM Changeset in webkit [150247] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] DumpRenderTreeSupport: fix build in setMockDeviceOrientation()
https://bugs.webkit.org/show_bug.cgi?id=116298

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-17
Reviewed by Carlos Garcia Campos.

Pass the correct parameter to toDeviceOrientationClientMock()

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::setMockDeviceOrientation):

3:18 AM Changeset in webkit [150246] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Rebaseline after r150169
https://bugs.webkit.org/show_bug.cgi?id=116256

Unreviewed GTK gardening.

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-17

  • platform/gtk/TestExpectations: Renamed from fast/loader/willsendrequest-returns-null-for-memory-cache-load.html.
3:00 AM Changeset in webkit [150245] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/Source/WebKit2

[Qt] Unreviewed build fix.

Add missing Qt specific initializer for willLoadURLRequest and willLoadDataRequest.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu>, Ádám Kallai <kadam@inf.u-szeged.hu> on 2013-05-17

  • WebProcess/qt/QtBuiltinBundlePage.cpp:

(WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):

12:07 AM Changeset in webkit [150244] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

media/video-seek-after-end.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=116293

Add a flaky test expectation on all platforms.

May 16, 2013:

10:22 PM Changeset in webkit [150243] by Beth Dakin
  • 4 edits
    2 deletes in trunk/Source/WebKit2

Remove WKBundlePageGetHeaderLayer/Footer SPI
https://bugs.webkit.org/show_bug.cgi?id=116254

Reviewed by Benjamin Poulain.

We should remove the Remove WKBundlePageGetHeaderLayer/Footer SPI. It was only
recently added and have been replaced by WKBundlePageSetHeaderBanner/Footer.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Removed.
  • WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Removed.
  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit):
(WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):

9:34 PM Changeset in webkit [150242] by weinig@apple.com
  • 15 edits
    2 adds in trunk

Add variants of the loading APIs that take user data and a way for the injected bundle to find out about them
https://bugs.webkit.org/show_bug.cgi?id=116132

Reviewed by Anders Carlsson.

Adds "WithUserData" versions of all the load APIs and two new WKBundlePageLoaderClient functions,
willLoadURLRequest and willLoadDataRequest to let the bundle access them.

Source/WebKit2:

Adds WebKit2WillLoadTest.* API tests.

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadURLWithUserData):
(WKPageLoadURLRequestWithUserData):
(WKPageLoadFile):
(WKPageLoadFileWithUserData):
(WKPageLoadHTMLStringWithUserData):
(WKPageLoadAlternateHTMLStringWithUserData):
(WKPageLoadPlainTextStringWithUserData):
(WKPageLoadWebArchiveDataWithUserData):

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

(WebPageProxy):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:

(WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
(WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:

(WebCore):
(InjectedBundlePageLoaderClient):

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

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/WillLoad.cpp: Added.
  • TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp: Added.
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
8:39 PM Changeset in webkit [150241] by commit-queue@webkit.org
  • 9 edits in trunk

[EFL] inspector-protocol/page/javascriptDialogEvents.html is failing
https://bugs.webkit.org/show_bug.cgi?id=114781

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-16
Reviewed by Christophe Dumez.

Source/WebKit/efl:

We need to make a distinction between runBeforeUnloadConfirmPanel and confirm.

  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::runBeforeUnloadConfirmPanel):

  • ewk/ewk_view.cpp: Add ewk_view_run_before_unload_confirm API.

(_ewk_view_smart_run_before_unload_confirm):
(ewk_view_base_smart_set):
(ewk_view_run_before_unload_confirm):

  • ewk/ewk_view.h: Add smart class member function for runBeforeUnloadConfirmPanel.
  • ewk/ewk_view_private.h:

Tools:

Add run_before_unload_confirm and
Print the log message with "CONFIRM NAVIGATION: " in console.

  • DumpRenderTree/efl/DumpRenderTreeView.cpp:

(onBeforeUnloadConfirm):
(drtViewAdd):

LayoutTests:

Unskip fast/loader/form-submission-after-beforeunload-cancel.html as well.

  • platform/efl-wk1/TestExpectations:
8:28 PM Changeset in webkit [150240] by commit-queue@webkit.org
  • 3 edits
    2 moves
    2 deletes in trunk/Source/WebCore

Add stubs for ContextMenu and ContextMenuItem
https://bugs.webkit.org/show_bug.cgi?id=116235

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2013-05-16
Reviewed by Antonio Gomes.

No new tests needed, only a refactor.

Add ContextMenuNone.cpp and ContextMenuItemNone.cpp
so ports using ENABLE(CROSS_PLATFORM_CONTEXT_MENU) don't
need to replicate these stubs.

  • PlatformEfl.cmake:
  • Target.pri:
  • platform/ContextMenuNone.cpp: Added.

(WebCore):
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::getContextMenuItems):
(WebCore::ContextMenu::createPlatformContextMenuFromItems):
(WebCore::ContextMenu::platformContextMenu):

  • platform/ContextMenuItemNone.cpp: Added.

(WebCore):
(WebCore::ContextMenuItem::platformContextMenuItem):

  • platform/efl/ContextMenuEfl.cpp: Removed.
  • platform/efl/ContextMenuItemEfl.cpp: Removed.
  • platform/qt/ContextMenuQt.cpp: Removed.
  • platform/qt/ContextMenuItemQt.cpp: Removed.
8:26 PM Changeset in webkit [150239] by alexis@webkit.org
  • 4 edits
    6 adds in trunk

Regression: Event#stopPropagation() does not halt bubbling for webkitTransitionEnd
https://bugs.webkit.org/show_bug.cgi?id=115656

Reviewed by Darin Adler.

Source/WebCore:

If we create a prefixed event to dispatch it (in the case we have only
prefixed event listeners in client's code) then we need to make sure to
keep it in sync with the original unprefixed event after it has been
dispatched. While being dispatched the event can be modified by
client's code and when propagated back to outer elements, attributes were
not updated. This patch changes the old design of creating a separate event
for the prefixed case and now change the type of the event (so the name) before
dispatching it, keeping the attributes if changed and then rename it
back to unprefixed when the dispatching is finished.

Tests: transitions/transition-end-event-prefixed-01.html

transitions/transition-end-event-prefixed-02.html
transitions/transition-end-event-prefixed-03.html

  • dom/Event.h:

(WebCore::Event::setType):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

LayoutTests:

Added new tests to cover the bug.

  • transitions/transition-end-event-prefixed-03-expected.txt: Added.
  • transitions/transition-end-event-prefixed-03.html: Added.
  • transitions/transition-end-event-prefixed-02-expected.txt: Added.
  • transitions/transition-end-event-prefixed-02.html: Added.
  • transitions/transition-end-event-prefixed-01-expected.txt: Added.
  • transitions/transition-end-event-prefixed-01.html: Added.
8:20 PM Changeset in webkit [150238] by mifenton@rim.com
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Strip invoke URLs when writing to the clipboard.
https://bugs.webkit.org/show_bug.cgi?id=116226

Reviewed by Rob Buis.

PR 333516.

Invoke URLs should not be included in the paste data.

Internally Reviewed by Gen Mak.

  • platform/blackberry/PasteboardBlackBerry.cpp:

(WebCore::Pasteboard::writeSelection):

8:18 PM Changeset in webkit [150237] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix Analyze ChangeLog's entry processing
https://bugs.webkit.org/show_bug.cgi?id=116219

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-05-16
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/tool/commands/analyzechangelog.py:

(ChangeLogAnalyzer._analyze_entries): Fix the counter initialization.

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

Missing UNUSED_PARAM macro for textPosition argument in WebKitAccessibleInterfaceText
https://bugs.webkit.org/show_bug.cgi?id=116230

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2013-05-16
Reviewed by Chris Fleizach.

No new functionality, no new tests.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(webkitAccessibleTextGetTextForOffset): List textPosition argument as
unused parameter for all platforms except GTK.

8:15 PM Changeset in webkit [150235] by rniwa@webkit.org
  • 5 edits in trunk/LayoutTests

Add failing test expectations to http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html per bug 116259.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/qt/TestExpectations:
8:14 PM Changeset in webkit [150234] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Source/WebCore: Frame flattening prevents <HTML> in <OBJECT> from having scrollbars
https://bugs.webkit.org/show_bug.cgi?id=115884

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-05-16
Reviewed by Antonio Gomes.

Frame flattening should be applied when the frame owner is frame or iframe. But when
the frame owner is object element, frame flattening prevents it from having scrollbars.
In this situation, we can't scroll the html document in object element.

This patch adds two helper functions to verify flattening conditions.

Test: fast/frames/flattening/scrolling-in-object.html

  • page/FrameView.cpp:

(WebCore::frameFlatteningEnabled): Added. Helper to check whether flattening is enabled or not.
(WebCore::supportsFrameFlattening): Added. Helper to check whether the frame owner is <frame> or <iframe>.
(WebCore::FrameView::avoidScrollbarCreation):
(WebCore::FrameView::calculateScrollbarModesForLayout): Use frameFlatteningEnabled().
(WebCore::FrameView::layout): Use frameFlatteningEnabled().
(WebCore::FrameView::isInChildFrameWithFrameFlattening): Use frameFlatteningEnabled().

LayoutTests: Frame flattening prevents <HTML> in <OBJECT> from having scrollbars
https://bugs.webkit.org/show_bug.cgi?id=115884

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-05-16
Reviewed by Antonio Gomes.

Frame flattening should be applied when the frame owner is frame or iframe. But when
the frame owner is object element, frame flattening prevents it from having scrollbars.
In this situation, we can't scroll the html document in object element.

This patch adds two helper functions to verify flattening conditions.

  • fast/frames/flattening/scrolling-in-object-expected.html: Added.
  • fast/frames/flattening/scrolling-in-object.html: Added.
7:53 PM Changeset in webkit [150233] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Optimize caret bounds calculation when leaving an input field.
https://bugs.webkit.org/show_bug.cgi?id=116224

Reviewed by Rob Buis.

PR 340132.

If the caret is no longer active in the field, do not allow it
to go into the single line input logic and calculate the node
bounding box.

Internally Reviewed By Gen Mak

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):

7:50 PM Changeset in webkit [150232] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Fix memory leak in WebKitBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=116222

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-05-16
Reviewed by Carlos Garcia Campos.

Due to the use of leakRef() the ImmutableArray is not being released
automatically. Adding a local variable in the methods to make sure that
the ImmutableArray is freed.

  • UIProcess/API/gtk/WebKitBackForwardList.cpp:

(webkit_back_forward_list_get_back_list_with_limit): Add local variable
RefPtr and pass the ImmutableArray to
WebKitBackForwardList::webkitBackForwardListCreateList() using
RefPtr::get().
(webkit_back_forward_list_get_forward_list_with_limit): Ditto.

7:47 PM Changeset in webkit [150231] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Port functions for pathhandling to Windows CE in FileSystemWin
https://bugs.webkit.org/show_bug.cgi?id=116208

Reviewed by Darin Adler.

This will allow us to remove FileSystemWinCE in a next step.

  • platform/win/FileSystemWin.cpp:

(WebCore::pathByAppendingComponent):
(WebCore::pathGetFileName):

7:46 PM Changeset in webkit [150230] by rniwa@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r150034.
http://trac.webkit.org/changeset/150034
https://bugs.webkit.org/show_bug.cgi?id=116257

This work around doesn't work due to another bug NSUndoManager
has (Requested by rniwa on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-05-16

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::registerUndoOrRedoStep):

Source/WebKit2:

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::registerEditCommand):

7:44 PM Changeset in webkit [150229] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[Qt] UrlLoader::loadNext is broken in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=116099

Patch by Hyungchan Kim <hyungchan2.kim@lge.com> on 2013-05-16
Reviewed by Jocelyn Turcotte.

QQuickWebView's 3 signals(loadStarted, loadSucceeded, loadFailed)
are not available any more. So, UrlLoader::loadNext was broken
because it failed to connect to those signals.

  • MiniBrowser/qt/UrlLoader.cpp:

(UrlLoader::UrlLoader):
(UrlLoader::loadingChanged):

  • MiniBrowser/qt/UrlLoader.h:

(UrlLoader):

6:10 PM Changeset in webkit [150228] by benjamin@webkit.org
  • 3 edits in trunk/Source/WTF

Add the symbol WTFInvokeCrashHook back for binary compatibility.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-16
Reviewed by Ryosuke Niwa.

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
5:42 PM Changeset in webkit [150227] by timothy_horton@apple.com
  • 29 edits in trunk/Source

PDFPlugins don't load when plugins are disabled, but they should
https://bugs.webkit.org/show_bug.cgi?id=75790
<rdar://problem/11650197>

Reviewed by Anders Carlsson.

Make it possible to load "application" plug-ins even if settings or the FrameLoaderClient
say that plug-ins should be disabled, providing a mechanism for WebKit* to offer built-in
functionality which happens to use the plug-in infrastructure, and which also doesn't
unexpectedly disappear for users with plug-ins off.

  • WebCore.exp.in:

Export SubframeLoader::allowPlugins().
Update signature for PluginData::supportsMimeType to include the AllowedPluginTypes argument.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):
Load PluginData even if plug-ins are disabled, but if that is the case, only
create a PluginDocument for application plug-ins.

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::appendBytes):
Don't bail if plug-ins are disabled, because we could still be a PluginDocument
for an application plug-in.

  • page/Page.cpp:

(WebCore::Page::pluginData):
Allow PluginData to be constructed even if plug-ins are disabled, as there might
be application plug-ins that we want to load anyway.

  • platform/mac/MIMETypeRegistryMac.mm:

(WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
On Mac, if we have PDFPlugin, we can support PDF and PostScript with a native application plug-in.

  • plugins/PluginData.cpp:

(WebCore::PluginData::supportsMimeType):
Add an AllowedPluginTypes argument to supportsMimeType, allowing callers to specify
whether they are looking for any plug-in, or are looking only for application plug-ins.

  • plugins/PluginData.h:

(PluginInfo): Added an isApplicationPlugin field, to specify whether this is a "built-in" plug-in.
(PluginData): Add the aforementioned AllowedPluginTypes enum and the argument to supportsMimeType.

Support loading "application" plug-ins even if plug-ins are explicitly disabled.

Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can
be loaded even if plug-ins are disabled.

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction):
Add a 5-argument, 3-reply version of callMemberFunction.

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::NetscapePluginModule::getPluginInfo):
NPAPI plug-ins are not application plug-ins.

  • Shared/WebCoreArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):
Encode/decode the new isApplicationPlugin field on PluginInfo.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::findPluginForMIMEType):
(WebKit::PluginInfoStore::findPluginForExtension):
(WebKit::PluginInfoStore::findPlugin):

  • UIProcess/Plugins/PluginInfoStore.h:

(PluginInfoStore):
Give PluginInfoStore's findPlugin method and its private helper
methods an argument allowing them to only match application plug-ins.

(WebKit::WebPageProxy::findPlugin):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:

Add an argument allowing findPlugin to restrict its search to only application plug-ins.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::objectContentType):
Previously, this caller depended on pluginData() returning null if
plug-ins were disabled. Since that is no longer the case, we have to
check if we can use plug-ins, and otherwise ignore non-application-plug-ins.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
When going to search for a plug-in, ask subframeLoader whether or not
it's OK to use ordinary non-application plug-ins, and pass that information
on to the UIProcess when performing the search.

(WebKit::WebPage::canPluginHandleResponse): Ditto.
(WebKit::WebPage::canShowMIMEType):
Ensure that canShowMIMEType returns true if we have an application plug-in
that can display a particular MIME type, even if we're not allowed to load plug-ins.

  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage getPluginInfoFromPLists]):

  • Plugins/WebNetscapePluginPackage.mm:

(-[WebNetscapePluginPackage getPluginInfoFromResources]):
Nothing loaded via WebBasePluginPackage or WebNetscapePluginPackage
is an application plugin.

  • WebView/WebFrame.mm:

(-[WebFrame _canProvideDocumentSource]):
Previously, this caller depended on pluginData() returning null if
plug-ins were disabled. Since that is no longer the case, we have to
check if we can use plug-ins, and otherwise ignore non-application-plug-ins.

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::objectContentType):
Previously, this caller depended on pluginData() returning null if
plug-ins were disabled. Since that is no longer the case, we have to
check if we can use plug-ins, and otherwise ignore non-application-plug-ins.

  • WebView.cpp:

(WebView::canShowMIMEType):
Previously, this caller depended on pluginData() returning null if
plug-ins were disabled. Since that is no longer the case, we have to
check if we can use plug-ins, and otherwise ignore non-application-plug-ins.

5:36 PM Changeset in webkit [150226] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[EFL][WK2] Make Ewk_Context_Menu Ewk_Object
https://bugs.webkit.org/show_bug.cgi?id=116097

Patch by Michał Pakuła vel Rutka <Michał Pakuła vel Rutka> on 2013-05-16
Reviewed by Gyuyoung Kim.

Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu
object can be shared between different modules.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::showContextMenu):

  • UIProcess/API/efl/EwkView.h:

(EwkView):

  • UIProcess/API/efl/ewk_context_menu.cpp:

(EwkContextMenu::appendItem):
(EwkContextMenu::removeItem):
(ewk_context_menu_new):
(ewk_context_menu_new_with_items):
(ewk_context_menu_item_append):
(ewk_context_menu_item_remove):
(ewk_context_menu_hide):
(ewk_context_menu_items_get):
(ewk_context_menu_item_select):

  • UIProcess/API/efl/ewk_context_menu_item.cpp:

(EwkContextMenuItem::EwkContextMenuItem):
(ewk_context_menu_item_new_with_submenu):

  • UIProcess/API/efl/ewk_context_menu_item_private.h:

(EwkContextMenuItem):

  • UIProcess/API/efl/ewk_context_menu_private.h:

(EwkContextMenu):
(EwkContextMenu::create):

  • UIProcess/API/efl/ewk_defines.h:
5:33 PM Changeset in webkit [150225] by commit-queue@webkit.org
  • 23 edits
    1 copy
    1 move in trunk

[WebSocket] Update pywebsocket to r760
https://bugs.webkit.org/show_bug.cgi?id=115863

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-05-16
Reviewed by Alexey Proskuryakov.

Tools:

Version r760 supports a newer draft of message compression.
We need this update to finish the permessage compression patch in
bug 98840. This patch also fixes failing unit tests after the update.

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_base.py:

(StreamBase._read):
(StreamBase._read.of):
(StreamBase._write):
(StreamBase.receive_bytes):
(StreamBase._read_until):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py:

(parse_frame):
(StreamOptions.init):
(Stream.init):
(Stream._receive_frame_as_frame_object):
(Stream._get_message_from_frame):
(Stream._process_close_message):
(Stream.close_connection):
(Stream.get_last_received_opcode):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py:
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/dispatch.py:

(Dispatcher.do_extra_handshake):
(Dispatcher.transfer_data):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py:

(ExtensionProcessorInterface.init):
(ExtensionProcessorInterface.request):
(ExtensionProcessorInterface):
(ExtensionProcessorInterface.name):
(ExtensionProcessorInterface.check_consistency_with_other_processors):
(ExtensionProcessorInterface.set_active):
(ExtensionProcessorInterface.is_active):
(ExtensionProcessorInterface._get_extension_response_internal):
(ExtensionProcessorInterface.get_extension_response):
(ExtensionProcessorInterface._setup_stream_options_internal):
(ExtensionProcessorInterface.setup_stream_options):
(_log_outgoing_compression_ratio):
(_log_incoming_compression_ratio):
(_parse_window_bits):
(_AverageRatioCalculator):
(_AverageRatioCalculator.init):
(_AverageRatioCalculator.add_original_bytes):
(_AverageRatioCalculator.add_result_bytes):
(_AverageRatioCalculator.get_average_ratio):
(DeflateFrameExtensionProcessor):
(DeflateFrameExtensionProcessor.init):
(DeflateFrameExtensionProcessor._get_extension_response_internal):
(DeflateFrameExtensionProcessor._setup_stream_options_internal):
(DeflateFrameExtensionProcessor._outgoing_filter):
(DeflateFrameExtensionProcessor._incoming_filter):
(CompressionExtensionProcessorBase.for):
(CompressionExtensionProcessorBase.init):
(CompressionExtensionProcessorBase._get_extension_response_internal):
(CompressionExtensionProcessorBase._setup_stream_options_internal):
(PerFrameCompressExtensionProcessor):
(PerMessageDeflateExtensionProcessor):
(PerMessageDeflateExtensionProcessor.init):
(PerMessageDeflateExtensionProcessor._get_extension_response_internal):
(PerMessageDeflateExtensionProcessor._setup_stream_options_internal):
(PerMessageDeflateExtensionProcessor.set_c2s_max_window_bits):
(PerMessageDeflateExtensionProcessor.set_c2s_max_window_bits.adds):
(PerMessageDeflateExtensionProcessor.set_c2s_no_context_takeover):
(PerMessageDeflateExtensionProcessor.set_c2s_no_context_takeover.adds):
(PerMessageDeflateExtensionProcessor.set_bfinal):
(PerMessageDeflateExtensionProcessor.enable_outgoing_compression):
(PerMessageDeflateExtensionProcessor.disable_outgoing_compression):
(_PerMessageDeflateFramer):
(_PerMessageDeflateFramer.init):
(_PerMessageDeflateFramer.set_compress_outgoing_enabled):
(_PerMessageDeflateFramer._process_incoming_message):
(_PerMessageDeflateFramer._process_outgoing_message):
(_PerMessageDeflateFramer.setup_stream_options):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingMessageFilter):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingMessageFilter.init):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingMessageFilter.filter):
(_PerMessageDeflateFramer.setup_stream_options._IncomingMessageFilter):
(_PerMessageDeflateFramer.setup_stream_options._IncomingMessageFilter.init):
(_PerMessageDeflateFramer.setup_stream_options._IncomingMessageFilter.decompress_next_message):
(_PerMessageDeflateFramer.setup_stream_options._IncomingMessageFilter.filter):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingFrameFilter):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingFrameFilter.init):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingFrameFilter.set_compression_bit):
(_PerMessageDeflateFramer.setup_stream_options._OutgoingFrameFilter.filter):
(_PerMessageDeflateFramer.setup_stream_options._IncomingFrameFilter):
(_PerMessageDeflateFramer.setup_stream_options._IncomingFrameFilter.init):
(_PerMessageDeflateFramer.setup_stream_options._IncomingFrameFilter.filter):
(PerMessageCompressExtensionProcessor):
(PerMessageCompressExtensionProcessor._lookup_compression_processor):
(MuxExtensionProcessor.init):
(MuxExtensionProcessor.check_consistency_with_other_processors):
(MuxExtensionProcessor):
(MuxExtensionProcessor._get_extension_response_internal):
(MuxExtensionProcessor._setup_stream_options_internal):
(MuxExtensionProcessor.set_quota):
(MuxExtensionProcessor.quota):
(MuxExtensionProcessor.set_extensions):
(MuxExtensionProcessor.extensions):
(is_compression_extension):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py:

(validate_subprotocol):
(parse_host_header):
(format_header):
(check_request_line):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py:

(Handshaker.do_handshake):
(Handshaker._create_handshake_response):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi00.py:

(_validate_subprotocol):
(_check_header_lines):
(_build_location):
(Handshaker.do_handshake):
(Handshaker._set_subprotocol):
(Handshaker._set_location):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/headerparserhandler.py:

(_create_dispatcher):
(headerparserhandler):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/mux.py:

(_create_add_channel_response):
(_create_drop_channel):
(_create_flow_control):
(_create_new_channel_slot):
(_create_fallback_new_channel_slot):
(_MuxFramePayloadParser._read_number):
(_MuxFramePayloadParser._read_size_and_contents):
(_MuxFramePayloadParser._read_flow_control):
(_MuxFramePayloadParser._read_new_channel_slot):
(_LogicalConnection.init):
(_LogicalConnection.write):
(_LogicalConnection.on_write_data_done):
(_LogicalConnection):
(_LogicalConnection.on_writer_done):
(_InnerMessage):
(_InnerMessage.init):
(_InnerMessageBuilder):
(_InnerMessageBuilder.that):
(_InnerMessageBuilder.init):
(_InnerMessageBuilder._handle_first):
(_InnerMessageBuilder._process_first_fragmented_control):
(_InnerMessageBuilder._process_first_fragmented_message):
(_InnerMessageBuilder._handle_fragmented_control):
(_InnerMessageBuilder._reassemble_fragmented_control):
(_InnerMessageBuilder._handle_fragmented_message):
(_InnerMessageBuilder._reassemble_fragmented_message):
(_InnerMessageBuilder.build):
(_LogicalStream.init):
(_LogicalStream._create_inner_frame):
(_LogicalStream._write_inner_frame):
(_LogicalStream.replenish_send_quota):
(_LogicalStream.send_message):
(_LogicalStream._receive_frame):
(_LogicalStream._get_message_from_frame):
(_LogicalStream.stop_sending):
(_PhysicalConnectionWriter.init):
(_PhysicalConnectionWriter._write_data):
(_PhysicalConnectionWriter.run):
(_PhysicalConnectionWriter.stop):
(_Worker.run):
(_MuxHandshaker.init):
(_MuxHandshaker._create_stream):
(_MuxHandshaker._create_handshake_response):
(_HandshakeDeltaBase.create_headers):
(_MuxHandler.start):
(_MuxHandler.wait_until_done):
(_MuxHandler.notify_write_data_done):
(_MuxHandler._process_drop_channel):
(_MuxHandler._process_logical_frame):
(_MuxHandler.notify_reader_done):
(_MuxHandler):
(_MuxHandler.notify_writer_done):
(_MuxHandler.fail_physical_connection):
(_MuxHandler.fail_logical_channel):
(use_mux):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py:

(_StandaloneRequest.get_uri):
(_StandaloneRequest.get_unparsed_uri):
(_StandaloneRequest):
(_StandaloneRequest.is_https):
(_import_ssl):
(_import_pyopenssl):
(_StandaloneSSLConnection.for):
(_StandaloneSSLConnection):
(_StandaloneSSLConnection.getattribute):
(_StandaloneSSLConnection.setattr):
(_StandaloneSSLConnection.makefile):
(_StandaloneSSLConnection.shutdown):
(_StandaloneSSLConnection.recv):
(WebSocketServer.init):
(WebSocketServer._create_sockets):
(WebSocketServer.handle_error):
(WebSocketServer.get_request):
(WebSocketServer.get_request.default_callback):
(WebSocketRequestHandler.parse_request):
(_build_option_parser):
(_main):
(_main.if):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py:

(RepeatedXorMasker.init):
(RepeatedXorMasker._mask_using_swig):
(RepeatedXorMasker):
(RepeatedXorMasker._mask_using_array):
(_Deflater.compress_and_finish):
(_RFC1979Deflater.filter):
(DeflateSocket.send):

LayoutTests:

Fix failing tests.

  • http/tests/websocket/tests/handler_map.txt:
  • http/tests/websocket/tests/hybi/echo-host_wsh.py: Copied from LayoutTests/http/tests/websocket/tests/hybi/echo-location_wsh.py.

(web_socket_do_extra_handshake):
(web_socket_transfer_data):

  • http/tests/websocket/tests/hybi/echo-path_wsh.py: Renamed from LayoutTests/http/tests/websocket/tests/hybi/echo-location_wsh.py.

(web_socket_do_extra_handshake):
(web_socket_transfer_data):

  • http/tests/websocket/tests/hybi/url-no-trailing-slash-expected.txt:
  • http/tests/websocket/tests/hybi/url-no-trailing-slash.html:
  • http/tests/websocket/tests/hybi/url-with-credential-expected.txt:
  • http/tests/websocket/tests/hybi/url-with-credential.html:
  • http/tests/websocket/tests/hybi/url-with-empty-query-expected.txt:
  • http/tests/websocket/tests/hybi/url-with-empty-query.html:
  • http/tests/websocket/tests/hybi/url-with-query-expected.txt:
  • http/tests/websocket/tests/hybi/url-with-query.html:
5:30 PM Changeset in webkit [150224] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Crash due to an assert running test editing/execCommand/indent-paragraphs.html
https://bugs.webkit.org/show_bug.cgi?id=114944

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-16
Reviewed by Rob Buis.

It crashes in network platform code when trying to save an
invalid URL in the disk cache. That test contains references to
empty URLs like http://. Those empty URLs, are parsed as http:/ by
KURL and considered valid. BlackBerry network platform uses GURL
which considers those URLs invalid. We needed to check that the
URLs are valid for our platform before starting the network
operation.

Fixes a crash running test
editing/execCommand/indent-paragraphs.html.

  • platform/network/blackberry/NetworkManager.cpp:

(WebCore::NetworkManager::startJob): Check if the request URL is
valid from the platform point of view right after creating the
platform network request and return early if the URL is invalid
with StatusErrorInvalidUrl error.

5:20 PM Changeset in webkit [150223] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix testing if program exists in PATH
https://bugs.webkit.org/show_bug.cgi?id=116216

Patch by Jonathan Liu <net147@gmail.com> on 2013-05-16
Reviewed by Jocelyn Turcotte.

functions.prf incorrectly uses win_cmd_shell to test whether to
add .exe to the executable name when checking if it exists in
the PATH environment variable. This works correctly when
building using Windows Command Prompt but not under MSYS shell.

To resolve this, check the win32 platform scope instead of
win_cmd_shell so that it correctly adds .exe to the executable
name on Windows regardless of the shell used when testing if
it exists in PATH.

  • qmake/mkspecs/features/functions.prf:
5:19 PM Changeset in webkit [150222] by Patrick Gansterer
  • 3 edits in trunk/Source/WebCore

Remove unused function safeCreateFile() from WebCore
https://bugs.webkit.org/show_bug.cgi?id=116211

Reviewed by Anders Carlsson.

  • platform/FileSystem.h:
  • platform/win/FileSystemWin.cpp:
5:17 PM Changeset in webkit [150221] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[curl] MIME type should be in lowercase
https://bugs.webkit.org/show_bug.cgi?id=116218

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-05-16
Reviewed by Benjamin Poulain.

Existing testcase: http/tests/mime/uppercase-mime-type.html

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::headerCallback): Convert the MIME type to lowercase.

5:14 PM Changeset in webkit [150220] by Patrick Gansterer
  • 7 edits in trunk/Source/JavaScriptCore

Consolidate lists in JavaScriptCore CMake files
https://bugs.webkit.org/show_bug.cgi?id=115992

Reviewed by Gyuyoung Kim.

Move common files into the CMakeLists.txt to avoid duplicating the list of files.
Also rebase the recently added GTK files to match the other CMake ports, since
the submitted patch was based on an older version of the source tree.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • shell/CMakeLists.txt:
  • shell/PlatformEfl.cmake:
  • shell/PlatformGTK.cmake:
5:14 PM Changeset in webkit [150219] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=116209

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-16
Reviewed by Gyuyoung Kim.

  • wtf/CMakeLists.txt: Replace list with set.
5:12 PM Changeset in webkit [150218] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Fix optional value of promptText in Inspector.json
https://bugs.webkit.org/show_bug.cgi?id=116203

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-16
Reviewed by Joseph Pecoraro.

Merge from https://chromiumcodereview.appspot.com/14672031.

No new tests needed.

  • inspector/Inspector.json:
5:11 PM Changeset in webkit [150217] by mary.wu@torchmobile.com.cn
  • 4 edits
    2 adds in trunk/Source

[BlackBerry] Unable to download blob resource
https://bugs.webkit.org/show_bug.cgi?id=115888

Reviewed by Benjamin Poulain.

Source/WebCore:

Add BlobStream to handle over blob data from BlobResourceHandle to download stream.
RIM bug 331086, internally reviewed by Charles Wei and Leo Yang.

  • PlatformBlackBerry.cmake:
  • platform/network/blackberry/BlobStream.cpp: Added.

(WebCore):
(WebCore::BlobStream::BlobStream):
(WebCore::BlobStream::~BlobStream):
(WebCore::BlobStream::didReceiveData):
(WebCore::BlobStream::didFinishLoading):
(WebCore::BlobStream::didFail):
(WebCore::BlobStream::url):
(WebCore::BlobStream::mimeType):

  • platform/network/blackberry/BlobStream.h: Added.

(WebCore):
(BlobStream):

Source/WebKit/blackberry:

For blob resource (blob:http....), it's not suitable to go to NetworkStream
which don't handle "blob" protocol at all. since blob data already handled
in BlobResourceHandle, simply get the data out to download stream.

RIM bug 331086, internally reviewed by Charles Wei and Leo Yang.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):

5:06 PM Changeset in webkit [150216] by andersca@apple.com
  • 13 edits
    5 deletes in trunk/Source/WebCore

Remove SystemTime header and implementations
https://bugs.webkit.org/show_bug.cgi?id=116200

Reviewed by Alexey Proskuryakov.

SystemTim just had a single function that's not called anymore. Remove it.

  • GNUmakefile.list.am:
  • PlatformBlackBerry.cmake:
  • PlatformEfl.cmake:
  • PlatformWinCE.cmake:
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • history/PageCache.cpp:
  • platform/SystemTime.h: Removed.
  • platform/blackberry/SystemTimeBlackBerry.cpp: Removed.
  • platform/efl/SystemTimeEfl.cpp: Removed.
  • platform/graphics/ca/GraphicsLayerCA.cpp:
  • platform/mac/SystemTimeMac.cpp: Removed.
  • platform/qt/TemporaryLinkStubsQt.cpp:
  • platform/win/SystemTimeWin.cpp: Removed.
5:04 PM Changeset in webkit [150215] by glenn@skynav.com
  • 2 edits in trunk/Source/WebCore

[Inspector] Don't filter syntax error caused by asterisk in CSS Property name.
https://bugs.webkit.org/show_bug.cgi?id=116196

Reviewed by Benjamin Poulain.

  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::addMessageToConsole):

  • Remove questionable IE7 related error filtering
5:03 PM Changeset in webkit [150214] by akling@apple.com
  • 90 edits in trunk/Source

Page::chrome() should return a reference.
<http://webkit.org/b/116185>

Source/WebCore:

Reviewed by Anders Carlsson.

A Page's chrome() can never be null. Change Page::chrome() to return a reference to reflect this.
Also, make Page::m_chrome a const member variable so nobody will accidentally set it to null.

Source/WebKit/blackberry:

Reviewed by Anders Carlsson.

Source/WebKit/efl:

Reviewed by Anders Carlsson.

Source/WebKit/gtk:

Reviewed by Anders Carlsson.

Source/WebKit/mac:

Reviewed by Anders Carlsson.

Source/WebKit/qt:

Reviewed by Anders Carlsson.

Source/WebKit/win:

Reviewed by Anders Carlsson.

Source/WebKit2:

Reviewed by Anders Carlsson.

4:57 PM Changeset in webkit [150213] by Simon Fraser
  • 3 edits
    2 adds in trunk

Source/WebCore: Content disappears when scrolling http://www.childrenscancer.org/zach/
https://bugs.webkit.org/show_bug.cgi?id=116206

Reviewed by Darin Adler.

When a RenderLayerBacking gains or loses a foregroundLayer or backgroundLayer,
we need to repaint the primary layer, since what paints into that primary
layer will change.

On the page in question, we gained/lost a foreground layer when scrolling because
the page popped an element into position:fixed.

Test: compositing/repaint/foreground-layer-change.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateForegroundLayer):
(WebCore::RenderLayerBacking::updateBackgroundLayer):

LayoutTests: Content disappears when scrolling http://www.childrenscancer.org/zach/
https://bugs.webkit.org/show_bug.cgi?id=116206

Reviewed by Darin Adler.

Ref test for foreground layer removal.

  • compositing/repaint/foreground-layer-change-expected.html: Added.
  • compositing/repaint/foreground-layer-change.html: Added.
4:48 PM Changeset in webkit [150212] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[wk2] didGetImageForFindMatch can return a null image
https://bugs.webkit.org/show_bug.cgi?id=116251
<rdar://problem/13277246>

Reviewed by Simon Fraser.

Don't send didGetImageForFindMatch if we didn't get an image for
the find match, which can happen if the selection is not visible.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::getImageForFindMatch):

4:38 PM Changeset in webkit [150211] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Fix the hard-coded names of EWS bots that run tests.

  • Scripts/webkitpy/tool/commands/queues.py:

(CommitQueue.did_pass_testing_ews):

2:32 PM Changeset in webkit [150210] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Do not indefinitely cache resources from blob URLs.

Reviewed by Alexey Proskuryakov.

Alexey pointed out after I landed r150169 that blob URLs backed by
files should return an error if the file changed after the URL was
created. By indefinitely caching them in memory, we don't give the
loader a chance to check for modification. Remove "blob" from the list
of schemes that should be indefinitely cached.

  • platform/SchemeRegistry.cpp:

(WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely):

2:23 PM Changeset in webkit [150209] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION: canvas/philip/tests/2d.text.draw.fontface.notinpage.html fails
https://bugs.webkit.org/show_bug.cgi?id=116245

Add a passing/failing test expectation.

  • platform/mac/TestExpectations:
2:18 PM Changeset in webkit [150208] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

[Mac] fast/events/mouse-cursor-image-set.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=116244

Add a flaky test expectation on Mac.

  • platform/mac/TestExpectations:
2:04 PM Changeset in webkit [150207] by Claudio Saavedra
  • 4 edits
    1 move
    1 add
    1 delete in trunk

[CSS] CSS Variables are case-sensitive
https://bugs.webkit.org/show_bug.cgi?id=116239

Reviewed by Ryosuke Niwa.

Source/WebCore:

The CSS Variables specification states that variables are
case-sensitive, unlike other CSS properties.

Test: fast/css/variables/case-sensitive.html

  • css/CSSParser.cpp:

(WebCore::CSSParserString::substring): Replace
the now unnecessary lowerSubstring() with this method.
Also, since the method is only used by the CSS variables
implementation, #ifdef it.
(WebCore::CSSParser::createPrimitiveVariableNameValue):
(WebCore::CSSParser::storeVariableDeclaration):
Do not normalize variable declarations to lowercase.

  • css/CSSParserValues.h:

(CSSParserString): Replace the lowerSubstring() declaration
and wrap with #if/#endif.

LayoutTests:

  • fast/css/variables/case-sensitive-expected.html: Renamed from

fast/css/variables/case-insensitive-expected.html.

  • fast/css/variables/case-sensitive.html: Renamed from

LayoutTests/fast/css/variables/case-insensitive.html.

2:02 PM Changeset in webkit [150206] by beidson@apple.com
  • 6 edits in trunk/Source

svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
<rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917

Reviewed by Sam Weinig.

Source/WebCore:

Give WebKit2 the ability to not mis-cast.

  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::isEmptyFrameLoaderClient): Defaults to false, and include a FIXME

to remove it once https://bugs.webkit.org/show_bug.cgi?id=116233 is resolved.

  • loader/EmptyClients.h: Make isEmptyFrameLoaderClient() return true, and add a FIXME to remove it.

Source/WebKit2:

  • NetworkProcess/SchedulableLoader.cpp:

(WebKit::SchedulableLoader::SchedulableLoader): ASSERT that either there’s a frame and page ID, or

that the client cannot be asked for credentials.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad): Only cast the FrameLoaderClient and get WebFrame/WebPage

if that is actually possible. Set the clientCredentialPolicy based on whether or not WebFrame/WebPage are
available since they are needed to ask the UIProcess for credentials. ASSERT that either there’s both
a frame and page ID or that the client won’t be asked for credentials.

1:50 PM Changeset in webkit [150205] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit/mac

-webView:updateHistoryTitle:forURL: does not pass a frame to the delegate
https://bugs.webkit.org/show_bug.cgi?id=116243

Reviewed by Anders Carlsson.

Added a WebFrame parameter to the delegate method.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::setTitle): Pass the frame to the delegate. Maintain
compatibility with clients that implement the old delegate method that
doesn’t take a frame.

  • WebView/WebDelegateImplementationCaching.h:

(WebHistoryDelegateImplementationCache): Added a field to cache the
implementation of the old delegate method.

  • WebView/WebHistoryDelegate.h: Changed the signature of the delegate method.
  • WebView/WebView.mm:

(-[WebView _cacheHistoryDelegateImplementations]): Cache the implementation
of the new delegate method, but also check for the old one.

1:23 PM Changeset in webkit [150204] by kov@webkit.org
  • 6 edits
    18 adds in trunk

[GTK] Build Xvfb with jhbuild
https://bugs.webkit.org/show_bug.cgi?id=115907

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-05-16
Reviewed by Martin Robinson.

Tools:

Build our own Xvfb so that we can avoid problems with the system Xvfb
relying on symbols not present in our jhbuilt libraries such as pixman,
and also to ensure we have the fix for a GLX module crasher.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): enable accelerated compositing.

  • gtk/install-dependencies: list packages required for building Xvfb.
  • gtk/jhbuild.modules: add xserver as a jhbuild module.
  • gtk/patches/xserver-remove-bogus-dependencies.patch: Added.
  • gtk/patches/xserver-fix-glx-init.patch: Added. Fixes a crash while

initializing the GLX module for Xvfb.

LayoutTests:

Unskip and create baselines for transforms/3d and some webgl tests. We can unskip
more, but I prefer to only dip the toe in the waters first, to see how the bots
react.

  • platform/gtk/TestExpectations:
  • platform/gtk/transforms/3d/general/perspective-non-layer-expected.txt: Added.
  • platform/gtk/transforms/3d/general/perspective-units-expected.txt: Added.
  • platform/gtk/transforms/3d/hit-testing/backface-hit-test-expected.txt: Added.
  • platform/gtk/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt: Added.
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt: Added.
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt: Added.
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt: Added.
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt: Added.
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-expected.txt: Added.
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt: Added.
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt: Added.
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt: Added.
12:37 PM Changeset in webkit [150203] by Lucas Forschler
  • 2 edits in tags/Safari-537.42/Source/WebKit/mac

Merged r150194.

12:33 PM Changeset in webkit [150202] by Lucas Forschler
  • 2 edits in tags/Safari-537.42/Source/WebKit/mac

Merge r150180.

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

Add more Mac test expectations.

  • platform/mac/TestExpectations:
12:13 PM Changeset in webkit [150200] by timothy@apple.com
  • 2 edits in trunk/Source/WebKit2

Make the Find Banner in Safari work again with the docked Web Inspector.

https://webkit.org/b/116182
rdar://problem/13857423

Reviewed by Benjamin Poulain.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
(WebKit::WebInspectorProxy::platformDetach):
Preserve the top position of the inspected view so banners in Safari still work.

12:11 PM Changeset in webkit [150199] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSValue shouldn't protect/unprotect its context
https://bugs.webkit.org/show_bug.cgi?id=116234

Reviewed by Mark Hahnenberg.

Our retain on _context is sufficient.

  • API/JSValue.mm:

(-[JSValue initWithValue:inContext:]):
(-[JSValue dealloc]):

12:09 PM Changeset in webkit [150198] by kov@webkit.org
  • 2 edits in trunk/Tools

[jhbuild] Should remove the sources directory as well when cleaning
https://bugs.webkit.org/show_bug.cgi?id=116229

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-05-16
Reviewed by Martin Robinson.

  • Scripts/update-webkit-libs-jhbuild:

(cleanJhbuild): remove the Source directory as well when cleaning.

12:08 PM Changeset in webkit [150197] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

[wk2] Minimum layout width is lost if the WebProcess crashes
https://bugs.webkit.org/show_bug.cgi?id=116202
<rdar://problem/13202320>

Reviewed by Darin Adler.

Send the minimum layout width to the WebProcess upon initialization,
so that crashed-and-restarted WebProcesses have the correct width.

  • Shared/WebPageCreationParameters.cpp:

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

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters):
Add minimumLayoutWidth WebPage creation parameter.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):
Send the current minimumLayoutWidth to the WebPage when it's created.

(WebKit::WebPageProxy::setMinimumLayoutWidth):
Store minimumLayoutWidth changes that come in while the WebProcess is
not valid, so that the correct width is sent once it is restarted.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
Set minimumLayoutWidth to the value provided by our creation parameters.

12:03 PM Changeset in webkit [150196] by benjamin@webkit.org
  • 5 edits in trunk/Source

Crash properly on iOS
https://bugs.webkit.org/show_bug.cgi?id=115782

Reviewed by Darin Adler.

Improve crash handling. <rdar://problem/13842771>

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
12:00 PM Changeset in webkit [150195] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a test expectation per bug 116238 and remove lines erroneously added in r150090.

  • platform/mac/TestExpectations:
11:40 AM Changeset in webkit [150194] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/mac

Re-land r150168 with some OS version guards.

  • WebView/WebFrameView.mm:

(-[WebFrameView drawRect:]):
(-[WebFrameView wantsUpdateLayer]):
(-[WebFrameView updateLayer]):

11:30 AM Changeset in webkit [150193] by rniwa@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Mac rebaseline. The flakiness dashboard tells us that it started at r150101
but reverting the change locally didn't fix the problem as far as Beth and I checked.

  • platform/mac/platform/mac/fast/text/thai-combining-mark-positioning-expected.txt: Added.
  • platform/mac/platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.txt: Added.
11:30 AM Changeset in webkit [150192] by Martin Robinson
  • 2 edits in trunk

[GTK] [CMake] Disable the shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=116237

Reviewed by Gustavo Noronha Silva.

  • Source/cmake/OptionsGTK.cmake: Disable shadow DOM by default.
11:22 AM Changeset in webkit [150191] by Martin Robinson
  • 2 edits in trunk/Source/WebKit/gtk

[GTK] Documentation for WEBKIT_DEBUG logging channels is out of date
https://bugs.webkit.org/show_bug.cgi?id=114764

Reviewed by Gustavo Noronha Silva.

  • docs/webkitenvironment.xml: Update documentation to reflect current list of

logging channels.

11:19 AM Changeset in webkit [150190] by mhahnenberg@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

observeUseKindOnNode doesn't contain a case for KnownCellUse
https://bugs.webkit.org/show_bug.cgi?id=116130

This would just lead to us being overly conservative when deciding
whether we should unbox GetLocals with KnownCellUse UseKinds.

Reviewed by Filip Pizlo.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::observeUseKindOnNode):

11:16 AM Changeset in webkit [150189] by Martin Robinson
  • 5 edits
    2 adds in trunk

[GTK] Add support for building WebCore to the cmake build
https://bugs.webkit.org/show_bug.cgi?id=116128

Reviewed by Gustavo Noronha Silva.

.:

  • Source/PlatformGTK.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Added more logic and variables to support WebCore and properly

defined some existing variables.

Source/WebCore:

  • PlatformGTK.cmake: Added.
  • platform/gtk/GtkVersioning.c: Include "config.h" because we removed

the autotoolsconfig.h include from the header.

  • platform/gtk/GtkVersioning.h: Remove autotoolsconfig.h include to support for

non-autotools build systems.

11:12 AM Changeset in webkit [150188] by mhahnenberg@apple.com
  • 3 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: infrequent segfault in DFGCodeBlocks::deleteUnmarkedJettisonedCodeBlocks()
https://bugs.webkit.org/show_bug.cgi?id=116134

CodeBlock and JITCode should be ThreadSafeRefCounted. We're going to
start using them on more threads very soon (with concurrent
compilation). This patch also fixes the specific place where we were
superfluously creating a RefPtr.

Reviewed by Oliver Hunt.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::getJITType):

  • jit/JITCode.h:
11:04 AM Changeset in webkit [150187] by rniwa@webkit.org
  • 9 edits in trunk/Source/WebCore

DocumentOrderedMap doesn't need to have two HashMaps
https://bugs.webkit.org/show_bug.cgi?id=116167

Reviewed by Geoffrey Garen.

Previously, we had two hash maps: m_map and m_duplicateCounts in DocumentOrderedMap to keep track
of the first element and the number of duplicates for a given name. This patch simplifies this structure
by having a single hash map that contains both the pointer and the number of duplicates.

In addition, this patch fixes a regression introduced in r149652 that window and document name maps
were not updated for some elements inside a SVG use element, and makes use of the newly added list of
the matching elements in SelectorQuery.

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::clear): Updated to use the new hash map.
(WebCore::DocumentOrderedMap::add): Ditto.
(WebCore::DocumentOrderedMap::remove): Ditto.
(WebCore::DocumentOrderedMap::get): Ditto.
(WebCore::DocumentOrderedMap::getAllElementsById): Added.

  • dom/DocumentOrderedMap.h:

(WebCore::DocumentOrderedMap::MapEntry::MapEntry): Added.
(WebCore::DocumentOrderedMap::containsSingle): Updated to use new hash map.
(WebCore::DocumentOrderedMap::contains): Ditto.
(WebCore::DocumentOrderedMap::containsMultiple): Ditto.

  • dom/Element.cpp:

(WebCore::Element::insertedInto): This function didn't add this element to window and document's name maps
if the element had already been inserted into a tree scope, and the current call was inserting an ancestor
of the tree scope into the document. We were exiting early per scope != treeScope().

Fixed the bug by splitting updateId into two functions updateIdForTreeScope and updateIdForDocument.
The former is called when this element is inserted into a new tree scope, and the latter is called when
this element is inserted into a HTML document even if it had already been inside some tree scope.

(WebCore::Element::removedFrom): This function didn't remove this element from tree scope's id maps if
the tree scope wasn't a document. Fixed the bug by simply checking that the removal happens beneath the
current tree scope.
(WebCore::Element::updateName):
(WebCore::Element::updateNameForTreeScope): Renamed from updateName.
(WebCore::Element::updateNameForDocument): Extracted from updateName.
(WebCore::Element::updateId):
(WebCore::Element::updateIdForTreeScope): Renamed from updateId.
(WebCore::Element::updateIdForDocument): Extracted from updateId.

  • dom/Element.h:
  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::canUseIdLookup): Refactored to return the id subselector instead of checking if
the first subselector happens to be matching an id.
(WebCore::SelectorDataList::execute): Use the subselector canUseIdLookup returned. Also make use of newly
added getAllElementsById when there are multiple matching elements for a given id.

  • dom/SelectorQuery.h:
  • dom/TreeScope.cpp:

(WebCore::TreeScope::getAllElementsById): Added.

  • dom/TreeScope.h:
10:54 AM Changeset in webkit [150186] by mark.lam@apple.com
  • 18 edits
    2 adds in branches/dfgFourthTier/Source/JavaScriptCore

Implement a probe mechanism for JIT generated code.
https://bugs.webkit.org/show_bug.cgi?id=115705.

Reviewed by Geoffrey Garen.

The probe is in the form of a MacroAssembler pseudo instruction.
It takes 3 arguments: a ProbeFunction, and 2 void* args.

When inserted into the JIT at some code generation site, the probe
pseudo "instruction" will emit a minimal amount of code to save the
stack pointer, 1 (or more) scratch register(s), and the probe
arguments into a ProbeContext record on the stack. The emitted code
will then call a probe trampoline to do the rest of the work, which
consists of:

  1. saving the remaining registers into the ProbeContext.
  2. calling the ProbeFunction, and passing it the ProbeContext pointer.
  3. restoring the registers from the ProbeContext after the ProbeFunction returns, and then returning to the JIT generated code.

The ProbeContext is stack allocated and is only valid for the duration
that the ProbeFunction is executing.

If the user supplied ProbeFunction alters the register values in the
ProbeContext, the new values will be installed into the registers upon
returning from the probe. This can be useful for some debugging or
testing purposes.

The probe mechanism is built conditional on USE(MASM_PROBE) which is
defined in config.h. USE(MASM_PROBE) will off by default.

This changeset only implements the probe mechanism for X86 and X86_64.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • assembler/MacroAssembler.h:

(MacroAssembler):
(JSC::MacroAssembler::shouldBlind):
(JSC::MacroAssembler::store32):

  • assembler/MacroAssemblerX86.h:

(MacroAssemblerX86):
(JSC::MacroAssemblerX86::trustedImm32FromPtr):
(JSC::MacroAssemblerX86::probe):

  • assembler/MacroAssemblerX86Common.cpp: Added.

(JSC::MacroAssemblerX86Common::ProbeContext::dumpCPURegisters):

  • CPU specific register dumper called by ProbeContext::dump().

(JSC::MacroAssemblerX86Common::ProbeContext::dump):

  • Prints the ProbeContext to the DataLog.
  • assembler/MacroAssemblerX86Common.h:

(MacroAssemblerX86Common):
(CPUState): Added.
(ProbeContext): Added.

  • assembler/MacroAssemblerX86_64.h:

(MacroAssemblerX86_64):
(JSC::MacroAssemblerX86_64::trustedImm64FromPtr):
(JSC::MacroAssemblerX86_64::probe):

  • assembler/X86Assembler.h:
  • config.h: Added WTF_USE_MASM_PROBE flag.
  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
  • jit/JITStubsX86.h:
  • jit/JITStubsX86Common.h: Added.
  • jit/JITStubsX86_64.h:
10:23 AM Changeset in webkit [150185] by kov@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.0

[GTK] WebAudio doesn't build in WebKitGTK+ 2.0.2
https://bugs.webkit.org/show_bug.cgi?id=116154

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-16
Reviewed by Gustavo Noronha Silva.

Don't override the value of ENABLE_WEB_AUDIO selected in the
configure script.

  • Source/autotools/SetupWebKitFeatures.m4:
10:06 AM Changeset in webkit [150184] by sergio@webkit.org
  • 3 edits in trunk/LayoutTests

Enable the CSSVariables setting in css-variable-definition.html test
https://bugs.webkit.org/show_bug.cgi?id=116231

Reviewed by Andreas Kling.

CSSVariablesEnabled setting must be set to true to allow
CSSVariables at runtime.

Modified also the indent size to 4 spaces.

  • css3/css-variable-definition-expected.html:
  • css3/css-variable-definition.html:
8:44 AM Changeset in webkit [150183] by Darin Adler
  • 6 edits in trunk/Source/WebCore

[Mac] Make Clipboard::create functions for Mac platform independent by moving Pasteboard creation to Pasteboard functions
https://bugs.webkit.org/show_bug.cgi?id=116179

Reviewed by Andreas Kling.

  • dom/Clipboard.cpp:

(WebCore::Clipboard::createForCopyAndPaste): Moved the function here from
ClipboardMac, and have it use Pasteboard functions that are not Mac-specific.
(WebCore::Clipboard::create): Ditto.
(WebCore::Clipboard::createForDragAndDrop): Ditto.

  • platform/DragData.h:

(WebCore::DragData::pasteboardName): Made this const.

  • platform/Pasteboard.h: Added new create functions, used by the clipboard

create functions above.

  • platform/mac/ClipboardMac.mm: Removed the functions that were moved to the

Clipboard.cpp file.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::createForCopyAndPaste): Added.
(WebCore::Pasteboard::createPrivate): Added.
(WebCore::Pasteboard::createForDragAndDrop): Added.

8:19 AM Changeset in webkit [150182] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebKit/gtk

[GTK] TargetFrame and innerNodeFrame confused
https://bugs.webkit.org/show_bug.cgi?id=102907

Reviewed by Martin Robinson.

  • webkit/webkithittestresult.cpp:

(WebKit::kit):

7:38 AM WebKitGTK/TrackingMemoryErrors edited by Manuel Rego Casasnovas
(diff)
5:49 AM Changeset in webkit [150181] by dominik.rottsches@intel.com
  • 2 edits in trunk/Tools

[EFL] Remove Intel Wk2 Buildbots from Master
https://bugs.webkit.org/show_bug.cgi?id=116149

Removing Intel maintained EFL Wk2 bots except the handle for efl-linux-slave-2
since Gyuyoung Kim from Samsung plans to take over and maintain it.

Reviewed by Benjamin Poulain.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:07 AM Changeset in webkit [150180] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Unreviewed, rolling out r150168.
http://trac.webkit.org/changeset/150168
https://bugs.webkit.org/show_bug.cgi?id=116214

broke the world on Mountain Lion (Requested by thorton on
#webkit).

  • WebView/WebFrameView.mm:

(-[WebFrameView drawRect:]):

2:47 AM Changeset in webkit [150179] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/Source/WebKit2

[Win] Unreviewed buildfix after r150161.

'Unknown' in HTTPRequest.cpp is ambiguous symbol with MSVC,
because it is also defined in MS SDK 7.1 winioctl.h.

  • UIProcess/InspectorServer/HTTPRequest.cpp:

(WebKit::HTTPRequest::HTTPRequest):

1:46 AM Changeset in webkit [150178] by abecsi@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] PluginInformation.cpp fails to build because of missing ENABLE(NETSCAPE_PLUGIN_API) guard
https://bugs.webkit.org/show_bug.cgi?id=116018

Rubber-stamped by Jocelyn Turcotte.

  • Shared/Plugins/Netscape/PluginInformation.cpp:

(WebKit::getPluginModuleInformation):

Note: See TracTimeline for information about the timeline view.