Timeline



May 24, 2014:

8:50 PM Changeset in webkit [169316] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Object.prototype.toString() should use cached strings for null/undefined.
<https://webkit.org/b/133261>

Normally, when calling Object.prototype.toString() on a regular object,
we'd cache the result of the stringification on the object's structure,
making repeated calls fast.

For null and undefined, we were not as smart. We'd instead construct a
new string with either "[object Null]" or "[object Undefined]" each time.

This was exposed by Dromaeo's JS library tests, where some prototype.js
subtests generate millions of strings this way.

This patch adds two VM-permanent cached strings to the SmallStrings.
Looks like ~10% speed-up on Dromaeo/jslib-traverse-prototype.html

Reviewed by Darin Adler.

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncToString):

  • runtime/SmallStrings.cpp:

(JSC::SmallStrings::SmallStrings):
(JSC::SmallStrings::initializeCommonStrings):
(JSC::SmallStrings::visitStrongReferences):

  • runtime/SmallStrings.h:

(JSC::SmallStrings::nullObjectString):
(JSC::SmallStrings::undefinedObjectString):

8:30 PM Changeset in webkit [169315] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/WebKit2

Potential null dereference in
WebFrameLoaderClient::dispatchDidFailProvisionalLoad()
<https://bugs.webkit.org/show_bug.cgi?id=133193>

WebFrameLoaderClient::dispatchDidFailProvisionalLoad() calls the
InjectedBundleLoaderClient's didFailProvisionalLoadWithErrorForFrame()
before sending a message to the UI process that a provisional load has
failed. It's possible for the provisional document loader to become
null while calling into the InjectedBundleLoaderClient (as is the case
with the WebKitTestRunner's injected bundle), leading to a null
dereference when trying to send the DidFailProvisionalLoadForFrame
message.

Reviewed by Darin Adler.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
Get the navigation ID before calling into the injected bundle.

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

Remove one of the CSSProperty constructor
https://bugs.webkit.org/show_bug.cgi?id=131094

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-24
Reviewed by Darin Adler.

Remove one of the CSSProperty constructor, because it is obsolete.

  • css/CSSProperty.h:

(WebCore::CSSProperty::CSSProperty): Deleted.

  • css/StyleProperties.h:

(WebCore::StyleProperties::PropertyReference::toCSSProperty):

1:40 PM Changeset in webkit [169313] by Simon Fraser
  • 6 edits in trunk/Source

Rename ScrollingTreeScrollingNode's m_scrollPosition to make it clear that it's the value committed from the state tree
https://bugs.webkit.org/show_bug.cgi?id=133254

Reviewed by Tim Horton.

Source/WebCore:

Make ScrollingTreeScrollingNode::scrollPosition() pure virtual, and rename
the member variable and associated getter to make it clear that they relate
to the last committed scroll position.

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::lastCommittedScrollPosition):
(WebCore::ScrollingTreeScrollingNode::scrollPosition): Deleted.

Source/WebKit2:

Override scrollPosition() on ScrollingTreeOverflowScrollingNodeIOS.

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollPosition):

1:40 PM Changeset in webkit [169312] by Simon Fraser
  • 8 edits in trunk/Source/WebCore

Share some more ScrollingTreeScrollingNode code
https://bugs.webkit.org/show_bug.cgi?id=133248

Reviewed by Sam Weinig.

Push scrollBy(), scrollByWithoutContentEdgeConstraints() and setScrollPosition()
down to ScrollingTreeFrameScrollingNode.

This requires that scrollPosition() return the right thing for each class, so make
it virtual. Future patches will reduce the confusion between the committed scroll
position and the one derived from layers.

  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp:

(WebCore::ScrollingTreeFrameScrollingNode::scrollBy):
(WebCore::ScrollingTreeFrameScrollingNode::scrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNode::setScrollPosition):

  • page/scrolling/ScrollingTreeFrameScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::scrollPosition):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:

(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollPosition): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollBy): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollByWithoutContentEdgeConstraints): Deleted.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollBy): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollByWithoutContentEdgeConstraints): Deleted.

1:40 PM Changeset in webkit [169311] by Simon Fraser
  • 13 edits in trunk/LayoutTests

Scrolling tests should not try to dump pixels
https://bugs.webkit.org/show_bug.cgi?id=133245

Reviewed by Tim Horton.

dumpAsText(true) -> dumpAsText().

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:
12:30 PM Changeset in webkit [169310] by Chris Fleizach
  • 23 edits in trunk/Source

AX: fix coordinate mapping for iOS accessibility
https://bugs.webkit.org/show_bug.cgi?id=133188

Reviewed by Sam Weinig.

Source/WebCore:
Make WebCore aware of the accessibility point/rect conversion methods.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
(-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):

  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::accessibilityScreenToRootView):
(WebCore::Chrome::rootViewToAccessibilityScreen):

  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/HostWindow.h:

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::accessibilityScreenToRootView):
(WebChromeClient::rootViewToAccessibilityScreen):

Source/WebKit2:
Add in accessibility conversion methods that will check if the methods are present
(if accessibility is not on, they won't be)
and use those to convert points into the right coordinate space that VoiceOver is expecting.

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

(WebKit::WebPageProxy::accessibilityScreenToRootView):
(WebKit::WebPageProxy::rootViewToAccessibilityScreen):

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

(WebKit::PageClientImpl::accessibilityScreenToRootView):
(WebKit::PageClientImpl::rootViewToAccessibilityScreen):

  • UIProcess/mac/PageClientImpl.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::accessibilityScreenToRootView):
(WebKit::WebChromeClient::rootViewToAccessibilityScreen):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::accessibilityScreenToRootView):
(WebKit::WebPage::rootViewToAccessibilityScreen):

  • WebProcess/WebPage/WebPage.h:
7:50 AM Changeset in webkit [169309] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Subpixel rendering: Non-compositing transforms with subpixel coordinates paint to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=133184
<rdar://problem/16745606>

Reviewed by Simon Fraser.

Snapping relative negative coordinate values should produce the same position as if they were
positive absolute coordinates.
When a child box gets positioned off of its containers towards top/left, its relative coordinates
become negative. Pixel snapping those negative values should produce the same
final painting position as if the child box was fixed positioned with positive coordinates.
Since halfway values always round away from zero, negative and positive halfway values
produce opposite rounding direction.
This patch ensures that negative halfway values round to the direction as if they were positive.

Source/WebCore:
Test: fast/layers/hidpi-floor-negative-coordinate-values-to-maintain-rounding-direction.html

  • platform/LayoutUnit.h:

(WebCore::roundToDevicePixel):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerByApplyingTransform):

LayoutTests:

  • fast/layers/hidpi-floor-negative-coordinate-values-to-maintain-rounding-direction-expected.html: Added.
  • fast/layers/hidpi-floor-negative-coordinate-values-to-maintain-rounding-direction.html: Added.
4:49 AM Changeset in webkit [169308] by fred.wang@free.fr
  • 3 edits in trunk/LayoutTests

Update GTK references for some tests after bug 130322.
https://bugs.webkit.org/show_bug.cgi?id=130322

Unreviewed gardening.

  • platform/gtk/mathml/opentype/vertical-LatinModern-expected.txt:
  • platform/gtk/mathml/presentation/mo-stretch-expected.txt:
4:30 AM Changeset in webkit [169307] by fred.wang@free.fr
  • 2 edits in trunk/LayoutTests

Mark some opentype MATH tests failing due to bad references.
https://bugs.webkit.org/show_bug.cgi?id=130322

Unreviewed gardening.

  • platform/mac/TestExpectations:
12:17 AM Changeset in webkit [169306] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

REGRESSION(r165841): Messages sent before the child process is launched are never sent after r165841
https://bugs.webkit.org/show_bug.cgi?id=131675

Reviewed by Anders Carlsson.

Since r165841 the connection is opened after the pending messages
are sent, because connectionWillOpen might send messages that we
want to happen after the ones already pending. The problem is that
Connection::canSendOutgoingMessages() returns false when
connection hasn't been opened. We should ensure no messages are
sent by connectionWillOpen.

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching): Open the
connection before sending pending messages.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::connectionWillOpen): Do not call
VisitedLinkProvider::addProcess() here because it tries to send a
message to the web process, but the connection hasn't be opened yet.
(WebKit::WebPageProxy::processDidFinishLaunching): Call
VisitedLinkProvider::addProcess() here instead.

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

(WebKit::WebProcessProxy::didFinishLaunching): Call
WebPageProxy::processDidFinishLaunching() for every web page.

May 23, 2014:

9:56 PM Changeset in webkit [169305] by fred.wang@free.fr
  • 10 edits
    30 adds in trunk

Use size variants and glyph assembly from the MATH data.
https://bugs.webkit.org/show_bug.cgi?id=130322

Reviewed by Chris Fleizach.

Source/WebCore:
This patch modifies the RenderMathMLOperator code to use the MATH table
when one is provided in the current font on the <math> tag. More
precisely, the MathVariants table is used to draw a size variant or
a glyph assembly. The displaystyle attribute is not supported yet, so
for now large operators are always assumed to be in display style. The
MATH support does not work well with all platforms+fonts, so at the
moment the default font-family on the <math> is not changed.

Tests: mathml/opentype/large-operators-LatinModern.html

mathml/opentype/opentype-stretchy.html
mathml/opentype/vertical-LatinModern.html

  • css/mathml.css: We only specify the default font-family on the math root, so that people can easily style the mathematics.

For now, old fonts without the MATH table are still used as the default.
(math):
(math, mfenced > *): Deleted.
(mo, mfenced): Deleted.

  • platform/graphics/SimpleFontData.cpp: don't return the math data if the font is loading.

(WebCore::SimpleFontData::mathData):

  • platform/graphics/opentype/OpenTypeMathData.cpp: update #ifdef so that disabling ENABLE_OPENTYPE_MATH won't lead to errors with unused parameters.

(WebCore::OpenTypeMathData::OpenTypeMathData):
(WebCore::OpenTypeMathData::getMathConstant):
(WebCore::OpenTypeMathData::getItalicCorrection):
(WebCore::OpenTypeMathData::getMathVariants):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::boundsForGlyph):
(WebCore::RenderMathMLOperator::heightForGlyph):
(WebCore::RenderMathMLOperator::advanceForGlyph):
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): We handle preferred width of size variants.
(WebCore::RenderMathMLOperator::shouldAllowStretching): This function now only returns whether the operator will stretch and no longer has side effect.
(WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack): We add a function to convert from the MathVariant table data to the format supported by RenderMathMLOperator.
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator): We add a function to get the glyph that will be used for large operators in display style.
(WebCore::RenderMathMLOperator::findStretchyData): We make this function handle size variants.
(WebCore::RenderMathMLOperator::updateStyle): We handle size variants.
(WebCore::RenderMathMLOperator::paint): We handle size variants.

  • rendering/mathml/RenderMathMLOperator.h:

LayoutTests:
This adds some pixel tests for large operators and vertical stretchy operators.

  • mathml/opentype/LICENSE-LatinModern.txt: Added.
  • mathml/opentype/large-operators-LatinModern.html: Added.
  • mathml/opentype/latinmodern-math.woff: Added.
  • mathml/opentype/opentype-stretchy.html: Added.
  • mathml/opentype/stretchy.woff: Added.
  • mathml/opentype/vertical-LatinModern.html: Added.
  • platform/efl/mathml/opentype/large-operators-LatinModern-expected.png: Added.
  • platform/efl/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
  • platform/efl/mathml/opentype/opentype-stretchy-expected.png: Added.
  • platform/efl/mathml/opentype/opentype-stretchy-expected.txt: Added.
  • platform/efl/mathml/opentype/vertical-LatinModern-expected.png: Added.
  • platform/efl/mathml/opentype/vertical-LatinModern-expected.txt: Added.
  • platform/gtk/mathml/opentype/large-operators-LatinModern-expected.png: Added.
  • platform/gtk/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
  • platform/gtk/mathml/opentype/opentype-stretchy-expected.png: Added.
  • platform/gtk/mathml/opentype/opentype-stretchy-expected.txt: Added.
  • platform/gtk/mathml/opentype/vertical-LatinModern-expected.png: Added.
  • platform/gtk/mathml/opentype/vertical-LatinModern-expected.txt: Added.
  • platform/gtk/mathml/presentation/mo-stretch-expected.png: update reference due to change in mathml.css
  • platform/gtk/mathml/presentation/mo-stretch-expected.txt: ditto
  • platform/mac/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
  • platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Added.
  • platform/mac/mathml/opentype/vertical-LatinModern-expected.txt: Added.
  • platform/mac-wk2/mathml/opentype/large-operators-LatinModern-expected.txt: Added.
  • platform/mac-wk2/mathml/opentype/opentype-stretchy-expected.txt: Added.
  • platform/mac-wk2/mathml/opentype/vertical-LatinModern-expected.txt: Added.
  • platform/win/TestExpectations: Mark the OpenType MATH tests as failing
9:35 PM Changeset in webkit [169304] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

REGRESSION: Rubberbanding out jumps to top left corner on google.com
https://bugs.webkit.org/show_bug.cgi?id=133253
<rdar://problem/17025664>

Patch by Ian Henderson <ianh@apple.com> on 2014-05-23
Reviewed by Benjamin Poulain.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
Avoid deceleration during zooming to work around a UIKit bug.

9:31 PM Changeset in webkit [169303] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

9:25 PM Changeset in webkit [169302] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebKit2

[iOS][WK2] Avoid updating the view from the viewport configuration unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=133255
<rdar://problem/16890926>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-23
Reviewed by Simon Fraser.

All the updates were mostly harmless since they are pretty cheap, but they can be
very annoying for debugging.

This patch skips viewportUpdates in the trivial cases.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setMinimumLayoutSizeOverride:]):
(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mainFrameDidLayout):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportPropertiesDidChange):

9:07 PM Changeset in webkit [169301] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.48

Create Safari-538.34.48 tag.

8:45 PM Changeset in webkit [169300] by benjamin@webkit.org
  • 8 edits in trunk/Source/WebKit2

[iOS][WK2] The page scale factor randomly resets to initial scale when editing
https://bugs.webkit.org/show_bug.cgi?id=133244

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

We were never telling the WebProcess that zoom is used triggered. As a result, the ViewportConfiguration was free
to reset the scale whenever it felt like it. The fix is to call willStartUserTriggeredZoom before changing the scale.

This patch also split _willStartUserTriggeredScrollingOrZooming from willStartUserTriggeredZoom
and rename it to willStartPanOrPinchGesture. This is just a tiny cleanup since the only thing left in _willStartUserTriggeredScrollingOrZooming
was gesture related.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _zoomToFocusRect:WebCore::selectionRect:WebCore::fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):
(-[WKWebView scrollViewWillBeginZooming:withView:]):
(-[WKWebView scrollViewWillBeginDragging:]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView scrollViewWillBeginDragging:]):

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

(-[WKContentView willStartUserTriggeredZoom]):
(-[WKContentView willStartUserTriggeredScroll]): Deleted.

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

(-[WKContentView willStartPanOrPinchGesture]):
(-[WKContentView _willStartUserTriggeredScrollingOrZooming]): Deleted.

7:17 PM Changeset in webkit [169299] by timothy_horton@apple.com
  • 22 edits
    9 adds in trunk/Source

REGRESSION (iOS WebKit2): requestAnimationFrame fires more than once between layer tree commits
https://bugs.webkit.org/show_bug.cgi?id=132794
<rdar://problem/16877909>

Reviewed by Simon Fraser.

Virtualize DisplayRefreshMonitor so that WebKit2 can implement its own DisplayRefreshMonitor for UI-side compositing views.
This allows the synchronization of requestAnimationFrame callbacks with UI-side compositing painting.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • page/ChromeClient.h:

(WebCore::ChromeClient::graphicsLayerFactory):
(WebCore::ChromeClient::createDisplayRefreshMonitor):

  • platform/graphics/DisplayRefreshMonitorFactory.h: Added.
  • platform/graphics/GraphicsLayerUpdater.cpp:

(WebCore::GraphicsLayerUpdater::createDisplayRefreshMonitor):

  • platform/graphics/GraphicsLayerUpdater.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::createDisplayRefreshMonitor):

  • rendering/RenderLayerCompositor.h:

Give the ChromeClient a chance to provide us with a custom DisplayRefreshMonitor.
If it does not, we'll fall back to making a DisplayRefreshMonitorMac or
DisplayRefreshMonitorIOS depending on the platform.

  • dom/ScriptedAnimationController.cpp:
  • dom/ScriptedAnimationController.h:
  • platform/graphics/DisplayRefreshMonitor.cpp:
  • platform/graphics/DisplayRefreshMonitor.h:
  • platform/graphics/DisplayRefreshMonitorClient.cpp: Added.
  • platform/graphics/DisplayRefreshMonitorClient.h: Added.
  • platform/graphics/DisplayRefreshMonitorManager.cpp: Added.
  • platform/graphics/DisplayRefreshMonitorManager.h: Added.

