⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 21, 2013:

11:26 PM Changeset in webkit [150503] by commit-queue@webkit.org
  • 7 edits
    7 deletes in trunk

Source/WebCore: Update the background blending implementation to match the changes done
in the spec. This implies that background color blending is removed and
the background layers won't blend with the content behind the element
any more.
https://bugs.webkit.org/show_bug.cgi?id=116212

Patch by Mihai Tica <mitica@adobe.com> on 2013-05-21
Reviewed by Dean Jackson.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintFillLayers):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

LayoutTests: Updating element background blending to conform to the changes in the spec.
This implies that the background layers won't longer blend with the content
behind the element.
Removing the background color tests, as background color blending is no longer
a valid use case, also modified the current background image tests.
https://bugs.webkit.org/show_bug.cgi?id=116212

Patch by Mihai Tica <mitica@adobe.com> on 2013-05-21
Reviewed by Dean Jackson.

  • css3/compositing/effect-background-blend-mode-color-expected.txt: Removed.
  • css3/compositing/effect-background-blend-mode-color.html: Removed.
  • css3/compositing/effect-background-blend-mode-color2-expected.txt: Removed.
  • css3/compositing/effect-background-blend-mode-color2.html: Removed.
  • css3/compositing/effect-background-blend-mode-stacking-expected.png: Removed.
  • css3/compositing/effect-background-blend-mode-stacking.html:
  • platform/mac/css3/compositing/effect-background-blend-mode-color-expected.png: Removed.
  • platform/mac/css3/compositing/effect-background-blend-mode-color2-expected.png: Removed.
  • platform/mac/css3/compositing/effect-background-blend-mode-expected.png:
  • platform/mac/css3/compositing/effect-background-blend-mode-stacking-expected.png:
11:18 PM Changeset in webkit [150502] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

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

Unreviewed EFL gardening.

http/tests/websocket/tests/hybi/close-on-navigate-new-location.html was skipped in r150497.

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

  • platform/efl/TestExpectations: Remove duplicate entry.
11:09 PM Changeset in webkit [150501] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Web Inspector: [Mac] inspector/geolocation-error.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=116592

Add a flaky test expectation.

  • platform/mac/TestExpectations:
10:49 PM Changeset in webkit [150500] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r150491): WebKit2.CloseThenTerminate asserting below WebContext::disconnectProcess().
<http://webkit.org/b/116588>

Reviewed by Sam Weinig.

Do an early return from WebProcessProxy::requestTermination() if there is no child process
connection to terminate.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::requestTermination):

8:07 PM Changeset in webkit [150499] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[Windows, curl] WebDownloadCurl.cpp should not include SystemTime.h
https://bugs.webkit.org/show_bug.cgi?id=116584

Patch by Mark Salisbury <mark.salisbury@hp.com> on 2013-05-21
Reviewed by Brent Fulgham.

SystemTime header and implementation are no longer used and were removed
recently - http://trac.webkit.org/changeset/150216.

  • WebDownloadCurl.cpp:
7:36 PM Changeset in webkit [150498] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

Use-after-free in DOMSelection::containsNode
https://bugs.webkit.org/show_bug.cgi?id=116468

Reviewed by Andreas Kling.

Source/WebCore:

Retain the node pointer. Also bail out early if the node was not in the document
since Range::compareBoundaryPoints sets ec to WRONG_DOCUMENT_ERR otherwise.

Test: editing/selection/contains-node-crash.html

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::containsNode):

  • page/DOMSelection.h:

(DOMSelection):

LayoutTests:

Add a regression test from https://chromium.googlesource.com/chromium/blink/+/40bb8089352b15dd034641b4c131111cd79b44f1.

  • editing/selection/contains-node-crash-expected.txt: Added.
  • editing/selection/contains-node-crash.html: Added.
7:35 PM Changeset in webkit [150497] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip a test which has problem related to ecore library.

  • platform/efl/TestExpectations:
7:13 PM Changeset in webkit [150496] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Web Inspector: InspectorFrontendHost::loadResourceSynchronously() builds ASCII-only results
https://bugs.webkit.org/show_bug.cgi?id=116569

Merge: https://chromium.googlesource.com/chromium/blink/+/7f1cfecfe34f4dbc6ce1ef0250b13f2058128eeb

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

Source/WebCore:

Test: inspector/load-resource-synchronously-utf8.html

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::loadResourceSynchronously):

LayoutTests:

  • inspector/load-resource-synchronously-utf8-expected.txt: Added.
  • inspector/load-resource-synchronously-utf8.html: Added.
7:13 PM Changeset in webkit [150495] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13915556> Sluggish scrolling in web content

Reviewed by Gavin Barraclough.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::setProcessSuppressionEnabled): When process suppression is disabled, low latency is important.

6:47 PM Changeset in webkit [150494] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebKit2

Fix build break after r150484

Unreviewed, fix build break on EFL, GTK.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::platformGetLaunchOptions):

5:25 PM Changeset in webkit [150493] by rniwa@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r150369): WebKit2WillLoadTest tests are failing
https://bugs.webkit.org/show_bug.cgi?id=116585

Reviewed by Alexey Proskuryakov.

willLoadURLRequest and willLoadDataRequest require the API version 6.

  • TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp:
5:07 PM Changeset in webkit [150492] by aestes@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Check in the test and result I forgot to 'git add' before committing r150490.

  • http/tests/security/cross-origin-session-storage-third-party-blocked-expected.txt: Added.
  • http/tests/security/cross-origin-session-storage-third-party-blocked.html: Added.
5:07 PM Changeset in webkit [150491] by akling@apple.com
  • 5 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.

Simplify the web process sacrifice ritual. Instead of murderizing the process when its last tab closes,
just shut down the CoreIPC connection from the UI process. The web process, upon noticing this,
will start a 10 second watchdog timer, and if it hasn't shut down by the time it fires, well, it'll shut down.

(WebKit::WebProcessProxy::removeWebPage):

When the last page is removed from a WebProcessProxy, disconnect the process so that it'll die off
eventually, even if the WebPage::Close message never gets properly handled.

  • Shared/ChildProcessProxy.h:
  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded):

Added a helper to abort any in-progress launch of a new web process. Otherwise we'll have a race
where the exiting web process may get re-used for a new tab.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::enableSuddenTermination):
(WebKit::WebProcessProxy::disableSuddenTermination):

Remove WebProcessProxy's sudden termination counter. The web process will do what it needs in
response to the WebPage::Close message. We still forward these calls to NSProcessInfo on Mac though.

5:03 PM Changeset in webkit [150490] by aestes@apple.com
  • 6 edits
    2 deletes in trunk

Allow session storage for third-party origins even if third-party data access is blocked.
https://bugs.webkit.org/show_bug.cgi?id=116532

Reviewed by Anders Carlsson.

Source/WebCore:

In http://trac.webkit.org/changeset/149326 we relaxed our policy for
localStorage when third-party data blocking is enabled to create a
transient, session-scoped storage area for the third-party origin
instead of throwing an exception. Since this gives essentially the same
behavior as sessionStorage, we might as well also allow sessionStorage
for third-party origins.

Test: http/tests/security/cross-origin-session-storage-third-party-blocked.html

  • WebCore.exp.in: Updated the symbol for

SecurityOrigin::canAccessStorage.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::sessionStorage): Called canAccessSessionStorage()
rather than canAccessLocalStorage().

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::canAccessStorage): Passed in an enum
indicating if access should be allowed from third-party origins.

  • page/SecurityOrigin.h:

