Timeline



May 19, 2014:

10:30 PM Changeset in webkit [169103] by Lucas Forschler
  • 11 edits in branches/safari-537.76-branch

Merged r169098.

9:40 PM Changeset in webkit [169102] by fpizlo@apple.com
  • 4 edits in trunk

Test gardening: skip some failing tests on not-X86.

Source/JavaScriptCore:

  • tests/mozilla/mozilla-tests.yaml:

LayoutTests:

  • js/script-tests/function-apply-many-args.js:
9:17 PM Changeset in webkit [169101] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.43

New Tag.

7:57 PM Changeset in webkit [169100] by Lucas Forschler
  • 1 copy in tags/Safari-537.75.17

New Tag.

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

Rollout r169074.

7:49 PM Changeset in webkit [169098] by Lucas Forschler
  • 11 edits in branches/safari-537.75-branch

Merged r156116.

7:31 PM Changeset in webkit [169097] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Scrolling pages with large TiledBacking content layers creates way too many tiles
https://bugs.webkit.org/show_bug.cgi?id=133101

Reviewed by Tim Horton.

Fix the GraphicsLayerCA::adjustTiledLayerVisibleRect() logic to avoid making giant rects if the old
and new visible rects don't overlap.

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):

  • platform/graphics/ca/mac/TileController.h:
7:31 PM Changeset in webkit [169096] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Correctly maintain the "isInWindow" state for all TiledBackings
https://bugs.webkit.org/show_bug.cgi?id=133095

Reviewed by Tim Horton.

We never updated the "isInWindow" state for TiledBacking that wasn't the RenderView's
backing. Fix it by having RenderLayerCompositor::setIsInWindow() recurse through all
layers (if necessary), updating their state. Also set the state on newly created
TiledBackings.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::layerTiledBackingUsageChanged):
(WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants):
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::pageTiledBacking): Deleted.

  • rendering/RenderLayerCompositor.h:
7:22 PM Changeset in webkit [169095] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

WebKit2/iOS: parented view should be considered hidden if app is backgrounded
https://bugs.webkit.org/show_bug.cgi?id=133099
radar://16942183

Reviewed by Simon Fraser.

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isViewWindowActive):

(WebKit::PageClientImpl::isViewFocused):

(WebKit::PageClientImpl::isViewVisible):

  • take UIApplication applicationState into account in determining visibility.

(WebKit::PageClientImpl::isViewVisibleOrOccluded):

  • implemented in terms of isViewVisible.

(WebKit::PageClientImpl::isVisuallyIdle):

  • implemented in terms of isViewVisible.
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):

  • register for UIApplicationDidEnterBackgroundNotification.

(-[WKContentView _applicationDidEnterBackground:]):
(-[WKContentView _applicationWillEnterForeground:]):

  • when the application state changes all flags except IsInWindow may be affected.
7:03 PM Changeset in webkit [169094] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

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:
6:56 PM Changeset in webkit [169093] by Chris Fleizach
  • 3 edits in trunk/LayoutTests

AX: VoiceOver sees the WebArea out of order when topContentInset is used
https://bugs.webkit.org/show_bug.cgi?id=133091

Unreviewed.
Make the layout test more resilient to platform differences in frame positions.

  • platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt:
  • platform/mac-wk2/accessibility/content-inset-scrollview-frame.html:
6:53 PM Changeset in webkit [169092] by fpizlo@apple.com
  • 7 edits in trunk

Take care of some ARM64 test failures
https://bugs.webkit.org/show_bug.cgi?id=133090

Reviewed by Geoffrey Garen.

PerformanceTests/SunSpider:

  • profiler-test.yaml: Skip these on not-x86.

Source/JavaScriptCore:

Constant blinding on ARM64 cannot use the scratch register.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::convertInt32ToDouble):
(JSC::MacroAssembler::branchPtr):
(JSC::MacroAssembler::storePtr):
(JSC::MacroAssembler::store64):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::scratchRegisterForBlinding):

Tools:

  • Scripts/run-jsc-stress-tests: Make it easier to conditionally skip things.
6:09 PM Changeset in webkit [169091] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WK2 iOS: Pressing the form navigation button causes the keyboard to be dismissed.
https://bugs.webkit.org/show_bug.cgi?id=133100
<rdar://problem/16808673>

Reviewed by Benjamin Poulain.

The call to focusNextAssistedNode is the result of a user action, since
it is called when the user pressed the form navigation buttons.
Therefore we must set m_userIsInteracting to true before changing the focus
to make sure the focus change is honored.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::focusNextAssistedNode):

5:55 PM Changeset in webkit [169090] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Use status display for live streams
https://bugs.webkit.org/show_bug.cgi?id=133097

Reviewed by Sam Weinig.

Follow-on from https://bugs.webkit.org/show_bug.cgi?id=131390
Allow the iOS controls to use the status display field.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.configureInlineControls): Live streams should
not have a timeline or rewind button.

5:45 PM Changeset in webkit [169089] by mmaxfield@apple.com
  • 13 edits
    12 adds in trunk

Text decorations do not contribute to visual overflow
https://bugs.webkit.org/show_bug.cgi?id=132773

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-05-19
Reviewed by Antti Koivisto.

Source/WebCore:
This patch creates a function, visualOverflowForDecorations, which computes
how much visual overflow to add around a text box due to text decorations. Most of the time,
text decorations are fully contained within the text box, so the result is usually 0.

This function exists within style/InlineTextBoxStyle.cpp, which is an added file. This is
so that it can be called from setLogicalWidthForTextRun() inside RenderBlockLineLayout.cpp
and from RenderStyle::changeAffectsVisualOverflow(). The former case passes in the full
InlineTextBox and the latter case just passes in a RenderStyle (because the InlineTextBox
is unavailable.)

This patch also modifies RenderTableSection::spannedColumns() to fix an off-by-one error
that was causing table borders to not be drawn when they existed right on the edge of
a repaint rect.

Tests: fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html
Tests: fast/repaint/border-collapse-table-off-by-one-expected.html

  • WebCore.vcxproj/WebCore.vcxproj: Adding reference to new InlineTextBoxStyle.cpp file
  • WebCore.vcxproj/WebCore.vcxproj.filters: Adding reference to new InlineTextBoxStyle files
  • WebCore.xcodeproj/project.pbxproj: Adding reference to new InlineTextBoxStyle files
  • rendering/InlineTextBox.cpp:

(WebCore::computeUnderlineOffset): Moved to InlineTextBox.cpp
(WebCore::getWavyStrokeParameters): Moved to InlineTextBox.cpp
(WebCore::InlineTextBox::paintDecoration): Update to use newly refactored functions

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setLogicalWidthForTextRun): Call visualOverflowForDecorations()

  • rendering/RenderTableSection.cpp:
  • rendering/RenderTableSelection.cpp: Fix off-by-one error when the boundary of a repaint

rect lies exactly on top of a table column position

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeAffectsVisualOverflow): Inspects shadows and text decorations
(WebCore::RenderStyle::changeRequiresLayout): Calls changeAffectsVisualOverflow()
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): Moved code from here
to changeAffectsVisualOverflow().

  • rendering/style/RenderStyle.h: Function signature
  • style/InlineTextBoxStyle.cpp: Added.