Split DisplayRefreshMonitor.cpp into one file per class.
Use references in a few places.
Remove some useless comments.

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::displayDidRefresh):
Use takeAny() and remove a FIXME about it not existing.

  • platform/graphics/DisplayRefreshMonitorClient.cpp: Added.

(WebCore::DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded):
Use an early return instead of having the whole function body in an if().

  • platform/graphics/ios/DisplayRefreshMonitorIOS.h: Added.
  • platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
  • platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
  • platform/graphics/mac/DisplayRefreshMonitorMac.h: Added.

Virtualize DisplayRefreshMonitorIOS and DisplayRefreshMonitorMac,
and move things specific to each of them out of DisplayRefreshMonitor itself.

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

(WebKit::WebChromeClient::createDisplayRefreshMonitor):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::graphicsLayerFactory):
(WebKit::DrawingArea::createDisplayRefreshMonitor):
Plumb the DisplayRefreshMonitor request through to the DrawingArea.
RemoteLayerTreeDrawingArea will implement and return a RemoteLayerTreeDisplayRefreshMonitor.

  • WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.h: Added.

(WebKit::RemoteLayerTreeDisplayRefreshMonitor::create):

  • WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.mm: Added.

(WebKit::RemoteLayerTreeDisplayRefreshMonitor::RemoteLayerTreeDisplayRefreshMonitor):
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::~RemoteLayerTreeDisplayRefreshMonitor):
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::requestRefreshCallback):
When requesting a display refresh callback, schedule a layer commit.
It may end up being empty, but will still call us back with a didUpdate,
upon which we'll fire the callback.

(WebKit::RemoteLayerTreeDisplayRefreshMonitor::didUpdateLayers):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::createDisplayRefreshMonitor):
(WebKit::RemoteLayerTreeDrawingArea::willDestroyDisplayRefreshMonitor):
Keep track of the set of DisplayRefreshMonitors.

(WebKit::RemoteLayerTreeDrawingArea::didUpdate):
Fire requestAnimationFrame callbacks once the UI process commits the new layer tree.

7:11 PM Changeset in webkit [169298] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

CSS JIT: Apply backtracking optimization to adjacent backtracking
https://bugs.webkit.org/show_bug.cgi?id=132951

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-05-23
Reviewed by Benjamin Poulain.

Apply the backtracking optimization to the adjacent backtracking.
This optimization is already done for the descendant backtracking.
We apply this to the adjacent backtracking similarly.

Source/WebCore:
Test: fast/selectors/backtracking-adjacent-optimized.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::solveAdjacentBacktrackingActionForDirectAdjacent):
(WebCore::SelectorCompiler::solveBacktrackingAction):
(WebCore::SelectorCompiler::computeBacktrackingStartOffsetInChain):
(WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
(WebCore::SelectorCompiler::computeBacktrackingWidthFromIndirectAdjacent):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
(WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant): Deleted.

LayoutTests:

  • fast/selectors/backtracking-adjacent-optimized-expected.txt: Added.
  • fast/selectors/backtracking-adjacent-optimized.html: Added.
6:06 PM Changeset in webkit [169297] by achristensen@apple.com
  • 5 edits in trunk/Source/WebCore

Make CSS JIT run on ARM64.
https://bugs.webkit.org/show_bug.cgi?id=133156

Reviewed by Benjamin Poulain.

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::saveAllocatedRegisters):
(WebCore::FunctionCall::restoreAllocatedRegisters):
Use StackAllocator's new push and pop functions to push and pop a vector instead of iterating it.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::reserveCalleeSavedRegisters):
(WebCore::RegisterAllocator::restoreCalleeSavedRegisters):
Return a vector of registers to allocate instead of doing the allocation to make the RegisterAllocator
not need to know about the StackAllocator and to use the new vector push and pop functions.
(WebCore::RegisterAllocator::~RegisterAllocator):
Store RegisterIDs instead of StackReferences to avoid needing to know about the stack.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
Removed the requirement for assert to be disabled to print disassembly when debugging css jit.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generatePrologue):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateEpilogue):
Added to correctly push the link register and frame pointer.
This is required if the jit code calls a function on arm64 and helpful for debugging tools on x86_64.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Generate the prologue and epilogue which respectively push and pop
the link register, frame pointer, and callee saved registers if needed.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::push):
(WebCore::StackAllocator::pop):
Added new vector push and pop functions to use stp and ldb instructions on arm64.

5:29 PM Changeset in webkit [169296] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

5:23 PM Changeset in webkit [169295] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Hide fullscreen immediately when switching tabs.
https://bugs.webkit.org/show_bug.cgi?id=133239

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-23
Reviewed by Eric Carlson.

Source/WebCore:
This change allows fullscreen to disappear immediately while still cleaning
up fullscreen normally.

  • WebCore.exp.in:
  • platform/ios/WebVideoFullscreenControllerAVKit.h:

renamed function to requestHideAndExitFullscreen

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

renamed function to requestHideAndExitFullscreen

(-[WebVideoFullscreenController requestHideAndExitFullscreen]):
rename of requestExitFullscreen that also hides.

(-[WebVideoFullscreenController requestExitFullscreen]): Deleted.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: declare requestHideAndExitFullscreen()
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen):
this hides the window before requesting exitfullscreen from the model.

Source/WebKit/mac:
Renamed a function to better describe it's new functionality.

  • WebView/WebView.mm:

(-[WebView viewDidMoveToWindow]):
now calls: requestHideAndExitFullscreen

Source/WebKit2:
Renamed a function to better describe it's new functionality.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::viewStateDidChange):
now calls: requestHideAndExitFullscreen

5:18 PM Changeset in webkit [169294] by enrica@apple.com
  • 12 edits in trunk/Source/WebKit2

REGRESSION (WebKit2): Keyboard disappears/appears automatically between text boxes.
https://bugs.webkit.org/show_bug.cgi?id=133243
<rdar://problem/16761913>

Reviewed by Benjamin Poulain.

We need to ensure that when an element loses focus and another one gets it,
this is handled in one single message in the UI process to avoid seeing
the keyboard animating in and out.
This is accomplished by always postponing the blur notification until all events
have been processed.
If a new node is focused before the delayed blur notification is sent to the UI
process, the message we send includes both blur and focus notification. In this case,
the postponed blur notification is not sent.

  • 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:blurPreviousNode:userObject:]):
(-[WKContentView _startAssistingNode:userIsInteracting:userObject:]): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::startAssistingNode):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

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

(WebKit::WebPage::elementDidFocus):
(WebKit::WebPage::elementDidBlur):

5:13 PM Changeset in webkit [169293] by msaboff@apple.com
  • 2 edits in trunk/Tools

REGRESSION(r169265): sh: line 0: cd: ../.vm
https://bugs.webkit.org/show_bug.cgi?id=133242

Rubber stamped by Geoffrey Garen.

Added missing shell escapes '\' required as part of previous fix.

  • Scripts/run-jsc-stress-tests:
5:12 PM Changeset in webkit [169292] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove an assertion.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadRequest):

4:59 PM Changeset in webkit [169291] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.47

New Tag.

4:52 PM Changeset in webkit [169290] by timothy_horton@apple.com
  • 8 edits
    2 adds in trunk/Source

[iOS] WKPDFView should have a page indicator
https://bugs.webkit.org/show_bug.cgi?id=133109
<rdar://problem/16383003>

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setHasCustomContentView:loadedMIMEType:WTF::]):
(-[WKWebView _setObscuredInsets:]):
Forward obscured insets changes to the custom content view.

(-[WKWebView _updateScrollViewBackground]):
If we have a custom content view, use its background instead of the
(likely nonexistent) page's when updaing the scroll view's background color.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/WKWebViewContentProvider.h:
  • UIProcess/Cocoa/WKWebViewContentProviderDelegate.h: Added.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setInsetForOverlaidAccessoryViews:]):
Add SPI for clients to inform us about potential overlaid accessory views
which should be taken into account e.g. for positioning the page indicator.

Add a view that sits fixed on top of the WKWebView, ignores interaction,
but provides the WKWebViewContentProvider a place to install views
that don't scroll along with the content.

  • UIProcess/ios/WKPDFPageNumberIndicator.h: Added.
  • UIProcess/ios/WKPDFPageNumberIndicator.mm: Added.

(-[WKPDFPageNumberIndicator initWithFrame:]):
(-[WKPDFPageNumberIndicator dealloc]):
(-[WKPDFPageNumberIndicator setCurrentPageNumber:]):
(-[WKPDFPageNumberIndicator setPageCount:]):
(-[WKPDFPageNumberIndicator show]):
(-[WKPDFPageNumberIndicator hide:]):
(-[WKPDFPageNumberIndicator moveToPoint:animated:]):
(-[WKPDFPageNumberIndicator sizeThatFits:]):
(-[WKPDFPageNumberIndicator _updateLabel]):
(-[WKPDFPageNumberIndicator _makeRoundedCorners]):
Add a page number indicator.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView dealloc]):
(-[WKPDFView web_setScrollView:]):
(-[WKPDFView _revalidateViews]):
(-[WKPDFView _offsetForPageNumberIndicator]):
(-[WKPDFView _updatePageNumberIndicator]):
(-[WKPDFView web_setObscuredInsets:]):
(-[WKPDFView web_setInsetForOverlaidAccessoryViews:]):
(-[WKPDFView web_setFixedOverlayView:]):
(-[WKPDFView _computePageAndDocumentFrames]):
Update the page number indicator when the topmost visible page changes.
Move the page number indicator around when the obscured insets change.

  • WebKit2.xcodeproj/project.pbxproj:
  • English.lproj/Localizable.strings:
4:32 PM Changeset in webkit [169289] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Revert the erroneous change committed in r169286.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._run_with_driver):

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

Fix test failures on the bot.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(websiteDataDirectoryURL):
If we have no bundle identifier, use the process name.

3:37 PM Changeset in webkit [169287] by ggaren@apple.com
  • 1 edit
    1 add in trunk/PerformanceTests

Performance testing, diamond-square terrain generation + canvas
https://bugs.webkit.org/show_bug.cgi?id=133054

Reviewed by Ryosuke Niwa.

This test was written by Hunter Loftis. It originally appeared on his
blog @ <http://www.playfuljs.com/realistic-terrain-in-130-lines/>.

I did a bit of editing for format and benchmark suitability.

  • Canvas/terrain.html: Added.
3:37 PM Changeset in webkit [169286] by ggaren@apple.com
  • 2 edits in trunk/Tools

run-perf-tests should ignore whitespace lines when snarfing test output
https://bugs.webkit.org/show_bug.cgi?id=133238

Reviewed by Ryosuke Niwa.

Required for PerformanceTests/Canvas/terrain.html.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._run_with_driver):
(PerfTest):

3:32 PM Changeset in webkit [169285] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Remove operationCallGetter

Rubber stamped by Filip Pizlo.

Nobody calls this function.

3:14 PM Changeset in webkit [169284] by akling@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Templatize GC's destructor invocation for dtor type.
<https://webkit.org/b/133231>

Get rid of a branch in callDestructor() by templatizing it for
the DestructorType. Removed JSCell::methodTableForDestruction()
since this was the only call site and it was jumping through
a bunch of unnecessary hoops.

Reviewed by Geoffrey Garen.

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::callDestructor):
(JSC::MarkedBlock::specializedSweep):

  • heap/MarkedBlock.h:
  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::methodTableForDestruction): Deleted.

3:13 PM Changeset in webkit [169283] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Support inline caching of RegExpMatchesArray.length
<https://webkit.org/b/133234>

Give RegExpMatchesArray.length the same treatment as JSArray in
repatch so we don't have to go out of line on every access.

~13% speed-up on Octane/regexp.

Reviewed by Geoffrey Garen.

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):

  • runtime/RegExpMatchesArray.h:

(JSC::isRegExpMatchesArray):

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

REGRESSION (iOS WebKit2): Autocorrection is not accurate when changing selection.
https://bugs.webkit.org/show_bug.cgi?id=133237
<rdar://problem/16655776>

Reviewed by Ryosuke Niwa.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView beginSelectionChange]):
(-[WKContentView endSelectionChange]):

When the selection is changed with a gesture in an editable element,
we must notify the keyboard to make sure the autocorrection engine
updates its typing context. WKContentView must implement
beginSelectionChange and endSelectionChange to call into
the keyboard layer.

2:32 PM Changeset in webkit [169281] by Brent Fulgham
  • 4 edits in trunk/Source/WebKit2

[iOS] WK2: Provide implementation for windowFrame
https://bugs.webkit.org/show_bug.cgi?id=133205
<rdar://problem/16894890>

Reviewed by Benjamin Poulain.

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::windowFrame): Added.

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::convertToUserSpace): Added.

2:32 PM Changeset in webkit [169280] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Remove invalid ASSERT in wordRangeForPosition.
https://bugs.webkit.org/show_bug.cgi?id=133232

Reviewed by Ryosuke Niwa.

In WK2 for iOS this function is called on every selection change.
The selection could be set by Javascript in an element that is not visible.
In that case we won't be able to create a VisiblePosition therefore wordRangeForPosition
should not ASSERT that the VisiblePosition is not null, but rather
perform an early return if it is null.

  • editing/VisibleUnits.cpp:

(WebCore::wordRangeFromPosition):

1:32 PM Changeset in webkit [169279] by dburkart@apple.com
  • 3 edits
    5 copies
    2 adds in branches/safari-537.77-branch

Merged r167832. <rdar://problem/16975563>

1:32 PM Changeset in webkit [169278] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Rebaseline two tests affected by r169229.

  • platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
1:31 PM Changeset in webkit [169277] by Manuel Rego Casasnovas
  • 2 edits in trunk/Source/WebCore

[CSS Grid Layout] Use gridRowCount() and gridColumnCount() when possible
https://bugs.webkit.org/show_bug.cgi?id=133213

Reviewed by Sergio Villar Senin.

Use gridRowCount() and gridColumnCount() instead of m_grid.size() and
m_grid[0].size() to make the code more descriptive and easier to
understand.

No new tests (No change in behavior).

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::growGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):

12:51 PM Changeset in webkit [169276] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

REGRESSION (r153917): Chart for the Category Explorer within Quicken Essentials
does not draw until you force a redraw
https://bugs.webkit.org/show_bug.cgi?id=133228
<rdar://problem/15221231>

Reviewed by Simon Fraser.

  • platform/RuntimeApplicationChecks.cpp: (WebCore::applicationIsQuickenEssentials):
  • platform/RuntimeApplicationChecks.h:

Added a check for Quicken Essentials.

  • platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Don't do an early return

for Quicken Essentials, it depends on drawing to update its layer.

12:24 PM Changeset in webkit [169275] by Lucas Forschler
  • 15 edits in branches/safari-537.77-branch/Source

Rollout 169219. <rdar://problem/16975536>

12:10 PM Changeset in webkit [169274] by Lucas Forschler
  • 1 edit in branches/safari-537.77-branch/Source/WebCore/platform/graphics/filters/FilterOperation.h

Build fix after rdar://problem/16975484.

12:01 PM Changeset in webkit [169273] by mihnea@adobe.com
  • 5 edits in trunk

REGRESSION(r169105): fast/regions/cssom/region-range-for-box-crash.html is more crashy than before
https://bugs.webkit.org/show_bug.cgi?id=133124

Reviewed by David Hyatt.

Source/WebCore:
When adjusting the end points of a subtree selection in the case of a document
with named flows, we have to make sure that we pass the computed end
points to the visible selection algorithm only if the end points are
part of the same subtree, otherwise assume a selection clear behavior.

The test fast/regions/cssom/region-range-for-box-crash.html is used to
test this behavior.

  • rendering/SelectionSubtreeRoot.cpp:

(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):
(WebCore::SelectionSubtreeRoot::selectionStartEndPositions): Moved to header file.

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::selectionStartEndPositions):

LayoutTests:
Unskip the test file that used to crash.

12:00 PM Changeset in webkit [169272] by dburkart@apple.com
  • 3 edits in branches/safari-537.77-branch/Source/WebCore

Merged r165862. <rdar://problem/16975511>

11:59 AM Changeset in webkit [169271] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Use a per app directory structure for website data
https://bugs.webkit.org/show_bug.cgi?id=133125
<rdar://problem/16830143>

Reviewed by Dan Bernstein, Sam Weinig and Tim Horton.

Put website data in subdirectories of ~/Library/WebKit/<bundle ID>/WebsiteData.
We use "LocalStorage", "WebSQL", and "IndexedDB" subdirectories.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(websiteDataDirectoryURL):
(-[WKProcessPool _initWithConfiguration:]):

11:36 AM Changeset in webkit [169270] by mhahnenberg@apple.com
  • 5 edits in trunk/LayoutTests

Rebaseline some tests after r169260

  • fast/dom/Geolocation/enabled-expected.txt:
  • fast/dom/Geolocation/script-tests/enabled.js:
  • js/dom/delete-syntax-expected.txt:
  • js/dom/script-tests/delete-syntax.js:
11:36 AM Changeset in webkit [169269] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

11:33 AM Changeset in webkit [169268] by dburkart@apple.com
  • 2 edits in branches/safari-537.77-branch/LayoutTests

Merged r161008. <rdar://problem/16975471>