(WebCore::SecurityOrigin::canAccessSessionStorage): Called
canAccessStorage() with AlwaysAllowFromThirdParty.
(SecurityOrigin):

LayoutTests:

  • http/tests/security/cross-origin-session-storage-third-party-blocked-expected.txt: Renamed from LayoutTests/http/tests/security/cross-origin-session-storage-expected.txt.
  • http/tests/security/cross-origin-session-storage-third-party-blocked.html: Renamed from LayoutTests/http/tests/security/cross-origin-session-storage.html.
4:53 PM Changeset in webkit [150489] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Windows] Unreviewed speculative fix for test-bots.

Add export declaration for WTFInvokeCrashHook to avoid runtime
load error on test bots.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
4:34 PM Changeset in webkit [150488] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Web Inspector: inspector/styles/import-pseudoclass-crash.html intermittently hits an assertion in HTMLLinkElement::startLoadingDynamicSheet
https://bugs.webkit.org/show_bug.cgi?id=116582

Add a flaky crash expectation.

  • platform/mac/TestExpectations:
4:09 PM Changeset in webkit [150487] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Update Mountain Lion test expectations per bug 116477.

  • platform/mac/TestExpectations:
4:02 PM Changeset in webkit [150486] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
Stop using lambdas :(

4:01 PM Changeset in webkit [150485] by Hugo Parente Lima
  • 2 edits in trunk/Source/WebCore

[EFL] Add missing #if guards on drag support methods
https://bugs.webkit.org/show_bug.cgi?id=116574

Reviewed by Christophe Dumez.

  • platform/efl/PasteboardEfl.cpp:

(WebCore):

3:54 PM Changeset in webkit [150484] by andersca@apple.com
  • 33 edits
    1 copy in trunk/Source/WebKit2

Provide an API to run sandboxed plug-ins outside of their sandbox
https://bugs.webkit.org/show_bug.cgi?id=116578

Reviewed by Andreas Kling.

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction):
Add new overload.

  • PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:

(WebKit::PluginProcessMainDelegate::getExtraInitializationData):
Handle "disable-sandbox".

  • PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:

(WebKit::PluginServiceInitializerDelegate::getExtraInitializationData):
Handle "disable-sandbox".

  • PluginProcess/PluginProcess.h:

Move Type to PluginProcessAttributes and remove hash traits for type.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::platformInitializePluginProcess):
Update for new type name.

(WebKit::PluginProcess::initializeSandbox):
Return early if the sandbox is disabled.

  • Shared/Plugins/Netscape/PluginInformation.cpp:

(WebKit::getPluginModuleInformation):
PluginInfoStore::policyForPlugin has been renamed to PluginInfoStore::defaultLoadPolicyForPlugin.

  • Shared/Plugins/PluginModuleInfo.h:

Add PluginModuleLoadUnsandboxed.

  • Shared/Plugins/PluginProcessAttributes.h: Added.

Add new header with various plug-in process attributes.

  • Shared/Plugins/PluginProcessCreationParameters.h:

Change type enum.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toWKPluginLoadPolicy):
(WebKit::toPluginModuleLoadPolicy):
Handle the unsandboxed enum.

  • UIProcess/API/C/WKPage.h:

Add kWKPluginLoadPolicyLoadUnsandboxed.

  • UIProcess/Plugins/PluginInfoStore.h:

Rename policyForPlugin to defaultLoadPolicyForPlugin.

  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::pluginProcessToken):
Add new helper function for getting a token given plug-in attributes.

(WebKit::PluginProcessManager::getPluginProcessConnection):
This now takes a pluginProcessToken.

(WebKit::PluginProcessManager::getSitesWithData):
Make sure to call pluginProcessToken.

(WebKit::PluginProcessManager::clearSiteData):
Ditto.

(WebKit::PluginProcessManager::getOrCreatePluginProcess):
This now takes a token.

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::create):
(WebKit::PluginProcessProxy::PluginProcessProxy):
Pass the PluginProcessAttributes as well as the plug-in process token.

(WebKit::PluginProcessProxy::getLaunchOptions):
Pass the plug-in process attributes to platformGetLaunchOptions.

(WebKit::PluginProcessProxy::didClose):
Pass the token to PluginProcessCrashed.

(WebKit::PluginProcessProxy::didFinishLaunching):
Update for type change.

  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::shouldBlockPlugin):
(WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
Rename policyForPlugin to defaultLoadPolicyForPlugin.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::platformGetLaunchOptions):
Set the "disable-sandbox" data if needed.

(WebKit::PluginProcessProxy::platformInitializePluginProcess):
(WebKit::PluginProcessProxy::openPluginPreferencePane):
Get the module info from m_pluginProcessAttributes.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findPlugin):
This now returns a token.

  • UIProcess/WebPageProxy.messages.in:

FindPlugin now returns a token instead of the path.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getPluginProcessConnection):
Pass the token to the plug-in process manager.

  • UIProcess/WebProcessProxy.messages.in:

This now takes a token.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::PluginProcessConnection):
This now takes a token.

  • WebProcess/Plugins/PluginProcessConnection.h:

(WebKit::PluginProcessConnection::create):
(WebKit::PluginProcessConnection::pluginProcessToken):
Create this with a token instead of a path and process type.

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
This now takes a token.

(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
Ditto.

  • WebProcess/Plugins/PluginProcessConnectionManager.messages.in:

PluginProcessCrashed now takes a token.

  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::create):
(WebKit::PluginProxy::PluginProxy):
These now take tokens.

(WebKit::PluginProxy::initialize):
Pass the token when getting the connection.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
Get the token from the UI process and pass it to the PluginProxy.

(WebKit::WebPage::canPluginHandleResponse):
Update now that FindPlugin returns a token.

3:48 PM Changeset in webkit [150483] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

Remove stub HTMLContentElement
https://bugs.webkit.org/show_bug.cgi?id=116580

Reviewed by Andreas Kling.

Inherit DetailsContentElement and DetailsSummaryElement directly from InsertionPoint instead.

  • html/HTMLDetailsElement.cpp:

(WebCore::DetailsContentElement::DetailsContentElement):
(WebCore::DetailsSummaryElement::DetailsSummaryElement):

  • html/HTMLSummaryElement.cpp:

(WebCore::SummaryContentElement::SummaryContentElement):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::contentTagName):

  • html/shadow/HTMLContentElement.h:

(WebCore::isHTMLContentElement):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::setResetStyleInheritance):

  • html/shadow/InsertionPoint.h:


Also remove some leftover selector code.

(WebCore::InsertionPoint::insertionPointType):

3:20 PM Changeset in webkit [150482] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Robustify repaint of previous caret node when moving FrameSelection.
<http://webkit.org/b/116558>

Reviewed by Ryosuke Niwa.

As a follow-up to r150396, also repaint the caret rects if the previous node is contenteditable.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::recomputeCaretRect):

3:06 PM Changeset in webkit [150481] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r150469. We need to bail out here when DOM is mutated by an event listener such that
the split text nodes no longer exist right next to each other.

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::doApply):

2:38 PM Changeset in webkit [150480] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

Remove ScopeContentDistribution
https://bugs.webkit.org/show_bug.cgi?id=116576

Reviewed by Andreas Kling.

With maximum one ShadowRoot per Element this can be smashed into ContentDistributor.

  • dom/ShadowRoot.cpp:

(WebCore):

  • dom/ShadowRoot.h:

(WebCore):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::ContentDistributor):
(WebCore):
(WebCore::ContentDistributor::~ContentDistributor):
(WebCore::ContentDistributor::invalidateInsertionPointList):
(WebCore::ContentDistributor::ensureInsertionPointList):
(WebCore::ContentDistributor::distribute):
(WebCore::ContentDistributor::invalidate):

  • html/shadow/ContentDistributor.h:

(WebCore):
(ContentDistributor):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::InsertionPoint):
(WebCore::InsertionPoint::insertedInto):
(WebCore::InsertionPoint::removedFrom):

Simplify insertion point list invalidation.

  • html/shadow/InsertionPoint.h:
2:28 PM Changeset in webkit [150479] by rniwa@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r150393): editing/inserting/typing-at-end-of-line.html fails
https://bugs.webkit.org/show_bug.cgi?id=116516

Reviewed by Alexey Proskuryakov.

Reset states in DumpRenderTree. The fix for WebKitTestRunner should be implemented in the bug 116577.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow): Match the ordering.
(resetWebViewToConsistentStateBeforeTesting): Reset text replacement states.

2:04 PM Changeset in webkit [150478] by zoltan@webkit.org
  • 3 edits
    4 adds in trunk

[CSS Regions][CSS Exclusions] Multiple regions with shape-insides should respect positioned shapes and overflow
https://bugs.webkit.org/show_bug.cgi?id=115001

Reviewed by David Hyatt.

In r150375 I implemented the new overflow behavior for shape-inside on regions, but it covered only the simple cases
when you had only one region. This patch adds support for the new overflow behavior for multiple regions with multiple
positioned shape-insides and overflow.

Source/WebCore:

Tests: fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html

fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::updateLineBoundariesForExclusions): Cover cases when content flows into the next region, update the
line segments for the overflow.
(WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): In flow thread case we don't want to adjust the height
in two places.

LayoutTests:

  • fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html: Added.
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html: Added.
2:00 PM Changeset in webkit [150477] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Reenable storage tests
https://bugs.webkit.org/show_bug.cgi?id=116559

Unreviewed update to TestExpectations:

  1. Storage features are present on Windows, so test them.
  2. Disable (for now) the four websql tests that fail.
  • platform/win/TestExpectations:
1:52 PM Changeset in webkit [150476] by jer.noble@apple.com
  • 3 edits
    1 delete in trunk/LayoutTests

Unreviewed gardening; rebaseline and re-enable media/track/track-cue-rendering-snap-to-lines-not-set.html

  • media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Removed.
1:42 PM Changeset in webkit [150475] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r150425.
http://trac.webkit.org/changeset/150425
https://bugs.webkit.org/show_bug.cgi?id=116573

Not the right fix for WebKit2 (Requested by rniwa on #webkit).

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

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

1:38 PM Changeset in webkit [150474] by ap@apple.com
  • 6 edits in trunk/Tools

<rdar://problem/13929704> [WK2] WebKitTestRunner always crashes on exit
https://bugs.webkit.org/show_bug.cgi?id=116568

Reviewed by Anders Carlsson.

  • WebKitTestRunner/WebNotificationProvider.cpp: (WTR::WebNotificationProvider::~WebNotificationProvider):
  • WebKitTestRunner/WebNotificationProvider.h: When the provider is destroyed, it should no longer be registered with the manager.
  • WebKitTestRunner/GeolocationProviderMock.cpp: (WTR::GeolocationProviderMock::~GeolocationProviderMock):
  • WebKitTestRunner/GeolocationProviderMock.h: I wasn't seeing a crash here, but this code has the same issue as notification provider, so applying the same fix.
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::~TestController): Close icon database. I started seeing ASSERT(!isOpen()) in WebCore IconDatabase destructor having fixed the above.
1:32 PM Changeset in webkit [150473] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Update test expectations after r150472 for the bug 116125.

  • platform/wk2/TestExpectations:
1:25 PM WebKitGTK/2.0.x edited by kov@webkit.org
(diff)
1:21 PM Changeset in webkit [150472] by commit-queue@webkit.org
  • 5 edits in trunk

Unreviewed, rolling out r150386 and r150397.
http://trac.webkit.org/changeset/150386
http://trac.webkit.org/changeset/150397
https://bugs.webkit.org/show_bug.cgi?id=116572

Broke a test; Alex is going to try again later. (Requested by
thorton on #webkit).

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::pathSuitableForTestResult):
(WTR::dumpRequestDescriptionSuitableForTestResult):
(WTR::dumpResponseDescriptionSuitableForTestResult):
(WTR::InjectedBundlePage::willPerformClientRedirectForFrame):
(WTR::InjectedBundlePage::didInitiateLoadForResource):
(WTR::InjectedBundlePage::willSendRequestForFrame):
(WTR::InjectedBundlePage::didReceiveResponseForResource):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:

(InjectedBundlePage):

LayoutTests:

  • platform/wk2/TestExpectations:
1:02 PM Changeset in webkit [150471] by jer.noble@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Unreviewed gardening; rebaseline and re-enable media/track/track-cue-rendering-snap-to-lines-not-set.html
https://bugs.webkit.org/show_bug.cgi?id=116567

  • media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Removed.
12:43 PM Changeset in webkit [150470] by fpizlo@apple.com
  • 3 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL shouldn't use FastISel and Small code model should be turned off for now
https://bugs.webkit.org/show_bug.cgi?id=115998

Reviewed by Oliver Hunt.

This switches off FastISel and makes it possible to turn off Small code model.

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • runtime/Options.h:

(JSC):

12:34 PM Changeset in webkit [150469] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

dispatchEvent call can execute javascript and blow away endRoot from underneath
https://bugs.webkit.org/show_bug.cgi?id=116483

Source/WebCore:

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/798cba0af9b2aff21e475e2e08ea3ca5e97dfc2c.

Test: editing/undo/undo-after-event-edited.html

  • editing/Editor.cpp:

(WebCore::dispatchEditableContentChangedEvents):

LayoutTests:

Reviewed by Andreas Kling.

Add a regression test.

  • editing/undo/undo-after-event-edited-expected.txt: Added.
  • editing/undo/undo-after-event-edited.html: Added.
12:32 PM Changeset in webkit [150468] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

media/track/track-cue-rendering-snap-to-lines-not-set.html is failing
https://bugs.webkit.org/show_bug.cgi?id=116567

Add a failing test expectation to the test added in r150452.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2013-05-21

  • platform/mac/TestExpectations:
  • platform/mac/media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Added.
12:28 PM Changeset in webkit [150467] by rniwa@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

media/track/track-cue-rendering-snap-to-lines-not-set.html is failing
https://bugs.webkit.org/show_bug.cgi?id=116567

Add a failing test expectation to the test added in r150452.

  • platform/mac/TestExpectations:
  • platform/mac/media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Added.
12:26 PM Changeset in webkit [150466] by fpizlo@apple.com
  • 34 edits
    1 delete in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: should use ConcurrentJITLock[er] directly and not through typedef
https://bugs.webkit.org/show_bug.cgi?id=116561

Rubber stamped by Geoffrey Garen.

(JSC::ArrayProfile::computeUpdatedPrediction):
(JSC::ArrayProfile::briefDescription):

  • bytecode/ArrayProfile.h:

(ArrayProfile):
(JSC::ArrayProfile::expectedStructure):
(JSC::ArrayProfile::structureIsPolymorphic):
(JSC::ArrayProfile::hasDefiniteStructure):
(JSC::ArrayProfile::observedArrayModes):
(JSC::ArrayProfile::mayInterceptIndexedAccesses):
(JSC::ArrayProfile::mayStoreToHole):
(JSC::ArrayProfile::outOfBounds):
(JSC::ArrayProfile::usesOriginalArrayStructures):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpValueProfiling):
(JSC::CodeBlock::dumpArrayProfiling):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC::CodeBlock::updateAllArrayPredictions):
(JSC::CodeBlock::nameForRegister):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
(CodeBlock):

  • bytecode/CodeBlockLock.h: Removed.
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):

  • bytecode/LazyOperandValueProfile.cpp:

(JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
(JSC::CompressedLazyOperandValueProfileHolder::add):
(JSC::LazyOperandValueProfileParser::initialize):
(JSC::LazyOperandValueProfileParser::prediction):

  • bytecode/LazyOperandValueProfile.h:

(CompressedLazyOperandValueProfileHolder):
(LazyOperandValueProfileParser):

  • bytecode/MethodOfGettingAValueProfile.cpp:

(JSC::MethodOfGettingAValueProfile::getSpecFailBucket):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecode/ResolveGlobalStatus.cpp:

(JSC::ResolveGlobalStatus::computeFor):

  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::briefDescription):
(JSC::ValueProfileBase::computeUpdatedPrediction):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addVar):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::fromObserved):

  • dfg/DFGArrayMode.h:

(ArrayMode):
(JSC::DFG::ArrayMode::withProfile):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::getArrayMode):
(JSC::DFG::ByteCodeParser::getArrayModeAndEmitChecks):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

  • jit/JITInlines.h:

(JSC::JIT::chooseArrayMode):

  • jit/JITStubs.cpp:

(JSC::tryCachePutByID):
(JSC::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::lazyLinkFor):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::setUpCall):

  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence):

  • runtime/Executable.cpp:

(JSC::ProgramExecutable::addGlobalVar):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::getOwnNonIndexPropertyNames):
(JSC::JSActivation::symbolTablePutWithAttributes):

  • runtime/JSScope.cpp:

(JSC::JSScope::resolveContainingScopeInternal):
(JSC::JSScope::resolvePut):

  • runtime/JSSegmentedVariableObject.cpp:

(JSC::JSSegmentedVariableObject::findRegisterIndex):
(JSC::JSSegmentedVariableObject::addRegisters):

  • runtime/JSSegmentedVariableObject.h:

(JSSegmentedVariableObject):

  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/Structure.cpp:

(JSC::Structure::materializePropertyMap):
(JSC::Structure::addPropertyTransitionToExistingStructureConcurrently):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::takePropertyTableOrCloneIfPinned):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::putSpecificValue):
(JSC::Structure::remove):
(JSC::Structure::createPropertyMap):

  • runtime/Structure.h:

(Structure):

  • runtime/SymbolTable.h:

(SymbolTable):
(JSC::SymbolTable::find):
(JSC::SymbolTable::get):
(JSC::SymbolTable::inlineGet):
(JSC::SymbolTable::begin):
(JSC::SymbolTable::end):
(JSC::SymbolTable::size):
(JSC::SymbolTable::add):
(JSC::SymbolTable::set):
(JSC::SymbolTable::contains):

12:10 PM Changeset in webkit [150465] by fpizlo@apple.com
  • 39 edits
    4 adds in branches/dfgFourthTier/Source

fourthTier: DFG should be able to run on a separate thread
https://bugs.webkit.org/show_bug.cgi?id=112839

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

This is the final bit of concurrent JITing. The idea is that there is a
single global worklist, and a single global thread, that does all
optimizing compilation. This is the DFG::Worklist. It contains a queue of
DFG::Plans, and a map from CodeBlock* (the baseline code block we're
trying to optimize) to DFG::Plan. If the DFGDriver tries to concurrently
compile something, it puts the Plan on the Worklist. The Worklist's
thread will compile that Plan eventually, and when it's done, it will
signal its completion by (1) notifying anyone waiting for the Worklist to
be done, and (2) forcing the CodeBlock::m_jitExecuteCounter to take slow
path. The next Baseline JIT cti_optimize call will then install all ready
(i.e. compiled) Plans for that VM. Note that (1) is only for the GC and
VM shutdown, which will want to ensure that there aren't any outstanding
async compilations before proceeding. They do so by simply waiting for
all of the plans for the current VM to complete. (2) is the actual way
that code typically gets installed.

This is all very racy by design. For example, just as we try to force the
execute counter to take slow path, the main thread may be setting the
execute counter to some other value. The main thread must set it to
another value because (a) JIT code is constantly incrementing the counter
in a racy way, (b) the cti_optimize slow path will set it to some
large-ish negative value to ensure that cti_optimize isn't called
repeatedly, and (c) OSR exits from previously jettisoned code blocks may
still want to reset the counter values. This "race" is made benign, by
ensuring that while there is an asynchronous compilation, we at worse set
the counter to optimizeAfterWarmUp and never to deferIndefinitely. Hence
if the race happens then the worst case is that we wait another ~1000
counts before installing the optimized code. Another defense is that if
any CodeBlock calls into cti_optimize, then it will check for all ready
plans for the VM - so even if a code block has to wait another ~1000
executions before it calls cti_optimize to do the installation, it may
actually end up being installed sooner because a different code block had
called cti_optimize, potentially for an unrelated reason.

Special care is taken to ensure that installing plans informs the GC
about the increased memory usage, but also ensures that we don't recurse
infinitely - since at start of GC we try to install outstanding plans.
This is done by introducing a new GC deferral mechanism (the DeferGC
block-scoped thingy), which will ensure that GCs don't happen in the
scope but are allowed to happen after. This still leaves the strange
corner case that cti_optimize may install outstanding plans, then GC, and
that GC may jettison the code block that was installed. This, and the
fact that the plan that we took slow path to install could have been a
failed or invalid compile, mean that we have to take special precautions
in cti_optimize.

This patch also fixes a number of small concurrency bugs that I found
when things started running. There are probably more of those bugs still
left to fix. This patch just fixes the ones I know about.

Concurrent compilation is right now only enabled on X86_64 Mac. We need
platforms that are sufficiently CAStastic so that we can do the various
memory fence and CAS tricks that make this safe. We also need a platform
that uses JSVALUE64. And we need pthread_once. So, that pretty much means
just X64_64 for now. Enabling Linux-64_64 should be a breeze, but I'll
leave that up to the Qt and GTK+ ports to do at their discretion.

This is a solid speed-up on SunSpider (8-9%) and V8Spider (16%), our two
main compile-time benchmarks. Most peculiarly, this also appears to
reduce measurement noise, rather than increasing it as you would have
expected. I don't understand that result but I like it anyway. On the
other hand, this is a slight (1%) slow-down on V8v7. I will continue to
investigate this but I think that the results are already good enough
that we should land this as-is. So far, it appears that the slow-down is
due to this breaking the don't-compile-inlineables heuristics. See
investigation in https://bugs.webkit.org/show_bug.cgi?id=116556 and the
bug https://bugs.webkit.org/show_bug.cgi?id=116557.