(WebCore::computeUnderlineOffset): Moved from InlineTextBox.cpp
(WebCore::getWavyStrokeParameters): Moved from InlineTextBox.cpp
(WebCore::extendIntToFloat): Convenience function for dealing with the fact that
underline bounding boxes use floats and GlyphOverflow uses ints
(WebCore::visualOverflowForDecorations): Given
vertical overflow bounds, possibly extend those to include location of
decorations.

  • style/InlineTextBoxStyle.h: Added. Function signatures.

(WebCore::textDecorationStrokeThickness): Refactored from InlineTextBox.cpp
(WebCore::wavyOffsetFromDecoration): Refactored from InlineTextBox.cpp

  • platform/graphics/Font.h:

(WebCore::GlyphOverflow::isEmpty): Convenience function
(WebCore::GlyphOverflow::extendTo): Convenience function

LayoutTests:
This first test makes sure that repaint rects are extended to include text decorations that may
lie outside of the text layout rects. It compares text with an underline to text that has
had underline applied to it in a timer.

The second test triggers an off-by-one error in collapsed table borders where a border was not
being drawn if it lay right on top of a repaint rect.

  • fast/css3-text/css3-text-decoration/repaint/resources/Litherum.svg: Added. This font has a

descent of 0 (so it will not intersect underlines).

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-expected.html: Added.

Apply the underline without any timeout.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html: Added.

Apply the underline with a timeout.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-removed-expected.html: Added.

Draw text without decorations.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-removed.html: Added.

Draw text with decorations which contribute to overflow, then remove those decorations on a timer.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered-expected.html: Added.

Draw text as if the final state of the decorations had always existed.

  • fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered.html: Added.

Make sure that modifying decorations that contribute to overflow redraw properly.

  • fast/repaint/border-collapse-table-off-by-one-expected.html: Added.
  • fast/repaint/border-collapse-table-off-by-one.html: Added. Trigger the off-by-one error in

RenderTableSection.cpp

5:43 PM Changeset in webkit [169088] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

[iOS] REGRESSION (r168910): webkitdirs.pm: Be more forgiving when parsing --sdk, --device and --sim
<http://webkit.org/b/133089>

Reviewed by Darin Adler.

  • Scripts/webkitdirs.pm:

(determineXcodeSDK): If both '--sdk SDKROOT' and '--sim' are
specified on the command line, we would remove the '--sdk'
arguments, but leave '--sim', potentially passing it along to
xcodebuild causing a build failure. This happens when
'old-run-webkit-tests --release --sim' invokes
build-dumprendertree when DumpRenderTree hasn't been built yet.

5:24 PM Changeset in webkit [169087] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

TelephoneNumberOverlayController should use a modern loop for text quad bounding
boxes
https://bugs.webkit.org/show_bug.cgi?id=133096

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:

(WebKit::textQuadsToBoundingRectForRange):

5:18 PM Changeset in webkit [169086] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

PlatformCALayerRemoteCustom properties aren't initialized to match the PlatformLayer
https://bugs.webkit.org/show_bug.cgi?id=133025

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-19
Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

(WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
Initialize PlatformCALayerRemote properties from the PlatformLayer.

5:01 PM Changeset in webkit [169085] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r169082

  • platform/network/ResourceHandle.h:

Added NSDictionary declaration.

4:56 PM Changeset in webkit [169084] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

REGRESSION: Standalone images need to take topContentInset into account
https://bugs.webkit.org/show_bug.cgi?id=133092
-and corresponding-
<rdar://problem/16945791>

Reviewed by Darin Adler.

The FrameView’s size is accurate in terms of the NSWindow size, but that is not
really what the ImageDocument code is looking for here. The ImageDocument wants to
know the size of the unobscured viewport area. We should use visibleSize() for
that.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::scale):
(WebCore::ImageDocument::imageFitsInWindow):
(WebCore::ImageDocument::imageClicked):

4:55 PM Changeset in webkit [169083] by Lucas Forschler
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

4:45 PM Changeset in webkit [169082] by achristensen@apple.com
  • 12 edits in trunk/Source/WebCore

Collect web timing data on iOS.
https://bugs.webkit.org/show_bug.cgi?id=133075

Reviewed by Sam Weinig.

  • platform/network/ResourceHandle.h:

Added setCollectsTimingData wrapper and getConnectionTimingData declarations.
getConnectionTimingData with a dictionary parameter is a private helper function.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::start):
Call setCollectsTimingData wrapper when creating a connection to ensure that timing data is collected.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:

Pass the CFURLConnectionRef to didReceiveResponse to get timing data from.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getConnectionTimingData):
Moved from getTimingData to compile regardless of using CFNetwork and added wrapper with CFDictionaryRef.
(WebCore::ResourceHandle::setCollectsTimingData):
Added wrapper to call objc function from c++.
(WebCore::ResourceHandle::getTimingData):
Renamed to getConnectionTimingData.

  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Updated function name from getTimingData to getConnectionTimingData.

4:37 PM Changeset in webkit [169081] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: VoiceOver sees the WebArea out of order when topContentInset is used
https://bugs.webkit.org/show_bug.cgi?id=133091

Reviewed by Simon Fraser.

Source/WebCore:
Modify the scroll view's frame so that it recognizes the content inset.
This is needed so that when VoiceOver sorts elements to create an ordering,
the web area is not ordered at the top of the screen.

Test: platform/mac-wk2/accessibility/content-inset-scrollview-frame.html

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::elementRect):

LayoutTests:

  • platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt: Added.
  • platform/mac-wk2/accessibility/content-inset-scrollview-frame.html: Added.
4:08 PM Changeset in webkit [169080] by dfarler@apple.com
  • 2 edits in trunk/Tools

Dashboard: OpenSource revision key changed from WebKitOpenSource to WebKit
https://bugs.webkit.org/show_bug.cgi?id=133086

Reviewed by Daniel Bates.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
3:41 PM Changeset in webkit [169079] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Use different AppKit API for image control menus.
<rdar://problem/16807828> and https://bugs.webkit.org/show_bug.cgi?id=133087

Reviewed by Tim Horton.

For image control menus, use popUpMenuPositioningItem: instead of popUpContextMenu:

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::contextMenuForEvent):
(WebContextMenuClient::showContextMenu):

3:39 PM Changeset in webkit [169078] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r169042): Fix run-api-tests on Mountain Lion
<http://webkit.org/b/132954>

  • Scripts/webkitdirs.pm:

(sharedCommandLineOptionsUsage): Remove the prototype for the
subroutine. Older perls don't like the "+@" syntax.

3:20 PM Changeset in webkit [169077] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.8

New Tag.

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

Merge r169037.

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

Merge r168991.

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

Merge r168974.

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

Merge r169039.

2:57 PM Changeset in webkit [169072] by matthew_hanson@apple.com
  • 24 edits
    17 copies
    2 deletes in branches/safari-538.34-branch/Source

Merge r169023.

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

Merge r169015.

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