11:29 AM Changeset in webkit [169267] by dburkart@apple.com
  • 2 edits in branches/safari-537.77-branch/LayoutTests

Merged r160896. <rdar://problem/16975471>

11:22 AM Changeset in webkit [169266] by dburkart@apple.com
  • 9 edits
    2 copies in branches/safari-537.77-branch

Merged r160847. <rdar://problem/16975471>

11:05 AM Changeset in webkit [169265] by msaboff@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r169241) Crash running run-jsc-stress-tests on EFL ARM
https://bugs.webkit.org/show_bug.cgi?id=133223

Reviewed by Geoffrey Garen.

Change runAndMonitorTestRunnerCommand() to convert the *cmd argument to a
string before calling IO.popen() to work with older versions of ruby.
Changed the remote path in runShellTestRunner to quote the command
string we want to run via ssh so that it will work correctly with array
to string conversion needed for popen.

  • Scripts/run-jsc-stress-tests:
11:02 AM Changeset in webkit [169264] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

reset m_havePreparedToPlay when changing media engines.
https://bugs.webkit.org/show_bug.cgi?id=133199

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-23
Reviewed by Eric Carlson.

If a play request comes in before the media player is created, m_havePreparedToPlay
is set to true. But when the player is created, this prevents the new player from
getting the prepare call.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): set m_havePreparedToPlay false.

10:52 AM Changeset in webkit [169263] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skip some snapshotting tests failing after r169173.
https://bugs.webkit.org/show_bug.cgi?id=133227.

  • platform/mac-wk2/TestExpectations:
10:22 AM Changeset in webkit [169262] by Michał Pakuła vel Rutka
  • 5 edits in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Add test expectation for tests faling after r167840.
  • platform/efl/fast/borders/border-antialiasing-expected.png: Rebaseline after r168046.
  • platform/efl/fast/borders/border-antialiasing-expected.txt: Ditto.
  • platform/efl/fast/forms/fieldset-align-expected.txt: Rebaseline after r168575.
10:11 AM Changeset in webkit [169261] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove 'css-shaders' option from the build-webkit
https://bugs.webkit.org/show_bug.cgi?id=133212

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-23
Reviewed by Daniel Bates.

Original CSS shaders removed in r162644.

  • Scripts/webkitperl/FeatureList.pm:
10:08 AM Changeset in webkit [169260] by oliver@apple.com
  • 2 edits in trunk/Source/WebCore

Navigator object needs to have properties directly on the instance object
https://bugs.webkit.org/show_bug.cgi?id=133221

Reviewed by Mark Lam.

Flag the Navigator object as requiring properties to be on the instance
as there were a few compatibility issues when on the prototype.

  • bindings/scripts/CodeGeneratorJS.pm:

(InterfaceRequiresAttributesOnInstance):

9:42 AM Changeset in webkit [169259] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] WKNavigationResponsePrivate.h is internal
https://bugs.webkit.org/show_bug.cgi?id=133218

Reviewed by Dean Jackson.

  • WebKit2.xcodeproj/project.pbxproj: Promote WKNavigationResponsePrivate.h to private.
9:13 AM Changeset in webkit [169258] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Switch CSSGradientValue to use more references
https://bugs.webkit.org/show_bug.cgi?id=133206

Reviewed by Andreas Kling.

Switch from pointers to references in various places.

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::image):
(WebCore::CSSGradientValue::addStops):
(WebCore::positionFromValue):
(WebCore::CSSGradientValue::computeEndPoint):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::resolveRadius):
(WebCore::CSSRadialGradientValue::createGradient):

  • css/CSSGradientValue.h:
7:27 AM Changeset in webkit [169257] by Alan Bujtas
  • 5 edits
    3 adds in trunk

Subpixel rendering: Make webkit-box-shadow painting subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=133201
<rdar://problem/16072830>

Reviewed by Simon Fraser.

This patch enables webkit-box-shadow to be painted on a subpixel position. However, we
still truncate -webkit-box-shadow property values. Tracked here: http://webkit.org/b/133202

Source/WebCore:
Test: fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position.html

  • platform/graphics/FloatRoundedRect.cpp:

(WebCore::FloatRoundedRect::inflateWithRadii): same as in from RoundedRect.
(WebCore::FloatRoundedRect::adjustRadii): same as in from RoundedRect.

  • platform/graphics/FloatRoundedRect.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintBoxShadow):

LayoutTests:
Currently not ref-testable.

  • fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position.html: Added.
  • platform/mac/fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position-expected.png: Added.
  • platform/mac/fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position-expected.txt: Added.
3:29 AM Changeset in webkit [169256] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] GObject DOM bindings API break test should fail in the bots when the command fails to run
https://bugs.webkit.org/show_bug.cgi?id=133209

Reviewed by Sergio Villar Senin.

Return FAILURE when the command failed to run.

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

(RunGtkWebKitGObjectDOMBindingsAPIBreakTests.evaluateCommand):

2:57 AM Changeset in webkit [169255] by Carlos Garcia Campos
  • 8 edits
    3 copies
    5 moves
    7 adds
    1 delete in trunk/Source/WebKit2

[UNIX] Reorganize and cleanup main functions of GTK and EFL ports
https://bugs.webkit.org/show_bug.cgi?id=131024

Reviewed by Gustavo Noronha Silva.

Move main function implementation files to <process-dir>/EntryPoint/unix/<ProcessName>Main.cpp
files that are now shared by GTK and EFL ports. These files call a
main method that wraps a new method ChildProcessMain that contains
the common code and uses a helper class for the platform specific
code. GTK+ and EFL ports implement that helper class for every process type.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp: Renamed from Source/WebKit2/efl/MainEfl.cpp.

(main):

  • NetworkProcess/efl/NetworkProcessMainEfl.cpp: Renamed from Source/WebKit2/unix/NetworkMainUnix.cpp.

(WebKit::NetworkProcessMainUnix):

  • NetworkProcess/gtk/NetworkProcessMainGtk.cpp: Renamed from Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp.

(WebKit::NetworkProcessMainUnix):

  • NetworkProcess/unix/NetworkProcessMainUnix.h:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PluginProcess/EntryPoint/unix/PluginProcessMain.cpp: Renamed from Source/WebKit2/unix/PluginMainUnix.cpp.

(main):

  • PluginProcess/unix/PluginProcessMainUnix.cpp:

(WebKit::webkitXError):
(WebKit::PluginProcessMainUnix):

  • PluginProcess/unix/PluginProcessMainUnix.h:
  • Shared/unix/ChildProcessMain.cpp: Copied from Source/WebKit2/WebProcess/efl/WebProcessMainEfl.h.

(WebKit::ChildProcessMainBase::parseCommandLine):

  • Shared/unix/ChildProcessMain.h: Renamed from Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.h.

(WebKit::ChildProcessMainBase::platformInitialize):
(WebKit::ChildProcessMainBase::platformFinalize):
(WebKit::ChildProcessMainBase::initializationParameters):
(WebKit::ChildProcessMain):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp: Renamed from Source/WebKit2/gtk/MainGtk.cpp.

(main):

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainUnix):
(dummyExtensionErrorHandler): Deleted.

  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMainUnix):

  • WebProcess/unix/WebProcessMainUnix.h: Renamed from Source/WebKit2/WebProcess/efl/WebProcessMainEfl.h.
2:09 AM Changeset in webkit [169254] by berto@igalia.com
  • 2 edits in trunk/Tools

[GTK] Install libharfbuzz-dev in Tools/gtk/install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=133210

Reviewed by Carlos Garcia Campos.

  • gtk/install-dependencies:
12:02 AM Changeset in webkit [169253] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit

Try to fix windows build.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

May 22, 2014:

11:45 PM Changeset in webkit [169252] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Add the partial specialization for VectorTraits<std::unique_ptr<P>>
https://bugs.webkit.org/show_bug.cgi?id=133083

Reviewed by Andreas Kling.

  • wtf/VectorTraits.h: Like for RefPtr<P>, OwnPtr<P> and Ref<P>, the partial

specialization for VectorTraits<std::unique_ptr<P>> should exist and should
inherit from SimpleClassVector.

11:44 PM Changeset in webkit [169251] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Have the decoded element in VectorArgumentCoder::decode() moved into Vector::append()
https://bugs.webkit.org/show_bug.cgi?id=133082

Reviewed by Andreas Kling.

  • Platform/IPC/ArgumentCoders.h: Move the decoded element into the Vector::append() call.

This enforces a move instead of a copy if the decoded element's type is move-constructible.

11:43 PM Changeset in webkit [169250] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Move the passed-in Vector<Attachment> in MessageDecoder constructor down into ArgumentDecoder
https://bugs.webkit.org/show_bug.cgi?id=133080

Reviewed by Andreas Kling.

  • Platform/IPC/MessageDecoder.cpp:

(IPC::MessageDecoder::MessageDecoder): The Vector<Attachment> object was passed in by value.
Move it into the ArgumentDecoder constructor as it is not used elsewhere in this constructor
and produces a copy otherwise.

11:36 PM Changeset in webkit [169249] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Curl] Crash when exceeding maximum cache limit.
https://bugs.webkit.org/show_bug.cgi?id=133185

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-22
Reviewed by Brent Fulgham.

When the maximum cache limit is exceeded, I get a crash.
This happens when deleting cache entries, because a reference to the url string object in the LRU list
is used as a parameter to invalidateCacheEntry(), when called from makeRoomForNewEntry().
When the string is removed from the LRU list in makeRoomForNewEntry(), the string is deleted.
Next, the string is accessed again to remove the url from the index, and we crash.

This can be fixed by removing the string from the LRU list after it is removed from the index.

Fixing the crash also revealed an infinite loop problem.
If the url for some reason only exist in the LRU list, and not in the index,
we will inifitely loop in makeRoomForNewEntry(), trying to remove this url from the cache, but never succeeding.
This can be fixed by removing the url from the LRU list, also when it's not in the index.

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::makeRoomForNewEntry): Avoid infinite loop by checking if there are more cache entries to remove.
(WebCore::CurlCacheManager::invalidateCacheEntry): Avoid crash and infinite loop by removing url from LRU list last.

10:18 PM Changeset in webkit [169248] by Simon Fraser
  • 4 edits
    2 adds in trunk

Make viewport units work in CSS gradients
https://bugs.webkit.org/show_bug.cgi?id=133204
<rdar://problem/17012259>

Source/WebCore:

Reviewed by Tim Horton.

Make viewport percentage lengths work in gradients.

Test: fast/gradients/viewport-units-gradient.html

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::createGradient):

  • css/CSSGradientValue.h:

LayoutTests:

Reviewed by Tim Horton.

Make viewport percentage lengths work in gradients.

  • fast/gradients/viewport-units-gradient-expected.html: Added.
  • fast/gradients/viewport-units-gradient.html: Added.
9:34 PM Changeset in webkit [169247] by benjamin@webkit.org
  • 2 edits in trunk/Tools

Add Yusuke Suzuki to the list of contributors (for real)

Wrong section...

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-22

  • Scripts/webkitpy/common/config/contributors.json:
9:30 PM Changeset in webkit [169246] by benjamin@webkit.org
  • 2 edits in trunk/Tools

Add Yusuke Suzuki to the list of contributors

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-22

  • Scripts/webkitpy/common/config/contributors.json:
9:13 PM Changeset in webkit [169245] by benjamin@webkit.org
  • 27 edits in trunk/Source

[iOS][WK2] Add support for minimal-ui viewports
https://bugs.webkit.org/show_bug.cgi?id=133162

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-22
Reviewed by Simon Fraser.

Source/WebCore:
Add support for minimal-ui directly into the Viewport configuration.

ViewportConfiguration knows about two kinds of layout size in scrollview coordinates:
-normal size
-minimal ui size.

Initially, the page is initialized with resetMinimalUI() and starts with a normal layout.

At any time before the main resource is loaded, the Web page can update its viewport meta tag
to include minimal-ui. The viewport configuration is updated immediately to reflect the minimal-ui
layout size. Any layout after that takes minimal-ui into account.

  • WebCore.exp.in:
  • css/LengthFunctions.cpp:

(WebCore::minimumValueForLength):
(WebCore::floatValueForLength):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::viewportPercentageValue):

  • dom/ViewportArguments.h:

(WebCore::ViewportArguments::operator==):

  • page/FrameView.cpp:

(WebCore::FrameView::setViewportSizeForCSSViewportUnits):
(WebCore::FrameView::viewportSizeForCSSViewportUnits):
(WebCore::FrameView::setViewportSize): Deleted.
(WebCore::FrameView::viewportSize): Deleted.

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

(WebCore::ViewportConfiguration::ViewportConfiguration):
(WebCore::ViewportConfiguration::setMinimumLayoutSize):
(WebCore::ViewportConfiguration::setMinimumLayoutSizeForMinimalUI):
(WebCore::ViewportConfiguration::activeMinimumLayoutSizeInScrollViewCoordinates):
(WebCore::ViewportConfiguration::resetMinimalUI):
(WebCore::ViewportConfiguration::pageWillRenderFirstFrame):
(WebCore::ViewportConfiguration::initialScale):
(WebCore::ViewportConfiguration::minimumScale):
(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::ViewportConfiguration::layoutWidth):
(WebCore::ViewportConfiguration::layoutHeight):
(WebCore::ViewportConfiguration::description):

  • page/ViewportConfiguration.h:

(WebCore::ViewportConfiguration::minimumLayoutSizeForMinimalUI):
(WebCore::ViewportConfiguration::usesMinimalUI):

  • rendering/RenderView.cpp:

(WebCore::RenderView::viewportSizeForCSSViewportUnits):
(WebCore::RenderView::viewportSize): Deleted.

  • rendering/RenderView.h:

Source/WebKit2:
In the WebKit2 layers, we have two parts to minimal-ui.
-In WebPage, we need to get the values from the UIProcess and setup the ViewportConfiguration.

Another part is freezing the state on page load.

-In the UIProcess, we need to get the right information for layout and styling, and we need to tell

the UI clients about minimal-ui changes.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setUsesMinimalUI:]):
(-[WKWebView _usesMinimalUI]):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _minimumLayoutSizeOverride]):
(-[WKWebView _setMinimumLayoutSizeOverride:]):
(-[WKWebView _minimumLayoutSizeOverrideForMinimalUI]):
(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]):
(-[WKWebView _largestUnobscuredSizeOverride]):
(-[WKWebView _setMaximumUnobscuredSizeOverride:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(setViewportConfigurationMinimumLayoutSize): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::setUsesMinimalUI):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSizeForMinimalUI):
(WebKit::WebPageProxy::setMaximumUnobscuredSize):
(WebKit::WebPageProxy::setUsesMinimalUI):
(WebKit::WebPageProxy::setMinimumLayoutSizeForMinimalUI): Deleted.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::didCommitLoad):

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

(WebKit::WebPage::setViewportConfigurationMinimumLayoutSizeForMinimalUI):
(WebKit::WebPage::setMaximumUnobscuredSize):
(WebKit::WebPage::willFlushLayers):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::viewportConfigurationChanged):
(WebKit::WebPage::updateViewportSizeForCSSViewportUnits):
(WebKit::WebPage::setMinimumLayoutSizeForMinimalUI): Deleted.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

9:06 PM Changeset in webkit [169244] by rniwa@webkit.org
  • 4 edits
    2 deletes in trunk

Can't type in status in facebook.com on iOS Safari because keyboard disappears
https://bugs.webkit.org/show_bug.cgi?id=133196

Reviewed by Geoffrey Garen.

Source/WebCore:
Fixed the bug by rolling out r156252.

When the user taps on the status on facebook.com, the page focuses a textarea,
which is then made momentarily invisible by setting display:none.
The page then removes display:none later and expects the textarea to be still focused.

With r156252, the focus is removed after the page sets display:none and the keyboard disappears.
Since the focus is never reset on the textarea, the user can never type in anything.

The specification may need to change here given that this (rather odd) behavior/expectation exists
on one of the most popular websites on the Web.

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::recalcStyle):
(WebCore::Document::updateLayout):
(WebCore::Document::resetHiddenFocusElementSoon): Deleted.
(WebCore::Document::resetHiddenFocusElementTimer): Deleted.

  • dom/Document.h:

LayoutTests:
Removed the test added by r156252.

  • fast/dom/HTMLDocument/active-element-gets-unfocusable-expected.txt: Removed.
  • fast/dom/HTMLDocument/active-element-gets-unfocusable.html: Removed.
8:59 PM Changeset in webkit [169243] by mmaxfield@apple.com
  • 9 edits in trunk

http/tests/security/xss-DENIED-xsl-document-redirect.xml fails with NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=132523

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-05-22
Reviewed by Alexey Proskuryakov.

Source/WebCore:
We should not manufacture a response in the event of an error during a
synchronous XHR. In addition, this test removes two places that are
sensitive to such a manufactured response.

Updates test expectations.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::loadRequest): Don't inspect a
loader response if there is an error

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
manufacture a response

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
manufacture a response

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::docLoaderFunc): Only use the response's URL if no error
occurred.