(JSC):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::resetStubInternal):
(JSC::CodeBlock::baselineVersion):
(JSC::CodeBlock::hasOptimizedReplacement):
(JSC::CodeBlock::optimizationThresholdScalingFactor):
(JSC::CodeBlock::checkIfOptimizationThresholdReached):
(JSC::CodeBlock::optimizeNextInvocation):
(JSC::CodeBlock::dontOptimizeAnytimeSoon):
(JSC::CodeBlock::optimizeAfterWarmUp):
(JSC::CodeBlock::optimizeAfterLongWarmUp):
(JSC::CodeBlock::optimizeSoon):
(JSC::CodeBlock::forceOptimizationSlowPathConcurrently):
(JSC::CodeBlock::setOptimizationThresholdBasedOnCompilationResult):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC::CodeBlock::updateAllArrayPredictions):
(JSC::CodeBlock::shouldOptimizeNow):

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::jitCompile):

  • bytecode/CodeBlockLock.h:

(JSC):

  • bytecode/ExecutionCounter.cpp:

(JSC::ExecutionCounter::forceSlowPathConcurrently):
(JSC):
(JSC::ExecutionCounter::setThreshold):

  • bytecode/ExecutionCounter.h:

(ExecutionCounter):

  • debugger/Debugger.cpp:

(JSC::Debugger::recompileAllJSFunctions):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
(JSC::DFG::ByteCodeParser::getArrayMode):
(JSC::DFG::ByteCodeParser::getArrayModeAndEmitChecks):

  • dfg/DFGCommon.h:

(JSC::DFG::enableConcurrentJIT):
(DFG):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.cpp:

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

  • dfg/DFGGraph.h:

(Graph):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGOperations.cpp:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::key):
(DFG):

  • dfg/DFGPlan.h:

(DFG):
(Plan):

  • dfg/DFGWorklist.cpp: Added.

(DFG):
(JSC::DFG::Worklist::Worklist):
(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::create):
(JSC::DFG::Worklist::enqueue):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllPlansForVM):
(JSC::DFG::Worklist::queueLength):
(JSC::DFG::Worklist::dump):
(JSC::DFG::Worklist::runThread):
(JSC::DFG::Worklist::threadFunction):
(JSC::DFG::initializeGlobalWorklistOnce):
(JSC::DFG::globalWorklist):

  • dfg/DFGWorklist.h: Added.

(DFG):
(Worklist):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::allocateBlock):

  • heap/DeferGC.h: Added.

(JSC):
(DeferGC):
(JSC::DeferGC::DeferGC):
(JSC::DeferGC::~DeferGC):

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::reportExtraMemoryCostSlowCase):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::collectIfNecessaryOrDefer):
(JSC):
(JSC::Heap::incrementDeferralDepth):
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded):

  • heap/Heap.h:

(Heap):
(JSC::Heap::isCollecting):
(JSC):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::entryOSR):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • profiler/ProfilerBytecodes.h:
  • runtime/ConcurrentJITLock.h: Added.

(JSC):

  • runtime/ExecutionHarness.h:

(JSC::replaceWithDeferredOptimizedCode):

  • runtime/JSSegmentedVariableObject.cpp:

(JSC::JSSegmentedVariableObject::findRegisterIndex):
(JSC::JSSegmentedVariableObject::addRegisters):

  • runtime/JSSegmentedVariableObject.h:

(JSSegmentedVariableObject):

  • runtime/Options.h:

(JSC):

  • runtime/Structure.h:

(Structure):

  • runtime/StructureInlines.h:

(JSC::Structure::propertyTable):

  • runtime/SymbolTable.h:

(SymbolTable):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::~VM):
(JSC::VM::prepareToDiscardCode):
(JSC):
(JSC::VM::discardAllCode):
(JSC::VM::releaseExecutableMemory):

  • runtime/VM.h:

(DFG):
(VM):

Source/WTF:

Reviewed by Geoffrey Garen.

  • wtf/ByteSpinLock.h:

Make it non-copyable. We previously had bugs where we used ByteSpinLock as a locker.
Clearly that's bad.

  • wtf/MetaAllocatorHandle.h:

Make it thread-safe ref-counted, since we may now be passing them between the
concurrent JIT thread and the main thread.

  • wtf/Vector.h:

(WTF::Vector::takeLast):
I've wanted this method for ages, and now I finally added.

12:09 PM Changeset in webkit [150464] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Remove ContentDistribution
https://bugs.webkit.org/show_bug.cgi?id=116527

Reviewed by Andreas Kling.

Resolving distribution on traversal is simpler.

  • WebCore.exp.in:
  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseNode):
(WebCore::ComposedShadowTreeWalker::traverseDistributedNodes):
(WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):

  • html/HTMLDetailsElement.cpp:
  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::distributeSelectionsTo):

  • html/shadow/ContentDistributor.h:
  • html/shadow/HTMLContentElement.idl:


Remove getDistributedNodes().

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::InsertionPoint):
(WebCore::InsertionPoint::attach):
(WebCore::InsertionPoint::detach):
(WebCore):
(WebCore::InsertionPoint::firstDistributed):
(WebCore::InsertionPoint::lastDistributed):
(WebCore::InsertionPoint::nextDistributedTo):
(WebCore::InsertionPoint::previousDistributedTo):

Rename for clarity.

  • html/shadow/InsertionPoint.h:

(WebCore::InsertionPoint::hasDistribution):
(WebCore::InsertionPoint::setHasDistribution):
(WebCore::InsertionPoint::clearDistribution):
(WebCore::InsertionPoint::matchTypeFor):
(InsertionPoint):

12:03 PM Changeset in webkit [150463] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Workers are crashing tests.
https://bugs.webkit.org/show_bug.cgi?id=116560.

Unreviewed change to TestExpectations while investigating.

  • platform/win/TestExpectations: Disable worker tests under Windows.
12:02 PM Changeset in webkit [150462] by marcelo.lira@openbossa.org
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Unreviewed. Add myself as committer in contributors.json.

11:59 AM Changeset in webkit [150461] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Fix a python unittest after r149419. We need to support Python 2.6 on Windows.

  • Scripts/webkitpy/tool/commands/suggestnominations.py:

(AbstractCommitLogCommand._recent_commit_messages):

11:49 AM Changeset in webkit [150460] by Martin Robinson
  • 10 edits
    3 adds in trunk

[GTK] [CMake] Add support for building WebKit2
https://bugs.webkit.org/show_bug.cgi?id=116372

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/FindWebP.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Turn on WebKit2 and the plugin process and also look

for WebP. These missing symbols were hidden up until now. ENABLE_TEXTURE_MAPPER was
also incorrect specified.

Source/WebCore:

  • PlatformGTK.cmake: Add missing source files, include directories, and WebP properties.

Source/WebKit2:

  • CMakeLists.txt: Add common directories to the common include list and remove UIProcess/PageViewportController.cpp

from the source list since it should only be compiled for WebKitEFL. Instead of taking explicit forwarding-header
dependencies accept a list of "tacked-on" dependencies for WebKit2. This allows GTK+ to specify its extra fake
installed header step.

  • PlatformEfl.cmake: Remove common include directories and add UIProcess/PageViewportController.cpp to the source

list. Fix up forwarding header dependencies now.

  • PlatformGTK.cmake: Added.
  • config.h: First check whether this is a CMake build and then fall back to the autotools header.

Tools:

  • CMakeLists.txt: Do not build WebKitTestRunner yet for WebKitGTK+.
  • MiniBrowser/gtk/CMakeLists.txt: Added.
11:41 AM Changeset in webkit [150459] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Unreviewed test expectation change - skip failing tests.
https://bugs.webkit.org/show_bug.cgi?id=116564

  1. Skip a number of failing tests, and investigate the sources of the

