Timeline



Apr 25, 2014:

11:00 PM Changeset in webkit [167842] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Inline (C++) GetByVal with numeric indices more aggressively.
<https://webkit.org/b/132218>

We were already inlining the string indexed GetByVal path pretty well,
while the path for numeric indices got neglected. No more!

~9.5% improvement on Dromaeo/dom-traverse.html on my MBP:

Before: 199.50 runs/s

After: 218.58 runs/s

Reviewed by Phil Pizlo.

  • dfg/DFGOperations.cpp:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::get):

ALWAYS_INLINE all the things.

  • runtime/JSObject.h:

(JSC::JSObject::getPropertySlot):

Avoid fetching the Structure more than once. We have the same
optimization in the string-indexed code path.

10:53 PM Changeset in webkit [167841] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] Synthesized getter for WKNavigationAction's _userInitiated property has the wrong name
https://bugs.webkit.org/show_bug.cgi?id=132219

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKNavigationActionInternal.h:
9:41 PM Changeset in webkit [167840] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

REGRESSION (r167689): Hovering file name in a file input causes a crash
https://bugs.webkit.org/show_bug.cgi?id=132214

Reviewed by Andreas Kling.

Source/WebCore:
The bug was caused by callDefaultEventHandlersInTheBubblingOrder unconditionally
accessing path.contextAt(0) even if the event path was empty.

Fixed the bug by exiting early when the event path is empty.

Test: fast/events/shadow-event-path-2.html

  • dom/EventDispatcher.cpp:

(WebCore::callDefaultEventHandlersInTheBubblingOrder):

LayoutTests:
Add a regression test.

  • fast/events/shadow-event-path-2-expected.txt: Added.
  • fast/events/shadow-event-path-2.html: Added.
  • fast/events/shadow-event-path.html:
8:54 PM Changeset in webkit [167839] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] getAssistedNodeInformation crashes getting the bounding box if it doesn't have a renderer
https://bugs.webkit.org/show_bug.cgi?id=132217
<rdar://problem/16671662>

Patch by Simon Fraser <Simon Fraser> on 2014-04-25
Reviewed by Dean Jackson.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation): Check that m_assistedNode has
a renderer before asking for its bounding box.

8:30 PM Changeset in webkit [167838] by akling@apple.com
  • 7 edits
    1 add in trunk/PerformanceTests

Bump jQuery to same version that dromaeo.com uses.

Rubber-stamped by Ryosuke Niwa.

  • Dromaeo/resources/dromaeo/web/lib/jquery-1.10.2.min.js: Added.
  • Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html:
  • Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html:
5:31 PM Changeset in webkit [167837] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r167828): http/tests/media/hls/video-controls-live-stream.html fails

  • English.lproj/mediaControlsLocalizedStrings.js:

Add 'Live Broadcast' to the localized strings list.

5:12 PM Changeset in webkit [167836] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Add an intermediary view to do the target transform and adjustment transform
https://bugs.webkit.org/show_bug.cgi?id=132175

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-25
Reviewed by Enrica Casucci.

Some utility views of WKContentView account for the transforms between the content view
and the utility view.

Since the dynamic resize relies on setting subLayerTransforms, it is getting in the way.

This patch adds a layer in between for the animation. That way the content view remains
unscaled.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):

5:06 PM Changeset in webkit [167835] by enrica@apple.com
  • 4 edits in trunk/Source/WebKit2

REGRESSION (iOS WebKit2): Selection is not being repainted during live resize.
https://bugs.webkit.org/show_bug.cgi?id=132216
<rdar://problem/16628819>

Reviewed by Benjamin Poulain.

Since the selection is drawn in the UIProcess on iOS,
we need to update the selection rects and force a repaint
during a live resize.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidLayout):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateSelectionAppearance):

4:48 PM Changeset in webkit [167834] by jcraig@apple.com
  • 2 edits in trunk/Tools

Set prepare-Changelog flag so that it no longer runs check-webkit-style by default
https://bugs.webkit.org/show_bug.cgi?id=132209

Reviewed by Daniel Bates.

Set default to --no-style to avoid additional spew from false positives in check-webkit-style.
Run check-webkit-style before generating changelogs to avoid additional spurious errors.

  • Scripts/prepare-ChangeLog:

(main):

4:43 PM Changeset in webkit [167833] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: DOM Tree debugger popover obscures dashboard
https://bugs.webkit.org/show_bug.cgi?id=132205

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-25
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DashboardContainerView.css:

(.toolbar .dashboard.visible): Change z-index to 1. Force stacking context.

  • UserInterface/Views/Popover.css:

(.popover): Add z-index: 100.

4:14 PM Changeset in webkit [167832] by oliver@apple.com
  • 3 edits
    3 adds in trunk

Need earlier cell test
https://bugs.webkit.org/show_bug.cgi?id=132211

Reviewed by Mark Lam.

Source/JavaScriptCore:
Move cell test to before the function call repatch
location, as the repatch logic for 32bit assumes that the
caller will already have performed a cell check.

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

LayoutTests:
Tests

  • js/regress/polymorphic-array-call-expected.txt: Added.
  • js/regress/polymorphic-array-call.html: Added.
  • js/regress/script-tests/polymorphic-array-call.js: Added.

(func.C.this.m):
(func.C):
(func):

4:08 PM Changeset in webkit [167831] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Un-fast-allocate JSGlobalObjectRareData because Windows doesn't build and I'm not in the mood.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::JSGlobalObjectRareData::JSGlobalObjectRareData):
(JSC::JSGlobalObject::JSGlobalObjectRareData::~JSGlobalObjectRareData): Deleted.

4:05 PM Applications using WebKit edited by yves@mailhot.com
(diff)
4:04 PM Applications using WebKit edited by yves@mailhot.com
(diff)
4:03 PM Applications using WebKit edited by yves@mailhot.com
(diff)
3:22 PM Changeset in webkit [167830] by beidson@apple.com
  • 11 edits
    5 adds in trunk/Source

Add a selection overlay.
<rdar://problem/16727797> and https://bugs.webkit.org/show_bug.cgi?id=132200

Reviewed by David Hyatt.

Source/WebCore:
No new tests (WK2 feature in development).

  • WebCore.xcodeproj/project.pbxproj:

Add a SelectionRectGathterer class.
It creates a Notifier (given a RenderView) then accepts Rects from the RenderView.
When the Notifier is destroyed, the appropriate EditorClient is notified of the gathered rects.

  • editing/SelectionRectGatherer.cpp: Added.

(WebCore::SelectionRectGatherer::SelectionRectGatherer):
(WebCore::SelectionRectGatherer::addRect):
(WebCore::SelectionRectGatherer::addRects):
(WebCore::SelectionRectGatherer::Notifier::Notifier):
(WebCore::SelectionRectGatherer::Notifier::~Notifier):
(WebCore::SelectionRectGatherer::clearAndCreateNotifier):

  • editing/SelectionRectGatherer.h: Added.
  • page/EditorClient.h:

(WebCore::EditorClient::selectionRectsDidChange):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):
(WebCore::RenderView::setSelection): Clear the gatherer’s rects then create a Notifier.
(WebCore::RenderView::setSubtreeSelection): Give all the selection rects to be painted to

the SelectionRectGatherer.

  • rendering/RenderView.h:

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectionRectsDidChange): Pass the new selection rects on

to the selection overlay controller.

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/SelectionOverlayController.cpp: Added.

(WebKit::SelectionOverlayController::SelectionOverlayController):
(WebKit::SelectionOverlayController::createOverlayIfNeeded):
(WebKit::SelectionOverlayController::destroyOverlay):
(WebKit::SelectionOverlayController::pageOverlayDestroyed):
(WebKit::SelectionOverlayController::willMoveToWebPage):
(WebKit::SelectionOverlayController::didMoveToWebPage):
(WebKit::SelectionOverlayController::selectionRectsDidChange):
(WebKit::SelectionOverlayController::drawRect):
(WebKit::SelectionOverlayController::mouseEvent):

  • WebProcess/WebPage/SelectionOverlayController.h: Added.

(WebKit::SelectionOverlayController::create):

  • WebProcess/WebPage/mac/SelectionOverlayControllerMac.mm: Added.

(WebKit::SelectionOverlayController::drawRect):
(WebKit::SelectionOverlayController::mouseEvent):
(WebKit::SelectionOverlayController::handleClick):
(WebKit::SelectionOverlayController::clearHighlight):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::selectionOverlayController):

  • WebProcess/WebPage/WebPage.h:
3:18 PM Changeset in webkit [167829] by dino@apple.com
  • 2 edits in trunk/WebKitLibraries

Update WKSI for https://webkit.org/b/132195
<rdar://problem/16175750>

Sorry, I forgot to update the header. This should fix
the Mac builds.

  • WebKitSystemInterface.h:
3:18 PM Changeset in webkit [167828] by jer.noble@apple.com
  • 10 edits
    6 adds in trunk

Support "Live" streams in media controls.
https://bugs.webkit.org/show_bug.cgi?id=131390

Reviewed by Brent Fulgham.

Source/WebCore:
Test: http/tests/media/hls/video-controls-live-stream.html

Support "Live" streams by adding an isLive property to our media controls.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-status-display):
(video:-webkit-full-screen::-webkit-media-controls-status-display):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller): isLive defaults to false.
(Controller.prototype.setIsLive): Set the isLive property and conditionally reconfigure the controls.
(Controller.prototype.configureInlineControls): Don't add the timeline if we are live.
(Controller.prototype.configureFullScreenControls): Ditto.
(Controller.prototype.updateStatusDisplay): Added.
(Controller.prototype.handleLoadStart): Call updateStatusDisplay().
(Controller.prototype.handleError): Ditto.
(Controller.prototype.handleAbort): Ditto.
(Controller.prototype.handleSuspend): Ditto.
(Controller.prototype.handleStalled): Ditto.
(Controller.prototype.handleWaiting): Ditto.
(Controller.prototype.updateDuration): Ditto.
(Controller.prototype.updateReadyState): Ditto.

LayoutTests:

  • http/tests/media/hls/video-controls-live-stream-expected.txt: Added.
  • http/tests/media/hls/video-controls-live-stream.html: Added.
  • http/tests/media/resources/hls/test-live.php: Added.
  • http/tests/media/resources/hls/test-vod.m3u8: Added.
  • http/tests/media/resources/hls/test.ts: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/mac/media/media-controls-clone-expected.txt:
  • platform/wincairo/TestExpectations:
3:02 PM Changeset in webkit [167827] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails on WebKit1 bots
https://bugs.webkit.org/show_bug.cgi?id=132207

  • platform/mac-wk1/TestExpectations:

Mark as failing in WebKit1.

2:47 PM Changeset in webkit [167826] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove duplicate member variable in WKAutocorrectionRects and WKAutocorrectionContext.
https://bugs.webkit.org/show_bug.cgi?id=132206

Reviewed by Benjamin Poulain.

  • UIProcess/ios/WKContentViewInteraction.mm:
2:42 PM Changeset in webkit [167825] by dino@apple.com
  • 18 edits in trunk/Source

Allow a platform-specific size enumeration to be passed into popup-menu display
https://bugs.webkit.org/show_bug.cgi?id=132195

Reviewed by Brent Fulgham. With some in-person review comments from Sam Weinig.

Platforms like OS X use a set of predefined sizes for built-in controls
used for <select>: normal, small and mini. Expose that information to
the PopupMenuClient via the PopupMenuStyle, allowing it to be passed
into the platform code in WebKitSystemInterface.

Source/WebCore:

  • platform/PopupMenuStyle.h: Add a menu size enum.

(WebCore::PopupMenuStyle::PopupMenuStyle):
(WebCore::PopupMenuStyle::menuSize):

  • platform/mac/WebCoreSystemInterface.h: Pass in NSControlSize as a parameter

to WKPopupMenu.

  • platform/mac/WebCoreSystemInterface.mm: Ditto.
  • rendering/RenderMenuList.cpp:

(RenderMenuList::menuStyle): Ask the RenderTheme to calculate the size
of the menu button, so that it can be added to the PopupMenuStyle.

  • rendering/RenderTheme.h: New method to retrieve the menu size.

(WebCore::RenderTheme::popupMenuSize): Convert an NSControlSize into a PopupMenuSize.

  • rendering/RenderThemeMac.h: Override the base function, and add a

controlSizeForCell helper.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::controlSizeForCell): Used by this new
code and the old setControlSizeForCell to calculate the NSControlSize
that would be used for the button.
(WebCore::RenderThemeMac::setControlSize): Call the new helper.
(WebCore::RenderThemeMac::popupMenuSize): Return the value from the helper.

Source/WebKit/mac:

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show): Convert the WebCore menu size type into the
WebCoreSystemInterface type.

Source/WebKit2:

  • Shared/PlatformPopupMenuData.cpp: Encode and decode the PopupMenuSize enum.

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

  • Shared/PlatformPopupMenuData.h: Add PopupMenuSize member variable.
  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu): Convert the PopupMenuSize
into a WKControlSize, and pass that into WKPopupMenu.

  • WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:

(WebKit::WebPopupMenu::setUpPlatformData): Add the PopupMenuSize to
the PlatformPopupMenuData.

2:40 PM Changeset in webkit [167824] by dino@apple.com
  • 4 edits in trunk/WebKitLibraries

Update WKSI for https://webkit.org/b/132195
<rdar://problem/16175750>

Reviewed by Jessie Berlin.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
2:32 PM Changeset in webkit [167823] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Windows build fix attempt.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::JSGlobalObjectRareData::~JSGlobalObjectRareData):

2:28 PM Changeset in webkit [167822] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r167775): Safari crashes in ViewSnapshotStore::pruneSnapshots after loading 20 pages
https://bugs.webkit.org/show_bug.cgi?id=132204
<rdar://problem/16729123>

Reviewed by Anders Carlsson.

  • UIProcess/mac/ViewSnapshotStore.h:
  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
Keep track of the number of snapshots that actually have live images; the
size of the snapshot map no longer represents that.
Also, fix the crash by using the UUID from the current item instead of from
the (potentially null) most distant item; r167775 accidentally typo'd this.

2:17 PM Changeset in webkit [167821] by commit-queue@webkit.org
  • 6 edits in trunk

REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
https://bugs.webkit.org/show_bug.cgi?id=132194

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Martin Robinson.

Source/WebCore:
Properly resolving the grid-template shorthand for the corresponding longhand
properties.

No new tests, grid-template-shorthand-get-set.html already covers this case.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue):

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

LayoutTests:

  • TestExpectations: Unskip fast/css-grid-layout/grid-template-shorthand-get-set.html.
2:05 PM Changeset in webkit [167820] by hyatt@apple.com
  • 6 edits
    3 adds in trunk

Column rules not respecting scroll offsets.
https://bugs.webkit.org/show_bug.cgi?id=109683

Reviewed by Dean Jackson.

Source/WebCore:
Added fast/multicol/scrolling-column-rules.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintColumnRules):
Make paintColumnRules virtual so that it works with both column implementations.

(WebCore::RenderBlock::paintObject):
Changed to call paintColumnRules with the adjusted scroll offset and to do it after
bailing on the root background only check.

  • rendering/RenderBlock.h:

paintColumnRules is now virtual.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::paintColumnRules):
(WebCore::RenderBlockFlow::paintBoxDecorations): Deleted.

  • rendering/RenderBlockFlow.h:

Got rid of paintBoxDecorations override since it failed when hasBoxDecorations was false
anyway. Override paintColumnRules instead to paint at the right time.

LayoutTests:

  • fast/multicol/scrolling-column-rules.html: Added.
  • platform/mac/fast/multicol/scrolling-column-rules-expected.png: Added.
  • platform/mac/fast/multicol/scrolling-column-rules-expected.txt: Added.
1:34 PM Changeset in webkit [167819] by msaboff@apple.com
  • 4 edits in trunk/Tools

Crash in platform/mac/accessibility/table-visible-rows.html
https://bugs.webkit.org/show_bug.cgi?id=132146

Reviewed by Mark Lam.

Changed to use a local JSValueRef array temporary instead of a
std::make_unique<JSValueRef[]> when making an array of JSValues so that the temporary
JSValues are visited during garbage collection when the stack is scanned. Otherwise,
the temporary values could be collected.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(convertElementsToObjectArray):

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::contextClick):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::convertElementsToObjectArray):

1:30 PM Changeset in webkit [167818] by jhoneycutt@apple.com
  • 3 edits
    2 adds in trunk

Crash applying editing commands from iframe onload event

<https://bugs.webkit.org/show_bug.cgi?id=132103>
<rdar://problem/15696351>

Source/WebCore:
This patch merges the Chromium bug workaround from
<http://src.chromium.org/viewvc/blink?revision=162080&view=revision>,
which prevents reentrancy in CompositeEditCommand::apply().

Reviewed by Darin Adler.

Test: editing/apply-style-iframe-crash.html

  • editing/CompositeEditCommand.cpp:

(WebCore::HTMLNames::ReentrancyGuard::isRecursiveCall):
(WebCore::HTMLNames::ReentrancyGuard::Scope::Scope):
(WebCore::HTMLNames::ReentrancyGuard::Scope::~Scope):
(WebCore::CompositeEditCommand::apply):
If this is a recursive call, return early.

LayoutTests:
Reviewed by Darin Adler.

  • editing/apply-style-iframe-crash-expected.txt: Added.
  • editing/apply-style-iframe-crash.html: Added.
1:20 PM Changeset in webkit [167817] by hyatt@apple.com
  • 6 edits
    16 adds in trunk

[New Multicolumn] fast/multicol/hit-test-* layout tests all fail
https://bugs.webkit.org/show_bug.cgi?id=132081

Reviewed by Dean Jackson.

Source/WebCore:
Added a bunch of tests in fast/multicol/newmulticol/compare-with-old-impl/hit-test-*.html

  • rendering/RenderBlock.h:

Make offsetForContents public, since I need to call it from RenderMultiColumnSet.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::populate):
Stop an ASSERT in the new columns code on the hit tests by making sure layout state is
disabled when moving children around.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::positionForPoint):
Refactor this function to call a helper function instead, translateRegionPointToFlowThread.

(WebCore::RenderMultiColumnSet::translateRegionPointToFlowThread):
This function is logical (unlike the mistaken physical function I first implemented in
positionForPoint).

(WebCore::RenderMultiColumnSet::updateHitTestResult):

  • rendering/RenderMultiColumnSet.h:

Overridden to fill in the correct local coordinate when the HTML document is inside a paginated
RenderView. Note that column spans don't actually work, but once we move over to a
non-column based pagination API, that will become irrelevant.

LayoutTests:

  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis-expected.txt: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html: Added.
12:45 PM Changeset in webkit [167816] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Refactor debugging code to use BreakpointActions instead of Vector<ScriptBreakpointAction>.
<https://webkit.org/b/132201>

Reviewed by Joseph Pecoraro.

BreakpointActions is Vector<ScriptBreakpointAction>. Let's just consistently use
BreakpointActions everywhere.

  • inspector/ScriptBreakpoint.h:

(Inspector::ScriptBreakpoint::ScriptBreakpoint):

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::setBreakpoint):
(Inspector::ScriptDebugServer::getActionsForBreakpoint):

  • inspector/ScriptDebugServer.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):

  • inspector/agents/InspectorDebuggerAgent.h:
12:41 PM Changeset in webkit [167815] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Figure out how many cores are available for realsies.

Rubber stamped by Andreas Kling.

HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
wants since it uses this information to decide how many threads to launch for various
things.

  • wtf/NumberOfCores.cpp:

(WTF::numberOfProcessorCores):

12:39 PM Changeset in webkit [167814] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

DFG worklist scanning should not treat the key as a separate entity
https://bugs.webkit.org/show_bug.cgi?id=132167

Reviewed by Mark Hahnenberg.

This simplifies the interface to the GC and will enable more optimizations.

  • dfg/DFGCompilationKey.cpp:

(JSC::DFG::CompilationKey::visitChildren): Deleted.

  • dfg/DFGCompilationKey.h:
  • dfg/DFGPlan.cpp:

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

  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::visitChildren):

11:51 AM Changeset in webkit [167813] by oliver@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Remove unused parameter from codeblock linking function
https://bugs.webkit.org/show_bug.cgi?id=132199

Reviewed by Anders Carlsson.

No change in behaviour. This is just a small change to make it
slightly easier to reason about what the offsets in UnlinkedFunctionExecutable
actually mean.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::link):

  • bytecode/UnlinkedCodeBlock.h:
  • runtime/Executable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

11:17 AM Changeset in webkit [167812] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
https://bugs.webkit.org/show_bug.cgi?id=132194

Skip the test on debug testers.
Also unmark js/slow-stress/new-spread.html because it is fixed (https://bugs.webkit.org/show_bug.cgi?id=132022)

11:15 AM Changeset in webkit [167811] by akling@apple.com
  • 31 edits in trunk/Source

Mark some things with WTF_MAKE_FAST_ALLOCATED.
<https://webkit.org/b/132198>

Use FastMalloc for more things.

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • builtins/BuiltinExecutables.h:
  • heap/GCThreadSharedData.h:
  • inspector/JSConsoleClient.h:
  • inspector/agents/InspectorAgent.h:
  • runtime/CodeCache.h:
  • runtime/JSGlobalObject.h:
  • runtime/Lookup.cpp:

(JSC::HashTable::createTable):
(JSC::HashTable::deleteTable):

  • runtime/WeakGCMap.h:

Source/WebCore:

  • bindings/js/ScriptController.h:
  • dom/DocumentOrderedMap.h:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.h:
  • inspector/PageRuntimeAgent.h:
  • loader/HistoryController.h:
  • page/DeviceClient.h:
  • page/DeviceController.h:
  • page/EventHandler.h:
  • page/Page.h:
  • page/scrolling/ScrollingStateNode.h:
  • platform/graphics/FontGenericFamilies.h:
  • platform/graphics/FontPlatformData.h:
10:58 AM Changeset in webkit [167810] by stavila@adobe.com
  • 8 edits in trunk/Source/WebCore

[CSS Regions] Rename objectShouldPaintInFlowRegion to something more clear
https://bugs.webkit.org/show_bug.cgi?id=132050

Reviewed by Andreas Kling.

The objectShouldPaintInFlowRegion is no longer used only by the painting process
but also for hit-testing, so it was renamed to something more generic (objectShouldFragmentInFlowRegion).

No new tests required, it's just a method rename.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::positionForPoint):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion):
(WebCore::RenderFlowThread::objectShouldPaintInFlowRegion): Deleted.

  • rendering/RenderFlowThread.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::ensureOverflowForBox):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

10:53 AM Changeset in webkit [167809] by enrica@apple.com
  • 3 edits in trunk/Source/WebCore

iOS build fix after http://trac.webkit.org/changeset/167803
Unreviewed.

  • page/Frame.cpp:

(WebCore::Frame::checkOverflowScroll):

  • rendering/RenderBlock.cpp:

(WebCore::positionForPointRespectingEditingBoundaries):

9:21 AM Changeset in webkit [167808] by hyatt@apple.com
  • 7 edits
    5 adds in trunk

[New Multicolumn] Add support for offsetLeft and offsetTop.
https://bugs.webkit.org/show_bug.cgi?id=132080

Reviewed by Andrei Bucur.

Source/WebCore:
Added fast/multicol/client-spanners-complex.html and offset-top-left.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
Patch the offsetLeft/Top loop to handle calling into RenderMultiColumnFlowThread
in order to adjust the coordinates for the new multicolumn layout.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
Modified to use a helper that can be shared by offsetLeft/Top code. This code
ran for client rects, and I'm moving/refactoring it for more sharing.

(WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion):

  • rendering/RenderMultiColumnFlowThread.h:

New functions that beef up what was in mapFromFlowToRegion and fix some bugs
with the translation code.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
Patched to factor in the flow thread portion rect of the specific multicolumn set.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderMultiColumnFlowThread):
Added for toRenderMultiColumnFlowThread capability.

LayoutTests:

  • fast/multicol/client-rects-spanners-complex.html: Added.
  • fast/multicol/client-rects-spanners.html:
  • fast/multicol/offset-top-left-expected.txt: Added.
  • fast/multicol/offset-top-left.html: Added.
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.png: Added.
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt: Added.
8:27 AM Changeset in webkit [167807] by Brent Fulgham
  • 3 edits
    2 adds in trunk