Merge r169000.

2:43 PM Changeset in webkit [169069] by matthew_hanson@apple.com
  • 27 edits
    6 copies in branches/safari-538.34-branch/Source

Merge r168994.

2:42 PM Changeset in webkit [169068] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] When a page relayout on dynamic resize, keep the same relative width in view
https://bugs.webkit.org/show_bug.cgi?id=133026
<rdar://problem/16833971>

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

When a page does not relayout, we keep the same width in view.
When a page relayout, we should keep the same relative width in view.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::isResponsiveDesignWithContentLargerThanLayout):
(WebKit::WebPage::dynamicViewportSizeUpdate):

2:19 PM Changeset in webkit [169067] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Inspect Element sometimes does not select the right DOM Node
https://bugs.webkit.org/show_bug.cgi?id=127938

Patch by Jono Wells <jonowells@apple.com> on 2014-05-19
Reviewed by Joseph Pecoraro.

Inspecting an element when the inspector is in a closed state was selecting the node but then
overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called.
Now when an element is inspected a flag prevents the restore from taking place.

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager):
(WebInspector.DOMTreeManager.prototype.inspectElement):
(WebInspector.DOMTreeManager.prototype.inspectNodeObject):
Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed.

(WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed):
Added.

  • UserInterface/Views/FrameDOMTreeContentView.js:

(WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed.

2:17 PM Changeset in webkit [169066] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Add some missing state reset on crash
https://bugs.webkit.org/show_bug.cgi?id=133036

Reviewed by Sam Weinig.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState):
The missing reset for m_isTrackingTouchEvents would cause the WebPageProxy to send
touch events when it shouldn't. That would only be for an active touch sequence.

The missing reset m_lastVisibleContentRectUpdate would prevent pushing the new UI state
to the new page on reload, that is very bad.

Also moved m_videoFullscreenManager to be in the same order as initialization, and invalidate
the callbacks for dictation.

2:09 PM Changeset in webkit [169065] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

Scrollbars display incorrectly after switching between fast and slow scrolling
mode, affects Find and real sites
https://bugs.webkit.org/show_bug.cgi?id=133077
-and corresponding-
<rdar://problem/16888608>

Reviewed by Tim Horton.

We should always return true here when updating on the secondary thread is
supported. It does not need to be gated on whether we are actively taking
advantage of that support at this moment.

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

Always update the presentationValue whenever we update the doubleValue just to
keep them in sync.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):

2:02 PM Changeset in webkit [169064] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] Move scale noise filtering to the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=133021

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

Filtering in the UIProcess was stupid. It forces to handle a third kind of scale just for updates.

The WebProcess already adjusts the input scale based on the viewport. Changing the input scale at that level
is already supported. It is a better place to have the filtering.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

1:23 PM Changeset in webkit [169063] by Simon Fraser
  • 44 edits
    6 copies
    5 moves
    2 adds in trunk

Split scrolling tree ScrollingNodes into FrameScrollingNodes and OverflowScrollingNodes
https://bugs.webkit.org/show_bug.cgi?id=133022

Reviewed by Sam Weinig.

Source/WebCore:

In both the scrolling state tree and the scrolling tree, split the "scrolling nodes"
into FrameScrolling and OverflowScrolling nodes.

Move what was the "viewportSize" property onto the base class for the scrolling
nodes, calling it "scrollableAreaSize".

Make minimum/maximumScrollPosition() virtual so we can share more code (and there
is more code sharing to be done in future).

  • Configurations/WebCore.xcconfig: Remove ScrollingStateScrollingNodeMac.mm and ScrollingTreeScrollingNodeMac.mm

from the list, using #ifdefs in the file instead.

  • WebCore.exp.in: Lots of exports.
  • WebCore.xcodeproj/project.pbxproj: New files.
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):
(WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode): Deleted.
(WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode): Deleted.
This tiny function didn't need to exist.

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::updateFrameScrollingNode):
(WebCore::ScrollingCoordinator::updateOverflowScrollingNode):
(WebCore::ScrollingCoordinator::updateScrollingNode): Deleted.

  • page/scrolling/ScrollingStateFrameScrollingNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp.

(WebCore::ScrollingStateFrameScrollingNode::create):
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::~ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::clone):
(WebCore::ScrollingStateFrameScrollingNode::setFrameScaleFactor):
(WebCore::ScrollingStateFrameScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateFrameScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateFrameScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateFrameScrollingNode::setScrollBehaviorForFixedElements):
(WebCore::ScrollingStateFrameScrollingNode::setHeaderHeight):
(WebCore::ScrollingStateFrameScrollingNode::setFooterHeight):
(WebCore::ScrollingStateFrameScrollingNode::setTopContentInset):
(WebCore::ScrollingStateFrameScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateFrameScrollingNode::setInsetClipLayer):
(WebCore::ScrollingStateFrameScrollingNode::setContentShadowLayer):
(WebCore::ScrollingStateFrameScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateFrameScrollingNode::setFooterLayer):
(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties):

  • page/scrolling/ScrollingStateFrameScrollingNode.h: Copied from Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h.
  • page/scrolling/ScrollingStateNode.h:

(WebCore::LayerRepresentation::layerID):
(WebCore::ScrollingStateNode::isFrameScrollingNode):
(WebCore::ScrollingStateNode::isOverflowScrollingNode):

  • page/scrolling/ScrollingStateOverflowScrollingNode.cpp: Added.

(WebCore::ScrollingStateOverflowScrollingNode::create):
(WebCore::ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode):
(WebCore::ScrollingStateOverflowScrollingNode::~ScrollingStateOverflowScrollingNode):
(WebCore::ScrollingStateOverflowScrollingNode::clone):
(WebCore::ScrollingStateOverflowScrollingNode::setScrolledContentsLayer):
(WebCore::ScrollingStateOverflowScrollingNode::dumpProperties):

  • page/scrolling/ScrollingStateOverflowScrollingNode.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm.

(WebCore::ScrollingStateOverflowScrollingNode::scrolledContentsLayer):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrollableAreaSize):
(WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
(WebCore::ScrollingStateScrollingNode::dumpProperties):
(WebCore::ScrollingStateScrollingNode::create): Deleted.
(WebCore::ScrollingStateScrollingNode::clone): Deleted.
(WebCore::ScrollingStateScrollingNode::setViewportSize): Deleted.
(WebCore::ScrollingStateScrollingNode::setFrameScaleFactor): Deleted.
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion): Deleted.
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount): Deleted.
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons): Deleted.
(WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements): Deleted.
(WebCore::ScrollingStateScrollingNode::setHeaderHeight): Deleted.
(WebCore::ScrollingStateScrollingNode::setFooterHeight): Deleted.
(WebCore::ScrollingStateScrollingNode::setTopContentInset): Deleted.
(WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setInsetClipLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setContentShadowLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setHeaderLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setFooterLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars): Deleted.

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::ScrollingStateScrollingNode::scrollableAreaSize):
(WebCore::ScrollingStateScrollingNode::totalContentsSize):

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::commit):

  • page/scrolling/ScrollingStateTree.h:

(WebCore::ScrollingStateTree::rootStateNode):
(WebCore::ScrollingStateTree::setRootStateNode):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::commitNewTreeState):

  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp: Added.

(WebCore::ScrollingTreeFrameScrollingNode::ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::~ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeFrameScrollingNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h.

(WebCore::ScrollingTreeFrameScrollingNode::updateLayersAfterDelegatedScroll):
(WebCore::ScrollingTreeFrameScrollingNode::synchronousScrollingReasons):
(WebCore::ScrollingTreeFrameScrollingNode::shouldUpdateScrollLayerPositionSynchronously):
(WebCore::ScrollingTreeFrameScrollingNode::frameScaleFactor):
(WebCore::ScrollingTreeFrameScrollingNode::headerHeight):
(WebCore::ScrollingTreeFrameScrollingNode::footerHeight):
(WebCore::ScrollingTreeFrameScrollingNode::topContentInset):
(WebCore::ScrollingTreeFrameScrollingNode::scrollBehaviorForFixedElements):

  • page/scrolling/ScrollingTreeNode.h:

(WebCore::ScrollingTreeNode::isFrameScrollingNode):
(WebCore::ScrollingTreeNode::isOverflowScrollingNode):

  • page/scrolling/ScrollingTreeOverflowScrollingNode.cpp: Copied from Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h.

(WebCore::ScrollingTreeOverflowScrollingNode::ScrollingTreeOverflowScrollingNode):
(WebCore::ScrollingTreeOverflowScrollingNode::~ScrollingTreeOverflowScrollingNode):

  • page/scrolling/ScrollingTreeOverflowScrollingNode.h: Copied from Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h.
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNode::updateAfterChildren):
(WebCore::ScrollingTreeScrollingNode::setScrollPosition):
(WebCore::ScrollingTreeScrollingNode::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNode::minimumScrollPosition):
(WebCore::ScrollingTreeScrollingNode::maximumScrollPosition):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::scrollableAreaSize):
(WebCore::ScrollingTreeScrollingNode::totalContentsSize):
(WebCore::ScrollingTreeScrollingNode::totalContentsSizeForRubberBand):
(WebCore::ScrollingTreeScrollingNode::setTotalContentsSizeForRubberBand):
(WebCore::ScrollingTreeScrollingNode::synchronousScrollingReasons): Deleted.
(WebCore::ScrollingTreeScrollingNode::shouldUpdateScrollLayerPositionSynchronously): Deleted.
(WebCore::ScrollingTreeScrollingNode::viewportSize): Deleted.
(WebCore::ScrollingTreeScrollingNode::frameScaleFactor): Deleted.
(WebCore::ScrollingTreeScrollingNode::headerHeight): Deleted.
(WebCore::ScrollingTreeScrollingNode::footerHeight): Deleted.
(WebCore::ScrollingTreeScrollingNode::scrollBehaviorForFixedElements): Deleted.
(WebCore::ScrollingTreeScrollingNode::topContentInset): Deleted.

  • page/scrolling/ios/ScrollingCoordinatorIOS.mm:

(WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h: Renamed from Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h.

(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollLayer):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm: Renamed from Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm.

(WebCore::ScrollingTreeFrameScrollingNodeIOS::create):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::ScrollingTreeFrameScrollingNodeIOS):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::~ScrollingTreeFrameScrollingNodeIOS):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollLayerPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateLayersAfterDelegatedScroll):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::minimumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::maximumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollByWithoutContentEdgeConstraints):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):

  • page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm: Renamed from Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm.

(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Renamed from Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.h.
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm: Renamed from Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm.

(WebCore::ScrollingTreeFrameScrollingNodeMac::create):
(WebCore::ScrollingTreeFrameScrollingNodeMac::ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsHorizontalStretching):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsVerticalStretching):
(WebCore::ScrollingTreeFrameScrollingNodeMac::stretchAmount):
(WebCore::ScrollingTreeFrameScrollingNodeMac::pinnedInDirection):
(WebCore::ScrollingTreeFrameScrollingNodeMac::canScrollHorizontally):
(WebCore::ScrollingTreeFrameScrollingNodeMac::canScrollVertically):
(WebCore::ScrollingTreeFrameScrollingNodeMac::shouldRubberBandInDirection):
(WebCore::ScrollingTreeFrameScrollingNodeMac::absoluteScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer):
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopSnapRubberbandTimer):
(WebCore::ScrollingTreeFrameScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeFrameScrollingNodeMac::minimumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::maximumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateMainFramePinState):
(WebCore::ScrollingTreeFrameScrollingNodeMac::logExposedUnfilledArea):
(WebCore::logThreadedScrollingMode):
(WebCore::logWheelEventHandlerCountChanged):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

Source/WebKit2:

In both the scrolling state tree and the scrolling tree, split the "scrolling nodes"
into FrameScrolling and OverflowScrolling nodes.

Move what was the "viewportSize" property onto the base class for the scrolling
nodes, calling it "scrollableAreaSize".

Make minimum/maximumScrollPosition() virtual so we can share more code (and there
is more code sharing to be done in future).

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateOverflowScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
(ArgumentCoder<ScrollingStateOverflowScrollingNode>::decode):
(WebKit::encodeNodeAndDescendants):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::createNode):

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollLayer):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterViewportChange):

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::ScrollingTreeOverflowScrollingNodeIOS):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateBeforeChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::setScrollLayerPosition):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

LayoutTests:

Updated for new node name. No geometry changes.

  • platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt:
  • platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt:
  • platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt:
1:13 PM Changeset in webkit [169062] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r169039.

1:12 PM Changeset in webkit [169061] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r169026.

1:11 PM Changeset in webkit [169060] by Lucas Forschler
  • 24 edits
    17 copies
    2 deletes in branches/safari-538.34.5-branch/Source

Merged r169023.

1:09 PM Changeset in webkit [169059] by Lucas Forschler
  • 13 edits in branches/safari-538.34.5-branch

Merged r169016.

1:08 PM Changeset in webkit [169058] by Lucas Forschler
  • 2 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r169015.

1:05 PM Changeset in webkit [169057] by Lucas Forschler
  • 3 edits in branches/safari-538.34.5-branch/Source/WebKit2

Merged r169000.

12:58 PM Changeset in webkit [169056] by Lucas Forschler
  • 27 edits
    6 copies in branches/safari-538.34.5-branch/Source

Merged r168994.

12:54 PM Changeset in webkit [169055] by Lucas Forschler
  • 4 edits in branches/safari-538.34.5-branch/Source/WebCore

Merged r168909.

12:10 PM Changeset in webkit [169054] by Alan Bujtas
  • 9 edits in trunk/LayoutTests

Fix Element.offset* and .client* rounding mismatches after r168868.
https://bugs.webkit.org/show_bug.cgi?id=133076

Unreviewed gardening.

  • 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-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:
11:33 AM Changeset in webkit [169053] by Simon Fraser
  • 5 edits
    2 adds in trunk

Images missing sometimes with composited clipping layers
https://bugs.webkit.org/show_bug.cgi?id=133065
<rdar://problem/15224559>

