WebKit-https.git
7 years agoTake care of some ARM64 test failures
fpizlo@apple.com [Tue, 20 May 2014 01:53:56 +0000 (01:53 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWK2 iOS: Pressing the form navigation button causes the keyboard to be dismissed.
enrica@apple.com [Tue, 20 May 2014 01:09:37 +0000 (01:09 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS] Use status display for live streams
dino@apple.com [Tue, 20 May 2014 00:55:42 +0000 (00:55 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoText decorations do not contribute to visual overflow
mmaxfield@apple.com [Tue, 20 May 2014 00:45:52 +0000 (00:45 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS] REGRESSION (r168910): webkitdirs.pm: Be more forgiving when parsing --sdk,...
ddkilzer@apple.com [Tue, 20 May 2014 00:43:59 +0000 (00:43 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoTelephoneNumberOverlayController should use a modern loop for text quad bounding
bdakin@apple.com [Tue, 20 May 2014 00:24:55 +0000 (00:24 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPlatformCALayerRemoteCustom properties aren't initialized to match the PlatformLayer
commit-queue@webkit.org [Tue, 20 May 2014 00:18:38 +0000 (00:18 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix after r169082
achristensen@apple.com [Tue, 20 May 2014 00:01:12 +0000 (00:01 +0000)]
Unreviewed build fix after r169082

* platform/network/ResourceHandle.h:
Added NSDictionary declaration.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION: Standalone images need to take topContentInset into account
bdakin@apple.com [Mon, 19 May 2014 23:56:55 +0000 (23:56 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCollect web timing data on iOS.
achristensen@apple.com [Mon, 19 May 2014 23:45:54 +0000 (23:45 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: VoiceOver sees the WebArea out of order when topContentInset is used
cfleizach@apple.com [Mon, 19 May 2014 23:37:56 +0000 (23:37 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDashboard: OpenSource revision key changed from WebKitOpenSource to WebKit
dfarler@apple.com [Mon, 19 May 2014 23:08:58 +0000 (23:08 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUse different AppKit API for image control menus.
beidson@apple.com [Mon, 19 May 2014 22:41:18 +0000 (22:41 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r169042): Fix run-api-tests on Mountain Lion
ddkilzer@apple.com [Mon, 19 May 2014 22:39:27 +0000 (22:39 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS][WK2] When a page relayout on dynamic resize, keep the same relative width in...
benjamin@webkit.org [Mon, 19 May 2014 21:42:38 +0000 (21:42 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Inspect Element sometimes does not select the right DOM Node
commit-queue@webkit.org [Mon, 19 May 2014 21:19:49 +0000 (21:19 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] Add some missing state reset on crash
benjamin@webkit.org [Mon, 19 May 2014 21:17:06 +0000 (21:17 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoScrollbars display incorrectly after switching between fast and slow scrolling
bdakin@apple.com [Mon, 19 May 2014 21:09:01 +0000 (21:09 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS][WK2] Move scale noise filtering to the WebProcess
benjamin@webkit.org [Mon, 19 May 2014 21:02:24 +0000 (21:02 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSplit scrolling tree ScrollingNodes into FrameScrollingNodes and OverflowScrollingNodes
simon.fraser@apple.com [Mon, 19 May 2014 20:23:10 +0000 (20:23 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix Element.offset* and .client* rounding mismatches after r168868.
zalan@apple.com [Mon, 19 May 2014 19:10:46 +0000 (19:10 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169054 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImages missing sometimes with composited clipping layers
simon.fraser@apple.com [Mon, 19 May 2014 18:33:26 +0000 (18:33 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169053 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Mac] Fix a typo in plug-in sandbox
ap@apple.com [Mon, 19 May 2014 18:14:09 +0000 (18:14 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169052 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WebKit2] Wake up threads blocked in waitForAndDispatchImmediately() if we lose our...
aestes@apple.com [Mon, 19 May 2014 18:00:10 +0000 (18:00 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169051 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoScript include paths for js-test-pre.js and js-test-post.js were incorrect.
commit-queue@webkit.org [Mon, 19 May 2014 17:50:49 +0000 (17:50 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169050 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSet WebKitSuppressesIncrementalRenderingKey to NO by default on both Mac and iOS
aestes@apple.com [Mon, 19 May 2014 17:45:57 +0000 (17:45 +0000)]
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]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169049 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r133351, sub-pixel layout): Right-to-left block with text-overflow: ellip...
zalan@apple.com [Mon, 19 May 2014 17:37:22 +0000 (17:37 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169048 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: iOS: using AXAttributeCacheEnabler is too slow for every accessibilityElementAtIndex:
cfleizach@apple.com [Mon, 19 May 2014 16:10:54 +0000 (16:10 +0000)]
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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169047 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUse RenderStyle& in more places in RenderLayerBacking
simon.fraser@apple.com [Mon, 19 May 2014 15:53:37 +0000 (15:53 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169046 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRename some RenderLayerBacking member functions
simon.fraser@apple.com [Mon, 19 May 2014 15:53:32 +0000 (15:53 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169045 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed gardening, try to unbreak Mac buildbots and EWS bots after r169023.
ossy@webkit.org [Mon, 19 May 2014 15:18:38 +0000 (15:18 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169044 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agorun-javascriptcore-tests should sort the list of failing stress tests
commit-queue@webkit.org [Mon, 19 May 2014 11:09:16 +0000 (11:09 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169043 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agowebkitdirs.pm: Add setupMacWebKitEnvironment() to set __XPC_DYLD_FRAMEWORK_PATH consi...
ddkilzer@apple.com [Mon, 19 May 2014 09:17:53 +0000 (09:17 +0000)]
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 -g|--guard-malloc.

* Scripts/bisect-builds: Add -g|--guard-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 -g|--guard-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 -g|--guard-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().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169042 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix assertion failure with simple line layout debug borders enabled.
antti@apple.com [Mon, 19 May 2014 09:02:04 +0000 (09:02 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169041 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemoving some check-webkit-style warnings from ./dfg
commit-queue@webkit.org [Mon, 19 May 2014 09:00:56 +0000 (09:00 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169040 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix after r169023.
mrowe@apple.com [Mon, 19 May 2014 08:44:52 +0000 (08:44 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169039 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoReduce constructor copypasta in RenderText and RenderElement.
akling@apple.com [Mon, 19 May 2014 06:44:35 +0000 (06:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169038 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCrash during scroll when latched
bfulgham@apple.com [Mon, 19 May 2014 05:50:30 +0000 (05:50 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169037 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, remove bogus comment. We already made the FTL use our calling convention.
fpizlo@apple.com [Mon, 19 May 2014 02:37:54 +0000 (02:37 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169032 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRelax an assertion when creating document loaders
andersca@apple.com [Mon, 19 May 2014 00:12:32 +0000 (00:12 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169026 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCMake Buildfix after r169023.
ossy@webkit.org [Sun, 18 May 2014 23:30:47 +0000 (23:30 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169025 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoInput ::selection pseudo class does not work leading to hidden selection
commit-queue@webkit.org [Sun, 18 May 2014 23:25:17 +0000 (23:25 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169024 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WebKit2] Implement ScriptMessageHandlers
weinig@apple.com [Sun, 18 May 2014 23:12:37 +0000 (23:12 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169023 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r156546): Default media controls are laid out incorrectly when media...
mjs@apple.com [Sun, 18 May 2014 22:03:07 +0000 (22:03 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169019 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBring back two NSString category methods on iOS
andersca@apple.com [Sun, 18 May 2014 21:36:49 +0000 (21:36 +0000)]
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]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169018 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agosupport for navigator.hardwareConcurrency
cabanier@adobe.com [Sun, 18 May 2014 20:36:43 +0000 (20:36 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169017 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImplement Navigations for all methods declared returning one
andersca@apple.com [Sun, 18 May 2014 19:33:58 +0000 (19:33 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169016 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix iOS build.
andersca@apple.com [Sun, 18 May 2014 17:47:11 +0000 (17:47 +0000)]
Fix iOS build.

* WebCore.exp.in:
Move UserContentController symbols to the right place.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169015 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix for r169006.
jonlee@apple.com [Sun, 18 May 2014 16:53:03 +0000 (16:53 +0000)]
Build fix for r169006.

Unreviewed.

* loader/ResourceLoader.h: Return didCreateQuickLookHandle() to public.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169013 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r169001.
commit-queue@webkit.org [Sun, 18 May 2014 16:29:07 +0000 (16:29 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169012 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r160259): text-combine glyphs are not rendered
antti@apple.com [Sun, 18 May 2014 10:51:53 +0000 (10:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169011 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2][GTK] Buildfix after r168999.
ossy@webkit.org [Sun, 18 May 2014 07:57:27 +0000 (07:57 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169010 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2][EFL] Buildfix after r168999.
ossy@webkit.org [Sun, 18 May 2014 07:52:55 +0000 (07:52 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169009 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2][cmake] Buildfix after r168994.
ossy@webkit.org [Sun, 18 May 2014 07:43:40 +0000 (07:43 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169008 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDon't attempt to update id or name for nodes that are already removed
mjs@apple.com [Sun, 18 May 2014 06:11:24 +0000 (06:11 +0000)]
Don't attempt to update id or name for nodes that are already removed
https://bugs.webkit.org/show_bug.cgi?id=133041

Reviewed by Sam Weinig.

Source/WebCore:

Tests: fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html
       fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html

* dom/Element.cpp:
(WebCore::Element::removedFrom): Skip updating ids and names for an element not
in a treescope, as we already do for elements not in a document.

LayoutTests:

Test originally by Dan Bates.

* fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved-expected.txt: Added.
* fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html: Added.
* fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved-expected.txt: Added.
* fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169007 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (NetworkProcess): Trying to use appcache fallback crashes in ApplicationCa...
ap@apple.com [Sun, 18 May 2014 05:29:36 +0000 (05:29 +0000)]
REGRESSION (NetworkProcess): Trying to use appcache fallback crashes in ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
https://bugs.webkit.org/show_bug.cgi?id=133007
<rdar://problem/13702706>

appcache tests often fail on the Mac WebKit2 bot
https://bugs.webkit.org/show_bug.cgi?id=82061

Reviewed by Maciej Stachowiak.

Source/WebCore:
Covered by existing tests, which this patch enables.

* WebCore.exp.in: Export ResourceLoader::cancel(const ResourceError&). It used
to be virtual, but marking subclasses final has resulted in the compiler calling
it directly from WebKitLegacy framework. Seeing that no subclass overrides it,
I then made it non-virtual.
Also export ApplicationCacheHost functions that are now used from WebKit2.

* loader/ResourceLoader.h: Made the class abstract (as I didn't realize at first
that it's always either a SubresourceLoader or a NetscapePlugInStreamLoader).
Made ResourceHandleClient functions private, as they should never be called other
than via a ResourceHandleClient pointer.

* loader/NetscapePlugInStreamLoader.h:
* loader/SubresourceLoader.h:
Marked these final.

* loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSwitchToSubstituteResource):
Added a function to be called when switching to a substitute resource. We still
need a ResourceLoader at this point, as substitute resource will be delivered through
it, but we don't want it to continue its current load.

* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
Call the ResourceLoader function instead of using handle, which is null when
using out of process networking.

Source/WebKit2:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
(WebKit::WebResourceLoader::didFailResourceLoad):
Perform the same appcache checks that ResourceHandleClient implementation in ResourceLoader
does. We should eventually come up with a way to share the code. Perhaps add a class that
isolates ResourceLoader from networking details? But ResourceLoader was itself supposed
to be the class that isolates DocumentLoader from networking details. So, unsure.

LayoutTests:
* platform/mac-wk2/TestExpectations: Let's enable all the appcache tests (except
for a couple that fail), and see what happens on bots. I don't see any reason
why WebKit2 would be any more flaky than WebKit1 here.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169006 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWe shouldn't make a ScrollingThread on iOS.
akling@apple.com [Sun, 18 May 2014 02:05:24 +0000 (02:05 +0000)]
We shouldn't make a ScrollingThread on iOS.
<https://webkit.org/b/133038>
<rdar://problem/16947589>

Don't call ScrollingThred::dispatch() from the pressure relief
code on iOS since that will end up instantiating a scrolling thread
which we'd otherwise never have.

Reviewed by Sam Weinig.

* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseMemory):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169004 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Remove m_contentPosition from PageViewportControllerClientEfl
jaepark@webkit.org [Sun, 18 May 2014 01:43:49 +0000 (01:43 +0000)]
[EFL] Remove m_contentPosition from PageViewportControllerClientEfl
https://bugs.webkit.org/show_bug.cgi?id=132774

Reviewed by Anders Carlsson.

m_contentPosition is not used anywhere. So, this patch removes
m_contentPosition and reduces one unnecessary assignment in
setViewportPosition. Also, it renames contentsPoint to contentsPosition.

* UIProcess/PageViewportControllerClient.h:
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
* UIProcess/efl/PageViewportControllerClientEfl.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169003 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSubpixel rendering: Add subpixelCSSOMElementMetricsEnabled to WK1 WebPreferences.
zalan@apple.com [Sun, 18 May 2014 00:40:15 +0000 (00:40 +0000)]
Subpixel rendering: Add subpixelCSSOMElementMetricsEnabled to WK1 WebPreferences.
https://bugs.webkit.org/show_bug.cgi?id=133029

Reviewed by Simon Fraser.

Source/WebKit/mac:
To match the WK2 preferences API.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences subpixelCSSOMElementMetricsEnabled]):
(-[WebPreferences setSubpixelCSSOMElementMetricsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Tools:
Added a menu item to toggle subpixelCSSOMElementMetricsEnabled's value. However
toggling it on a WK2 window needs restart.
Adding dynamic toggle to WK2 requires a WebPreferences SPI. It's not worth cluttering
the WebPreferences just to support this temporary toggle.

* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController isSubpixelCSSOMElementMetricsEnabled]):
(-[WK1BrowserWindowController toggleSubpixelCSSOMElementMetricsEnabled:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController isSubpixelCSSOMElementMetricsEnabled]):
(-[WK2BrowserWindowController toggleSubpixelCSSOMElementMetricsEnabled:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169002 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNeed a way to get a WKPageRef from a WKWebView
ddkilzer@apple.com [Sun, 18 May 2014 00:38:39 +0000 (00:38 +0000)]
Need a way to get a WKPageRef from a WKWebView
<http://webkit.org/b/133015>

Reviewed by Benjamin Poulain.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _pageRef]): Added.
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
(-[WKWebView _pageRef]): Added declaration.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169001 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGive user scripts custom URLs
andersca@apple.com [Sat, 17 May 2014 23:24:34 +0000 (23:24 +0000)]
Give user scripts custom URLs
https://bugs.webkit.org/show_bug.cgi?id=133035

Reviewed by Beth Dakin.

* UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController addUserScript:]):
Create a user-script:<number> URL for user scripts.

* UIProcess/API/Cocoa/WKUserScript.h:
Move the init method after the properties.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169000 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoReplace WKContextSetDatabaseDirectory with two WKContextConfiguration parameters
andersca@apple.com [Sat, 17 May 2014 22:31:02 +0000 (22:31 +0000)]
Replace WKContextSetDatabaseDirectory with two WKContextConfiguration parameters
https://bugs.webkit.org/show_bug.cgi?id=133033
<rdar://problem/16830143>

Reviewed by Sam Weinig.

Source/WebKit2:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
Rename databaseDirectory to webSQLDatabaseDirectory to better indicate the directory type.

* UIProcess/API/C/WKContext.cpp:
(WKContextSetDatabaseDirectory): Deleted.
This is no longer needed.

* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyIndexedDBDatabaseDirectory):
(WKContextConfigurationSetIndexedDBDatabaseDirectory):
(WKContextConfigurationCopyWebSQLDatabaseDirectory):
(WKContextConfigurationSetWebSQLDatabaseDirectory):
* UIProcess/API/C/WKContextConfigurationRef.h:
Add setters and getters.

* UIProcess/API/C/WKContextPrivate.h:
Remove WKContextSetDatabaseDirectory.

* UIProcess/APIContextConfiguration.cpp:
(API::ContextConfiguration::webContextConfiguration):
Set m_indexedDBDatabaseDirectory and m_webSQLDatabaseDirectory on the configuration.

* UIProcess/APIContextConfiguration.h:
(API::ContextConfiguration::indexedDBDatabaseDirectory):
(API::ContextConfiguration::setIndexedDBDatabaseDirectory):
(API::ContextConfiguration::webSQLDatabaseDirectory):
(API::ContextConfiguration::setWebSQLDatabaseDirectory):
Add getters and setters to the C++ part of WKContextConfigurationRef.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults):
Set webSQLDatabaseDirectory and indexedDBDatabaseDirectory.

(WebKit::WebContext::WebContext):
Initialize m_webSQLDatabaseDirectory and m_indexedDBDatabaseDirectory.

(WebKit::WebContext::ensureDatabaseProcess):
Set parameters.indexedDatabaseDirectory from m_indexedDBDatabaseDirectory.

(WebKit::WebContext::createNewWebProcess):
Set parameters.webSQLDatabaseDirectory from m_webSQLDatabaseDirectory.

* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory):
Rename this to indicate that it's about WebSQL databases.

(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory):
Add this.

* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::initialize):
Update for WebProcessCreationParameters rename.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Update for WebProcessCreationParameters rename.

Tools:
Set up the WebSQL and IndexedDB directories.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168999 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Phone Number Detection] drop-down menu in the phone number detection box doesn't...
bfulgham@apple.com [Sat, 17 May 2014 21:49:57 +0000 (21:49 +0000)]
[Phone Number Detection] drop-down menu in the phone number detection box doesn't appear.
https://bugs.webkit.org/show_bug.cgi?id=133024

Reviewed by Sam Weinig.

* WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:
(WebKit::TelephoneNumberOverlayController::drawRect): Don't clear the set of found phone numbers each
time we call drawRect. This gets called ~9 times per screen refresh, so end up with no active
phone numbers to interact with.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168998 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNetworkProcess can repeatedly crash handling Blob messages after any unrelated crash
ap@apple.com [Sat, 17 May 2014 21:42:43 +0000 (21:42 +0000)]
NetworkProcess can repeatedly crash handling Blob messages after any unrelated crash
https://bugs.webkit.org/show_bug.cgi?id=133032
<rdar://problem/16951630>

Reviewed by Geoffrey Garen.

Replaced assertions with runtime checks. This can happen if NetworkProcess previously
crashed for any unrelated reason.

* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::registerBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURLForSlice):
(WebKit::NetworkBlobRegistry::unregisterBlobURL):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSetting playback rate on video with media controller is not ignored.
commit-queue@webkit.org [Sat, 17 May 2014 21:36:15 +0000 (21:36 +0000)]
Setting playback rate on video with media controller is not ignored.
https://bugs.webkit.org/show_bug.cgi?id=129048

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-17
Reviewed by Jer Noble.

Source/WebCore:
Replaced queries for m_playbackRate with effectivePlaybackRate()
which includes media controller playback rate.

Test: media/video-controller-child-rate.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:

LayoutTests:
* media/video-controller-child-rate-expected.txt: Added.
* media/video-controller-child-rate.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168996 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago-[WKWebView dealloc] should close the page
andersca@apple.com [Sat, 17 May 2014 20:14:18 +0000 (20:14 +0000)]
-[WKWebView dealloc] should close the page
https://bugs.webkit.org/show_bug.cgi?id=133031
<rdar://problem/16929815>

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView dealloc]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168995 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoExpose WKUserScript as API
andersca@apple.com [Sat, 17 May 2014 19:57:44 +0000 (19:57 +0000)]
Expose WKUserScript as API
https://bugs.webkit.org/show_bug.cgi?id=133017
<rdar://problem/16948059>

Reviewed by Sam Weinig.

Source/WebCore:
* WebCore.exp.in:
Export symbols.

* WebCore.xcodeproj/project.pbxproj:
Change UserContentController.h to be a private header.

* page/Page.cpp:
(WebCore::Page::Page):
Set m_userContentController from the page configuration and add it if it's not null.

* page/Page.h:
Add UserContentController to PageClients.

* page/PageGroup.cpp:
(WebCore::PageGroup::addPage):
Only try to add a user content controller if the page doesn't already have one.

(WebCore::PageGroup::removePage):
Only try to remove the user content controller if it's the group one.

Source/WebKit2:
* DerivedSources.make:
Add WebUserContentController.

* Shared/API/Cocoa/WebKit.h:
Add WKUserScript.h

* Shared/API/c/WKSharedAPICast.h:
(WebKit::toUserScriptInjectionTime):
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* Shared/API/c/WKUserScriptInjectionTime.h:
Rename WKUserScriptInjectionTime to _WKUserScriptInjectionTime to free up the name for the Objective-C API

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
Encode the user content controller ID.

(WebKit::WebPageCreationParameters::decode):
Decode the user content controller ID.

* Shared/WebPageCreationParameters.h:
Add userContentControllerID.

* UIProcess/API/C/WKPageGroup.cpp:
(WKPageGroupAddUserScript):
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* UIProcess/API/C/WKPageGroup.h:
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
(-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* UIProcess/API/Cocoa/WKUserContentController.h:
Add new methods.

* UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController init]):
Create the WebUserContentControllerProxy object and user scripts array.

(-[WKUserContentController userScripts]):
Return the user scripts array.

(toWebCoreUserScriptInjectionTime):
Helper for converting from a WKUserScriptInjectionTime enum to WebCore::UserScriptInjectionTime.

(-[WKUserContentController addUserScript:]):
Call through to the _userContentControllerProxy object.

(-[WKUserContentController removeAllUserScripts]):
Call through to the _userContentControllerProxy object.

* UIProcess/API/Cocoa/WKUserContentControllerInternal.h: Added.
Add WebUserContentControllerProxy ivar.

* UIProcess/API/Cocoa/WKUserScript.h: Added.
Add new header.

* UIProcess/API/Cocoa/WKUserScript.mm:
(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
Initialize the WKUserScript object.

(-[WKUserScript source]):
(-[WKUserScript injectionTime]):
(-[WKUserScript isForMainFrameOnly]):
Add getters.

(-[WKUserScript copyWithZone:]):
Since WKUserScript is immutable, just return a retained object.

* UIProcess/API/Cocoa/WKUserScriptInternal.h:
Add ivars.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
Set the user content controller from the configuration.

* UIProcess/UserContent/WebUserContentControllerProxy.cpp: Added.
(WebKit::generateIdentifier):
Return a unique identifier.

(WebKit::WebUserContentControllerProxy::create):
Return a new WebUserContentControllerProxy object.

(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
Initialize m_identifier.

(WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy):
Add destructor.

(WebKit::WebUserContentControllerProxy::addProcess):
Add the process to the m_processes set. If it's the first time doing so, add the user scripts we know about.

(WebKit::WebUserContentControllerProxy::removeProcess):
Remove the process from m_processes.

(WebKit::WebUserContentControllerProxy::addUserScript):
Add the user script and let all the web processes know that it was added.

(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
Remove all user scripts and tell all the web processes about it.

* UIProcess/UserContent/WebUserContentControllerProxy.h:
Add new class.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
If the process is already running, add it to the user content controller.

(WebKit::WebPageProxy::close):
If the process is running, remove it from the user content controller.

(WebKit::WebPageProxy::connectionWillOpen):
Add the process to the user content controller.

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Remove the process from the user content controller.

(WebKit::WebPageProxy::creationParameters):
Pass along the user content controller ID when creating the web page.

* UIProcess/WebPageProxy.h:
Add a WebUserContentControllerProxy object to the web page configuration.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* WebProcess/UserContent/WebUserContentController.cpp: Added.
New class that manages a WebCore::UserContentController object.

(WebKit::WebUserContentController::getOrCreate):
Look up (or create) a WebUserContentController object given its identifier.

(WebKit::WebUserContentController::WebUserContentController):
Add ourselves as a message receiver.

(WebKit::WebUserContentController::~WebUserContentController):
Remove ourselves as a message receiver.

(WebKit::WebUserContentController::addUserScripts):
Add all passed in user scripts to the WebCore user content controller object.

(WebKit::WebUserContentController::removeAllUserScripts):
Remove all user scripts from the WebCore user content controller object.

* WebProcess/UserContent/WebUserContentController.messages.in: Added.
Add new messages file.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
Get a WebUserContentController object and pass it along to WebCore.

* WebProcess/WebPage/WebPage.h:
Add WebUserContentController member.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168994 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r166422): All RenderBox objects grew 104 bytes from adding repaint timers.
akling@apple.com [Sat, 17 May 2014 10:08:47 +0000 (10:08 +0000)]
REGRESSION (r166422): All RenderBox objects grew 104 bytes from adding repaint timers.
<https://webkit.org/b/133027>
<rdar://problem/16867410>

Instead of storing a rarely-used repaint timer on every RenderBox, store one
on the RenderView, and keep a hash set of renderers needing repaint.

Renderers get a flag tracking whether they have a pending lazy repaint.
This way we can avoid hash lookups in the common case.

Also added a static assertion to catch RenderBox growing in the future.

Reviewed by Antti Koivisto.

* rendering/RenderBox.cpp:
(WebCore::SameSizeAsRenderBox::~SameSizeAsRenderBox):
(WebCore::RenderBox::RenderBox):
(WebCore::RenderBox::~RenderBox):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBox.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
* rendering/RenderElement.h:
(WebCore::RenderElement::setRenderBoxNeedsLazyRepaint):
(WebCore::RenderElement::renderBoxNeedsLazyRepaint):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::scheduleLazyRepaint):
(WebCore::RenderView::unscheduleLazyRepaint):
(WebCore::RenderView::lazyRepaintTimerFired):
* rendering/RenderView.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168993 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Build break after 168978.
commit-queue@webkit.org [Sat, 17 May 2014 06:23:46 +0000 (06:23 +0000)]
[EFL] Build break after 168978.
https://bugs.webkit.org/show_bug.cgi?id=133012.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-16
Reviewed by Simon Fraser.

* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168992 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Mac][MSE] setCurrentTime() goes down fastSeek path in MediaPlayerPrivateMediaSourceA...
jer.noble@apple.com [Sat, 17 May 2014 05:41:47 +0000 (05:41 +0000)]
[Mac][MSE] setCurrentTime() goes down fastSeek path in MediaPlayerPrivateMediaSourceAVFObjC.
https://bugs.webkit.org/show_bug.cgi?id=133023

Reviewed by Eric Carlson.

When seeking a MSE video, do not go down the fastSeekForMediaTime() path if the
seek resulted from a setCurrentTime() call. The logic can lead to attempted seeks
before buffered ranges.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::seekToTime):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168991 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Build break after 168978.
commit-queue@webkit.org [Sat, 17 May 2014 01:30:51 +0000 (01:30 +0000)]
[GTK] Build break after 168978.
https://bugs.webkit.org/show_bug.cgi?id=133012.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-16
Reviewed by Simon Fraser.

* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsConstructed):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168988 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix a straggler.
simon.fraser@apple.com [Sat, 17 May 2014 01:18:15 +0000 (01:18 +0000)]
Fix a straggler.

Remove call to internals.settings.setRegionBasedColumnsEnabled(true).

* fast/repaint/spanner-with-margin.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168987 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPut back a symbol removed in r168978 that Safari needs, but deprecate it.
simon.fraser@apple.com [Sat, 17 May 2014 00:29:37 +0000 (00:29 +0000)]
Put back a symbol removed in r168978 that Safari needs, but deprecate it.

Reviewed by Anders Carlsson.

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKPreferencesSetRegionBasedColumnsEnabled):
(WKPreferencesGetRegionBasedColumnsEnabled):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168986 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove calls to internals.settings.setRegionBasedColumnsEnabled(true);
simon.fraser@apple.com [Sat, 17 May 2014 00:06:56 +0000 (00:06 +0000)]
Remove calls to internals.settings.setRegionBasedColumnsEnabled(true);
in tests.

Some of these tests may now be no-ops, but I haven't found a convenient
way to know which ones.

* fast/multicol/break-in-columns-before-spanner-expected.html:
* fast/multicol/break-in-columns-before-spanner.html:
* fast/multicol/break-in-scrollable-expected.html:
* fast/multicol/break-in-scrollable.html:
* fast/multicol/client-rects-spanners-complex.html:
* fast/multicol/client-rects-spanners.html:
* fast/multicol/inline-children-crash.html:
* fast/multicol/mixed-opacity-fixed-test.html:
* fast/multicol/mixed-opacity-test.html:
* fast/multicol/mixed-positioning-stacking-order.html:
* fast/multicol/multicol-li-crash.html:
* fast/multicol/newmulticol/adjacent-spanners.html:
* fast/multicol/newmulticol/avoid-column-break-inside.html:
* fast/multicol/newmulticol/balance-images.html:
* fast/multicol/newmulticol/balance-maxheight1.html:
* fast/multicol/newmulticol/balance-maxheight2.html:
* fast/multicol/newmulticol/balance1.html:
* fast/multicol/newmulticol/balance10.html:
* fast/multicol/newmulticol/balance2.html:
* fast/multicol/newmulticol/balance3.html:
* fast/multicol/newmulticol/balance4.html:
* fast/multicol/newmulticol/balance5.html:
* fast/multicol/newmulticol/balance6.html:
* fast/multicol/newmulticol/balance7.html:
* fast/multicol/newmulticol/balance8.html:
* fast/multicol/newmulticol/balance9.html:
* fast/multicol/newmulticol/block-becomes-spanner-expected.html:
* fast/multicol/newmulticol/block-becomes-spanner.html:
* fast/multicol/newmulticol/break-after-expected.html:
* fast/multicol/newmulticol/break-after.html:
* fast/multicol/newmulticol/break-before.html:
* fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html:
* fast/multicol/newmulticol/breaks-2-columns-3.html:
* fast/multicol/newmulticol/breaks-3-columns-3.html:
* fast/multicol/newmulticol/cell-shrinkback.html:
* fast/multicol/newmulticol/change-spanner-display-expected.html:
* fast/multicol/newmulticol/change-spanner-display.html:
* fast/multicol/newmulticol/change-spanner-parent-display-expected.html:
* fast/multicol/newmulticol/change-spanner-parent-display.html:
* fast/multicol/newmulticol/client-rects.html:
* fast/multicol/newmulticol/clipping-expected.html:
* fast/multicol/newmulticol/clipping-overflow-hidden-expected.html:
* fast/multicol/newmulticol/clipping-overflow-hidden.html:
* fast/multicol/newmulticol/clipping-top-overflow-expected.html:
* fast/multicol/newmulticol/clipping-top-overflow.html:
* fast/multicol/newmulticol/clipping.html:
* fast/multicol/newmulticol/column-rules-fixed-height.html:
* fast/multicol/newmulticol/columns-shorthand-parsing.html:
* fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb.html:
* fast/multicol/newmulticol/compare-with-old-impl/LeftToRight-tb.html:
* fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/before-child-anonymous-column-block.html:
* fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html:
* fast/multicol/newmulticol/compare-with-old-impl/clone-summary.html:
* fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html:
* fast/multicol/newmulticol/compare-with-old-impl/column-span-inside-multicol-webkit-box.html:
* fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html:
* fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html:
* fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html:
* fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html:
* fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/runin-continuation-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination.html:
* fast/multicol/newmulticol/compare-with-old-impl/span-as-nested-inline-block-child.html:
* fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html:
* fast/multicol/newmulticol/direct-child-column-span-all.html:
* fast/multicol/newmulticol/fixed-height-fill-auto-expected.html:
* fast/multicol/newmulticol/fixed-height-fill-auto.html:
* fast/multicol/newmulticol/fixed-height-fill-balance-2.html:
* fast/multicol/newmulticol/fixed-height-fill-balance-expected.html:
* fast/multicol/newmulticol/fixed-height-fill-balance.html:
* fast/multicol/newmulticol/float-avoidance.html:
* fast/multicol/newmulticol/float-multicol.html:
* fast/multicol/newmulticol/float-paginate-complex.html:
* fast/multicol/newmulticol/float-paginate-empty-lines.html:
* fast/multicol/newmulticol/float-paginate.html:
* fast/multicol/newmulticol/hide-box-horizontal-bt-expected.html:
* fast/multicol/newmulticol/hide-box-horizontal-bt.html:
* fast/multicol/newmulticol/hide-box-vertical-lr-expected.html:
* fast/multicol/newmulticol/hide-box-vertical-lr.html:
* fast/multicol/newmulticol/hide-box-vertical-rl-expected.html:
* fast/multicol/newmulticol/hide-box-vertical-rl.html:
* fast/multicol/newmulticol/insert-row-content1-expected.html:
* fast/multicol/newmulticol/insert-row-content1.html:
* fast/multicol/newmulticol/insert-row-content2-expected.html:
* fast/multicol/newmulticol/insert-row-content2.html:
* fast/multicol/newmulticol/insert-row-content3-expected.html:
* fast/multicol/newmulticol/insert-row-content3.html:
* fast/multicol/newmulticol/insert-row-content4-expected.html:
* fast/multicol/newmulticol/insert-row-content4.html:
* fast/multicol/newmulticol/insert-row-content5-expected.html:
* fast/multicol/newmulticol/insert-row-content5.html:
* fast/multicol/newmulticol/insert-row-content6-expected.html:
* fast/multicol/newmulticol/insert-row-content6.html:
* fast/multicol/newmulticol/insert-row-content7-expected.html:
* fast/multicol/newmulticol/insert-row-content7.html:
* fast/multicol/newmulticol/insert-row-content8-expected.html:
* fast/multicol/newmulticol/insert-row-content8.html:
* fast/multicol/newmulticol/insert-row-content9-expected.html:
* fast/multicol/newmulticol/insert-row-content9.html:
* fast/multicol/newmulticol/insert-spanner-child1-expected.html:
* fast/multicol/newmulticol/insert-spanner-child1.html:
* fast/multicol/newmulticol/insert-spanner-child2-expected.html:
* fast/multicol/newmulticol/insert-spanner-child2.html:
* fast/multicol/newmulticol/insert-spanner-child3-expected.html:
* fast/multicol/newmulticol/insert-spanner-child3.html:
* fast/multicol/newmulticol/insert-spanner1-expected.html:
* fast/multicol/newmulticol/insert-spanner1.html:
* fast/multicol/newmulticol/insert-spanner2-expected.html:
* fast/multicol/newmulticol/insert-spanner2.html:
* fast/multicol/newmulticol/insert-spanner3-expected.html:
* fast/multicol/newmulticol/insert-spanner3.html:
* fast/multicol/newmulticol/insert-spanner4-expected.html:
* fast/multicol/newmulticol/insert-spanner4.html:
* fast/multicol/newmulticol/insert-spanner5-expected.html:
* fast/multicol/newmulticol/insert-spanner5.html:
* fast/multicol/newmulticol/insert-spanner6-expected.html:
* fast/multicol/newmulticol/insert-spanner6.html:
* fast/multicol/newmulticol/insert-spanner7-expected.html:
* fast/multicol/newmulticol/insert-spanner7.html:
* fast/multicol/newmulticol/insert-spanner8-expected.html:
* fast/multicol/newmulticol/insert-spanner8.html:
* fast/multicol/newmulticol/layers-in-multicol.html:
* fast/multicol/newmulticol/layers-split-across-columns.html:
* fast/multicol/newmulticol/leading-and-trailing-margin-expected.html:
* fast/multicol/newmulticol/leading-and-trailing-margin.html:
* fast/multicol/newmulticol/leading-margin.html:
* fast/multicol/newmulticol/line-grid-inside-columns.html:
* fast/multicol/newmulticol/line-grid-into-columns.html:
* fast/multicol/newmulticol/multicol-with-spanner-becomes-regular-block.html:
* fast/multicol/newmulticol/orphans-and-widows-balance.html:
* fast/multicol/newmulticol/positioned-split.html:
* fast/multicol/newmulticol/positioned-with-constrained-height.html:
* fast/multicol/newmulticol/progression-reverse-overflow.html:
* fast/multicol/newmulticol/progression-reverse.html:
* fast/multicol/newmulticol/remove-row-content1-expected.html:
* fast/multicol/newmulticol/remove-row-content1.html:
* fast/multicol/newmulticol/remove-row-content2-expected.html:
* fast/multicol/newmulticol/remove-row-content2.html:
* fast/multicol/newmulticol/remove-row-content3-expected.html:
* fast/multicol/newmulticol/remove-row-content3.html:
* fast/multicol/newmulticol/remove-row-content4-expected.html:
* fast/multicol/newmulticol/remove-row-content4.html:
* fast/multicol/newmulticol/remove-row-content5-expected.html:
* fast/multicol/newmulticol/remove-row-content5.html:
* fast/multicol/newmulticol/remove-row-content6-expected.html:
* fast/multicol/newmulticol/remove-row-content6.html:
* fast/multicol/newmulticol/remove-row-content7-expected.html:
* fast/multicol/newmulticol/remove-row-content7.html:
* fast/multicol/newmulticol/remove-row-content8-expected.html:
* fast/multicol/newmulticol/remove-row-content8.html:
* fast/multicol/newmulticol/remove-row-content9-expected.html:
* fast/multicol/newmulticol/remove-row-content9.html:
* fast/multicol/newmulticol/remove-spanner1-expected.html:
* fast/multicol/newmulticol/remove-spanner1.html:
* fast/multicol/newmulticol/remove-spanner2-expected.html:
* fast/multicol/newmulticol/remove-spanner2.html:
* fast/multicol/newmulticol/remove-spanner3-expected.html:
* fast/multicol/newmulticol/remove-spanner3.html:
* fast/multicol/newmulticol/remove-spanner4-expected.html:
* fast/multicol/newmulticol/remove-spanner4.html:
* fast/multicol/newmulticol/remove-spanner5-expected.html:
* fast/multicol/newmulticol/remove-spanner5.html:
* fast/multicol/newmulticol/remove-spanner6-expected.html:
* fast/multicol/newmulticol/remove-spanner6.html:
* fast/multicol/newmulticol/single-line.html:
* fast/multicol/newmulticol/sole-spanner.html:
* fast/multicol/newmulticol/span-between-text-expected.html:
* fast/multicol/newmulticol/span-between-text.html:
* fast/multicol/newmulticol/spanner-becomes-regular-block-expected.html:
* fast/multicol/newmulticol/spanner-becomes-regular-block.html:
* fast/multicol/newmulticol/spanner-first-expected.html:
* fast/multicol/newmulticol/spanner-first.html:
* fast/multicol/newmulticol/spanner-img-expected.html:
* fast/multicol/newmulticol/spanner-img.html:
* fast/multicol/newmulticol/spanner-inline-block-expected.html:
* fast/multicol/newmulticol/spanner-inline-block.html:
* fast/multicol/newmulticol/spanner-last-expected.html:
* fast/multicol/newmulticol/spanner-last.html:
* fast/multicol/newmulticol/spanner-nested-dynamic-expected.html:
* fast/multicol/newmulticol/spanner-nested-dynamic.html:
* fast/multicol/newmulticol/spanner-nested-expected.html:
* fast/multicol/newmulticol/spanner-nested.html:
* fast/multicol/newmulticol/spanner-pseudo-after1-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-after1.html:
* fast/multicol/newmulticol/spanner-pseudo-after2-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-after2.html:
* fast/multicol/newmulticol/spanner-pseudo-after3-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-after3.html:
* fast/multicol/newmulticol/spanner-pseudo-after4-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-after4.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after1-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after1.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after2-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after2.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after3-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after3.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after4-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after4.html:
* fast/multicol/newmulticol/spanner-pseudo-before1-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before1.html:
* fast/multicol/newmulticol/spanner-pseudo-before2-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before2.html:
* fast/multicol/newmulticol/spanner-pseudo-before3-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before3.html:
* fast/multicol/newmulticol/spanner-pseudo-before4-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before4.html:
* fast/multicol/newmulticol/spanner-table-expected.html:
* fast/multicol/newmulticol/spanner-table.html:
* fast/multicol/newmulticol/spanner-with-margin-expected.html:
* fast/multicol/newmulticol/spanner-with-margin.html:
* fast/multicol/newmulticol/spanner1-expected.html:
* fast/multicol/newmulticol/spanner1.html:
* fast/multicol/newmulticol/spanner2-expected.html:
* fast/multicol/newmulticol/spanner2.html:
* fast/multicol/newmulticol/spanner3-expected.html:
* fast/multicol/newmulticol/spanner3.html:
* fast/multicol/newmulticol/spanner4-expected.html:
* fast/multicol/newmulticol/spanner4.html:
* fast/multicol/newmulticol/spanner5-expected.html:
* fast/multicol/newmulticol/spanner5.html:
* fast/multicol/newmulticol/spanner6-expected.html:
* fast/multicol/newmulticol/spanner6.html:
* fast/multicol/newmulticol/spanner7-expected.html:
* fast/multicol/newmulticol/spanner7.html:
* fast/multicol/newmulticol/spanner8-expected.html:
* fast/multicol/newmulticol/spanner8.html:
* fast/multicol/newmulticol/spanner9-expected.html:
* fast/multicol/newmulticol/spanner9.html:
* fast/multicol/newmulticol/trailing-margin-with-spanner-expected.html:
* fast/multicol/newmulticol/trailing-margin-with-spanner.html:
* fast/multicol/newmulticol/trailing-margin-with-spanner2-expected.html:
* fast/multicol/newmulticol/trailing-margin-with-spanner2.html:
* fast/multicol/newmulticol/unresolvable-percent-height-2.html:
* fast/multicol/newmulticol/unresolvable-percent-height.html:
* fast/multicol/newmulticol/unresolvable-percent-max-height-2.html:
* fast/multicol/newmulticol/unresolvable-percent-max-height.html:
* fast/multicol/offset-top-left.html:
* fast/multicol/percent-height.html:
* fast/multicol/positioned-outside-of-columns.html:
* fast/multicol/scrolling-column-rules.html:
* fast/multicol/tall-float-expected.html:
* fast/multicol/tall-float.html:
* fast/multicol/transform-inside-opacity.html:
* fast/multicol/zoom-test-expected.html:
* fast/multicol/zoom-test.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168985 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSeparate enabling sandbox extensions from the WEB_PROCESS_SANDBOX flag
oliver@apple.com [Fri, 16 May 2014 23:28:40 +0000 (23:28 +0000)]
Separate enabling sandbox extensions from the WEB_PROCESS_SANDBOX flag
https://bugs.webkit.org/show_bug.cgi?id=133016

Reviewed by Alexey Proskuryakov.

Add a distinct SANDBOX_EXTENSIONS flag to guard sandbox extensions
and switch over to it in the places that extensions are used.

* Shared/SandboxExtension.h:
* Shared/mac/SandboxExtensionMac.mm:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):
* WebKit2Prefix.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168984 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCrash in JSC::Yarr::YarrGenerator<(JSC::Yarr::YarrJITCompileMode)0>::generatePatternC...
msaboff@apple.com [Fri, 16 May 2014 22:09:51 +0000 (22:09 +0000)]
Crash in JSC::Yarr::YarrGenerator<(JSC::Yarr::YarrJITCompileMode)0>::generatePatternCharacterFixed() due to WTF::CrashOnOverflow::overflowed + 9
https://bugs.webkit.org/show_bug.cgi?id=133009

Reviewed by Oliver Hunt.

If we determine that any alternative requires a minumum match size greater than
INT_MAX, we handle the match in the interpreter.

Check to see if the pattern has unsigned lengths before invoking YARR JIT.
* runtime/RegExp.cpp:
(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

* tests/stress/large-regexp.js: New test added.

Set m_containsUnsignedLengthPattern flag if any alternative's minimum length
doesn't fit in an int.
* yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::setupDisjunctionOffsets):

Clear new m_containsUnsignedLengthPattern flag.
* yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPattern::YarrPattern):
* yarr/YarrPattern.h:
(JSC::Yarr::YarrPattern::reset):
(JSC::Yarr::YarrPattern::containsUnsignedLengthPattern):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168983 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS][WK2] Add a heuristic to set the right horizontal offset on rotation for respons...
benjamin@webkit.org [Fri, 16 May 2014 21:55:30 +0000 (21:55 +0000)]
[iOS][WK2] Add a heuristic to set the right horizontal offset on rotation for responsive websites
https://bugs.webkit.org/show_bug.cgi?id=132937
<rdar://problem/16710097>

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

When responsive websites have the content size lay out larger than the minimal layout size,
we should not keep the relative horizontal position into view,
many of those websites have all the content on the left.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168982 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS][WK2] On dynamic resize, the content offset is contrained to the old content...
benjamin@webkit.org [Fri, 16 May 2014 21:47:09 +0000 (21:47 +0000)]
[iOS][WK2] On dynamic resize, the content offset is contrained to the old content size
https://bugs.webkit.org/show_bug.cgi?id=132972

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

When we set the content offset, UIScrollView limits the value to the current valid range for
content size. Since the content size was only updated after the animation, when the first frame
comes in, the content offset would sometimes be limited to a smaller rect that the actual content.

To fix this, set the expected future content size before changing the offset.

During the animation, the content size could have changed arbitrarily. At the end of the animation,
we take the actual frame and set the definite content size.
Any update after that will be regular updates through didCommitLayer.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168981 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS] ScrollView::visibleContentRectInternal is bypassing the iOS code for unobscured...
benjamin@webkit.org [Fri, 16 May 2014 21:39:43 +0000 (21:39 +0000)]
[iOS] ScrollView::visibleContentRectInternal is bypassing the iOS code for unobscuredContentRect
https://bugs.webkit.org/show_bug.cgi?id=133008

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

* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRectInternal):
ScrollView::visibleContentRectInternal() was calling the internal implementation of visibleContentRect().
That was skipping the iOS implementation and getting the framerect directly. That size is invalid on iOS
when the exposed rect and unobscured rect are not the same.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168980 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Mac] naturalSize not updated when preload=metadata
jer.noble@apple.com [Fri, 16 May 2014 21:32:11 +0000 (21:32 +0000)]
[Mac] naturalSize not updated when preload=metadata
https://bugs.webkit.org/show_bug.cgi?id=132994

Reviewed by Eric Carlson.

Source/WebCore:
Test: media/video-load-preload-metadata-naturalsize.html

When preload=metadata, we never create an AVPlayerItem, and therefore never receive a
presentationSize KVO. When an AVAsset informs us that its tracks have changed, and there
is no AVPlayerItem, recalculate presentation size based on the first video track's natural
size.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):

LayoutTests:
* media/video-load-preload-metadata-naturalsize-expected.txt: Added.
* media/video-load-preload-metadata-naturalsize.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove "region-based columns" prefs
simon.fraser@apple.com [Fri, 16 May 2014 21:16:29 +0000 (21:16 +0000)]
Remove "region-based columns" prefs
https://bugs.webkit.org/show_bug.cgi?id=133006
<rdar://problem/16945824>

Reviewed by Dave Hyatt.

Remove "region-based columns" prefs and related code, since this is only
way to render columns now.

Source/WebCore:
* page/Settings.in:

Source/WebKit/mac:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setRegionBasedColumnsEnabled:]): Deleted.
(-[WebPreferences regionBasedColumnsEnabled]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:
* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetRegionBasedColumnsEnabled): Deleted.
(WKPreferencesGetRegionBasedColumnsEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168978 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoLink search area for touch events is too large in some cases
antti@apple.com [Fri, 16 May 2014 20:53:51 +0000 (20:53 +0000)]
Link search area for touch events is too large in some cases
https://bugs.webkit.org/show_bug.cgi?id=132988
<rdar://problem/16917843>

Reviewed by Simon Fraser.

* page/ios/FrameIOS.mm:
(WebCore::Frame::qualifyingNodeAtViewportLocation):

    - Adjust the search area to screen ppi.
    - Remove cut-off at scale 1. This made us pick physically far-away elements when zoomed in.

* platform/PlatformScreen.h:
* platform/ios/PlatformScreenIOS.mm:
(WebCore::mobileGestaltFloatValue):
(WebCore::screenPPIFactor):

    Figure out screens physical PPI relative to a base.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168977 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWork around bug in Silverlight
bfulgham@apple.com [Fri, 16 May 2014 20:46:29 +0000 (20:46 +0000)]
Work around bug in Silverlight
https://bugs.webkit.org/show_bug.cgi?id=133004

Reviewed by Anders Carlsson.

* PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
(WebKit::PluginProcessMainDelegate::doPreInitializationWork): Add low-resolution flag
to user defaults prior to NSApplication invocation. This code was moved from
PluginProcess::platformInitializeProcess.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess): Move low-resolution flag
setting to PluginProcessMainDelegate.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168976 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed GTK gardening.
commit-queue@webkit.org [Fri, 16 May 2014 19:53:35 +0000 (19:53 +0000)]
Unreviewed GTK gardening.

Added some flaky tests to TestExpectations.

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

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168975 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[MSE] Crash at WebCore::SourceBuffer::~SourceBuffer + 110
jer.noble@apple.com [Fri, 16 May 2014 19:45:15 +0000 (19:45 +0000)]
[MSE] Crash at  WebCore::SourceBuffer::~SourceBuffer + 110
https://bugs.webkit.org/show_bug.cgi?id=132973

Reviewed by Eric Carlson.

Change SourceBuffer::m_private into a Ref<>, and add an assertion to
SourceBufferPrivateAVFObjC's destructor if its client has not been cleared.

Eliminate unnecessary churn in MediaSourcePrivateAVFObjC by having the predicate
functor take bare pointers, rather than a PassRefPtr.

The underlying problem seems to be in WebAVStreamDataParserListener. RefPtrs were
being created off the main thread to a non-thread safe ref counted class. In some
situations, this would result in double decrementing the ref, which would cause an
early destruction of the underlying object. Instead replace these RefPtr strong
pointers with explicit weak ones. Ensure the parser and its delegate are not freed
before the append operation completes by passing strong pointers into the async
append operation lambda.

There were a few places where we weren't null checking m_mediaSource before using it,
and at least one place where we weren't clearing m_mediaSource.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer): Use Ref instead of RefPtr.
(WebCore::SourceBuffer::appendBufferTimerFired): Ditto.
* Modules/mediasource/SourceBuffer.h:
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjCHasAudio): Take a bare pointer, instead of a PassRefPtr.
(WebCore::MediaSourcePrivateAVFObjCHasVideo): Ditto.
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer): Clear the back pointer when removing a buffer.
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]): Use WeakPtr instead of RefPtr.
(-[WebAVStreamDataParserListener invalidate]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::append): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168974 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Gtk] media/media-blocked-by-beforeload.html is flaky.
commit-queue@webkit.org [Fri, 16 May 2014 19:01:57 +0000 (19:01 +0000)]
[Gtk] media/media-blocked-by-beforeload.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=89811

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-16
Reviewed by Eric Carlson.

Problem is that we cannot predict when 'error' event would be called,
because is called async on 'source' element. Solution is to not log
'loadedmetadata' and 'loadstart' events.

* media/media-blocked-by-beforeload-expected.txt:
* media/media-blocked-by-beforeload.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168973 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSubpixel rendering: Push named flows in region to device pixel when painting.
zalan@apple.com [Fri, 16 May 2014 18:47:07 +0000 (18:47 +0000)]
Subpixel rendering: Push named flows in region to device pixel when painting.
https://bugs.webkit.org/show_bug.cgi?id=132986

Reviewed by Simon Fraser.

Remove integral rounding when named flow sets the painting offset on the graphics context.
Use device pixel snapping instead to ensure that we can paint on odd device pixel positions on retina displays.

Source/WebCore:
Test: fast/regions/hidpi-region-with-auto-margin-on-subpixel-position.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):

LayoutTests:
* fast/regions/hidpi-region-with-auto-margin-on-subpixel-position-expected.html: Added.
* fast/regions/hidpi-region-with-auto-margin-on-subpixel-position.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168972 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] Add ASSERT to make sure using the flowThread cache does not return...
stavila@adobe.com [Fri, 16 May 2014 18:26:24 +0000 (18:26 +0000)]
[CSS Regions] Add ASSERT to make sure using the flowThread cache does not return incorrect results
https://bugs.webkit.org/show_bug.cgi?id=132906

Reviewed by Simon Fraser.

If flowThreadContainingBlock() is called on an object which is in a different
flow thread than the one currently being laid out, this method will return an incorrect
result. I added an assertion for that to make sure we catch and treat any such scenarios.
For the moment, this assertion is only validated for regions, as multicol still has some issues.

No new tests required.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::locateFlowThreadContainingBlockNoCache):
(WebCore::RenderObject::locateFlowThreadContainingBlock):
* rendering/RenderObject.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168971 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMemoryCache::addImageToCache should return the result of add().
mhock@apple.com [Fri, 16 May 2014 17:07:09 +0000 (17:07 +0000)]
MemoryCache::addImageToCache should return the result of add().
https://bugs.webkit.org/show_bug.cgi?id=132928
<rdar://problem/16651547>

Reviewed by Alexey Proskuryakov.

Source/WebCore:
API test: WebKit1.MemoryCacheADdImageToCache (MemoryCacheAddImageToCacheIOS.mm)

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::addImageToCache):

Tools:
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/MemoryCacheAddImageToCacheIOS.mm: Added.
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168970 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoold-run-webkit-tests: allow specifying a simulator app path
dfarler@apple.com [Fri, 16 May 2014 16:34:40 +0000 (16:34 +0000)]
old-run-webkit-tests: allow specifying a simulator app path
https://bugs.webkit.org/show_bug.cgi?id=132975

Reviewed by Anders Carlsson.

* Scripts/old-run-webkit-tests:
(openIPhoneSimulator):
Add new --simulator-app command line parameter for specifying the
absolute path to the simulator app to launch before starting a
session.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168969 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[webkitpy] In case of multiple bug rollout, all bugs should be reopened, not only...
commit-queue@webkit.org [Fri, 16 May 2014 14:35:47 +0000 (14:35 +0000)]
[webkitpy] In case of multiple bug rollout, all bugs should be reopened, not only the oldest one
https://bugs.webkit.org/show_bug.cgi?id=131363

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

* Scripts/webkitpy/common/checkout/checkout_mock.py:
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
(MockBugzilla):
* Scripts/webkitpy/tool/commands/download_unittest.py:
(test_create_rollout_multiple_revision_with_one_resolved):
(test_create_rollout_multiple_resolved):
(test_rollout_two_revisions):
(test_rollout_multiple_revisions):
(test_rollout_multiple_revisions_with_a_missing_bug_id):
* Scripts/webkitpy/tool/steps/createbug.py:
(CreateBug.run):
* Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
(ReopenBugAfterRollout.run):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168968 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] Reduce the RenderRegion invasiveness in rendering code
abucur@adobe.com [Fri, 16 May 2014 13:22:00 +0000 (13:22 +0000)]
[CSS Regions] Reduce the RenderRegion invasiveness in rendering code
https://bugs.webkit.org/show_bug.cgi?id=132121

Reviewed by Antti Koivisto.

Remove the RenderRegion / RenderNamedFlowFragment parameters and fields from
the painting / hit testing data structures and use a stateful approach to
correctly handle regions.

When painting or hit testing, the current flow thread is saved along the current
region. They are accessed through the |currentRenderNamedFlowFragment| helper
method on RenderObject or RenderLayer.

The patch also changes a bunch of 0s to nullptrs.

Tests: No new tests, no functional change.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
* rendering/HitTestLocation.cpp:
(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestLocation::operator=):
* rendering/HitTestLocation.h:
(WebCore::HitTestLocation::region): Deleted.
* rendering/HitTestResult.h:
* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::currentRenderNamedFlowFragment):
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::nodeAtPoint):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paint):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168967 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRTCDtmfSender default values need to be updated.
berto@igalia.com [Fri, 16 May 2014 11:56:14 +0000 (11:56 +0000)]
RTCDtmfSender default values need to be updated.
https://bugs.webkit.org/show_bug.cgi?id=132952

Patch by Kiran <kiran.guduru@samsung.com> on 2014-05-16
Reviewed by Eric Carlson.

Source/WebCore:
The default ToneDuration and ToneGap values are modified in the updated spec.
So these values need to be updated.

Test: fast/mediastream/RTCPeerConnection-dtmf.html.

* Modules/mediastream/RTCDTMFSender.cpp:

LayoutTests:
Added checks to test default, min value interToneGap
and duration and max value for duration.
(Spec does not specify any max value for inTertoneGap)

* fast/mediastream/RTCPeerConnection-dtmf.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168966 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2] Change the remaining framework includes from WebKit2 to WebKit
ossy@webkit.org [Fri, 16 May 2014 08:53:19 +0000 (08:53 +0000)]
[WK2] Change the remaining framework includes from WebKit2 to WebKit
https://bugs.webkit.org/show_bug.cgi?id=132956

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-16
Reviewed by Sam Weinig.

Source/WebKit2:
* NetworkProcess/unix/NetworkProcessMainUnix.cpp:
* NetworkProcess/unix/NetworkProcessMainUnix.h:
* PluginProcess/unix/PluginProcessMainUnix.h:
* Shared/API/c/cairo/WKImageCairo.h:
* Shared/API/c/cf/WKURLRequestCF.h:
* Shared/API/c/cf/WKURLResponseCF.h:
* Shared/API/c/efl/WKArrayEfl.cpp:
* Shared/API/c/efl/WKArrayEfl.h:
* UIProcess/API/C/CoordinatedGraphics/WKView.h:
* UIProcess/API/C/WKBatteryManager.h:
* UIProcess/API/C/WKBatteryStatus.h:
* UIProcess/API/C/WKGrammarDetail.h:
* UIProcess/API/C/WKTextChecker.h:
* UIProcess/API/C/WKVibration.h:
* UIProcess/API/C/WKViewportAttributes.h:
* UIProcess/API/C/cairo/WKIconDatabaseCairo.h:
* UIProcess/API/C/efl/WKAPICastEfl.h:
* UIProcess/API/C/efl/WKColorPickerResultListener.h:
* UIProcess/API/C/efl/WKEventEfl.h:
* UIProcess/API/C/efl/WKPageEfl.h:
* UIProcess/API/C/efl/WKPopupItem.h:
* UIProcess/API/C/efl/WKPopupMenuListener.h:
* UIProcess/API/C/efl/WKViewEfl.cpp:
* UIProcess/API/C/efl/WKViewEfl.h:
* UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
* UIProcess/API/C/gtk/WKInspectorClientGtk.h:
* UIProcess/API/C/gtk/WKView.h:
* UIProcess/API/C/gtk/WKViewPrivate.h:
* UIProcess/API/C/soup/WKContextSoup.h:
* UIProcess/API/C/soup/WKCookieManagerSoup.h:
* UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h:
* UIProcess/API/C/soup/WKSoupRequestManager.h:
* UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h:
* UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h:
* UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
* UIProcess/API/cpp/efl/WKEinaSharedString.h:
* UIProcess/API/efl/EwkView.cpp:
* UIProcess/API/efl/EwkView.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/GestureRecognizer.h:
* UIProcess/API/efl/ewk_application_cache_manager_private.h:
* UIProcess/API/efl/ewk_auth_request_private.h:
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
* UIProcess/API/efl/ewk_back_forward_list_private.h:
* UIProcess/API/efl/ewk_context_menu_item.cpp:
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_cookie_manager_private.h:
* UIProcess/API/efl/ewk_database_manager_private.h:
* UIProcess/API/efl/ewk_error_private.h:
* UIProcess/API/efl/ewk_favicon_database_private.h:
* UIProcess/API/efl/ewk_file_chooser_request_private.h:
* UIProcess/API/efl/ewk_page_group_private.h:
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
* UIProcess/API/efl/ewk_popup_menu_private.h:
* UIProcess/API/efl/ewk_security_origin_private.h:
* UIProcess/API/efl/ewk_settings_private.h:
* UIProcess/API/efl/ewk_storage_manager_private.h:
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_window_features_private.h:
* UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp:
* UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
* UIProcess/API/gtk/WebKitDownloadClient.cpp:
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
* UIProcess/efl/BatteryProvider.h:
* UIProcess/efl/ContextHistoryClientEfl.h:
* UIProcess/efl/DownloadManagerEfl.h:
* UIProcess/efl/FindClientEfl.h:
* UIProcess/efl/FormClientEfl.h:
* UIProcess/efl/PageLoadClientEfl.h:
* UIProcess/efl/PagePolicyClientEfl.h:
* UIProcess/efl/PageUIClientEfl.h:
* UIProcess/efl/RequestManagerClientEfl.h:
* UIProcess/efl/TextCheckerClientEfl.h:
* UIProcess/efl/VibrationClientEfl.h:
* UIProcess/efl/ViewClientEfl.cpp:
* UIProcess/efl/ViewClientEfl.h:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
* WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
* WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
* WebProcess/efl/SeccompFiltersWebProcessEfl.cpp:
* WebProcess/efl/SeccompFiltersWebProcessEfl.h:
* WebProcess/efl/WebProcessMainEfl.cpp:
* WebProcess/efl/WebProcessMainEfl.h:
* WebProcess/gtk/WebGtkInjectedBundleMain.cpp:
* WebProcess/gtk/WebProcessMainGtk.cpp:
* WebProcess/gtk/WebProcessMainGtk.h:
* mac/WKPreferences.h:

Tools:
* MiniBrowser/MiniBrowserWebProcessPlugIn.h:
* MiniBrowser/mac/AppDelegate.m:
* MiniBrowser/mac/WK2BrowserWindowController.m:
* TestWebKitAPI/InjectedBundleController.h:
* TestWebKitAPI/InjectedBundleMain.cpp:
* TestWebKitAPI/JavaScriptTest.cpp:
* TestWebKitAPI/PlatformUtilities.h:
* TestWebKitAPI/Tests/CustomProtocolsSyncXHRTest.mm:
* TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp:
* TestWebKitAPI/Tests/WebKit2/CanHandleRequest_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/CookieManager.cpp:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewRestoreZoomAndScrollBackForward.cpp:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewUserViewportToContents.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp:
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp:
* TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp:
* TestWebKitAPI/Tests/WebKit2/Find.cpp:
* TestWebKitAPI/Tests/WebKit2/FindMatches.mm:
* TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp:
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp:
* TestWebKitAPI/Tests/WebKit2/Geolocation.cpp:
* TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp:
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm:
* TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp:
* TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp:
* TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:
* TestWebKitAPI/Tests/WebKit2/SeccompFilters.cpp:
* TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp:
* TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:
* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
* TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp:
* TestWebKitAPI/Tests/WebKit2/WebArchive.cpp:
* TestWebKitAPI/Tests/WebKit2/WebArchive_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm:
* TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm:
* TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor_Bundle.mm:
* TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp:
* TestWebKitAPI/Tests/WebKit2/mac/WeakObjCPtr.mm:
* TestWebKitAPI/Tests/WebKit2/win/AltKeyGeneratesWMSysCommand.cpp:
* TestWebKitAPI/Tests/WebKit2/win/DoNotCopyANullCFURLResponse.cpp:
* TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp:
* TestWebKitAPI/Tests/WebKit2/win/TranslateMessageGeneratesWMChar.cpp:
* TestWebKitAPI/Tests/WebKit2/win/WMCloseCallsUIClientClose.cpp:
* TestWebKitAPI/Tests/WebKit2/win/WMPrint.cpp:
* TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextGroupTest.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextLoadDelegateTest.mm:
* TestWebKitAPI/Tests/mac/DeviceScaleFactorOnBack.mm:
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
* TestWebKitAPI/config.h:
* TestWebKitAPI/efl/PlatformWebView.cpp:
* TestWebKitAPI/mac/JavaScriptTestMac.mm:
* TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
* TestWebKitAPI/mac/PlatformWebViewMac.mm:
* TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h:
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/GeolocationProviderMock.cpp:
* WebKitTestRunner/GeolocationProviderMock.h:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
* WebKitTestRunner/InjectedBundle/GCController.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/InjectedBundle/TextInputController.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
* WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
* WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/StringFunctions.h:
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
* WebKitTestRunner/WebNotificationProvider.cpp:
* WebKitTestRunner/WebNotificationProvider.h:
* WebKitTestRunner/WorkQueueManager.cpp:
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
* WebKitTestRunner/cg/TestInvocationCG.cpp:
* WebKitTestRunner/cocoa/CrashReporterInfo.mm:
* WebKitTestRunner/config.h:
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
* WebKitTestRunner/ios/TestControllerIOS.mm:
* WebKitTestRunner/mac/EventSenderProxy.mm:
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
* WebKitTestRunner/mac/TestControllerMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168961 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2] Skip failing unit tests
gyuyoung.kim@samsung.com [Fri, 16 May 2014 05:21:24 +0000 (05:21 +0000)]
[EFL][WK2] Skip failing unit tests
https://bugs.webkit.org/show_bug.cgi?id=132979

Reviewed by Daniel Bates.

Source/WebKit2:
* PlatformEfl.cmake: Skip failing unit tests for now.

Tools:
* TestWebKitAPI/PlatformEfl.cmake: Skip failing unit tests for now.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168925 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAttempt to fix the Apple Mavericks Release, Apple MountainLion Release,
dbates@webkit.org [Fri, 16 May 2014 04:51:40 +0000 (04:51 +0000)]
Attempt to fix the Apple Mavericks Release, Apple MountainLion Release,
Apple MountainLion Release (32-bit Build), EFL, and GTK builds following
<http://trac.webkit.org/changeset/168921> (https://bugs.webkit.org/show_bug.cgi?id=132669)

* dom/ContainerNode.cpp: Include SVGElement.h for the definition of Node::hasTagName(const SVGQualifiedName&).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168924 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoASSERT_NOT_REACHED() in DocumentOrderedMap::get() when removing SVG subtree
dbates@webkit.org [Fri, 16 May 2014 04:30:12 +0000 (04:30 +0000)]
ASSERT_NOT_REACHED() in DocumentOrderedMap::get() when removing SVG subtree
https://bugs.webkit.org/show_bug.cgi?id=132669
<rdar://problem/14931432>

Reviewed by Brent Fulgham and Ryosuke Niwa.

Source/WebCore:
Fixes an assertion failure when removing an SVG element with a duplicate id.

When removing an SVG element with id A we synchronously instruct each element that references A
to find the first element with id A, call this N, from the document root and register itself to
either receive subsequent notifications from N (say, there is another element with id A) or as
waiting for an element with id A (say, N = nullptr; => we removed the last element with id A from
the document). Because the elements that reference A perform this operation synchronously when
removing an element they consult an transient state of the DocumentOrderedMap when querying for the
element with id A.

Without loss of generality, let E, E_1, E_2, and E_3 be elements, where E_1, E_2, E_3 are children
of E in that order and E_1.id = E_2.id = A and E_3.href = #A (that is, it references an element
with id A). Suppose we remove E then we remove E_1, update DocumentOrderedMap to decrement its count
for id A, and notify E_3 to look for an element with id A. This leads to an assertion failure since
DocumentOrderedMap expects to find an element with id A, E_2, but cannot find such an element when
traversing from the document root because E was unlinked from the document root (i.e. E_2 is in a
disjoint subtree).

Tests: svg/custom/change-id-of-use-during-removal.html
       svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath.html
       svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree.html
       svg/custom/remove-use-with-duplicate-id-referenced-by-later-use.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild): Call SVGDocumentExtensions::rebuildElements() after we remove
a DOM subtree so that applicable SVG elements can update their referenced element when the DocumentOrderedMap
is in a stable-state.
(WebCore::ContainerNode::removeChildren): Ditto.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::rebuildElements): Added; notifies SVG elements that their href attribute
changed so that they query the DocumentOrderedMap for the element they reference by id in their href attribute.
(WebCore::SVGDocumentExtensions::clearTargetDependencies): Added; Called from removing
an SVG element S from the DOM. Appends all elements that reference the id of S to the end of a Vector of
elements to be rebuilt (when SVGDocumentExtensions::rebuildElements() is called) and notifies these elements
that have been marked to be rebuilt so that they can invalidate their state (e.g. stop animating).
(WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget): Changed to take its argument by reference
(since it's always non-null) and simplified logic to synchronously notify SVG updates that their referenced element
may have changed. Calling SVGElement::svgAttributeChanged() on an element E should at most remove the dependencies
of E.
* svg/SVGDocumentExtensions.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::~SVGElement): Substitute "*this" for "this" as SVGDocumentExtensions::rebuildAllElementReferencesForTarget()
now takes a reference instead of a pointer.
(WebCore::SVGElement::removedFrom): Modified to call SVGDocumentExtensions::clearTargetDependencies().
(WebCore::SVGElement::attributeChanged): Substitute "*this" for "this" as SVGDocumentExtensions::rebuildAllElementReferencesForTarget()
now takes a reference instead of a pointer.
* svg/SVGElement.h:
(WebCore::SVGElement::callClearTarget): Added; calls through to private virtual SVGElement::clearTarget().
(WebCore::SVGElement::clearTarget): Added.
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::clearTarget): Added.
* svg/SVGTRefElement.h:
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::clearTarget): Added.
* svg/animation/SVGSMILElement.h:

LayoutTests:
Add tests to ensure that we don't cause an assertion failure when removing an SVG element with a duplicate id.

* svg/custom/change-id-of-use-during-removal-expected.txt: Added.
* svg/custom/change-id-of-use-during-removal.html: Added.
* svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath-expected.txt: Added.
* svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath.html: Added.
* svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref-expected.txt: Added.
* svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree-expected.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree.html: Added.
* svg/custom/remove-use-with-duplicate-id-referenced-by-later-use-expected.html: Added.
* svg/custom/remove-use-with-duplicate-id-referenced-by-later-use.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168921 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[iOS WK2] When zoomed, fixed elements jump at the start of a scroll, and jump back...
simon.fraser@apple.com [Fri, 16 May 2014 03:56:10 +0000 (03:56 +0000)]
[iOS WK2] When zoomed, fixed elements jump at the start of a scroll, and jump back at the end.
https://bugs.webkit.org/show_bug.cgi?id=132978
<rdar://problem/16894428>

Reviewed by Benjamin Poulain.

Source/WebCore:

This was the actual cause of the bug; r168560 changed the rect passed in here
to be the customFixedPositionRect rather than the unobscured rect, but we
used it to call FrameView::rectForViewportConstrainedObjects() which gave back
another bogus rect. So just use the rect passed in.

* page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
(WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):

Source/WebKit2:

Move the static function fixedPositionRectFromExposedRect() to a member function on
WebPageProxy so we can call it from more places. Also never give WebCore a customFixedPosition
rect that extends past the document bounds, but allow rubber-banding/pinching in the UI process to
move fixed elements outside the document.

* UIProcess/PageClient.h: Need to expose minimumZoomScale() and contentsSize() to WebPageProxy.
* UIProcess/WebPageProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::minimumZoomScale):
(WebKit::PageClientImpl::contentsSize):
* UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
Pass the computeCustomFixedPositionRect(ConstrainedToDocumentRect) to WebCore, but use computeCustomFixedPositionRect()
for the ScrollingCoordinator update.
(adjustedUnexposedEdge): Deleted.
(adjustedUnexposedMaxEdge): Deleted.
(fixedPositionRectFromExposedRect): Deleted.
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::adjustedUnexposedEdge):
(WebKit::adjustedUnexposedMaxEdge):
(WebKit::WebPageProxy::computeCustomFixedPositionRect):
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): This fixes some flashing when the scrolling tree
was being updated while scrolling; we now pass the correct rect.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168920 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Should remove JSDoc comment blocks.
commit-queue@webkit.org [Fri, 16 May 2014 03:32:19 +0000 (03:32 +0000)]
Web Inspector: Should remove JSDoc comment blocks.
https://bugs.webkit.org/show_bug.cgi?id=132984

Patch by Jono Wells <jonowells@apple.com> on 2014-05-15
Reviewed by Timothy Hatcher.

Remove JSDoc comment blocks. These are no longer necessary.

* UserInterface/Base/Main.js:
* UserInterface/Base/Object.js:
* UserInterface/Controllers/DOMTreeManager.js:
* UserInterface/Models/CSSCompletions.js:
* UserInterface/Models/DOMNode.js:
* UserInterface/Models/SourceMap.js:
* UserInterface/Protocol/InspectorBackend.js:
* UserInterface/Protocol/RemoteObject.js:
* UserInterface/Views/ApplicationCacheFrameContentView.js:
* UserInterface/Views/ConsoleMessage.js:
* UserInterface/Views/ConsoleMessageImpl.js:
* UserInterface/Views/ContextMenu.js:
* UserInterface/Views/DOMTreeElement.js:
* UserInterface/Views/DOMTreeOutline.js:
* UserInterface/Views/DOMTreeUpdater.js:
* UserInterface/Views/DataGrid.js:
* UserInterface/Views/DatabaseContentView.js:
* UserInterface/Views/EditingSupport.js:
* UserInterface/Views/ObjectPropertiesSection.js:
* UserInterface/Views/Popover.js:
* UserInterface/Views/TreeOutline.js:
JSDoc style comment blocks removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168919 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago<https://webkit.org/b/132976> Move discovery of sharing services off the main thread
mrowe@apple.com [Fri, 16 May 2014 00:11:39 +0000 (00:11 +0000)]
<https://webkit.org/b/132976> Move discovery of sharing services off the main thread

Discovery of sharing services can require disk access and IPC. Since the interface to
ServicesController is already asynchronous, we can easily perform the discovery on a
background queue. This can eliminate tens to hundreds of milliseconds worth of work
from the main thread when creating the first web process.

Reviewed by Brady Eidson.

* UIProcess/mac/ServicesController.h:
* UIProcess/mac/ServicesController.mm:
(WebKit::ServicesController::ServicesController):
(WebKit::ServicesController::refreshExistingServices): Bail out early if we're already
in the process of refreshing the services. Kick the discovery over to a background queue,
with it hopping back to the main queue to update the actual state and notify any contexts
that were interested.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168918 268f45cc-cd09-0410-ab3c-d52691b4dbfc