LayoutTests:
Two tests have been rebaselined, and re-enable test that now passes. Because of
r23889, synchronous XHRs for file: URLs purposely don't invoke error handlers.

  • fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt: Updated

incorrect test description

  • fast/xmlhttprequest/resources/xmlhttprequest-nonexistent-file-real.html: Ditto
  • platform/mac-wk2/TestExpectations: Re-enable test that now passes.
8:31 PM Changeset in webkit [169242] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed typo fix.

Reviewed by NOBODY.

No new tests.

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::dashesForIntersectionsWithRect): Accidentally said run.length() instead of glyphBuffer.size().

8:27 PM Changeset in webkit [169241] by msaboff@apple.com
  • 3 edits in trunk/Tools

Eliminate n/total progress update from run-jsc-stress-tests output to file
https://bugs.webkit.org/show_bug.cgi?id=133191

Reviewed by Geoffrey Garen.

Changed progressMeter setting to be based on stdout being a tty instead of
stdin. Unified the processing of output from the shell runner to match the
same processing as is used by the makefile runner. As part of this, the
shell runner script was simplified. It now forwards the output of each
test_script just like the Makefile and doesn't provide its own progress.

  • Scripts/jsc-stress-test-helpers/shell-runner.sh:
  • Scripts/run-jsc-stress-tests:
8:16 PM Changeset in webkit [169240] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Reset the special action-target of WKSyntheticClickTapGestureRecognizer on destruction
https://bugs.webkit.org/show_bug.cgi?id=133165
<rdar://problem/16283914>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-22
Reviewed by Andy Estes.

It is unclear why, but the WKSyntheticClickTapGestureRecognizer sometimes survives its own view
and is reset after WKContentView was destructed.
This patch cleans up the target-action on destruction to avoid accessing a destructed object.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanupInteraction]):

7:24 PM Changeset in webkit [169239] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Do not force a layout when changing the FixedLayoutSize in WebPage
https://bugs.webkit.org/show_bug.cgi?id=133167

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-22
Reviewed by Andreas Kling.

WebPage::setFixedLayoutSize was forcing a layout immediately after changing the layout size on FrameView.
This is forcing plenty of extra layouts since the fixed layout size is one of many properties updated on the FrameView.

FrameView marks that layout is needed. It is not clear why a layout was performed immediately.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setFixedLayoutSize):

6:47 PM Changeset in webkit [169238] by dburkart@apple.com
  • 6 edits
    1 delete in branches/safari-537.77-branch

Revert r169216.

6:36 PM Changeset in webkit [169237] by akling@apple.com
  • 5 edits in trunk/Source

[iOS WebKit2] Web process should try to shrink its memory footprint when going into background.
<https://webkit.org/b/133197>
<rdar://problem/17011561>

Source/WebCore:
Make releaseMemory() public so we can call it from the process-will-suspend callback.

Reviewed by Gavin Barraclough.

  • WebCore.exp.in:
  • platform/MemoryPressureHandler.h:

Source/WebKit2:
Try to free up as much memory as possible before going into background.

Reviewed by Gavin Barraclough.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::processWillSuspend):

6:34 PM Changeset in webkit [169236] by akling@apple.com
  • 10 edits in trunk/Source

Hook up a setting for showing detailed logging during memory pressure relief.
<https://webkit.org/b/133194>

Source/WebCore:
Make the pressure relief logger opt-in. Also make it flush memory back to the
OS (for both malloc and FastMalloc) to get more accurate numbers at each step.

Reviewed by Gavin Barraclough.

  • WebCore.exp.in:
  • platform/MemoryPressureHandler.cpp:
  • platform/MemoryPressureHandler.h:

(WebCore::MemoryPressureHandler::ReliefLogger::ReliefLogger):
(WebCore::MemoryPressureHandler::ReliefLogger::~ReliefLogger):
(WebCore::MemoryPressureHandler::ReliefLogger::setLoggingEnabled):

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::ReliefLogger::platformMemoryUsage):

Source/WebKit2:
Plumb through the same setting that we used for detailed logging in WK1.

Reviewed by Gavin Barraclough.

  • Shared/WebProcessCreationParameters.cpp:

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

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

6:29 PM Changeset in webkit [169235] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Don't scan for phone numbers in editable regions
<rdar://problem/16949846> and https://bugs.webkit.org/show_bug.cgi?id=133192

Reviewed by Enrica Casucci.

No new tests (Currently untested WK2-only feature)

  • editing/Editor.cpp:

(WebCore::Editor::scanRangeForTelephoneNumbers): Skip the range if the Node is editable.

6:04 PM Changeset in webkit [169234] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Captions layout incorrectly in fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=133175

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-22
Reviewed by Eric Carlson.

When doing layout for fullscreen, geometry should be absolute so it is not influenced
by the rest of the page. This change adds style for CSSPropertyPosition, CSSPropertyLeft,
and CSSPropertyTop.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
Refactor style changes into updateStyleForTextTrackRepresentation().
(WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
Refactor style changes into updateStyleForTextTrackRepresentation().
(WebCore::MediaControlTextTrackContainerElement::clearTextTrackRepresentation):
Refactor style changes into updateStyleForTextTrackRepresentation().
(WebCore::MediaControlTextTrackContainerElement::updateStyleForTextTrackRepresentation):
Consolidate style changes here. Include the two existing and three new style changes.

  • html/shadow/MediaControlElements.h:

Declare updateStyleForTextTrackRepresentation().

5:40 PM Changeset in webkit [169233] by aestes@apple.com
  • 4 edits in trunk/Source/WebKit2

[iOS] Send shareable resources to QuickLook if enabled
https://bugs.webkit.org/show_bug.cgi?id=133189
<rdar://problem/17003995>

Reviewed by Brady Eidson.

Like we do for didReceiveData(), we need to pass an incoming ShareableResource to QuickLook if a QuickLook
handle exists.

  • Shared/ShareableResource.cpp:

(WebKit::ShareableResource::Handle::tryWrapInCFData): Return the shared resource in a CFDataRef.
(WebKit::ShareableResource::Handle::tryWrapInSharedBuffer): Implemented in terms of tryWrapInCFData().

  • Shared/ShareableResource.h:
  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResource): If a QuickLook handle exists, send the shareable resource to
it via a CFDataRef.

5:39 PM Changeset in webkit [169232] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Fix the compositing/transitions/transform-on-large-layer.html test
https://bugs.webkit.org/show_bug.cgi?id=133195

Reviewed by Dean Jackson.

This test used window resize when it doesn't need to and was flakey.

  • compositing/transitions/transform-on-large-layer.html:
  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
5:31 PM Changeset in webkit [169231] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.46

Create Safari-538.34.46 tag.

5:02 PM Changeset in webkit [169230] by dburkart@apple.com
  • 3 edits
    4 copies in branches/safari-537.77-branch

Merged r169007. <rdar://problem/16975427>

4:57 PM Changeset in webkit [169229] by Simon Fraser
  • 13 edits in trunk

REGRESSION (r155977): Very stuttery 3D css animation on jtechcommunications.com
https://bugs.webkit.org/show_bug.cgi?id=133179
<rdar://problem/16864666>

Reviewed by Dean Jackson.

Source/WebCore:

Revert code added in r155977 to try to pick a good contentsScale for layers
based on a root-relative transform. This resulted in pages with too much
backing store, and too many cases where layers repainted during animations,
causing stutter.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::flushCompositingState):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsOpaque):
(WebCore::GraphicsLayerCA::updateAnimations):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerCA::updateContentsScale):
(WebCore::clampedContentsScaleForScale): Deleted.
(WebCore::maxScaleFromTransform): Deleted.
(WebCore::GraphicsLayerCA::updateRootRelativeScale): Deleted.
(WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.h:

LayoutTests:

Rebaseline.

  • compositing/contents-scale/animating-expected.txt:
  • compositing/contents-scale/rounded-contents-scale-expected.txt:
  • compositing/contents-scale/scaled-ancestor-expected.txt:
  • compositing/contents-scale/simple-scale-expected.txt:
  • compositing/contents-scale/z-translate-expected.txt:
  • platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/mac/compositing/visible-rect/nested-transform-expected.txt:
4:50 PM Changeset in webkit [169228] by Lucas Forschler
  • 14 edits
    12 copies in branches/safari-537.77-branch

Merged r168915. <rdar://problem/16975506>

4:43 PM Changeset in webkit [169227] by dburkart@apple.com
  • 9 edits in branches/safari-537.77-branch/Source/WebCore

Merged r167856. <rdar://problem/16975541>

4:34 PM Changeset in webkit [169226] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-537.77-branch

Merged r168636. <rdar://problem/16975423>

3:43 PM Changeset in webkit [169225] by Lucas Forschler
  • 12 edits in branches/safari-537.77-branch/Source

Merged r166741. <rdar://problem/16975484>

3:08 PM Changeset in webkit [169224] by dburkart@apple.com
  • 2 edits in branches/safari-537.77-branch/Source/WebCore

Merged r167851. <rdar://problem/16975552>

2:46 PM Changeset in webkit [169223] by mhock@apple.com
  • 12 edits in trunk/Source

[iOS] Enable -apple-system- styled elements to respond to system font size changes.
https://bugs.webkit.org/show_bug.cgi?id=133186
<rdar://problem/16583782>

Reviewed by Enrica Casucci.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::_contentSizeCategory):
(WebCore::RenderThemeIOS::contentSizeCategory):
(WebCore::RenderThemeIOS::setContentSizeCategory):

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _contentSizeCategoryDidChange:]):
(-[WKWebView _contentSizeCategory]):

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

(WebKit::WebPageProxy::contentSizeCategoryDidChange):

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

(WebKit::WebPage::contentSizeCategoryDidChange):

2:45 PM Changeset in webkit [169222] by dburkart@apple.com
  • 5 edits in branches/safari-537.77-branch

Merged r168641. <rdar://problem/16975502>

2:40 PM Changeset in webkit [169221] by mark.lam@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION(r154797): Debugger crashes when stepping over an uncaught exception.
<https://webkit.org/b/133182>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
Before r154797, we used to clear the VM exception before calling into the
debugger. After r154797, we don't. This patch will restore this clearing
of the exception before calling into the debugger.

Also added assertions after returning from calls into the debugger to
ensure that the debugger did not introduce any exceptions.

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):
(JSC::Interpreter::unwind):
(JSC::Interpreter::debug):

  • Fixed the assertion here. Interpreter::debug() should never be called with a pending exception. Debugger callbacks for exceptions should be handled by Interpreter::unwind() and Interpreter::unwindCallFrame().

LayoutTests:

  • inspector-protocol/debugger/regress-133182-expected.txt: Added.
  • inspector-protocol/debugger/regress-133182.html: Added.
2:37 PM Changeset in webkit [169220] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-537.77-branch

Merged r167818. <rdar://problem/16975502>

2:35 PM Changeset in webkit [169219] by Lucas Forschler
  • 15 edits in branches/safari-537.77-branch/Source

Merged r167635. <rdar://problem/16975536>

2:16 PM Changeset in webkit [169218] by dburkart@apple.com
  • 4 edits in branches/safari-537.77-branch/Source/WebCore

Merged r167264. <rdar://problem/16975518>

2:11 PM Changeset in webkit [169217] by msaboff@apple.com
  • 2 edits in trunk/Tools

Add option to run-jsc-stress-tests to use installed jsc
https://bugs.webkit.org/show_bug.cgi?id=133102

Reviewed by Geoffrey Garen.

Added --no-copy option to not copy a JavaScriptCore framework, but use the one
provied with the --jsc option.

  • Scripts/run-jsc-stress-tests:
2:10 PM Changeset in webkit [169216] by dburkart@apple.com
  • 6 edits
    1 copy in branches/safari-537.77-branch

Merged r166628. <rdar://problem/16975444>

1:56 PM Changeset in webkit [169215] by dburkart@apple.com
  • 1 edit in branches/safari-537.77-branch/LayoutTests/ChangeLog

Fix borked ChangeLog merge from r169213.

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

[iOS] Add CFBundleAllowMixedLocalizations to WebContentService
https://bugs.webkit.org/show_bug.cgi?id=133187
<rdar://problem/16561084>

Reviewed by Tim Horton.

  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:

We already had it in WebContentService.Development, just not here.

1:14 PM Changeset in webkit [169213] by dburkart@apple.com
  • 6 edits
    2 copies in branches/safari-537.77-branch

Merged r166628.

1:00 PM Changeset in webkit [169212] by dburkart@apple.com
  • 3 edits in branches/safari-537.77-branch/Source/WebCore

Merged r165206.

12:37 PM Changeset in webkit [169211] by dburkart@apple.com
  • 2 edits in branches/safari-537.77-branch/Source/JavaScriptCore

Merged r165162.

12:06 PM Changeset in webkit [169210] by matthew_hanson@apple.com
  • 8 edits in branches/safari-538.34-branch/Source/WebCore

Merge r169209. <rdar://problem/16933311>

11:25 AM Changeset in webkit [169209] by jer.noble@apple.com
  • 8 edits in trunk/Source/WebCore

[MSE] Stored samples are not freed when SourceBuffer is removed from MediaSource
https://bugs.webkit.org/show_bug.cgi?id=133174

Reviewed by Eric Carlson.

Clear out stored MediaSamples from SourceBuffer's TrackBuffer storage when
aborting loading. Also, report the memory cost of those samples, so that the
SourceBuffer will be GCd more readily.

Add a mechanism for reporting the size of a MediaSample:

  • Modules/mediasource/SourceBuffer.h:
  • platform/MediaSample.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

Track the memory usage of a SampleMap when adding and removing samples, as well
as allowing the SampleMap to be cleared wholesale:

  • Modules/mediasource/SampleMap.cpp:

(WebCore::SampleMap::clear): Release all stored MediaSamples.
(WebCore::SampleMap::addSample): Update m_totalSize.
(WebCore::SampleMap::removeSample): Ditto.

  • Modules/mediasource/SampleMap.h:

(WebCore::SampleMap::SampleMap): Initialize m_totalSize.
(WebCore::SampleMap::sizeInBytes): Simple accessor.

Clear the stored samples when loading is aborted, and report the extra memory
cost

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::SourceBuffer): Initialize m_reportedExtraMemoryCost.
(WebCore::SourceBuffer::removedFromMediaSource): Clear all stored samples.
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Call reportExtraMemoryCost().
(WebCore::SourceBuffer::reportExtraMemoryCost): Inform the vm of the new

extra memory cost incurred by the object.

11:23 AM Changeset in webkit [169208] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Application cache is broken
https://bugs.webkit.org/show_bug.cgi?id=133172
<rdar://problem/16994593>

Reviewed by Andy Estes.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultApplicationCacheDirectory): Use a proper
path for application cache database (same as WebKit1).

11:03 AM Changeset in webkit [169207] by enrica@apple.com
  • 4 edits in trunk/Source

REGRESSION (WebKit2): Keyboard should have Search button in duckduckgo.com.
https://bugs.webkit.org/show_bug.cgi?id=133183
<rdar://problem/17004207>

Reviewed by Geoff Garen.

Source/WebCore:
Adding new export.

  • WebCore.exp.in:

Source/WebKit2:
The keyboard type should be search if the input type is search
or if it is text and it is inside a form with an action and either
name, id or title contain the word search. This matches the
heuristics we have in WK1 for iOS.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation):

10:09 AM Changeset in webkit [169206] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-537.77-branch

Merged r164950. <rdar://problem/16975484>

10:00 AM Changeset in webkit [169205] by Lucas Forschler
  • 3 edits in branches/safari-537.77-branch/Source/WebCore

Merged r157816. <rdar://problem/16975484>

9:50 AM Changeset in webkit [169204] by Lucas Forschler
  • 2 edits in branches/safari-537.77-branch/Source/WTF

Merged r157717. <rdar://problem/16975484>

9:23 AM Changeset in webkit [169203] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

REGRESSION(r163712): [GTK] Misspelling and grammar underline marks are no longer drawn
https://bugs.webkit.org/show_bug.cgi?id=133047

Reviewed by Darin Adler.

Change two conditions changed by mistake in r163712.

  • editing/TextCheckingHelper.cpp:

(WebCore::findMisspellings): Enter the loop also when wordStart is 0.
(WebCore::TextCheckingHelper::findFirstMisspelling): Skip the work
when the text is a single character. Also reworked it to use a for
loop to improve the readability.

8:51 AM Changeset in webkit [169202] by Michał Pakuła vel Rutka
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/editing/apply-style-iframe-crash-expected.txt: Added after r168641.
8:46 AM Changeset in webkit [169201] by Lucas Forschler
  • 9 edits
    2 deletes in branches/safari-537.77-branch/Source/WebCore

Merged r155315.

8:37 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
7:57 AM Changeset in webkit [169200] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Video is resumed with old playback rate.
https://bugs.webkit.org/show_bug.cgi?id=132905

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-22
Reviewed by Philippe Normand.

Source/WebCore:
Setting '0' playback rate is causing pipeline to pause.
GStreamer player impl. exposed this information to upper layers but it should not.
Solution is to hidden such situation behind m_playbackRatePause flag.