ScrollingCoordinator is unaware of topContentInset
https://bugs.webkit.org/show_bug.cgi?id=132158
<rdar://problem/16706152>

Reviewed by Darin Adler.

Source/WebCore:
Test: platform/mac/fast/scrolling/scroll-select-bottom-test.html

The calculation of non-fast-scrollable regions does not currently take
the topContentOffset into account. Consequently, the logic that decides
whether to stay on the scrolling thread, or drop down to an individual
page element, can make the wrong choice. This is especially true for
small scrollable regions (such as <select> elements), where the
topContentInset may be quite close to the size of the scrollable

element itself.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Also
include the topContentInset value in our calculation.

LayoutTests:

  • platform/mac/fast/scrolling/scroll-select-bottom-test-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-bottom-test.html: Added.
8:15 AM Changeset in webkit [167806] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r167799): Breaks debug build
https://bugs.webkit.org/show_bug.cgi?id=132194

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Andrei Bucur.

Fix the debug bots after r167799

No new tests, no new functionality.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTemplateShorthand):

7:28 AM Changeset in webkit [167805] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Web process is crashed during dispatching touchEvent created by JS.
https://bugs.webkit.org/show_bug.cgi?id=113225

Patch by Miyoung Shin <myid.shin@samsung.com> on 2014-04-25
Reviewed by Benjamin Poulain.

TouchEvent created by JS should have the necessary attributes
of touches, targetTouches and changedTouches.
It should be verified weather there are touchLists before dispatching touch event.

Source/WebCore:
Test: fast/events/touch/create-touch-event-without-touchList.html

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventPath::updateTouchLists):
(WebCore::addRelatedNodeResolversForTouchList): Deleted.

LayoutTests:

  • fast/events/touch/create-touch-event-without-touchList-expected.txt: Added.
  • fast/events/touch/create-touch-event-without-touchList.html: Added.
7:17 AM Changeset in webkit [167804] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GTK] File webkitRelativePath attribute was removed in r163483
https://bugs.webkit.org/show_bug.cgi?id=132193

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-25
Reviewed by Carlos Garcia Campos.

Add the removed getter as deprecated API to keep backwards compatibility.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_file_get_webkit_relative_path):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
6:56 AM Changeset in webkit [167803] by stavila@adobe.com
  • 34 edits
    6 adds in trunk

[CSS Regions] Overflow selection doesn't work properly
https://bugs.webkit.org/show_bug.cgi?id=130715

Reviewed by David Hyatt.

Source/WebCore:
When hit-testing, painting block selection gaps and searching for the node at a specific point inside a flow thread,
the region range of the box being checked must be validated in order to not return false positives. Otherwise, hit-testing
at the top of region B could hit elements that overflow the bottom of region A.

Tests: fast/regions/selection-in-overflow-hit-testing.html

fast/regions/selection-in-overflow.html
fast/regions/selection-in-text-after-overflow-hit-testing.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):

  • dom/Document.cpp:

(WebCore::Document::caretRangeFromPoint):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::contains):

  • editing/VisibleUnits.cpp:

(WebCore::previousLinePosition):
(WebCore::nextLinePosition):

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectClosestWordFromHitTestResult):
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::selectionExtentRespectingEditingBoundary):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::handleMouseReleaseEvent):

  • page/Frame.cpp:

(WebCore::Frame::visiblePositionForPoint):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::positionForPointRespectingEditingBoundaries):
(WebCore::RenderBlock::positionForPointWithInlineChildren):
(WebCore::isChildHitTestCandidate):
(WebCore::RenderBlock::positionForPoint):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
(WebCore::RenderBlockFlow::positionForPoint):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::positionForPoint):

  • rendering/RenderBox.h:
  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::positionForPoint):

  • rendering/RenderFileUploadControl.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::positionForPoint):

  • rendering/RenderInline.h:
  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::positionForPoint):

  • rendering/RenderLineBreak.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::positionForPoint):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::positionForPoint):

  • rendering/RenderObject.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::positionForPoint):

  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::positionForPoint):

  • rendering/RenderReplaced.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::positionForPoint):

  • rendering/RenderText.h:
  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::positionForPoint):

  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::positionForPoint):

  • rendering/svg/RenderSVGText.h:

LayoutTests:
Added tests for hit-testing and painting selection gaps in the region's overflow area.

  • fast/regions/selection-in-overflow-expected.html: Added.
  • fast/regions/selection-in-overflow-hit-testing-expected.html: Added.
  • fast/regions/selection-in-overflow-hit-testing.html: Added.
  • fast/regions/selection-in-overflow.html: Added.
  • fast/regions/selection-in-text-after-overflow-hit-testing-expected.html: Added.
  • fast/regions/selection-in-text-after-overflow-hit-testing.html: Added.
6:35 AM Changeset in webkit [167802] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GTK] Iframe seamless support was removed in r163427
https://bugs.webkit.org/show_bug.cgi?id=132192

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-25
Reviewed by Carlos Garcia Campos.

Add the removed get and set methods as deprecated API to keep
backwards compatibility.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_processing_instruction_set_data):
(webkit_dom_html_iframe_element_get_seamless):
(webkit_dom_html_iframe_element_set_seamless):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
6:24 AM Changeset in webkit [167801] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GTK] HTMLInputElement webkitdirectory property was removed in r163483
https://bugs.webkit.org/show_bug.cgi?id=132191

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-25
Reviewed by Carlos Garcia Campos.

Add the removed get and set methods as deprecated API to keep
backwards compatibility.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_html_input_element_get_webkitdirectory):
(webkit_dom_html_input_element_set_webkitdirectory):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
5:38 AM Changeset in webkit [167800] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Added test expectations for the following flaky tests:

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-04-25

  • platform/gtk/TestExpectations:

fast/loader/submit-form-while-parsing-2.html
css3/calc/transitions-dependent.html
fast/dom/adopt-node-crash-2.html
fast/multicol/span/span-as-immediate-columns-child-dynamic.html
platform/gtk/editing/pasteboard/middle-button-paste.html

5:06 AM Changeset in webkit [167799] by commit-queue@webkit.org
  • 9 edits
    3 adds in trunk

[CSS Grid Layout] Implementation of the grid-template shorthand.
https://bugs.webkit.org/show_bug.cgi?id=128980

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Darin Adler.

Source/WebCore:
This shorthand sets the values for the grid-template-columns,
grid-template-rows and grid-template-areas, so the implementation
tries to reuse as much available parsing functions as possible.

The "parsingGridTrackList" was refactored to return a CSSValue and
let the "parseValue" function to assign the property value. The
"forwardSlash" operator is now valid when the track-list clause is
part of a shorthand. The "parseValue" function checkouts that only
additional clauses are allowed when processing shorthands; the
grid-columns-rows-get-set.html tests was modified to verify this.

The "parseGridTemplateAreas" was refactored too, in order to
process single areas's rows. This is very useful for the
gris-template secondary syntax, which mixes areas and rows values.

Finally, the "parseGirdLineNames" function was modified as well by
defining an new argument to concatenate head/tail custom-ident
elements and ensure the identList is at the heading index, since
it's now possible the parseList was rewound.

The implementation of the grid-template shorthand tries first to
match the <grid-template-columns> / <grid-template-rows> syntax,
failing back to the secondary syntax if needed. This approach
requires to rewind the parseList but it produces a clearer code.

Test: fast/css-grid-layout/grid-template-shorthand-get-set.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTemplateRowsAndAreas):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridLineNames):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTemplateAreasRow):
(WebCore::CSSParser::parseGridTemplateAreas):

  • css/CSSParser.h:
  • css/CSSParserValues.h:

(WebCore::CSSParserValueList::setCurrentIndex):

  • css/CSSPropertyNames.in:
  • css/StylePropertyShorthand.cpp:

(WebCore::webkitGridTemplateShorthand):

  • css/StylePropertyShorthand.h:

LayoutTests:
Layout Test for the basic functionality of the grid-template shorthand. It was
also added a new javascript file with some utility functions.

This shorthand sets the values for the grid-template-columns,
grid-template-rows and grid-template-areas, so the implementation
tries to reuse as much available parsing functions as possible.

  • fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt: Added.
  • fast/css-grid-layout/grid-template-shorthand-get-set.html: Added.
  • fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js: Added.

(testGridDefinitionsValues):
(testGridDefinitionsSetJSValues):
(testNonGridDefinitionsSetJSValues):
(checkGridDefinitionsSetJSValues):
(testGridDefinitionsSetBadJSValues):

4:27 AM WebKitGTK/KeepingTheTreeGreen edited by eocanha@igalia.com
(diff)
2:23 AM Changeset in webkit [167798] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove two unused SVGDocument functions.
<https://webkit.org/b/132178>

Reviewed by Antti Koivisto.

  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::dispatchZoomEvent): Deleted.
(WebCore::SVGDocument::dispatchScrollEvent): Deleted.

  • svg/SVGDocument.h:
1:25 AM Changeset in webkit [167797] by graouts@webkit.org
  • 6 edits
    6 adds in trunk

Implement Array.prototype.find()
https://bugs.webkit.org/show_bug.cgi?id=130966

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
Implement Array.prototype.find() and Array.prototype.findIndex() as proposed in the Harmony spec.

  • builtins/Array.prototype.js:

(find):
(findIndex):

  • runtime/ArrayPrototype.cpp:

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/array-find-expected.txt: Added.
  • js/array-find.html: Added.
  • js/array-findIndex-expected.txt: Added.
  • js/array-findIndex.html: Added.
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/array-find.js: Added.
  • js/script-tests/array-findIndex.js: Added.
1:13 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:04 AM Changeset in webkit [167796] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Incomplete body painting when using blend modes
https://bugs.webkit.org/show_bug.cgi?id=131889

Source/WebCore:
The incomplete painting was caused by the transparency layer created for
the root renderer. We can safely skip creating this transparency layer at
the root level, as there is nothing else being painted behind this layer that
could be used erroneously as a backdrop.

Patch by Ion Rosca <Ion Rosca> on 2014-04-25
Reviewed by Simon Fraser.

Test: css3/compositing/blend-mode-with-body.html

  • rendering/RenderLayer.h:

Changing RenderLayer::paintsWithTransparency so that it will not
return true when the root renderer needs to isolate blending.

LayoutTests:
Patch by Ion Rosca <Ion Rosca> on 2014-04-25
Reviewed by Simon Fraser.

  • css3/compositing/blend-mode-with-body-expected.html: Added.
  • css3/compositing/blend-mode-with-body.html: Added.
12:58 AM Changeset in webkit [167795] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Plugin process crashes with GTK2 windowed plugins
https://bugs.webkit.org/show_bug.cgi?id=132127

Reviewed by Martin Robinson.

It happens sometimes because the socket is used before the plug
has been added. A runtime critical warnings is shown and it
sometimes ends up crashing.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitializeWindowed): Do not
show the plug widget until the socket is connected.

12:55 AM Changeset in webkit [167794] by Darin Adler
  • 29 edits in trunk/Source/WebCore
ASSERTION FAILED: "!m_isolatedWorld->isNormal()
m_wrapper !m_jsFunction" in svg/custom/use-instanceRoot-event-listeners.xhtml

https://bugs.webkit.org/show_bug.cgi?id=132148

Reviewed by Andreas Kling.

Changed how JSCustomMarkFunction generation works. Instead of leaving out
the generated visitChildren function, just generate a call to visitAdditionalChildren.
This eliminates the need to repeat boilerplate.

The fix for the above bug was to correct mistaken logic where JSSVGElementInstance
had a visitChildren that did not properly mark event listeners because it explicitly
did not call through to the base class visitChildren. The new arrangement makes that
mistake impossible.

  • bindings/js/JSAttrCustom.cpp:

(WebCore::JSAttr::visitAdditionalChildren): Use this instead of visitChildren.

  • bindings/js/JSAudioTrackCustom.cpp:

(WebCore::JSAudioTrack::visitAdditionalChildren): Ditto.

  • bindings/js/JSAudioTrackListCustom.cpp:

(WebCore::JSAudioTrackList::visitAdditionalChildren): Ditto.

  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::JSCSSRule::visitAdditionalChildren): Ditto.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::visitAdditionalChildren): Ditto.

  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::JSCanvasRenderingContext::visitAdditionalChildren): Ditto.

  • bindings/js/JSCryptoKeyPairCustom.cpp:

(WebCore::JSCryptoKeyPair::visitAdditionalChildren): Ditto.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::visitAdditionalChildren): Ditto.

  • bindings/js/JSMessageChannelCustom.cpp:

(WebCore::JSMessageChannel::visitAdditionalChildren): Ditto.

  • bindings/js/JSMessagePortCustom.cpp:

(WebCore::JSMessagePort::visitAdditionalChildren): Ditto.

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::visitAdditionalChildren): Ditto.

  • bindings/js/JSNodeFilterCustom.cpp:

(WebCore::JSNodeFilter::visitAdditionalChildren): Ditto.

  • bindings/js/JSNodeIteratorCustom.cpp:

(WebCore::JSNodeIterator::visitAdditionalChildren): Ditto.

  • bindings/js/JSSVGElementInstanceCustom.cpp:

(WebCore::JSSVGElementInstance::visitAdditionalChildren): Ditto.

  • bindings/js/JSSharedWorkerCustom.cpp:

(WebCore::JSSharedWorker::visitAdditionalChildren): Ditto.

  • bindings/js/JSStyleSheetCustom.cpp:

(WebCore::JSStyleSheet::visitAdditionalChildren): Ditto.

  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::JSTextTrackCue::visitAdditionalChildren): Ditto.

  • bindings/js/JSTextTrackCustom.cpp:

(WebCore::JSTextTrack::visitAdditionalChildren): Ditto.

  • bindings/js/JSTextTrackListCustom.cpp:

(WebCore::JSTextTrackList::visitAdditionalChildren): Ditto.

  • bindings/js/JSTreeWalkerCustom.cpp:

(WebCore::JSTreeWalker::visitAdditionalChildren): Ditto.

  • bindings/js/JSVideoTrackCustom.cpp:

(WebCore::JSVideoTrack::visitAdditionalChildren): Ditto.

  • bindings/js/JSVideoTrackListCustom.cpp:

(WebCore::JSVideoTrackList::visitAdditionalChildren): Ditto.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::visitAdditionalChildren): Ditto.

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::visitAdditionalChildren): Ditto.

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::visitAdditionalChildren): Ditto.

  • bindings/js/JSXPathResultCustom.cpp:

(WebCore::JSXPathResult::visitAdditionalChildren): Ditto.

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::visitChildren): Rewrote to use modern for loops.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Generate declaration of visitAdditionalChildren.
(GenerateImplementation): Generate call to visitAdditionalChildren.

12:19 AM Changeset in webkit [167793] by akling@apple.com
  • 6 edits in trunk/Source

[iOS WebKit2] Enable optimization to mmap downloaded resources once they become file-backed.
<https://webkit.org/b/132171>
<rdar://problem/16720733>

Source/WebCore:
Add a missing export for the USE(CFNETWORK) + WebKit2 combo.

Reviewed by Antti Koivisto.

  • WebCore.exp.in:

Source/WebKit2:
Implement a CFNetwork-based version of NetworkResourceLoader::willCacheResponseAsync()
and activate the DiskCacheMonitor code path. This means that once resources go into
file system cache, we get notified and mmap them from disk, saving heaps of memory.

Reviewed by Antti Koivisto.

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/mac/DiskCacheMonitor.mm:
  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync):

Apr 24, 2014:

11:28 PM Changeset in webkit [167792] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] RemoteLayerTreeDrawingArea should force CA to garbage collect surfaces.
<https://webkit.org/b/132160>
<rdar://problem/16110687>

Do an empty CATransaction at the end of RemoteLayerTreeDrawingArea::flushLayers()
to get CA to garbage collect its IOSurfaces. This helps clean up unused surfaces
that we'd otherwise end up hanging on to for a long time.

Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::didUpdate):

11:02 PM Changeset in webkit [167791] by Darin Adler
  • 1 edit in trunk/Source/WebCore/loader/FrameLoader.cpp

Fix typo in comment from last check-in

11:01 PM Changeset in webkit [167790] by Darin Adler
  • 2 edits in trunk/Source/WebCore

FrameLoader::checkCompleted can hit the "ref'ing while destroyed" assertion
https://bugs.webkit.org/show_bug.cgi?id=132163
rdar://problem/16720640

Reviewed by Brady Eidson.

Couldn't find a way to test this yet. Would be nice to have a test.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkCompleted): Move protector until after we check
if the frame is already complete. That can happen in practice when this is
called from within the frame's destructor. All the code that runs before the
protector simply checks state and does not require protection.

8:59 PM Changeset in webkit [167789] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Mark Supplement instead of RefCountedSupplement in NavigatorContentUtils
https://bugs.webkit.org/show_bug.cgi?id=132151

Reviewed by Darin Adler.

Though Original goal was to make it sharable across navigator instances, the NavigatorContentUtils
has used RefCountedSupplement<Page> instead of RefCountedSupplement<Navigator>. This patch makes it
use Supplement<Page> because there is no scenario which needs to be shared across navigator instances.

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=171403.

No new tests, no behavior changes.

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::NavigatorContentUtils::from):
(WebCore::NavigatorContentUtils::create):
(WebCore::provideNavigatorContentUtilsTo):

  • Modules/navigatorcontentutils/NavigatorContentUtils.h:
6:24 PM Changeset in webkit [167788] by rniwa@webkit.org
  • 6 edits in trunk/Source

Unreviewed, rolling out r167700.
https://bugs.webkit.org/show_bug.cgi?id=132142

Incorrectly reverted the change in r167547 for
webkit.org/b/131898 (Requested by rniwa on #webkit).

Reverted changeset:

"Cursor doesn't change back to pointer when leaving the Safari
window"
https://bugs.webkit.org/show_bug.cgi?id=132038
http://trac.webkit.org/changeset/167700

Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24

5:54 PM Changeset in webkit [167787] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes
https://bugs.webkit.org/show_bug.cgi?id=132113

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/DebuggerDashboardView.css:

(.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp.

5:53 PM Changeset in webkit [167786] by beidson@apple.com
  • 51 edits in trunk/Source

Rename "IMAGE_CONTROLS" feature to "SERVICE_CONTROLS"
https://bugs.webkit.org/show_bug.cgi?id=132155

Reviewed by Tim Horton.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:
No new tests (No change in behavior).

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • WebCore.exp.in:
  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSValueKeywords.in:
  • dom/Node.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):

  • html/HTMLImageElement.h:
  • html/shadow/ImageControlsRootElement.cpp:
  • html/shadow/ImageControlsRootElement.h:
  • html/shadow/mac/ImageControlsButtonElementMac.cpp:
  • html/shadow/mac/ImageControlsButtonElementMac.h:
  • html/shadow/mac/ImageControlsRootElementMac.cpp:
  • html/shadow/mac/ImageControlsRootElementMac.h:
  • page/ContextMenuContext.cpp:

(WebCore::ContextMenuContext::ContextMenuContext):

  • page/ContextMenuContext.h:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::populate):

  • page/ContextMenuController.h:
  • page/Settings.in:
  • platform/ThemeTypes.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::canHaveChildren):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):

  • rendering/RenderTheme.h:
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • Misc/WebSharingServicePickerController.h:
  • Misc/WebSharingServicePickerController.mm:
  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::contextMenuForEvent):

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::operator=):
(WebKit::ContextMenuContextData::encode):
(WebKit::ContextMenuContextData::decode):

  • Shared/ContextMenuContextData.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebContextMenuProxyMac.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
(WebKit::WebContextMenuProxyMac::populate):
(WebKit::WebContextMenuProxyMac::showContextMenu):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebContextMenu.cpp:
  • WebProcess/WebPage/WebContextMenu.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
5:51 PM Changeset in webkit [167785] by timothy@apple.com
  • 3 edits in trunk/Source/WebCore

Web Inspector: Restore PageDebuggerAgent::enable / disable
https://bugs.webkit.org/show_bug.cgi?id=132156

Restore functions that were eroniously removed in r167530.

Reviewed by Joseph Pecoraro.

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::enable): Added.
(WebCore::PageDebuggerAgent::disable): Added.

  • inspector/PageDebuggerAgent.h:
5:48 PM Changeset in webkit [167784] by ap@apple.com
  • 6 edits in trunk/Source/WebCore

Dropzone effects don't work in non-file documents
https://bugs.webkit.org/show_bug.cgi?id=131770

Reviewed by Darin Adler.

File documents have two quirks that were making dropzone work in these before:

  1. An ancient hack for Dashboard allows pasteboard access from JS.
  2. On Mac, sandbox doesn't prevent File object creation, as we already have the access.
  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::hasFileOfType):
(WebCore::DataTransfer::hasStringOfType):

  • dom/DataTransfer.h:

Moved these functions from EventHandler to DataTransfer. We can't create a DataTransfer
with Files while dragging, security doesn't permit us to. But we can get the file name.

  • fileapi/File.cpp:

(WebCore::createBlobDataForFile):
(WebCore::createBlobDataForFileWithName):
(WebCore::File::contentTypeFromFilePath):
(WebCore::getContentTypeFromFileName): Deleted.

  • fileapi/File.h:

Exposed a function to get file type from path without creating a File first.
This is much cheaper than creating a File, and works even when sandbox disallows
read access to content, such as when dragging over a target.

  • page/EventHandler.cpp:

(WebCore::hasDropZoneType):
(WebCore::hasFileOfType): Deleted.
(WebCore::hasStringOfType): Deleted.

5:17 PM Changeset in webkit [167783] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS] Add some missing overrides and remove unnecessary virtuals
https://bugs.webkit.org/show_bug.cgi?id=132153

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-24
Reviewed by Darin Adler.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
5:14 PM Changeset in webkit [167782] by msaboff@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

REGRESSION: Apparent hang of PCE.js Mac OS System 7.0.1 on ARM64 devices
https://bugs.webkit.org/show_bug.cgi?id=132147

Reviewed by Mark Lam.

Fixed or64(), eor32( ) and eor64() to use "src" register when we have a valid logicalImm.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::or64):
(JSC::MacroAssemblerARM64::xor32):
(JSC::MacroAssemblerARM64::xor64):

  • tests/stress/regress-132147.js: Added test.
5:06 PM Changeset in webkit [167781] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebInspectorUI

Web Inspector: Should update to CodeMirror 4.1
https://bugs.webkit.org/show_bug.cgi?id=132140

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Timothy Hatcher.

Updated to CodeMirror 4.1, which contains several bugfixes.
Release notes: http://codemirror.net/doc/releases.html#v4

  • Tools/PrettyPrinting/codemirror.js:
  • Tools/PrettyPrinting/css.js:
  • Tools/PrettyPrinting/javascript.js:
  • UserInterface/External/CodeMirror/codemirror.js:
  • UserInterface/External/CodeMirror/css.js:
  • UserInterface/External/CodeMirror/javascript.js:
  • UserInterface/External/CodeMirror/livescript.js:
  • UserInterface/External/CodeMirror/runmode.js:
  • UserInterface/External/CodeMirror/xml.js:

Updated to CodeMirror 4.1.

3:48 PM Changeset in webkit [167780] by jer.noble@apple.com
  • 7 edits in trunk

Unreviewed, rolling out r167441.
https://bugs.webkit.org/show_bug.cgi?id=132152

Caused full screen regressions on vimeo, youtube, and others.
(Requested by jernoble on #webkit).

Reverted changeset:

"Fullscreen media controls are unusable in pagination mode"
https://bugs.webkit.org/show_bug.cgi?id=131705
http://trac.webkit.org/changeset/167441

Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24

3:29 PM Changeset in webkit [167779] by commit-queue@webkit.org
  • 6 edits
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: CSS autofill suggests properties instead of values when values are needed
https://bugs.webkit.org/show_bug.cgi?id=132090

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Joseph Pecoraro.

Updates are required to the CodeMirror helpers to be compatible with
CodeMirror 4. Some of those changes have been made to fix an issue
with CSS autofill, CSS code coloring, and also
https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that
CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different
data structure. All references to state.stack are obscelete. Many
are fixed here and more will be in an upcoming patch.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection.

  • UserInterface/External/CodeMirror/less.js: Removed.
  • UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly.
  • UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes.
3:24 PM Changeset in webkit [167778] by matthew_hanson@apple.com
  • 3 edits
    3 deletes in tags/Safari-538.31

Rollout r167689.

3:14 PM Changeset in webkit [167777] by cavalcantii@gmail.com
  • 2 edits in trunk/Source/WebCore

Unused class forward declarations in Page
https://bugs.webkit.org/show_bug.cgi?id=132141

Reviewed by Benjamin Poulain.

No new tests, no change on behavior.

  • page/Page.h:
3:09 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:46 PM Changeset in webkit [167776] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] don't ask for AVAssetTrack properties before they are available
https://bugs.webkit.org/show_bug.cgi?id=131902
<rdar://problem/16505076>