Reviewed by Beth Dakin.

Source/WebCore:

When support for solid colors on layers was added, a layer was considered a candidate
for the solid color optimization without regard to whether it had descendent layers
with "paintsIntoCompositedAncestor" requirements.

Fix hasVisibleNonCompositingDescendantLayers(), renaming it to isPaintDestinationForDescendentLayers()
and having it take into account whether descendent layers need to paint into an
ancestor.

Also, this test has to happen after those descendent layers have had their
compositing state updated, so move the isSimpleContainerCompositingLayer() to
a new updateAfterDescendents() function which is called from the various
places we do compositing-udpate-tree-walks.

Test: compositing/backing/solid-color-with-paints-into-ancestor.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateAfterDescendents):
(WebCore::RenderLayerBacking::paintsChildren):
(WebCore::compositedWithOwnBackingStore):
(WebCore::descendentLayerPaintsIntoAncestor):
(WebCore::RenderLayerBacking::isPaintDestinationForDescendentLayers):
(WebCore::hasVisibleNonCompositingDescendant): Deleted.
(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers): Deleted.

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):

LayoutTests:

  • compositing/backing/solid-color-with-paints-into-ancestor-expected.html: Added.
  • compositing/backing/solid-color-with-paints-into-ancestor.html: Added.
11:14 AM Changeset in webkit [169052] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Fix a typo in plug-in sandbox
https://bugs.webkit.org/show_bug.cgi?id=133074

Reviewed by Anders Carlsson.

  • Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
11:00 AM Changeset in webkit [169051] by aestes@apple.com
  • 3 edits in trunk/Source/WebKit2

[WebKit2] Wake up threads blocked in waitForAndDispatchImmediately() if we lose our connection
https://bugs.webkit.org/show_bug.cgi?id=133010

Reviewed by Geoffrey Garen.

If a thread is blocked on m_waitForMessageCondition and we lose our connection, treat that like we do a timeout.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::Connection):
(IPC::Connection::waitForMessage):
(IPC::Connection::connectionDidClose):

  • Platform/IPC/Connection.h:
10:50 AM Changeset in webkit [169050] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Script include paths for js-test-pre.js and js-test-post.js were incorrect.
https://bugs.webkit.org/show_bug.cgi?id=133072

Patch by Jono Wells <jonowells@apple.com> on 2014-05-19
Reviewed by Andy Estes.

  • http/tests/navigation/forward-to-fragment-fires-onload.html: Fixed script includes.
10:45 AM Changeset in webkit [169049] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Set WebKitSuppressesIncrementalRenderingKey to NO by default on both Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=133073

Reviewed by Simon Fraser.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

10:37 AM Changeset in webkit [169048] by Alan Bujtas
  • 70 edits
    5 adds in trunk

REGRESSION (r133351, sub-pixel layout): Right-to-left block with text-overflow: ellipsis truncates prematurely (breaks facebook.com Hebrew UI)
https://bugs.webkit.org/show_bug.cgi?id=112227

Reviewed by Maciej Stachowiak.

This patch removes unnecessary integral snapping of inlines at layout time.

Source/WebCore:
The general rule of thumb of using round/floor/ceil at layout time is to not use them.

When some computed values (x, y, width, height) get snapped during layout, while others don't,
intersecting/measuring mismatches could occur and they could end up producing visual artifacts such as truncations.
This patch also enables iframe content to be positioned on odd device pixel positions on retina displays.

Tests: fast/frames/hidpi-position-iframe-on-device-pixel.html

fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off.html

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Deleted.
(WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): Deleted.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::updateLogicalInlinePositions):
(WebCore::RenderBlockFlow::deleteEllipsisLineBoxes):
(WebCore::RenderBlockFlow::checkLinesForTextOverflow):

LayoutTests:
1px off differences and rounding expected results to match new behavior. -rebaselining.

  • fast/frames/hidpi-position-iframe-on-device-pixel-expected.html: Added.
  • fast/frames/hidpi-position-iframe-on-device-pixel.html: Added.
  • fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off-expected.html: Added.
  • fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html:
  • fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html:
  • fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html:
  • fast/shapes/shape-outside-floats/shape-outside-rounded-inset-expected.html:
  • platform/mac/TestExpectations:
  • platform/mac/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/mac/css1/text_properties/text_indent-expected.txt:
  • platform/mac/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/mac/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
  • platform/mac/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
  • platform/mac/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
  • platform/mac/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
  • platform/mac/css3/unicode-bidi-isolate-basic-expected.txt:
  • platform/mac/editing/selection/caret-ltr-2-expected.txt:
  • platform/mac/editing/selection/caret-ltr-2-left-expected.txt:
  • platform/mac/editing/selection/caret-rtl-expected.txt:
  • platform/mac/editing/selection/caret-rtl-right-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
  • platform/mac/fast/block/float/026-expected.txt:
  • platform/mac/fast/block/float/028-expected.txt:
  • platform/mac/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.
  • platform/mac/fast/css/empty-pseudo-class-expected.txt:
  • platform/mac/fast/css/first-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/first-of-type-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-of-type-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-of-type-pseudo-class-expected.txt:
  • platform/mac/fast/css/text-overflow-input-expected.txt:
  • platform/mac/fast/forms/file/file-input-direction-expected.txt:
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/mac/fast/forms/number/number-appearance-rtl-expected.txt:
  • platform/mac/fast/forms/placeholder-position-expected.txt:
  • platform/mac/fast/forms/search-rtl-expected.txt:
  • platform/mac/fast/line-grid/line-align-left-edges-expected.txt:
  • platform/mac/fast/lists/008-expected.txt:
  • platform/mac/fast/lists/008-vertical-expected.txt:
  • platform/mac/fast/multicol/column-count-with-rules-expected.txt:
  • platform/mac/fast/multicol/float-multicol-expected.txt:
  • platform/mac/fast/multicol/layers-in-multicol-expected.txt:
  • platform/mac/fast/multicol/vertical-lr/float-multicol-expected.txt:
  • platform/mac/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
  • platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/mac/fast/text/script-tests/ligature-subdivision.js:
  • platform/mac/fast/text/vertical-rl-rtl-linebreak-expected.txt:
  • platform/mac/fast/text/whitespace/024-expected.txt:
  • platform/mac/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
  • platform/mac/fast/text/word-break-run-rounding-expected.txt:
  • platform/mac/svg/wicd/rightsizing-grid-expected.txt:
9:10 AM Changeset in webkit [169047] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: iOS: using AXAttributeCacheEnabler is too slow for every accessibilityElementAtIndex:
https://bugs.webkit.org/show_bug.cgi?id=133043

Reviewed by Mario Sanchez Prada.

iOS Accessibility code tries to improve performance by caching attributes when accessing
elements through the platform API. However, those API calls can be used very frequently when
iterating elements. Creating the AXAttributeCacheEnabler object and tearing it down is proving
to be the hottest code path in samples for accessibility access.