Test: media/video-paused-0-rate.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::play):
(WebCore::MediaPlayerPrivateGStreamer::pause):
(WebCore::MediaPlayerPrivateGStreamer::doSeek):
(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::paused):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

LayoutTests:

  • media/video-paused-0-rate-expected.txt: Added.
  • media/video-paused-0-rate.html: Added.
6:05 AM Changeset in webkit [169199] by Antti Koivisto
  • 6 edits
    4 adds in trunk

Text markers don't paint on simple lines
https://bugs.webkit.org/show_bug.cgi?id=133177

Reviewed by Anders Carlsson.

Source/WebCore:

Marker painting code does not yet support simple lines.

Tests: fast/text/mark-matches-rendering-simple-lines.html

fast/text/mark-matches-rendering.html

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addMarker):

Force text blocks with markers to use line boxes.

  • testing/Internals.cpp:

(WebCore::Internals::setMarkedTextMatchesAreHighlighted):

Expose this so we can make reftests for marker rendering.

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

LayoutTests:

  • fast/text/mark-matches-rendering-expected.html: Added.
  • fast/text/mark-matches-rendering-simple-lines-expected.html: Added.
  • fast/text/mark-matches-rendering-simple-lines.html: Added.
  • fast/text/mark-matches-rendering.html: Added.
5:16 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
5:16 AM Changeset in webkit [169198] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r168060 - [GStreamer] Use GstMetaVideo
https://bugs.webkit.org/show_bug.cgi?id=132247

Reviewed by Philippe Normand.

In WebKitVideoSink we announce the usage of GstMetaVideo, but we do
not use it when handling the video frames. This might break
some decoders and filters that rely on buffer's meta, rather
that in the caps structures.

This patch enables the use of GstMetaVideo through the GstVideoFrame
API. And it is used everywhere the buffer mapping is required.

Also this patch changes to nullptr where zeros were used.

Also, compile conditionally the video buffer conversion when it is
ARGB/BGRA, since it is only required for the Cairo backend.

No new tests, already covered by current tests.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::getVideoSizeAndFormatFromCaps): init the GstVideoInfo before
used and remove caps fixate check since it is done by
gst_video_info_from_caps().

  • platform/graphics/gstreamer/ImageGStreamer.h:
  • platform/graphics/gstreamer/ImageGStreamerCairo.cpp:

(ImageGStreamer::ImageGStreamer): use GstVideoFrame for buffer mapping
and unmapping.
(ImageGStreamer::~ImageGStreamer): ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): ditto.
(WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
return nullptr if failed.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkRender): rely on GstVideoInfo rather than on the
caps. Use GstVideoFrame for buffer mapping and unmapping. Add guards
for buffer transformation, since it's only used by Cairo.
(webkitVideoSinkDispose): remove glib version guards.
(webkitVideoSinkSetCaps): update the value of the private
GstVideoInfo.

5:01 AM Changeset in webkit [169197] by commit-queue@webkit.org
  • 1 edit
    8 adds
    2 deletes in trunk/LayoutTests

[CSS Grid Layout] Split the grid-item-margin-auto-columns-rows.html test.
https://bugs.webkit.org/show_bug.cgi?id=131064

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-05-22
Reviewed by Benjamin Poulain.

Splitting the "grid-item-margin-auto-columns-rows" into different writing-modes
related tests, so besides increasing clarity, it makes it fit in the 800x600 viewport.

  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-expected.html: Removed.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows.html: Removed.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr-expected.html: Added.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr.html: Added.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl-expected.html: Added.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl.html: Added.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr-expected.html: Added.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr.html: Added.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl-expected.html: Added.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl.html: Added.
5:00 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
4:59 AM Changeset in webkit [169196] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4

Merge r169112 - [GTK] WebKitWebPage::send-request always pass a valid pointer for redirected response
https://bugs.webkit.org/show_bug.cgi?id=133119

Reviewed by Sergio Villar Senin.

Source/WebKit2:
The problem is that we were checking whether the passed in
WKURLResponseRef is NULL or not, but it's always a valid object
that can contain a NULL WebCore::ResourceResponse.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(willSendRequestForFrame): Pass NULL as redirect-response
parameter of WebKitWebPage::send-request signal when the
WebCore::ResourceResponse of the passed in WKURLResponseRef is NULL.

Tools:
Check that redirect response parameter of
WebKitWebPage::send-request signal is NULL when not redirecting
and a valid WebKitURIResponse object when redirecting.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebResourceSendRequest):
(serverCallback):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(sendRequestCallback):

4:54 AM Changeset in webkit [169195] by Manuel Rego Casasnovas
  • 3 edits in trunk/Source/WebCore

[CSS Grid Layout] Guard RenderObject::isRenderGrid() method
https://bugs.webkit.org/show_bug.cgi?id=132380

Reviewed by Benjamin Poulain.

Guard RenderObject::isRenderGrid() method under ENABLE_CSS_GRID_LAYOUT compilation flag.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalWidthInRegion):

  • rendering/RenderObject.h:
3:53 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
3:52 AM Changeset in webkit [169194] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4

[Stable] Typo in ReadCommandLineArguments.m4
https://bugs.webkit.org/show_bug.cgi?id=132816

Patch by Milan Crha <mcrha@redhat.com> on 2014-05-22
Reviewed by Carlos Garcia Campos.

  • Source/autotools/ReadCommandLineArguments.m4:
3:37 AM Changeset in webkit [169193] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Merge r169094 - operationOptimize() should defer the GC for a while.
<https://webkit.org/b/133103>

Reviewed by Filip Pizlo.

Currently, operationOptimize() only defers the GC until its end. As a result,
a GC may be triggered just before we return from operationOptimize(), and it may
jettison the optimize codeBlock that we're planning to OSR enter into when we
return from this function. This is because the OSR entry on-ramp code hasn't
been executed yet, and hence, there is not yet a reference to this new codeBlock
from the stack, and there won't be until we've had a chance to return out of
operationOptimize() to run the OSR entry on-ramp code.

This issue is now fixed by using DeferGCForAWhile instead of DeferGC. This
ensures that the GC will be deferred until after the OSR entry on-ramp can be
executed.

  • jit/JITOperations.cpp:
2:52 AM Changeset in webkit [169192] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r168460 - Dragging text from one paragraph to another does not render as expected
https://bugs.webkit.org/show_bug.cgi?id=132633

Reviewed by Darin Adler and Ryosuke Niwa.

Source/WebCore:
When we are dragging and dropping into a content editable field, we detect
if we are trying to put a <p> into an existing <p>, and if so, split the
outer <p> and insert the new <p> as its sibling. However, the outer <p>
might not be editable, so we don't want to do any splitting and inserting
at that location.

Test: editing/pasteboard/drag-drop-paragraph-crasher.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):

LayoutTests:
The problem occurs when dragging text that includes a <p> into an editable
area that has a <p> as a parent.

  • editing/pasteboard/drag-drop-paragraph-crasher-expected.txt: Added.
  • editing/pasteboard/drag-drop-paragraph-crasher.html: Added.
2:22 AM WebKitGTK/2.4.x edited by vjaquez@igalia.com
fix style (diff)
2:15 AM WebKitGTK/2.4.x edited by vjaquez@igalia.com
add "[GStreamer] Use GstMetaVideo" (diff)
1:09 AM Changeset in webkit [169191] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Tools

Unreviewed. Fix the build after r168707.

  • Scripts/webkitdirs.pm:

(buildAutotoolsProject): Fix merge conflicts not handled in r168707.

May 21, 2014:

11:44 PM Changeset in webkit [169190] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

[Win64] Unreviewed build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Corrected 64-bit linker symbol.

11:12 PM Changeset in webkit [169189] by Antti Koivisto
  • 6 edits
    2 adds in trunk

REGRESSION(r167870): Crash in simple line layout code with :after
https://bugs.webkit.org/show_bug.cgi?id=133155

Source/WebCore:
<rdar://problem/16977696>

Reviewed by Darin Adler.

Fix https://bugs.webkit.org/show_bug.cgi?id=132241 in a safer way.
The underline behavior is tested by the existing fast/text/simple-lines-hover-underline.html

Test: fast/text/simple-lines-hover-after.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::invalidateLineLayoutPath): Deleted.

Move to RenderBlockFlow.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::invalidateLineLayoutPath):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::styleDidChange):

Invalidate layout if style changes in a manner that makes us ineligible to use the simple line layout path.

(WebCore::RenderBlockFlow::invalidateLineLayoutPath):

Drop the simple line layout on path invalidation if it exists. It may not be valid anymore.
Also invalidate the layout if this happens so we'll reconstruct the lines later.

(WebCore::RenderBlockFlow::simpleLineLayout): Deleted.
(WebCore::RenderBlockFlow::ensureLineBoxes):
(WebCore::RenderBlockFlow::createLineBoxes): Deleted.

Revert some of the changes made it r167870.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::simpleLineLayout):

Add strong validity assert.

LayoutTests:

Reviewed by Darin Adler.

  • fast/text/simple-lines-hover-after-expected.html: Added.
  • fast/text/simple-lines-hover-after.html: Added.
9:11 PM Changeset in webkit [169188] by fpizlo@apple.com
  • 8 edits
    5 adds in branches/ftlopt

[ftlopt] DFG::clobberize should be blind to the effects of GC
https://bugs.webkit.org/show_bug.cgi?id=133166

Source/JavaScriptCore:
Reviewed by Goeffrey Garen.

Move the computation of where GCs happen to DFG::doesGC().

Large (>5x) speed-up on programs that do loop-invariant string concatenations.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractHeap.h:
  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):
(JSC::DFG::clobberizeForAllocation): Deleted.

  • dfg/DFGDoesGC.cpp: Added.

(JSC::DFG::doesGC):

  • dfg/DFGDoesGC.h: Added.
  • dfg/DFGStoreBarrierElisionPhase.cpp:

(JSC::DFG::StoreBarrierElisionPhase::handleNode):
(JSC::DFG::StoreBarrierElisionPhase::couldCauseGC): Deleted.

LayoutTests:
Reviewed by Geoffrey Garen.

  • js/regress/hoist-make-rope-expected.txt: Added.
  • js/regress/hoist-make-rope.html: Added.
  • js/regress/script-tests/hoist-make-rope.js: Added.

(foo):

8:52 PM Changeset in webkit [169187] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

8:25 PM Changeset in webkit [169186] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.45

New Tag.

6:55 PM Changeset in webkit [169185] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

Merge trunk r169184 to ftlopt.

2014-05-21 Filip Pizlo <fpizlo@apple.com>


Store barrier elision should run after DCE in both the DFG path and the FTL path
https://bugs.webkit.org/show_bug.cgi?id=129718


Rubber stamped by Mark Hahnenberg.


  • dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl):
6:36 PM Changeset in webkit [169184] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Store barrier elision should run after DCE in both the DFG path and the FTL path
https://bugs.webkit.org/show_bug.cgi?id=129718

Rubber stamped by Mark Hahnenberg.

  • dfg/DFGPlan.cpp:

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

6:18 PM Changeset in webkit [169183] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] two media control button strings are not localized
https://bugs.webkit.org/show_bug.cgi?id=133160

Reviewed by Geoffrey Garen.

  • English.lproj/mediaControlsLocalizedStrings.js:
5:56 PM Changeset in webkit [169182] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-538.36/Source/WebKit2

Merge r169180. <rdar://problem/16982059>

5:12 PM Changeset in webkit [169181] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk

[EFL] Add include path of compact_unwind_encoding.h if FTL JIT is enabled
https://bugs.webkit.org/show_bug.cgi?id=132907

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-21
Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/FindLIBCXXABI.cmake: Added.
  • Source/cmake/OptionsEfl.cmake:

Source/JavaScriptCore:

  • CMakeLists.txt:

Tools:
We need the mach-o/compact_unwind_encoding.h header from libc++abi-dev package
in JavaScriptCore/ftl/FTLUnwindInfo.cpp when FTL JIT is enabled.

  • efl/install-dependencies:
5:11 PM Changeset in webkit [169180] by oliver@apple.com
  • 2 edits in trunk/Source/WebKit2

Only enable sandbox extensions on mac.

3:03 PM Changeset in webkit [169179] by dburkart@apple.com
  • 7 edits in branches/safari-538.34-branch/Source

Merged r169151.

2:50 PM Changeset in webkit [169178] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Unreviewed Mac gardening after r169161.

  • platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
2:35 PM Changeset in webkit [169177] by dino@apple.com
  • 2 edits
    1 add in trunk/Source/WebCore

[iOS] Update some of the media controls buttons to be bigger
https://bugs.webkit.org/show_bug.cgi?id=133158
<rdar://problem/16475828>

Reviewed by Simon Fraser.

The buttons in the media controls on iOS are too small
to be comfortably pressed. Make them the size of the controls
panel and the expected iOS button size (44x44px).

The artwork for the buttons now includes the padding. I've
added a file from which you can edit the artwork, then
copy it into the CSS (because editing directly in CSS is
a huge pain).

So far just the play/pause and fullscreen button have been
updated. There will be a follow-up patch to fix the remaining
buttons and the scrubber.

  • Modules/mediacontrols/assets-apple-iOS.svg: Added.
  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button:active):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-fullscreen-button:active):
(@media only screen and (-webkit-min-device-pixel-ratio: 2)): Deleted.

1:52 PM Changeset in webkit [169176] by oliver@apple.com
  • 5 edits
    2 adds in trunk/Source/WebKit2

[iOS] Enable sandboxing for the database process
https://bugs.webkit.org/show_bug.cgi?id=132963

Reviewed by Alexey Proskuryakov.

Simply ensure that the database process is running in a tight
sandbox. As part of this i've separated out ChildProcessIOS
and ensures that the database process loads a custom sandbox.

  • Configurations/WebKit.xcconfig:
  • DatabaseProcess/ios/DatabaseProcessIOS.mm:

(WebKit::DatabaseProcess::initializeSandbox):

  • DatabaseProcess/ios/com.apple.WebKit.DatabasesIOS.sb: Added.
  • Shared/ios/ChildProcessIOS.mm: Added.

Essentially cloned from the Mac version, only all the OSX
specific logic has been stripped.
(WebKit::ChildProcess::setApplicationIsDaemon):
(WebKit::ChildProcess::platformInitialize):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::setQOS):

  • Shared/mac/ChildProcessMac.mm:

Remove all the IOS ifdefs.
(WebKit::ChildProcess::setApplicationIsDaemon):
(WebKit::ChildProcess::platformInitialize):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::setQOS):

  • WebKit2.xcodeproj/project.pbxproj:
1:39 PM Changeset in webkit [169175] by aestes@apple.com
  • 17 edits
    1 copy
    1 add in trunk/Source/WebKit2

[iOS] Create a UIPrintFormatter for WKWebView
https://bugs.webkit.org/show_bug.cgi?id=133005

Reviewed by Tim Horton.

Implemented a UIPrintFormatter subclass to support printing WKWebViews using UIPrintInteractionController.
Overrode -_recalcPageCount: to synchronously ask the web process to lay out for printing and return the number
of page rects. The web process returns the page rects immediately and then starts rendering the page to a PDF,
returning the PDF data to the UI process asynchronously. When UIPrintInteractionController later calls our
overridden -drawInRect:forPageAtIndex:, we block and wait for the PDF data to be returned. Since
UIPrintInteractionController draws each page after a delay, it's possible that the web process has already
returned the PDF data to us by the time we print the first page.

  • Shared/WebPreferencesStore.h: Correctly initialized shouldPrintBackgrounds for iOS.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _dataForDisplayedPDF]): Now that WKPDFView vends its CGPDFDocument directly, extract its data here.
(-[WKWebView _printFormatterClass]): Tell UIView which UIPrintFormatter to alloc.
(-[WKWebView _computePageCountAndStartDrawingToPDFWithPrintInfo:WebKit::firstPage:computedTotalScaleFactor:]):
If we're displaying a PDF, return its page count directly. Otherwise, synchronously ask the web process to
compute page rects for printing and then return the number of rects.
(-[WKWebView _endPrinting]): Cleared state and sent the WebPage::EndPrinting message to the web process.
(-[WKWebView _printedDocument]): If we're displaying a PDF, return its data directly. Otherwise, if we haven't
received PDF data from the web process yet, wait for it indefinitely (there's no sensible timeout to use here
since failing to receive the data results in printing some number of blank pages).
(-[WKWebView _setPrintedDocument:]): Set the CGPDFDocument received from the web process.

  • UIProcess/API/Cocoa/WKWebViewInternal.h: Declared methods called by WKWebViewPrintFormatter.
  • UIProcess/PageClient.h: Declared didFinishDrawingPagesToPDF.
  • UIProcess/WKWebViewPrintFormatter.h: Added.
  • UIProcess/WKWebViewPrintFormatter.mm: Added.