Reviewed by Brent Fulgham.

No new tests, the behavior this changes can not be tested with a layout test.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize

m_cachedTotalBytes.

(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Don't report that

metadata has been loaded until the track properties we need have been loaded too.

(WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Cache totalBytes instead

of recalculating it every time.

(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Invalidate cached

total bytes.

(WebCore::assetTrackMetadataKeyNames): Array of AVAssetTrack properties we use.

2:45 PM Changeset in webkit [167775] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

WebKit2 View Gestures: Use a single struct for the snapshot, and pass it around
https://bugs.webkit.org/show_bug.cgi?id=132114

Reviewed by Simon Fraser.

Have only a single map in ViewSnapshotStore, from back-forward item
to ViewSnapshotStore::Snapshot, and return the Snapshot struct when looking
up snapshots (via getSnapshot()), so that future patches can persist additional
information along with the snapshot.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::retrieveSnapshotForItem):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Adopt getSnapshot() instead of snapshotAndRenderTreeSize().
Move retrieveSnapshotForItem out into a separate function (for future use).

  • UIProcess/mac/ViewSnapshotStore.h:

(WebKit::ViewSnapshotStore::disableSnapshotting):
(WebKit::ViewSnapshotStore::enableSnapshotting):

  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshotStore::getSnapshot):
(WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize): Deleted.
Make Snapshot struct public.
Get rid of the separate map of back-forward items to render tree sizes.
When evicting, instead of removing the entry, clear out its snapshot image;
this way, we can keep other snapshot metadata around.

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

[iOS WebKit2] Should properly handle focus redirect (keyboard state changes when focus changes).
https://bugs.webkit.org/show_bug.cgi?id=132136
<rdar://problem/16238336>

Reviewed by Benjamin Poulain.

Focusing a field from JavaScript should not make the keyboard or the select picker
appear unless the user has already started interacting with one of the fields in the page.
Adding a parameter to StartAssistingNode to indicate whether the focus change is a result
of a user action.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::startAssistingNode):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _startAssistingNode:userIsInteracting:userObject:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::startAssistingNode):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::dispatchTouchEvent):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleTap):
(WebKit::WebPage::elementDidFocus):

2:20 PM Changeset in webkit [167773] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

Unify platformWidthForGlyph across OS X and iOS
https://bugs.webkit.org/show_bug.cgi?id=132036

Reviewed by Darin Adler.

This patch creates on shared SimpleFontData::platformWidthForGlyph() function for both OS X and iOS.

No new tests are necessary because there should be no behavior changes.

  • platform/graphics/SimpleFontData.h: Signatures for two helper functions
  • platform/graphics/ios/SimpleFontDataIOS.mm: Replace iOS implementation of platformWidthForGlyph() with

implementations of only the two helper functions
(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): iOS doesn't have color bitmap fonts
(WebCore::SimpleFontData::platformWidthForGlyph): Deleted.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): Use [NSFont advancementForGlyph] to compute the advance
(WebCore::hasCustomTracking): Removed #if
(WebCore::isEmoji): Only relevant on iOS
(WebCore::SimpleFontData::platformWidthForGlyph): Shared implementation. Calls helper functions.

2:12 PM Changeset in webkit [167772] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Make slowPathAllocsBetweenGCs a runtime option.
<https://webkit.org/b/132137>

Reviewed by Mark Hahnenberg.

This will make it easier to more casually run tests with this configuration
as well as to reproduce issues (instead of requiring a code mod and rebuild).
We will now take --slowPathAllocsBetweenGCs=N where N is the number of
slow path allocations before we trigger a collection.

The option defaults to 0, which is reserved to mean that we will not trigger
any collections there.

  • heap/Heap.h:
  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::doTestCollectionsIfNeeded):
(JSC::MarkedAllocator::allocateSlowCase):

  • heap/MarkedAllocator.h:
  • runtime/Options.h:
1:46 PM Changeset in webkit [167771] by Alan Bujtas
  • 10 edits
    2 adds in trunk

Subpixel rendering: Clipping on text areas when shifted by one device pixel.
https://bugs.webkit.org/show_bug.cgi?id=132008

Reviewed by Darin Adler.

Make RenderTheme paint* functions LayoutRect aware. Textarea is device pixel snapped, while
other theme controls are still on integral size/positions.

Source/WebCore:
Test: fast/forms/hidpi-textarea-on-subpixel-position.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintTextArea):

LayoutTests:

  • fast/forms/hidpi-textarea-on-subpixel-position-expected.html: Added.
  • fast/forms/hidpi-textarea-on-subpixel-position.html: Added.
  • platform/mac-wk2/TestExpectations: Due to defective RenderLayer cliprect calculation (WK2 only): webkit.org/b/132100
1:24 PM Changeset in webkit [167770] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Text caret disappears in Mail after returning from another application
https://bugs.webkit.org/show_bug.cgi?id=132111

Reviewed by Darin Adler.

The bug was caused by our SPI _windowChangedKeyState not getting called upon deminiaturization.

Fixed the bug by using the standard NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification
notifications as done in WebKit2 since they DO get called upon deminiaturization.

  • WebView/WebView.mm:

(-[WebView addWindowObserversForWindow:]):
(-[WebView removeWindowObservers]):
(-[WebView _windowKeyStateChanged:]):
(-[WebView _windowChangedKeyState]): Deleted.

12:49 PM Changeset in webkit [167769] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed GTK gardening

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-04-24

Tools:

  • Scripts/run-gtk-tests: Skips one flaky accesibility test in WK2API suite

(TestRunner):

LayoutTests:

  • platform/gtk/TestExpectations: Updated a few expectations entries
12:05 PM Changeset in webkit [167768] by mmaxfield@apple.com
  • 29 edits in trunk/Source

FontCache::fontCache() never returns nullptr so it can be made to return a reference instead
https://bugs.webkit.org/show_bug.cgi?id=132110

Reviewed by Tim Horton.

Updates callers to use '.' instead of '->'.

No new tests are necessary because there should be no behavior change.

Source/WebCore:

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::~CSSFontSelector):
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFallbackFontData):

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseMemory):

  • platform/graphics/FontCache.cpp:

(WebCore::fontCache): Return a reference

  • platform/graphics/FontCache.h:

(WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
(WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::releaseFontData):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::FontPlatformData::verticalData):

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformCreateScaledFontData):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::invalidateFontCache):
(WebCore::fontCacheRegisteredFontsChangedNotificationCallback):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::platformCreateScaledFontData):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::getCJKCodePageMasks):

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::containsCharacters):

  • platform/graphics/wince/FontCacheWinCE.cpp:

(WebCore::getCJKCodePageMasks):

  • platform/graphics/wince/FontPlatformData.cpp:

(WebCore::FontFamilyCodePageInfo::codePages):
(WebCore::FixedSizeFontData::create):

  • platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:

(WebCore::GlyphPage::fill):

  • platform/graphics/wince/SimpleFontDataWinCE.cpp:

(WebCore::SimpleFontData::platformCreateScaledFontData):
(WebCore::SimpleFontData::containsCharacters):

Source/WebKit/efl:

  • ewk/ewk_settings.cpp:

(ewk_settings_memory_cache_clear):

Source/WebKit/ios:

  • Misc/EmojiFallbackFontSelector.cpp:

(EmojiFallbackFontSelector::getFallbackFontData):

Source/WebKit/mac:

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics cachedFontDataCount]):
(+[WebCoreStatistics cachedFontDataInactiveCount]):
(+[WebCoreStatistics purgeInactiveFontData]):

  • WebView/WebView.mm:

(+[WebView purgeInactiveFontData]):

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::cachedFontDataCount):
(WebCoreStatistics::cachedFontDataInactiveCount):
(WebCoreStatistics::purgeInactiveFontData):

Source/WebKit2:

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::getWebCoreStatistics):

12:04 PM Changeset in webkit [167767] by eric.carlson@apple.com
  • 14 edits in trunk/Source

[iOS] Manage AudioSession category according to media type
https://bugs.webkit.org/show_bug.cgi?id=132096

Reviewed by Jer Noble.

Source/WebCore:

  • WebCore.exp.in: Export setting.
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::HTMLMediaSession):
(WebCore::initializeAudioSession): Deleted.

  • page/Settings.cpp:
  • page/Settings.h:

(WebCore::Settings::setShouldManageAudioSession): New.
(WebCore::Settings::shouldManageAudioSession): Ditto.

  • platform/audio/ios/AudioDestinationIOS.cpp:

(WebCore::AudioDestinationIOS::AudioDestinationIOS): Use a MediaSession instead of inheriting

from AudioListener and calling the AudioSession directly.

(WebCore::AudioDestinationIOS::~AudioDestinationIOS): Ditto.
(WebCore::AudioDestinationIOS::start): Notify session.
(WebCore::AudioDestinationIOS::stop): Ditto.
(WebCore::AudioDestinationIOS::beganAudioInterruption): Deleted.
(WebCore::AudioDestinationIOS::endedAudioInterruption): Deleted.

  • platform/audio/ios/AudioDestinationIOS.h:

(WebCore::AudioDestinationIOS::mediaType):
(WebCore::AudioDestinationIOS::canReceiveRemoteControlCommands):
(WebCore::AudioDestinationIOS::didReceiveRemoteControlCommand):
(WebCore::AudioDestinationIOS::isPlaying): Deleted.

  • platform/audio/ios/AudioSessionIOS.mm:

(WebCore::categoryName): Debug-only logging function.
(WebCore::AudioSession::setCategory): Don't stick with "media" once it is set.

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions): Set up restrictions for WebAudio.
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Don't set invalid start time.

  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState): Manage AudioSession.active when WebAudio clients

come and go. Manage AudioSession.category according to the number of WebAudio and
HTMLMediaElement clients.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]): Tell

WebCore to manage the AudioSession when running in MobileSafari.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Tell WebCore to manage the AudioSession.

11:43 AM WebKitGTK/KeepingTheTreeGreen edited by elima@igalia.com
(diff)
11:39 AM WebKitGTK/KeepingTheTreeGreen edited by elima@igalia.com
(diff)
11:20 AM WebKitGTK/KeepingTheTreeGreen edited by elima@igalia.com
(diff)
10:48 AM Changeset in webkit [167766] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

[wk2] Provide SPI allowing clients to hand events directly to swipe code, bypassing scrolling
https://bugs.webkit.org/show_bug.cgi?id=132092
<rdar://problem/15948244>

Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
Added. Hand the event directly to ViewGestureController, optionally
ignoring whether or not the WKView is scrollable (always pretending that it is not).

  • UIProcess/mac/ViewGestureController.h:

(WebKit::ViewGestureController::shouldIgnorePinnedState):
(WebKit::ViewGestureController::setShouldIgnorePinnedState):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::scrollEventCanBecomeSwipe):
(WebKit::ViewGestureController::handleScrollWheelEvent):
(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
(WebKit::scrollEventCanBecomeSwipe):
If we're ignoring the view's pinned state, pretend that we're always pinned,
and don't worry about sending events to WebCore.

10:30 AM Changeset in webkit [167765] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.
Update expectations after removal of environment variable
XVFB_SCREEN_DEPTH=8 from the GTK Release bot.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-24

  • platform/gtk/TestExpectations:
10:02 AM Changeset in webkit [167764] by hyatt@apple.com
  • 3 edits
    3 adds in trunk

[New Multicolumn] Client rects don't work with column spans.
https://bugs.webkit.org/show_bug.cgi?id=132131

Reviewed by Dean Jackson.

Source/WebCore:

Don't factor in the offset of the multicolumn set from the top
of the multicolumn block. This was added already, and it doesn't
need to be a part of columnTranslationForOffset.

Added fast/multicol/client-rects-spanners.html

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::columnTranslationForOffset):

LayoutTests:

  • fast/multicol/client-rects-spanners.html: Added.
  • platform/mac/fast/multicol/client-rects-spanners-expected.png: Added.
  • platform/mac/fast/multicol/client-rects-spanners-expected.txt: Added.
9:43 AM WebKitGTK/KeepingTheTreeGreen edited by elima@igalia.com
(diff)
9:36 AM Changeset in webkit [167763] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test that we correctly process ArrayBufferView slices in WebCrypto
https://bugs.webkit.org/show_bug.cgi?id=132087

Reviewed by Brent Fulgham.

  • crypto/subtle/array-buffer-view-offset-expected.txt: Added.
  • crypto/subtle/array-buffer-view-offset.html: Added.
9:31 AM Changeset in webkit [167762] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] WebKit build fails when MEDIA_SOURCE is enabled
https://bugs.webkit.org/show_bug.cgi?id=132118

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-24
Reviewed by Brent Fulgham.

Files MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp and
WebKitMediaSourceGStreamer.cpp are included for EFL port build.

No new tests. No change in behaviour.

  • PlatformEfl.cmake: MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp

and WebKitMediaSourceGStreamer.cpp are included for compilation.

9:27 AM Changeset in webkit [167761] by tgergely.u-szeged@partner.samsung.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: !begin.isIndefinite() in WebCore::SVGSMILElement::resolveFirstInterval.
https://bugs.webkit.org/show_bug.cgi?id=131097

Reviewed by Darin Adler.

Source/WebCore:
According to smil animation reference, max attribute cannot be 0.

Test: svg/animations/smil-animation-max-attribute-zero-crash.svg

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::maxValue):

changed (result < 0) to (result <= 0)

LayoutTests:
Test added.

  • svg/animations/smil-animation-max-attribute-zero-crash-expected.txt: Added.
  • svg/animations/smil-animation-max-attribute-zero-crash.svg: Added.
9:18 AM Changeset in webkit [167760] by ryuan.choi@samsung.com
  • 8 edits in trunk/Source/WebCore

Remove screenColorProfile()
https://bugs.webkit.org/show_bug.cgi?id=132035

Reviewed by Darin Adler.

Only chromium used screenColorProfile() since r120789.

  • platform/PlatformScreen.h:
  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenColorProfile): Deleted.

  • platform/gtk/PlatformScreenGtk.cpp:

(WebCore::screenColorProfile): Deleted.

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageDecoder::qcmsOutputDeviceProfile):

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenColorProfile): Deleted.

  • platform/mac/PlatformScreenMac.mm:

(WebCore::screenColorProfile): Deleted.

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenColorProfile): Deleted.

8:59 AM Changeset in webkit [167759] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

[GTK] wmode='transparent' for flash plugin doesn't work
https://bugs.webkit.org/show_bug.cgi?id=120055

Reviewed by Gustavo Noronha Silva.

Force opaque window mode for flash plugin when wmode='transparent',
since X11 backend doesn't support transparency. We should add
proper transparency support because forcing opaque window mode
doesn't really work. Handle this as a plugin quirk instead of
adding X11 specific code to WebFrameLoaderClient::createPlugin().

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::determineQuirks): Add
ForceFlashWindowlessMode quirk for flash in case of EFL platform
because EFL port doesn't support windowed plugins.

  • Shared/Plugins/PluginQuirks.h: Add ForceFlashWindowlessMode X11

plugin quirk.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::initialize): Modify or add wmode
parameter for flash plugin, to force opaque window mode when
transparent mode is specified or when ForceFlashWindowlessMode
quirk is present.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createPlugin): Remove X11 specific code.

8:56 AM Changeset in webkit [167758] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

One more unreviewed build fix after r167755.

  • html/shadow/mac/ImageControlsButtonElementMac.cpp:

(WebCore::RenderImageControlsButton::updateLogicalWidth):
(WebCore::RenderImageControlsButton::computeLogicalHeight):

8:33 AM Changeset in webkit [167757] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r167755.

  • rendering/RenderThemeMac.h:
7:37 AM Changeset in webkit [167756] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: gradient editor does not appear for linear-gradient with no specified angle
https://bugs.webkit.org/show_bug.cgi?id=132083

Reviewed by Timothy Hatcher.

Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color.

  • UserInterface/Models/Gradient.js:

(WebInspector.LinearGradient.linearGradientWithComponents):

7:27 AM Changeset in webkit [167755] by Alan Bujtas
  • 35 edits in trunk/Source/WebCore

Transition RenderTheme API from RenderObject* to const RenderObject&
https://bugs.webkit.org/show_bug.cgi?id=132037

Reviewed by Andreas Kling.

Using const references provides better encapsulation and improve security.

No change in behavior.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::boundingBoxForQuads):

  • dom/Element.cpp:

(WebCore::Element::setActive):
(WebCore::Element::setHovered):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::focusedOrActiveStateChanged):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledStateChanged):
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::baselinePosition):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):

  • rendering/RenderButton.cpp:

(WebCore::RenderButton::styleDidChange):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::paintObject):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):

  • rendering/RenderObject.h:
  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::computeLogicalHeight):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::paint):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::baselinePosition):
(WebCore::RenderTheme::adjustRepaintRect):
(WebCore::RenderTheme::stateChanged):
(WebCore::RenderTheme::updateControlStatesForRenderer):
(WebCore::RenderTheme::extractControlStatesForRenderer):
(WebCore::RenderTheme::isActive):
(WebCore::RenderTheme::isChecked):
(WebCore::RenderTheme::isIndeterminate):
(WebCore::RenderTheme::isEnabled):
(WebCore::RenderTheme::isFocused):
(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isReadOnlyControl):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):
(WebCore::RenderTheme::isDefault):
(WebCore::RenderTheme::paintInputFieldSpeechButton):
(WebCore::RenderTheme::paintMeter):
(WebCore::RenderTheme::paintSliderTicks):
(WebCore::RenderTheme::progressBarRectForBounds):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::controlSupportsTints):
(WebCore::RenderTheme::paintCapsLockIndicator):
(WebCore::RenderTheme::paintFileUploadIconDecorations):
(WebCore::RenderTheme::imageControlsButtonSize):
(WebCore::RenderTheme::paintCheckbox):
(WebCore::RenderTheme::paintRadio):
(WebCore::RenderTheme::paintButton):
(WebCore::RenderTheme::paintInnerSpinButton):
(WebCore::RenderTheme::paintCheckboxDecorations):
(WebCore::RenderTheme::paintRadioDecorations):
(WebCore::RenderTheme::paintButtonDecorations):
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):
(WebCore::RenderTheme::paintMenuList):
(WebCore::RenderTheme::paintMenuListDecorations):
(WebCore::RenderTheme::paintMenuListButtonDecorations):
(WebCore::RenderTheme::paintPushButtonDecorations):
(WebCore::RenderTheme::paintSquareButtonDecorations):
(WebCore::RenderTheme::paintProgressBar):
(WebCore::RenderTheme::paintSliderTrack):
(WebCore::RenderTheme::paintSliderThumb):
(WebCore::RenderTheme::paintSliderThumbDecorations):
(WebCore::RenderTheme::paintSearchField):
(WebCore::RenderTheme::paintSearchFieldDecorations):
(WebCore::RenderTheme::paintSearchFieldCancelButton):
(WebCore::RenderTheme::paintSearchFieldDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsButton):
(WebCore::RenderTheme::paintMediaFullscreenButton):
(WebCore::RenderTheme::paintMediaPlayButton):
(WebCore::RenderTheme::paintMediaOverlayPlayButton):
(WebCore::RenderTheme::paintMediaMuteButton):
(WebCore::RenderTheme::paintMediaSeekBackButton):
(WebCore::RenderTheme::paintMediaSeekForwardButton):
(WebCore::RenderTheme::paintMediaSliderTrack):
(WebCore::RenderTheme::paintMediaSliderThumb):
(WebCore::RenderTheme::paintMediaVolumeSliderContainer):
(WebCore::RenderTheme::paintMediaVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaVolumeSliderThumb):
(WebCore::RenderTheme::paintMediaRewindButton):
(WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
(WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderTheme::paintMediaControlsBackground):
(WebCore::RenderTheme::paintMediaCurrentTime):
(WebCore::RenderTheme::paintMediaTimeRemaining):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
(WebCore::RenderTheme::paintSnapshottedPluginOverlay):
(WebCore::RenderTheme::paintImageControlsButton):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::addRoundedBorderClip):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::baselinePosition):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::paintSliderThumbDecorations):
(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::RenderThemeIOS::paintSearchFieldDecorations):
(WebCore::RenderThemeIOS::paintButtonDecorations):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):

  • rendering/RenderThemeMac.h:

(WebCore::RenderThemeMac::updateActiveState):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::documentViewFor):
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::convertToPaintingRect):
(WebCore::RenderThemeMac::updateCheckedState):
(WebCore::RenderThemeMac::updateEnabledState):
(WebCore::RenderThemeMac::updateFocusedState):
(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::controlSupportsTints):
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::progressBarRectForBounds):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):

5:58 AM Changeset in webkit [167754] by commit-queue@webkit.org
  • 10 edits
    8 adds in trunk/LayoutTests

[EFL] Update baselines after r167568
https://bugs.webkit.org/show_bug.cgi?id=132125

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-24

  • platform/efl-wk2/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Added.
  • platform/efl/fast/repaint/reflection-redraw-expected.txt: Rebaseline after r167568.
  • platform/efl/fast/table/multiple-captions-display-expected.txt: Rebaseline after r167568.
  • platform/efl/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
  • platform/efl/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
  • platform/efl/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
  • platform/efl/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
  • platform/efl/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
  • platform/efl/tables/mozilla/marvin/body_col-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla/other/body_col-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt: Rebaseline after r167568.
  • platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt: Rebaseline after r167568.
1:55 AM Changeset in webkit [167753] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

prepare-ChangeLog reports as deleted methods that has not been removed.
https://bugs.webkit.org/show_bug.cgi?id=131733

Reviewed by Ryosuke Niwa.

  • Scripts/prepare-ChangeLog:

(originalFile): Set merge base to origin/master by default.

12:50 AM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
12:17 AM Changeset in webkit [167752] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebCore

[GTK] HTML Media capture attribute is a boolean since r163958
https://bugs.webkit.org/show_bug.cgi?id=132061

Reviewed by Gustavo Noronha Silva.

Add new methods webkit_dom_html_input_element_get_capture_enabled
and webkit_dom_html_input_element_set_capture_enabled using a
boolean and deprecate the old methods.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_html_input_element_get_capture):
(webkit_dom_html_input_element_set_capture):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
  • bindings/gobject/webkitdom.symbols:
  • bindings/scripts/CodeGeneratorGObject.pm:

(GetEffectiveFunctionName): Helper function to rename API methods
for special cases.
(GenerateFunction): Use GetEffectiveFunctionName().

12:07 AM Changeset in webkit [167751] by jcraig@apple.com
  • 6 edits in trunk/Tools

prepare-Changelog and svn-create-patch should optionally run check-webkit-style.
https://bugs.webkit.org/show_bug.cgi?id=131115

Reviewed by Daniel Bates.

Added [--[no-]style] param to run check-webkit-style as part of prepare-Changelog and svn-create-patch.

  • Scripts/commit-log-editor: Added --no-style.
  • Scripts/prepare-ChangeLog: Primary patch.

(main): Primary patch.
(createPatchCommand): Added --no-style.

  • Scripts/svn-create-patch: Primary patch.
  • Scripts/webkit-tools-completion.sh: Added --style and --no-style.
  • Scripts/webkitpy/common/checkout/scm/svn.py: Added --no-style.

(SVN.create_patch): Added --no-style.

Apr 23, 2014:

11:37 PM Changeset in webkit [167750] by commit-queue@webkit.org
  • 10 edits in trunk

[MediaStream] Implement MediaStream active attribute
https://bugs.webkit.org/show_bug.cgi?id=131973

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-23
Reviewed by Eric Carlson.

Source/WebCore:
MediaStream .active attribute are introduced which will replace
.ended attribute. This patch implements the newly introduced attributes.