We need to move the logic for enabling/disabling the attribute cache to a level that can make
a more informed decision about when to enable/disable.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper enableAttributeCaching]):
(-[WebAccessibilityObjectWrapper disableAttributeCaching]):
(-[WebAccessibilityObjectWrapper accessibilityElementCount]):
(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
(-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):

8:53 AM Changeset in webkit [169046] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Use RenderStyle& in more places in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=133061

Reviewed by Andreas Kling.

Convert several member functions to use references to RenderStyle rather
than pointers. Move canCreateTiledImage() higher in the file (no code
changes). Other minor cleanup.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateOpacity):
(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateFilters):
(WebCore::RenderLayerBacking::updateBlendMode):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::hasBoxDecorations):
(WebCore::canCreateTiledImage):
(WebCore::hasBoxDecorationsOrBackgroundImage):
(WebCore::hasPerspectiveOrPreserves3D):
(WebCore::supportsDirectBoxDecorationsComposition):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::startTransition):

  • rendering/RenderLayerBacking.h:
8:53 AM Changeset in webkit [169045] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Rename some RenderLayerBacking member functions
https://bugs.webkit.org/show_bug.cgi?id=133030

Reviewed by Sam Weinig.

Remove "GraphicsLayer" from some member function names on RenderLayerBacking.

No behavior change.

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

(WebCore::AVFWrapper::createAVCFVideoLayer):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterLayout):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Deleted.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Deleted.

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateLayerCompositingState):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::attachRootLayer):

8:18 AM Changeset in webkit [169044] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

Unreviewed gardening, try to unbreak Mac buildbots and EWS bots after r169023.

  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
4:09 AM Changeset in webkit [169043] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

run-javascriptcore-tests should sort the list of failing stress tests
https://bugs.webkit.org/show_bug.cgi?id=132989

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

  • Scripts/run-javascriptcore-tests:
2:17 AM Changeset in webkit [169042] by ddkilzer@apple.com
  • 5 edits in trunk/Tools

webkitdirs.pm: Add setupMacWebKitEnvironment() to set XPC_DYLD_FRAMEWORK_PATH consistently
<http://webkit.org/b/132954>

Reviewed by Darin Adler.

Extract code into setupMacWebKitEnvironment() for setting up
common environment variables so it may be shared. Sets
XPC_DYLD_FRAMEWORK_PATH consistently and adds support for
using guardmalloc to some scripts.

Also adds support for parsing shared (common) command-line

switches, initially just -gguard-malloc.
Scripts/bisect-builds: Add -gguard-malloc support by using

sharedCommandLineOptions() and sharedCommandLineOptionsUsage().
(mountAndRunNightly): Call setupMacWebKitEnvironment(). Use a
local copy of %ENV when launching Safari so we don't have to
restore variables.

Scripts/run-api-tests: Add -gguard-malloc support by using

sharedCommandLineOptions() and sharedCommandLineOptionsUsage().
Check result of GetOptions() to catch invalid command-line
switches.
(runTest): Use a local copy of %ENV when running tests so we
don't have to restore variables.
(prepareEnvironmentForRunningTestTool): Call
setupMacWebKitEnvironment().

Scripts/run-pageloadtest: Add -gguard-malloc support by

using sharedCommandLineOptions() and
sharedCommandLineOptionsUsage(). Call
setupMacWebKitEnvironment().

  • Scripts/webkitdirs.pm:

(sharedCommandLineOptions): Return array of common switches to
pass to Getopt::Long::GetOptions().
(sharedCommandLineOptionsUsage): Return formatted string of
common switches for printing usage help text.
(setUpGuardMallocIfNeeded): Support using '-g' for enabling
guardmalloc.
(printHelpAndExitForRunAndDebugWebKitAppIfNeeded): Ditto.
(setupMacWebKitEnvironment): Extracted from runMacWebKitApp()
and changed not to clobber DYLD_FRAMEWORK_PATH if already set.
(runMacWebKitApp): Call setupMacWebKitEnvironment(). Use a
local copy of %ENV when launching Safari so we don't have to
restore variables.
(execMacWebKitAppForDebugging): Call
setupMacWebKitEnvironment().

2:02 AM Changeset in webkit [169041] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Fix assertion failure with simple line layout debug borders enabled.

Rubber-stamped by Andreas Kling.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintDebugBorders): We shoudn't try to paint empty rects.

2:00 AM Changeset in webkit [169040] by commit-queue@webkit.org
  • 9 edits in trunk/Source/JavaScriptCore

Removing some check-webkit-style warnings from ./dfg
https://bugs.webkit.org/show_bug.cgi?id=132854

Patch by Tanay C <tanay.c@samsung.com> on 2014-05-19
Reviewed by Darin Adler.

  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractValue.h:
  • dfg/DFGBlockInsertionSet.h:
  • dfg/DFGCommonData.h:
  • dfg/DFGDominators.h:
  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.h:
  • dfg/DFGPredictionPropagationPhase.h:
1:44 AM Changeset in webkit [169039] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix after r169023.

  • Shared/API/Cocoa/WebKitPrivate.h: Stop including headers that no longer exist.

I hope for weinig's sake that no-one was relying on them.

May 18, 2014:

11:44 PM Changeset in webkit [169038] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Reduce constructor copypasta in RenderText and RenderElement.
<https://webkit.org/b/133056>

Use delegating constructors to remove duplicated initializer lists
from the constructors of RenderText and RenderElement.

Reviewed by Anders Carlsson.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

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

(WebCore::RenderText::RenderText):

  • rendering/RenderText.h:
10:50 PM Changeset in webkit [169037] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Crash during scroll when latched
https://bugs.webkit.org/show_bug.cgi?id=133064

Reviewed by Simon Fraser.

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformPrepareForWheelEvents): Prevent dereference of NULL
wheelEventTarget argument.

9:48 PM Changeset in webkit [169036] by Lucas Forschler
  • 1 delete in tags/Safari-538.34.42/safari-538.34-branch

Remove Duplicate Tag.

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

Versioning.

9:35 PM Changeset in webkit [169034] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.42/safari-538.34-branch

New Tag.

9:34 PM Changeset in webkit [169033] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.42

New Tag.

7:37 PM Changeset in webkit [169032] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, remove bogus comment. We already made the FTL use our calling convention.
That was a long time ago.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileReturn):

5:51 PM Changeset in webkit [169031] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168976.

5:45 PM Changeset in webkit [169030] by bshafiei@apple.com
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

5:43 PM Changeset in webkit [169029] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.34.7

New tag.

5:35 PM Changeset in webkit [169028] by bshafiei@apple.com
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

5:28 PM Changeset in webkit [169027] by bshafiei@apple.com
  • 3 edits in branches/safari-538.34.5-branch/Source/WebKit/mac

Merged r169018.

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

Relax an assertion when creating document loaders
https://bugs.webkit.org/show_bug.cgi?id=133058

Reviewed by Sam Weinig.

When navigating back/forward items recursively, createDocumentLoader will be called
for subframes before main frames so only associate the navigation with main frames.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createDocumentLoader):

4:30 PM Changeset in webkit [169025] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

CMake Buildfix after r169023.

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

  • CMakeLists.txt: Add new files after r168994.