(-[WKWebViewPrintFormatter dealloc]): Cleared state and called -[WKWebView _endPrinting].
(-[WKWebViewPrintFormatter webView]): Returned the WKWebView for this print formatter.
(-[WKWebViewPrintFormatter _recalcPageCount]): Set up a PrintInfo object given the formatter's content rect
and called -_computePageCountAndStartDrawingToPDFWithPrintInfo:...
(-[WKWebViewPrintFormatter rectForPageAtIndex:]): Called -_recalcIfNecessary and then returned the rect from
-_pageContentRect.
(-[WKWebViewPrintFormatter drawInRect:forPageAtIndex:]): Taught to draw the given page of the printed PDF
document into the given rect and context provided to us.

  • UIProcess/WebPageProxy.h: Declared didFinishDrawingPagesToPDF.
  • UIProcess/WebPageProxy.messages.in: Added DidFinishDrawingPagesToPDF. Made this a delayed syncrhonous message

so that additoinal work could be performed after sending the response.

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

(WebKit::PageClientImpl::didFinishDrawingPagesToPDF): Created a CGPDFDocument from the data sent to us by the
web process and called -[WKWebView _setPrintedDocument:].

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

(-[WKPDFView pdfDocument]): Returned the underlying CGPDFDocument.
(-[WKPDFView documentData]): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didFinishDrawingPagesToPDF):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::computePagesForPrinting): Changed to call computePagesForPrintingImpl.
(WebKit::WebPage::computePagesForPrintingImpl): Moved the common logic of computePagesForPrinting to here so it
could be called by computePagesForPrintingAndStartDrawingToPDF.
(WebKit::WebPage::drawPagesToPDF): Changed to call drawPagesToPDFImpl
(WebKit::WebPage::drawPagesToPDFImpl): Moved the common logic of drawPagesToPDF to here so it could be called
by computePagesForPrintingAndStartDrawingToPDF.

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

(WebKit::WebPage::computePagesForPrintingAndStartDrawingToPDF): Computed page rects and returned them as a
synchronous response. Afterwards called drawPagesToPDFImpl() and returned the PDF data by sending
WebPageProxy::DidFinishDrawingPagesToPDF.

12:48 PM Changeset in webkit [169174] by Lucas Forschler
  • 7 edits in tags/Safari-538.36/Source

Merged r169151.

12:45 PM Changeset in webkit [169173] by roger_fong@apple.com
  • 7 edits in trunk/LayoutTests

Unreviewed. Actually enable snapshot tests on mac wk2.

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

  • platform/mac-wk1/TestExpectations: Skip them here.
  • platform/mac/TestExpectations: Unskip them here.

Some slight modifications to some of the tests to reduce flakiness of tests.

  • plugins/snapshotting/autoplay-dominant.html:
  • plugins/snapshotting/autoplay-plugin-blocked-by-image.html:
  • plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image.html:
  • plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:
11:22 AM Changeset in webkit [169172] by Michał Pakuła vel Rutka
  • 7 edits in trunk

[EFL] Turn on ENABLE_CSS_FILTERS
https://bugs.webkit.org/show_bug.cgi?id=133153

Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/OptionsEfl.cmake: Enable CSS_FILTERS as default option value.

Source/WebKit2:
Make WebKit2 compile after r166741 when CSS_FILTERS are enabled.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::FilterOperations>::decode):

LayoutTests:
Remove failure test expectations for tests passing after turning on CSS_FILTERS.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
11:18 AM Changeset in webkit [169171] by dburkart@apple.com
  • 5 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r169170.

10:37 AM Changeset in webkit [169170] by beidson@apple.com
  • 5 edits in trunk/Source/WebKit2

Special handling of telephone number detection menu.
<rdar://problem/16967971> and https://bugs.webkit.org/show_bug.cgi?id=133143

Reviewed by Geoff Garen.

Add a bool to ContextMenuContextData to represent telephone number menus:

  • Shared/ContextMenuContextData.cpp:

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

  • Shared/ContextMenuContextData.h:

(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::isTelephoneNumberContext):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::showContextMenu): If the menu is a telephone

number menu then display it using a specific AppKit API.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::showTelephoneNumberMenu): Filter the array of menu items

through a new WKSI call, and then show it using a telephone number context.

10:30 AM Changeset in webkit [169169] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

10:22 AM Changeset in webkit [169168] by bshafiei@apple.com
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

10:04 AM Changeset in webkit [169167] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

[Mac] REGRESSION (Async text input): Asian text input doesn't work in Flash
https://bugs.webkit.org/show_bug.cgi?id=133128
<rdar://problem/16890920>

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _interpretKeyEvent:completionHandler:]): Added a separate code path for
plug-in input. Before async text input, we used to provide a nil input context due
to having _data->_interpretKeyEventsParameters while this function was executing,
and thus took a shortcut. The new behavior is different from pre-async in that
we don't collect commands at all, but I couldn't find any case where that mattered.
(-[WKView inputContext]): The _collectedKeypressCommands check was not a correct
replacement for _interpretKeyEventsParameters one, because this variable is not
always set within -_interpretKeyEvent:completionHandler:.

  • UIProcess/mac/WKTextInputWindowController.mm:

(-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
While at it, fixed a separate issue with Cangjie predictive input. We shouldn't
keep prediction pop-up on screen after hiding the bottom input window.

9:56 AM Changeset in webkit [169166] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Unreviewed Mac gardening after r169161.

  • platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
9:39 AM Changeset in webkit [169165] by Martin Robinson
  • 16 edits in trunk

[CMake] Improve handling of LIB_INSTALL_DIR, EXEC_INSTALL_DIR, and LIBEXEC_INSTALL_DIR
https://bugs.webkit.org/show_bug.cgi?id=132819

Reviewed by Carlos Garcia Campos.

.:

  • CMakeLists.txt: Hard-code CMAKE_ARCHIVE_OUTPUT_DIRECTORY etc, so that we can accept absolute paths for LIB_INSTALL_DIR

and friends.

  • Source/cmake/OptionsCommon.cmake: Get rid of LIB_SUFFIX and try to make all path variables absolute. Also set

CMAKE_ARCHIVE_OUTPUT_DIRECTORY, etc using the last path component of LIB_INSTALL_DIR, etc, so that absolute paths
are supported.

  • Source/cmake/OptionsGTK.cmake: Ditto. Also get rid of all pkg-config specific variables.

Source/JavaScriptCore:

  • javascriptcoregtk.pc.in: Instead of using the special pkg-config variables,

use the common CMake ones directly.

Source/WebKit/efl:

  • EWebKitConfig.cmake.in: LIB_INSTALL_DIR is always absolute now, so we don't need

to prefix it with the prefix.

  • ewebkit.pc.in: Instead of hard-coding the path to the library installation directory use LIB_INSTALL_DIR.

Source/WebKit2:

  • PlatformEfl.cmake: No need to prefix EXEC_INSTALL_DIR with the prefix any longer.
  • PlatformGtk.cmake: No longer use CMAKE_INSTALL_FULL_FOO variables, instead using the WebKit-specific ones.
  • efl/EWebKit2Config.cmake.in: Ditto.
  • efl/ewebkit2.pc.in: Instead of hard-coding the path to the library installation directory use LIB_INSTALL_DIR.
  • webkit2gtk-web-extension.pc.in: No longer use the pkg-config only variables. Instead use

the common CMake ones.

  • webkit2gtk.pc.in: Ditto.
9:33 AM Changeset in webkit [169164] by fpizlo@apple.com
  • 6 edits in trunk

Unreviewed, roll out http://trac.webkit.org/changeset/169159.

This was a unilateral change and wasn't properly reviewed.

PerformanceTests/SunSpider:

  • profiler-test.yaml:

Source/JavaScriptCore:

  • tests/mozilla/mozilla-tests.yaml:

LayoutTests:

  • js/script-tests/function-apply-many-args.js:
9:19 AM Changeset in webkit [169163] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r168625): [GTK] Assertion failure in LocalStorageDatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=133118

Reviewed by Philippe Normand.

Call WebContext::applyPlatformSpecificConfigurationDefaults() to
initialize the WebContextConfiguration before creating the default WebContext.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

9:14 AM Changeset in webkit [169162] by graouts@webkit.org
  • 7 edits in trunk

Array.prototype.find and findIndex should skip holes
https://bugs.webkit.org/show_bug.cgi?id=132658

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
Skip holes in the array when iterating such that callback isn't called.

  • builtins/Array.prototype.js:

(find):
(findIndex):

LayoutTests:

  • js/array-find-expected.txt:
  • js/array-findIndex-expected.txt:
  • js/script-tests/array-find.js:
  • js/script-tests/array-findIndex.js:
9:06 AM Changeset in webkit [169161] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

Garbage when rubber-banding at the right edge of a page zoomed to non-integral scale.
https://bugs.webkit.org/show_bug.cgi?id=133139
<rdar://problem/16503353>

Reviewed by Simon Fraser.

Do not pixel align the root content layer. The alignment code expands the graphics's layer size
which makes the right and bottom tiles bigger than the content.
Painting the body's background color produces pixel cracks, because the content can not
fill the expanded tiles completely.

Not testable.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::needsPixelAligment):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment):

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

(WebCore::TileGrid::rectForTileIndex):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::needsPixelAligment):

  • rendering/RenderLayerBacking.h:
8:31 AM Changeset in webkit [169160] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

REGRESSION (r168046): Invalid layout in WebCore::RenderBox::containingBlockLogicalWidthForPositioned
https://bugs.webkit.org/show_bug.cgi?id=132933

Reviewed by Darin Adler.

Source/WebCore:
Invalid layout is performed when calling containingBlockLogicalWidthForPositioned for a RenderTableSection object.

Test: fast/multicol/newmulticol/table-section-crash.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):

LayoutTests:
Added test for crash caused by invalid layout for RenderTableSection.

  • fast/multicol/newmulticol/table-section-crash-expected.txt: Added.
  • fast/multicol/newmulticol/table-section-crash.html: Added.
7:56 AM Changeset in webkit [169159] by commit-queue@webkit.org
  • 6 edits in trunk

REGRESSION(r169092 and r169102): Skip failing JSC tests on ARM64 properly
https://bugs.webkit.org/show_bug.cgi?id=133149

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-21
Reviewed by Csaba Osztrogonác.

PerformanceTests/SunSpider:

  • profiler-test.yaml:

Source/JavaScriptCore:

  • tests/mozilla/mozilla-tests.yaml:

LayoutTests:

  • js/script-tests/function-apply-many-args.js:
7:43 AM Changeset in webkit [169158] by Michał Pakuła vel Rutka
  • 36 edits in trunk/LayoutTests

Unreviewed EFL gardening

Rebaseline test expectations after r169048.

  • platform/efl/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/efl/css1/text_properties/text_indent-expected.txt:
  • platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/efl/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/efl/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
  • platform/efl/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
  • platform/efl/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
  • platform/efl/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
  • platform/efl/css2.1/t1601-c547-indent-00-b-a-expected.txt:
  • platform/efl/fast/block/float/026-expected.txt:
  • platform/efl/fast/block/float/028-expected.txt:
  • platform/efl/fast/css/empty-pseudo-class-expected.txt:
  • platform/efl/fast/css/first-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/first-of-type-pseudo-class-expected.txt:
  • platform/efl/fast/css/last-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/last-of-type-pseudo-class-expected.txt:
  • platform/efl/fast/css/only-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/only-of-type-pseudo-class-expected.txt:
  • platform/efl/fast/line-grid/line-align-left-edges-expected.txt:
  • platform/efl/fast/multicol/column-count-with-rules-expected.txt:
  • platform/efl/fast/multicol/float-multicol-expected.txt:
  • platform/efl/fast/multicol/layers-in-multicol-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-multicol-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-1-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-10-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-2-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-3-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-4-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-5-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-6-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-7-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-8-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/efl/fast/text/whitespace/024-expected.txt:
6:08 AM Changeset in webkit [169157] by gns@gnome.org
  • 2 edits in trunk

[CMake] Support building with Debug Fission
https://bugs.webkit.org/show_bug.cgi?id=131177

Reviewed by Philippe Normand.

  • Source/cmake/OptionsCommon.cmake: add a DEBUG_FISSION option to enable usage

of http://gcc.gnu.org/wiki/DebugFission.

5:01 AM Changeset in webkit [169156] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

REGRESSION(r169092): It broke run-jsc-stress tests on non Mac platforms
https://bugs.webkit.org/show_bug.cgi?id=133145

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-21
Reviewed by Csaba Osztrogonác.

  • Scripts/run-jsc-stress-tests:
4:55 AM Changeset in webkit [169155] by jinwoo7.song@samsung.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed EFL gardening.

  • platform/efl/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.

Rebaseline after r169048.

4:03 AM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
2:28 AM Changeset in webkit [169154] by berto@igalia.com
  • 2 edits
    1 add in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-21

  • platform/gtk/TestExpectations: Report and mark new tests failing.
  • platform/gtk/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.

Rebaseline after r169048.

2:11 AM Changeset in webkit [169153] by simon.pena@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Ensure EGLOffScreenContext::initialize calls platformMakeCurrent on the surface
https://bugs.webkit.org/show_bug.cgi?id=124832

Reviewed by Antonio Gomes.

The original code was only calling platformMakeCurrent when the
GL_EXT_robustness extension is supported: the alternate code path
would only create a context, but it wouldn't make that context
current. This patch ensures platformMakeCurrent is also called for
the alternate code path, and, if it fails to make the context
current, will destroy the context. Effectively, this makes both
code paths behave in the same way.

  • platform/graphics/surfaces/egl/EGLContext.cpp:

(WebCore::EGLOffScreenContext::initialize):

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

[WebKit2] Cleanup the build from unused variable in WebProcess module
https://bugs.webkit.org/show_bug.cgi?id=133062

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-05-21
Reviewed by Csaba Osztrogonác.

Fix unused parameter by using UNUSED_PARAM macro

  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserScriptMessageHandlers):
(WebKit::WebUserContentController::removeUserScriptMessageHandler):

May 20, 2014:

11:55 PM Changeset in webkit [169151] by ggaren@apple.com
  • 7 edits in trunk/Source

Rolled out <http://trac.webkit.org/changeset/166184>
https://bugs.webkit.org/show_bug.cgi?id=133144

Reviewed by Gavin Barraclough.

It caused a performance regression.

../JavaScriptCore:

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::blockFreeingThreadStartFunc):

../WTF:

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::runScavengerThread):

  • wtf/Threading.h:
  • wtf/ThreadingPthreads.cpp:

(WTF::createThreadInternal):
(WTF::setCurrentThreadQOSUtility): Deleted.

  • wtf/ThreadingWin.cpp:

(WTF::setCurrentThreadQOSUtility): Deleted.

11:01 PM Changeset in webkit [169150] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

10:58 PM Changeset in webkit [169149] by Lucas Forschler
  • 1 copy in tags/Safari-538.36

New Tag.

10:16 PM Changeset in webkit [169148] by fpizlo@apple.com
  • 10 edits
    1 add in branches/ftlopt/Source/JavaScriptCore

[ftlopt] A StructureSet with one element should only require one word and no allocation
https://bugs.webkit.org/show_bug.cgi?id=133014

Reviewed by Oliver Hunt.

This makes it more efficient to use StructureSet in situations where the common case is
just one structure.

I also took the opportunity to use the same set terminology we use in BitVector: merge,
filter, exclude, contains, etc.

Eventually, this will be used to implement StructureAbstractValue as well.

(JSC::StructureSet::StructureSet):
(JSC::StructureSet::operator=):
(JSC::StructureSet::clear):
(JSC::StructureSet::add):
(JSC::StructureSet::remove):
(JSC::StructureSet::contains):
(JSC::StructureSet::merge):
(JSC::StructureSet::filter):
(JSC::StructureSet::exclude):
(JSC::StructureSet::isSubsetOf):
(JSC::StructureSet::overlaps):
(JSC::StructureSet::operator==):
(JSC::StructureSet::speculationFromStructures):
(JSC::StructureSet::arrayModesFromStructures):
(JSC::StructureSet::dumpInContext):
(JSC::StructureSet::dump):
(JSC::StructureSet::addOutOfLine):
(JSC::StructureSet::containsOutOfLine):
(JSC::StructureSet::copyFrom):
(JSC::StructureSet::OutOfLineList::create):
(JSC::StructureSet::OutOfLineList::destroy):

  • bytecode/StructureSet.h:

(JSC::StructureSet::StructureSet):
(JSC::StructureSet::~StructureSet):
(JSC::StructureSet::onlyStructure):
(JSC::StructureSet::isEmpty):
(JSC::StructureSet::size):
(JSC::StructureSet::at):
(JSC::StructureSet::operator[]):
(JSC::StructureSet::last):
(JSC::StructureSet::OutOfLineList::list):
(JSC::StructureSet::OutOfLineList::OutOfLineList):
(JSC::StructureSet::deleteStructureListIfNecessary):
(JSC::StructureSet::isThin):
(JSC::StructureSet::pointer):
(JSC::StructureSet::singleStructure):
(JSC::StructureSet::structureList):
(JSC::StructureSet::set):
(JSC::StructureSet::clear): Deleted.
(JSC::StructureSet::add): Deleted.
(JSC::StructureSet::addAll): Deleted.
(JSC::StructureSet::remove): Deleted.
(JSC::StructureSet::contains): Deleted.
(JSC::StructureSet::containsOnly): Deleted.
(JSC::StructureSet::isSubsetOf): Deleted.
(JSC::StructureSet::overlaps): Deleted.
(JSC::StructureSet::singletonStructure): Deleted.
(JSC::StructureSet::speculationFromStructures): Deleted.
(JSC::StructureSet::arrayModesFromStructures): Deleted.
(JSC::StructureSet::operator==): Deleted.
(JSC::StructureSet::dumpInContext): Deleted.
(JSC::StructureSet::dump): Deleted.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::emitPrototypeChecks):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToStructureTransitionWatchpoint):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::noticeStructureCheck):