MediaStream-add-remove-tracks.html is updated to handle this scenario.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::active): Added.
(WebCore::MediaStream::setActive): Added.
(WebCore::MediaStream::addTrack): Propagates 'onactive' event when required.
(WebCore::MediaStream::removeTrack): Propagates 'oninactive' event when required.
(WebCore::MediaStream::trackDidEnd): Propagates 'oninactive' event when required.
(WebCore::MediaStream::streamDidEnd):
(WebCore::MediaStream::setStreamIsActive): Added.

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStream.idl:
  • dom/EventNames.h:
  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::MediaStreamPrivate): Initialize .active attribute
(WebCore::MediaStreamPrivate::setEnded):
(WebCore::MediaStreamPrivate::setActive): Added.

  • platform/mediastream/MediaStreamPrivate.h:

(WebCore::MediaStreamPrivate::active): Added.

LayoutTests:
MediaStream .onended attribute will be replaced with .active attribute.
Patch updates the test case to verify the .active attribute.

  • fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
  • fast/mediastream/MediaStream-add-remove-tracks.html:
10:16 PM Changeset in webkit [167749] by Simon Fraser
  • 5 edits in trunk/Source/WebKit2

[iOS WK2] Missing content inside long overflow-scrolling:touch
https://bugs.webkit.org/show_bug.cgi?id=132105

Reviewed by Tim Horton.

PlatformCALayerRemote needs to track bounds origin as well as size,
since iOS uses bounds origin for overflow scrolling.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::applyPropertiesToLayer):

  • Shared/mac/RemoteLayerTreeTransaction.h:
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::updateBackingStore):
(WebKit::PlatformCALayerRemote::bounds):
(WebKit::PlatformCALayerRemote::setBounds):

9:49 PM Changeset in webkit [167748] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

9:47 PM Changeset in webkit [167747] by Lucas Forschler
  • 1 copy in tags/Safari-538.31

New Tag.

9:46 PM Changeset in webkit [167746] by Darin Adler
  • 12 edits in trunk/Source/WebCore

[Cocoa] fix CF leaks found by code inspection
https://bugs.webkit.org/show_bug.cgi?id=132106

Reviewed by Andreas Kling.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::trackDisplayName): Added a missing adoptCF.

  • platform/Language.cpp:

(WebCore::displayNameForLanguageLocale): Added a missing adoptCF.

  • platform/graphics/FontPlatformData.cpp:

(WebCore::FontPlatformData::openTypeTable): Added a missing adoptCF.

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:

(WebCore::InbandTextTrackPrivateAVCF::label): Added two missing adoptCF.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::createImageForTimeInRect): Added two missing adoptCF.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::createPDFDocument): Added missing adoptCF.

  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::cascadeToLastResortFontDescriptor): Added two missing adoptCF.

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::primaryFontDataIsSystemFont): Added missing adoptCF.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::hasCustomTracking): Added missing adoptCF.

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageDecoder::qcmsOutputDeviceProfile): Added CFRelease.

  • plugins/mac/PluginPackageMac.cpp:

(WebCore::readPListFile): Added two missing adoptCF.

9:42 PM Changeset in webkit [167745] by akling@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Remove Apple Dictionary workaround in WebFrameLoaderClient.
<https://webkit.org/b/132095>

Kill a hack to work around a WK1 client bug that got fixed years ago.
See <rdar://problem/6471058> for backstory.

Reviewed by Darin Adler.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::dispatchWillSendRequest):
(applyAppleDictionaryApplicationQuirkNonInlinePart): Deleted.
(applyAppleDictionaryApplicationQuirk): Deleted.

9:24 PM Changeset in webkit [167744] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION (r157328): popover to check into flight ba.com dismisses instantly when focusing form
https://bugs.webkit.org/show_bug.cgi?id=131949

Address the review comment.

  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedNodeResolver::findHostOfTreeScopeInTargetTreeScope):

9:11 PM Changeset in webkit [167743] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

CachedResourceLoader hoards URLs indefinitely for no good reason.
<https://webkit.org/b/132102>
<rdar://problem/16708265>

Since we don't care about CachedResourceLoader::m_validatedURL's after
the Document has finished dispatching its initial load event, clear the
set at that point, and don't add any new URLs to it.

Reviewed by Anders Carlsson.

  • dom/Document.cpp:

(WebCore::Document::dispatchWindowLoadEvent):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::documentDidFinishLoadEvent):

  • loader/cache/CachedResourceLoader.h:
8:56 PM Changeset in webkit [167742] by akling@apple.com
  • 10 edits in trunk/Source/WebKit2

Remove unused WKPageSetMemoryCacheClientCallsEnabled API.
<https://webkit.org/b/132098>

This API was added to WK2 back in 2011 but never actually used.

Reviewed by Anders Carlsson.

  • Shared/WebPageCreationParameters.cpp:

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

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetMemoryCacheClientCallsEnabled): Deleted.

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

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): Deleted.

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setMemoryCacheMessagesEnabled): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
8:43 PM Changeset in webkit [167741] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Canvas cache of clean URLs can grow without bounds.
<https://webkit.org/b/132091>
<rdar://problem/16695665>

Remove a silly "optimization" that kept a cache of clean URLs
that can be drawn into a canvas without tainting it, all to avoid
the "expensive" checks to determine whether it would taint.

Reviewed by Benjamin Poulain.

  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::wouldTaintOrigin):

  • html/canvas/CanvasRenderingContext.h:
8:31 PM Changeset in webkit [167740] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

[iOS WK2] Make -webkit-overflow-scrolling:touch work
https://bugs.webkit.org/show_bug.cgi?id=132097

Reviewed by Tim Horton.

Scrolling of UIScrollViews in content (for -webkit-overflow-scrolling:touch)
depends on them getting hit-tested correctly. UIKit hit testing assumes
that subviews are enclosed by their ancestors, but this is not true of
web content. In addition, we had a root layer that was zero sized.

Fix by overriding hitTest:withEvent: on our content WKViews to hit
test subviews even if they are not enclosed.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(-[UIView _recursiveFindDescendantViewAtPoint:withEvent:]):
(-[UIView _findDescendantViewAtPoint:withEvent:]):
(-[WKCompositingView hitTest:withEvent:]):
(-[WKTransformView hitTest:withEvent:]):
(-[WKRemoteView hitTest:withEvent:]):
(WebKit::RemoteLayerTreeHost::createLayer):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
Update debug borders on the root layer.
(WebKit::RemoteLayerTreeDrawingArea::mainFrameContentSizeChanged):
Size the root layer to the contents size. This isn't strictly necessary
given the hit testing overrides, but seems sensible to do anyway.

8:31 PM Changeset in webkit [167739] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Nonopaque layers double-paint with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=132101

Reviewed by Tim Horton.

The non-IOSurface code path was failing to clear the backing store
before painting.

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):

7:37 PM Changeset in webkit [167738] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebKit2

[iOS][WK2] Image and text documents sometime gets the webpage viewport configuration
https://bugs.webkit.org/show_bug.cgi?id=132099

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-23
Reviewed by Tim Horton.

When didReceiveMobileDocType(), if the doctype was not XHTML mobile, we were setting
the viewport configuration to webpageParameters(). This is obviously not correct for
Image and Text documents.

This patch moves the code deciding the default configuration out of WebPage::didCommitLoad()
and use it from WebPage::didCommitLoad() and WebPage::didReceiveMobileDocType().

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::didReceiveMobileDocType):
(WebKit::WebPage::resetViewportDefaultConfiguration):

7:25 PM Changeset in webkit [167737] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/efl

[EFL][WK1] Add *const* keyword to _get() APIs
https://bugs.webkit.org/show_bug.cgi?id=132094

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-23
Reviewed by Gyuyoung Kim.

Some _get() EFL APIs don't have *const* keyword though the _get() APIs don't modify passed argument.
We need to add *const* keyword to those APIs.

  • ewk/ewk_history.cpp:

(ewk_history_limit_get):

  • ewk/ewk_history.h:
  • ewk/ewk_js.cpp:

(ewk_js_object_type_get):

  • ewk/ewk_js.h:
7:23 PM Changeset in webkit [167736] by andersca@apple.com
  • 2 edits in trunk/Tools

Try to fix iOS build.

  • DumpRenderTree/mac/DumpRenderTree.mm:
7:13 PM Changeset in webkit [167735] by benjamin@webkit.org
  • 12 edits in trunk/Source

[iOS][WK2] Fix a few mistakes affecting the initial layout and the initial unobscured rect
https://bugs.webkit.org/show_bug.cgi?id=132093

Source/WebCore:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-23
Reviewed by Tim Horton.

Change the minimum layout size to float point values to account for size defined on retina displays.
The minimum layout size supports half-pixels, the value is rounded later when computing the layout size
in document coordinates.

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

(WebCore::ViewportConfiguration::ViewportConfiguration):
Setting the initial content size is incorrect. The layout size computation already take into account
empty size for the first layout.

Setting the content size upfront make the first computation incorrect when the viewport arguments specify
the initial scale.

(WebCore::ViewportConfiguration::setMinimumLayoutSize):

  • page/ViewportConfiguration.h:

(WebCore::ViewportConfiguration::minimumLayoutSize):

Source/WebKit2:
<rdar://problem/16703237>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-23
Reviewed by Tim Horton.

The user of WKWebView can setup a size on device pixels, which can add half a point to the minimum
layout size. By rounding this up before applying the page scale, we ended up with rounding errors
on the layout size and the transitory unobscured content rect.

This patch fixes changes the minimal layout size to float point values to reduce the rounding problems.

  • UIProcess/API/Cocoa/WKWebView.mm:

(setViewportConfigurationMinimumLayoutSize):
(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPageProxy::setMinimumLayoutSizeForMinimalUI):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):
Defaulting the content size to the minimum layout size only works if the initial-scale is 1.
ViewportConfiguration knows exactly what to do before the first layout.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPage::setMinimumLayoutSizeForMinimalUI):
(WebKit::WebPage::dynamicViewportSizeUpdate):
A few fixes here:
-setZoomedOutPageScaleFactor() was incorrectly using the initial scale. 99% of the time, initial scale

and minimum scale are equal, but the page can specify something different with the viewport meta tag.

-Use floating point for manipulating the minimum layout sizes, then round the value.
-minimumLayoutSizeInDocumentCoordinate was scaled the wrong way around.

(WebKit::WebPage::viewportConfigurationChanged):

6:23 PM Changeset in webkit [167734] by Brent Fulgham
  • 10 edits in trunk/Source/WebCore

[Mac, iOS] Stop buffering media when on an inactive tab.
https://bugs.webkit.org/show_bug.cgi?id=132077

Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp: Rename 'm_isDisplaySleepDisablingSuspended'

to 'm_elementIsHidden'.
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::visibilityStatusChanged): Notify the
media session that the element is (or is not) hidden.
(WebCore::HTMLMediaElement::setShouldBufferData): Added.

  • html/HTMLMediaElement.h:
  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::clientWillBeginPlayback): Tell media to
buffer if not hidden or playing.
(WebCore::MediaSession::clientWillPausePlayback): Ditto.
(WebCore::MediaSession::visibilityChanged): Added. Client API, just relays call
to updateClientDataBuffering.
(WebCore::MediaSession::updateClientDataBuffering): Tell client it should only
buffer data if it's currently playing, or not hidden.

  • platform/audio/MediaSession.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setShouldBufferData): Added: Just relays to
MediaPlayerPrivate object.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setShouldBufferData):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldBufferData): Added.
Detach the player item from the player if we don't want to continue
buffering or other background tasks.

5:43 PM Changeset in webkit [167733] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

The GC should only resume compiler threads that it suspended in the same GC pass.
<https://webkit.org/b/132088>

Reviewed by Mark Hahnenberg.

Previously, this scenario can occur:

  1. Thread 1 starts a GC and tries to suspend DFG worklist threads. However, no worklists were created yet at the that time.
  2. Thread 2 starts to compile some functions and creates a DFG worklist, and acquires the worklist thread's lock.
  3. Thread 1's GC completes and tries to resume suspended DFG worklist thread. This time, it sees the worklist created by Thread 2 and ends up unlocking the worklist thread's lock that is supposedly held by Thread 2.

Thereafter, chaos ensues.

The fix is to cache the worklists that were actually suspended by each GC pass,
and only resume those when the GC is done.

This issue was discovered by enabling COLLECT_ON_EVERY_ALLOCATION and running
the fast/workers layout tests.

  • heap/Heap.cpp:

(JSC::Heap::visitCompilerWorklists):
(JSC::Heap::deleteAllCompiledCode):
(JSC::Heap::suspendCompilerThreads):
(JSC::Heap::resumeCompilerThreads):

  • heap/Heap.h:
5:32 PM Changeset in webkit [167732] by ap@apple.com
  • 22 edits
    1 delete in trunk

Eliminate internals.setMockScrollbarsEnabled()
https://bugs.webkit.org/show_bug.cgi?id=132085

Reviewed by Tim Horton.

Source/WebCore:
This was essentially unused, and also didnt work.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setMockScrollbarsEnabled): Deleted.

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm: (resetWebPreferencesToConsistentValues):

No need to reset the preference, there is no way it can change.

LayoutTests:
Remove calls, all of which were resetting it to true (which is the default, and
the only value that makes sense).

  • compositing/geometry/fixed-position.html:
  • compositing/geometry/horizontal-scroll-composited.html:
  • compositing/geometry/vertical-scroll-composited.html:
  • compositing/iframes/resources/scrollgrandchild-inner.html:
  • compositing/overflow/fixed-position-ancestor-clip.html:
  • compositing/resources/mock_scrollbars.js: Removed.
  • css3/filters/blur-filter-page-scroll-parents.html:
  • css3/filters/blur-filter-page-scroll-self.html:
  • css3/filters/blur-filter-page-scroll.html:
  • fast/dom/window-scroll-scaling.html:
  • fast/events/touch/gesture/gesture-scrollbar.html:
  • fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html:
  • fast/sub-pixel/transformed-iframe-copy-on-scroll.html:
  • media/video-controls-rendering.html:
  • media/video-zoom.html:
  • scrollingcoordinator/resources/non-fast-scrollable-region-testing.js:
5:08 PM Changeset in webkit [167731] by jcraig@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Moving myself from Contributors to Committers list.

4:17 PM Changeset in webkit [167730] by andersca@apple.com
  • 10 edits
    1 copy in trunk/Source

Don't migrate the WKView.h header from WebCore to WebKit
https://bugs.webkit.org/show_bug.cgi?id=132086

Reviewed by Dan Bernstein.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Add WAKViewInternal.h.

  • platform/WAKViewInternal.h: Added.
  • platform/ios/wak/WAKClipView.m:

Import WAKViewInternal.h instead of WAKViewPrivate.h.

  • platform/ios/wak/WAKScrollView.mm:

Import WAKViewInternal.h instead of WAKViewPrivate.h.

  • platform/ios/wak/WAKView.h:

Move ivars to a class extension in WAKViewInternal.h and remove WKView.h import.

  • platform/ios/wak/WAKView.mm:

Import WAKViewInternal.h instead of WAKViewPrivate.h.

  • platform/ios/wak/WAKViewPrivate.h:

Import WKViewPrivate.h.

Source/WebKit/mac:

  • MigrateHeaders.make:

Remove WKView.h from the list of headers to migrate.

  • WebView/WebView.mm:

Import WKView.h.

3:35 PM Changeset in webkit [167729] by mhahnenberg@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

Arguments::copyBackingStore needs to update m_registers in tandem with m_registerArray
https://bugs.webkit.org/show_bug.cgi?id=132079

Reviewed by Michael Saboff.

Since we're moving the register backing store, we don't want to leave a dangling pointer into a random CopiedBlock.

Also added a test that previously triggered this bug.

  • runtime/Arguments.cpp:

(JSC::Arguments::copyBackingStore): D'oh!

  • tests/stress/arguments-copy-register-array-backing-store.js: Added.

(foo):
(bar):

3:22 PM Changeset in webkit [167728] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Mock scrollbars don't always work in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=132082

Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(prepareConsistentTestingEnvironment):
Set the mock scrollbar setting before creating the WebView, as this setting
cannot be dynamically changed, so any scrollbars that are created during
WebView initialization and are not replaced before snapshotting will end
up being platform scrollbars instead of mock ones.
WebKitTestRunner already sets this preference before creating WKViews,
so we're just matching its behavior.

3:19 PM Changeset in webkit [167727] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

[New Multicolumn] fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html fails
https://bugs.webkit.org/show_bug.cgi?id=132078

Reviewed by Anders Carlsson.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
Add a parameter to test for orthogonal writing modes. If we're perpendicular,
then we should not skip the flow thread, since we resolve relative to the column width,
and that is always set.

(WebCore::RenderBox::computePercentageLogicalHeight):
Patched to pass in whether or not the box and the ancestor block are perpendicular.

  • rendering/RenderBox.h:

Patched the signature of skipContainingBlockForPercentHeightCalculation

2:55 PM Changeset in webkit [167726] by Lucas Forschler
  • 5 edits in branches/safari-537.76-branch/Source

Versioning.

2:48 PM Changeset in webkit [167725] by Lucas Forschler
  • 1 copy in branches/safari-537.76-branch

New branch.

2:33 PM Changeset in webkit [167724] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

[OS X] Make checking if a font is the system font more robust
https://bugs.webkit.org/show_bug.cgi?id=132030

Reviewed by Dean Jackson.

Instead of inspecting a font's name to determine if it is a system font,
on OS X we can ask the system directly.

This patch also moves a platform-specific check into platform-specific
code, so that other platforms don't check for OS X-specific behavior.

Covered by existing tests.

  • platform/graphics/Font.cpp:

(WebCore::Font::hasValidAverageCharWidth):

  • platform/graphics/Font.h:
  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::primaryFontDataIsSystemFont):

2:27 PM Changeset in webkit [167723] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

[New Multicolumn] Assertion failure in huge-column-count.html
https://bugs.webkit.org/show_bug.cgi?id=132071

Reviewed by Dean Jackson.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::regionAtBlockOffset):
Back out this change, since it wasn't general enough.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::getRegionRangeForBox):
The real issue was that this loop needed to consider the actual box
rather than starting from the parent. This was a non-issue for normal
regions (which cannot have nested flow threads), but for columns, you
have to consider the fact that the box could itself be a flow thread.

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

[iOS] Memory pressure notification should fire on main thread.
<https://webkit.org/b/132074>

Rejig the memory pressure notification to fire on the main queue
directly instead of rerouting it manually.

Reviewed by Mark Rowe.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

1:54 PM Changeset in webkit [167721] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r167720.
https://bugs.webkit.org/show_bug.cgi?id=132075

broke eight newmulticol tests (Requested by thorton on
#webkit).

Reverted changeset:

"[New Multicolumn] Assertion failure in huge-column-
count.html"
https://bugs.webkit.org/show_bug.cgi?id=132071
http://trac.webkit.org/changeset/167720

1:01 PM Changeset in webkit [167720] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

[New Multicolumn] Assertion failure in huge-column-count.html
https://bugs.webkit.org/show_bug.cgi?id=132071

Reviewed by Dean Jackson.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::regionAtBlockOffset):
Remove the code that returned 0 here, since we're going to patch a lower-level
function to catch all cases.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::getRegionRangeForBox):
Don't allow in-flow RenderFlowThreads to ever have a region range. The sets
are what should have ranges... the flow thread needs to just be ignored.

12:38 PM Changeset in webkit [167719] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Support encoding/decoding NSUInteger arguments in WKRemoteObjectCoder.
https://bugs.webkit.org/show_bug.cgi?id=132040

Add support for encoding/decoding NSUInteger arguments.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-04-23
Reviewed by Sam Weinig.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(encodeInvocation):
(decodeInvocationArguments):

11:55 AM Changeset in webkit [167718] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

[New Multicolumn] Crasher when clearing out a flow thread in multicolumn layout.
https://bugs.webkit.org/show_bug.cgi?id=132069

Reviewed by Dean Jackson.

Source/WebCore:
This is imported from a patch Morten did for Blink, but I had to change it a fair
bit. deleteLines() is used to handle simple line box layout instead of just calling
deleteLineBoxTree.

I also had to disable the layout state to stop asserts on repaint when the children
get moved. Not sure why Blink didn't hit this, but it's simple enough to add a
LayoutStateDisabler to stop the assert.

Added fast/multicol/inline-children-crash.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):

LayoutTests:

  • fast/multicol/inline-children-crash-expected.txt: Added.
  • fast/multicol/inline-children-crash.html: Added.
11:47 AM Changeset in webkit [167717] by akling@apple.com
  • 4 edits
    1 add in trunk/Source/WebCore

[iOS WebKit2] IOSurfacePool should force CA to actually garbage collect surfaces.
<https://webkit.org/b/132065>
<rdar://problem/16110687>

Add a platformGarbageCollectNow() helper function to IOSurfacePool that
triggers a sweep of the IOSurfaces. Call this from collectionTimerFired()
and discardAllSurfaces().

This lets us drop all otherwise-unused 420f surfaces on memory pressure.

Reviewed by Tim Horton.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::collectionTimerFired):
(WebCore::IOSurfacePool::discardAllSurfaces):

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cocoa/IOSurfacePoolCocoa.mm: Added.

(WebCore::IOSurfacePool::platformGarbageCollectNow):

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

REGRESSION (Safari 6 - ToT): Incorrectly assumes that RenderStyle data can be shared
https://bugs.webkit.org/show_bug.cgi?id=113058

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.

Source/WebCore:
Before sharing CSS properties with an element in the cache, we need to
check that the new element is suitable for this, just like we check
elements before inserting them into the cache.

Test: fast/css/identical-logical-height-decl.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyMatchedProperties):

LayoutTests:

  • fast/css/identical-logical-height-decl-expected.html: Added.
  • fast/css/identical-logical-height-decl.html: Added.
11:36 AM Changeset in webkit [167715] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r167713.
https://bugs.webkit.org/show_bug.cgi?id=132070

broke hundreds of tests (Requested by thorton on #webkit).

Reverted changeset:

"[OS X] Make checking if a font is the system font more
robust"
https://bugs.webkit.org/show_bug.cgi?id=132030
http://trac.webkit.org/changeset/167713

11:05 AM Changeset in webkit [167714] by hyatt@apple.com
  • 6 edits in trunk/Source/WebCore

[New Multicolumn] Nested columns not working at all.
https://bugs.webkit.org/show_bug.cgi?id=131805

Reviewed by Dean Jackson.

Add support for nested pagination contexts, allowing for an arbitrary level
of nesting of multicolumn layouts. There were a number of things that had to
be patched in order for this to work.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::regionAtBlockOffset):
Make sure RenderMultiColumnFlowThreads just return null for regions at any
block offset. Individual region sets will be created as you cross ancestor
regions eventually, so this is just getting in the way.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::enclosingPaginationLayerInSubtree):
Add a new helper method for obtaining an enclosingPaginationLayer when
constrained by some root. This function ensures you don't accidentally
cross your subtree root when looking for enclosing pagination layers.

(WebCore::RenderLayer::collectFragments):
Patch collectFragments to know how to recur to collect ancestor fragments
in order to apply nested splitting as you cross pagination boundaries.

(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

(WebCore::LayerFragment::LayerFragment):
(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):
Improve the LayerFragment so that it caches transformed bounding boxes as
well. This is needed to fix intersectsDamageRect so that it doesn't grab
the wrong bounding box when checking inline layers that are paginated.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
Ignore inserted flow threads inside an ancestor flow thread, since we only
care about what the sets do.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::insertedIntoTree):
Make sure that nested flow thread layers return themselves when a child
is inserted directly under them.

10:49 AM Changeset in webkit [167713] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

[OS X] Make checking if a font is the system font more robust
https://bugs.webkit.org/show_bug.cgi?id=132030

Reviewed by Dean Jackson.

Instead of inspecting a font's name to determine if it is a system font,
on OS X we can ask the system directly.

This patch also moves a platform-specific check into platform-specific
code, so that other platforms don't check for OS X-specific behavior.

Covered by existing tests.

  • platform/graphics/Font.cpp:

(WebCore::Font::hasValidAverageCharWidth):

  • platform/graphics/Font.h:
  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::primaryFontDataIsSystemFont):