4:25 PM Changeset in webkit [169024] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Input ::selection pseudo class does not work leading to hidden selection
https://bugs.webkit.org/show_bug.cgi?id=38943

Source/WebCore:

Patch by Svetlana Redchenko <redchenko@yandex-team.ru> on 2014-05-18
Reviewed by Darin Adler.

Test: fast/selectors/input-with-selection-pseudo-element.html

When text is selected inside input element, it should change the
color and background color according to the ::selection pseudo element.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::selectionBackgroundColor):
(WebCore::RenderObject::selectionColor):
(WebCore::RenderObject::selectionPseudoStyle):

  • rendering/RenderObject.h:

LayoutTests:

Patch by Svetlana Redchenko <redchenko@yandex-team.ru> on 2014-05-18
Reviewed by Darin Adler.

  • fast/selectors/input-with-selection-pseudo-element-expected.html: Added.
  • fast/selectors/input-with-selection-pseudo-element.html: Added.
4:12 PM Changeset in webkit [169023] by weinig@apple.com
  • 24 edits
    1 move
    16 adds
    1 delete in trunk/Source

[WebKit2] Implement ScriptMessageHandlers
https://bugs.webkit.org/show_bug.cgi?id=133053

Reviewed by Anders Carlsson.

  • DerivedSources.make:

../WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::finishCreation):

  • bindings/js/JSUserMessageHandlersNamespaceCustom.cpp: Added.

(WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::shouldHaveWebKitNamespaceForWorld):
(WebCore::DOMWindow::webkitNamespace):

  • page/DOMWindow.h:
  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserMessageHandlerDescriptor):
(WebCore::UserContentController::removeUserMessageHandlerDescriptor):

  • page/UserContentController.h:

(WebCore::UserContentController::userMessageHandlerDescriptors):

  • page/UserMessageHandler.cpp: Added.

(WebCore::UserMessageHandler::UserMessageHandler):
(WebCore::UserMessageHandler::~UserMessageHandler):
(WebCore::UserMessageHandler::postMessage):
(WebCore::UserMessageHandler::name):
(WebCore::UserMessageHandler::world):

  • page/UserMessageHandler.h: Added.

(WebCore::UserMessageHandler::create):

  • page/UserMessageHandler.idl: Added.
  • page/UserMessageHandlerDescriptor.cpp: Added.

(WebCore::UserMessageHandlerDescriptor::UserMessageHandlerDescriptor):
(WebCore::UserMessageHandlerDescriptor::~UserMessageHandlerDescriptor):
(WebCore::UserMessageHandlerDescriptor::name):
(WebCore::UserMessageHandlerDescriptor::world):

  • page/UserMessageHandlerDescriptor.h: Added.

(WebCore::UserMessageHandlerDescriptor::Client::~Client):
(WebCore::UserMessageHandlerDescriptor::create):
(WebCore::UserMessageHandlerDescriptor::client):

  • page/UserMessageHandlerDescriptorTypes.h: Added.
  • page/UserMessageHandlersNamespace.cpp: Added.

(WebCore::UserMessageHandlersNamespace::UserMessageHandlersNamespace):
(WebCore::UserMessageHandlersNamespace::~UserMessageHandlersNamespace):
(WebCore::UserMessageHandlersNamespace::handler):

  • page/UserMessageHandlersNamespace.h: Added.

(WebCore::UserMessageHandlersNamespace::create):

  • page/UserMessageHandlersNamespace.idl: Added.
  • page/WebKitNamespace.cpp: Added.

(WebCore::WebKitNamespace::WebKitNamespace):
(WebCore::WebKitNamespace::~WebKitNamespace):
(WebCore::WebKitNamespace::messageHandlers):

  • page/WebKitNamespace.h: Added.

(WebCore::WebKitNamespace::create):

  • page/WebKitNamespace.idl: Added.

../WebKit2:

  • Scripts/webkit2/messages.py:

(struct_or_class):
(argument_coder_headers_for_type):
(headers_for_type):

  • UIProcess/API/Cocoa/WKScriptMessage.mm:

(-[WKScriptMessage _initWithBody:webView:name:]):
(-[WKScriptMessage body]):
(-[WKScriptMessage webView]):
(-[WKScriptMessage name]):
(-[WKScriptMessage _scriptWorld]): Deleted.

  • UIProcess/API/Cocoa/WKScriptMessageInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKScriptMessagePrivate.h.
  • UIProcess/API/Cocoa/WKScriptMessagePrivate.h: Removed.
  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController addScriptMessageHandler:name:]):
(-[WKUserContentController removeScriptMessageHandlerForName:]):
(-[WKUserContentController _addScriptMessageHandler:name:world:]): Deleted.
(-[WKUserContentController _removeScriptMessageHandlerForName:world:]): Deleted.

  • UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Removed.
  • UIProcess/API/Cocoa/WKWebView.mm:

(pageToViewMap):
(fromWebPageProxy):
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView dealloc]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/UserContent/WebScriptMessageHandler.cpp: Added.

(WebKit::WebScriptMessageHandlerHandle::encode):
(WebKit::WebScriptMessageHandlerHandle::decode):
(WebKit::generateIdentifier):
(WebKit::WebScriptMessageHandler::create):
(WebKit::WebScriptMessageHandler::WebScriptMessageHandler):
(WebKit::WebScriptMessageHandler::~WebScriptMessageHandler):

  • UIProcess/UserContent/WebScriptMessageHandler.h: Added.

(WebKit::WebScriptMessageHandler::Client::~Client):
(WebKit::WebScriptMessageHandler::handle):
(WebKit::WebScriptMessageHandler::identifier):
(WebKit::WebScriptMessageHandler::name):
(WebKit::WebScriptMessageHandler::client):

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::removeProcess):
(WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
(WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
(WebKit::WebUserContentControllerProxy::didPostMessage):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.messages.in: Added.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserMessageHandlerDescriptorProxy::create):
(WebKit::WebUserMessageHandlerDescriptorProxy::~WebUserMessageHandlerDescriptorProxy):
(WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage):
(WebKit::WebUserMessageHandlerDescriptorProxy::descriptor):
(WebKit::WebUserMessageHandlerDescriptorProxy::identifier):
(WebKit::WebUserMessageHandlerDescriptorProxy::WebUserMessageHandlerDescriptorProxy):
(WebKit::WebUserContentController::addUserScriptMessageHandlers):
(WebKit::WebUserContentController::removeUserScriptMessageHandler):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:
4:10 PM Changeset in webkit [169022] by bshafiei@apple.com
  • 3 edits in tags/Safari-538.34.6/Source/WebKit/mac

Merged r169018.

4:06 PM Changeset in webkit [169021] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.34.6/Source

Versioning.

4:01 PM Changeset in webkit [169020] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.34.6

New tag.

3:03 PM Changeset in webkit [169019] by mjs@apple.com
  • 4 edits in trunk

REGRESSION (r156546): Default media controls are laid out incorrectly when media element is styled with direction:rtl
https://bugs.webkit.org/show_bug.cgi?id=132531
<rdar://problem/16806267>

Source/WebCore:

Reviewed by Mark Rowe.

This was already tested by the media/video-rtl.htm reftest, now unskipped.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel): Add missing direction: ltr