9:59 PM Changeset in webkit [169147] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.44

New Tag.

9:08 PM Changeset in webkit [169146] by Brent Fulgham
  • 11 edits in trunk/Source/WebCore

[Mac] DataCues do not work properly when rewinding video
https://bugs.webkit.org/show_bug.cgi?id=133138
<rdar://problem/16979086>

Reviewed by Eric Carlson.

Make the TrackPrivateBase responsible for knowing if a type of track needs a non-zero
startTimeVariance value.

Also, correct a bug in the equality test for DataCue objects.

  • html/track/DataCue.cpp:

(WebCore::DataCue::isEqual): Handle the JSValue data types consistently, so that we don't attempt
to compare a JSNull against a default JSValue object.

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::startTimeVariance): Added.

  • html/track/InbandTextTrack.h:
  • html/track/TextTrack.cpp:

(WebCore::TextTrack::hasCue): Use new startTimeVariance method location.

  • html/track/TextTrack.h:

(WebCore::TextTrack::startTimeVariance): Added.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::hasEquivalentStartTime): Use new startTimeVariance location.

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::startTimeVariance): Deleted.

  • html/track/TextTrackCueGeneric.h:
  • platform/graphics/TrackPrivateBase.h:

(WebCore::TrackPrivateBase::startTimeVariance): Added.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
8:49 PM Changeset in webkit [169145] by fpizlo@apple.com
  • 6 edits
    1 add in trunk/Source/JavaScriptCore

DFG prediction propagation should agree with fixup phase over the return type of GetByVal
https://bugs.webkit.org/show_bug.cgi?id=133134

Reviewed by Mark Hahnenberg.

Make prediction propagator use ArrayMode refinement to decide the return type.

Also introduce a heap prediction intrinsic that allows us to test weird corner cases
like this. The only way we'll see a mismatch like this in the real world is probably
through a gnarly race condition.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGNode.h:

(JSC::DFG::Node::setHeapPrediction):

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionFalse1):
(functionFalse2):
(functionUndefined1):
(functionUndefined2):
(functionFalse): Deleted.
(functionOtherFalse): Deleted.
(functionUndefined): Deleted.

  • runtime/Intrinsic.h:
  • tests/stress/get-by-val-double-predicted-int.js: Added.

(foo):

6:55 PM Changeset in webkit [169144] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.34.9

New tag.

5:44 PM Changeset in webkit [169143] by fpizlo@apple.com
  • 42 edits
    1 copy
    14 adds in branches/ftlopt

[ftlopt] DFG bytecode parser should turn GetById with nothing but a Getter stub as stuff+handleCall, and handleCall should be allowed to inline if it wants to
https://bugs.webkit.org/show_bug.cgi?id=133105

Reviewed by Michael Saboff.

Source/JavaScriptCore:

  • GetByIdStatus now knows about getters and can report intelligent things about them. As is usually the case with how we do these things, GetByIdStatus knows more about getters than the DFG can actually handle: it'll report details about polymorphic getter calls even though the DFG won't be able to handle those. This is fine; the DFG will see those statuses and bail to a generic slow path.


  • The DFG::ByteCodeParser now knows how to set up and do handleCall() for a getter call. This can, and usually does, result in inlining of getters!


  • CodeOrigin and OSR exit know about inlined getter calls. When you OSR out of an inlined getter, we set the return PC to a getter return thunk that fixes up the stack. We use the usual offset-true-return-PC trick, where OSR exit places the true return PC of the getter's caller as a phony argument that only the thunk knows how to find.


  • Removed a bunch of dead monomorphic chain support from StructureStubInfo.


  • A large chunk of this change is dragging GetGetterSetterByOffset, GetGetter, and GetSetter through the DFG and FTL. GetGetterSetterByOffset is like GetByOffset except that we know that we're returning a GetterSetter cell. GetGetter and GetSetter extract the getter, or setter, from the GetterSetter.


This is a ~2.5x speed-up on the getter microbenchmarks that we already had. So far none
of the "real" benchmarks exercise getters enough for this to matter. But I noticed that
some of the variants of the Richards benchmark in other languages - for example
Wolczko's Java translation of a C++ translation of Deutsch's Smalltalk version - use
getters and setters extensively. So, I created a getter/setter JavaScript version of
Richards and put it in regress/script-tests/getter-richards.js. That sees about a 2.4x
speed-up from this patch, which is very reassuring.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::findStubInfo):

  • bytecode/CodeBlock.h:
  • bytecode/CodeOrigin.cpp:

(WTF::printInternal):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::specializationKindFor):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::makesCalls):
(JSC::GetByIdStatus::computeForChain): Deleted.

  • bytecode/GetByIdStatus.h:

(JSC::GetByIdStatus::makesCalls): Deleted.

  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::~GetByIdVariant):
(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::operator=):
(JSC::GetByIdVariant::dumpInContext):

  • bytecode/GetByIdVariant.h:

(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::callLinkStatus):

  • bytecode/PolymorphicGetByIdList.cpp:

(JSC::GetByIdAccess::fromStructureStubInfo):
(JSC::PolymorphicGetByIdList::from):

  • bytecode/SpeculatedType.h:
  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):

  • bytecode/StructureStubInfo.h:

(JSC::isGetByIdAccess):
(JSC::StructureStubInfo::initGetByIdChain): Deleted.

  • dfg/DFGAbstractHeap.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::getGetterSetterByOffsetLoadElimination):
(JSC::DFG::CSEPhase::getInternalFieldLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::getTypedArrayByteOffsetLoadElimination): Deleted.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::linkFunction):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasStorageAccessData):

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLAbstractHeapRepository.cpp:
  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetGetter):
(JSC::FTL::LowerDFGToLLVM::compileGetSetter):

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

(JSC::JIT::assertStackPointerOffset):
(JSC::JIT::privateCompile):

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

(JSC::JIT::emit_op_get_by_id):

  • jit/ThunkGenerators.cpp:

(JSC::arityFixupGenerator):
(JSC::baselineGetterReturnThunkGenerator):
(JSC::baselineSetterReturnThunkGenerator):
(JSC::arityFixup): Deleted.

  • jit/ThunkGenerators.h:
  • runtime/CommonSlowPaths.cpp:

(JSC::setupArityCheckData):

  • tests/stress/exit-from-getter.js: Added.
  • tests/stress/poly-chain-getter.js: Added.

(Cons):
(foo):
(test):

  • tests/stress/poly-chain-then-getter.js: Added.

(Cons1):
(Cons2):
(foo):
(test):

  • tests/stress/poly-getter-combo.js: Added.

(Cons1):
(Cons2):
(foo):
(test):
(.test):

  • tests/stress/poly-getter-then-chain.js: Added.

(Cons1):
(Cons2):
(foo):
(test):

  • tests/stress/poly-getter-then-self.js: Added.

(foo):
(test):
(.test):

  • tests/stress/poly-self-getter.js: Added.

(foo):
(test):
(getter):

  • tests/stress/poly-self-then-getter.js: Added.

(foo):
(test):

  • tests/stress/weird-getter-counter.js: Added.

(foo):
(test):

Source/WTF:

  • wtf/Bag.h:

(WTF::Bag::iterator::operator!=):

LayoutTests:

  • js/regress/getter-no-activation-expected.txt: Added.
  • js/regress/getter-no-activation.html: Added.
  • js/regress/script-tests/getter-no-activation.js: Added.
  • js/regress/getter-richards-expected.txt: Added.
  • js/regress/getter-richards.html: Added.
  • js/regress/script-tests/getter-richards.js: Added.
5:13 PM Changeset in webkit [169142] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (WK2): Tapping on the input field in duckduckgo.com shows the keyboard but not the caret.
https://bugs.webkit.org/show_bug.cgi?id=133140
<rdar://problem/16980898>

Reviewed by Benjamin Poulain.

When a page focuses a field on load, we receive the call to startAssistingNode
but we don't create a text interaction assistant if the focus is not originated
by a user action. Upon receiving the selection change notification we don't
call the text interaction assistant, since we don't have one, but we do call
the web selection assistant. We don't have any valid rects for web selection
and we clear the selection on the page, causing the caret not to appear and
the typing to have no effect.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _updateChangedSelection]):

5:07 PM Changeset in webkit [169141] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Rollout r169076.

5:03 PM Changeset in webkit [169140] by matthew_hanson@apple.com
  • 6 edits in branches/safari-538.34-branch/Source/WebCore

Merge r168974.

3:55 PM Changeset in webkit [169139] by mhahnenberg@apple.com
  • 15 edits in trunk/Source

Watchdog timer should be lazily allocated
https://bugs.webkit.org/show_bug.cgi?id=133135

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
We incur a noticeable amount of overhead on some benchmarks due to checking if the Watchdog ever fired.
There is no reason to do this checking if we never activated the Watchdog, which can only be done through
JSContextGroupSetExecutionTimeLimit or JSContextGroupClearExecutionTimeLimit.

By allocating the Watchdog lazily on the VM we can avoid all of the associated overhead when we don't use
these two API functions (which is true of most clients).

  • API/JSContextRef.cpp:

(JSContextGroupSetExecutionTimeLimit):
(JSContextGroupClearExecutionTimeLimit):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/VM.h:
  • runtime/Watchdog.cpp:

(JSC::Watchdog::Scope::Scope): Deleted.
(JSC::Watchdog::Scope::~Scope): Deleted.

  • runtime/Watchdog.h:

(JSC::Watchdog::Scope::Scope):
(JSC::Watchdog::Scope::~Scope):

Source/WebCore:
No new tests.

We incur a noticeable amount of overhead on some benchmarks due to checking if the Watchdog ever fired.
There is no reason to do this checking if we never activated the Watchdog, which can only be done through
JSContextGroupSetExecutionTimeLimit or JSContextGroupClearExecutionTimeLimit.

By allocating the Watchdog lazily on the VM we can avoid all of the associated overhead when we don't use
these two API functions (which is true of most clients).

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::scheduleExecutionTermination):
(WebCore::WorkerScriptController::isExecutionTerminating):

3:54 PM Changeset in webkit [169138] by Lucas Forschler
  • 5 edits in branches/safari-537.77-branch/Source

Versioning.

3:22 PM Changeset in webkit [169137] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merge r169114.

3:14 PM Changeset in webkit [169136] by Lucas Forschler
  • 1 copy in branches/safari-537.77-branch

New Branch.

2:48 PM Changeset in webkit [169135] by matthew_hanson@apple.com
  • 6 edits in branches/safari-538.34-branch

Merge r169094.

2:03 PM Changeset in webkit [169134] by dino@apple.com
  • 13 edits in trunk/Source

[Mac] Allow popup menus to override default appearance
https://bugs.webkit.org/show_bug.cgi?id=133129

Reviewed by Tim Horton.

Source/WebCore:
WebKitSystemInterface's WKPopupMenu has a flag to hide
the arrows at the end of a popup-menu (e.g. <select>).
Expose that via adding a hasDefaultAppearance flag to
PopupMenuStyle, which then passes it on to WKSI.

  • platform/PopupMenuStyle.h:

(WebCore::PopupMenuStyle::PopupMenuStyle): New flag in constructor.
(WebCore::PopupMenuStyle::hasDefaultAppearance): New flag.

  • platform/mac/WebCoreSystemInterface.h: wkPopupMenu signature has changed to accept

the new flag.

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

(RenderMenuList::itemStyle): Pass in true as default appearance when creating
the PopupMenuStyle. We don't need it.
(RenderMenuList::menuStyle): In this case we pass in the negated value of
style().hasAppearance(), which indicates if we are overriding the built-in drawing.

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::menuStyle): Use true as the default value.

Source/WebKit/mac:
Replace the call to wkPopupMenuWithSize with wkPopupMenu, now
with extra parameters to indicate the control size and whether
or not to draw the arrows at the end.

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show):

Source/WebKit2:
Add an extra "hideArrows" flag to PlatformPopupMenuData
and replace the call to WKPopupMenuWithSize with WKPopupMenu.

  • Shared/PlatformPopupMenuData.cpp: Encode and decode the new data value.

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

  • Shared/PlatformPopupMenuData.h: Add hideArrows boolean.
  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu):

  • WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:

(WebKit::WebPopupMenu::setUpPlatformData): The hideArrows flag is
true if we don't have the default appearance.

1:59 PM Changeset in webkit [169133] by dino@apple.com
  • 4 edits in trunk/WebKitLibraries

[Mac] Allow popup menus to override default appearance
https://bugs.webkit.org/show_bug.cgi?id=133129

Reviewed by Tim Horton.

Add a new parameter to WKPopupMenu.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
1:57 PM Changeset in webkit [169132] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/JavaScriptCore

Merge r169094.

1:57 PM Changeset in webkit [169131] by jer.noble@apple.com
  • 2 edits in trunk/Source/WTF

[Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMainThread.
https://bugs.webkit.org/show_bug.cgi?id=133130

Reviewed by Geoff Garen.

Wrap the function to be called in an autorelease pool, so that autoreleased objects are cleaned
up immediately after the end of the function.

  • wtf/mac/MainThreadMac.mm:

(WTF::timerFired):

1:52 PM Changeset in webkit [169130] by eric.carlson@apple.com
  • 8 edits in trunk/Source

[Mac] do not deactivate an audio session that has running I/O
https://bugs.webkit.org/show_bug.cgi?id=133127

Reviewed by Jer Noble.

Source/WebCore:

  • page/Settings.h:

(WebCore::Settings::setShouldManageAudioSessionCategory): Renamed from setShouldManageAudioSession.
(WebCore::Settings::shouldManageAudioSessionCategory): Renamed from shouldManageAudioSession.
(WebCore::Settings::setShouldManageAudioSession): Deleted.
(WebCore::Settings::shouldManageAudioSession): Deleted.

  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState): Don't deactivate the session if there are any

Video or Audio sessions.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Drive-by change to log errors

returned by -statusOfValueForKey:error: in debug builds.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]): Settings::setShouldManageAudioSession

renamed to setShouldManageAudioSessionCategory, deal with it.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Settings::setShouldManageAudioSession renamed to

setShouldManageAudioSessionCategory, deal with it.

1:36 PM Changeset in webkit [169129] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

REGRESSION: All non-mainframe scrollbars don't paint after r169065
https://bugs.webkit.org/show_bug.cgi?id=133132
-and corresponding-
<rdar://problem/16968850>

Reviewed by Geoff Garen.

We should not universally return true here. This feature will only work for
scrollbars with layers.

  • platform/ScrollableArea.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

1:34 PM Changeset in webkit [169128] by dbates@webkit.org
  • 7 edits
    4 adds in trunk

Element within flattened frame may update its scroll state during the layout phase of the wrong RenderView
https://bugs.webkit.org/show_bug.cgi?id=133013
<rdar://problem/16760154>

Reviewed by David Hyatt.

Source/WebCore:
Fixes an issue where the scroll state of an element may be updated during the layout of the wrong
RenderView. In particular, the scroll state of an element inside a CSS flex box in a flattened
frame f is updated during the layout of the RenderView associated with the parent frame of f instead
of during the layout of the RenderView associated with f.

The layout machinery assumes that the scroll state of each scrollable element is updated before the
completion of layout for its associated RenderView. Currently we have logic to defer updating the scroll
state of a scrollable element until completion of recursive layout. For a page with a flattened frame, we
defer such updates until completion of layout for all RenderViews along the ancestor frame hierarchy of
each flattened frame regardless of the RenderView associated with the element that originated the
deferred scroll state request. Instead, only the RenderView associated with the element that deferred its
scroll state update should dispatch the scroll state update.

Tests: fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash.html

fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure.html

  • rendering/RenderBlock.cpp: Removed WTF::-prefix in typedef definition for ContinuationOutlineTableMap.

(WebCore::UpdateScrollInfoAfterLayoutTransaction::UpdateScrollInfoAfterLayoutTransaction): Added; a struct
that represents a RenderView v, nested transaction count, and a list of RenderBlocks in v that will need
to have their scroll state updated.
(WebCore::updateScrollInfoAfterLayoutTransactionStack): Added; returns the global stack of transactions.
(WebCore::RenderBlock::willBeDestroyed): Call removeFromUpdateScrollInfoAfterLayoutTransaction(), which
was formerly named as removeFromDelayedUpdateScrollInfoSet.
(WebCore::currentUpdateScrollInfoAfterLayoutTransaction): Added; returns the top-most transaction in the
global stack.
(WebCore::RenderBlock::beginUpdateScrollInfoAfterLayoutTransaction): Modified as appropriate to make use
of the global stack of transactions; formerly named startDelayUpdateScrollInfo.
(WebCore::RenderBlock::endAndCommitUpdateScrollInfoAfterLayoutTransaction): Modified as appropriate to
make use of the global stack of transactions; formerly named finishDelayUpdateScrollInfo.
(WebCore::RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction): Modified as appropriate to make
use of the global stack of transactions; formerly named removeFromDelayedUpdateScrollInfoSet.
(WebCore::RenderBlock::updateScrollInfoAfterLayout): Modified as appropriate to make use of the global
stack of transactions.
(WebCore::RenderBlock::layout): Ditto.
(WebCore::RenderBlock::startDelayUpdateScrollInfo): Deleted.
(WebCore::RenderBlock::finishDelayUpdateScrollInfo): Deleted.
(WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet): Deleted.

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