problems. Progress will be tracked on the above bug.

  1. Correct a typo I made in r150382
  2. Remove skip entries from https://webkit.org/b/113908; these were

replaced with new tests added in https://webkit.org/b/113946.

  • platform/win/TestExpectations:
11:21 AM Changeset in webkit [150458] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[CSSRegions] Remove percentages from offsetLeft/offsetTop tests to avoid sub-pixel errors
https://bugs.webkit.org/show_bug.cgi?id=116544

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-21
Reviewed by Andreas Kling.

  • fast/regions/offsetLeft-offsetTop-in-multiple-regions.html:
  • fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html:
11:15 AM Changeset in webkit [150457] by jberlin@webkit.org
  • 3 edits in trunk/Tools

Revert r149635, it was too optimistic.

Rubber-stamped by Andreas Kling.

We are not at the point where we can always use more descriptive macros instead of PLATFORM()

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_invalid_increment):
(process_line):
(CppChecker):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_plain_integral_bitfields):

11:07 AM WebKitGTK/2.0.x edited by kov@webkit.org
(diff)
11:04 AM Changeset in webkit [150456] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Tools

fourthTier: display-profiler-output should make it even easier to diff the compilation story between two different runs
https://bugs.webkit.org/show_bug.cgi?id=116556

Reviewed by Oliver Hunt.

This adds three new capabilities:

  • 'display' now accepts negative compilation indices, and allows specifying wildcard hashes combined with combination indices. Previously you could say 'display <hash>', 'display <hash>-<index>-<engine>', or 'display *'. The latter would display every compilation. This improves this so that you can say 'display *-<index>-<engine>'. It also makes it so that you can give a negative index, which allows you to say things like 'display blah--1-dfg', which displays just the last DFG compilation. Also you can say 'display *--1-dfg', which displays the last DFG compilation for each code block. I realize that this is kind of ugly, but gosh is it practical.


  • You can now say 'sort hash', which will henceforth sort all of the output by code hash rather than by the time when it was compiled. This means that if you're doing 'dispay *--1-dfg' and then want to diff the results against something else, you can ensure that this doesn't get confused just by changes in compilation order.


  • You can now say 'counts off', which will henceforth disable the display of execution counts from 'bytecode' and 'display'. This is also useful for diffs, since if you're trying to figure out why two compilations are different, they probably have radically different counts. 'counts off' gets this out of the output so that it doesn't confuse your diff.


Note that to use this effectively you should also have a script that scrubs
pointers from text so that the diff doesn't get confused by pointers. I'll
post my elimptr script to the bug. Maybe at some point I'll integrate that
into display-profiler-output.

Put together this is pretty awesome. I was able to do the following:

(echo "counts off" && echo "sort hash" && echo "d *--1-dfg") | Tools/Scripts/display-profiler-output richards-serial.profile | elimptr > richards-serial.asm
(echo "counts off" && echo "sort hash" && echo "d *--1-dfg") | Tools/Scripts/display-profiler-output richards-concurrent.profile | elimptr > richards-concurrent.asm
diff -u richards-serial.asm richards-concurrent.asm

And this immediately told me that the reason why richards is slower in the
concurrent compilation case is just that we end up compiling *tons* more
functions, most of which are trivially inlineable. Basically, concurrent
compilation breaks our previous heuristics for delaying compilation of
inlineables just enough that they never trigger compilation. We should fix
that in a separate bug.

  • Scripts/display-profiler-output:
10:26 AM Changeset in webkit [150455] by jer.noble@apple.com
  • 2 edits in trunk/Tools

Unreviewed; fix lldb synthetic representation of WTF::Vector after r148891.

  • lldb/lldb_webkit.py:

(WTFVectorProvider.num_children):
(WTFVectorProvider.get_child_index):
(WTFVectorProvider.get_child_at_index):
(WTFVectorProvider.update):

10:20 AM Changeset in webkit [150454] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r101810): Media controls status text missing for live-stream videos.
https://bugs.webkit.org/show_bug.cgi?id=116547

Reviewed by Eric Carlson.

Un-reverse the logic in loadedMetadata() so that the status text isn't
hidden (when it should be shown) for live-stream videos.

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::loadedMetadata):

10:16 AM Changeset in webkit [150453] by jer.noble@apple.com
  • 8 edits in trunk/Source/WebCore

Implement overlap-avoidance for in-band text track cues.
https://bugs.webkit.org/show_bug.cgi?id=116540

Reviewed by Eric Carlson.

In-band (or Generic) cues need special casing for certain features
present in in-band tracks, like paint-on and roll-up modes. To avoid
the problem of overlap avoidance forcing a caption meant to appear
below a cue to appear above it when a larger font size is selected,
impose an additional sort ordering for "generic cues". Instead of
cues being ordered by the order they appear in the track, "generic
cues" further sorted by their position within the video area, such
that cues at the bottom of the video area appear first, and later
cues are pushed up to avoid them, preserving the desired apparent
ordering.

  • html/HTMLMediaElement.cpp:

(WebCore::compareCueInterval): Added; wrapper around

TextTrackCue::isOrderedBefore.

(WebCore::HTMLMediaElement::updateActiveTextTrackCues):

After creating the list of current cues, sort them.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::isOrderedBefore): Added; implementation moved

from TextTrackCueList::add().

  • html/track/TextTrackCue.h:
  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::isOrderedBefore): Added override;

impose additional oredring on generic cues.

  • html/track/TextTrackCueGeneric.h:
  • html/track/TextTrackCueList.cpp:

(WebCore::TextTrackCueList::add): Moved ordering test into

isOrderedBefore().

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::repositionGenericCue):

Call repositionCueSnapToLinesNotSet() after positioning the cue.

10:14 AM Changeset in webkit [150452] by jer.noble@apple.com
  • 4 edits
    2 adds in trunk

Implement overlap avoidance for cues with snap-to-lines flag not set
https://bugs.webkit.org/show_bug.cgi?id=84296

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-cue-overlap-snap-to-lines-not-set.html

Support overlap avoidance for the non-snap-to-lines part of the WebVTT spec.

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::isOutside): Split implementation into rectIsWithinContainer().
(WebCore::RenderTextTrackCue::rectIsWithinContainer): Ditto.
(WebCore::RenderTextTrackCue::isOverlapping): Split into overlappingObject() and overlappingObjectForRect().
(WebCore::RenderTextTrackCue::overlappingObject): Ditto.
(WebCore::RenderTextTrackCue::overlappingObjectForRect): Ditto.
(WebCore::RenderTextTrackCue::moveIfNecessaryToKeepWithinContainer): Added.
(WebCore::RenderTextTrackCue::findNonOverlappingPosition): When an overlapping object is found, move the

cue to just above or below that object and try again.

(WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Move implementation into moveIfNecessaryToKeepWithinContainer().
(WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Add implementanton based on above.

  • rendering/RenderTextTrackCue.h:

LayoutTests:

  • media/track/track-cue-overlap-snap-to-lines-not-set-expected.txt: Added.
  • media/track/track-cue-overlap-snap-to-lines-not-set.html: Added.
9:57 AM Changeset in webkit [150451] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Build fix.

  • wtf/NeverDestroyed.h:

(NeverDestroyed):

9:56 AM Changeset in webkit [150450] by andersca@apple.com
  • 10 edits
    1 add in trunk/Source/WTF

Add WTF::NeverDestroyed and start using it in WTF
https://bugs.webkit.org/show_bug.cgi?id=116472

Reviewed by Benjamin Poulain.

NeverDestroyed is a class template that can be used for singletons and other objects that we never
want to destroy. It's intended as a replacement for WTF_STATIC_LOCAL with the advantage that it doesn't
fragment the heap.

  • GNUmakefile.list.am:
  • WTF.vcproj/WTF.vcproj:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:

Add NeverDestroyed.h

  • wtf/Compiler.h:

Add a helper macro, WTF_DELETED_FUNCTION.

  • wtf/CryptographicallyRandomNumber.cpp:

Use NeverDestroyed.

  • wtf/NeverDestroyed.h: Added.
  • wtf/Noncopyable.h:

Use WTF_DELETED_FUNCTION.

  • wtf/text/WTFString.cpp:

(WTF::emptyString):
Use

9:44 AM Changeset in webkit [150449] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Added missing assert condition for PositiveOrZero in ARM branch32().
https://bugs.webkit.org/show_bug.cgi?id=116538.

Reviewed by Geoffrey Garen.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::branchAdd32):

9:39 AM Changeset in webkit [150448] by Lucas Forschler
  • 8 edits
    3 copies in tags/Safari-537.43

2013-05-21 Lucas Forschler <Lucas Forschler>

Merge r150441

2013-05-21 Jessie Berlin <jberlin@apple.com>

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.
9:21 AM Changeset in webkit [150447] by Lucas Forschler
  • 4 edits in tags/Safari-537.43/Source

Versioning.

9:09 AM Changeset in webkit [150446] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove GraphicsLayerClient::contentsVisible()
https://bugs.webkit.org/show_bug.cgi?id=116523

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

This is dead code from the BlackBerry port.

  • platform/graphics/GraphicsLayerClient.h:
  • rendering/RenderLayerBacking.cpp:
9:05 AM Changeset in webkit [150445] by zandobersek@gmail.com
  • 4 edits in trunk

[GTK] Compile everything in C++11 mode
https://bugs.webkit.org/show_bug.cgi?id=116452

Reviewed by Anders Carlsson.

.:

  • Source/autotools/SetupCompilerFlags.m4: Use the C++11 standard by default when compiling C++ source code.

Perform some minor cleanup around the comments and the order of specifying additional CXXFLAGS entries.

Source/WebKit2:

  • GNUmakefile.am: Remove the -std=c++11 flags from the various CPPFLAGS lists, the mode is now specified

by default for all the C++ source code in SetupCompilerFlags.m4.

9:03 AM Changeset in webkit [150444] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

PLATFORM(*) macros used in Source/WebCore/loader/archive/ArchiveFactory.cpp
https://bugs.webkit.org/show_bug.cgi?id=116453

Reviewed by Alexey Proskuryakov.

  • loader/archive/ArchiveFactory.cpp: Remove a redundant PLATFORM(QT) macro when checking whether

to include the LegacyWebArchive.h header that's specific to the WebArchive support. The Qt port
does not enable the WebArchive feature at all (which is enabled only on AppleMac, AppleWin and iOS
platforms) so there's no reason to additionally condition the header include with building on
non-Qt platforms.

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

Add BlackBerry definition of NativeImagePtr
https://bugs.webkit.org/show_bug.cgi?id=116526

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

  • platform/graphics/NativeImagePtr.h:

(Graphics):
(WebCore):

8:50 AM Changeset in webkit [150442] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] FontCache::getFontDataForCharacters() returns nullptr
https://bugs.webkit.org/show_bug.cgi?id=116529

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-21
Reviewed by Andreas Kling.

This cannot be converted to a PassRefPtr and breaks the build.

  • platform/graphics/blackberry/FontCacheBlackBerry.cpp:

(WebCore::FontCache::getFontDataForCharacters):

8:12 AM WebKitGTK/2.0.x edited by kov@webkit.org
(diff)
6:44 AM Changeset in webkit [150441] 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.

6:37 AM Changeset in webkit [150440] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Always use EGL to create the GL context when running on Wayland
https://bugs.webkit.org/show_bug.cgi?id=115721

Patch by Iago Toral Quiroga <itoral@igalia.com> on 2013-05-21
Reviewed by Martin Robinson.

  • platform/graphics/cairo/GLContext.cpp:

(WebCore::GLContext::createContextForWindow):
(WebCore::GLContext::createOffscreenContext): Always use EGL to create the GL context
instead of GLX when running on Wayland and make createOffScreenContext reuse the code
in createContextWindow.

6:16 AM Changeset in webkit [150439] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK][WK2] accessibility/label-for-control-hittest.html is failing
https://bugs.webkit.org/show_bug.cgi?id=106341

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-05-21
Reviewed by Martin Robinson.

Tools:

Adds support for retrieving accessibility element at exact point.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::elementAtPoint):

LayoutTests:

Fixing failing test. The reason of failure is missing
possibility of getting accessibility object at exact position.

  • platform/gtk-wk2/TestExpectations:
6:14 AM Changeset in webkit [150438] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] accessibility/accessibility-node-reparent.html is failing
https://bugs.webkit.org/show_bug.cgi?id=112026

Unreviewed EFL gardening.

accessibility/accessibility-node-reparent.html passes after r150431.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-05-21

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

Add FloatRect::normalized() for BlackBerry
https://bugs.webkit.org/show_bug.cgi?id=116531

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-21
Reviewed by Carlos Garcia Campos.

This was added to FloatRectBlackBerry.cpp in r111072 when the
graphics platform code was upstreamed, but this change was
missing.

  • platform/graphics/FloatRect.h:

(FloatRect):

5:21 AM Changeset in webkit [150436] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] accessibility/accessibility-node-memory-management.html is failing
https://bugs.webkit.org/show_bug.cgi?id=112025

Unreviewed EFL gardening

accessibility/accessibility-node-memory-management.html passes after r150431.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-05-21

  • platform/efl-wk2/TestExpectations:
4:35 AM Changeset in webkit [150435] by kbalazs@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] cleanup duration query
https://bugs.webkit.org/show_bug.cgi?id=116228

Reviewed by Philippe Normand.

Covered by existing tests.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::duration):
We can also cache the duration here if the query succeeds.
(MediaPlayerPrivateGStreamer::updateStates):
Don't query when we are in GST_STATE_READY state because it never succeeds.
Do it instead when we reached a stable state.
(MediaPlayerPrivateGStreamer::cacheDuration): Return early if it is already
cached. Recaching is not necessary and now we call it a lot of times.
Only look into the state if the query failed.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer): Made m_mediaDuration mutable to be
able to cache it in duration(). Internal cached values is one of
the sensible uses of mutable.

3:55 AM Changeset in webkit [150434] by commit-queue@webkit.org
  • 19 edits
    2 adds in trunk

[BlackBerry] Make PagePopup implementation independent from WebCore
https://bugs.webkit.org/show_bug.cgi?id=116448

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-21
Reviewed by Anders Carlsson.

.:

  • Source/cmake/OptionsBlackBerry.cmake: Do not enable PAGE_POPUP

feature.

Source/WebKit:

  • PlatformBlackBerry.cmake: Add

blackberry/WebCoreSupport/PagePopupBlackBerryClient.cpp to
compilation.

Source/WebKit/blackberry:

Add our own implementation of PagePopupClient and make all the
pickers inherit from it. Unused methods have been removed and
common implementation have been moved from the pickers to the
parent class.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate): Destroy the
popup if there's one active.
(BlackBerry::WebKit::WebPagePrivate::setVisible): Call
closePagePopup() directly.
(BlackBerry::WebKit::WebPagePrivate::openPagePopup): Create a new
PagePopupBlackBerry for the given client.
(BlackBerry::WebKit::WebPagePrivate::closePagePopup): Close the
active popup if there's one.
(BlackBerry::WebKit::WebPagePrivate::hasOpenedPopup): Return
whether there's an active popup.

  • Api/WebPage.h:
  • Api/WebPage_p.h:
  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::chromeDestroyed): Remove
closePagePopup() call since this is now handled by
WebPagePrivate.
(WebCore::ChromeClientBlackBerry::hasOpenedPopup): Call
WebPagePrivate::hasOpenedPopup().

  • WebCoreSupport/ChromeClientBlackBerry.h:

(ChromeClientBlackBerry):

  • WebCoreSupport/ColorPickerClient.cpp:

(BlackBerry::WebKit::ColorPickerClient::ColorPickerClient):
(BlackBerry::WebKit::ColorPickerClient::didClosePopup):

  • WebCoreSupport/ColorPickerClient.h:

(ColorPickerClient):

  • WebCoreSupport/DatePickerClient.cpp:

(BlackBerry::WebKit::DatePickerClient::DatePickerClient):
(BlackBerry::WebKit::DatePickerClient::didClosePopup):

  • WebCoreSupport/DatePickerClient.h:

(DatePickerClient):

  • WebCoreSupport/PagePopupBlackBerry.cpp:

(BlackBerry::WebKit::PagePopupBlackBerry::PagePopupBlackBerry):
(BlackBerry::WebKit::PagePopupBlackBerry::closePopup):

  • WebCoreSupport/PagePopupBlackBerry.h:

(PagePopupBlackBerry):
(BlackBerry::WebKit::PagePopupBlackBerry::SharedClientPointer::SharedClientPointer):
(BlackBerry::WebKit::PagePopupBlackBerry::SharedClientPointer::get):
(SharedClientPointer):

  • WebCoreSupport/PagePopupBlackBerryClient.cpp: Added.

(BlackBerry::WebKit::PagePopupBlackBerryClient::PagePopupBlackBerryClient):
(BlackBerry::WebKit::PagePopupBlackBerryClient::closePopup):
(BlackBerry::WebKit::PagePopupBlackBerryClient::didClosePopup):
(BlackBerry::WebKit::PagePopupBlackBerryClient::contentSize):
(BlackBerry::WebKit::PagePopupBlackBerryClient::writeDocument):

  • WebCoreSupport/PagePopupBlackBerryClient.h: Added.

(PagePopupBlackBerryClient):
(BlackBerry::WebKit::PagePopupBlackBerryClient::~PagePopupBlackBerryClient):

  • WebCoreSupport/SelectPopupClient.cpp:

(BlackBerry::WebKit::SelectPopupClient::SelectPopupClient):
(BlackBerry::WebKit::SelectPopupClient::didClosePopup):

  • WebCoreSupport/SelectPopupClient.h:

(SelectPopupClient):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::openDatePopup): Do not call
closePagePopup() since this is already done by openPagePopup() and
use openPagePopup() from WebPagePrivate directly.
(BlackBerry::WebKit::InputHandler::openColorPopup): Ditto.
(BlackBerry::WebKit::InputHandler::openSelectPopup): Ditto.

2:31 AM Changeset in webkit [150433] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for !USE(ACCELERATED_COMPOSITING) after r150307.

  • rendering/RenderLayerCompositor.h: Added missing #if USE(ACCELERATED_COMPOSITING).
2:04 AM Changeset in webkit [150432] by michael.bruning@digia.com
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Fix Mountain Lion builds after r150277.
https://bugs.webkit.org/show_bug.cgi?id=116467

Reviewed by Jocelyn Turcotte.

  • Shared/API/c/WKBase.h:
1:43 AM Changeset in webkit [150431] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

[ATK] [WebKit2] AccessibilityUIElement often leaks its AtkObject
https://bugs.webkit.org/show_bug.cgi?id=112913

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-05-21
Reviewed by Martin Robinson.

AccessibilityUIElement is often created by passing new reference to AtkObject (transfer full).
AccessibilityUIElement::~AccessibilityUIElement does not decrement the reference of the element,
so the leak appears.

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:

(WTR::AccessibilityController::rootElement):
(WTR):
(WTR::AccessibilityController::focusedElement):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::checkElementState):
(WTR::indexRangeInTable):
(WTR::alterCurrentValue):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::childrenCount):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::allAttributes):
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::intValue):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::isEnabled):
(WTR::AccessibilityUIElement::isFocused):
(WTR::AccessibilityUIElement::isSelected):
(WTR::AccessibilityUIElement::isExpanded):
(WTR::AccessibilityUIElement::isChecked):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::columnCount):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::increment):
(WTR::AccessibilityUIElement::decrement):
(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::isFocusable):
(WTR::AccessibilityUIElement::isSelectable):
(WTR::AccessibilityUIElement::isMultiSelectable):
(WTR::AccessibilityUIElement::isVisible):

1:40 AM Changeset in webkit [150430] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Simplify Shadow DOM distribution code
https://bugs.webkit.org/show_bug.cgi?id=116454

Reviewed by Andreas Kling.

Remove code supporting nested insertion points and distributing to multiple insertion points.

  • html/HTMLDetailsElement.cpp:

(DetailsContentElement):

Make distribution to <details> and <summary> mutually exclusive.

  • html/shadow/ContentDistributor.cpp:

(WebCore):
(WebCore::ContentDistributor::distribute):
(WebCore::ContentDistributor::invalidate):
(WebCore::ContentDistributor::distributeSelectionsTo):

  • html/shadow/ContentDistributor.h:
  • html/shadow/InsertionPoint.cpp:

(WebCore::resolveReprojection):

1:07 AM Changeset in webkit [150429] by Lucas Forschler
  • 1 copy in tags/Safari-537.43

New Tag.

1:06 AM Changeset in webkit [150428] by Lucas Forschler
  • 1 delete in tags/Safari-537.43
1:02 AM Changeset in webkit [150427] by mihnea@adobe.com
  • 2 edits in trunk/Source/WebCore

[CSSRegions] Constrain auto-height region computation in a different way
https://bugs.webkit.org/show_bug.cgi?id=116310

Reviewed by Alexandru Chiculita.

After https://bugs.webkit.org/show_bug.cgi?id=74132, the region is a render block. We can use RenderBox::constrainContentBoxLogicalHeightByMinMax
instead of RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight to better reflect the fact that the region is not a replaced element.
Covered by existing regions tests, since when replaced-based the region had an intrinsic height of 0 and now, block-based, it does not have any children.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addForcedRegionBreak):

12:48 AM Changeset in webkit [150426] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

[Mac] svg/batik/paints/patternRegions-positioned-objects.svg is flaky
https://bugs.webkit.org/show_bug.cgi?id=116519

Add a flaky test expectation.

  • platform/mac/TestExpectations:
12:39 AM Changeset in webkit [150425] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r150393): editing/inserting/typing-at-end-of-line.html fails
https://bugs.webkit.org/show_bug.cgi?id=116516

Reviewed by Antti Koivisto.

The bug was caused by DRT not resetting various auto correction states.
Do that in Internals::resetToConsistentState.

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

12:00 AM Changeset in webkit [150424] by Lucas Forschler
  • 8 edits
    3 deletes in trunk

Source/WebKit2: Rollout r150398.

Tools: Rollout 150398.

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)
Note: See TracTimeline for information about the timeline view.