LayoutTests:

Reviewed by Mark Rowe.

  • platform/mac/TestExpectations: Unskip media/video-rtl.html
2:36 PM Changeset in webkit [169018] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Bring back two NSString category methods on iOS
https://bugs.webkit.org/show_bug.cgi?id=133055
<rdar://problem/16951983>

Reviewed by Adele Peterson.

  • Misc/WebNSURLExtras.h:
  • Misc/WebNSURLExtras.mm:

(-[NSString _webkit_unescapedQueryValue]):
(-[NSString _webkit_queryKeysAndValues]):

1:36 PM Changeset in webkit [169017] by cabanier@adobe.com
  • 22 edits
    2 adds in trunk

support for navigator.hardwareConcurrency
https://bugs.webkit.org/show_bug.cgi?id=132588

Reviewed by Filip Pizlo.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:
Added a new API that returns the number of CPU cores up to 8.

Test: fast/dom/navigator-hardwareConcurrency.html

  • Configurations/FeatureDefines.xcconfig:
  • page/Navigator.cpp:

(WebCore::Navigator::hardwareConcurrency):

  • page/Navigator.h:
  • page/Navigator.idl:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • fast/dom/navigator-detached-no-crash-expected.txt:
  • fast/dom/navigator-hardwareConcurrency-expected.txt: Added.
  • fast/dom/navigator-hardwareConcurrency.html: Added.
12:33 PM Changeset in webkit [169016] by andersca@apple.com
  • 13 edits in trunk

Implement Navigations for all methods declared returning one
https://bugs.webkit.org/show_bug.cgi?id=133048
<rdar://problem/16830064>

Reviewed by Sam Weinig.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
Create and return navigations.

(-[WKWebView _reload]):
Call -[WKWebView reload].

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

(WebKit::NavigationState::createBackForwardNavigation):
Create a back/forward navigation.

(WebKit::NavigationState::createReloadNavigation):
Create a reload navigation.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reattachToWebProcessWithItem):
Generate a navigation ID and send it with the GoToBackForwardItem message.

(WebKit::WebPageProxy::reload):
Return a navigation ID.

(WebKit::WebPageProxy::goForward):
Generate a navigation ID and send it with the GoForward message.

(WebKit::WebPageProxy::goBack):
Generate a navigation ID and send it with the GoBack message.

(WebKit::WebPageProxy::goToBackForwardItem):
Generate a navigation ID and send it with the GoToBackForwardItem message.

  • UIProcess/WebPageProxy.h:

Return navigation IDs where appropriate.

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::restoreFromSessionStateData):
Generate a navigation ID and send it with the RestoreSessionAndNavigateToCurrentItem message.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::goForward):
(WebKit::WebPage::goBack):
(WebKit::WebPage::goToBackForwardItem):
Set up the pending navigation ID.

(WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
Call goToBackForwardItem with a navigation ID.

  • WebProcess/WebPage/WebPage.h:

Add navigation IDs.

  • WebProcess/WebPage/WebPage.messages.in:

Add navigation IDs.

Tools:

  • MiniBrowser/mac/MiniBrowser_Prefix.pch:

Import WebKit.h.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController webView:didStartProvisionalNavigation:]):
(-[WK2BrowserWindowController webView:didReceiveServerRedirectForProvisionalNavigation:]):
(-[WK2BrowserWindowController webView:didFailProvisionalNavigation:withError:]):
(-[WK2BrowserWindowController webView:didCommitNavigation:]):
(-[WK2BrowserWindowController webView:didFinishLoadingNavigation:]):
(-[WK2BrowserWindowController webView:didFailNavigation:withError:]):
Print out the navigations.

10:47 AM Changeset in webkit [169015] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix iOS build.

  • WebCore.exp.in:

Move UserContentController symbols to the right place.

10:32 AM Changeset in webkit [169014] by fpizlo@apple.com
  • 3 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Factor out how CallLinkStatus uses exit site data
https://bugs.webkit.org/show_bug.cgi?id=133042

Reviewed by Anders Carlsson.

This makes it easier to use CallLinkStatus from clients that are calling into after
already holding some of the relevant locks. This is necessary because we use a "one lock
at a time" policy for CodeBlock locks: if you hold one then you're not allowed to acquire
any of the others. So, any code that needs to lock multiple CodeBlock locks needs to sort
of lock one, do some stuff, release it, then lock another, and then do more stuff. The
exit site data corresponds to the stuff you do while holding the baseline lock, while the
CallLinkInfo method corresponds to the stuff you do while holding the CallLinkInfo owner's
lock.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeDFGStatuses):

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::ExitSiteData::ExitSiteData):

9:53 AM Changeset in webkit [169013] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for r169006.

Unreviewed.

  • loader/ResourceLoader.h: Return didCreateQuickLookHandle() to public.
9:29 AM Changeset in webkit [169012] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

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

We can't expose the C SPI from WKWebView (Requested by
andersca on #webkit).

Reverted changeset:

"Need a way to get a WKPageRef from a WKWebView"
https://bugs.webkit.org/show_bug.cgi?id=133015
http://trac.webkit.org/changeset/169001

3:51 AM Changeset in webkit [169011] by Antti Koivisto
  • 9 edits
    2 adds in trunk

REGRESSION (r160259): text-combine glyphs are not rendered
https://bugs.webkit.org/show_bug.cgi?id=127324

Reviewed by Andreas Kling.

Source/WebCore:

The original text gets overwritten by a change that is supposed to affect rendered text only.
Fixed by giving the text update functions well-defined purposes.

Test: fast/text/text-combine-rendering.html

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::styleDidChange):
(WebCore::RenderCombineText::setRenderedText):
(WebCore::RenderCombineText::combineText):
(WebCore::RenderCombineText::setTextInternal): Deleted.

  • rendering/RenderCombineText.h:
  • rendering/RenderCounter.cpp:

(WebCore::RenderCounter::computePreferredLogicalWidths):

  • rendering/RenderText.cpp:

(WebCore::RenderText::setRenderedText):

This function now updates the rendered text but does not change the original.
Get the original text by calling originalText().

(WebCore::RenderText::setText):

This the only place original text now changes.

(WebCore::RenderText::setTextInternal): Deleted.

Renamed to setRenderedText.

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

(WebCore::RenderSVGInlineText::setRenderedText):
(WebCore::RenderSVGInlineText::setTextInternal): Deleted.

  • rendering/svg/RenderSVGInlineText.h:

LayoutTests:

  • fast/text/text-combine-rendering-expected.html: Added.
  • fast/text/text-combine-rendering.html: Added.
12:57 AM Changeset in webkit [169010] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2][GTK] Buildfix after r168999.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.

12:52 AM Changeset in webkit [169009] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2][EFL] Buildfix after r168999.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.

12:43 AM Changeset in webkit [169008] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2][cmake] Buildfix after r168994.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

  • CMakeLists.txt: Added new files to the build system introduced in r168994.
Note: See TracTimeline for information about the timeline view.