(WebCore::RenderBlockFlow::willBeDestroyed): Call removeFromUpdateScrollInfoAfterLayoutTransaction(), which
was formerly named removeFromDelayedUpdateScrollInfoSet.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): Call {begin, end}UpdateScrollInfoAfterLayoutTransaction(),
which was formerly named {start, end}DelayUpdateScrollInfo.
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Ditto.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock): Ditto.

LayoutTests:
Added tests to ensure that that we update the scroll state of an element during the layout phase of its
associated RenderView.

  • fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash-expected.txt: Added.
  • fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash.html: Added.
  • fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure-expected.txt: Added.
  • fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure.html: Added.
1:21 PM Changeset in webkit [169127] by Lucas Forschler
  • 6 edits in branches/safari-538.34.5-branch

Merged r168599.

1:18 PM Changeset in webkit [169126] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r169114.

1:02 PM Changeset in webkit [169125] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

12:31 PM Changeset in webkit [169124] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

REGRESSION (r169065): Mountain Lion run-api-tests failures: ASSERTION FAILED:
Uncaught exception - -[NSRegularLegacyScrollerImp setPresentationValue:]:
unrecognized selector sent to instance 0x7ff51aa38000
https://bugs.webkit.org/show_bug.cgi?id=133121

Reviewed by Tim Horton.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):

12:13 PM Changeset in webkit [169123] by Simon Fraser
  • 12 edits in trunk/Source

REGRESSION (r169063) Fixed and sticky nodes misplaced on scrolling sometimes
https://bugs.webkit.org/show_bug.cgi?id=133106
<rdar://problem/16967648>

Reviewed by Sam Weinig.

Fix regression from r169063. That commit removed scrolledContentsLayers from
frame scrolling nodes, but they do actually use them.

So put them back; not in the base class, because they have a somewhat different
meaning for overflow scrolling and frame scrolling.

Source/WebCore:

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::updateFrameScrollingNode):

  • page/scrolling/ScrollingStateFrameScrollingNode.cpp:

(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setScrolledContentsLayer):

  • page/scrolling/ScrollingStateFrameScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

Source/WebKit2:

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

11:44 AM Changeset in webkit [169122] by ap@apple.com
  • 6 edits in trunk

[Mac] WebProcess doesn't follow localization of UI process when run as a service
https://bugs.webkit.org/show_bug.cgi?id=133126
<rdar://problem/13396515>
<rdar://problem/16561084>

Reviewed by Sam Weinig and Tim Horton.

Source/WebKit2:

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

(WebKit::handleXPCBootstrap):
(main):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(WebKit::handleXPCBootstrap):
(main):
Set localization very early in process lifetime (in development builds, that's
even before WebKit framework is loaded).

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::connectToService):

Pass UI process localization to the service, computing it in the same way we do
for child processes.

Tools:

  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

(WTR::InjectedBundle::platformInitialize): It was too late to override language
here, and it's not necessary any more. Keeping the code for older OS versions in
case it did have effect in some code paths.

11:07 AM Changeset in webkit [169121] by mhahnenberg@apple.com
  • 8 edits
    21 adds in trunk

JSArray::shiftCountWith* could be more efficient
https://bugs.webkit.org/show_bug.cgi?id=133011

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
Our current implementations of shiftCountWithAnyIndexingType and shiftCountWithArrayStorage
are scared of the presence of any holes in the array. We can mitigate this somewhat by enabling
them to correctly handle holes, thus avoiding the slowest of slow paths in most cases.

  • runtime/ArrayStorage.h:

(JSC::ArrayStorage::indexingHeader):
(JSC::ArrayStorage::length):
(JSC::ArrayStorage::hasHoles):

  • runtime/IndexingHeader.h:

(JSC::IndexingHeader::publicLength):
(JSC::IndexingHeader::from):

  • runtime/JSArray.cpp:

(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):

  • runtime/JSArray.h:

(JSC::JSArray::shiftCountForShift):
(JSC::JSArray::shiftCountForSplice):
(JSC::JSArray::shiftCount):

  • runtime/Structure.cpp:

(JSC::Structure::holesRequireSpecialBehavior):

  • runtime/Structure.h:

LayoutTests:
Added a performance regression test which tests the contiguous shift case. We're ~85% faster
on this microbenchmark with this patch.

Also added a bunch of tests for each permutation of contiguous/array storage with no holes, holes,
and holes that require special behavior (e.g. indexed properties in the prototype chain).

  • js/array-storage-splice-holes-expected.txt: Added.
  • js/array-storage-splice-holes-require-special-behavior-expected.txt: Added.
  • js/array-storage-splice-holes-require-special-behavior.html: Added.
  • js/array-storage-splice-holes.html: Added.
  • js/array-storage-splice-no-holes-expected.txt: Added.
  • js/array-storage-splice-no-holes.html: Added.
  • js/contiguous-splice-holes-expected.txt: Added.
  • js/contiguous-splice-holes-require-special-behavior-expected.txt: Added.
  • js/contiguous-splice-holes-require-special-behavior.html: Added.
  • js/contiguous-splice-holes.html: Added.
  • js/contiguous-splice-no-holes-expected.txt: Added.
  • js/contiguous-splice-no-holes.html: Added.
  • js/regress/array-splice-contiguous-expected.txt: Added.
  • js/regress/array-splice-contiguous.html: Added.
  • js/regress/script-tests/array-splice-contiguous.js: Added.

(foo):

  • js/script-tests/array-storage-splice-holes-require-special-behavior.js: Added.
  • js/script-tests/array-storage-splice-holes.js: Added.
  • js/script-tests/array-storage-splice-no-holes.js: Added.
  • js/script-tests/contiguous-splice-holes-require-special-behavior.js: Added.
  • js/script-tests/contiguous-splice-holes.js: Added.
  • js/script-tests/contiguous-splice-no-holes.js: Added.
10:38 AM Changeset in webkit [169120] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

REGRESSION: [CSS Regions] Content flowed directly into the flow thread that ends up in the second region is not properly repainted
https://bugs.webkit.org/show_bug.cgi?id=133111

Reviewed by David Hyatt.

Source/WebCore:
When computing the repaint rect of an element flowed into a flow thread, if the element is flowed directly into
the flow thread (meaning its containing block is the flow thread itself), the region's position within the flow
must no longer be taken into consideration, because its already included in the element's |topLeft|.

Test: fast/regions/hover-element-flowed-second-region.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):

LayoutTests:
Added test for the correct repaint of an element flowed directly into the second region of a flow thread.

  • fast/regions/hover-element-flowed-second-region-expected.html: Added.
  • fast/regions/hover-element-flowed-second-region.html: Added.
10:29 AM Changeset in webkit [169119] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix web timing assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=133094
<rdar://problem/16966032>

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-20
Reviewed by Alexey Proskuryakov.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getConnectionTimingData):
Set requestStart and responseStart to 0 instead of -1 to match the
ResourceLoadTiming constructor and prevent the assertion failure in
PerformanceTiming::responseStart.

10:13 AM Changeset in webkit [169118] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Only set title on SVG documents
https://bugs.webkit.org/show_bug.cgi?id=133068

Patch by Prashant Hiremath <hiremathprashants@gmail.com> on 2014-05-20
Reviewed by Dirk Schulze.

Source/WebCore:
Test: svg/custom/html_document_set_title.html

  • svg/SVGTitleElement.cpp:

(WebCore::SVGTitleElement::insertedInto):
(WebCore::SVGTitleElement::removedFrom):
(WebCore::SVGTitleElement::childrenChanged):

LayoutTests:

  • svg/custom/html_document_set_title-expected.txt: Added.
  • svg/custom/html_document_set_title.html: Added.
10:08 AM Changeset in webkit [169117] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(r169105): fast/regions/cssom/region-range-for-box-crash.html is more crashy than before
https://bugs.webkit.org/show_bug.cgi?id=133124

10:06 AM Changeset in webkit [169116] by andersca@apple.com
  • 2 edits in trunk/LayoutTests

Skip http/tests/inspector/replay/document-last-modified-fallback-value.html since it asserts.

10:01 AM Changeset in webkit [169115] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Invalid content in cache file, causes broken rendering.
https://bugs.webkit.org/show_bug.cgi?id=133069

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-20
Reviewed by Brent Fulgham.

When data for a url is received as multiple parts, the cache file for the url is truncated when opened for writing,
and will only contain the last part of data received.
This is fixed by only opening the file once, and close it after all data has been received.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::CurlCacheEntry): Initialize cache file handle member.
(WebCore::CurlCacheEntry::~CurlCacheEntry): Close cache file.
(WebCore::CurlCacheEntry::saveCachedData): Only open cache file once to avoid truncating.
(WebCore::CurlCacheEntry::didFail): Close cache file.
(WebCore::CurlCacheEntry::didFinishLoading): Ditto.
(WebCore::CurlCacheEntry::openContentFile): Added method to open cache file.
(WebCore::CurlCacheEntry::closeContentFile): Added method to close cache file.

  • platform/network/curl/CurlCacheEntry.h: Added file handle member, and methods to open and close cache file.
9:59 AM Changeset in webkit [169114] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a header comment
https://bugs.webkit.org/show_bug.cgi?id=133123
<rdar://problem/16973783>

Reviewed by Geoffrey Garen.

  • UIProcess/API/Cocoa/WKUserContentController.h:
9:23 AM Changeset in webkit [169113] by dfarler@apple.com
  • 9 edits in trunk/Tools

Move WebKitTestRunner to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=133081

Reviewed by Daniel Bates.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didCreatePage):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::runTest):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:
  • WebKitTestRunner/TestInvocation.h:
  • WebKitTestRunner/WorkQueueManager.cpp:

(WTR::WorkQueueManager::processWorkQueue):
(WTR::WorkQueueManager::enqueue):

  • WebKitTestRunner/WorkQueueManager.h:
8:20 AM Changeset in webkit [169112] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] WebKitWebPage::send-request always pass a valid pointer for redirected response
https://bugs.webkit.org/show_bug.cgi?id=133119

Reviewed by Sergio Villar Senin.

Source/WebKit2:
The problem is that we were checking whether the passed in
WKURLResponseRef is NULL or not, but it's always a valid object
that can contain a NULL WebCore::ResourceResponse.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(willSendRequestForFrame): Pass NULL as redirect-response
parameter of WebKitWebPage::send-request signal when the
WebCore::ResourceResponse of the passed in WKURLResponseRef is NULL.

Tools:
Check that redirect response parameter of
WebKitWebPage::send-request signal is NULL when not redirecting
and a valid WebKitURIResponse object when redirecting.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebResourceSendRequest):
(serverCallback):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(sendRequestCallback):

7:47 AM Changeset in webkit [169111] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

Make fast/dom/remove-element-with-{id|name}-that-was-inserted-on-DOMNodeRemoved.html reliable
<http://webkit.org/b/133088>

Reviewed by Alexey Proskuryakov.

  • fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html:
  • fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html:
  • Use waitUntilDone()/notifyDone() to make the tests reliable since they use setTimeout().
7:34 AM Changeset in webkit [169110] by stavila@adobe.com
  • 5 edits
    4 adds in trunk

[CSS Regions] Block incorrectly sized when containing an unsplittable box
https://bugs.webkit.org/show_bug.cgi?id=132601

Reviewed by Antti Koivisto.

Source/WebCore:
When laying out elements in a region, when an inline element is encountered
the size of its parent must not be increased beyond the bottom of the current region,
unless if its the last region. This will ensure that the next sibling of the
inline element is correctly laid out at the top of the next region, instead
of leaving an empty space equal to the height of the overflow, as it did until now.

Tests: fast/regions/inline-block-inside-anonymous-overflow.html

fast/regions/inline-block-overflow.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
(WebCore::RenderBlockFlow::hasNextPage):

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

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
(WebCore::RenderBlockFlow::determineStartPosition):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):

LayoutTests:
Added tests for the layout of elements following inline-block elements
that overflow their region, with and without anonymous blocks.

  • fast/regions/inline-block-inside-anonymous-overflow-expected.html: Added.
  • fast/regions/inline-block-inside-anonymous-overflow.html: Added.
  • fast/regions/inline-block-overflow-expected.html: Added.
  • fast/regions/inline-block-overflow.html: Added.
6:56 AM Changeset in webkit [169109] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Double-tap zoom does not take obscuring insets into account
https://bugs.webkit.org/show_bug.cgi?id=133116
<rdar://problem/16765604>

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _zoomToRect:WebCore::atScale:origin:WebCore::]):

Compute the zoom target taking insets into account.

6:39 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
6:15 AM Changeset in webkit [169108] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Rename translation domain as WebKit2GTK-3.0
https://bugs.webkit.org/show_bug.cgi?id=132953

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/OptionsGTK.cmake:

Source/WebCore/platform/gtk/po:

  • CMakeLists.txt:
5:34 AM Changeset in webkit [169107] by zoltan@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Regions] Add polygon tests for shapes on regions and shapes on the content flow
https://bugs.webkit.org/show_bug.cgi?id=133107

Reviewed by Mihnea Ovidenie.

  • fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats-expected.html: Added.
  • fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats.html: Added.
5:17 AM Changeset in webkit [169106] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

REGRESSION(CMAKE): [GTK] Several WebKit2GTK+ unit tests are no longer built
https://bugs.webkit.org/show_bug.cgi?id=133117

Reviewed by Philippe Normand.

Bring back missing tests to the build.

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
3:57 AM Changeset in webkit [169105] by mihnea@adobe.com
  • 6 edits
    2 adds in trunk

[CSS Regions] Crash while painting block selection gaps in regions
https://bugs.webkit.org/show_bug.cgi?id=132720

Reviewed by David Hyatt.

Source/WebCore:
The fix for WebKit bug https://bugs.webkit.org/show_bug.cgi?id=131511
allowed selection highlight to match the DOM selection when the start
and end point of the selection were in different flow threads. In order
to enable that, the selection was performed separately on view and
render flow threads, considered selection subtrees.

However, the start and end points for each selection subtree were computed
by means of Range class but it is not always possible to construct a valid
Range from two pairs of RenderObjects and offsets.

This patch keeps the substrees approach but instead of storing the endpoints
for each subtree in a Range and continuously extending the Range, it stores them
using the already available SelectionSubtreeRoot class. After the end points are
computed for each subtree and before processing the subtree selection, the end points
are adjusted in a similar fashion as the one used in FrameSelection::updateAppearance(),
to make sure we are passing the same expected information to the method implementing
the visible selection processing.

Test: fast/regions/selection-gaps-paint-crash.html

  • rendering/RenderView.cpp:

(WebCore::RenderView::splitSelectionBetweenSubtrees):

  • rendering/SelectionSubtreeRoot.cpp:

(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::selectionClear):

LayoutTests:

  • TestExpectations: Unskip a test that was crashing
  • fast/regions/selection-gaps-paint-crash-expected.txt: Added.
  • fast/regions/selection-gaps-paint-crash.html: Added.
2:52 AM Changeset in webkit [169104] by commit-queue@webkit.org
  • 41 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Rebaseline affected tests by changes on integral snapping of inlines
introduced at r169048.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-20

  • platform/gtk/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/gtk/css1/text_properties/text_indent-expected.txt:
  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/gtk/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/gtk/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
  • platform/gtk/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
  • platform/gtk/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
  • platform/gtk/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
  • platform/gtk/css2.1/t1601-c547-indent-00-b-a-expected.txt:
  • platform/gtk/fast/block/float/026-expected.txt:
  • platform/gtk/fast/block/float/028-expected.txt:
  • platform/gtk/fast/css/empty-pseudo-class-expected.txt:
  • platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/first-of-type-pseudo-class-expected.txt:
  • platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/last-of-type-pseudo-class-expected.txt:
  • platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/only-of-type-pseudo-class-expected.txt:
  • platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/gtk/fast/line-grid/line-align-left-edges-expected.txt:
  • platform/gtk/fast/multicol/column-count-with-rules-expected.txt:
  • platform/gtk/fast/multicol/float-multicol-expected.txt:
  • platform/gtk/fast/multicol/layers-in-multicol-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/float-multicol-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
  • platform/gtk/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-1-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-10-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-2-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-3-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-4-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-5-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-6-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-7-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-8-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/gtk/fast/text/whitespace/024-expected.txt:
  • platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
Note: See TracTimeline for information about the timeline view.