9:44 AM Changeset in webkit [167712] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[GTK] Focus management API was moved from HTMLDocument to Document in r166668
https://bugs.webkit.org/show_bug.cgi?id=132060

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-23
Reviewed by Carlos Garcia Campos.

Deprecate the removed methods in WebKitDOMHTMLDocument to keep API compatibility.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_html_document_get_active_element):
(webkit_dom_html_document_has_focus):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
  • bindings/gobject/webkitdom.symbols:
9:19 AM Changeset in webkit [167711] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS WebKit1] MemoryPressureHandler::respondToMemoryPressure called on wrong thread.
<https://webkit.org/b/132041>
<rdar://problem/16687238>

Always dispatch the memory pressure relief code on the main queue.
This is really only needed for iOS/WK1, but we might as well share the code.

Reviewed by Michael Saboff.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

8:38 AM Changeset in webkit [167710] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening
https://bugs.webkit.org/show_bug.cgi?id=132058

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-04-23

  • platform/gtk/TestExpectations:
7:39 AM Changeset in webkit [167709] by mrowe@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Mac] REGRESSION (r164823): Building JavaScriptCore creates files under /tmp/JavaScriptCore.dst
<https://webkit.org/b/132053>

Reviewed by Dan Bernstein.

  • JavaScriptCore.xcodeproj/project.pbxproj: Don't try to create a symlink at /usr/local/bin/jsc inside

the DSTROOT unless we're building to the deployment location. Also remove the unnecessary -x argument
from /bin/sh since that generates unnecessary output.

6:43 AM Changeset in webkit [167708] by commit-queue@webkit.org
  • 6 edits in trunk

[GTK] ShadowRoot API was removed in r164131
https://bugs.webkit.org/show_bug.cgi?id=132059

Source/WebCore:
Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-23
Reviewed by Gustavo Noronha Silva.

Add ShadowRoot removed API to WebKitDOMDeprecated to keep API/ABI compatibility.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_shadow_root_class_init):
(webkit_dom_shadow_root_init):
(webkit_dom_shadow_root_element_from_point):
(webkit_dom_shadow_root_get_active_element):
(webkit_dom_shadow_root_get_apply_author_styles):
(webkit_dom_shadow_root_get_element_by_id):
(webkit_dom_shadow_root_get_elements_by_class_name):
(webkit_dom_shadow_root_get_elements_by_tag_name):
(webkit_dom_shadow_root_get_elements_by_tag_name_ns):
(webkit_dom_shadow_root_get_inner_html):
(webkit_dom_shadow_root_get_reset_style_inheritance):
(webkit_dom_shadow_root_get_selection):
(webkit_dom_shadow_root_set_apply_author_styles):
(webkit_dom_shadow_root_set_inner_html):
(webkit_dom_shadow_root_set_reset_style_inheritance):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:

Tools:
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2014-04-23
Reviewed by Gustavo Noronha Silva.

Add WebKitDOMShadowRoot to the list of deleted classes to generate
the API docs.

  • gtk/webkitdom.py:

(WebKitDOMDocGenerator):

6:36 AM Changeset in webkit [167707] by commit-queue@webkit.org
  • 7 edits
    4 adds in trunk

[New Multicolumn] fast/multicol/overflow-content.html displays red
https://bugs.webkit.org/show_bug.cgi?id=131809

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.

Source/WebCore:
Insert a break at end of content on our own in the multicol code, to make sure
that overflow is accounted for, and also to make sure that we account for all
content in non-final sets (i.e. those preceding spanners).

In other words, this will additionally fix balancing issues in sets preceding
a spanner. Added a test for that.

Tests: fast/multicol/break-in-columns-before-spanner.html

fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::regionInRange): Deleted.

  • rendering/RenderFlowThread.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::distributeImplicitBreaks):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::applyBreakAfterContent):

  • rendering/RenderNamedFlowThread.h:

LayoutTests:

  • fast/multicol/break-in-columns-before-spanner-expected.html: Added.
  • fast/multicol/break-in-columns-before-spanner.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/overflow-content-expected.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html: Added.
6:32 AM Changeset in webkit [167706] by commit-queue@webkit.org
  • 6 edits
    4 adds
    3 deletes in trunk

Overflow propagation broken in BTT and RTL writing-modes
https://bugs.webkit.org/show_bug.cgi?id=113781

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.

Source/WebCore:
Overflow rectangles are not quite physical, not quite logical. This
means that we cannot use clientBoxRect() directly to represent a
rectangle that expresses exactly no overflow. This rectangle is the
padding box (relative to the border box) in vertical-lr and
horizontal-tb, but the block-direction borders need to be flipped in
vertical-rl and horizontal-bt.

Tests: fast/css/overflow-btt-border-after.html

fast/css/overflow-rtl-border-after.html

  • WebCore.exp.in:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeOverflow):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBox.h:

(WebCore::RenderBox::layoutOverflowRect):

LayoutTests:

  • fast/css/overflow-btt-border-after-expected.txt: Added.
  • fast/css/overflow-btt-border-after.html: Added.
  • fast/css/overflow-rtl-border-after-expected.txt: Added.
  • fast/css/overflow-rtl-border-after.html: Added.
  • fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
  • platform/gtk/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
  • platform/mac/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.

Removed incorrect screenshots that now differ from the actual (correct) rendering.

5:57 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:30 AM Changeset in webkit [167705] by abucur@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Regions] Improve the debugging infrastructure
https://bugs.webkit.org/show_bug.cgi?id=132042

Reviewed by Mihnea Ovidenie.

This patch improves the debugging code for CSS Regions.

Tests: No function change. No new tests.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showRegionsInformation): Print brackets around the region range when dumping
the render tree to the console.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::containingRegion): Convert the ASSERT to an ASSERT_WITH_SECURITY_IMPLICATION.

4:19 AM Changeset in webkit [167704] by ryuan.choi@samsung.com
  • 3 edits
    2 copies
    1 move
    4 deletes in trunk/LayoutTests

Unreviewed EFL gardening.

  • platform/efl-wk1/css3/flexbox/flexbox-baseline-expected.png: Removed.
  • platform/efl-wk1/css3/flexbox/flexbox-baseline-expected.txt: Removed.
  • platform/efl-wk1/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Removed.
  • platform/efl-wk1/fast/block/basic/020-expected.txt: Removed.
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/css3/flexbox/flexbox-baseline-expected.png: Renamed from LayoutTests/platform/efl-wk2/css3/flexbox/flexbox-baseline-expected.png.
  • platform/efl/css3/flexbox/flexbox-baseline-expected.txt: Renamed from LayoutTests/platform/efl-wk2/css3/flexbox/flexbox-baseline-expected.txt.
  • platform/efl/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Renamed from LayoutTests/platform/efl-wk2/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt.
4:11 AM Changeset in webkit [167703] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

[EFL] Add expectations of new added tests.
https://bugs.webkit.org/show_bug.cgi?id=132052

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-23

  • platform/efl-wk2/TestExpectations:
  • platform/efl/fast/repaint/spanner-with-margin-expected.txt: Added. Rebaseline after r167439
2:39 AM Changeset in webkit [167702] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] run-webkit-tests script is failing to invoke run-launcher
https://bugs.webkit.org/show_bug.cgi?id=132051

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-04-23
Reviewed by Philippe Normand.

After the WK1 support was dropped, if run-webkit-tests is executed
without --no-show-results parameter, the launcher is being called
using a -2 parameter that is it causing the run-launcher to break.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.show_results_html_file):

12:34 AM Changeset in webkit [167701] by g.czajkowski@samsung.com
  • 4 edits
    2 adds
    7 deletes in trunk/LayoutTests

Refactoring editing/selection/13804.html
https://bugs.webkit.org/show_bug.cgi?id=131986

Reviewed by Darin Adler.

This test does not need pixel baselines (MAC, EFL, GTK) to just
check whether spelling marker appears on 'adf'.

According to bug 125688, the test starts using asynchronous
spellchecking.

Since the test mostly verifies spelling behaviour, it was moved
to editing/spelling directory.
Its name was changed to spelling-backward.html.

  • editing/selection/13804.html: Removed.
  • editing/spelling/spelling-backward-expected.txt: Added, renamed from editing/selection/13804.html.
  • editing/spelling/spelling-backward.html: Added.
  • platform/efl/editing/selection/13804-expected.png: Removed.
  • platform/efl/editing/selection/13804-expected.txt: Removed.
  • platform/gtk/editing/selection/13804-expected.png: Removed.
  • platform/gtk/editing/selection/13804-expected.txt: Removed.
  • platform/mac/editing/selection/13804-expected.png: Removed.
  • platform/mac/editing/selection/13804-expected.txt: Removed.

Get rid of platform specific expectation.

  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:

Mark spelling-backward.html as failure due to missing asynchronous spellchecking.

Apr 22, 2014:

11:11 PM Changeset in webkit [167700] by rniwa@webkit.org
  • 6 edits in trunk/Source

Cursor doesn't change back to pointer when leaving the Safari window
https://bugs.webkit.org/show_bug.cgi?id=132038

Reviewed by Alexey Proskuryakov.

Source/WebCore:
r147739 incorrectly added an early exit in EventHandler::selectCursor when hit test result didn't have
any node associated with it. Since we will hit this code when the cursor is outside of the WebView,
we still need to take the CURSOR_AUTO path as did the code before r147739.

No new test is added since this behavior can't be tested in DRT or WTR.

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectCursor):

Source/WebKit/mac:
Since the cursor type is now updated asynchronously after r147739,
[window windowNumber] != [NSWindow windowNumberAtPoint:[NSEvent mouseLocation] belowWindowWithWindowNumber:0]
evalutes to false depending on how fast cursor is moving.

Instead, check whether the NSWindow of the WebView is the key window or not since
key window appears to control the cursor style in Cocoa as far as I've tested:
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::setCursor):

Source/WebKit2:
Since the cursor type is now updated asynchronously after r147739,
[window windowNumber] != [NSWindow windowNumberAtPoint:[NSEvent mouseLocation] belowWindowWithWindowNumber:0]
evalutes to false depending on how fast cursor is moving.

Instead, check whether the NSWindow of the WebView is the key window or not since
key window appears to control the cursor style in Cocoa as far as I've tested:
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::setCursor):

10:59 PM Changeset in webkit [167699] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Add SPI to expose provisional URL from Frame.
https://bugs.webkit.org/show_bug.cgi?id=132014

Add methods to return the provisional URL from WKWebProcessPlugInFrame.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-04-22
Reviewed by Dan Bernstein.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:

(-[WKWebProcessPlugInFrame _provisionalURL]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
10:53 PM Changeset in webkit [167698] by benjamin@webkit.org
  • 14 edits in trunk/Source/WebKit2

[iOS][WK2] Split iOS touch event dispatch for the regular touch event dispatch
https://bugs.webkit.org/show_bug.cgi?id=132033

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-22
Reviewed by Simon Fraser.

The generic touch event dispatching does not work well with iOS gesture recognizers.
Some events are required to be synchronous, while other needs can be asynchronous and
can even use event coalescing. We only need UI callback for the synchronous events.

Previously, that was implemented by changing the property ShouldSendEventsSynchronously
on WebPageProxy. That is causing issues when synchronous events are sent right after asynchronous
events because the responses in WebPageProxy::didReceiveEvent() easily get out of order.

This patch completely split the UIGestureRecognizerDispatching from the normal asynchronous event dispatching.

Synchronous events are sent directly to the WebProcess and report the result to the PageClient right away.

Asynchronous events are sent to the EventDispatcher where they are coalesced until the main thread is free
to process events.

There can be a race where a synchronous event comes before the asynchronous events are processed. In that case,
the synchronous event handler starts by getting the events out of the EventDispatcher and dispatch them first.

  • Shared/NativeWebTouchEvent.h:

(WebKit::NativeWebTouchEvent::uniqueId): Deleted.

  • Shared/ios/NativeWebTouchEventIOS.mm:

(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleSynchronousTouchEvent):
(WebKit::WebPageProxy::sendAsynchronousTouchEvent):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _webTouchEvent:WebKit::preventsNativeGestures:]):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::clearQueuedTouchEventsForPage):
(WebKit::EventDispatcher::getQueuedTouchEventsForPage):
(WebKit::EventDispatcher::touchEvent):
(WebKit::EventDispatcher::dispatchTouchEvents):

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

(WebKit::WebPage::dispatchTouchEvent):
(WebKit::WebPage::touchEventSync):
(WebKit::WebPage::touchEvent):
(WebKit::WebPage::touchEventSyncForTesting):
(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dispatchAsynchronousTouchEventsQueue):

10:28 PM Changeset in webkit [167697] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit/efl

[EFL][WK1] There are many failures in fast/forms since r163033
https://bugs.webkit.org/show_bug.cgi?id=132039

Reviewed by Gyuyoung Kim.

  • ewk/ewk_view.cpp: Added break statements which is missing while remove COMPILE_ASSERT_MATCHING_ENUM

(ewk_view_navigation_policy_decision):

10:03 PM Changeset in webkit [167696] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening. media tests has been broken since r166395 on both EFL wk1 and wk2.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
8:13 PM Changeset in webkit [167695] by akling@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/events/ghostly-mousemoves-in-subframe.html on Mac/WK1.

  • platform/mac-wk1/TestExpectations:
7:44 PM Changeset in webkit [167694] by Alan Bujtas
  • 5 edits in trunk

Do not paint border image when the border rect is empty.
https://bugs.webkit.org/show_bug.cgi?id=131988

Reviewed by Darin Adler.

http://trac.webkit.org/changeset/167351 introduced an early return when border
rect is empty. This patch ensures that border image is not painted either in that case.

Source/WebCore:
Modified padding-margin-negative-border.html to cover border-image case.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintBorder):

LayoutTests:

  • fast/css/padding-margin-negative-border-expected.html: Borders in -expected.html does not get painted either, just

ensure that they are explicitly different colors.

  • fast/css/padding-margin-negative-border.html:
6:37 PM Changeset in webkit [167693] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: scrollerImp == scrollbarPainterForScrollbar(_scrollbar) on two API tests
https://bugs.webkit.org/show_bug.cgi?id=132034
<rdar://problem/16624332>

Reviewed by Simon Fraser.

  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollbarPainterDelegate shouldUseLayerPerPartForScrollerImp:]):
scrollerImpWithStyle:controlSize:horizontal:replacingScrollerImp: moves the delegate
from the old scrollerImp to the new one, and also happens to call shouldUseLayerPerPartForScrollerImp.
Since scrollerImpWithStyle: has not returned yet, the scrollbarPainterForScrollbar still returns the old scrollerImp,
so this assertion fires. It's safe to remove this because supportsUpdateOnSecondaryThread doesn't make use of the imp.

5:36 PM Changeset in webkit [167692] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::Worklist should acquire the m_lock before iterating DFG plans.
<https://webkit.org/b/132032>

Reviewed by Filip Pizlo.

Currently, there's a rightToRun mechanism that ensures that no compilation
threads are running when the GC is iterating through the DFG worklists.
However, this does not prevent a Worker thread from doing a DFG compilation
and modifying the plans in the worklists thereby invalidating the plan
iterator that the GC is using. This patch fixes the issue by acquiring
the worklist m_lock before iterating the worklist plans.

This issue was uncovered by running the fast/workers layout tests with
COLLECT_ON_EVERY_ALLOCATION enabled.

  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::visitChildren):

4:54 PM Changeset in webkit [167691] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

DumpRenderTree generates black snapshots on some platforms
https://bugs.webkit.org/show_bug.cgi?id=132029
<rdar://problem/16679363>

Reviewed by Simon Fraser.

  • DumpRenderTree/mac/PixelDumpSupportMac.mm:

(createBitmapContextFromWebView):
DRT checks with the WebView to determine whether it can use the window's
backing store directly or (because of compositing) needs to take a WindowServer
snapshot. However, on some platforms and in some situations, the window can
be layer backed without the WebView necessarily currently being composited.
We should check with the window in addition to the WebView before going
ahead and using its backing store.

4:51 PM Changeset in webkit [167690] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

AX: iOS hit-testing does not work when page is zoomed
https://bugs.webkit.org/show_bug.cgi?id=132013

Reviewed by Simon Fraser.

Implement accessibilityHitTest so that the point can be converted correctly.

  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

4:25 PM Changeset in webkit [167689] by rniwa@webkit.org
  • 3 edits
    3 adds in trunk

REGRESSION (r157328): popover to check into flight ba.com dismisses instantly when focusing form
https://bugs.webkit.org/show_bug.cgi?id=131949

Reviewed by Darin Adler.

Source/WebCore:
The regression was caused by two bugs:

  1. The event didn't stop propagating itself even when it should. If the related target is same as the event origin, the event propagation should stop when the event reaches the root of the related target's tree scope. Otherwise, it should stop when it reaches the related target.
  1. Mouse event's related target exposed nodes inside a user-agent shadow DOM when the related target appeared inside the origin.

Fixed the bugs by re-introducing path shrinkage algorithm removed in r157328 into EventPath::setRelatedTarget
and adding an algorithm to determine the least common ancestor of the related target and the current target
in moveToParentOrShadowHost. The latter algorithm doesn't match the shadow DOM specification:
http://www.w3.org/TR/2013/WD-shadow-dom-20130514/
but it's good enough in terms of the Web exposed behavior as we don't support author defined insertion points.

Test: fast/events/shadow-event-path.html

  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
(WebCore::EventRelatedNodeResolver::findHostOfTreeScopeInTargetTreeScope): Added.
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventPath::setRelatedTarget):

LayoutTests:
Add a test that dumps the event target and the related target of every mouse event
when dispatched inside an input element inside a details element.

This catches the regression as well as other bugs I encountered while fixing the bug.

We need a WK2 specific results because WK1 mac results contain an extra fake mouse move event.

  • fast/events/shadow-event-path-expected.txt: Added.
  • fast/events/shadow-event-path.html: Added.
  • platform/mac-wk2/fast/events/shadow-event-expected.txt: Added.
4:05 PM Changeset in webkit [167688] by rniwa@webkit.org
  • 3 edits
    2 deletes in trunk

Rollout r156635 since the old behavior was intentional.

Source/WebCore:

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectCursor):

LayoutTests:

  • editing/caret/selection-with-caret-type-progress-expected.txt: Removed.
  • editing/caret/selection-with-caret-type-progress.html: Removed.
3:44 PM Changeset in webkit [167687] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

DumpRenderTree generates white snapshots on some platforms
https://bugs.webkit.org/show_bug.cgi?id=132026
<rdar://problem/16679363>

Reviewed by Simon Fraser.

  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:

Link DRT against QuartzCore.

  • DumpRenderTree/mac/PixelDumpSupportMac.mm:

(createBitmapContextFromWebView):
Force CoreAnimation to synchronously update layers in a more explicit
way that doesn't depend on AppKit behavior. This is very similar to what
WebKitTestRunner does (indirectly) during its force repaint.

3:05 PM Changeset in webkit [167686] by commit-queue@webkit.org
  • 17 edits in trunk/Source

Unreviewed, rolling out r167674.
https://bugs.webkit.org/show_bug.cgi?id=132025

Going a different way with this (Requested by bradee-oh on
#webkit).

Reverted changeset:

"Change Image Controls replacement to use selection and paste"
https://bugs.webkit.org/show_bug.cgi?id=131992
http://trac.webkit.org/changeset/167674

2:58 PM Changeset in webkit [167685] by Brent Fulgham
  • 12 edits in trunk

[Win] Support Python 2.7 in Cygwin
https://bugs.webkit.org/show_bug.cgi?id=132023

Reviewed by Michael Saboff.

Source/JavaScriptCore:

  • DerivedSources.make: Use a conditional variable to define

the path to Python/Perl.

Source/WebCore:

  • DerivedSources.make: Use proper path to Cygwin on

all platforms.

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/build-webinspectorui.sh: use

proper path to Python under Cygwin.

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKitVersion.cmd: Use correct

path to Python under Cygwin.

Source/WTF:

  • WTF.vcxproj/WTFGenerated.make: Use proper path to Python.

Tools:

  • Scripts/webkitdirs.pm:

(checkInstalledTools): Remove check for Python 2.7, since
it now works properly.

2:55 PM Changeset in webkit [167684] by akling@apple.com
  • 3 edits
    4 adds in trunk

REGRESSION (r151839): Subframe keeps getting mousemove events with the same coordinates after hiding a hovered element.
<https://webkit.org/b/131974>
<rdar://problem/15907469>

Source/WebCore:
When the currently hovered element disappears as a result of style recalc,
we send a fake mousemove event to the page, to see if anything newly added
should become hovered.

The faking mechanism lives in EventHandler and simply synthesizes a new
mousemove event using the last seen mouse location.

The problem here is that we were sending this fake mousemove event to the
subframe where the hovered element lived. Since subframes aren't kept up
to date on recent mouse locations, this could cause some strange behavior
where a subframe would dispatch mousemove events with stale coordinates.

The solution is to always dispatch fake mousemove events from the main
frame's event handler. This is how real event delivery happens, and hit
testing will then find the appropriate subframe, if any.

Reviewed by Benjamin Poulain.

Test: fast/events/ghostly-mousemoves-in-subframe.html

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

LayoutTests:
Add a test that triggers the weirdness where removing the renderer from
a hovered element in a subframe would leave the subframe's EventHandler
in a state where it could dispatch fake mousemove events with stale
coordinates in response to style recalc.

Note that the final 500ms delay is because fake mousemove events are
sent on 250ms delay timers so we need to give it some time to catch up.

Reviewed by Benjamin Poulain.

  • fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added.
  • fast/events/ghostly-mousemoves-in-subframe.html: Added.
  • platform/mac-wk2/fast/events/resources/ghostly-mousemoves-in-subframe-the-actual-subframe.html: Added.
2:07 PM Changeset in webkit [167683] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[OS X] Glyph spacing for system fonts may be incorrect
https://bugs.webkit.org/show_bug.cgi?id=131967

Unreviewed iOS build fix after r167679.

  • platform/graphics/mac/SimpleFontDataMac.mm:
1:51 PM Changeset in webkit [167682] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Remove unused local variable
https://bugs.webkit.org/show_bug.cgi?id=132020

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-22
Reviewed by Alexey Proskuryakov.

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectPopover initWithView:hasGroups:]):

1:49 PM Changeset in webkit [167681] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[OS X] Glyph spacing for system fonts may be incorrect
https://bugs.webkit.org/show_bug.cgi?id=131967

Unreviewed build fix after r167679.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::hasCustomTracking):

1:40 PM Changeset in webkit [167680] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: JSRegress's js/slow-stress/new-spread.html fails sometimes
https://bugs.webkit.org/show_bug.cgi?id=132022
<rdar://problem/16690671>

Mark the test as flaky pass/fail/timeout, because that's what it is.

1:38 PM Changeset in webkit [167679] by mmaxfield@apple.com
  • 5 edits in trunk

[OS X] Glyph spacing for system fonts may be incorrect
https://bugs.webkit.org/show_bug.cgi?id=131967

Reviewed by Simon Fraser.

Source/WebCore:
Covered by existing tests.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformWidthForGlyph): Update to use CTFontGetAdvancesForGlyphs() for system fonts
(WebCore::hasCustomTracking):

LayoutTests:
Updating test to be more robust.

  • fast/forms/search/intrinsic-search-width-with-decoration-border-padding-expected.txt:
  • fast/forms/search/intrinsic-search-width-with-decoration-border-padding.html:
1:31 PM Changeset in webkit [167678] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[New Multicolumn] widows/orphans cause assertion failures.
https://bugs.webkit.org/show_bug.cgi?id=131233

Reviewed by Dean Jackson.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::recordSpaceShortage):
Fix an obvious bug where the space shortage is recorded twice (and the
if statement that kept it from being negative is accidentally ignored).

1:05 PM Changeset in webkit [167677] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[New Multicolumn] Make sure columnTranslationForOffset has the same column-span-aware
translation that fragment collection does.
https://bugs.webkit.org/show_bug.cgi?id=131738

Reviewed by Anders Carlsson.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::collectLayerFragments):
Remove a FIXME that is no longer needed, since the translation offset of the
column set did get patched.

(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
Add the exact same fix to columnTranslationForOffset that was applied to collectLayerFragments.

12:58 PM Changeset in webkit [167676] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebCore

WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript() needs to acquire the JSLock before calling into JS.
<https://webkit.org/b/132021>

Reviewed by Mark Hahnenberg.

Covered by existing layout test.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

12:48 PM Changeset in webkit [167675] by Manuel Rego Casasnovas
  • 4 edits in trunk

REGRESSION (r167652): Broke fast/regions/cssom/region-range-for-box-crash.html in debug mode
https://bugs.webkit.org/show_bug.cgi?id=131982

Reviewed by David Hyatt.

Source/WebCore:
The problem was creating the Range from the arguments received at RenderView::setSelection(). Specifically
in this test endPos is 1 when the element has not children which creates an invalid Range.

  • rendering/RenderView.cpp:

(WebCore::RenderView::splitSelectionBetweenSubtrees): Pass 0 as startPos and endPos to Range::create() as we are
not interested in the positions at this point.

LayoutTests:

12:22 PM Changeset in webkit [167674] by beidson@apple.com
  • 17 edits in trunk/Source

Change Image Controls replacement to use selection and paste
<rdar://problem/16302722> and https://bugs.webkit.org/show_bug.cgi?id=131992

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in: Remove deleted symbol.
  • html/shadow/mac/ImageControlsButtonElementMac.cpp:

(WebCore::ImageControlsButtonElementMac::defaultEventHandler):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::showImageControlsMenu): Select the image element

before showing the menu.

(WebCore::ContextMenuController::replaceControlledImage): Deleted.

  • page/ContextMenuController.h:

Source/WebKit/mac:

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController sharingService:didShareItems:]): Write the

replacement data to a special pasteboard, then replace the current selection from
that pasteboard.

Source/WebKit2:

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(-[WKSharingServicePickerDelegate sharingService:didShareItems:]): Write the

replacement data to a special pasteboard, then replace the current selection from
that pasteboard.

Remove all other code used to support the old replacement mechanism:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::replaceControlledImage): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebContextMenuProxyMac.h:

(WebKit::WebContextMenuProxyMac::page):
(WebKit::WebContextMenuProxyMac::replaceControlledImage): Deleted.

  • WebProcess/WebPage/WebContextMenu.cpp:

(WebKit::WebContextMenu::replaceControlledImage): Deleted.

  • WebProcess/WebPage/WebContextMenu.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::replaceControlledImage): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
12:00 PM Changeset in webkit [167673] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: Hitting asserts in new flow thread selection code.
https://bugs.webkit.org/show_bug.cgi?id=132019

Reviewed by Anders Carlsson.

Null checking flowThreadController is not enough. The list of threads
can be null even when the flowThreadController is not. That's why you
use hasRenderNamedFlowThreads. I patched the two bad places in the code
to use hasRenderNamedFlowThreads to stop the crashes.

  • rendering/RenderView.cpp:

(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::repaintSelection):

11:36 AM Changeset in webkit [167672] by Brent Fulgham
  • 3 edits
    2 adds in trunk

Check (rather than assume) element is a RenderTableSection before using it
https://bugs.webkit.org/show_bug.cgi?id=121858

Reviewed by David Kilzer.

Source/WebCore:
Test: fast/table/table-insert-object-before-td-crash.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild): Check that lastBox is a table section before
using the node as if it was one.

LayoutTests:

  • fast/table/table-insert-object-before-td-crash-expected.txt: Added.
  • fast/table/table-insert-object-before-td-crash.html: Added.
11:36 AM Changeset in webkit [167671] by fpizlo@apple.com
  • 6 edits in trunk

Switch the LLVMForJSC target to using the LLVM in /usr/local rather than /usr/local/LLVMForJavaScriptCore on iOS
https://bugs.webkit.org/show_bug.cgi?id=130867
<rdar://problem/16432456>

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • Configurations/LLVMForJSC.xcconfig:

Tools:

  • Scripts/build-webkit:
  • Scripts/copy-webkitlibraries-to-product-directory:
11:22 AM Changeset in webkit [167670] by alex.christensen@flexsim.com
  • 7 edits
    2 adds in trunk/Source

Begin implementation of video using Media Foundation.
https://bugs.webkit.org/show_bug.cgi?id=131830

Reviewed by Brent Fulgham.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Added MediaPlayerPrivateMediaFoundation files.

  • platform/graphics/MediaPlayer.cpp:

Include MediaPlayerPrivateMediaFoundation inside new USE(MEDIA_FOUNDATION) flag.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: Added.
  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h: Added.

Source/WebKit/win:

  • FullscreenVideoController.cpp:
  • WebView.cpp:

Added new USE(MEDIA_FOUNDATION) flag to prevent using the unsupported fullscreen api.

11:12 AM Changeset in webkit [167669] by Gustavo Noronha Silva
  • 2 edits in trunk/Tools

[GTK] Fails to build documentation when output is redirected
https://bugs.webkit.org/show_bug.cgi?id=131178

Reviewed by Martin Robinson.

  • gtk/generate-gtkdoc: set the output for stdout and stderr to UTF-8

explicitly to avoid encoding issues when they are redirected.

11:08 AM Changeset in webkit [167668] by alex.christensen@flexsim.com
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build fix after my r167666.

  • JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractorCommon.props:

Added ../../../ again to include headers in Source/JavaScriptCore.

10:39 AM New WebKit smart pointers.pdf attached to 2014 Meeting Pointers and Iterators by akling@apple.com
10:38 AM Changeset in webkit [167667] by ChangSeok Oh
  • 2 edits in trunk/Tools

[GTK] YCM choose a newer compile_commands.json in between Release or Debug
https://bugs.webkit.org/show_bug.cgi?id=131911

Reviewed by Martin Robinson.

common.get_build_path returns release path even though Debug configuration
is newer than Release. So YouCompleteMe is used to refer old build setup inadvertently.

  • gtk/ycm_extra_conf.py:

(get_build_path): Compare modified time of Release and Debug. And return a recent modified path.
(FlagsForFile):

10:30 AM Changeset in webkit [167666] by alex.christensen@flexsim.com
  • 8 edits
    1 delete in trunk

Removed old stdbool and inttypes headers.
https://bugs.webkit.org/show_bug.cgi?id=131966

Reviewed by Brent Fulgham.

.:

  • Source/cmake/OptionsWindows.cmake:
  • Source/cmake/WebKitPackaging.cmake:

Removed references to os-win32 directory.

Source/JavaScriptCore:

  • JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractorCommon.props:
  • JavaScriptCore.vcxproj/testRegExp/testRegExpCommon.props:

Removed references to os-win32 directory.

  • os-win32: Removed.
  • os-win32/inttypes.h: Removed.
  • os-win32/stdbool.h: Removed.

WebKitLibraries:

  • win/tools/vsprops/WinCairo.props:

Removed references to os-win32 directory.

10:27 AM April 2014 Meeting edited by Bem Jones-Bey
(diff)
10:27 AM 2014 Meeting Subpixel Layout created by Bem Jones-Bey
10:24 AM 2014 Meeting Pointers and Iterators created by Bem Jones-Bey
10:18 AM April 2014 Meeting edited by Bem Jones-Bey
(diff)
10:04 AM Changeset in webkit [167665] by eunmi15.lee@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Remove duplicated code to set size to the DrawingArea.
https://bugs.webkit.org/show_bug.cgi?id=131972

Reviewed by Andreas Kling.

DrawingArea's size is set in the WebView.cpp when EwkView's size is
changed, so we don't have to set again in the PageViewportController.

  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::didChangeViewportSize):

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

Unreviewed, rolling out r167658.
https://bugs.webkit.org/show_bug.cgi?id=131993

Caused many crashes on media tests (Requested by ap on
#webkit).

Reverted changeset:

"[Mac] don't ask for AVAssetTrack properties before they are
available"
https://bugs.webkit.org/show_bug.cgi?id=131902
http://trac.webkit.org/changeset/167658

9:08 AM Changeset in webkit [167663] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

[New Multicolumn] fast/multicol/multicol-with-child-renderLayer-for-input.html puts the textfield in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=131808

Reviewed by Brady Eidson.

Source/WebCore:

Make sure FrameView is patched to pass in the update pagination flag when subtree layout
is done on textfields. It had code for the old multicolumn system but did not have a check
for the new multicolumn system.

Added fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html

  • page/FrameView.cpp:

(WebCore::updateLayerPositionFlags):

LayoutTests:

  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html: Added.
8:51 AM Changeset in webkit [167662] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WKThumbnailView doesn't quite work with topContentInset
https://bugs.webkit.org/show_bug.cgi?id=131976
<rdar://problem/16642127>

Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/_WKThumbnailView.mm:

(-[_WKThumbnailView initWithFrame:fromWKView:]):
_WKThumbnailView always needs a layer.
We don't want to use snapshots by default, this was debugging accidentally landed in the last change.

(-[_WKThumbnailView _requestSnapshotIfNeeded]):
Don't request a new snapshot if the scale is the same as the existing one.
Reduce the height of the snapshot by the topContentInset.
Having the origin at (0, 0) is still correct, as the inset content is in negative Y space,
and (0, 0) is the true origin of the content.

(-[_WKThumbnailView setScale:]):
When not snapshotting, we've decided that WKThumbnailView should apply the scale to the WKView layer tree,
instead of depending on clients to do so.

(-[_WKThumbnailView setUsesSnapshot:]):
We *do* need to apply thumbnail scale in the web process even when snapshotting,
because we use the live layer tree temporarily while waiting for the asynchronous
snapshot to return. This was a misstep in the last thumbnail view patch.

8:39 AM Changeset in webkit [167661] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebKit/efl

[EFL][WK1] There are many warnings in layout test since r167428
https://bugs.webkit.org/show_bug.cgi?id=131985

Reviewed by Gyuyoung Kim.

Since r167428, implementation of flush method was removed, but ewk_view_frame_main_cleared
still checked and generated many warnings.

Now, ewk_view_frame_main_cleared is not required because flush is already
meaningless and others are covered by ewk_frame_view_create_for_view.
So, this patch removed ewk_view_frame_main_cleared and related code which is already dead.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::transitionToCommittedForNewPage):

  • ewk/ewk_view.cpp:

(ewk_view_frame_main_cleared): Deleted.
(ewk_view_did_first_visually_nonempty_layout): Deleted.
(ewk_view_dispatch_did_finish_loading): Deleted.

  • ewk/ewk_view.h: Removed flush smart method.
8:19 AM Changeset in webkit [167660] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WebKit2] Cleanup the build from unused parameter in WebProcess Module
https://bugs.webkit.org/show_bug.cgi?id=131970

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-04-22
Reviewed by Darin Adler.

Fix a build warning by removing the parameters in function paintLayerContents() to fix build warning.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::paintLayerContents):

7:17 AM Changeset in webkit [167659] by Alan Bujtas
  • 4 edits
    2 adds in trunk

border-style: double rendered as solid when combined with border-radius
https://bugs.webkit.org/show_bug.cgi?id=131927

Reviewed by Simon Fraser.

BorderEdge::getDoubleBorderStripeWidths() should return the calculated inner, outer border widths.

Source/WebCore:
Test: fast/borders/hidpi-double-border-with-border-radius-always-produce-solid-line.html

  • rendering/BorderEdge.cpp:

(WebCore::BorderEdge::getDoubleBorderStripeWidths):

  • rendering/BorderEdge.h:

LayoutTests:

  • fast/borders/hidpi-double-border-with-border-radius-always-produce-solid-line-expected.html: Added.
  • fast/borders/hidpi-double-border-with-border-radius-always-produce-solid-line.html: Added.
7:06 AM Changeset in webkit [167658] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] don't ask for AVAssetTrack properties before they are available
https://bugs.webkit.org/show_bug.cgi?id=131902
<rdar://problem/16505076>

Reviewed by Jer Noble.

No new tests, the behavior this changes can not be tested with a layout test.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize

m_cachedTotalBytes.

(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Don't report that

metadata has been loaded until the track properties we need have been loaded too.

(WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Cache totalBytes instead

of recalculating it every time.

(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Invalidate cached

total bytes.

(WebCore::assetTrackMetadataKeyNames): Array of AVAssetTrack properties we use.

6:39 AM Changeset in webkit [167657] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r167656 - [GTK] Crash after getting web view context property with g_object_get
https://bugs.webkit.org/show_bug.cgi?id=131983

Reviewed by Philippe Normand.

The problem is that the getter is using g_value_take_object() and
the default context is destroyed when the caller releases its ref.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewGetProperty): Use g_value_set_object() instead of
g_value_take_object().

6:36 AM Changeset in webkit [167656] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Crash after getting web view context property with g_object_get
https://bugs.webkit.org/show_bug.cgi?id=131983

Reviewed by Philippe Normand.

The problem is that the getter is using g_value_take_object() and
the default context is destroyed when the caller releases its ref.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewGetProperty): Use g_value_set_object() instead of
g_value_take_object().

5:00 AM Changeset in webkit [167655] by Manuel Rego Casasnovas
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

4:03 AM Changeset in webkit [167654] by pmolnar.u-szeged@partner.samsung.com
  • 2 edits in trunk/Source/WebCore

Buildfix after r167650 broke non-Cocoa builds
https://bugs.webkit.org/show_bug.cgi?id=131980

Reviewed by Mario Sanchez Prada.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEvent):

3:51 AM Changeset in webkit [167653] by ryuan.choi@samsung.com
  • 19 edits in trunk/Source/WebKit2

[EFL][WK2] Remove unnecessary includes in files of Source/WebKit2/UIProcess/API/efl
https://bugs.webkit.org/show_bug.cgi?id=131979

Reviewed by Gyuyoung Kim.

Removed unnecessary includes of header files.
In addition, tried to use forward declarations.

  • UIProcess/API/efl/EwkView.cpp:
  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/GestureRecognizer.h:
  • UIProcess/API/efl/ewk_context_menu_item_private.h:
  • UIProcess/API/efl/ewk_context_menu_private.h:
  • UIProcess/API/efl/ewk_download_job.cpp:
  • UIProcess/API/efl/ewk_download_job_private.h:
  • UIProcess/API/efl/ewk_form_submission_request.cpp:
  • UIProcess/API/efl/ewk_form_submission_request_private.h:
  • UIProcess/API/efl/ewk_navigation_data.cpp:
  • UIProcess/API/efl/ewk_navigation_data_private.h:
  • UIProcess/API/efl/ewk_page_group_private.h:
  • UIProcess/API/efl/ewk_popup_menu_private.h:
  • UIProcess/API/efl/ewk_view.cpp:
  • UIProcess/API/efl/ewk_window_features_private.h:
  • UIProcess/efl/PageUIClientEfl.cpp:
  • UIProcess/efl/ViewClientEfl.cpp:
3:22 AM Changeset in webkit [167652] by Manuel Rego Casasnovas
  • 15 edits
    4 adds in trunk

[CSS Regions] Selection highlight doesn't match DOM selection
https://bugs.webkit.org/show_bug.cgi?id=131511

Reviewed by David Hyatt.

Source/WebCore:
This patch implements a subtrees approach to fix selection interaction in CSS Regions.

The idea is to divide the Render tree in subtrees. One subtree will be the RenderView (which is always present),
then for each RenderNamedFlowThread (which are children of RenderView) we will have an extra subtree.

For each subtree it determines the start and end positions according to the DOM tree. So, every subtree will
always have a start and end position, and the selection algorithm will be able to reach the end from the start
without problems (this allows us to remove the changes introduced in r155058).

Then selection related methods in RenderView are adapted to ensure that they are called for each subtree. Making
the selection highlight to match DOM selection as expected.

Test: fast/regions/selection/selecting-text-including-region.html

  • CMakeLists.txt: Add new class SelectionSubtreeRoot to build file.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderNamedFlowThread.h: Inherit from SelectionSubtreeRoot.
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::selectionRoot): New method to return the RenderNamedFlowThread if any or the RenderView
otherwise.
(WebCore::RenderObject::selectionStartEnd): If it's inside a RenderNamedFlowThread use specific method instead
of the RenderView's one.

  • rendering/RenderObject.h: Add new method signature.
  • rendering/RenderView.cpp:

(WebCore::RenderView::selectionBounds): Adapt method to subtrees approach.
(WebCore::RenderView::subtreeSelectionBounds): Modify previous method in order to use SelectionSubtreeRoot
objects.
(WebCore::RenderView::repaintSelection): Adapt method to subtrees approach.
(WebCore::RenderView::repaintSubtreeSelection): Modify previous method in order to use SelectionSubtreeRoot
objects.
(getNextOrPrevRenderObjectBasedOnDirection): Deleted method from r155058 as it is not needed anymore. Each
subtree will have start and end positions, so the selection algorithm will always find the end.
(WebCore::RenderView::setSelection): Adapt method to subtrees approach.
(WebCore::RenderView::splitSelectionBetweenSubtrees): Determine start and end positions for each subtree and
call setSubtreeSelection().
(WebCore::RenderView::setSubtreeSelection): Modify previous method in order to use SelectionSubtreeRoot objects.

  • rendering/RenderView.h: Inherit from SelectionSubtreeRoot. Add signature for new helper methods receiving

SelectionSubtreeRoot objects.

  • rendering/SelectionSubtreeRoot.cpp: Added.

(WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
(WebCore::SelectionSubtreeRoot::selectionStartEndPositions):

  • rendering/SelectionSubtreeRoot.h: Added. New class to identify root elements for the subtrees. With some basic

attributes and methods to store the start and end positions and offsets.
(WebCore::SelectionSubtreeRoot::selectionStart):
(WebCore::SelectionSubtreeRoot::selectionStartPos):
(WebCore::SelectionSubtreeRoot::selectionEnd):
(WebCore::SelectionSubtreeRoot::selectionEndPos):
(WebCore::SelectionSubtreeRoot::setSelectionStart):
(WebCore::SelectionSubtreeRoot::setSelectionStartPos):
(WebCore::SelectionSubtreeRoot::setSelectionEnd):
(WebCore::SelectionSubtreeRoot::setSelectionEndPos):

LayoutTests:
Add new test to check highlight of render objects moved under RenderNamedFlowThread in the render tree.

Updated some tests to avoid issues with selection gap filling in the new implementation.

  • fast/regions/selection/selecting-text-including-region-expected.html: Added.
  • fast/regions/selection/selecting-text-including-region.html: Added.
  • fast/regions/selection/selecting-text-through-different-region-flows-2-expected.html: Updated.
  • fast/regions/selection/selecting-text-through-different-region-flows-2.html: Updated.
  • fast/regions/selection/selection-direction-expected.html: Updated.
  • fast/regions/selection/selection-direction.html: Updated.
1:29 AM Changeset in webkit [167651] by zandobersek@gmail.com
  • 2 edits in trunk

Fix a typo in WebKitFeatures.cmake -- INITALVALUE -> INITIALVALUE.

Rubber-stamped by Carlos Garcia Campos.

  • Source/cmake/WebKitFeatures.cmake:

Apr 21, 2014:

10:44 PM Changeset in webkit [167650] by Brent Fulgham
  • 4 edits in trunk

Source/WebCore: [Mac] Follow-up: After a horizontal overflow scroll with a mechanical wheel mouse, vertical scrolling no longer works
https://bugs.webkit.org/show_bug.cgi?id=131960
<rdar://problem/16142100>

Unreviewed build fix.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEvent): The test to clear the
last scrolled node was too broad. It should only follow this path
if both the phase and momentum phase are 'None'.

Tools: Unreviewed build fix.

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):
Correct a typo that prevented tests from working properly.

9:26 PM Changeset in webkit [167649] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::clobberize() should honestly admit that profiler and debugger nodes are effectful
https://bugs.webkit.org/show_bug.cgi?id=131971
<rdar://problem/16676511>

Reviewed by Mark Lam.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

8:59 PM Changeset in webkit [167648] by Brent Fulgham
  • 3 edits
    2 adds in trunk

[Mac] After a horizontal overflow scroll with a mechanical wheel mouse, vertical scrolling no longer works
https://bugs.webkit.org/show_bug.cgi?id=131960
<rdar://problem/16142100>

Reviewed by Darin Adler.

Source/WebCore:
Test: platform/mac/fast/scrolling/scroll-div-no-latching.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEvent): When not latching, always clear m_latchedWheelEventElement and m_previousWheelScrolledElement.

LayoutTests:

  • platform/mac/fast/scrolling/scroll-div-no-latching-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-div-no-latching.html: Added.
8:26 PM Changeset in webkit [167647] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

WebProfilerAgent::disable is calling the wrong superclass method
https://bugs.webkit.org/show_bug.cgi?id=131968

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-21
Reviewed by Simon Fraser.

  • inspector/WebProfilerAgent.cpp:

(WebCore::WebProfilerAgent::disable):

7:58 PM Changeset in webkit [167646] by fpizlo@apple.com
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

Switch statements that skip the baseline JIT should work
https://bugs.webkit.org/show_bug.cgi?id=131965

Reviewed by Mark Hahnenberg.

  • bytecode/JumpTable.h:

(JSC::SimpleJumpTable::ensureCTITable):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_switch_imm):
(JSC::JIT::emit_op_switch_char):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_switch_imm):
(JSC::JIT::emit_op_switch_char):

  • tests/stress/inline-llint-with-switch.js: Added.

(foo):
(bar):
(test):

7:16 PM Changeset in webkit [167645] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

[wk2] Don't send intrinsic content size updates with dirty layout
https://bugs.webkit.org/show_bug.cgi?id=131964
<rdar://problem/14292718>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
(WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeIfNeeded):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
(WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired): Deleted.
Instead of using a timer (which can fire while layout is dirty) to coalesce
intrinsic content size changes, send them only from flushLayers, just after updating layout.
This ensures that we never get intermediate intrinsic content sizes that won't be painted.

7:15 PM Changeset in webkit [167644] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove a unnecessary forward-declared class from TiledCoreAnimationDrawingArea.

Rubber-stamped by Simon Fraser.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
6:56 PM Changeset in webkit [167643] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK] Should have the ability to output composited contents during layout testing
https://bugs.webkit.org/show_bug.cgi?id=131864

Reviewed by Philippe Normand.

  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Add a path that paints the widget contents
to an image surface. We run the main loop a bit to match the implementation from WebKit1 and EFL.

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::windowSnapshotImage): Use the new UI-process path on GTK+.

6:48 PM Changeset in webkit [167642] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Followup from http://trac.webkit.org/changeset/167624

Reviewed by Darin Adler.

Fixing incorrect use of ? : syntax.

  • editing/VisibleUnits.cpp:

(WebCore::characterBeforePosition):

6:37 PM Changeset in webkit [167641] by mhahnenberg@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Arguments objects shouldn't need a destructor
https://bugs.webkit.org/show_bug.cgi?id=131899

Reviewed by Oliver Hunt.

This patch rids Arguments objects of their destructors. It does this by
switching their backing stores to use CopiedSpace rather than malloc memory.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateArguments): Fix the code emitted for inline
Arguments allocation so that it only emits an extra write for strict mode code rather
than unconditionally.

  • heap/CopyToken.h: New CopyTokens for the two different types of Arguments backing stores.
  • runtime/Arguments.cpp:

(JSC::Arguments::visitChildren): We need to tell the collector to copy the back stores now.
(JSC::Arguments::copyBackingStore): Do the actual copying of the backing stores.
(JSC::Arguments::deletePropertyByIndex): Update all the accesses to SlowArgumentData and m_registerArray.
(JSC::Arguments::deleteProperty):
(JSC::Arguments::defineOwnProperty):
(JSC::Arguments::allocateRegisterArray):
(JSC::Arguments::tearOff):
(JSC::Arguments::destroy): Deleted. We don't need the destructor any more.

  • runtime/Arguments.h:

(JSC::Arguments::registerArraySizeInBytes):
(JSC::Arguments::SlowArgumentData::SlowArgumentData): Switch SlowArgumentData to being allocated
in CopiedSpace. Now the SlowArgumentData and its backing store are a single contiguous CopiedSpace
allocation.
(JSC::Arguments::SlowArgumentData::slowArguments):
(JSC::Arguments::SlowArgumentData::bytecodeToMachineCaptureOffset):
(JSC::Arguments::SlowArgumentData::setBytecodeToMachineCaptureOffset):
(JSC::Arguments::SlowArgumentData::sizeForNumArguments):
(JSC::Arguments::Arguments):
(JSC::Arguments::allocateSlowArguments):
(JSC::Arguments::tryDeleteArgument):
(JSC::Arguments::isDeletedArgument):
(JSC::Arguments::isArgument):
(JSC::Arguments::argument):
(JSC::Arguments::finishCreation):

  • runtime/SymbolTable.h:
6:34 PM Changeset in webkit [167640] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebCore

Move CoordinatedGraphics related codes out of CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=131931

Reviewed by Gyuyoung Kim.

Move CoordinatedGraphics related files to PlatformEfl.cmake because they are not common files.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
5:57 PM Changeset in webkit [167639] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] AVSampleBufferDisplayLayer and AudioRenderer is overretained.
https://bugs.webkit.org/show_bug.cgi?id=131963

Reviewed by Jon Honeycutt.

Adopt the results of -[[class alloc] init] rather than retaining them.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::hasVideo):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):

5:23 PM Changeset in webkit [167638] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Don't try to use a null connection()->xpcConnection()
https://bugs.webkit.org/show_bug.cgi?id=131961

Reviewed by Dan Bernstein.

If running with -WebKit2UseXPCServiceForWebProcess NO, connection()->xpcConnection()
is null and xpc_connection_get_pid() would crash, so null-check the xpcConnection.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didFinishLaunching):

5:15 PM Changeset in webkit [167637] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSION (r166784): Gradient at background of iCloud login page doesn’t go all the way to the bottom
https://bugs.webkit.org/show_bug.cgi?id=131924

Computing tile dimension for contain/cover requires higher precision than what LayoutUnit has. Switching to floats.

Reviewed by Simon Fraser.

Source/WebCore:
Test: fast/backgrounds/hidpi-background-image-contain-cover-scale-needs-more-precision.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateFillTileSize):

LayoutTests:

  • fast/backgrounds/hidpi-background-image-contain-cover-scale-needs-more-precision-expected.html: Added.
  • fast/backgrounds/hidpi-background-image-contain-cover-scale-needs-more-precision.html: Added.
5:14 PM Changeset in webkit [167636] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for Mountain Lion.

  • platform/mac/SerializedPlatformRepresentationMac.mm:

(WebCore::SerializedPlatformRepresentationMac::deserialize):

5:10 PM Changeset in webkit [167635] by mitz@apple.com
  • 15 edits in trunk/Source

Source/WebCore: WebCore part of <rdar://problem/16631323> Page::setDefersLoading doesn’t do anything when using the Network process
https://bugs.webkit.org/show_bug.cgi?id=131939

Reviewed by David Kilzer.

  • WebCore.exp.in: Exported WebCore::ResourceHandle::setDefersLoading.
  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::setDefersLoading): Added a no-op implementation.

  • loader/ResourceLoadScheduler.h: Declared new virtual member function setDefersLoading.
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::setDefersLoading): Added a call to the above function.

Source/WebKit2: WebKit part of <rdar://problem/16631323> Page::setDefersLoading doesn’t do anything when using the Network process
https://bugs.webkit.org/show_bug.cgi?id=131939

Reviewed by David Kilzer.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::setDefersLoading): Added. Forwards the message to
the NetworkResourceLoader.

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in: Added SetDefersLoading message.
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader): Initialize new member variable
m_defersLoading from the new field in the loader parameters.
(WebKit::NetworkResourceLoader::start): Added. Like WebCore::ResourceLoader, if loading is
deferred, keep the request in m_deferredRequest and bail out.
(WebKit::NetworkResourceLoader::setDefersLoading): Added. Similar to
WebCore::ResourceLoader::setDefersLoading.

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::defersLoading):

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters): Initialize new field
defersLoading to false.
(WebKit::NetworkResourceLoadParameters::encode): Encode new field.
(WebKit::NetworkResourceLoadParameters::decode): Decode new field.

  • Shared/Network/NetworkResourceLoadParameters.h: Added defersLoading field.
  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad): Populate defersLoading field in the load
parameters.
(WebKit::WebResourceLoadScheduler::setDefersLoading): Send a message to the Network process.

  • WebProcess/Network/WebResourceLoadScheduler.h:
5:05 PM Changeset in webkit [167634] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Mac] Difficulty gesture scrolling vertically with trackpad after scrolling horizontally
https://bugs.webkit.org/show_bug.cgi?id=131959
<rdar://problem/16654523>

Reviewed by Simon Fraser.

  • page/mac/EventHandlerMac.mm:

(WebCore::deltaIsPredominantlyVertical): Added.
(WebCore::scrolledToEdgeInDominantDirection): Only consider current mouse wheel event. We don't care about
overall history when deciding if we are bumping against the edge of a scrollable region. Short-circuit if
the element style indicates that overflow is hidden, since this means there is no scroll possible in that
direction.
(WebCore::EventHandler::platformPrepareForWheelEvents): Update for new signature.

4:51 PM Changeset in webkit [167633] by andersca@apple.com
  • 3 edits
    4 adds in trunk/Source/WebKit2

Errors passed to delegate methods should have recovery attempters
https://bugs.webkit.org/show_bug.cgi?id=131957
<rdar://problem/16642539>

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/_WKErrorRecoveryAttempting.h: Added.
  • UIProcess/API/Cocoa/_WKErrorRecoveryAttempting.mm: Added.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::createErrorWithRecoveryAttempter):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):

  • UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.h: Added.
  • UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm: Added.

(-[WKReloadFrameErrorRecoveryAttempter initWithWebView:frameHandle:urlString:]):
(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):

  • WebKit2.xcodeproj/project.pbxproj:
4:18 PM Changeset in webkit [167632] by eric.carlson@apple.com
  • 45 edits
    17 adds in trunk

[Mac] implement WebKitDataCue
https://bugs.webkit.org/show_bug.cgi?id=131799

Reviewed by Dean Jackson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Define ENABLE_DATACUE_VALUE.

Source/WebCore:
Tests: http/tests/media/track-in-band-hls-metadata.html

media/track/track-datacue-value.html

  • Configurations/FeatureDefines.xcconfig: Define ENABLE_DATACUE_VALUE.
  • DerivedSources.make: Add ENABLE_DATACUE_VALUE to HTML_FLAGS when appropriate.
  • CMakeLists.txt: Add JSDataCueCustom.cpp.
  • bindings/js/JSBindingsAllInOne.cpp:
  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • bindings/js/JSDataCueCustom.cpp: Added.

(WebCore::JSDataCue::value):
(WebCore::JSDataCue::setValue):
(WebCore::JSDataCueConstructor::constructJSDataCue): Custom constructor.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Drive-by fixes: don't schedule timeupdate

events when paused, don't call sort on an Vector that can't be sorted.

  • html/track/DataCue.cpp:

(WebCore::DataCue::DataCue): Initialize m_type.
(WebCore::DataCue::~DataCue): Unprotect the JSValue if necessary.
(WebCore::DataCue::data): Ask the platform value for data if non-null.
(WebCore::DataCue::setData): Clear m_platformValue and m_value.
(WebCore::DataCue::isEqual): New.
(WebCore::DataCue::value): Return a JSValue from the platform value, or the value passed

to the constructor/set by script.

(WebCore::DataCue::setValue): Set m_value.

  • html/track/DataCue.h:
  • html/track/DataCue.idl:
  • html/track/InbandDataTextTrack.cpp:

(WebCore::InbandDataTextTrack::addDataCue): Don't add the same cue more than once.
(WebCore::InbandDataTextTrack::updateDataCue): Update a cue's duration.
(WebCore::InbandDataTextTrack::removeDataCue): Remove an incomplete cue.
(WebCore::InbandDataTextTrack::removeCue): Remove a cue from the incomplete cue map if necessary.

  • html/track/InbandDataTextTrack.h:
  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::addGenericCue): CueMatchRules is now in TextTrackCue instead

of VTTCue.

  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newCuesParsed): Ditto.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::hasCue): Ditto.

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

(WebCore::TextTrackCue::isEqual): New, test base class equality.

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

(WebCore::TextTrackCueGeneric::isEqual): Call TextTrackCue::isEqual first.

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

(WebCore::VTTCue::isEqual): Call TextTrackCue::isEqual first.

  • html/track/VTTCue.h:
  • platform/SerializedPlatformRepresentation.h: Added.

(WebCore::SerializedPlatformRepresentation::~SerializedPlatformRepresentation):
(WebCore::SerializedPlatformRepresentation::SerializedPlatformRepresentation):

  • platform/graphics/InbandTextTrackPrivateClient.h: Add methods for DataCue with SerializedPlatformRepresentation.
  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp: Added.

(WebCore::InbandMetadataTextTrackPrivateAVF::create):
(WebCore::InbandMetadataTextTrackPrivateAVF::InbandMetadataTextTrackPrivateAVF):
(WebCore::InbandMetadataTextTrackPrivateAVF::~InbandMetadataTextTrackPrivateAVF):
(WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h: Added.
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance): currentTrack -> currentTextTrack.
(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
(WebCore::MediaPlayerPrivateAVFoundation::configureInbandTracks): Ditto.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::setCurrentTextTrack):
(WebCore::MediaPlayerPrivateAVFoundation::setCurrentTrack): Deleted.

Renamed currentTrack and setCurrentTrack to currentTextTrack and setCurrentTextTrack.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::currentTextTrack):
(WebCore::MediaPlayerPrivateAVFoundationCF::setCurrentTextTrack):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTextTrack):
(WebCore::AVFWrapper::setCurrentTextTrack):
(WebCore::AVFWrapper::AVFWrapper):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::currentTrack): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationCF::setCurrentTrack): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTrack): Deleted.
(WebCore::AVFWrapper::setCurrentTrack): Deleted.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): currentTrack -> currentTextTrack
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): currentTrack -> currentTextTrack.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMetadataTrack): New.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): m_currentTrack -> m_currentTextTrack.
(WebCore::MediaPlayerPrivateAVFoundationObjC::flushCues): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTextTrack): Renamed from setCurrentTextTrack.
(WebCore::metadataType): Map an AVFoundation metadata key space to a metadata cue type.
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive): Process new metadata.
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Deleted.

Create a JSValue representation from an AVMetadataItem.

  • platform/mac/SerializedPlatformRepresentationMac.h: Added.

(WebCore::SerializedPlatformRepresentationMac::platformType):
(WebCore::SerializedPlatformRepresentationMac::nativeValue):

  • platform/mac/SerializedPlatformRepresentationMac.mm: Added.

(WebCore::SerializedPlatformRepresentationMac::SerializedPlatformRepresentationMac):
(WebCore::SerializedPlatformRepresentationMac::~SerializedPlatformRepresentationMac):
(WebCore::SerializedPlatformRepresentationMac::create):
(WebCore::SerializedPlatformRepresentationMac::data):
(WebCore::SerializedPlatformRepresentationMac::deserialize):
(WebCore::SerializedPlatformRepresentationMac::isEqual):
(WebCore::toSerializedPlatformRepresentationMac):
(WebCore::jsValueWithValueInContext):
(WebCore::jsValueWithDataInContext):
(WebCore::jsValueWithArrayInContext):
(WebCore::jsValueWithDictionaryInContext):
(WebCore::jsValueWithAVMetadataItemInContext):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Define ENABLE_DATACUE_VALUE.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Define ENABLE_DATACUE_VALUE.

Source/WTF:

  • wtf/FeatureDefines.h: Define ENABLE_DATACUE_VALUE.

LayoutTests:

  • http/tests/media/resources/hls: Added.
  • http/tests/media/resources/hls/metadata: Added.
  • http/tests/media/resources/hls/metadata/fileSequence0.ts: Added.
  • http/tests/media/resources/hls/metadata/fileSequence1.ts: Added.
  • http/tests/media/resources/hls/metadata/fileSequence2.ts: Added.
  • http/tests/media/resources/hls/metadata/fileSequence3.ts: Added.
  • http/tests/media/resources/hls/metadata/prog_index.m3u8: Added.
  • http/tests/media/track-in-band-hls-metadata-expected.txt: Added.
  • http/tests/media/track-in-band-hls-metadata.html: Added.
  • media/track/track-datacue-value-expected.txt: Added.
  • media/track/track-datacue-value.html: Added.
  • platform/efl/TestExpectations: Skip the new tests.
  • platform/gtk/TestExpectations: Ditto.
  • platform/mac/js/dom/global-constructors-attributes-expected.txt: Update.
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Update.
  • platform/mac/TestExpectations: Skip DataCue test on all Mac versions. Skip HLS test on

Mountain Lion.

  • platform/win/TestExpectations: Skip the new tests.
3:25 PM Changeset in webkit [167631] by benjamin@webkit.org
  • 33 edits in trunk

Add Element.matches, the standard name for webkitMatchesSelector
https://bugs.webkit.org/show_bug.cgi?id=131922

Reviewed by Andreas Kling.

Source/WebCore:
This patch just renames webkitMatchesSelector() to matches().

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateImplementation):
The Objective-C binding generator only supported ImplementedAs for getters and setters.
This adds support for the option so that Element.matches can be generated for Obj-C.

  • dom/Element.cpp:

(WebCore::Element::matches):
(WebCore::Element::webkitMatchesSelector): Deleted.

  • dom/Element.h:
  • dom/Element.idl:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

LayoutTests:
Update the tests to verify both Element.matches and Element.webkitMatchesSelector

  • fast/dom/SelectorAPI/attrname-case-insensitive-expected.txt:
  • fast/dom/SelectorAPI/attrname-case-insensitive.html:
  • fast/dom/SelectorAPI/attrname-case-sensitive-expected.txt:
  • fast/dom/SelectorAPI/attrname-case-sensitive.xhtml:
  • fast/dom/SelectorAPI/caseID-almost-strict-expected.txt:
  • fast/dom/SelectorAPI/caseID-almost-strict.html:
  • fast/dom/SelectorAPI/caseID-expected.txt:
  • fast/dom/SelectorAPI/caseID-strict-expected.txt:
  • fast/dom/SelectorAPI/caseID-strict.html:
  • fast/dom/SelectorAPI/caseID.html:
  • fast/dom/SelectorAPI/caseTag-expected.txt:
  • fast/dom/SelectorAPI/caseTag.html:
  • fast/dom/SelectorAPI/caseTagX-expected.txt:
  • fast/dom/SelectorAPI/caseTagX.xhtml:
  • fast/dom/SelectorAPI/detached-element-expected.txt:
  • fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
  • fast/dom/SelectorAPI/not-supported-namespace-in-selector.html:
  • fast/dom/SelectorAPI/script-tests/detached-element.js:
  • fast/dom/SelectorAPI/script-tests/undefined-null-stringify.js:
  • fast/dom/SelectorAPI/script-tests/viewless-document.js:
  • fast/dom/SelectorAPI/undefined-null-stringify-expected.txt:
  • fast/dom/SelectorAPI/viewless-document-expected.txt:
  • fast/forms/radio/radio-live-validation-style-expected.txt:
  • fast/forms/radio/radio-live-validation-style.html:
  • fast/harness/results.html:
3:22 PM Changeset in webkit [167630] by Beth Dakin
  • 7 edits in trunk/Source

topContentInset does not play well with fullscreen elements
https://bugs.webkit.org/show_bug.cgi?id=131955
-and corresponding-
<rdar://problem/16651925>

Reviewed by Sam Weinig.

Source/WebCore:
Calling setNeedsLayout() is not sufficient when the topContentInset has changed
dynamically. We need to perform the layout right away and update the scrollbars.
This works completely when the inset changes due to entering/exiting fullscreen,
but I left a FIXME behind because it is possible to change the inset dynamically
just through the WK2 API and end up in a situation where everything looks right
except for the scrollbars.

  • page/FrameView.cpp:

(WebCore::FrameView::topContentInsetDidChange):

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

(WebCore::Page::setTopContentInset):

Source/WebKit2:
If you take an element (such as a <video>) fullscreen when you have a
topContentInset set, there will be an inset-sized gap at the top of the fullscreen
video.

Save and restore the topContentInset whenever the scroll position is saved and
restored.

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::WebFullScreenManager):
(WebKit::WebFullScreenManager::saveScrollPosition):
(WebKit::WebFullScreenManager::restoreScrollPosition):

  • WebProcess/FullScreen/WebFullScreenManager.h:
2:49 PM Changeset in webkit [167629] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.30.2/Source

Versioning.

2:45 PM Changeset in webkit [167628] by jhoneycutt@apple.com
  • 3 edits
    1 add in trunk

Empty RenderInline objects should not be line break objects.

https://bugs.webkit.org/show_bug.cgi?id=131861
<rdar://problem/15663617>

Reviewed by David Hyatt.

.:

  • ManualTests/empty-inline-as-line-break-position.html: Added.

This issue wouldn't reproduce in WebKitTestRunner.

Source/WebCore:

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::canBreakAtThisPosition):
Don't break at this position if this is an empty RenderInline.

2:44 PM Changeset in webkit [167627] by weinig@apple.com
  • 2 edits in trunk/Tools

Attempt to fix the tests.

  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:

(-[DidFailProvisionalNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
Add policy handler to override the new default of denying loads that NSURLConnection cannot handle.

2:36 PM Changeset in webkit [167626] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.30.2

New tag.

2:33 PM Changeset in webkit [167625] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't use ProcessAssertion on simulator
https://bugs.webkit.org/show_bug.cgi?id=131950

Rubber stamped by Enrica Casucci

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):

  • UIProcess/ios/ProcessAssertion.h:
2:14 PM Changeset in webkit [167624] by enrica@apple.com
  • 10 edits in trunk/Source

[iOS WebKit2] support replacements for misspelled words.
https://bugs.webkit.org/show_bug.cgi?id=131827
<rdar://problem/16319657>

Reviewed by Darin Adler.

Source/WebCore:
Adds utility function to return the character before the current selection
and converts the nbsp to the space character.

  • WebCore.exp.in:
  • editing/VisibleUnits.cpp:

(WebCore::characterBeforePosition):

  • editing/VisibleUnits.h:

Source/WebKit2:
This is the second a final piece to support replacements.
It adds some entrypoints used by the keyboard code to perform
replacement when reaching the edge of a word using backspace.
I've modified the behavior of replaceSelectedText to work both
with caret or range selections.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:

(WebKit::EditorState::EditorState):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView isReplaceAllowed]):
(-[WKContentView _characterBeforeCaretSelection]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::replaceSelectedText):

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

[iOS] enable plug-in replacement
https://bugs.webkit.org/show_bug.cgi?id=131947

Reviewed by Jer Noble.

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures): initialize m_isPluginReplacementEnabled

to true on iOS.

2:00 PM Changeset in webkit [167622] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't use ProcessAssertion on simulator
https://bugs.webkit.org/show_bug.cgi?id=131950

Rubber stamped by Benjamin Poulain

  • UIProcess/ios/ProcessAssertion.mm:

(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::setState):

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

Another build fix.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::checkEntitlements):

1:44 PM Changeset in webkit [167620] by cabanier@adobe.com
  • 12 edits
    4 deletes in trunk

[CSS Blending] Remove support for non-separable blend modes from mix-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=131824

Reviewed by Dean Jackson.

Source/WebCore:
Removed support for non-separable blend modes from the CSS parser.

Covered by existing tests

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

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

(PlatformCAFilters::setBlendingFiltersOnLayer):

LayoutTests:
Removed or updated tests that used non-separable blend modes in combination
with mix-blend-mode.

  • css3/compositing/blend-mode-property-expected.txt:
  • css3/compositing/blend-mode-property-parsing-expected.txt:
  • css3/compositing/blend-mode-simple-composited.html:
  • css3/compositing/blend-mode-simple.html:
  • css3/compositing/script-tests/blend-mode-property-parsing.js:
  • css3/compositing/script-tests/blend-mode-property.js:
  • css3/compositing/svg-blend-color.html: Removed.
  • css3/compositing/svg-blend-hue.html: Removed.
  • css3/compositing/svg-blend-luminosity.html: Removed.
  • css3/compositing/svg-blend-saturation.html: Removed.
  • platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt:
  • platform/mac/css3/compositing/blend-mode-simple-expected.txt:
1:39 PM Changeset in webkit [167619] by hyatt@apple.com
  • 2 edits in trunk/LayoutTests

[New Multicolumn] vertical-rl/unsplittable-inline-block misrenders the column rule.
https://bugs.webkit.org/show_bug.cgi?id=131818

Reviewed by Anders Carlsson.

Patch the test to be column-fill:auto, since the other versions
of the test all had that specified already.

  • fast/multicol/vertical-rl/unsplittable-inline-block.html:
1:35 PM Changeset in webkit [167618] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializer):

1:20 PM Changeset in webkit [167617] by hyatt@apple.com
  • 5 edits
    2 adds in trunk

[New Multicolumn] Column set drawing under horizontal scrollbar.
https://bugs.webkit.org/show_bug.cgi?id=131812.

Reviewed by Sam Weinig.

Source/WebCore:
Added fast/multicol/newmulticol/compare-with-old-impl/LeftToRight-tb.html.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):

  • rendering/RenderBlockFlow.h:

Pass in relayoutChildren as a reference boolean to checkForPaginationLogicalHeightChange.
The new columns need to be able to set it to true if the amount of available column
height ever changes, so that the RenderFlowThread and the sets get a layout call.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setColumnStylesFromPaginationMode):
Make sure that the pagination mode is set up with an auto column-fill specified. You
don't ever want to balance when you set a pagination mode on the RenderView.

LayoutTests:

  • fast/multicol/newmulticol/compare-with-old-impl/LeftToRight-tb-expected.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/LeftToRight-tb.html: Added.
1:16 PM Changeset in webkit [167616] by timothy_horton@apple.com
  • 13 edits in trunk/Source

[iOS WebKit2] Implement CSS viewport units
https://bugs.webkit.org/show_bug.cgi?id=131863
<rdar://problem/16279088>

Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/WKWebView.mm:

(setMinimumLayoutSizeForMinimalUI):
(-[WKWebView _minimumLayoutSizeOverrideForMinimalUI]):
(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]):
Add _setMinimumLayoutSizeOverrideForMinimalUI:, which pushes said size
down from the client to WebPageIOS, below.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::setMinimumLayoutSizeForMinimalUI):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setMinimumLayoutSizeForMinimalUI):
(WebKit::WebPage::viewportConfigurationChanged):
Update FrameView's viewport size based on the minimum layout size for minimal UI (if we have it)
or the normal minimum layout size, scaled to the page's initial scale.

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

(WebCore::FrameView::setViewportSize):

  • page/FrameView.h:

(WebCore::FrameView::viewportSize):
Add setViewportSize() and viewportSize().
If the viewport size changes, we have to do style recalc.
If we have an overridden viewport size, use it.

  • rendering/RenderView.cpp:

(WebCore::RenderView::viewportSize):

  • rendering/RenderView.h:

Get the size from FrameView.

1:14 PM Changeset in webkit [167615] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Fix the dynamic viewport update when the viewport's max-scale conflict with the transition
https://bugs.webkit.org/show_bug.cgi?id=131884

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-21
Reviewed by Darin Adler.

<rdar://problem/16667291>

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
It is fairly common to have a viewport configuration with min-scale=1 and max-scale=1.
Since we were only changing the minimumScale for the transition, the target scale was affected
by max-scale. This was breaking the transition from portrait to landscale.

1:10 PM Changeset in webkit [167614] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebKit2

[iOS][WK2] Make dynamic viewport size update content aware
https://bugs.webkit.org/show_bug.cgi?id=131874

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-21
Reviewed by Tim Horton.

When possible, adjust the scroll position based on the content on dynamic viewport resize.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::scalePage):
(WebKit::WebPage::pageDidScroll):

  • WebProcess/WebPage/WebPage.h:

The scrolling heuristic are not invertible, especially the content heuristic. To have the right
behavior when doing resize without changing the page, we save the old scroll position and restore
it when the content size and scale is restored.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):
On dynamic update, start by finding what node is at the center of the screen. After the layout, put that
node back in the center.

(WebKit::WebPage::updateVisibleContentRects):

12:53 PM Changeset in webkit [167613] by fpizlo@apple.com
  • 5 edits in trunk

Source/JavaScriptCore: Unreviewed test gardening, run the repeat-out-of-bounds tests again.

  • tests/stress/float32-repeat-out-of-bounds.js:
  • tests/stress/int8-repeat-out-of-bounds.js:

Tools: Unreviewed test gardening, make no-eager runs run everything except eager (as opposed to
being the same as a "quick run", which is meant for genuinely slow tests).

  • Scripts/run-jsc-stress-tests:
12:51 PM Changeset in webkit [167612] by fpizlo@apple.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

OSR exit should know about Int52 and Double constants
https://bugs.webkit.org/show_bug.cgi?id=131945

Reviewed by Oliver Hunt.

The DFG OSR exit machinery's ignorance would lead to some constants becoming
jsUndefined() after OSR exit.

The FTL OSR exit machinery's ignorance just meant that we would sometimes use a
stackmap constant rather than baking the constant into the OSRExit data structure.
So, not a big deal, but worth fixing.

Also added some helpful hacks to jsc.cpp for testing such OSR exit pathologies.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGMinifiedNode.h:

(JSC::DFG::belongsInMinifiedGraph):
(JSC::DFG::MinifiedNode::hasConstantNumber):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::tryToSetConstantExitArgument):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionOtherFalse):
(functionUndefined):

  • runtime/Intrinsic.h:
  • tests/stress/fold-to-double-constant-then-exit.js: Added.

(foo):

  • tests/stress/fold-to-int52-constant-then-exit.js: Added.

(foo):

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

Need default WKNavigationDelegate behavior
https://bugs.webkit.org/show_bug.cgi?id=131944
<rdar://problem/15949822>

Reviewed by Dan Bernstein.

Port the WebKit1 default delegate behavior over.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

12:49 PM Changeset in webkit [167610] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

[Cocoa] Expose WebPage::setDefersLoading
https://bugs.webkit.org/show_bug.cgi?id=131943

Reviewed by Anders Carlsson, but he doesn’t like this.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _defersLoading]): Added this accessor.
(-[WKWebProcessPlugInBrowserContextController _setDefersLoading:]): Ditto.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

Declared new property _defersLoading.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::defersLoading): Added this getter.

  • WebProcess/WebPage/WebPage.h:
12:48 PM Changeset in webkit [167609] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Remove unused WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=131938

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-21
Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

12:41 PM Changeset in webkit [167608] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Provide feedback when we encounter an unrecognied node in the FTL backend.

Rubber stamped by Alexey Proskuryakov.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

12:37 PM Changeset in webkit [167607] by ap@apple.com
  • 4 edits in trunk/LayoutTests

Update results of fast/images/image-controls-basic.html

  • platform/mac/TestExpectations:
  • platform/mac/fast/images/image-controls-basic-expected.png:
  • platform/mac/fast/images/image-controls-basic-expected.txt:
12:17 PM Changeset in webkit [167606] by hyatt@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

[New Multicolumn] Add test case for shrink-to-column-height now that
it passes in the new impl.
https://bugs.webkit.org/show_bug.cgi?id=131814

Reviewed by Dean Jackson.

  • fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination-expected.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination.html: Added.
12:17 PM Changeset in webkit [167605] by akling@apple.com
  • 6 edits in trunk/Source

Move the JSString cache from DOMWrapperWorld to VM.
<https://webkit.org/b/131940>

Source/JavaScriptCore:
Reviewed by Geoff Garen.

  • runtime/VM.h:

Source/WebCore:
Since there's no need for JSStrings to be world-specific, this patch
moves the string cache to JSC::VM. This makes jsStringWithCache()
a lot faster since it no longer has to jump through twenty-eleven
hoops to find the DOMWrapperWorld.

Reviewed by Geoff Garen.

  • bindings/js/DOMWrapperWorld.cpp:

(WebCore::DOMWrapperWorld::clearWrappers):

  • bindings/js/DOMWrapperWorld.h:
  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsStringWithCache):

12:15 PM Changeset in webkit [167604] by commit-queue@webkit.org
  • 13 edits
    1 add in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Update gtk/TestExpectations and rebaseline some gtk test results.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-21

  • platform/gtk/TestExpectations: Mark fast/repaint/hidpi-wrong-repaint-rect-when-parent-has-noncompositing-transform.html

as failure and fast/dom/Window/mozilla-focus-blur.html as flaky.

  • platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt: Rebaseline after r167335.
  • platform/gtk/fast/repaint/reflection-redraw-expected.txt: Rebaseline after r167568.
  • platform/gtk/fast/table/dynamic-caption-add-remove-before-child-expected.txt: Rebaseline after r167568.
  • platform/gtk/fast/table/multiple-captions-display-expected.txt: Rebaseline after r167568.
  • platform/gtk/tables/mozilla/marvin/body_col-expected.txt: Rebaseline after r167568.
  • platform/gtk/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Rebaseline after r167568.
  • platform/gtk/tables/mozilla/other/body_col-expected.txt: Rebaseline after r167568.
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug10140-expected.txt: Rebaseline after r167568.
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug10216-expected.txt: Rebaseline after r167568.
  • platform/gtk/tables/mozilla_expected_failures/core/captions3-expected.txt: Rebaseline after r167568.
  • platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt: Rebaseline after r167568.
  • platform/gtk/fast/repaint/spanner-with-margin-expected.txt: Added. Rebaseline after r167439.
12:10 PM Changeset in webkit [167603] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Check the com.apple.security.network.client entitlement for all processes
https://bugs.webkit.org/show_bug.cgi?id=131942
<rdar://problem/12354188>

Reviewed by Dan Bernstein.

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:

(WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::checkEntitlements):

12:05 PM Changeset in webkit [167602] by hyatt@apple.com
  • 4 edits
    2 adds in trunk

Source/WebCore: [New Multicolumn] Column balancing is slow on float-multicol.html
https://bugs.webkit.org/show_bug.cgi?id=131801

Reviewed by Enrica Casucci.

Added fast/multicol/tall-float.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
Make RenderFlowThreads expand to encompass floats. Also from Morten's patch for
Blink (#361551).

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeOverflow):
Fix a bug where the new multi-column code was adding in overflow for floats
when it should not. This was resulting in the creation of scrollbars when none
should exist. This is my own addition.

(WebCore::RenderBlockFlow::addOverhangingFloats):
Make RenderFlowThreads and RenderRegions ignore overhanging float additions. This
comes from Morten's patch for Blink (#361551).

LayoutTests: http/tests/cache/subresource-failover-to-network.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=131936

Patch by Alexey Proskuryakov <ap@apple.com> on 2014-04-21
Reviewed by Brady Eidson.

The test was racy, because it was unintentionally queuing TestRunner operations
twice. Also, it failed to clean up its cookie.

Rewrote to not use TestRunner queuing, making the test work in browser.

  • http/tests/cache/resources/subresource-failover-to-network.cgi:
  • http/tests/cache/subresource-failover-to-network.html:
11:55 AM Changeset in webkit [167601] by ap@apple.com
  • 3 edits in trunk/LayoutTests

http/tests/cache/subresource-failover-to-network.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=131936

Reviewed by Brady Eidson.

The test was racy, because it was unintentionally queuing TestRunner operations
twice. Also, it failed to clean up its cookie.

Rewrote to not use TestRunner queuing, making the test work in browser.

  • http/tests/cache/resources/subresource-failover-to-network.cgi:
  • http/tests/cache/subresource-failover-to-network.html:
11:43 AM Changeset in webkit [167600] by fpizlo@apple.com
  • 13 edits
    1 add in trunk/Source/JavaScriptCore

Take block execution count estimates into account when voting double
https://bugs.webkit.org/show_bug.cgi?id=131906

Reviewed by Geoffrey Garen.

This was a drama in three acts.

Act I: Slurp in BasicBlock::executionCount and use it as a weight when counting the

number of uses of a variable that want double or non-double. Easy as pie. This
gave me a huge speed-up on FloatMM and a huge slow-down on basically everything
else.


Act II: Realize that there were some programs where our previous double voting was

just on the edge of disaster and making it more precise tipped it over. In
particular, if you had an integer variable that would infrequently be used in a
computation that resulted in a variable that was frequently used as an array index,
the outer infrequentness would be the thing we'd use in the vote. So, an array
index would become double. We fix this by reviving global backwards propagation
and introducing the concept of ReallyWantsInt, which is used just for array
indices. Any variable transitively flagged as ReallyWantsInt will never be forced
double. We need that flag to be separate from UsedAsInt, since UsedAsInt needs to
be set in bitops for RageConversion but using it for double forcing is too much.
Basically, it's cheaper to have to convert a double to an int for a bitop than it
is to convert a double to an int for an array index; also a variable being used as
an array index is a much stronger hint that it ought to be an int. This recovered
performance on everything except programs that used FTL OSR entry.


Act III: Realize that OSR entrypoint creation creates blocks that have NaN execution

count, which then completely pollutes the weighting - essentially all votes go
NaN. Fix this with some surgical defenses. Basically, any client of execution
counts should allow for them to be NaN and shouldn't completely fall off a cliff
when it happens.


This is awesome. 75% speed-up on FloatMM. 11% speed-up on audio-dft. This leads to
7% speed-up on AsmBench and 2% speed-up on Kraken.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::run):
(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGGraph.cpp:

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

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::voteNode):
(JSC::DFG::Graph::voteChildren):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGPlan.cpp:

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

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::doDoubleVoting):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):

  • dfg/DFGVariableAccessData.cpp: Added.

(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsCaptured):
(JSC::DFG::VariableAccessData::mergeShouldNeverUnbox):
(JSC::DFG::VariableAccessData::predict):
(JSC::DFG::VariableAccessData::mergeArgumentAwarePrediction):
(JSC::DFG::VariableAccessData::shouldUseDoubleFormatAccordingToVote):
(JSC::DFG::VariableAccessData::tallyVotesForShouldUseDoubleFormat):
(JSC::DFG::VariableAccessData::mergeDoubleFormatState):
(JSC::DFG::VariableAccessData::makePredictionForDoubleFormat):
(JSC::DFG::VariableAccessData::flushFormat):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::vote):
(JSC::DFG::VariableAccessData::VariableAccessData): Deleted.
(JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted.
(JSC::DFG::VariableAccessData::mergeShouldNeverUnbox): Deleted.
(JSC::DFG::VariableAccessData::predict): Deleted.
(JSC::DFG::VariableAccessData::mergeArgumentAwarePrediction): Deleted.
(JSC::DFG::VariableAccessData::shouldUseDoubleFormatAccordingToVote): Deleted.
(JSC::DFG::VariableAccessData::tallyVotesForShouldUseDoubleFormat): Deleted.
(JSC::DFG::VariableAccessData::mergeDoubleFormatState): Deleted.
(JSC::DFG::VariableAccessData::makePredictionForDoubleFormat): Deleted.
(JSC::DFG::VariableAccessData::flushFormat): Deleted.

11:16 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
11:10 AM Changeset in webkit [167599] by msaboff@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

REGRESSION(r167591): ARM64 and ARM traditional builds broken
https://bugs.webkit.org/show_bug.cgi?id=131935

Reviewed by Mark Hahnenberg.

Added store8(TrustedImm32, MacroAssembler::Address) to the ARM traditional and ARM64
macro assemblers. Added a new test for the original patch.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::store8):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::store8):

  • tests/stress/dfg-create-arguments-inline-alloc.js: New test.
11:08 AM Changeset in webkit [167598] by Darin Adler
  • 8 edits in trunk/Source/WebCore

REGRESSION (r160908): Safari doesn't draw rotated images properly first time
https://bugs.webkit.org/show_bug.cgi?id=131930

Reviewed by Anders Carlsson.

With render tree creation sufficiently lazy, we had to put some explicit
calls to updateStyleIfNeeded into the ImageDocument class.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument): Pass a Frame&.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::imageSize): Added this helper function. This updates
style so we can use the renderer to compute an image size taking things like
orientation into account, and also passes in the zoom factor.
(WebCore::ImageDocument::updateDuringParsing): Moved the body of the
ImageDocumentParser::appendBytes function into this function. Since it's a
member of ImageDocument, it has better access to appropriate private members,
and we don't have to expose as many functions to the public. Also changed to
not use the frame so much. Also merged in the code that creates the document
instead of having it be a side effect in the cachedImage helper function; all
the other call sites were checking for null before calling cachedImage.
(WebCore::ImageDocument::finishedParsing): Moved the body of the
ImageDocumentParser::finish function here. Added a call to updateStyleIfNeeded
before using the renderer to get the image size.
(WebCore::ImageDocumentParser::document): Made this return a reference. It's
just a convenience function used in the two functions below.
(WebCore::ImageDocumentParser::appendBytes): Just call updateDuringParsing.
(WebCore::ImageDocumentParser::finish): Just call finishedParsing.
(WebCore::ImageDocument::ImageDocument): Take a reference for the argument,
use nullptr, and also initialize m_shouldShrinkImage directly instead of using
a shouldShrinkToFit() helper function to do it.
(WebCore::ImageDocument::createDocumentStructure): Removed unneeded check of
null for the frame, since the caller does it. Removed some unneeded
IGNORE_EXCEPTON and a stray semicolon. Use m_shouldShrinkImage instead of
calling shouldShrinkToFit since at this early point they will be identical.
(WebCore::ImageDocument::scale): Make non-const so we can call the new
imageSize helper. Use Document::view instead of Frame::view. Improved the
conversion to floating point so it doesn't involve a static_cast and an extra
conversion from int to LayoutUnit.
(WebCore::ImageDocument::resizeImageToFit): Ditto.
(WebCore::ImageDocument::imageClicked): Ditto.
(WebCore::ImageDocument::imageUpdated): Ditto. Also use m_shouldShrinkImage
ibnstead of shouldShrinkToFit.
(WebCore::ImageDocument::restoreImageSize): Ditto.
(WebCore::ImageDocument::imageFitsInWindow): Ditto.
(WebCore::ImageDocument::windowSizeChanged): Ditto.
(WebCore::ImageDocument::cachedImage): Deleted. Moved logic into updateDuringParsing.
(WebCore::ImageDocument::shouldShrinkToFit): Deleted. Moved logic into constructor.
(WebCore::ImageEventListener::handleEvent): Updated for changes above.
(WebCore::ImageEventListener::operator==): Simplified. No reason this has to check
whether both listeners are in the same document.
(WebCore::ImageDocumentElement::didMoveToNewDocument): Use nullptr.

  • html/ImageDocument.h: Deleted some unused things, updated for changes above,

and made some memer functions private.

  • loader/FrameLoaderClient.h: Deleted the allowScriptFromSource, allowPlugins,

allowImage, and allowDisplayingInsecureContent functions. These were only used in
Chromium and are now unneeded complexity. We could bring them back if anyone wants them.

  • loader/MixedContentChecker.cpp:

(WebCore::MixedContentChecker::canDisplayInsecureContent): Removed call to
allowDisplayingInsecureContent, just use the setting directly.
(WebCore::MixedContentChecker::canRunInsecureContent): Removed call to
allowRunningInsecureContent, just use the setting directly.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::allowPlugins): Removed call to allowPlugins, just
use the arePluginsEnabled setting directly.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest): Removed call to allowScriptFromSource, just
use the isScriptEnabled setting directly.
(WebCore::CachedResourceLoader::clientDefersImage): Removed call to allowImage.

11:07 AM Changeset in webkit [167597] by hyatt@apple.com
  • 7 edits
    2 adds in trunk

[New Multicolumn] Pagination mode messed up with non-inline axis and reversed direction.
https://bugs.webkit.org/show_bug.cgi?id=131811

Reviewed by Dean Jackson.

Source/WebCore:
Added fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb.html

With block axis pagination mode, it is possible to set a column height that is not the same
as the available fill height for a block. The new multi-column code had the assumption that
the column height was the same as the amount of fill room you had available. This is not
the case.

To correct the issue, I added a member variable to RenderMultiColumnSet that stores the
available column height as a separate variable from the computed column height. This allows
the pagination API to specify a different column height that is not the same as the view's
content height.

Even though it isn't involved in the solution, I also patched pageOrViewLogicalHeight on
RenderView to work with the new column code as well.

To address the layout test failures (that caused the previous rollout), I made sure to
initialize m_availableHeight to 0 when m_computedColumnHeight also gets reset to 0.

The assertion is not something I could reproduce on any machine, but I can see the problem.
I patched Page's pageCount method to not have column code directly in Page.cpp,
and to make a new pageCount() method on RenderView that Page calls
into. This method is now patched to handle the new column code as well as the old. I have
no real way of testing this method though, since I can't reproduce the assertion that the
bots were experiencing.

  • page/Page.cpp:

(WebCore::Page::pageCount):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::setAndConstrainColumnHeight):
(WebCore::RenderMultiColumnSet::prepareForLayout):
(WebCore::RenderMultiColumnSet::computeLogicalHeight):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::pageOrViewLogicalHeight):
(WebCore::RenderView::pageCount):

  • rendering/RenderView.h:

LayoutTests:

  • fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb-expected.html: Added.
  • fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb.html: Added.
11:06 AM Changeset in webkit [167596] by dino@apple.com
  • 6 edits
    1 delete in trunk/Source/WebCore

[Media] Clean up localized strings in controls
https://bugs.webkit.org/show_bug.cgi?id=131857
<rdar://problem/16663005>

Reviewed by Eric Carlson.

There is no need for separate localization files
on OS X and iOS. Move the small number of iOS-specific
localizations into a shared file.

We also don't need a function to return a static table.
Ultimately I think we want a top-level WebKit object that
hold the table, but for now use a global variable
called UIStringTable. Since we're in an isolated world, we
won't clash with anything.

I noticed a few cases were we grab a localized string and
then instantly run a replacement on it. This should be
supported directly in the UIString() accessor.

  • English.lproj/mediaControlsLocalizedStrings.js: Add iOS strings. Just

use a static table.
(mediaControlsLocalizedStrings): Deleted.

  • English.lproj/mediaControlsLocalizedStringsiOS.js: Removed.
  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.extend): Fix braces.
(Controller.prototype.UIString): Use the string table, and allow replacement.
(Controller.prototype.createControls): Use new UIString replacement.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.updateWirelessPlaybackStatus): Use new UIString.
(ControllerIOS.prototype.UIString): Deleted. Use the parent class version.

  • WebCore.xcodeproj/project.pbxproj: Remove file from Resources.
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::mediaControlsScript): No need to include the iOS
specific localization file.

10:31 AM Changeset in webkit [167595] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix.

  • inspector/TimelineRecordFactory.cpp: Add missing include.
10:11 AM Changeset in webkit [167594] by zandobersek@gmail.com
  • 26 edits in trunk/Source

Move cross-port Source/WebCore/page/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=130534

Reviewed by Darin Adler.

Source/WebCore:
Replace uses of OwnPtr and PassOwnPtr in cross-port code under Source/WebCore/page/ with
std::unique_ptr. Unnecessary OwnPtr.h and PassOwnPtr.h header inclusions are removed as well.

  • dom/Document.cpp:

(WebCore::Document::initSecurityContext):

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::setContentSecurityPolicy):

  • dom/SecurityContext.h:
  • page/CaptionUserPreferences.h:
  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::create):
(WebCore::CSPDirectiveList::checkEvalAndReportViolation):
(WebCore::CSPDirectiveList::checkInlineAndReportViolation):
(WebCore::CSPDirectiveList::checkSourceAndReportViolation):
(WebCore::CSPDirectiveList::setCSPDirective):
(WebCore::ContentSecurityPolicy::didReceiveHeader):

  • page/ContentSecurityPolicy.h:
  • page/DOMSecurityPolicy.h:
  • page/DOMWindow.cpp:

(WebCore::PostMessageTimer::fired):
(WebCore::DOMWindow::postMessageTimerFired):

  • page/DOMWindow.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):

  • page/EventHandler.h:
  • page/Frame.cpp:

(WebCore::Frame::Frame):
(WebCore::createRegExpForLabels):
(WebCore::Frame::searchForLabelsAboveCell):
(WebCore::Frame::searchForLabelsBeforeElement):
(WebCore::matchLabelsAgainstString):
(WebCore::Frame::setTiledBackingStoreEnabled):

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

(WebCore::FrameView::addEmbeddedObjectToUpdate):
(WebCore::FrameView::addSlowRepaintObject):
(WebCore::FrameView::addViewportConstrainedObject):
(WebCore::FrameView::addScrollableArea):

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

(WebCore::Page::Page):

  • page/Page.h:
  • page/PageConsole.h:
  • page/PageThrottler.h:
  • page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):

  • page/animation/AnimationController.h:
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
(WebCore::CSSPropertyAnimationWrapperMap::instance):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • page/mac/PageMac.cpp:

(WebCore::Page::addSchedulePair):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::applyContentSecurityPolicyFromString):

Source/WebKit/mac:

  • WebView/WebHTMLRepresentation.mm:

(searchForLabelsBeforeElement): Pass a RegExp reference to Frame::searchForLabelsAboveCell().

9:56 AM Changeset in webkit [167593] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r167530): ASSERT(m_selfTime <= m_totalTime) on tests that run after certain Inspector tests
https://bugs.webkit.org/show_bug.cgi?id=131919

  • TestExpectations: Skipping some Inspector tests, hopefully these are the ones that

cause trouble later.

8:52 AM Changeset in webkit [167592] by Darin Adler
  • 7 edits in trunk

Add HashSet::takeAny
https://bugs.webkit.org/show_bug.cgi?id=131928

Reviewed by Benjamin Poulain.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::takeAnyMediaCanStartListener): Use HashSet::takeAny.

  • dom/ScriptExecutionContext.cpp:

(WebCore::takeAny): Deleted.
(WebCore::ScriptExecutionContext::~ScriptExecutionContext): Use HashSet::takeAny.

Source/WTF:

  • wtf/HashSet.h: Added an overload of take that takes an iterator,

and used it to implement both the existing take and new takeAny functions.

Tools:

  • TestWebKitAPI/Tests/WTF/HashSet.cpp: Added a test for takeAny.
8:11 AM Changeset in webkit [167591] by mhahnenberg@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Inline allocate Arguments objects in the DFG
https://bugs.webkit.org/show_bug.cgi?id=131897

Reviewed by Geoffrey Garen.

Many libraries/frameworks depend on the arguments object for overloaded API entry points.
This is the first step to making Arguments fast(er). We'll duplicate the logic in Arguments::create
for now and take the slow path for complicated cases like slow arguments, tearing off for strict mode, etc.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateArguments):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::emitAllocateDestructibleObject):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • runtime/Arguments.h:

(JSC::Arguments::offsetOfActivation):
(JSC::Arguments::offsetOfOverrodeLength):
(JSC::Arguments::offsetOfIsStrictMode):
(JSC::Arguments::offsetOfRegisterArray):
(JSC::Arguments::offsetOfCallee):
(JSC::Arguments::allocationSize):

4:52 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
3:39 AM Changeset in webkit [167590] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

iOS and non-iOS RemoteCommandListener::create() functions should use std::make_unique<>()
https://bugs.webkit.org/show_bug.cgi?id=131916

Reviewed by Darin Adler.

A follow-up to r167197. Make RemoteCommandListener ctor public and use std::make_unique<>()
in both versions of RemoteCommandListener::create() functions (iOS and non-iOS).

  • platform/RemoteCommandListener.cpp:

(WebCore::RemoteCommandListener::create):

  • platform/RemoteCommandListener.h:

(WebCore::RemoteCommandListener::RemoteCommandListener):

  • platform/ios/RemoteCommandListenerIOS.mm:

(WebCore::RemoteCommandListener::create):

3:15 AM Changeset in webkit [167589] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Micro-optimize the way we hand NodeLists to JSC.
<https://webkit.org/b/131932>

Use HashMap::fastAdd() when returning cached node lists and collections.
10.9% progression on Bindings/get-elements-by-tag-name.html

Reviewed by Antti Koivisto.

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
(WebCore::NodeListsNodeData::addCachedCollection):

12:25 AM Changeset in webkit [167588] by commit-queue@webkit.org
  • 32 edits in trunk

Unreviewed, rolling out r167584.
https://bugs.webkit.org/show_bug.cgi?id=131929

Broke Objective-C bindings test (Requested by ap on #webkit).

Reverted changeset:

"Add Element.matches, the standard name for
webkitMatchesSelector"
https://bugs.webkit.org/show_bug.cgi?id=131922
http://trac.webkit.org/changeset/167584

Note: See TracTimeline for information about the timeline view.