Timeline



May 5, 2014:

11:54 PM Changeset in webkit [168352] by g.czajkowski@samsung.com
  • 4 edits
    2 adds
    2 deletes in trunk/LayoutTests

Share mac/editing/spelling/delete-into-misspelled-word.html with other platforms
https://bugs.webkit.org/show_bug.cgi?id=132561

Reviewed by Darin Adler.

This test does not use Mac specific features and
can be run by other platforms as well.

Due to bug 125689, this test starts using asynchronous spellchecking.

  • editing/spelling/delete-into-misspelled-word-expected.txt:

Renamed from LayoutTests/platform/mac/editing/spelling/delete-into-misspelled-word-expected.txt

  • editing/spelling/delete-into-misspelled-word.html:

Renamed from LayoutTests/platform/mac/editing/spelling/delete-into-misspelled-word.html

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

Mark delete-into-misspelled-word.html as failing since those
platforms didn't turn on asynchronous spellchecking.

11:19 PM Changeset in webkit [168351] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[Soup] Use std::unique_ptr<char[]> for the read buffer in SocketStreamHandle
https://bugs.webkit.org/show_bug.cgi?id=132559

Reviewed by Carlos Garcia Campos.

Manage the read buffer array through a std::unique_ptr<char[]> object.
This avoids handling with the raw pointer and also ensures that the memory
allocated with the new[] operator is deleted with the delete[] operator,
a problem exposed by the AddressSanitizer in WebSocket tests.

  • platform/network/soup/SocketStreamHandle.h:
  • platform/network/soup/SocketStreamHandleSoup.cpp:

(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::connected):
(WebCore::SocketStreamHandle::readBytes):
(WebCore::SocketStreamHandle::platformClose):

11:06 PM Changeset in webkit [168350] by krit@webkit.org
  • 118 edits
    12 adds
    46 deletes in trunk

Adapt inline SVG sizing behavior to Firefox and Blink
https://bugs.webkit.org/show_bug.cgi?id=132569

Reviewed by Dean Jackson.

Source/WebCore:
This patch is ported from Blink CR 308992. Thanks to David Vest for helping
with back porting his Blink patch. From the commit message:

"The basis of this change is to map explicit width and height
attributes to CSS properties, essentially promoting them to
presentation attributes. Note that implicit "100%" width and height
are not mapped.

This enables us to remove the concept of "percentage intrinsic size"
and rely on normal CSS rules to resolve percentage values.

The change has been approved by the SVG WG and the spec is being
updated. Minutes here:

http://www.w3.org/2014/04/07-svg-minutes.html#item03"

The new model was indeed approved by the SVG WG and is basically following
the CSS 2.1 model for replaced elements.

With this patch WebKit, Firefox and Blink have the same behavior for inline SVG.
This is the first successful approach to unify the sizing behavior of SVG
across UAs.

Tests: svg/as-object/sizing/svg-in-object-placeholder-height-auto.html

svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html
svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html
svg/in-html/sizing/svg-inline.html

  • css/svg.css: Root SVG elements still need to be sized with height: 100% and

width: 100%. This is necessary since width and height are presentation
attributes now.

(svg:root):

  • rendering/RenderBox.h:

(WebCore::RenderBox::computeIntrinsicRatioInformation): Remove all special

behavior for intrinsic and percentage based sizes in SVG. This simplifies and
unifies the code a lot. Most of the logic that is used is in RenderBox and
RenderReplaced now. RenderSVGRoot was cleaned up a lot and is much lighter.
And so it SVGSVGElement.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeIntrinsicRatioInformation):

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

(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
(WebCore::RenderReplaced::computeIntrinsicRatioInformation):
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):
(WebCore::RenderReplaced::computePreferredLogicalWidths):

  • rendering/RenderReplaced.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
(WebCore::RenderSVGRoot::hasRelativeDimensions):
(WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth): Deleted.
(WebCore::RenderSVGRoot::hasRelativeLogicalHeight): Deleted.

  • rendering/svg/RenderSVGRoot.h:
  • svg/SVGElement.h:

(WebCore::SVGElement::invalidateSVGPresentationAttributeStyle):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::isPresentationAttribute):
(WebCore::SVGSVGElement::collectStyleForPresentationAttribute):
(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::currentViewportSize):
(WebCore::SVGSVGElement::hasIntrinsicWidth):
(WebCore::SVGSVGElement::hasIntrinsicHeight):
(WebCore::SVGSVGElement::intrinsicWidth):
(WebCore::SVGSVGElement::intrinsicHeight):
(WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Deleted.
(WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Deleted.

  • svg/SVGSVGElement.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::containerSize):

  • xml/XMLErrors.cpp: If an error occurs in a stand alone SVG file, we create

an XHTML document with the error message and append the SVG file.
This SVG file now follows the CSS sizing behavior as inline SVG.
Therefore, we need to set width and height to 100% explicitly.

(WebCore::XMLErrors::insertErrorMessageBlock):

LayoutTests:
The new sizing behavior for inline SVG causes different DRT outputs for about 40 test cases.
This is expected but for most tests an improvement since the SVGs fit into the documents
and scrollbars disappear or the general size gets smaller.
Some tests needed to be updated. The size was either not set at all or not properly.

svg-in-object.js and svg-inline.js contain dozens of new tests to check the correct sizing
behavior.

The tests were written by David Vest from Opera as part of CR 308992.

Many of the -expected updates are caused by SVG size changes in turn
affecting where line breaks are inserted.

  • TestExpectations:
  • accessibility/svg-image-expected.txt:
  • css3/flexbox/flexitem.html:
  • fast/css/infinite-floating-value-expected.txt:
  • fast/css/remove-fixed-resizer-crash-expected.txt:
  • fast/css3-text/css3-word-spacing-percentage/word-spacing-crash-expected.txt:
  • fast/repaint/moving-shadow-on-container.html:
  • fast/repaint/moving-shadow-on-path.html:
  • fast/repaint/svg-layout-root-style-attr-update.html:
  • fast/shapes/shape-outside-floats/shape-outside-relative-size-svg-expected.html:
  • fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html:
  • http/tests/xmlviewer/dumpAsText/svg-expected.txt:
  • platform/mac/svg/batik/filters/feTile-expected.txt:
  • platform/mac/svg/batik/masking/maskRegions-expected.txt:
  • platform/mac/svg/batik/paints/patternRegions-positioned-objects-expected.txt:
  • platform/mac/svg/batik/text/longTextOnPath-expected.txt:
  • platform/mac/svg/batik/text/textDecoration-expected.txt:
  • platform/mac/svg/batik/text/textEffect-expected.txt:
  • platform/mac/svg/batik/text/textLength-expected.txt:
  • platform/mac/svg/batik/text/textOnPath-expected.txt:
  • platform/mac/svg/batik/text/textPosition-expected.txt:
  • platform/mac/svg/batik/text/verticalText-expected.txt:
  • platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
  • platform/mac/svg/custom/bug45331-expected.txt:
  • platform/mac/svg/custom/junk-data-expected.txt:
  • platform/mac/svg/custom/missing-xlink-expected.txt:
  • platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
  • platform/mac/svg/custom/path-bad-data-expected.txt:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
  • platform/mac/svg/foreignObject/svg-document-in-html-document-expected.txt:
  • platform/mac/svg/hixie/error/012-expected.txt:
  • platform/mac/svg/hixie/intrinsic/001-expected.png: Removed.
  • platform/mac/svg/hixie/intrinsic/001-expected.txt: Removed.
  • platform/mac/svg/hixie/intrinsic/002-expected.png: Removed.
  • platform/mac/svg/hixie/intrinsic/002-expected.txt: Removed.
  • platform/mac/svg/in-html/circle-expected.txt:
  • platform/mac/svg/text/non-bmp-positioning-lists-expected.txt:
  • platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt:
  • platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
  • platform/mac/svg/wicd/rightsizing-grid-expected.txt:
  • platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
  • platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt:
  • platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
  • platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt:
  • platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
  • platform/mac/svg/zoom/page/zoom-zoom-coords-expected.txt:
  • platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt:
  • svg/animations/animate-css-xml-attributeType-expected.txt:
  • svg/as-image/image-respects-deviceScaleFactor.html:
  • svg/as-image/image-respects-pageScaleFactor.html:
  • svg/as-image/svg-as-image-with-relative-size-expected.html:
  • svg/as-image/svg-as-relative-image.html:
  • svg/as-object/sizing/svg-in-object-placeholder-height-auto-expected.txt: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-auto.html: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-fixed-expected.txt: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-percentage-expected.txt: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html: Added.
  • svg/as-object/sizing/svg-in-object.js: Added.

(.):
(.addAttr):
(.generateSVGURI):
(buildDemo):
(.doCombinationTestRecursive):
(doCombinationTest):
(debugHint):
(.debugHint):
(testSVGInObjectWithPlaceholderHeightAttr.):
(testSVGInObjectWithPlaceholderHeightAttr):

  • svg/css/composite-shadow-example.html:
  • svg/css/composite-shadow-with-opacity.html:
  • svg/css/max-width-2.html:
  • svg/css/stars-with-shadow.html:
  • svg/custom/absolute-sized-content-with-resources.xhtml:
  • svg/custom/altglyph.svg:
  • svg/custom/document-all-includes-svg-expected.txt:
  • svg/custom/external-paintserver-reference-expected.txt:
  • svg/custom/external-paintserver-reference.svg:
  • svg/custom/get-text-element-transform-crash-expected.txt:
  • svg/custom/linking-base-external-reference-expected.txt:
  • svg/custom/linking-base-external-reference.xhtml:
  • svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-height-50p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-height-50p-on-target-svg.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-on-target-svg.xhtml: Removed.
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml: Removed.
  • svg/custom/pending-resource-after-removal.xhtml:
  • svg/custom/percentage-of-html-parent.xhtml:
  • svg/custom/relative-sized-content-with-resources.xhtml:
  • svg/custom/relative-sized-content.xhtml:
  • svg/custom/relative-sized-deep-shadow-tree-content.xhtml:
  • svg/custom/relative-sized-image.xhtml:
  • svg/custom/relative-sized-inner-svg.xhtml:
  • svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml:
  • svg/custom/relative-sized-shadow-tree-content.xhtml:
  • svg/custom/relative-sized-use-on-symbol.xhtml:
  • svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml:
  • svg/custom/tref-with-progress-tag-setpseudo-assert-expected.txt:
  • svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt:
  • svg/custom/use-invalid-html-expected.txt:
  • svg/custom/window-named-item-lookup-expected.txt:
  • svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt:
  • svg/dom/parent-view-layout-crash-expected.txt:
  • svg/dom/stylesheet-candidate-node-crash-main-expected.txt:
  • svg/dom/svg-root-lengths.html:
  • svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt:
  • svg/hixie/intrinsic/001-expected.png: Removed.
  • svg/hixie/intrinsic/001-expected.txt: Removed.
  • svg/hixie/intrinsic/001.html: Removed.
  • svg/hixie/intrinsic/002-expected.png: Removed.
  • svg/hixie/intrinsic/002-expected.txt: Removed.
  • svg/hixie/intrinsic/002.html: Removed.
  • svg/hixie/intrinsic/resources/001.svg: Removed.
  • svg/hixie/intrinsic/resources/002.svg: Removed.
  • svg/in-html/sizing/svg-inline-expected.txt: Added.
  • svg/in-html/sizing/svg-inline.html: Added.
  • svg/in-html/sizing/svg-inline.js: Added.

(.):
(setupSVGElement):
(buildDemo):
(.doCombinationTestRecursive):
(doCombinationTest):
(debugHint):
(.debugHint):

  • svg/path-arc-invalid-expected.txt:
  • svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:
  • svg/text/append-text-node-to-tspan.html:
  • svg/text/kerning.svg:
  • svg/text/modify-text-node-in-tspan.html:
  • svg/text/multichar-glyph.svg:
  • svg/text/remove-text-node-from-tspan.html:
  • svg/text/remove-tspan-from-text.html:
  • svg/text/svg-rtl-text-crash-expected.txt:
  • svg/text/text-block-child-crash-expected.txt:
  • svg/transforms/animated-path-inside-transformed-html.xhtml:
  • svg/transforms/svg-css-transforms-clip-path.xhtml:
  • svg/transforms/transform-origin-css-property.xhtml:
  • svg/zoom/page/zoom-foreignObject.svg:
  • svg/zoom/page/zoom-svg-as-relative-image.html:
  • svg/zoom/text/zoom-foreignObject.svg:
11:04 PM Changeset in webkit [168349] by commit-queue@webkit.org
  • 1 edit
    12 adds in trunk/LayoutTests

[CSS Blending] Add tests using blending and isolation for body and html elements.
https://bugs.webkit.org/show_bug.cgi?id=132325

Patch by Ion Rosca <Ion Rosca> on 2014-05-05
Reviewed by Dirk Schulze.

  • css3/compositing/blend-mode-body-child-background-color-expected.html: Added.
  • css3/compositing/blend-mode-body-child-background-color.html: Added.
  • css3/compositing/blend-mode-body-child-expected.html: Added.
  • css3/compositing/blend-mode-body-child-isolate-background-color-expected.html: Added.
  • css3/compositing/blend-mode-body-child-isolate-background-color.html: Added.
  • css3/compositing/blend-mode-body-child-isolate-html-background-color-expected.html: Added.
  • css3/compositing/blend-mode-body-child-isolate-html-background-color.html: Added.
  • css3/compositing/blend-mode-body-child.html: Added.
  • css3/compositing/blend-mode-body-element-expected.html: Added.
  • css3/compositing/blend-mode-body-element.html: Added.
  • css3/compositing/blend-mode-html-element-screen-expected.html: Added.
  • css3/compositing/blend-mode-html-element-screen.html: Added.
8:12 PM Changeset in webkit [168348] by Darin Adler
  • 4 edits in trunk

RetainPtr: Use adoptCF function instead of AdoptCF constructor argument
https://bugs.webkit.org/show_bug.cgi?id=80222

Reviewed by Alexey Proskuryakov.

Source/WTF:
All the clients are gone, so we can now remove AdoptCF and AdoptNS.

  • wtf/RetainPtr.h: Removed the public constructors that let you specify AdoptCF

and AdoptNS. Instead, made the adoptCF and adoptNS functions be friends and use
a private constructor that takes an Adopt argument.
(WTF::adoptCF): Moved the Objective-C class check in here.
(WTF::adoptNS): Moved the code to deal with the CFRetain for garbage collection
in here; it used to be spread across the constructor and adoptNSReference.

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:

(-[APITestDelegateIPhone initWithTestRunner:utf8Data:baseURL:]): Updated to
do more work here so we don't use RetainPtr local variables.
(-[APITestDelegateIPhone dealloc]): Added.
(-[APITestDelegateIPhone run]): Added an early exit if the web view is already
created. Updated for changes to member names and types.
(-[APITestDelegateIPhone _cleanUp]): Added code to set webView to nil and
updated for changes to member names and types. Changed to two word spelling.
(-[APITestDelegateIPhone webView:didFailLoadWithError:forFrame:]): Updated
name of _cleanUp method.
(-[APITestDelegateIPhone webView:didFailProvisionalLoadWithError:forFrame:]):
Ditto.
(-[APITestDelegateIPhone webView:didFinishLoadForFrame:]): Ditto.

7:54 PM Changeset in webkit [168347] by akling@apple.com
  • 4 edits in trunk/Source/WebKit

Unreviewed, rolling out r168334.

Broke builds.

Reverted changeset:

"Put WebKitPluginHost.app in WebKitLegacy.framework"
https://bugs.webkit.org/show_bug.cgi?id=132592
http://trac.webkit.org/changeset/168334

7:49 PM Changeset in webkit [168346] by dino@apple.com
  • 4 edits in trunk/WebKitLibraries

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

Update WebKitSystemInterface to allow animated focus rings.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
7:42 PM Changeset in webkit [168345] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.30.4/WebKitLibraries

Merged r168321.

7:35 PM Changeset in webkit [168344] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.30.4/Source

Versioning.

7:32 PM Changeset in webkit [168343] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.30.4

New tag.

7:08 PM Changeset in webkit [168342] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebCore

[EFL] REGRESSION(167145): JavaScript media controls are broken
https://bugs.webkit.org/show_bug.cgi?id=131573

Reviewed by Brent Fulgham.

  • PlatformEfl.cmake: Add the localized strings file to the list of user agent scripts.
  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::mediaControlsScript): Include the localized strings file in the script body.

6:49 PM Changeset in webkit [168341] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Implement scan backward and forward in video fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=132517

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

Source/WebCore:
Implement scanning forward and backward. This implements methods in
WebAVPlayerController and forwards them through WebVideoFullscreenModelMediaElement
and on to HTMLMediaElement.

  • WebCore.exp.in: necessary exports.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController seekToTime:]):
Use fastSeek in this case.
(-[WebAVPlayerController canScanForward]): If you can play, you can scan.
(+[WebAVPlayerController keyPathsForValuesAffectingCanScanForward]): ditto
(-[WebAVPlayerController beginScanningForward:]): ditto
(-[WebAVPlayerController endScanningForward:]): ditto
(-[WebAVPlayerController canScanBackward]): If you can play, you can scan.
(+[WebAVPlayerController keyPathsForValuesAffectingCanScanBackward]): ditto
(-[WebAVPlayerController beginScanningBackward:]): ditto
(-[WebAVPlayerController endScanningBackward:]): ditto
(-[WebAVPlayerController canSeekToBeginning]):
This looks at seekableRanges to determine if any seeking is possible.
(+[WebAVPlayerController keyPathsForValuesAffectingCanSeekToBeginning]):
depends on seekableRanges.
(-[WebAVPlayerController seekToBeginning:]): seek to -ininity
(-[WebAVPlayerController canSeekToEnd]):
This looks at seekableRanges to determine if any seeking is possible.
(+[WebAVPlayerController keyPathsForValuesAffectingCanSeekToEnd]):
depends on seekableRanges.
(-[WebAVPlayerController seekToEnd:]): seek to INFINITY.

  • platform/ios/WebVideoFullscreenModel.h:

Add 4 new functions.

  • platform/ios/WebVideoFullscreenModelMediaElement.h:

ditto

  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::fastSeek): forwards to HTMLMediaEelement
(WebVideoFullscreenModelMediaElement::beginScanningForward): forwards to HTMLMediaEelement
(WebVideoFullscreenModelMediaElement::beginScanningBackward): forwards to HTMLMediaEelement
(WebVideoFullscreenModelMediaElement::endScanning): forwards to HTMLMediaEelement

Source/WebKit2:
Plumb through scanning/seeking functions.

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

(WebKit::WebVideoFullscreenManagerProxy::fastSeek):
(WebKit::WebVideoFullscreenManagerProxy::beginScanningForward):
(WebKit::WebVideoFullscreenManagerProxy::beginScanningBackward):
(WebKit::WebVideoFullscreenManagerProxy::endScanning):

  • WebProcess/ios/WebVideoFullscreenManager.messages.in:
6:22 PM Changeset in webkit [168340] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix debug build.

  • runtime/JSCellInlines.h:

(JSC::JSCell::fastGetOwnProperty):

6:14 PM Changeset in webkit [168339] by benjamin@webkit.org
  • 8 edits in trunk/Source

[iOS][WK2] Prefetch DNS hostnames on tap highlight
https://bugs.webkit.org/show_bug.cgi?id=132509

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-05
Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:
  • dom/Element.cpp:
  • dom/Element.h:

(WebCore::Element::absoluteLinkURL()):

Source/WebKit2:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::tapHighlightAtPosition):

6:10 PM Changeset in webkit [168338] by Simon Fraser
  • 18 edits in trunk/Source

[iOS WK2] Flickery scrolling inside overflow-scrolling: touch
https://bugs.webkit.org/show_bug.cgi?id=132591
<rdar://problem/16760466>

Reviewed by Tim Horton.

Source/WebCore:

Avoid triggering layer tree commits that touch the layer's boundsOrigin
while the user is scrolling in the UI process.

Fix the WKOverflowScrollViewDelegate to pass along an "inUserInteration"
flag to the ScrollingTree to say that we're in the middle of a user interaction
(and also to send a final non-interactive update). That gets passed along
to the web process, and turned into "SyncScrollingLayerPosition" update.
AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll() consults
this, and uses it to set a flag on the ScrollableArea to say that the scroll
is a user scroll.

RenderLayerBacking then makes use of this (in existing code, shared with WK1)
to avoid triggering layer bounds setting. Instead, it now just calls syncBoundsOrigin(),
which updates the GraphicsLayer without touching platform layers. This is necessary
so that GraphicsLayer geometry is up-to-date (used for tiled layer visibility
computations).

Finally, a hack in GraphicsLayerCA::computeVisibleRect() is conditionalized
for WebKit1 by checking the type of platform layer.

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):

  • page/scrolling/ScrollingTree.h:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::syncBoundsOrigin):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::computeVisibleRect):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Source/WebKit2:

Avoid triggering layer tree commits that touch the layer's boundsOrigin
while the user is scrolling in the UI process.

Fix the WKOverflowScrollViewDelegate to pass along an "inUserInteration"
flag to the ScrollingTree to say that we're in the middle of a user interaction
(and also to send a final non-interactive update). That gets passed along
to the web process, and turned into "SyncScrollingLayerPosition" update.
AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll() consults
this, and uses it to set a flag on the ScrollableArea to say that the scroll
is a user scroll.

RenderLayerBacking then makes use of this (in existing code, shared with WK1)
to avoid triggering layer bounds setting. Instead, it now just calls syncBoundsOrigin(),
which updates the GraphicsLayer without touching platform layers. This is necessary
so that GraphicsLayer geometry is up-to-date (used for tiled layer visibility
computations).

Finally, a hack in GraphicsLayerCA::computeVisibleRect() is conditionalized
for WebKit1 by checking the type of platform layer.

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
(WebKit::RemoteScrollingCoordinatorProxy::isPointInNonFastScrollableRegion):
(WebKit::RemoteScrollingCoordinatorProxy::viewportChangedViaDelegatedScrolling):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):

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

(-[WKOverflowScrollViewDelegate scrollViewDidScroll:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndDecelerating:]):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewDidScroll):

  • WebProcess/Scrolling/RemoteScrollingCoordinator.h:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.mm:

(WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):

6:10 PM Changeset in webkit [168337] by matthew_hanson@apple.com
  • 1 edit in branches/safari-537.76-branch/LayoutTests/ChangeLog

Remove merge artifact.

6:03 PM Changeset in webkit [168336] by akling@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/media/hls/video-controls-live-stream.html as WontFix on Mountain Lion.
<https://webkit.org/b/132491>

  • platform/mac/TestExpectations:
5:53 PM Changeset in webkit [168335] by akling@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Optimize GetByVal when subscript is a rope string.
<https://webkit.org/b/132590>

Use JSString::toIdentifier() in the various GetByVal implementations
to try and avoid allocating extra strings.

Added canUseFastGetOwnProperty() and wrap calls to fastGetOwnProperty()
in that, to avoid calling JSString::value() which always resolves ropes
into new strings and de-optimizes subsequent toIdentifier() calls.

My iMac says ~9% progression on Dromaeo/dom-attr.html

Reviewed by Phil Pizlo.

  • dfg/DFGOperations.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):

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

(JSC::JSCell::fastGetOwnProperty):
(JSC::JSCell::canUseFastGetOwnProperty):

5:47 PM Changeset in webkit [168334] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit

Put WebKitPluginHost.app in WebKitLegacy.framework
https://bugs.webkit.org/show_bug.cgi?id=132592
<rdar://problem/15920046>

Reviewed by Dan Bernstein.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):

5:42 PM Changeset in webkit [168333] by ap@apple.com
  • 32 edits
    1 add
    2 deletes in trunk/Source

Stop using BlobData on client side
https://bugs.webkit.org/show_bug.cgi?id=132582

Reviewed by Sam Weinig.

Source/WebCore:
Blob registration now uses either a single file path, or a vector of much simpler
BlobPart objects, not an array with arbitrarily sliced blobs or files, which can't happen.

  • Modules/websockets/WebSocket.cpp:(WebCore::WebSocket::didReceiveBinaryData):

Use a new simpler Blob constructor.

  • WebCore.xcodeproj/project.pbxproj: Added BlobPart, removed BlobRegistrationData.
  • bindings/js/JSBlobCustom.cpp: (WebCore::JSBlobConstructor::constructJSBlob):

Use Vector<BlobPart> instead of BlobData (1 line of code instead of 5).

  • dom/DataTransfer.cpp: (WebCore::DataTransfer::hasFileOfType): Updated for

File::contentTypeFromFilePathOrName rename.

  • fileapi/Blob.cpp: (WebCore::Blob::Blob):
  • fileapi/Blob.h:

(WebCore::Blob::create):
(WebCore::Blob::deserialize):

  • fileapi/File.cpp:

(WebCore::File::File):
(WebCore::File::contentTypeFromFilePathOrName):
(WebCore::createBlobDataForFileWithType): Deleted.
(WebCore::createBlobDataForFile): Deleted.
(WebCore::createBlobDataForFileWithName): Deleted.
(WebCore::File::contentTypeFromFilePath): Deleted.

  • fileapi/File.h: (WebCore::File::deserialize): Deleted.

Added and updated constructors to not use BlobData. Changed special case constructors
to use name tags instead of non-enforced comments.

  • fileapi/ThreadableBlobRegistry.h:
  • fileapi/ThreadableBlobRegistry.cpp:

(WebCore::BlobRegistryContext::BlobRegistryContext): Updated with new data members
that were split out of BlobData.
(WebCore::ThreadableBlobRegistry::registerFileBlobURL): Added.
(WebCore::ThreadableBlobRegistry::registerBlobURL): Updated to pass Content-Type
explicitly, as it's no longer hidden in BlobData.

  • fileapi/WebKitBlobBuilder.h:
  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::BlobBuilder::append):
(WebCore::BlobBuilder::finalize):
(WebCore::BlobBuilder::appendBytesData): Deleted.
Updated to use BlobPart. There is no longer any need to special case Files,
the registry takes care of that.

  • platform/network/BlobData.h:
  • platform/network/BlobData.cpp:

(WebCore::BlobDataItem::detachFromCurrentThread): Deleted.
(WebCore::BlobData::detachFromCurrentThread): Deleted.
BlobData will only be used on main thread by the registry.

  • platform/network/BlobPart.h: Added. A new class to encapsulate a list of blobs

that are combined into a new blob, as exposed to JS via Blob constructor.

  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::registerFileBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURL):

  • platform/network/BlobRegistryImpl.h:

Updated for the new registration methods. We no longer have arbitrary BlobDatas
coming in.

  • platform/network/FormData.cpp: Don't include BlobData for now (but really,

BlobStorageData is the same thing, and they will be merged soon).
Unfortunately, FormData is used by both client and registry side, and there is
no clear delimitation at the time.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseBlob): Use the new simpler

way to create a Blob.

Source/WebKit2:
Update for WebCore changes.

  • CMakeLists.txt:
  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerFileBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURL):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::registerFileBlobURL):
(WebKit::NetworkConnectionToWebProcess::registerBlobURL):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • Shared/FileAPI/BlobRegistrationData.cpp: Removed.
  • Shared/FileAPI/BlobRegistrationData.h: Removed.
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<BlobPart>::encode):
(IPC::ArgumentCoder<BlobPart>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerFileBlobURL):
(WebKit::BlobRegistryProxy::registerBlobURL):

  • WebProcess/FileAPI/BlobRegistryProxy.h:
5:29 PM Changeset in webkit [168332] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/LayoutTests

Skip fast/workers/worker-copy-shared-blob-url.html.

4:57 PM Changeset in webkit [168331] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.33.2/Source/JavaScriptCore

Merged r168116.

4:40 PM Changeset in webkit [168330] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.33.2/Source

Versioning.

4:39 PM Changeset in webkit [168329] by akling@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r168256): ASSERTION FAILED: (buffer + m_length) == position loading vanityfair.com article.
<https://webkit.org/b/168256>
<rdar://problem/16816316>

Source/JavaScriptCore:
Make resolveRopeSlowCase8() behave like its 16-bit counterpart and not
clear the fibers. The caller takes care of this.

Test: fast/dom/getElementById-with-rope-string-arg.html

Reviewed by Geoffrey Garen.

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeSlowCase8):

LayoutTests:
Reviewed by Geoffrey Garen.

  • fast/dom/getElementById-with-rope-string-arg-expected.txt: Added.
  • fast/dom/getElementById-with-rope-string-arg.html: Added.
4:35 PM Changeset in webkit [168328] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.33.2

New tag.

4:35 PM Changeset in webkit [168327] by benjamin@webkit.org
  • 7 edits in trunk

Clean up Image Document and tweak the layout and viewport
https://bugs.webkit.org/show_bug.cgi?id=132552

Source/WebCore:
Reviewed by Sam Weinig.

The #ifdef in every function was making quite a mess. A lot of that code does
not make sense on iOS.

This patch make a clean split between mouse related stuff and iOS.

Also:
-Change the viewport to be only width based, and avoid scaling in portrait.
-Center the image horizontally in the view.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::ImageDocument):
(WebCore::ImageDocument::createDocumentStructure):
(WebCore::ImageDocument::imageUpdated):
(WebCore::ImageDocument::scale):
(WebCore::ImageDocument::resizeImageToFit):
(WebCore::ImageDocument::imageFitsInWindow):
(WebCore::ImageDocument::windowSizeChanged):
(WebCore::ImageDocument::imageClicked):

  • html/ImageDocument.h:

Tools:
Reviewed by Anders Carlsson.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):
Update the default settings to have something consistent with WebKit2.

LayoutTests:
Reviewed by Anders Carlsson.

  • svg/custom/anchor-on-use-expected.svg:
4:24 PM Changeset in webkit [168326] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/LayoutTests

Rebaseline fast/dom/MutationObserver/parser-mutations-actual.txt

A newline should have been added by r168318, not removed.

  • fast/dom/MutationObserver/parser-mutations-expected.txt:
4:14 PM Changeset in webkit [168325] by Beth Dakin
  • 8 edits in trunk/Source

Need a delegate that informs the UI process when the page's pin state changes
https://bugs.webkit.org/show_bug.cgi?id=132583
-and corresponding-
<rdar://problem/16806231>

Reviewed by Anders Carlsson.

Source/WebCore:
We should default all of these pin-state value to true.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::ScrollingTree):

Source/WebKit2:
New UIClient function pinnedStateDidChange.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::pinnedStateDidChange):

Create WKPageUIClientV3 to add this function.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPageUIClient.h:

Change default initialization to true instead of false, which makes more sense for
this API.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

4:09 PM Changeset in webkit [168324] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Add SPI to provide the WebCrypto master key
https://bugs.webkit.org/show_bug.cgi?id=132586
<rdar://problem/16091460>

Reviewed by Dan Bernstein.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::webCryptoMasterKey):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

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

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::webCryptoMasterKey):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):

4:06 PM Changeset in webkit [168323] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=132522
Clean up ProcessThrottler

Unreviewed: bad build fix. Will work out what the right include is asap.

  • UIProcess/ios/WebProcessProxyIOS.mm:
3:50 PM Changeset in webkit [168322] by ch.dumez@samsung.com
  • 5 edits
    2 adds in trunk

Named element cache can become invalid during HTMLCollection::updateNamedElementCache()
https://bugs.webkit.org/show_bug.cgi?id=132575

Reviewed by Ryosuke Niwa.

Source/WebCore:
Make sure the named element cache object stays valid in
HTMLCollection::updateNamedElementCache() while it is populating it.

The method was previously creating and setting the cache first, and then start
traversing the DOM tree to populate it. As a consequence, hasNamedElementCache()
would start returning true before the cache is actually populated.
The issue is that finding matches in the DOM tree can cause
HTMLCollection::invalidateCache() to be called under certain circumstances and
thus the named element cache object can become invalid while
updateNamedElementCache() is populating it.

To avoid the issue, this patch updates updateNamedElementCache() so that the
named element cache map is set *after* traversing the DOM tree. This way,
hasNamedElementCache() returns false while the cache is being populated and
there is no chance of it being invalidated too early.

Test: fast/dom/htmlcollection-selectedOptions-namedItem-crash.html

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::updateNamedElementCache):

  • html/HTMLCollection.h:

(WebCore::HTMLCollection::setNameItemCache):
(WebCore::HTMLCollection::createNameItemCache): Deleted.

  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::updateNamedElementCache):

LayoutTests:
Add layout test to verify that HTMLCollection::updateNamedElementCache() is no longer
crashing for collections of selected options.

  • fast/dom/htmlcollection-selectedOptions-namedItem-crash-expected.txt: Added.
  • fast/dom/htmlcollection-selectedOptions-namedItem-crash.html: Added.
3:11 PM Changeset in webkit [168321] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[WIN] Enhance auto-version.sh to handle all-caps or mixed-case build environment variable
https://bugs.webkit.org/show_bug.cgi?id=132580
<rdar://problem/16811179>

Reviewed by Dean Jackson.

  • win/tools/scripts/auto-version.sh: Incorporate Mark's revised syntax.
3:09 PM Changeset in webkit [168320] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[WIN] Enhance auto-version.sh to handle all-caps or mixed-case build environment variable
https://bugs.webkit.org/show_bug.cgi?id=132580
<rdar://problem/16811179>

Reviewed by Dean Jackson.

  • win/tools/scripts/auto-version.sh: Fall back to all-caps version

of environment variable if mixed-case version is not present.

3:09 PM Changeset in webkit [168319] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION: RELEASE_ASSERT in CodeBlock::baselineVersion @ cnn.com
https://bugs.webkit.org/show_bug.cgi?id=132581

Reviewed by Filip Pizlo.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::isStillValid): Check that the alternative codeBlock we
started compiling for is still the same at the end of compilation.
Also did some minor restructuring.

2:52 PM Changeset in webkit [168318] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/LayoutTests

Rebaseline fast/dom/MutationObserver/parser-mutations-actual.txt

  • fast/dom/MutationObserver/parser-mutations-expected.txt: Remove newline.
2:23 PM Changeset in webkit [168317] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebKit2

[Cocoa WebKit2] Add SPI to clear all visited links in a VisitedLinkProvider
https://bugs.webkit.org/show_bug.cgi?id=132573

Patch by Sam Weinig <sam@webkit.org> on 2014-05-05
Reviewed by Dan Bernstein.

  • Shared/VisitedLinkTable.cpp:

(WebKit::VisitedLinkTable::VisitedLinkTable):
(WebKit::VisitedLinkTable::clear):

  • Shared/VisitedLinkTable.h:

Add functions to clear the visited link table.

  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.h:
  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:

(-[_WKVisitedLinkProvider removeAll]):
Add SPI.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::removeAll):

  • UIProcess/VisitedLinkProvider.h:

A remove all resets the provider and notifies all the attached processes.

  • WebProcess/WebPage/VisitedLinkTableController.cpp:

(WebKit::VisitedLinkTableController::removeAllVisitedLinks):

  • WebProcess/WebPage/VisitedLinkTableController.h:
  • WebProcess/WebPage/VisitedLinkTableController.messages.in:

Add message to clear the visited links for a process.

2:13 PM Changeset in webkit [168316] by benjamin@webkit.org
  • 7 edits in trunk/Source

[iOS][WK2] Special case ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture() for image documents
https://bugs.webkit.org/show_bug.cgi?id=132553

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • html/ImageDocument.cpp:

(WebCore::ImageDocument::imageElement):

  • html/ImageDocument.h:

Source/WebKit2:
When collecting the geometry for the smart magnification gesture, always return the image of an image document
on iOS. On iOS, it does not make much sense to return the whole document rect when the gesture is not over the image.

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):

2:13 PM Changeset in webkit [168315] by matthew_hanson@apple.com
  • 1 edit
    2 adds in branches/safari-537.76-branch/LayoutTests

Copy js-test-pre and js-test-post from LayoutTests/fast/js/resources/ to LayoutTests/resources.

Merged tests (such as <rdar://problem/16433711>) expect these files
to live in LayoutTests/resources on the branch.

  • resources/js-test-post.js: Added.
  • resources/js-test-pre.js: Added.
2:08 PM Changeset in webkit [168314] by commit-queue@webkit.org
  • 4 edits
    14 adds in trunk

[CSS Blending] Webkit-blend-mode fails for accelerated parent with overflow:hidden
https://bugs.webkit.org/show_bug.cgi?id=126160

Source/WebCore:
When the isolating layer has overflow:hidden, it will create a descendant clipping layer
(m_childContainmentLayer), which will restrict the bleding layer to reading the backdrop
from the isolating layer.
The solution in this patch is to forbid the isolating layer to create a descendant clipping
layer and make all the children to get their own ancestor clipping layers instead.

Patch by Ion Rosca <Ion Rosca> on 2014-05-05
Reviewed by Dean Jackson.

Tests: css3/compositing/blend-mode-accelerated-parent-overflow-hidden.html

css3/compositing/blend-mode-clip-accelerated-blending-canvas.html
css3/compositing/blend-mode-clip-accelerated-blending-child.html
css3/compositing/blend-mode-clip-accelerated-blending-double.html
css3/compositing/blend-mode-clip-accelerated-blending-with-siblings.html
css3/compositing/blend-mode-clip-accelerated-transformed-blending.html
css3/compositing/blend-mode-clip-rect-accelerated-blending.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
when the compositing ancestor isolates blending we take it into account for computing
the clipping rect for this layer, because it was not allowed to create the descendant
clipping layer.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::clippedByAncestor):
when the compositing ancestor isolates blending we decide if a layer is clipped by ancestor
by computing the clipping rect taking into account all the ancestors up to and including
the compositing ancestor.
(WebCore::RenderLayerCompositor::clipsCompositingDescendants):
if a layer isolates blending, it is not allowed to create a descendant clipping layer.

LayoutTests:
Patch by Ion Rosca <Ion Rosca> on 2014-05-05
Reviewed by Dean Jackson.

  • css3/compositing/blend-mode-accelerated-parent-overflow-hidden-expected.html: Added.
  • css3/compositing/blend-mode-accelerated-parent-overflow-hidden.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-canvas-expected.txt: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-canvas.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-child-expected.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-child.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-double-expected.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-double.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-with-siblings-expected.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-with-siblings.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-transformed-blending-expected.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-transformed-blending.html: Added.
  • css3/compositing/blend-mode-clip-rect-accelerated-blending.html: Added.
  • css3/compositing/blend-mode-clip-rect-accelerated-blending-expected.html: Added.
  • css3/compositing/blend-mode-isolation-accelerated-overflow-hidden-expected.txt:
1:31 PM Changeset in webkit [168313] by krit@webkit.org
  • 32 edits
    2 adds in trunk

AX: tabindex support in SVG2
https://bugs.webkit.org/show_bug.cgi?id=130212

Reviewed by Chris Fleizach.

Source/WebCore:
The patch is mainly based on a patch for Blink by Erik Dahlström.
https://src.chromium.org/viewvc/blink?revision=172964&view=revision

It adds support for tabindex to SVG by reusing the HTML code.

Spec: https://svgwg.org/svg2-draft/interact.html#sequential-focus-navigation-and-the-tabindex-attribute
IDL attribute: https://svgwg.org/svg2-draft/types.html#__svg__SVGElement__tabIndex

Test: svg/custom/tabindex-order.html

  • dom/Element.cpp:

(WebCore::Element::setTabIndex): Moved from HTMLElement and shared with all elements.

  • dom/Element.h:
  • html/HTMLAnchorElement.cpp: Remove outdated comment.

(WebCore::HTMLAnchorElement::canStartSelection):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setTabIndex): Deleted.

  • html/HTMLElement.h:
  • svg/SVGAElement.cpp: Uses the same logic as HTMLAnchorElement now.

(WebCore::SVGAElement::tabIndex):
(WebCore::SVGAElement::supportsFocus):
(WebCore::SVGAElement::isMouseFocusable):
(WebCore::SVGAElement::isKeyboardFocusable):
(WebCore::SVGAElement::canStartSelection):

  • svg/SVGAElement.h:
  • svg/SVGCircleElement.h:
  • svg/SVGClipPathElement.h:
  • svg/SVGDefsElement.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::tabIndex): Return -1 if element can not be focused.
(WebCore::SVGElement::parseAttribute):
(WebCore::SVGElement::isMouseFocusable):
(WebCore::SVGElement::isKeyboardFocusable): Deleted. Use function on Element.

  • svg/SVGElement.h:
  • svg/SVGElement.idl:
  • svg/SVGEllipseElement.h:
  • svg/SVGGElement.h:
  • svg/SVGGraphicsElement.h: Remove supportsFocus() from inheriting functions.

Don't just return true. SVG elements should not be focusable by default.
Instead check if tabindex was set explicitly.

  • svg/SVGImageElement.h:
  • svg/SVGLineElement.h:
  • svg/SVGPathElement.h:
  • svg/SVGPolyElement.h:
  • svg/SVGRectElement.h:
  • svg/SVGSVGElement.h:
  • svg/SVGSwitchElement.h:
  • svg/SVGSymbolElement.h:
  • svg/SVGTextElement.h:

LayoutTests:
Add test for tabindex on various SVG elements. Negative tests included.

Test is based upon a test from Erik Dahlström. Modified to test all SVGGraphicsElements.

  • svg/custom/tabindex-order-expected.txt: Added.
  • svg/custom/tabindex-order.html: Added.
  • accessibility/svg-group-element-with-title.html: Give group element a role.
  • platform/gtk/svg/custom/linking-uri-01-b-expected.txt:
  • platform/ios-sim/svg/custom/linking-uri-01-b-expected.txt:
  • platform/mac/svg/custom/linking-uri-01-b-expected.txt:
1:14 PM Changeset in webkit [168312] by barraclough@apple.com
  • 15 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=132522
Clean up ProcessThrottler

Reviewed by Geoffrey Garen.

The initial implementation of ProcessThrottler relied on the reply from the
SetViewState message to ensure the page visibility notifications have a chance
to be delivered. This resulted in:

  • unnecessarily complicated interface to ProcessThrottler (in VisibilityState class)
  • complexity bleeding out into WebPageProxy (handling 'hiding' state).
  • for cases other than view hiding, no suspension notification in the WebContent.

To fix these issues add an explicit handshake from the ProcessThrottler to the WebPage.
This gives us two things:

  • All previously posted messages (e.g. SetViewState) will be processed before suspension.
  • WebContent is always (bar timeout) notified before suspension.

Since this interlock ensures the SetViewState message will be processed, the WKContentView no
longer needs to request a reply from SetViewState, and WebPageProxy can lose all the 'hiding'
state tracking. In turn, we can simplify VisibilityToken to a couple of simpler types, without
the interface to change state - just acquire/release to keep the process runnable or permit
suspension.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

  • VisibilityToken -> BackgroundActivityToken
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • m_visibilityToken -> m_activityToken, remove m_pendingViewStateUpdates updateVisibilityToken -> updateActivityToken

(WebKit::WebPageProxy::reattachToWebProcess):

  • updateVisibilityToken -> updateActivityToken

(WebKit::WebPageProxy::viewStateDidChange):

  • remove m_pendingViewStateUpdates, updateActivityToken after sending SetViewState

(WebKit::WebPageProxy::updateActivityToken):

  • m_visibilityToken -> m_activityToken, no need to handle 'hiding' state.

(WebKit::WebPageProxy::updateVisibilityToken): Deleted.

  • renamed to updateActivityToken

(WebKit::WebPageProxy::didUpdateViewState): Deleted.

  • implementation moved back into header.
  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::didUpdateViewState):

  • implementation moved back into header.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):

  • ProcessThrottler constructor now passed WebProcessProxy.
  • UIProcess/WebProcessProxy.h:
    • added ProcessWillSuspend/ProcessReadyToSuspend
  • UIProcess/WebProcessProxy.messages.in:
    • added ProcessWillSuspend/ProcessReadyToSuspend
  • UIProcess/ios/ProcessAssertion.h:

(WebKit::ProcessAssertion::state):

  • accessor
  • UIProcess/ios/ProcessThrottler.h:

(WebKit::ProcessThrottler::VisibilityToken::visibility): Deleted.
(WebKit::ProcessThrottler::VisibilityToken::setVisibility): Deleted.

  • removed VisibilityToken class, replaced with ForegroundActivityToken/BackgroundActivityToken.

(WebKit::ProcessThrottler::ProcessThrottler): Deleted.
(WebKit::ProcessThrottler::visibilityToken): Deleted.
(WebKit::ProcessThrottler::didConnnectToProcess): Deleted.
(WebKit::ProcessThrottler::assertionState): Deleted.
(WebKit::ProcessThrottler::updateAssertion): Deleted.

  • moved implementations to .mm.
  • UIProcess/ios/ProcessThrottler.mm:

(WebKit::ProcessThrottler::ForegroundActivityToken::ForegroundActivityToken):
(WebKit::ProcessThrottler::ForegroundActivityToken::~ForegroundActivityToken):
(WebKit::ProcessThrottler::BackgroundActivityToken::BackgroundActivityToken):
(WebKit::ProcessThrottler::BackgroundActivityToken::~BackgroundActivityToken):

  • new, simpler replacement for VisibilityToken. Instantiate to keep a processes running, release to suspend.

(WebKit::ProcessThrottler::ProcessThrottler):

  • constructor, now initializes WebProcessProxy pointer & timer mechanism

(WebKit::ProcessThrottler::assertionState):

  • select the appropriate AssertionState give current ActivityTokens.

(WebKit::ProcessThrottler::updateAssertionNow):

  • update the current ProcessAssertion.

(WebKit::ProcessThrottler::updateAssertion):

  • update the current ProcessAssertion, delay running->suspended transitions to give the process a chance to clean up.

(WebKit::ProcessThrottler::didConnnectToProcess):

  • moved from header.

(WebKit::ProcessThrottler::suspendTimerFired):

  • timeout to prevent processes from running in the background for too long.

(WebKit::ProcessThrottler::processReadyToSuspend):

  • handshake from the WebContent process to acknowledge it is ready to suspend.

(WebKit::ProcessThrottler::VisibilityToken::VisibilityToken): Deleted.
(WebKit::ProcessThrottler::VisibilityToken::~VisibilityToken): Deleted.
(WebKit::ProcessThrottler::VisibilityToken::hideTimerFired): Deleted.
(WebKit::ProcessThrottler::VisibilityToken::setVisibilityInternal): Deleted.

  • removed VisibilityToken class, replaced with ForegroundActivityToken/BackgroundActivityToken.
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didMoveToWindow]):

  • no longer necessary to request a response from SetViewState; this interlock is now managed by the ProcessThrottler.
  • UIProcess/ios/WebProcessProxyIOS.mm:

(WebKit::WebProcessProxy::sendProcessWillSuspend):
(WebKit::WebProcessProxy::processReadyToSuspend):

  • added ProcessWillSuspend/ProcessReadyToSuspend
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::processWillSuspend):

  • notification from the WebContent process that we will be suspended; for now just send back an ack.
  • WebProcess/WebProcess.h:
    • added ProcessWillSuspend/ProcessReadyToSuspend
  • WebProcess/WebProcess.messages.in:
    • added ProcessWillSuspend/ProcessReadyToSuspend
1:02 PM Changeset in webkit [168311] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Implement beginScrubbing and endScrubbing for video fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=132520

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

Source/WebCore:
Plumb through beginScrubbing and endScrubbing from AVKit down to HTMLMediaElement.
This keeps the playback state consistent while scrubbing and allows playback state
to return to the original state when scrubbing is complete.

  • WebCore.exp.in:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController beginScrubbing:]):
(-[WebAVPlayerController endScrubbing:]):

  • platform/ios/WebVideoFullscreenModel.h:
  • platform/ios/WebVideoFullscreenModelMediaElement.h:
  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::beginScrubbing):
(WebVideoFullscreenModelMediaElement::endScrubbing):

Source/WebKit2:
Plumb through beginScrubbing and endScrubbing.

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

(WebKit::WebVideoFullscreenManagerProxy::beginScrubbing):
(WebKit::WebVideoFullscreenManagerProxy::endScrubbing):

  • WebProcess/ios/WebVideoFullscreenManager.messages.in:
12:46 PM Changeset in webkit [168310] by Beth Dakin
  • 4 edits in trunk/LayoutTests

REGRESSION (r168244): compositing/visibility/visibility-image-layers-dynamic.html
failing.
https://bugs.webkit.org/show_bug.cgi?id=132551

Reviewed by Tim Horton.

This just needed a re-baseline after all. The bounds have increased in size
because the size of the layer tree dump effects the bounds! So now that we are
printing out anchor points, the bound increase by 15 pixels for every new anchor
point print-out.

Should not longer be marked failing.

Added comment to the test.

  • compositing/visibility/visibility-image-layers-dynamic.html:

Re-baseline.

  • platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
12:43 PM Changeset in webkit [168309] by commit-queue@webkit.org
  • 4 edits
    2 moves
    1 add in trunk/LayoutTests

[CSS Blending] Move fast/repaint tests to css3/compositing/repaint
https://bugs.webkit.org/show_bug.cgi?id=132567

Patch by Ion Rosca <Ion Rosca> on 2014-05-05
Reviewed by Mihnea Ovidenie.

  • css3/compositing/repaint/blend-mode-isolate-stacking-context-expected.txt: Renamed from LayoutTests/fast/repaint/blend-mode-isolate-stacking-context-expected.txt.
  • css3/compositing/repaint/blend-mode-isolate-stacking-context.html: Renamed from LayoutTests/fast/repaint/blend-mode-isolate-stacking-context.html.
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
11:59 AM Changeset in webkit [168308] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

More long hangs under IOSurfacePool::evict
https://bugs.webkit.org/show_bug.cgi?id=132576
<rdar://problem/16769469>

Reviewed by Simon Fraser.

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::evict):
If the pool is too full, we should be evicting in-use surfaces
even if the size of the in-use surfaces has dropped below maximumInUseBytes,
otherwise we can get stuck in an infinite loop with 0 cached surfaces
and 1+ in-use surfaces.

11:50 AM Changeset in webkit [168307] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167672 - Check (rather than assume) element is a RenderTableSection before using it
https://bugs.webkit.org/show_bug.cgi?id=121858

Reviewed by David Kilzer.

Source/WebCore:
Test: fast/table/table-insert-object-before-td-crash.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild): Check that lastBox is a table section before
using the node as if it was one.

LayoutTests:

  • fast/table/table-insert-object-before-td-crash-expected.txt: Added.
  • fast/table/table-insert-object-before-td-crash.html: Added.
11:49 AM Changeset in webkit [168306] by stavila@adobe.com
  • 19 edits
    2 deletes in trunk

[CSS Regions] Remove regionLayoutUpdate event
https://bugs.webkit.org/show_bug.cgi?id=132564

Reviewed by Simon Fraser.

Source/WebCore:
The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events:
regionOversetChange and regionFragmentChange.

No new tests needed, this patch removes a feature.

  • dom/EventNames.h:
  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): Deleted.

  • dom/WebKitNamedFlow.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::resetNonPersistentData):
(WebCore::InspectorCSSAgent::willRemoveNamedFlow):
(WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask): Deleted.
(WebCore::UpdateRegionLayoutTask::scheduleFor): Deleted.
(WebCore::UpdateRegionLayoutTask::unschedule): Deleted.
(WebCore::UpdateRegionLayoutTask::reset): Deleted.
(WebCore::UpdateRegionLayoutTask::timerFired): Deleted.
(WebCore::InspectorCSSAgent::didUpdateRegionLayout): Deleted.
(WebCore::InspectorCSSAgent::regionLayoutUpdated): Deleted.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didUpdateRegionLayout): Deleted.

  • inspector/protocol/CSS.json:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::updateOversetState):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::layout):
(WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEventIfNeeded): Deleted.
(WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired): Deleted.

  • rendering/RenderNamedFlowThread.h:

Source/WebInspectorUI:
The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events:
regionOversetChange and regionFragmentChange.

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager.prototype.get regionLayoutUpdated): Deleted.

  • UserInterface/Models/ScriptTimelineRecord.js:
  • UserInterface/Protocol/CSSObserver.js:

(WebInspector.CSSObserver.prototype.regionLayoutUpdated): Deleted.

  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:

LayoutTests:
Removed test for regionLayoutUpdate event.

  • fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes-expected.txt: Removed.
  • fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes.html: Removed.
11:44 AM Changeset in webkit [168305] by Carlos Garcia Campos
  • 4 edits
    4 adds in releases/WebKitGTK/webkit-2.4

Merge r167569 - Crashes in HTMLFormElement::submit.
https://bugs.webkit.org/show_bug.cgi?id=131910
<rdar://problem/15661790>

Source/WebCore:
Based on a patch by Kent Tamura.

Reviewed by Anders Carlsson.

Tests: fast/forms/form-submission-crash-2.html

fast/forms/form-submission-crash.html

Code that executes arbitrary JS needs to protect objects that it uses afterwards.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::submit):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::submitForm):

LayoutTests:
Reviewed by Anders Carlsson.

  • fast/forms/form-submission-crash-2-expected.txt: Added.
  • fast/forms/form-submission-crash-2.html: Added.
  • fast/forms/form-submission-crash-expected.txt: Added.
  • fast/forms/form-submission-crash.html: Added.
11:38 AM Changeset in webkit [168304] by Martin Robinson
  • 5 edits in trunk

[GTK][CMake] Unable to do make install
https://bugs.webkit.org/show_bug.cgi?id=130188

Reviewed by Carlos Garcia Campos.

.:
Only try to install the HTML documentation if the build is configured to generate it via
the new ENABLE_GTKDOC option. We cannot conditionally install something, so this allows us
to keep the HTML documentation directory as an installation source.

  • Source/PlatformGTK.cmake: The gtkdoc target now always builds HTML documentation, but

is only added to the default target when ENABLE_GTKDOC is turned on. gtkdoc-no-html is
never added to the default target, but will be triggered by build-webkit, so that
when ENABLE_GTKDOC is off and build-webkit isn't used, documentation isn't built at all.

  • Source/cmake/OptionsGTK.cmake: Add an ENABLE_GTKDOC option to the build.

Tools:

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject): Always build gtkdoc-no-html for WebKitGTK+. This
will give an early signal that a change has broken the documentation.

11:34 AM Changeset in webkit [168303] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4/Source

Merge r167548 - Make it easier to check if an integer sum would overflow
https://bugs.webkit.org/show_bug.cgi?id=131900

Reviewed by Darin Adler.

Source/JavaScriptCore:

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

(JSC::jsString):

Source/WTF:

  • wtf/CheckedArithmetic.h:

(WTF::checkedSum):
(WTF::sumOverflows):

11:31 AM Changeset in webkit [168302] by cabanier@adobe.com
  • 119 edits in trunk

Enhance IDL compiler so it supports unrestricted float and double
https://bugs.webkit.org/show_bug.cgi?id=132460

Reviewed by Dirk Schulze.

Source/WebCore:
Updated IDL compiler so it supports unrestricted types.
Also updated the IDL files so they use unrestricted float and
double.

Tests:

  • canvas/philip/tests/2d.gradient.linear.nonfinite.html:
  • canvas/philip/tests/2d.gradient.object.invalidoffset.html:
  • canvas/philip/tests/2d.gradient.radial.nonfinite.html:
  • canvas/philip/tests/2d.imageData.get.nonfinite.html:
  • canvas/philip/tests/2d.imageData.put.nonfinite.html:
  • canvas/philip/tests/2d.missingargs.html:
  • fast/canvas/canvas-getImageData-invalid-expected.txt:
  • fast/canvas/canvas-putImageData-expected.txt:
  • fast/canvas/canvas-putImageData.js:
  • Modules/battery/BatteryManager.idl:
  • Modules/gamepad/Gamepad.idl:
  • Modules/geolocation/Coordinates.idl:
  • Modules/mediasource/MediaSource.idl:
  • Modules/mediasource/SourceBuffer.idl:
  • Modules/mediasource/VideoPlaybackQuality.idl:
  • Modules/mediastream/MediaSourceStates.idl:
  • Modules/proximity/DeviceProximityEvent.idl:
  • Modules/speech/SpeechGrammar.idl:
  • Modules/speech/SpeechGrammarList.idl:
  • Modules/speech/SpeechRecognitionAlternative.idl:
  • Modules/speech/SpeechSynthesisEvent.idl:
  • Modules/speech/SpeechSynthesisUtterance.idl:
  • Modules/webaudio/AnalyserNode.idl:
  • Modules/webaudio/AudioBuffer.idl:
  • Modules/webaudio/AudioBufferSourceNode.idl:
  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/AudioListener.idl:
  • Modules/webaudio/AudioParam.idl:
  • Modules/webaudio/AudioProcessingEvent.idl:
  • Modules/webaudio/OfflineAudioContext.idl:
  • Modules/webaudio/OscillatorNode.idl:
  • Modules/webaudio/PannerNode.idl:
  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorGObject.pm:

(GetGValueTypeName):
(GetGlibTypeName):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateParametersCheck):
(JSValueToNative):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GetObjCType):
(GenerateHeader):

  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestTypedefs.idl:
  • css/CSSPrimitiveValue.idl:
  • css/WebKitCSSMatrix.idl:
  • dom/ClientRect.idl:
  • dom/DeviceMotionEvent.idl:
  • dom/DeviceOrientationEvent.idl:
  • dom/Document.idl:
  • dom/RequestAnimationFrameCallback.idl:
  • dom/Touch.idl:
  • dom/TransitionEvent.idl:
  • dom/WebKitAnimationEvent.idl:
  • dom/WebKitTransitionEvent.idl:
  • dom/WheelEvent.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLMeterElement.idl:
  • html/HTMLProgressElement.idl:
  • html/MediaController.idl:
  • html/TextMetrics.idl:
  • html/TimeRanges.idl:
  • html/canvas/CanvasRenderingContext2D.idl:
  • html/canvas/WebGLRenderingContext.idl:
  • html/track/DataCue.idl:
  • html/track/TextTrackCue.idl:
  • html/track/VTTCue.idl:
  • html/track/VTTRegion.idl:
  • inspector/InspectorFrontendHost.idl:
  • inspector/ScriptProfile.idl:
  • inspector/ScriptProfileNode.idl:
  • page/DOMWindow.idl:
  • page/Performance.idl:
  • page/PerformanceEntry.idl:
  • page/PerformanceResourceTiming.idl:
  • page/SpeechInputResult.idl:
  • page/WebKitPoint.idl:
  • svg/SVGAngle.idl:
  • svg/SVGAnimatedNumber.idl:
  • svg/SVGAnimationElement.idl:
  • svg/SVGFEDropShadowElement.idl:
  • svg/SVGFEGaussianBlurElement.idl:
  • svg/SVGFEMorphologyElement.idl:
  • svg/SVGGlyphRefElement.idl:
  • svg/SVGLength.idl:
  • svg/SVGMatrix.idl:
  • svg/SVGNumber.idl:
  • svg/SVGPathElement.idl:
  • svg/SVGPathSegArcAbs.idl:
  • svg/SVGPathSegArcRel.idl:
  • svg/SVGPathSegCurvetoCubicAbs.idl:
  • svg/SVGPathSegCurvetoCubicRel.idl:
  • svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
  • svg/SVGPathSegCurvetoCubicSmoothRel.idl:
  • svg/SVGPathSegCurvetoQuadraticAbs.idl:
  • svg/SVGPathSegCurvetoQuadraticRel.idl:
  • svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
  • svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
  • svg/SVGPathSegLinetoAbs.idl:
  • svg/SVGPathSegLinetoHorizontalAbs.idl:
  • svg/SVGPathSegLinetoHorizontalRel.idl:
  • svg/SVGPathSegLinetoRel.idl:
  • svg/SVGPathSegLinetoVerticalAbs.idl:
  • svg/SVGPathSegLinetoVerticalRel.idl:
  • svg/SVGPathSegMovetoAbs.idl:
  • svg/SVGPathSegMovetoRel.idl:
  • svg/SVGPoint.idl:
  • svg/SVGRect.idl:
  • svg/SVGSVGElement.idl:
  • svg/SVGTextContentElement.idl:
  • svg/SVGTransform.idl:
  • svg/SVGZoomEvent.idl:
  • testing/InternalSettings.idl:
  • testing/Internals.idl:
  • xml/XPathResult.idl:

LayoutTests:

  • canvas/philip/tests/2d.gradient.linear.nonfinite.html:
  • canvas/philip/tests/2d.gradient.object.invalidoffset.html:
  • canvas/philip/tests/2d.gradient.radial.nonfinite.html:
  • canvas/philip/tests/2d.imageData.get.nonfinite.html:
  • canvas/philip/tests/2d.imageData.put.nonfinite.html:
  • canvas/philip/tests/2d.missingargs-expected.txt:
  • canvas/philip/tests/2d.missingargs.html:
  • fast/canvas/canvas-getImageData-invalid-expected.txt:
  • fast/canvas/canvas-putImageData-expected.txt:
  • fast/canvas/canvas-putImageData.js:
  • fast/canvas/linearGradient-infinite-values-expected.txt:
  • fast/canvas/radialGradient-infinite-values-expected.txt:
  • fast/canvas/script-tests/canvas-getImageData-invalid.js:
  • fast/canvas/script-tests/linearGradient-infinite-values.js:
  • fast/canvas/script-tests/radialGradient-infinite-values.js:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
11:30 AM Changeset in webkit [168301] by timothy_horton@apple.com
  • 10 edits
    4 adds
    2 deletes in trunk/Source

Use a layer delegate instead of web_disableAllActions wherever possible
https://bugs.webkit.org/show_bug.cgi?id=132560
<rdar://problem/16459284>

Reviewed by Simon Fraser.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::commonInit):
If we own the platform layer, set its delegate to the action-disabling WebActionDisablingCALayerDelegate.
If we don't, its actual owner might want to control the delegate, so continue using web_disableAllActions.

  • platform/graphics/cocoa/WebActionDisablingCALayerDelegate.h: Added.
  • platform/graphics/cocoa/WebActionDisablingCALayerDelegate.mm: Added.

(+[WebActionDisablingCALayerDelegate shared]):
(-[WebActionDisablingCALayerDelegate actionForLayer:forKey:]):
Add a class that can act as the delegate of a CALayer, and disables all actions.

  • platform/graphics/cocoa/WebCoreCALayerExtras.h: Renamed from Source/WebCore/platform/graphics/mac/WebCoreCALayerExtras.h.
  • platform/graphics/cocoa/WebCoreCALayerExtras.mm: Renamed from Source/WebCore/platform/graphics/mac/WebCoreCALayerExtras.mm.

(-[CALayer web_disableAllActions]):
Move WebCoreCALayerExtras from mac/ to cocoa/.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setAcceleratedCompositingModeRootLayer:]):

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
Make use of WebActionDisablingCALayerDelegate where possible.
Also, UIKit disables actions for us, so don't bother doing anything on iOS.

11:08 AM Changeset in webkit [168300] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Optimize PutByVal when subscript is a rope string.
<https://webkit.org/b/132572>

Add a JSString::toIdentifier() that is smarter when the JSString is
really a rope string. Use this in baseline & DFG's PutByVal to avoid
allocating new StringImpls that we immediately deduplicate anyway.

Reviewed by Antti Koivisto.

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • jit/JITOperations.cpp:
  • runtime/JSString.h:

(JSC::JSString::toIdentifier):

11:04 AM Changeset in webkit [168299] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Merge r167544 - Address some feedback on https://bugs.webkit.org/show_bug.cgi?id=130684.

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

(JSC::JSRopeString::RopeBuilder::append):

10:50 AM Changeset in webkit [168298] by psolanki@apple.com
  • 2 edits in trunk/Tools

Update framework locations in package-root
https://bugs.webkit.org/show_bug.cgi?id=132571

Reviewed by Simon Fraser.

  • Scripts/package-root:
10:47 AM Changeset in webkit [168297] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r167524 - Harden RenderInline::inlineElementContinuation()

<https://bugs.webkit.org/show_bug.cgi?id=131858>

Reviewed by Sam Weinig.

No new tests, as there are no known cases of this happening.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::inlineElementContinuation):
Return nullptr if the continuation is neither a RenderInline nor a
RenderBlock.

10:42 AM Changeset in webkit [168296] by Carlos Garcia Campos
  • 3 edits
    4 adds in releases/WebKitGTK/webkit-2.4

Merge r167480 - Source/WebCore: origin spoofing possible (HTTP Origin, postMessage event.origin) due to inappropriate URL escape sequence decoding
https://bugs.webkit.org/show_bug.cgi?id=131837
rdar://problem/15211936

Reviewed by Anders Carlsson and Dave Hyatt.

Tests: fast/dom/DOMURL/parsing.html

fast/dom/HTMLAnchorElement/anchor-element-href-parsing.html

  • platform/URL.cpp:

(WebCore::URL::host): Removed unnecessary call to decodeURLEscapeSequences, which caused
problems and was not needed.

LayoutTests: hostname extraction from a URL should not decode percent-escape sequences
https://bugs.webkit.org/show_bug.cgi?id=131837
rdar://problem/15211936

Reviewed by Anders Carlsson and Dave Hyatt.

  • fast/dom/DOMURL/parsing-expected.txt: Added.
  • fast/dom/DOMURL/parsing.html: Added.
  • fast/dom/HTMLAnchorElement/anchor-element-href-parsing-expected.txt: Added.
  • fast/dom/HTMLAnchorElement/anchor-element-href-parsing.html: Added.
10:41 AM Changeset in webkit [168295] by Carlos Garcia Campos
  • 10 edits
    4 adds in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Merge r167336 - compileMakeRope does not emit necessary bounds checks
https://bugs.webkit.org/show_bug.cgi?id=130684
<rdar://problem/16398388>

Reviewed by Oliver Hunt.

Add string length bounds checks in a bunch of places. We should never allow a string
to have a length greater than 231-1 because it's not clear that the language has
semantics for it and because there is code that assumes that this cannot happen.

Also add a bunch of tests to that effect to cover the various ways in which this was
previously allowed to happen.

  • dfg/DFGOperations.cpp:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileMakeRope):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileMakeRope):

  • runtime/JSString.cpp:

(JSC::JSRopeString::RopeBuilder::expand):

  • runtime/JSString.h:

(JSC::JSString::create):
(JSC::JSRopeString::RopeBuilder::append):
(JSC::JSRopeString::RopeBuilder::release):
(JSC::JSRopeString::append):

  • runtime/Operations.h:

(JSC::jsString):
(JSC::jsStringFromRegisterArray):
(JSC::jsStringFromArguments):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):

  • tests/stress/make-large-string-jit-strcat.js: Added.

(foo):

  • tests/stress/make-large-string-jit.js: Added.

(foo):

  • tests/stress/make-large-string-strcat.js: Added.
  • tests/stress/make-large-string.js: Added.
10:33 AM Changeset in webkit [168294] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.76-branch/Source

Versioning.

10:24 AM Changeset in webkit [168293] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.76.2

New Tag.

10:23 AM Changeset in webkit [168292] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-537.76.2

Remove this tag, as it was created from another tag.

10:17 AM Changeset in webkit [168291] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.76.2

New Tag.

9:49 AM Changeset in webkit [168290] by mhock@apple.com
  • 17 edits in trunk/Source

Session-aware plugin autostart data
https://bugs.webkit.org/show_bug.cgi?id=131758
<rdar://problem/15906540>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::userDidClickSnapshot):

  • page/PlugInClient.h:

Source/WebKit2:

  • Shared/WebProcessCreationParameters.cpp:
  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:

(WebKit::PlugInAutoStartProvider::PlugInAutoStartProvider):
(WebKit::PlugInAutoStartProvider::addAutoStartOriginHash):
(WebKit::PlugInAutoStartProvider::autoStartOriginHashesCopy):
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest):
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsArray):
(WebKit::PlugInAutoStartProvider::didReceiveUserInteraction):

  • UIProcess/Plugins/PlugInAutoStartProvider.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::addPlugInAutoStartOriginHash):
(WebKit::WebContext::plugInDidReceiveUserInteraction):

  • UIProcess/WebContext.h:
  • UIProcess/WebContext.messages.in:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginDidReceiveUserInteraction):

  • WebProcess/WebCoreSupport/WebPlugInClient.cpp:

(WebKit::WebPlugInClient::didStartFromOrigin):

  • WebProcess/WebCoreSupport/WebPlugInClient.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::isPlugInAutoStartOriginHash):
(WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):
(WebKit::WebProcess::plugInDidStartFromOrigin):
(WebKit::WebProcess::didAddPlugInAutoStartOriginHash):
(WebKit::WebProcess::resetPlugInAutoStartOriginDefaultHashes):
(WebKit::WebProcess::resetPlugInAutoStartOriginHashes):
(WebKit::WebProcess::plugInDidReceiveUserInteraction):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
9:28 AM Changeset in webkit [168289] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Another iOS build fix after r168260.

Removed an unnecessary 'using namespace WebCore'.

  • UIProcess/ios/WebMemoryPressureHandlerIOS.cpp:
9:14 AM Changeset in webkit [168288] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] Elements with overflow:auto are not painted inside regions when following a float
https://bugs.webkit.org/show_bug.cgi?id=131161

Reviewed by David Hyatt.

Source/WebCore:
When a float-avoiding element (such as overflow:auto) is flowed into a flow thread after a float, its
logical left is not set on its frameRect or its layer's topLeft, but is instead kept in its RenderBoxRegionInfo
structure. In some situation, this causes paint rejection to kick-in because intersecting the layer's rect
(which DOESN'T contain the logical left from the region info object) with the computed background rect
(which contains the logical left from the region info object) results in an empty rect.

Test: fast/regions/overflow-auto-after-float.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:
Added test for an overflow:auto element being flowed after a float.

  • fast/regions/overflow-auto-after-float-expected.html: Added.
  • fast/regions/overflow-auto-after-float.html: Added.
7:51 AM Changeset in webkit [168287] by aestes@apple.com
  • 2 edits in branches/safari-537.76-branch/Source/WebCore

Fix the Mountain Lion build.

Some versions of Clang on Mountain Lion do not set cplusplus to 201103L when compiling with -std=gnu++11,
which causes CF_ENUMs to be weakly-typed. Detect this case and export the correct symbols.

On Lion, CFURLComponentType is not defined using CF_ENUM, so it will always be a weakly-typed enum.

  • WebCore.exp.in:
7:47 AM Changeset in webkit [168286] by abucur@adobe.com
  • 4 edits
    2 adds in trunk

[CSSRegions] Slider displayed wrong in regions
https://bugs.webkit.org/show_bug.cgi?id=132243

Reviewed by Mihnea Ovidenie.

Source/WebCore:
In case a box didn't have a range, getRegionRangeForBox was searching for
the top-most unplittable ancestor. This is not correct in every case. It's
possible to have a box with range that has children without ranges (e.g. an
absolutely positioned inline box with shadow descendants).

I've modified getRegionRangeForBox to search for the first ancestor that
has a cached range and use that instead of looking for an unsplittable box.
The range of the box is the region at the top of the box, clamped by the
range of the ancestor. This will be correct all the time once all the layout
systems are region range aware and are able to cache it.

Test: fast/regions/positioned-slider-in-regions.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::hasRegionRangeForBox):
(WebCore::RenderFlowThread::getRegionRangeForBox):

  • rendering/RenderFlowThread.h:

LayoutTests:
Tests that the thumb of positioned slider inside regions is correctly painted.

  • fast/regions/positioned-slider-in-regions-expected.html: Added.
  • fast/regions/positioned-slider-in-regions.html: Added.
6:46 AM Changeset in webkit [168285] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166736 - Continuations casting issue.
https://bugs.webkit.org/show_bug.cgi?id=130057
<rdar://problem/16283406>

Reviewed by Simon Fraser.

Source/WebCore:

The code to update relative positioned anonymous block continuations should not
have assumed that all siblings were RenderBlocks. Make the code smarter and
make it bail when it hits something that isn't part of the block continuation
chain.

Added fast/block/continuation-crash.html

  • rendering/RenderInline.cpp:

(WebCore::updateStyleOfAnonymousBlockContinuations):

LayoutTests:

  • fast/block/continuation-crash-expected.txt: Added.
  • fast/block/continuation-crash.html: Added.
6:21 AM Changeset in webkit [168284] by Carlos Garcia Campos
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167295 - Assertion failure under FEImage::determineAbsolutePaintRect()

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

Source/WebCore:
This patch merges Chromium r149536 (see
<https://chromiumcodereview.appspot.com/14701012>), which moves
m_absoluteTransform out of SVGFilter and into the base Filter class, so
that it isn't necessary to cast a Filter to SVGFilter to get the
absolute transform.

Reviewed by Geoffrey Garen.

Test: svg/filters/feImage-filter-assertion.html

  • platform/graphics/filters/Filter.h:

(WebCore::Filter::Filter):
Changed to take the absolute transform.
(WebCore::Filter::absoluteTransform):
Moved from SVGFilter.
(WebCore::Filter::mapAbsolutePointToLocalPoint):
Ditto.

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::FilterEffectRenderer):
Pass a default AffineTransform() to the Filter base class.

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::determineAbsolutePaintRect):
Use the Filter without casting it to SVGFilter.
(WebCore::FEImage::platformApplySoftware):
Ditto.

  • svg/graphics/filters/SVGFilter.cpp:

(WebCore::SVGFilter::SVGFilter):
Pass the transform to the base class, and remove initialization of a
removed member var.

  • svg/graphics/filters/SVGFilter.h:

Member var moved to Filter.h.

LayoutTests:
Reviewed by Geoffrey Garen.

  • svg/filters/feImage-filter-assertion-expected.txt: Added.
  • svg/filters/feImage-filter-assertion.html: Added.
6:19 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
6:01 AM Changeset in webkit [168283] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r167278 - Assertion failure !node
node->isElementNode() in

WebCore::RenderBlock::inlineElementContinuation

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

I can't reproduce this assertion failure, but there seems to be an
invalid assumption in RenderBlock::inlineElementContinuation() that
anything with the "isInline()" bit set is a RenderInline.

No new test because the test case in the bug does not repro for me.

Reviewed by Brent Fulgham.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::inlineElementContinuation):
Dave Hyatt says that this function should only return RenderInline
objects (not non-RenderInline inline objects), so update the checks
from isInline() to isRenderInline() before casting with
toRenderInline().

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::inlineElementContinuation):
Ditto.

5:55 AM Changeset in webkit [168282] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167167 - Assertion failure changing select element size during focus event
dispatch
<https://bugs.webkit.org/show_bug.cgi?id=131566>
<rdar://problem/16400735>

Reviewed by Andy Estes.

Source/WebCore:

Test: fast/forms/select-change-size-during-focus.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Adopt the fix from Chromium r171216; check that the renderer is still
of the expected type, and return early if it is not.

LayoutTests:

  • fast/forms/select-change-size-during-focus-expected.txt: Added.
  • fast/forms/select-change-size-during-focus.html: Added.
5:40 AM Changeset in webkit [168281] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167093 - Assertion failure in WebCore::FlexBoxIterator::next()
<https://bugs.webkit.org/show_bug.cgi?id=117176>
<rdar://problem/14054549>

Source/WebCore:

Code added in r115687 began removing anonymous wrappers when children
become inline. However, there are some objects, like
RenderDeprecatedFlexBox, whose children should always be blocks.

Reviewed by Tim Horton.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::canCollapseAnonymousBlockChild):
Made public.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary):
Return early if we can't collapse anonymous block children.

LayoutTests:

Reviewed by Tim Horton.

  • fast/flexbox/collapse-anonymous-wrappers-assertion-expected.txt: Added.
  • fast/flexbox/collapse-anonymous-wrappers-assertion.html: Added.
5:23 AM Changeset in webkit [168280] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4
Merge r167092 - Assertion failure, !node
node->isElementNode(), in

WebCore::RenderBlock::clone()
<https://bugs.webkit.org/show_bug.cgi?id=110489>
<rdar://problem/13666425>

Reviewed by Antti Koivisto.

Source/WebCore:

We're ending up in RenderBlock::splitBlocks() with |this| ==
|fromBlock|. We then try to climb the ancestor block chain from
this->parent() to |fromBlock|, but this->parent() is already above
|fromBlock|, so we end up climbing up to the RenderView and trying to
clone it, causing the assertion failure.

Adopt Chromium's mitigation for this from
<https://codereview.chromium.org/13852041>. This is not intended as a
fix for the underlying issue.

Also, fix another issue that occurs with this fuzzed test case that's
not handled by the Chromium fix.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::splitBlocks):
Ensure while we're in the loop that |curr| is a descendant of
|fromBlock|. From the Chromium patch:

We need to check in every iteration of the loop because
moveChildrenTo could have moved |curr|. This is a mitigation and
not really a fix against a class of tree craziness.

Finally, before moving children from |fromBlock| to |toBlock|, ensure
that the children are children of |fromBlock|. If we never entered the
loop, they will be siblings of |fromBlock|, not children.

LayoutTests:

  • fast/multicol/fuzzed-test-case-expected.txt: Added.
  • fast/multicol/fuzzed-test-case.html: Added.
4:32 AM Changeset in webkit [168279] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r167447 - Tidy up isIsolatedInline() and highestContainingIsolateWithinRoot()
<http://webkit.org/b/131117>

Reviewed by Daniel Bates.

Based on review feedback for r166650.

  • rendering/InlineIterator.h:

(WebCore::isIsolatedInline):

  • Switch argument to a reference since it is never called with a nullptr.

(WebCore::highestContainingIsolateWithinRoot):

  • Switch first argument to a reference since it's never a nullptr.
  • Use nullptr for pointer initialization.
  • Switch while() loop to for() loop. Pass reference to isIsolatedInline().

(WebCore::numberOfIsolateAncestors):

  • Switch while() loop to for() loop. Pass reference to isIsolatedInline().
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRunsForSegment):

  • Rename startObj to startObject.
  • No longer need to pass the address of startObject here.
4:23 AM Changeset in webkit [168278] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166650 - Use outermost containing isolate when constructing bidi runs
<http://webkit.org/b/131107>
<rdar://problem/15690021>

Reviewed by Darin Adler.

Merged from Blink (patch by jww@chromium.org):
https://src.chromium.org/viewvc/blink?revision=157268&view=revision
http://crbug.com/279277

Update containingIsolate to go back all the way to top
isolate from current root, rather than stopping at the first
isolate it finds. This works because the current root is
always updated with each isolate run.

Source/WebCore:

Tests: fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html

fast/text/international/unicode-bidi-isolate-nested-with-removes.html

  • rendering/InlineIterator.h:

(WebCore::highestContainingIsolateWithinRoot):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRunsForSegment):

LayoutTests:

  • fast/text/international/unicode-bidi-isolate-nested-with-removes-expected.txt: Updated.
  • fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent-expected.txt: Added.
  • fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html: Added.
  • fast/text/international/unicode-bidi-isolate-nested-with-removes.html: Updated.
4:20 AM Changeset in webkit [168277] by Carlos Garcia Campos
  • 1 edit
    2 adds in releases/WebKitGTK/webkit-2.4/LayoutTests

Merge r166645 - Add LayoutTest for crash with bidi isolates

Merged from Blink (patch by jww@chromium.org):
https://src.chromium.org/viewvc/blink?revision=156580&view=revision
http://crbug.com/265838

See Bug 120504: Fix nested unicode-bidi: isolate
<https://bugs.webkit.org/show_bug.cgi?id=120504>
<http://trac.webkit.org/changeset/155554>

  • fast/text/international/unicode-bidi-isolate-nested-with-removes-expected.txt: Added.
  • fast/text/international/unicode-bidi-isolate-nested-with-removes.html: Added.
3:58 AM Changeset in webkit [168276] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build.

  • UIProcess/API/Cocoa/WKWebView.mm:
3:54 AM Changeset in webkit [168275] by calvaris@igalia.com
  • 4 edits in trunk/LayoutTests

Unreviewed. New GTK baseline for media/media-controls-clone.html.

  • platform/gtk/TestExpectations: Removed from the expectations.
  • platform/gtk/media/media-controls-clone-expected.png:
  • platform/gtk/media/media-controls-clone-expected.txt: New

baseline.

3:30 AM Changeset in webkit [168274] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166601 - RenderQuote must destroy remaining text renderer before first letter renderer
https://bugs.webkit.org/show_bug.cgi?id=78023
<rdar://problem/10830009>

Reviewed by Brent Fulgham.

Merged from Blink (patch by Abhishek Arya):
https://src.chromium.org/viewvc/blink?view=rev&revision=151270

Source/WebCore:

Following the fix for <https://bugs.webkit.org/show_bug.cgi?id=114586>, a
RenderQuote may have child render objects for the first letter of its text
and everything following the first letter so as to support the CSS first-
letter property. The latter renderer is responsible for destroying the former
on destruction. It's sufficient to reverse the destruction of the children of
RenderQuote to ensure that we destroy the remaining text renderer before we
destroy the first letter renderer.

Test: fast/css-generated-content/quote-first-letter-crash.html

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::updateText):

LayoutTests:

  • fast/css-generated-content/quote-first-letter-crash-expected.txt: Added.
  • fast/css-generated-content/quote-first-letter-crash.html: Added.
3:27 AM Changeset in webkit [168273] by Carlos Garcia Campos
  • 4 edits
    18 adds in releases/WebKitGTK/webkit-2.4

Merge r166600 - Do not allow HTTP refresh headers to refresh to javascript: URLs
<http://webkit.org/b/119051>
<rdar://problem/14536453>

Reviewed by Alexey Proskuryakov.

Merged from Blink (patch by tsepez@chromium.org):
https://src.chromium.org/viewvc/blink?revision=153912&view=revision
http://crbug.com/258151

This behaviour has been standard in IE since IE7. This makes us both
more compatible and less vulnerable to XSS.

Source/WebCore:

Tests: http/tests/security/no-javascript-location-percent-escaped.html

http/tests/security/no-javascript-location.html
http/tests/security/no-javascript-refresh-percent-escaped.php
http/tests/security/no-javascript-refresh-spaces.php
http/tests/security/no-javascript-refresh-static-percent-escaped.html
http/tests/security/no-javascript-refresh-static-spaces.html
http/tests/security/no-javascript-refresh-static.html
http/tests/security/no-javascript-refresh.php

  • dom/Document.cpp:

(WebCore::Document::processHttpEquiv):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::receivedFirstData):

  • Do not fire meta http refresh for a javascript: URL protocol.

LayoutTests:

  • http/tests/security/no-javascript-refresh-expected.txt: Added.
  • http/tests/security/no-javascript-refresh-static-expected.txt: Added.
  • http/tests/security/no-javascript-refresh-static.html: Added.
  • http/tests/security/no-javascript-refresh.php: Added.
  • Original Blink layout tests with typos fixed and 'PASS:' text added.
  • http/tests/security/no-javascript-location.html: Added.
  • http/tests/security/no-javascript-location-expected.txt: Added.
  • http/tests/security/resources/no-javascript-location.php: Copied from LayoutTests/http/tests/security/no-javascript-refresh.php.
  • http/tests/security/no-javascript-location-percent-escaped.html: Added.
  • http/tests/security/no-javascript-location-percent-escaped-expected.txt: Added.
  • http/tests/security/resources/no-javascript-location-percent-escaped.php: Added.
  • Add tests using a javascript: URL in a Location: header.
  • http/tests/security/no-javascript-refresh-percent-escaped.php: Copied from LayoutTests/http/tests/security/no-javascript-refresh.php.
  • http/tests/security/no-javascript-refresh-percent-escaped-expected.txt: Added.
  • http/tests/security/no-javascript-refresh-spaces.php: Copied from LayoutTests/http/tests/security/no-javascript-refresh.php.
  • http/tests/security/no-javascript-refresh-spaces-expected.txt: Added.
  • Add tests using a percent-escaped javascript: URL and a javascript: URL with leading spaces in a Refresh: header from a web server.
  • http/tests/security/no-javascript-refresh-static-percent-escaped.html: Added.
  • http/tests/security/no-javascript-refresh-static-percent-escaped-expected.txt: Added.
  • http/tests/security/no-javascript-refresh-static-spaces.html: Added.
  • http/tests/security/no-javascript-refresh-static-spaces-expected.txt: Added.
  • Add tests using a percent-escaped javascript: URL and a javascript: URL with leading spaces in a meta http-equiv tag.
3:09 AM Changeset in webkit [168272] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166457 - Preserve selection end positions in directionOfSelection
<http://webkit.org/b/104813>
<rdar://problem/13666417>

Reviewed by Brent Fulgham.

Merged from Blink (patch by kenrb@chromium.org):
https://src.chromium.org/viewvc/blink?revision=150621&view=revision
http://crbug.com/164263

VisibleSelection::visibleStart() and VisibleSelection::visibleEnd()
can both cause layouts, which has the potential to invalidate any
rendertree-based objects. This was causing a problem in
FrameSelection::directionOfSelection(), where a reference to a
lineBox was being held across a call to visibleEnd().

This patch ensures that the any layout is completed before linebox
references are retrieved.

Source/WebCore:

Test: editing/selection/layout-during-move-selection-crash.html

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::directionOfSelection):

LayoutTests:

  • editing/selection/layout-during-move-selection-crash-expected.txt: Added.
  • editing/selection/layout-during-move-selection-crash.html: Added.
3:05 AM Changeset in webkit [168271] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166428 - In some situations, partial layouts of floating elements produce incorrect results.
https://bugs.webkit.org/show_bug.cgi?id=122668

Reviewed by David Hyatt.

Source/WebCore:

When performing partial layout of float elements and checking if other float
elements are encountered, incorrect results were obtained by not checking
the size of the existing floats vector.

Test: fast/block/float/floats-in-clean-line-crash.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::checkFloatsInCleanLine):

LayoutTests:

Added test to ensure an assertion is not reached when performing a partial
layout of float elements in certain situations.

  • fast/block/float/floats-in-clean-line-crash-expected.txt: Added.
  • fast/block/float/floats-in-clean-line-crash.html: Added.
3:01 AM Changeset in webkit [168270] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166420 - Clear SVGInlineTextBox fragments when the text changes.
https://bugs.webkit.org/show_bug.cgi?id=130879

Reviewed by Darin Adler.

Ported from Blink: https://src.chromium.org/viewvc/blink?revision=150456&view=revision

Source/WebCore:

This patch modifies SVGInlineTextBox::dirtyLineBoxes to clear all
following text boxes when invoked. Typically this method is called
when the underlying text string changes, and that change needs to
be propagated to all the boxes that use the text beyond the point
where the text is first modified.

Also cleans up final function keywords for SVGRootInlineBox.

Test: svg/custom/unicode-in-tspan-multi-svg-crash.html

  • rendering/InlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function

(WebCore::InlineTextBox::dirtyOwnLineBoxes): Calls dirtyLineBoxes()

  • rendering/svg/SVGInlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function

(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes): Non-recursive part of dirtyLineBoxes()
(WebCore::SVGInlineTextBox::dirtyLineBoxes): Calls dirtyOwnLineBoxes() in a loop

  • rendering/svg/SVGRootInlineBox.h:

LayoutTests:

When failing, this test will render garbage characters or crash.

  • svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt: Added.
  • svg/custom/unicode-in-tspan-multi-svg-crash.html: Added.
2:58 AM Changeset in webkit [168269] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r163282 - Minor SVGRootInlineBox cleanup.
<https://webkit.org/b/128094>

Remove two virtual functions and sprinkle some missing overrides.

Reviewed by Anders Carlsson.

  • rendering/svg/SVGRootInlineBox.h:
2:55 AM EFLWebKitTests edited by tanay.c@samsung.com
Spelling correction (diff)
2:43 AM Changeset in webkit [168268] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r165053 - SVGPropertyTearOffs should detachChildren before deleting its value.
<http://webkit.org/b/129618>
<rdar://problem/15661617>

Reviewed by Maciej Stachowiak.

Merged from Blink (patch by kouhei@chromium.org):
https://src.chromium.org/viewvc/blink?revision=158563&view=revision
http://crbug.com/296276

Test: svg/transforms/svg-matrix-tearoff-crash.html

NOTE: The test does not reproduce a crash on WebKit using
JavaScriptCore.

  • svg/properties/SVGPropertyTearOff.h:

(WebCore::SVGPropertyTearOff::setValue):
(WebCore::SVGPropertyTearOff::~SVGPropertyTearOff):

  • Call detachChildren() if m_value is a copy. The original Blink patch did not modify the destructor code path, although that seems obvious via code inspection.
2:31 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
2:18 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
1:19 AM Changeset in webkit [168267] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove two now-incorrect assertions after r168256.

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeSlowCase8):
(JSC::JSRopeString::resolveRopeSlowCase):

1:18 AM Changeset in webkit [168266] by Carlos Garcia Campos
  • 8 edits
    1 move
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r164917 - Fix lifetime handling of SVGPropertyTearOffs
<http://webkit.org/b/129211>
<rdar://problem/15696025>

Reviewed by Maciej Stachowiak.

Merged from Blink (patch by Ojan Vafai):
https://src.chromium.org/viewvc/blink?revision=157801&view=revision
http://crbug.com/288771

-Replace SVGStaticPropertyWithParentTearOff with SVGMatrixTearOff
since it's only used in that one place. This means we can get rid
of the templatizing and the method pointer.
-Change SVGPropertyTearOff to keep track of it's child tearoffs
and call detachWrapper on its child tearoffs when it's destroyed
or when it's wrapper is detached.
-Have SVGPropertyTearOff hold WeakPtrs to the child tearoffs
to avoid having a cycle.

Source/WebCore:

Test: svg/transforms/svg-matrix-tearoff-crash.html

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGeneratorJS.pm:

(NativeToJSValue):

  • svg/properties/SVGMatrixTearOff.h: Renamed from Source/WebCore/svg/properties/SVGStaticPropertyWithParentTearOff.h.

(WebCore::SVGMatrixTearOff::create):
(WebCore::SVGMatrixTearOff::commitChange):
(WebCore::SVGMatrixTearOff::SVGMatrixTearOff):

  • svg/properties/SVGPropertyTearOff.h:

(WebCore::SVGPropertyTearOff::addChild):
(WebCore::SVGPropertyTearOff::detachChildren):

LayoutTests:

  • svg/transforms/svg-matrix-tearoff-crash-expected.txt: Added.
  • svg/transforms/svg-matrix-tearoff-crash.html: Added.
1:08 AM Changeset in webkit [168265] by ryuan.choi@samsung.com
  • 12 edits in trunk

[EFL][WK2] Refactor favicon database APIs
https://bugs.webkit.org/show_bug.cgi?id=132519

Reviewed by Gyuyoung Kim.

Source/WebKit2:
ewebkit2 has two options to get favicon.

The first option is ewk_view_favicon_get with "favicon,changed" signal.
It's simple to use but it always adds the callback to EwkView although applications does not use favicon.

The other option is ewk_favicon_database_icon_get with ewk_favicon_database_icon_change_callback_add API.
But the callback doesn't have information about Ewk_Favicon_Database to call ewk_favicon_database_icon_get.

This patch removed ewk_view_favicon_get and "favicon,changed" signal.
In addition, improved ewk_favicon_database_icon_change_callback.

  • UIProcess/API/efl/EwkView.cpp: Remove ewk_favicon_database related code.

(EwkView::EwkView):
(EwkView::~EwkView):
(EwkView::informURLChange):
(EwkView::handleFaviconChanged):
(EwkView::createFavicon): Deleted.

  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/ewk_favicon_database.cpp:

(EwkFaviconDatabase::iconDataReadyForPageURL):
(EwkFaviconDatabase::didChangeIconForPageURL): Deleted. dead code.

  • UIProcess/API/efl/ewk_favicon_database.h:

Refactor Ewk_Favicon_Database_Icon_Change_Cb and improve doxygen.

  • UIProcess/API/efl/ewk_favicon_database_private.h:
  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_favicon_get): Deleted.

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:

(EWK2FaviconDatabaseTest::requestFaviconData):
(TEST_F):

Tools:

  • MiniBrowser/efl/main.c: Use ewk_favicon_database_icon_get instead of ewk_view_favicon_get.

(update_view_favicon):
(on_icon_changed_cb):
(window_free):
(on_url_changed):
(window_create):
(on_view_favicon_changed): Deleted.

1:01 AM Changeset in webkit [168264] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166236 - Hold a reference to firstSuccessfulSubmitButton in HTMLFormElement::submit
<http://webkit.org/b/130713>
<rdar://problem/15661876>

Reviewed by Darin Adler.

Merged from Blink (patch by Ian Beer):
http://crbug.com/303657
https://src.chromium.org/viewvc/blink?view=rev&revision=158938

Source/WebCore:

Test: fast/forms/form-submission-crash-successful-submit-button.html

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submit):

LayoutTests:

  • fast/forms/form-submission-crash-successful-submit-button-expected.txt: Added.
  • fast/forms/form-submission-crash-successful-submit-button.html: Added.
1:01 AM Changeset in webkit [168263] by abucur@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] ASSERT when hovering over region
https://bugs.webkit.org/show_bug.cgi?id=128809

Reviewed by Mihnea Ovidenie.

Source/WebCore:
There's no point in hit-testing a box for a region if it's not contained inside
that region.

Test: fast/regions/hit-test-box-non-containing-region.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::nodeAtPoint):

LayoutTests:
Add a test verifying we're not trying to hit-test a box inside a region
where it's not contained.

  • fast/regions/hit-test-box-non-containing-region-expected.txt: Added.
  • fast/regions/hit-test-box-non-containing-region.html: Added.
12:53 AM Changeset in webkit [168262] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166049 - HTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
<rdar://problem/15675780>

Merge Blink r156744 by Adam Klein.

Source/WebCore:

Test: fast/frames/set-iframe-src-in-pagehide-crash.html

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

LayoutTests:

  • fast/frames/set-iframe-src-in-pagehide-crash-expected.txt: Added.
  • fast/frames/set-iframe-src-in-pagehide-crash.html: Added.
12:46 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:45 AM Changeset in webkit [168261] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Unreviewed. Revert r159826 - "Finally fix some obvious Bartlett bugs"

This reverts r159826.

12:37 AM Changeset in webkit [168260] by timothy_horton@apple.com
  • 20 edits
    2 adds in trunk/Source/WebKit2

[iOS WebKit2] Swipe snapshots should be taken asynchronously
https://bugs.webkit.org/show_bug.cgi?id=132417
<rdar://problem/16535921>

Reviewed by Anders Carlsson.

Reorganize takeViewSnapshot to return a ViewSnaphot with the image
filled in (the other properties are filled in by ViewSnapshotStore).

Make ViewSnapshotStore use a fixed size instead of count for the snapshot cache.
iOS doesn't use purgeable snapshots, so make the cache much smaller there.

Use CARenderServerCaptureLayerWithTransform to achieve async snapshotting.

Rename WebKit::ViewSnapshotStore::Snapshot to WebKit::ViewSnapshot so that
it can be forward-declared in a bunch of places.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _takeViewSnapshot:]):
Use CARenderServerCaptureLayerWithTransform.

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

(createIOSurfaceFromImage):
(-[WKView _takeViewSnapshot:]):
Adjust to the new push model.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::takeViewSnapshot):

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

(WebKit::PageClientImpl::takeViewSnapshot):

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

(WebKit::PageClientImpl::takeViewSnapshot):
Plumbing.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Realize an object that can be used as the layer contents from the slot ID.

  • UIProcess/ios/WebMemoryPressureHandlerIOS.cpp:

(WebKit::WebMemoryPressureHandler::sharedHandler):
(WebKit::WebMemoryPressureHandler::WebMemoryPressureHandler):

  • UIProcess/WebMemoryPressureHandlerIOS.h:

Add a memory pressure handler for the UI process. This does not use
WebCore's platform independent memory pressure handler because that
mechanism only allows for one handler per process, and we don't want to
stomp on any handlers installed by WebKit1 in a process where the WebKits coexist.

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

(-[WKContentView _takeViewSnapshot]): Deleted.
Get rid of an unnecessary bounce through WKContentView.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::retrieveSnapshotForItem):
(WebKit::ViewGestureController::endSwipeGesture):
Use the new name, ViewSnapshot.

  • UIProcess/mac/ViewSnapshotStore.h:

(WebKit::ViewSnapshot::ViewSnapshot):

  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::~ViewSnapshotStore):
(WebKit::ViewSnapshotStore::snapshottingContext):
Use a custom CAContext for snapshotting so that snapshots don't
disappear when the main context is destroyed on hibernation.

(WebKit::ViewSnapshotStore::removeSnapshotImage):
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshotStore::getSnapshot):
(WebKit::ViewSnapshotStore::discardSnapshots):
(WebKit::ViewSnapshot::clearImage):
(WebKit::ViewSnapshot::hasImage):
(WebKit::createIOSurfaceFromImage): Deleted.
(WebKit::ViewSnapshotStore::Snapshot::clearImage): Deleted.
(WebKit::ViewSnapshotStore::Snapshot::hasImage): Deleted.
Cache by image size instead of counts.

  • WebKit2.xcodeproj/project.pbxproj:
12:23 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:09 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:08 AM Changeset in webkit [168259] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r167885 - [WK2][X11] NetscapePluginModule::scanPlugin() should write UTF-8 strings to stdout
https://bugs.webkit.org/show_bug.cgi?id=132245

Reviewed by Carlos Garcia Campos.

NetscapePluginModule::scanPlugin(), in the helper writeLine function, takes each character
of the given string and writes it out as a UChar, doing two fputc calls for each byte of the
16-bit type.

This fails badly with characters with integer value less than 256 as the most significant byte
of the UChar is written out as a null character. This effectively chops the output that's gathered
in the UIProcess and is parsed in PluginProcessProxy::scanPlugin().

To avoid all this, the UTF-8 encoding of the string is written out in the PluginProcess, and
String::fromUTF8() is called in the UIProcess to properly decode the received string.

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

(WebKit::writeCharacter):
(WebKit::writeLine):
(WebKit::writeByte): Deleted.

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

May 4, 2014:

11:46 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:45 PM Changeset in webkit [168258] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r167884 - [GTK][WK2] Missing return statement in webkit_plugin_get_description()
https://bugs.webkit.org/show_bug.cgi?id=132263

Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitPlugin.cpp:

(webkit_plugin_get_description): Actually return the data of the cached
plugin description CString.

11:42 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:42 PM Changeset in webkit [168257] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r167883 - [GTK] Crash in debug build with removing windowed plugin child widgets from the view
https://bugs.webkit.org/show_bug.cgi?id=132252

Reviewed by Philippe Normand.

It crashes due to an assert in HashTable that checks the iterators
validity. The problem is that we are iterating the children map
and the callback called on every iteration might modify the map,
making the iterators invalid. This happens when the WebView is
destroyed, GtkContainer calls gtk_container_foreach() with
gtk_widget_destroy as callback. When a widget inside a container
is destroyed, it's removed from the container, and in our case,
the child widget is removed from the map. This fixes several
crashes when running layout tests in debug bot.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseContainerForall): Use copyKeysToVector() instead
of using a range iterator for the map keys and check in every
iteration that the child widget from the keys vector is still
present in the map before calling the callback.

11:24 PM Changeset in webkit [168256] by akling@apple.com
  • 10 edits in trunk/Source

Optimize JSRopeString for resolving directly to AtomicString.
<https://webkit.org/b/132548>

Source/JavaScriptCore:
If we know that the JSRopeString we are resolving is going to be used
as an AtomicString, we can try to avoid creating a new string.

We do this by first resolving the rope into a stack buffer, and using
that buffer as a key into the AtomicString table. If there is already
an AtomicString with the same characters, we reuse that instead of
constructing a new StringImpl.

JSString gains these two public functions:

  • AtomicString toAtomicString()

Returns an AtomicString, tries to avoid allocating a new string
if possible.

  • AtomicStringImpl* toExistingAtomicString()

Returns a non-null AtomicStringImpl* if one already exists in the
AtomicString table. If none is found, the rope is left unresolved.

Reviewed by Filip Pizlo.

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeInternal8):
(JSC::JSRopeString::resolveRopeInternal16):
(JSC::JSRopeString::resolveRopeToAtomicString):
(JSC::JSRopeString::clearFibers):
(JSC::JSRopeString::resolveRopeToExistingAtomicString):
(JSC::JSRopeString::resolveRope):
(JSC::JSRopeString::outOfMemory):

  • runtime/JSString.h:

(JSC::JSString::toAtomicString):
(JSC::JSString::toExistingAtomicString):

Source/WebCore:
Add two bindings generator attributes for parameters to influence
the way that JS rope strings are resolved:

  • AtomicString

Generates code that avoids allocating a new StringImpl if there
is already an existing AtomicString we can reuse.

  • RequiresExistingAtomicString

Generates code that fails immediately if the provided string
is not found in the AtomicString table. This is now used for
document.getElementById(), and works because any existing ID
is guaranteed to be in the table.

Reviewed by Filip Pizlo.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck):
(JSValueToNative):

  • bindings/scripts/IDLAttributes.txt:
  • dom/Document.idl:

Source/WTF:
Add AtomicString::find([LU]Char*, unsigned length) helpers for finding
an existing AtomicString without a StringImpl on hand.

Reviewed by Filip Pizlo.

  • wtf/text/AtomicString.h:
  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::find):

11:10 PM Changeset in webkit [168255] by akling@apple.com
  • 7 edits
    9 deletes in trunk

Unreviewed, rolling out r168254.

Very crashy on debug JSC tests.

Reverted changeset:

"jsSubstring() should be lazy"
https://bugs.webkit.org/show_bug.cgi?id=132556
http://trac.webkit.org/changeset/168254

9:54 PM Changeset in webkit [168254] by fpizlo@apple.com
  • 7 edits
    9 adds in trunk

jsSubstring() should be lazy
https://bugs.webkit.org/show_bug.cgi?id=132556

Reviewed by Andreas Kling.

Source/JavaScriptCore:
jsSubstring() is now lazy by using a special rope that is a substring instead of a
concatenation. To make this patch super simple, we require that a substring's base is
never a rope. Hence, when resolving a rope, we either go down a non-recursive substring
path, or we go down a concatenation path which may see exactly one level of substrings in
its fibers.

This is up to a 50% speed-up on microbenchmarks and a 10% speed-up on Octane/regexp.

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::specializedSweep):

  • runtime/JSString.cpp:

(JSC::JSRopeString::visitFibers):
(JSC::JSRopeString::resolveRope):
(JSC::JSRopeString::resolveRopeSlowCase8):
(JSC::JSRopeString::resolveRopeSlowCase):
(JSC::JSRopeString::outOfMemory):

  • runtime/JSString.h:

(JSC::JSRopeString::finishCreation):
(JSC::JSRopeString::append):
(JSC::JSRopeString::create):
(JSC::JSRopeString::offsetOfFibers):
(JSC::JSRopeString::fiber):
(JSC::JSRopeString::substringBase):
(JSC::JSRopeString::substringOffset):
(JSC::JSRopeString::substringSentinel):
(JSC::JSRopeString::isSubstring):
(JSC::jsSubstring):

  • runtime/RegExpMatchesArray.cpp:

(JSC::RegExpMatchesArray::reifyAllProperties):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncSubstring):

LayoutTests:
These tests get 35-50% faster.

  • js/regress/script-tests/substring-concat-weird.js: Added.

(foo):

  • js/regress/script-tests/substring-concat.js: Added.

(foo):

  • js/regress/script-tests/substring.js: Added.

(foo):

  • js/regress/substring-concat-expected.txt: Added.
  • js/regress/substring-concat-weird-expected.txt: Added.
  • js/regress/substring-concat-weird.html: Added.
  • js/regress/substring-concat.html: Added.
  • js/regress/substring-expected.txt: Added.
  • js/regress/substring.html: Added.
8:49 PM Changeset in webkit [168253] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[iOS WK2] Compositing layers in iframes are misplaced
https://bugs.webkit.org/show_bug.cgi?id=132554
<rdar://problem/16203027>

Reviewed by Benjamin Poulain.

Have requiresScrollLayer() only consider frameView.delegatesScrolling()
for the main frame, so that iframes get scroll layers (even though they
will never scroll), so that the rest of geometry code works as on other
platforms.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresScrollLayer):

6:16 PM Changeset in webkit [168252] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Use std::unique_ptr in m_taskTimer of Notification class
https://bugs.webkit.org/show_bug.cgi?id=132544

Reviewed by Andreas Kling.

No new tests, no behavior change.

  • Modules/notifications/Notification.cpp:

(WebCore::Notification::Notification):

  • Modules/notifications/Notification.h: Use std::unique_ptr instead of OwnPtr.
5:43 PM Changeset in webkit [168251] by akling@apple.com
  • 2 edits in trunk/LayoutTests

Mark compositing/visibility/visibility-image-layers-dynamic.html as failing after r168244.

5:42 PM Changeset in webkit [168250] by psolanki@apple.com
  • 2 edits in trunk/Source/WebKit2

Reduce calls to CFURLCacheCopySharedURLCache
https://bugs.webkit.org/show_bug.cgi?id=132464
<rdar://problem/16806694>

Address review comments by collapsing multi-line code into a single ASSERT.

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):

5:21 PM Changeset in webkit [168249] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Long hangs under IOSurfacePool::evict
https://bugs.webkit.org/show_bug.cgi?id=132549
<rdar://problem/16769469>

Reviewed by Simon Fraser.

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::willAddSurface):
Run eviction before adding the new surface to m_bytesCached/m_inUseBytesCached.
We use the additionalSize parameter to make space for the new surface.

(WebCore::IOSurfacePool::evict):
If we want to free up the entire pool, we can do so by throwing away everything.
This also avoids an underflow if additionalSize is larger than the maximum pool size.

3:53 PM Changeset in webkit [168248] by psolanki@apple.com
  • 19 edits in trunk/Source

Shortcircuit shouldUseCredentialStorage callback
https://bugs.webkit.org/show_bug.cgi?id=132308
<rdar://problem/16806708>

Reviewed by Alexey Proskuryakov.

If we are going to return true from the shouldUseCredentialStorage callback then we don't
really need to have CFNetwork/Foundation call us. We can just disable the callback and
CFNetwork will assume true. Add a separate subclass that implements this callback when we
need to return false. We can also eliminate the corresponding async callbacks. This avoids
pingponging between dispatch queue and main thread in the common case.

No new tests because no change in functionality.

Source/WebCore:

  • WebCore.exp.in:
  • platform/network/ResourceHandle.cpp:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.cpp:
  • platform/network/ResourceHandleClient.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::shouldUseCredentialStorage):

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

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::makeDelegate):
(WebCore::ResourceHandle::delegate):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::shouldUseCredentialStorage):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleWithCredentialStorageAsOperationQueueDelegate connectionShouldUseCredentialStorage:]):

  • platform/network/soup/ResourceHandleSoup.cpp:

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp: Remove shouldUseCredentialStorageAsync() callbacks.
  • NetworkProcess/NetworkResourceLoader.h:
3:39 PM Changeset in webkit [168247] by Beth Dakin
  • 3 edits in trunk/LayoutTests

Even more re-baselining for anchor point after
http://trac.webkit.org/changeset/168244

  • platform/mac-mountainlion/compositing/contents-opaque/control-layer-expected.txt:
  • platform/mac/compositing/contents-opaque/control-layer-expected.txt:
2:16 PM Changeset in webkit [168246] by Beth Dakin
  • 9 edits in trunk/LayoutTests

Additional re-baselining for anchor point after
http://trac.webkit.org/changeset/168244

  • compositing/contents-opaque/control-layer-expected.txt:
  • css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts-expected.txt:
  • css3/compositing/blend-mode-ancestor-clipping-layer-expected.txt:
  • css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
  • css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
  • css3/compositing/blend-mode-with-accelerated-sibling-expected.txt:
  • css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt:
  • css3/filters/filtered-compositing-descendant-expected.txt:
2:01 PM Changeset in webkit [168245] by Brent Fulgham
  • 9 edits in trunk/Source/WebCore

[iOS] deviceScaleFactor is being double-applied when rendering captions in full screen mode
https://bugs.webkit.org/show_bug.cgi?id=132481
<rdar://problem/16507482>

Reviewed by Jer Noble.

Add a new 'syncTextTrackBounds' method (and relaying functions) to keep the text track container in sync
with changes to the video player's display layer.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::syncTextTrackBounds: Added.

  • html/HTMLMediaElement.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Don't set the platform scale factor here. It is already
being accounted for in the createTextTrackRepresentationImage method.
(WebCore::MediaControlTextTrackContainerElement::updateSizes): Synchronize the text track representation
with any new video layer changes.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::syncTextTrackBounds): Added.

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

(WebCore::MediaPlayerPrivateInterface::syncTextTrackBounds): Added.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): Use new sync function.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenFrame): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::syncTextTrackBounds): Added. Keep the text track layer size in sync with
the current video layer size. This may change during animations, rotations, etc.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setTextTrackRepresentation): Use new sync function.

1:40 PM Changeset in webkit [168244] by Beth Dakin
  • 245 edits in trunk

Top content inset: Margin tiles should not display in the inset area when pinned
to the top of the page
https://bugs.webkit.org/show_bug.cgi?id=132535
-and corresponding-
<rdar://problem/16613039>

Reviewed by Simon Fraser.

Source/WebCore:
Prior to this change, topContentInset was implemented by positioning
RenderLayerCompositor’s m_rootContentLayer based on the inset value. In order to
ensure that no content is displayed in the inset area when we are pinned to the
top of the page, we’ll have to take a different approach. In this patch, when you
are pinned to the top of the page, the m_rootContentLayer is positioned at (0,0),
much like it would be without an inset, but the m_clip layer IS positioned at (0,
topContentInset). Then for all y-scroll values between 0 and topContentInset, the
positions of the clip layer and the contents layer are adjusted so that the clip
layer approaches a position of (0,0), and the root layer approaches a position of
(0, topContentInset). This makes sure that any content above the top the document
is aways clipped out of the inset area.

In order to achieve this, the scrolling thread needs to know about the
topContentInset, the clip layer, and the root contents layer.

AsyncScrollingCoordinator::updateScrollingNode() now takes an additional parameter
for the clip layer. Also export the topContentInset symbol for UI-side
compositing.

  • WebCore.exp.in:

Here is the new computation. Implemented in one spot that can be called from the
scrolling thread, AsyncScrollingCoordinator and RenderLayerCompositor.

  • page/FrameView.cpp:

(WebCore::FrameView::yPositionForInsetClipLayer):
(WebCore::FrameView::yPositionForRootContentLayer):

  • page/FrameView.h:

Set the topContentInset, the insetClipLayer, and the scrolledContentsLayer when
appropriate.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):

Set or sync the positions for the inset layer and the contents layer.
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):

  • page/scrolling/AsyncScrollingCoordinator.h:

Convenience functions for getting the clipLayer() and the rootContentLayer() from
the RenderLayerCompositor.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::insetClipLayerForFrameView):
(WebCore::ScrollingCoordinator::rootContentLayerForFrameView):

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::updateScrollingNode):

ScrollingStateScrolling nodes have two new members now. m_insetClipLayer and
m_topContentInset. We can use m_scrolledContentsLayer for the rootContentsLayer
since previously that member was not used for FrameViews; it was only used for
accelerated overflow:scroll nodes.

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setTopContentInset):
(WebCore::ScrollingStateScrollingNode::setInsetClipLayer):

  • page/scrolling/ScrollingStateScrollingNode.h:

Similarly, ScrollingTreeScrollingNode has two new members for m_topContentInset
and m_clipLayer.

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::topContentInset):

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

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):

Compute positions for the two new layers.
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

Now use the static FrameView functions to compute the positions for these layers.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::positionForClipLayer):
(WebCore::RenderLayerCompositor::clipLayer):
(WebCore::RenderLayerCompositor::rootContentLayer):
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

  • rendering/RenderLayerCompositor.h:

Source/WebKit2:
Encode and decode the ScrollingStateScrollingNode’s m_topContentInset even though
we don’t use it for anything yet. Since the headerLayer and footerLayer are not
encoded or decoded yet, I did not encode/decode the insetClipLayer yet, which,
like the header and footer layers, would not yet be used.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):

LayoutTests:
Anchor point!

  • compositing/absolute-inside-out-of-view-fixed-expected.txt:
  • compositing/animation/filling-animation-overlap-at-end-expected.txt:
  • compositing/animation/filling-animation-overlap-expected.txt:
  • compositing/animation/layer-for-filling-animation-expected.txt:
  • compositing/backing/backface-visibility-in-3dtransformed-expected.txt:
  • compositing/backing/no-backing-for-clip-expected.txt:
  • compositing/backing/no-backing-for-clip-overhang-expected.txt:
  • compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • compositing/backing/no-backing-for-perspective-expected.txt:
  • compositing/bounds-in-flipped-writing-mode-expected.txt:
  • compositing/clip-child-by-non-stacking-ancestor-expected.txt:
  • compositing/columns/ancestor-clipped-in-paginated-expected.txt:
  • compositing/columns/clipped-in-paginated-expected.txt:
  • compositing/columns/composited-columns-expected.txt:
  • compositing/columns/composited-columns-vertical-rl-expected.txt:
  • compositing/columns/composited-in-paginated-expected.txt:
  • compositing/columns/composited-in-paginated-rl-expected.txt:
  • compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt:
  • compositing/columns/composited-lr-paginated-repaint-expected.txt:
  • compositing/columns/composited-nested-columns-expected.txt:
  • compositing/columns/composited-rl-paginated-repaint-expected.txt:
  • compositing/columns/hittest-composited-in-paginated-expected.txt:
  • compositing/columns/rotated-in-paginated-expected.txt:
  • compositing/columns/untransformed-composited-in-paginated-expected.txt:
  • compositing/contents-opaque/background-clip-expected.txt:
  • compositing/contents-opaque/background-color-expected.txt:
  • compositing/contents-opaque/body-background-painted-expected.txt:
  • compositing/contents-opaque/body-background-skipped-expected.txt:
  • compositing/contents-opaque/filter-expected.txt:
  • compositing/contents-opaque/hidden-with-visible-child-expected.txt:
  • compositing/contents-opaque/hidden-with-visible-text-expected.txt:
  • compositing/contents-opaque/layer-opacity-expected.txt:
  • compositing/contents-opaque/layer-transform-expected.txt:
  • compositing/contents-opaque/overflow-hidden-child-layers-expected.txt:
  • compositing/contents-opaque/visibility-hidden-expected.txt:
  • compositing/contents-scale/animating-expected.txt:
  • compositing/contents-scale/rounded-contents-scale-expected.txt:
  • compositing/contents-scale/scaled-ancestor-expected.txt:
  • compositing/contents-scale/simple-scale-expected.txt:
  • compositing/contents-scale/z-translate-expected.txt:
  • compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
  • compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt:
  • compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
  • compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt:
  • compositing/geometry/ancestor-overflow-change-expected.txt:
  • compositing/geometry/bounds-clipped-composited-child-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • compositing/geometry/bounds-ignores-hidden-expected.txt:
  • compositing/geometry/clip-expected.txt:
  • compositing/geometry/clip-inside-expected.txt:
  • compositing/geometry/composited-in-columns-expected.txt:
  • compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
  • compositing/geometry/flipped-writing-mode-expected.txt:
  • compositing/geometry/foreground-layer-expected.txt:
  • compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
  • compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
  • compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
  • compositing/geometry/limit-layer-bounds-fixed-expected.txt:
  • compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt:
  • compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-expected.txt:
  • compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
  • compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt:
  • compositing/geometry/preserve-3d-switching-expected.txt:
  • compositing/iframes/become-composited-nested-iframes-expected.txt:
  • compositing/iframes/become-overlapped-iframe-expected.txt:
  • compositing/iframes/composited-parent-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • compositing/iframes/connect-compositing-iframe-expected.txt:
  • compositing/iframes/connect-compositing-iframe2-expected.txt:
  • compositing/iframes/connect-compositing-iframe3-expected.txt:
  • compositing/iframes/enter-compositing-iframe-expected.txt:
  • compositing/iframes/iframe-resize-expected.txt:
  • compositing/iframes/iframe-size-from-zero-expected.txt:
  • compositing/iframes/invisible-nested-iframe-hide-expected.txt:
  • compositing/iframes/overlapped-iframe-expected.txt:
  • compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • compositing/iframes/overlapped-nested-iframes-expected.txt:
  • compositing/iframes/page-cache-layer-tree-expected.txt:
  • compositing/iframes/scrolling-iframe-expected.txt:
  • compositing/images/clip-on-directly-composited-image-expected.txt:
  • compositing/layer-creation/animation-overlap-with-children-expected.txt:
  • compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
  • compositing/layer-creation/fixed-position-out-of-view-expected.txt:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
  • compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
  • compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt:
  • compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • compositing/layer-creation/overflow-scroll-overlap-expected.txt:
  • compositing/layer-creation/overlap-animation-clipping-expected.txt:
  • compositing/layer-creation/overlap-animation-expected.txt:
  • compositing/layer-creation/overlap-child-layer-expected.txt:
  • compositing/layer-creation/overlap-clipping-expected.txt:
  • compositing/layer-creation/overlap-transformed-3d-expected.txt:
  • compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
  • compositing/layer-creation/overlap-transformed-layer-expected.txt:
  • compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
  • compositing/layer-creation/overlap-transforms-expected.txt:
  • compositing/layer-creation/rotate3d-overlap-expected.txt:
  • compositing/layer-creation/scroll-partial-update-expected.txt:
  • compositing/layer-creation/spanOverlapsCanvas-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-expected.txt:
  • compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
  • compositing/layer-creation/translatez-overlap-expected.txt:
  • compositing/masks/mask-layer-size-expected.txt:
  • compositing/overflow-trumps-transform-style-expected.txt:
  • compositing/overflow/clip-descendents-expected.txt:
  • compositing/overflow/content-gains-scrollbars-expected.txt:
  • compositing/overflow/content-loses-scrollbars-expected.txt:
  • compositing/overflow/overflow-scrollbar-layer-positions-expected.txt:
  • compositing/overflow/overflow-scrollbar-layers-expected.txt:
  • compositing/overflow/resize-painting-expected.txt:
  • compositing/plugins/no-backing-store-expected.txt:
  • compositing/plugins/small-to-large-composited-plugin-expected.txt:
  • compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt:
  • compositing/regions/fixed-in-named-flow-expected.txt:
  • compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt:
  • compositing/regions/fixed-in-named-flow-from-outflow-expected.txt:
  • compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt:
  • compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt:
  • compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt:
  • compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt:
  • compositing/regions/fixed-transformed-in-named-flow-expected.txt:
  • compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt:
  • compositing/repaint/fixed-background-scroll-expected.txt:
  • compositing/repaint/positioned-movement-expected.txt:
  • compositing/repaint/repaint-on-layer-grouping-change-expected.txt:
  • compositing/repaint/resize-repaint-expected.txt:
  • compositing/rtl/rtl-absolute-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-fixed-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-relative-expected.txt:
  • compositing/tiled-layers-hidpi-expected.txt:
  • compositing/visibility/layer-visible-content-expected.txt:
  • platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
  • platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
  • platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
  • platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
  • platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt:
  • platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt:
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt:
  • platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt:
  • platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt:
  • platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt:
  • platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
  • platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
  • platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
  • platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt:
  • platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
  • platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:
  • platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
  • platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
  • platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt:
  • platform/mac/compositing/canvas/accelerated-canvas-compositing-expected.txt:
  • platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
  • platform/mac/compositing/iframes/invisible-nested-iframe-show-expected.txt:
  • platform/mac/compositing/iframes/resizer-expected.txt:
  • platform/mac/compositing/images/direct-image-object-fit-expected.txt:
  • platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
  • platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
  • platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
  • platform/mac/compositing/reflections/direct-image-object-fit-reflected-expected.txt:
  • platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
  • platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-img-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
  • platform/mac/compositing/tiling/tiled-layer-resize-expected.txt:
  • platform/mac/compositing/video/video-object-fit-expected.txt:
  • platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
  • platform/mac/compositing/visible-rect/3d-transform-style-expected.txt:
  • platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
  • platform/mac/compositing/visible-rect/animated-expected.txt:
  • platform/mac/compositing/visible-rect/animated-from-none-expected.txt:
  • platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
  • platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
  • platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt:
  • platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
  • platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
  • platform/mac/compositing/visible-rect/nested-transform-expected.txt:
  • platform/mac/compositing/visible-rect/scrolled-expected.txt:
12:44 PM Changeset in webkit [168243] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Clear the Selector Query caches on memory pressure
https://bugs.webkit.org/show_bug.cgi?id=132545

Reviewed by Andreas Kling.

The Selector Query Cache can use quite a bit of memory if many
complex selectors are compiled. This patch makes sure the cache gets
cleared on memory pressure.

  • dom/Document.cpp:

(WebCore::Document::clearSelectorQueryCache):
(WebCore::Document::setCompatibilityMode):
(WebCore::Document::updateBaseURL):

  • dom/Document.h:
  • dom/SelectorQuery.cpp:

(WebCore::SelectorQueryCache::invalidate): Deleted.

  • dom/SelectorQuery.h:
  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseMemory):

2:04 AM Changeset in webkit [168242] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source/WebCore

Convert OwnPtr to std::unique_ptr in CDM
https://bugs.webkit.org/show_bug.cgi?id=132467

Reviewed by Andreas Kling.

Use std::unique_ptr in CDM class.

No new tests, no behavior change.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::create):
(WebCore::CDM::CDM):

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/CDMPrivateMediaPlayer.h:

(WebCore::CDMPrivateMediaPlayer::CDMPrivateMediaPlayer):
(WebCore::CDMPrivateMediaPlayer::create):

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::create):
(WebCore::MediaKeys::MediaKeys):

  • Modules/encryptedmedia/MediaKeys.h:
  • WebCore.exp.in:

May 3, 2014:

11:26 PM Changeset in webkit [168241] by commit-queue@webkit.org
  • 19 edits in trunk/Source

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

broke ~15 tests on WK2 debug (Requested by kling on #webkit).

Reverted changeset:

"Shortcircuit shouldUseCredentialStorage callback"
https://bugs.webkit.org/show_bug.cgi?id=132308
http://trac.webkit.org/changeset/168232

9:22 PM Changeset in webkit [168240] by bshafiei@apple.com
  • 5 edits in branches/safari-537.76-branch/Source

Versioning.

9:19 PM Changeset in webkit [168239] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.76.1

New tag.

8:49 PM Changeset in webkit [168238] by bshafiei@apple.com
  • 2 edits in branches/safari-537.76-branch/Source/WebCore

Follow-up fix for the merge of r167480.

Rubber stamped by Tim Horton.

  • platform/KURL.cpp:

(WebCore::KURL::host): Return empty string instead of null string.

8:43 PM Changeset in webkit [168237] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

RenderSVGResourcePattern should deal in RenderElement&.
<https://webkit.org/b/132536>

Tweak buildPattern() and buildTileImageTransform() to take RenderElement&
instead of RenderObject* since we know that these functions will always
be called with non-null RenderElement subclasses.

Reviewed by Sam Weinig.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):

  • rendering/svg/RenderSVGResourceContainer.h:
  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::applyResource):
(WebCore::RenderSVGResourcePattern::buildTileImageTransform):

  • rendering/svg/RenderSVGResourcePattern.h:
8:25 PM Changeset in webkit [168236] by benjamin@webkit.org
  • 3 edits
    2 adds in trunk

CSS JIT: optimize direct / indirect adjacent's traversal backtracking
https://bugs.webkit.org/show_bug.cgi?id=132319

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

Source/WebCore:
Since adjacent backtracking stack reference is pre-allocated
in prologue in http://trac.webkit.org/changeset/166834,
clearing stack phase is not needed. So we can drop
JumpToClearAdjacentTail from backtracking action and simplify
backtracking handling.
And optimize direct / indirect adjacent's traversal backtracking by
using appropriate backtracking height.

When solving adjacent traversal backtracking action,
1) When there's no descendant relation on the right, traversal
failure becomes global failure.
2) When tagNameMatchedBacktrackingStartHeightFromDescendant ==
heightFromDescendant + 1, the descendant backtracking starts with
the parent of the current element. So we can use the current element
and the backtracking action is JumpToDescendantTreeWalkerEntryPoint.
3) Otherwise, currently we take the conservative approach,
JumpToDescendantTail.

NOTE:
And if hasDescendantRelationOnTheRight is true and there's no child
fragment on the right, the backtracking element register is not
effective. So we should ensure that fragment doesn't use the
backtracking element register. Such a fragment fulfills the following
conditions. 1. tagNameMatchedBacktrackingStartHeightFromDescendant is
always 1 (tagNames.size(), that contains only descendant fragment) 2.
heightFromDescendant is always 0 (-- See
computeBacktrackingHeightFromDescendant implementation) Therefore such
a fragment's action always becomes
JumpToDescendantTreeWalkerEntryPoint. So we can ensure that the
backtracking element register is not used.

Test: fast/selectors/backtracking-adjacent.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::solveDescendantBacktrackingActionForChild):
(WebCore::SelectorCompiler::solveAdjacentTraversalBacktrackingAction):
(WebCore::SelectorCompiler::solveBacktrackingAction):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
(WebCore::SelectorCompiler::isAfterChildRelation): Deleted.

LayoutTests:

  • fast/selectors/backtracking-adjacent-expected.txt: Added.
  • fast/selectors/backtracking-adjacent.html: Added.
8:22 PM Changeset in webkit [168235] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Clear the JSString cache when under memory pressure.
<https://webkit.org/b/132539>

The WeakGCMap used for fast mapping from StringImpl* to JSString*
can actually get pretty big, and if we find ourselves under memory
pressure, it's entirely inessential.

1.1 MB progression on Membuster3.

Reviewed by Sam Weinig.

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseMemory):

6:55 PM Changeset in webkit [168234] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

[iOS] REGRESSION (WebKit2): Page isn't clipped properly during back/forward swipe
https://bugs.webkit.org/show_bug.cgi?id=132538
<rdar://problem/16266027>

Reviewed by Simon Fraser.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

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

  • UIProcess/mac/ViewGestureController.h:

Add a clipping layer above the live swipe layer, which explicitly clips to bounds.

6:48 PM Changeset in webkit [168233] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

[iOS][WK2] Support disabling speculative tiling
https://bugs.webkit.org/show_bug.cgi?id=132512

Reviewed by Tim Horton.

Move ScrollView::setScrollVelocity() and ScrollView::computeCoverageRect() to FrameView.
When speculative tiling is disabled, return an unmodified exposed rect.

Time/velocity adjusments are completely unnecessary at the moment since speculative tiling
is enabled as soon as the view scrolls.

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

(WebCore::FrameView::setScrollVelocity):
(WebCore::FrameView::computeCoverageRect):

  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::setScrollVelocity): Deleted.
(WebCore::ScrollView::computeCoverageRect): Deleted.

5:17 PM Changeset in webkit [168232] by psolanki@apple.com
  • 19 edits in trunk/Source

Shortcircuit shouldUseCredentialStorage callback
https://bugs.webkit.org/show_bug.cgi?id=132308
<rdar://problem/16806708>

Reviewed by Alexey Proskuryakov.

If we are going to return true from the shouldUseCredentialStorage callback then we don't
really need to have CFNetwork/Foundation call us. We can just disable the callback and
CFNetwork will assume true. Add a separate subclass that implements this callback when we
need to return false. We can also eliminate the corresponding async callbacks. This avoids
pingponging between dispatch queue and main thread in the common case.

No new tests because no change in functionality.

Source/WebCore:

  • WebCore.exp.in:
  • platform/network/ResourceHandle.cpp:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.cpp:
  • platform/network/ResourceHandleClient.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::shouldUseCredentialStorage):

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

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::makeDelegate):
(WebCore::ResourceHandle::delegate):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::shouldUseCredentialStorage):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleWithCredentialStorageAsOperationQueueDelegate connectionShouldUseCredentialStorage:]):

  • platform/network/soup/ResourceHandleSoup.cpp:

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp: Remove shouldUseCredentialStorageAsync() callbacks.
  • NetworkProcess/NetworkResourceLoader.h:
5:13 PM Changeset in webkit [168231] by psolanki@apple.com
  • 3 edits in trunk/Source/WebKit2

Reduce calls to CFURLCacheCopySharedURLCache
https://bugs.webkit.org/show_bug.cgi?id=132464
<rdar://problem/16806694>

Reviewed by Alexey Proskuryakov.

CFURLCacheCopySharedURLCache grabs a mutex and can sometimes block. Avoid that by stashing
the cache reference in a static.

  • NetworkProcess/NetworkResourceLoader.h: Coalesce ifdef'd code.
  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
(WebKit::NetworkResourceLoader::willCacheResponseAsync): Use more correct ifdef for
Foundation based callback.

3:16 PM Changeset in webkit [168230] by akling@apple.com
  • 5 edits
    2 adds in trunk

Invalidate scrollbars when custom scrollbar style changes dynamically.
<https://webkit.org/b/132529>

Source/WebCore:
Add a ScrollView::styleDidChange() and call that from RenderView::styleDidChange()
so that the scrollbars are sure to get repainted with potentially different style.

Reviewed by Antti Koivisto.

Test: fast/css/scrollbar-dynamic-style-change.html

  • platform/ScrollView.cpp:

(WebCore::ScrollView::styleDidChange):

  • platform/ScrollView.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::styleDidChange):

LayoutTests:
Reviewed by Antti Koivisto.

  • fast/css/scrollbar-dynamic-style-change-expected.html: Added.
  • fast/css/scrollbar-dynamic-style-change.html: Added.
1:46 PM Changeset in webkit [168229] by weinig@apple.com
  • 9 edits
    3 copies in trunk/Source/WebKit2

[Cocoa WebKit2] Add basic _WKWebsiteDataStore implementation
https://bugs.webkit.org/show_bug.cgi?id=132526

Reviewed by Anders Carlsson.

  • Renames WKSession to _WKWebsiteDataStore to better reflect its intended use (renaming the implementation object will come later).
  • Makes _WKWebsiteDataStore work as a wrapped Objective-C object.
  • Adds the ability to set a _WKWebsiteDataStore on the WKWebViewConfiguration.
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • UIProcess/API/Cocoa/WKSession.h:
  • UIProcess/API/Cocoa/WKSession.mm:

(-[WKSession dealloc]): Deleted.
(-[WKSession ephemeral]): Deleted.
(-[WKSession API::]): Deleted.

  • UIProcess/API/Cocoa/WKSessionInternal.h:

(WebKit::wrapper): Deleted.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _websiteDataStore]):
(-[WKWebViewConfiguration _setWebsiteDataStore:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKSession.h.
  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKSession.mm.

(+[_WKWebsiteDataStore nonPersistentDataStore]):
(-[_WKWebsiteDataStore isNonPersistentDataStore]):
(-[WKSession ephemeral]): Deleted.

  • UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKSessionInternal.h.
  • WebKit2.xcodeproj/project.pbxproj:
1:32 PM Changeset in webkit [168228] by Simon Fraser
  • 5 edits in trunk

[UI-side compositing] Assertion in PlatformCAFilters::setFiltersOnLayer with animated reference filter
https://bugs.webkit.org/show_bug.cgi?id=132528
<rdar://problem/16671660>

Reviewed by Tim Horton.

Source/WebKit2:
Allow PASSTHROUGH filters to be encoded and sent to the UI process; they can be set
on layers as the result of a filter animation using a reference filter, and just get
ignored anyway, but encoding them maintains consistency of the filters list.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<FilterOperation>::encode): Assert during encoding if
we try to encode a NONE or REFERENCE filter (to match the decoding assertions).
(IPC::decodeFilterOperation): Allow decoding of PASSTHROUGH filters. Have
trying to decode a NONE or REFERENCE filter mark the message as invalid.
(IPC::ArgumentCoder<IDBKeyData>::decode): Mark the message invalid when receiving
unexpected key types.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<): Have the logging not crash if
a filter is null (should never happen).

LayoutTests:
Make the animation duration a little longer to cause bug 132528 to reproduce more
reliably. The test does notifyDone() from an animation start event, so this doesn't
increase test duration.

  • css3/filters/crash-filter-animation-invalid-url.html:
1:32 PM Changeset in webkit [168227] by Simon Fraser
  • 5 edits
    2 adds in trunk

Very fuzzy layers under non-decompasable matrices
https://bugs.webkit.org/show_bug.cgi?id=132516
<rdar://problem/16717478>

Reviewed by Sam Weinig.

Source/WebCore:
r155977 added code to modify layer contentsScale based on a root-relative
scale, so that scaled-up layers remained sharp. It does this by decomposing
an accumulated matrix, but failed to test whether the decomposition
succeeded. This would result in contentsScale of 0, which is clamped to 0.1,
resulting in very fuzzy layers.

Fix by testing for success of decomposition.

Test: compositing/contents-scale/non-decomposable-matrix.html

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::maxScaleFromTransform):

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::decompose2): Return early for identity matrices,
with fix for m11 and m22.
(WebCore::TransformationMatrix::decompose4): Return early for identity matrices.

  • platform/graphics/transforms/TransformationMatrix.h:

Make Decomposed2Type and Decomposed4Type into C++ structs.
(WebCore::TransformationMatrix::Decomposed2Type::operator==): Added to make it easier
to write code that asserts that decomposition is correct.
(WebCore::TransformationMatrix::Decomposed4Type::operator==): Ditto.

LayoutTests:
Compare scaling under non-decomposable and decomposable matrices.

  • compositing/contents-scale/non-decomposable-matrix-expected.html: Added.
  • compositing/contents-scale/non-decomposable-matrix.html: Added.
12:13 PM Changeset in webkit [168226] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix crash in WebKit client app when zooming
https://bugs.webkit.org/show_bug.cgi?id=132475
<rdar://problem/16703405>

Reviewed by Tim Horton.

It's possible for a WebTiledBackingLayer CALayer to remain in the CALayer
hierarchy after we've called -invalidate on it, which clears the _tileController.
Project the getters against null derefs to handle this.

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

(-[WebTiledBackingLayer isOpaque]):
(-[WebTiledBackingLayer acceleratesDrawing]):
(-[WebTiledBackingLayer contentsScale]):

11:52 AM Changeset in webkit [168225] by rakuco@webkit.org
  • 2 edits in trunk

[CMake] Define SHOULD_INSTALL_JS_SHELL before including ports Options files.
https://bugs.webkit.org/show_bug.cgi?id=132525

Reviewed by Martin Robinson.

  • CMakeLists.txt: If OPTION() is called after Options${PORT}.cmake is included, it will

override whatever value a port may have set for it. The GTK+ port, for example, tries to set
it to SHOULD_INSTALL_JS_SHELL to ON by default, even though it did not happen before.

10:40 AM Changeset in webkit [168224] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.33.1/Source/bmalloc

Merged r168152.

10:36 AM Changeset in webkit [168223] by Alan Bujtas
  • 1 edit
    2 adds in trunk/LayoutTests

Subpixel rendering: Add hidpi fieldset/legend test case to check fieldset's cliprect when legend text is present.
https://bugs.webkit.org/show_bug.cgi?id=132524

Reviewed by Simon Fraser.

This is the hidpi test for r168221. (Fieldset legend has a horizontal line
through, when the fieldset is painted on odd device pixel position.)

  • fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present-expected.html: Added.
  • fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present.html: Added.
3:37 AM Changeset in webkit [168222] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GTK+ build after r168209.

  • platform/leveldb/LevelDBDatabase.cpp:

(WebCore::LevelDBDatabase::write):

12:47 AM Changeset in webkit [168221] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Subpixel rendering: Fieldset legend has a horizontal line through, when the fieldset is painted on odd device pixel position.
https://bugs.webkit.org/show_bug.cgi?id=132521
<rdar://problem/16803305>

Reviewed by Simon Fraser.

Use device pixel snapping when the fieldset's border gets clipped out for the legend's text. It ensures that
the device pixel snapped border gets properly clipped out.

Existing fieldset tests cover it.

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::paintBoxDecorations):

May 2, 2014:

9:09 PM Changeset in webkit [168220] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Cliprect does not cover textarea properly on certain subpixel positions.

  • platform/mac/TestExpectations:
6:16 PM Changeset in webkit [168219] by Alan Bujtas
  • 9 edits in trunk/Source/WebCore

CodeCleanup: Remove *MaintainsPixelAlignment from GraphicsLayer*.
https://bugs.webkit.org/show_bug.cgi?id=132501

Reviewed by Simon Fraser.

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::GraphicsLayer):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setMaintainsPixelAlignment): Deleted.
(WebCore::GraphicsLayer::maintainsPixelAlignment): Deleted.
(WebCore::GraphicsLayer::pixelAlignmentOffset): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment):
(WebCore::GraphicsLayerCA::setMaintainsPixelAlignment): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createGraphicsLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::keepLayersPixelAligned): Deleted.

  • rendering/RenderLayerCompositor.h:
6:15 PM Changeset in webkit [168218] by mrowe@apple.com
  • 2 edits in trunk/Tools

<https://webkit.org/b/132505> Make it possible to tell copy-webkitlibraries-to-product-directory which OS X version to copy for

Reviewed by Dan Bernstein.

  • Scripts/copy-webkitlibraries-to-product-directory: Add an --osx-version argument and use the passed value

when determining which LLVM archive to extract.

6:15 PM Changeset in webkit [168217] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

[iOS WK2] Tiled layer content missing on pages with animated tiled layers
https://bugs.webkit.org/show_bug.cgi?id=132507
<rdar://problem/16765740>

Reviewed by Tim Horton.

Updating the tiling area of content TileControllers while
CSS animations are running depends on GraphicsLayerUpdater
triggering repeated layer flushes. With UI-side compositing, those
flushes were happening, but nothing triggered RemoteLayerTreeDrawingArea
to flush changes to the UI process.

Fix by having RenderLayerCompositor schedule a flush, rather
than just doing a flush, in response to GraphicsLayerUpdater.

Also change the name of the GraphicsLayerUpdaterClient function
to indicate that it suggests that a flush is required soon, rather than
that the flushing has to be synchronous.

  • platform/graphics/GraphicsLayerUpdater.cpp:

(WebCore::GraphicsLayerUpdater::displayRefreshFired):

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

(WebCore::RenderLayerCompositor::flushLayersSoon):
(WebCore::RenderLayerCompositor::flushLayers): Deleted.

  • rendering/RenderLayerCompositor.h:
6:13 PM Changeset in webkit [168216] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Use displayNameForTrack instead of textTrack->label() for captions.
https://bugs.webkit.org/show_bug.cgi?id=131311

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Darin Adler.

Use the same mechanism as the desktop to build the captions list so it has the correct
names in the correct order including none and automatic.

  • platform/ios/WebVideoFullscreenModelMediaElement.h:
  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::setMediaElement):
move legible track code into updateLegibleOptions()

(WebVideoFullscreenModelMediaElement::handleEvent):
updateLegibleOptions on addTrack and removeTrack

(WebVideoFullscreenModelMediaElement::selectLegibleMediaOption):
select the corresponding TextTrack on HTMLMediaElement.

(WebVideoFullscreenModelMediaElement::updateLegibleOptions):
use the same mechanism as desktop to build the captions menu.

6:12 PM Changeset in webkit [168215] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

CSS-based Media Controls Show Different times content longer than 1 hour.
https://bugs.webkit.org/show_bug.cgi?id=132443

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Jer Noble.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-timeline-container .hour-long-time):
This class has a wider width for longer duration times.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.updateDuration):
Apply .hour-long-time class as appropriate.

(Controller.prototype.formatTime):
More robust formatting to handle hours.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-timeline-container .hour-long-time):
This class has a wider width for longer duration times.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.formatTime):
More robust formatting to handle hours.

6:09 PM Changeset in webkit [168214] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MSE][Mac] AVAssetTrack returns incorrect track size
https://bugs.webkit.org/show_bug.cgi?id=132469

Reviewed by Brent Fulgham.

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

(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset): Remove the sizeChanged() notification.
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame): Cache the last parsed video frame size.
(WebCore::SourceBufferPrivateAVFObjC::naturalSize): Return the cached value.

5:19 PM Changeset in webkit [168213] by mitz@apple.com
  • 4 edits
    1 delete in trunk/Source/WebKit2

[Cocoa] Remove unused WKErrorRecoveryAttempting
https://bugs.webkit.org/show_bug.cgi?id=132503

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(didFailProvisionalLoadWithErrorForFrame):
(didFailLoadWithErrorForFrame):
(createErrorWithRecoveryAttempter): Deleted.
(-[WKBrowsingContextController attemptRecoveryFromError:]): Deleted.

  • UIProcess/API/Cocoa/WKErrorRecoveryAttempting.m: Removed.
  • UIProcess/API/Cocoa/_WKFormDelegate.h:
  • WebKit2.xcodeproj/project.pbxproj:
5:05 PM Changeset in webkit [168212] by matthew_hanson@apple.com
  • 6 edits
    2 copies in branches/safari-537.76-branch

Merge r166420.

5:02 PM Changeset in webkit [168211] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Subpixel rendering[iOS]: Use pixelSnappedRoundedRectForPainting() to clip text area rect.
https://bugs.webkit.org/show_bug.cgi?id=132499
<rdar://problem/16631050>

Reviewed by Simon Fraser.

Snap to device pixels properly instead of relying on float arithmetics while converting from RoundedRect
to FloatRoundedRect. This is the second, cleanup part of the text-area decoration is off-by-one painting issue.

Currently not testable.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintTextFieldDecorations):

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

REGRESSION (WebKit2) Need to support reanalyze button for Chinese Traditional.
https://bugs.webkit.org/show_bug.cgi?id=132504
<rdar://problem/16778862>

Reviewed by Benjamin Poulain.

For traditional Chinese we support reanalyzing of the text to perform
transformations on the text based on the selected language and keyboard.
This is done by pressing the Reanalyze button on the system
menu. This patch adds the necessary code to canPerformAction to enable
the button when appropriate as well as the implementation of the action
itself.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _reanalyze:]):
(-[WKContentView canPerformAction:withSender:]):

4:57 PM Changeset in webkit [168209] by akling@apple.com
  • 18 edits
    3 deletes in trunk/Source/WebCore

Remove HistogramSupport.
<https://webkit.org/b/132354>

Prune some leftover Chromium gunk that no other ports ever used.

Reviewed by Simon Fraser.

  • CMakeLists.txt:
  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::deleteObjectStore):
(WebCore::IDBDatabase::transaction):

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):

  • Modules/indexeddb/IDBHistograms.h: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::IDBBackingStoreLevelDB::open):
(WebCore::IDBBackingStoreLevelDB::openInMemory):
(WebCore::recordInternalError): Deleted.

  • Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSParser.cpp:

(WebCore::cssPropertyID):

  • dom/Document.cpp:

(WebCore::Document::~Document):
(WebCore::histogramMutationEventUsage): Deleted.

  • dom/ShadowRoot.cpp:
  • fileapi/Blob.cpp:
  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::BlobBuilder::append):

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::logCanCachePageDecision):

  • platform/HistogramSupport.cpp: Removed.
  • platform/HistogramSupport.h: Removed.
  • platform/leveldb/LevelDBDatabase.cpp:

(WebCore::LevelDBDatabase::open):
(WebCore::histogramLevelDBError): Deleted.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateNeedsCompositedScrolling):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send):

4:48 PM Changeset in webkit [168208] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.76-branch/Source

Merge r167548.

4:38 PM Changeset in webkit [168207] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Stop flipping the ImageControlsButton
<rdar://problem/16773238> and https://bugs.webkit.org/show_bug.cgi?id=132502

Reviewed by Tim Horton.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintImageControlsButton):

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

REGRESSION (WebKit2) Need to support transliterate chinese button (简⇄繁) for Traditional Chinese.
https://bugs.webkit.org/show_bug.cgi?id=132500
<rdar://problem/16778870>

Reviewed by Benjamin Poulain.

For traditional Chinese we support the transliterate to simplified Chinese.
This is done by pressing the 简⇄繁 button on the system
menu. This patch adds the necessary code to canPerformAction to enable
the button when appropriate as well as the implementation of the action
itself.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _transliterateChinese:]):
(-[WKContentView canPerformAction:withSender:]):

4:11 PM Changeset in webkit [168205] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Fullscreen UI does not appear after WebProcess has crashed
https://bugs.webkit.org/show_bug.cgi?id=132442

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Darin Adler.

Source/WebCore:
Clean up immediately when there is a WebProcess crash.

  • WebCore.exp.in:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::invalidate):
Clean-up resources immediately.

Source/WebKit2:
Cleanup WebVideoFullscreenManagerProxy after a WebProcess crash.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reattachToWebProcess):
recreate WebVideoFullscreenManagerProxy after a WebProcess crash.

(WebKit::WebPageProxy::resetState):
invalidate and release WebVideoFullscreenManagerProxy on crash.

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

(WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy):
don't assume m_page is valid.

(WebKit::WebVideoFullscreenManagerProxy::invalidate):
do cleanup invalidation in reponse to a WebProcess crash.

3:56 PM Changeset in webkit [168204] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

Was not the correct fix (blurry!) (Requested by bfulgham_ on
#webkit).

Reverted changeset:

"[iOS] deviceScaleFactor is being double-applied when
rendering captions in full screen mode"
https://bugs.webkit.org/show_bug.cgi?id=132481
http://trac.webkit.org/changeset/168192

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

[iOS][WK2] More animation madness for when the extendedBackground is modified in an animation block
https://bugs.webkit.org/show_bug.cgi?id=132497

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-02
Reviewed by Beth Dakin.

  • UIProcess/API/Cocoa/WKWebView.mm:

(updateTopAndBottomExtendedBackgroundExclusionIfNecessary):
Do not early return when _extendedBackgroundExclusionInsets.left is empty. That way, if executed in an animation block,
the top of bottom view will animate from their current size to an empty width.

When creating the layer, set up their height without animation. Otherwise it is possible to see the height animating
while the left inset is animating.

(-[WKWebView _setExtendedBackgroundExclusionInsets:]):
When replacing the scrollview, make sure the frame and color are not animated. Otherwise the transition between
scrollView and _mainExtendedBackgroundView can be visible if _setExtendedBackgroundExclusionInsets: is invoked
in an animation block.

(-[WKWebView _endAnimatedResize]):
Nuke the top and bottom insets when possible. [WKWebView _endAnimatedResize] is unfrequent, so it is a good opportunity
to free the memory.

3:47 PM Changeset in webkit [168202] by jeremyj-wk@apple.com
  • 1 edit in trunk/Tools/ChangeLog

Add Jeremy Jones as a committer. https://bugs.webkit.org/show_bug.cgi?id=132492

3:41 PM Changeset in webkit [168201] by ap@apple.com
  • 7 edits in trunk/Source

Remove Blob contentDisposition handling
https://bugs.webkit.org/show_bug.cgi?id=132490

Reviewed by Sam Weinig.

Source/WebCore:
Dead code.

  • platform/network/BlobData.h:

(WebCore::BlobData::contentDisposition): Deleted.
(WebCore::BlobData::setContentDisposition): Deleted.

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURLForSlice):

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::notifyResponseOnSuccess):

  • platform/network/BlobStorageData.h:

(WebCore::BlobStorageData::create):
(WebCore::BlobStorageData::contentType):
(WebCore::BlobStorageData::BlobStorageData):
(WebCore::BlobStorageData::contentDisposition): Deleted.

Source/WebKit2:

  • Shared/FileAPI/BlobRegistrationData.cpp:

(WebKit::BlobRegistrationData::encode):
(WebKit::BlobRegistrationData::decode):

3:39 PM Changeset in webkit [168200] by matthew_hanson@apple.com
  • 3 edits in branches/safari-537.76-branch/Source/JavaScriptCore

Merge r167544.

3:38 PM Changeset in webkit [168199] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Implement FormData decoding using KeyedDecoder
https://bugs.webkit.org/show_bug.cgi?id=132494

Reviewed by Tim Horton.

  • platform/KeyedCoding.h:

(WebCore::KeyedDecoder::decodeEnum):

  • platform/network/FormData.cpp:

(WebCore::decodeElement):
(WebCore::FormData::decode):

  • platform/network/FormData.h:
3:37 PM Changeset in webkit [168198] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add Jeremy as a committer.
https://bugs.webkit.org/show_bug.cgi?id=132492

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Jer Noble.

Add Jeremy Jones to the committers file.

  • Scripts/webkitpy/common/config/contributors.json:
3:24 PM Changeset in webkit [168197] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

"arm64 function not 4-byte aligned" warnings when building JSC
https://bugs.webkit.org/show_bug.cgi?id=132495

Reviewed by Geoffrey Garen.

Added ".align 4" for both ARM Thumb2 and ARM 64 to silence the linker.

  • llint/LowLevelInterpreter.cpp:
3:05 PM Changeset in webkit [168196] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Adapt the rubberband constraints when the page get smaller than the scrollview - insets
https://bugs.webkit.org/show_bug.cgi?id=132457

Reviewed by Enrica Casucci.

It is quite common for us to have a WKContentView that is scalled smaller than the WKWebView, content
insets included.

In those cases, update the constraints to fit the content properly in the view.

  • UIProcess/ios/WKScrollView.mm:

(valuesAreWithinOnePixel):
(-[WKScrollView _rubberBandOffsetForOffset:maxOffset:minOffset:range:outside:]):

3:04 PM Changeset in webkit [168195] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

-[_WKThumbnailView _requestSnapshotIfNeeded] assumes that taking a snapshot will always succeed
<https://webkit.org/b/132489> / <rdar://problem/16704660>

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/_WKThumbnailView.mm:

(-[_WKThumbnailView _requestSnapshotIfNeeded]): Don't attempt to create a CGImageRef if we failed
to create a ShareableBitmap. This handles both the callback receiving a null Handle and a failure
within ShareableBitmap::create.

2:58 PM Changeset in webkit [168194] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/Source/JavaScriptCore

Merge r167354.

2:43 PM Changeset in webkit [168193] by beidson@apple.com
  • 4 edits in trunk/Source/WebKit/mac

Implement new delegate method -sharingService:sourceFrameOnScreenForShareItem:.
<rdar://problem/16797425> and https://bugs.webkit.org/show_bug.cgi?id=132484

Reviewed by Tim Horton.

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController sharingService:sourceFrameOnScreenForShareItem:]):

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

(WebContextMenuClient::screenRectForHitTestNode):

2:39 PM Changeset in webkit [168192] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[iOS] deviceScaleFactor is being double-applied when rendering captions in full screen mode
https://bugs.webkit.org/show_bug.cgi?id=132481

Reviewed by Jer Noble.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Don't set the platform scale factor here. It is already
being accounted for in the createTextTrackRepresentationImage method.

2:28 PM Changeset in webkit [168191] by matthew_hanson@apple.com
  • 7 edits in branches/safari-537.76-branch/Source/JavaScriptCore

Merge r167336.

2:24 PM Changeset in webkit [168190] by Simon Fraser
  • 12 edits in trunk

[iOS WK2] Don't create backing store for -webkit-overflow-scrolling:touch that can't scroll
https://bugs.webkit.org/show_bug.cgi?id=132487
<rdar://problem/16758041>

Reviewed by Sam Weinig.

Source/WebCore:

Previously, -webkit-overflow-scrolling:touch would cause us to make compositing
layers for any element that had overflow: auto or scroll on either axis. This
created lots of backing store when not required.

Improve this to only create compositing for scrolling when there is actually
scrollable overflow. This makes things slightly more complex, because we can
only know when layout is up to date.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint): usesCompositedScrolling() tells
us if we're actually doing composited overflow.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasTouchScrollableOverflow):
(WebCore::RenderLayer::handleTouchEvent):

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

(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Only update
scrolling and clipping layers if layout is not pending.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::updateScrollingLayers): The caller calls
updateInternalHierarchy(), so no need to do it here.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForScrolling): We
can only determine that we're scrollable after layout.
(WebCore::isStickyInAcceleratedScrollingLayerOrViewport):
(WebCore::isMainFrameScrollingOrOverflowScrolling):

LayoutTests:

These are all progressions, and show that we make layers in fewer cases.

  • platform/ios-sim/compositing/overflow/iframe-inside-overflow-clipping-expected.txt:
  • platform/ios-sim/compositing/overflow/overflow-auto-with-touch-no-overflow-expected.txt:
  • platform/ios-sim/compositing/overflow/overflow-overlay-with-touch-no-overflow-expected.txt:
  • platform/ios-sim/compositing/overflow/overflow-scroll-with-touch-no-overflow-expected.txt:
  • platform/ios-sim/compositing/overflow/subpixel-overflow-expected.txt:
2:21 PM Changeset in webkit [168189] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix cloop build after r168178

  • bytecode/CodeBlock.cpp:
2:03 PM Changeset in webkit [168188] by andersca@apple.com
  • 10 edits in trunk/Source

Clean up FormDataElement
https://bugs.webkit.org/show_bug.cgi?id=132483

Reviewed by Sam Weinig.

Source/WebCore:

  • platform/network/FormData.cpp:

(WebCore::FormData::FormData):
(WebCore::FormData::deepCopy):
(WebCore::FormData::expandDataStore):
(WebCore::FormData::flatten):
(WebCore::FormData::resolveBlobReferences):
(WebCore::FormData::generateFiles):
(WebCore::FormData::hasGeneratedFiles):
(WebCore::FormData::hasOwnedGeneratedFiles):
(WebCore::FormData::removeGeneratedFilesIfNeeded):
(WebCore::encodeElement):
(WebCore::decodeElement):

  • platform/network/FormData.h:

(WebCore::FormDataElement::FormDataElement):
(WebCore::operator==):

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::advanceCurrentStream):
(WebCore::setHTTPBody):

  • platform/network/curl/FormDataStreamCurl.cpp:

(WebCore::FormDataStream::read):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::setupFormData):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::addFormElementsToSoupMessage):

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode):

1:53 PM Changeset in webkit [168187] by commit-queue@webkit.org
  • 13 edits
    1 add
    2 deletes in trunk/Source/ThirdParty/ANGLE

Update ANGLE Windows build.
https://bugs.webkit.org/show_bug.cgi?id=132456

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-02
Reviewed by Brent Fulgham.

  • ANGLE.vcxproj/libEGLCommon.props:
  • ANGLE.vcxproj/libGLESv2.vcxproj:
  • ANGLE.vcxproj/libGLESv2.vcxproj.filters:
  • ANGLE.vcxproj/libGLESv2Common.props:
  • ANGLE.vcxproj/translator_common.vcxproj:
  • ANGLE.vcxproj/translator_common.vcxproj.filters:
  • ANGLE.vcxproj/translator_glsl.vcxproj:
  • ANGLE.vcxproj/translator_glsl.vcxproj.filters:
  • ANGLE.vcxproj/translator_hlsl.vcxproj:
  • ANGLE.vcxproj/translator_hlsl.vcxproj.filters:

Updated ANGLE build.

  • src/ANGLE.sln: Removed.
  • src/build_angle.gyp: Removed.
  • src/commit.h: Added.
  • changes.diff:
  • src/libGLESv2/Program.cpp:

(gl::InfoLog::append):
Fixed typo.

1:03 PM Changeset in webkit [168186] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Wireless playback button not blue when active
https://bugs.webkit.org/show_bug.cgi?id=132473

Reviewed by Simon Fraser.

The playback button's class was being set to 'undefined', due to Controller.ClassNames.active being undefined.

  • Modules/mediacontrols/mediaControlsApple.js:
1:00 PM Changeset in webkit [168185] by beidson@apple.com
  • 5 edits in trunk/Source/WebKit/mac

Crash inside [WebSharingServicePickerController clear]
<rdar://problem/16791944> and https://bugs.webkit.org/show_bug.cgi?id=132477

Reviewed by Tim Horton.

  • Misc/WebSharingServicePickerController.h:
  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController clear]): clear can be called twice, so null check _menuClient.

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

(WebContextMenuClient::~WebContextMenuClient): For a sanity check, call clear on the picker here.

12:54 PM Changeset in webkit [168184] by Brian Burg
  • 2 edits in trunk/Tools

Hard to figure out how to run a single test with run-api-tests
https://bugs.webkit.org/show_bug.cgi?id=116332

Reviewed by Alexey Proskuryakov.

  • Scripts/run-api-tests: add two examples to the help message.
12:43 PM Changeset in webkit [168183] by ap@apple.com
  • 10 edits in trunk/Source/WebCore

Don't abuse Blob deserialization constructor in WebSocket
https://bugs.webkit.org/show_bug.cgi?id=132478

Reviewed by Sam Weinig.

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::send):
(WebCore::WebSocketChannel::enqueueBlobFrame): This is the important change -
Blob::create was called for no reason. If the blob came from a worker, it was
already cloned for cross-thread messaging, otherwise there is no reason to make
a new one.

  • fileapi/Blob.h:

(WebCore::Blob::deserialize):
(WebCore::Blob::create): Deleted.

  • fileapi/File.h:

(WebCore::File::deserialize):
(WebCore::File::create): Deleted.
Renamed a special case of "create" function to avoid explaining what it is for.

  • Modules/websockets/ThreadableWebSocketChannel.h:
  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::send):

  • Modules/websockets/WebSocketChannel.h:
  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::send): Print a full URL in LOG(),
not one shortened to 1024 characters.
(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):

  • Modules/websockets/WorkerThreadableWebSocketChannel.h:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):

12:42 PM Changeset in webkit [168182] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/Source/WebCore

Merge r165053.

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

Add and implement KeyedDecoder::decodeBytes
https://bugs.webkit.org/show_bug.cgi?id=132479

Reviewed by Tim Horton.

Source/WebCore:

  • platform/KeyedCoding.h:

(WebCore::KeyedDecoder::decodeBytes):

Source/WebKit2:

  • Shared/cf/KeyedDecoder.cpp:

(WebKit::KeyedDecoder::decodeBytes):

  • Shared/cf/KeyedDecoder.h:
12:28 PM Changeset in webkit [168180] by Joseph Pecoraro
  • 20 edits
    1 copy
    1 add in trunk/Source

[iOS] WebKit2 File Upload Support
https://bugs.webkit.org/show_bug.cgi?id=132024

Reviewed by Enrica Casucci.

Source/WebCore:

  • English.lproj/Localizable.strings:

New localized strings for <input type="file"> on iOS.

Source/WebKit2:

  • Configurations/WebKit2.xcconfig:

Include MobileCoreServices on iOS for kUTTypeImage/kUTTypeMovie.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • UIProcess/WebOpenPanelResultListenerProxy.h:
  • UIProcess/WebOpenPanelResultListenerProxy.cpp:

(WebKit::filePathsFromFileURLs):
(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):

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

(WebKit::WebPageProxy::runOpenPanel):
(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon):

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

(WebKit::WebOpenPanelResultListener::didChooseFilesWithDisplayStringAndIcon):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
Message forwarding for choosing files and providing a display string and icon,
leading down to the existing WebCore FileChooser method.

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

(WebKit::PageClientImpl::handleRunOpenPanel):
Add a default handler for file open panel on iOS.
Forwards to the content view.

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

(-[WKContentView lastInteractionLocation]):
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _longPressRecognized:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
(-[WKContentView _twoFingerDoubleTapRecognized:]):
Keep track of the last interaction location. This matches previous behavior
of showing the file upload popover where the user tapped, to handle
cases where the <input> is hidden.

(-[WKContentView _showRunOpenPanel:resultListener:]):
(-[WKContentView fileUploadPanelDidDismiss:]):
Handle showing the cleaning up after the file upload panel.

  • UIProcess/ios/forms/WKFileUploadPanel.h:
  • UIProcess/ios/forms/WKFileUploadPanel.mm: Added.

(squareCropRectForSize):
(squareImage):
(thumbnailSizedImageForImage):
(-[_WKFileUploadItem isVideo]):
(-[_WKFileUploadItem fileURL]):
(-[_WKFileUploadItem displayImage]):
(-[_WKImageFileUploadItem initWithFilePath:originalImage:]):
(-[_WKImageFileUploadItem isVideo]):
(-[_WKImageFileUploadItem fileURL]):
(-[_WKImageFileUploadItem displayImage]):
(-[_WKVideoFileUploadItem initWithFilePath:mediaURL:]):
(-[_WKVideoFileUploadItem isVideo]):
(-[_WKVideoFileUploadItem fileURL]):
(-[_WKVideoFileUploadItem displayImage]):
Helper class for each image picker selection. Knows how to get
a file URL and thumbnail display image for the item.

(-[WKFileUploadPanel initWithView:]):
(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel _dispatchDidDismiss]):
(-[WKFileUploadPanel _cancel]):
(-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]):
Lifetime of the upload panel requires that either cancel or choose
must happen as we go through the file picking process.

(-[WKFileUploadPanel presentWithParameters:WebKit::resultListener:WebKit::]):
(-[WKFileUploadPanel dismiss]):
API to show or dismiss the panel.

(-[WKFileUploadPanel _dismissDisplayAnimated:]):
Helper to clean up the UI as it progresses or completes no matter the device idiom.

(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]):
(-[WKFileUploadPanel _presentFullscreenViewController:animated:]):
UI presentation for the appropriate idiom.

(-[WKFileUploadPanel _mediaTypesForPickerSourceType:]):
(-[WKFileUploadPanel _showMediaSourceSelectionSheet]):
(-[WKFileUploadPanel _showPhotoPickerWithSourceType:]):
Showing the action sheet or image picker.

(-[WKFileUploadPanel popoverControllerDidDismissPopover:]):
(-[WKFileUploadPanel _willMultipleSelectionDelegateBeCalled]):
(-[WKFileUploadPanel imagePickerController:didFinishPickingMediaWithInfo:]):
(-[WKFileUploadPanel imagePickerController:didFinishPickingMultipleMediaWithInfo:]):
(-[WKFileUploadPanel imagePickerControllerDidCancel:]):
Action sheet or image picker handlers.

(-[WKFileUploadPanel _processMediaInfoDictionaries:successBlock:failureBlock:]):
(-[WKFileUploadPanel _processMediaInfoDictionaries:atIndex:processedResults:processedImageCount:processedVideoCount:successBlock:failureBlock:]):
(-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]):
(-[WKFileUploadPanel _displayStringForPhotos:videos:]):
Processing selections from the image picker to FileUploadItems.

12:01 PM Changeset in webkit [168179] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Remove unsuccessful build fix attempts
https://bugs.webkit.org/show_bug.cgi?id=132476

Reviewed by Dan Bernstein.

  • WebKit.xcodeproj/project.pbxproj:
11:52 AM Changeset in webkit [168178] by mhahnenberg@apple.com
  • 11 edits
    2 adds in trunk/Source/JavaScriptCore

Add a DFG function whitelist
https://bugs.webkit.org/show_bug.cgi?id=132437

Reviewed by Geoffrey Garen.

Often times when debugging, using bytecode ranges isn't enough to narrow down to the
particular DFG block that's causing issues. This patch adds the ability to whitelist
specific functions specified in a file to enable further filtering without having to recompile.

(JSC::DFG::isSupported):
(JSC::DFG::mightInlineFunctionForCall):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::mightInlineFunctionForConstruct):

  • dfg/DFGFunctionWhitelist.cpp: Added.

(JSC::DFG::FunctionWhitelist::ensureGlobalWhitelist):
(JSC::DFG::FunctionWhitelist::FunctionWhitelist):
(JSC::DFG::FunctionWhitelist::parseFunctionNamesInFile):
(JSC::DFG::FunctionWhitelist::contains):

  • dfg/DFGFunctionWhitelist.h: Added.
  • runtime/Options.cpp:

(JSC::parse):
(JSC::Options::dumpOption):

  • runtime/Options.h:
11:46 AM Changeset in webkit [168177] by Simon Fraser
  • 4 edits in trunk/Tools

Fix several memory leaks found by code inspection
https://bugs.webkit.org/show_bug.cgi?id=132472

Reviewed by Geoffrey Garen.

Fix memory leaks.

  • TestWebKitAPI/Tests/mac/WillSendSubmitEvent.mm:

(TestWebKitAPI::TEST):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::willSendRequestForFrame):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::changeWindowScaleIfNeeded):

11:12 AM Changeset in webkit [168176] by matthew_hanson@apple.com
  • 8 edits
    3 copies in branches/safari-537.76-branch

Merge r164917.

10:29 AM Changeset in webkit [168175] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

[iOS WK2] Animations on vox.com look wrong
https://bugs.webkit.org/show_bug.cgi?id=132462
<rdar://problem/16731884>

Reviewed by Sam Weinig.

PlatformCALayerRemote was managing animations incorrectly; aninations
would stick around in m_properties.addedAnimations and get added a second
time by mistake.

Animations have to be managed a little differently to other properties,
since they are not steady-state things. A given commit has to send over
the added and removed animations, and then clear the layer properties.

Do this by adding PlatformCALayerRemote::didCommit(), which is called
after the layer properties have been encoded, and have it clear the lists
of added and removed animations.

removeAnimationForKey() also has to remove the animation from addedAnimations
so that an add/remove in the same commit doesn't send the animation to the
UI process.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
(WebKit::PlatformCALayerRemote::didCommit):
(WebKit::PlatformCALayerRemote::removeAnimationForKey):

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

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

10:29 AM Changeset in webkit [168174] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Can't scroll on gatesnotes.com
https://bugs.webkit.org/show_bug.cgi?id=132459
<rdar://problem/16770909>

Reviewed by Benjamin Poulain.

The custom UIView hit-testing code was finding views that were created by
the compositing code for clipping, above the UIScrollViews. We only ever
need to find UIScrollViews here for touch overflow-scrolling, so constrain
the hit-testing code to only return UIScrollViews.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(-[UIView _recursiveFindDescendantScrollViewAtPoint:withEvent:]):
(-[UIView _findDescendantViewAtPoint:withEvent:]):
(-[UIView _recursiveFindDescendantViewAtPoint:withEvent:]): Deleted.

10:27 AM Changeset in webkit [168173] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

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

This test is still broken (Requested by ap on #webkit).

Reverted changeset:

"REGRESSION(r125251): It made svg/custom/use-instanceRoot-as-
event-target.xhtml assert and flakey"
https://bugs.webkit.org/show_bug.cgi?id=93812
http://trac.webkit.org/changeset/168150

10:23 AM Changeset in webkit [168172] by fpizlo@apple.com
  • 5 edits
    6 adds in trunk

DFGAbstractInterpreter should not claim Int52 arithmetic creates Int52s
https://bugs.webkit.org/show_bug.cgi?id=132446

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:
Basically any arithmetic operation can turn an Int52 into an Int32 or vice-versa, and
our modeling of Int52Rep nodes is such that they can have either Int32 or Int52 type
to indicate a bound on the value. This is useful for knowing, for example, that
Int52Rep(Int32:) returns a value that cannot be outside the Int32 range. Also,
ValueRep(Int52Rep:) uses this to determine whether it may return a double or an int.
But this means that all arithmetic operations must be careful to note that they may
turn Int32 inputs into an Int52 output or vice-versa, as these new tests show.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::makeSafe):

  • tests/stress/int52-ai-add-then-filter-int32.js: Added.

(foo):

  • tests/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js: Added.

(foo):

  • tests/stress/int52-ai-mul-then-filter-int32-directly.js: Added.

(foo):

  • tests/stress/int52-ai-mul-then-filter-int32.js: Added.

(foo):

  • tests/stress/int52-ai-neg-then-filter-int32.js: Added.

(foo):

  • tests/stress/int52-ai-sub-then-filter-int32.js: Added.

(foo):

Tools:
Test the FTL by default now that it's enabled by default.

  • Scripts/run-javascriptcore-tests:
9:19 AM Changeset in webkit [168171] by Chris Fleizach
  • 5 edits in trunk/Source/WebCore

AX: WK2: iOS web page scrolling doesn't work with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=132028

Reviewed by Mario Sanchez Prada.

With the AX tree residing in the WebProcess, scrolling needs to be implemented in
WebCore using accessibilityScroll: in order for accessibility clients to scroll through the AX API.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::scrollViewAncestor):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):

  • accessibility/AccessibilityObject.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityConvertPointToViewSpace:]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollToVisible]):
(-[WebAccessibilityObjectWrapper accessibilityScroll:]):
(-[WebAccessibilityObjectWrapper postScrollStatusChangeNotification]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollPosition]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollSize]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollVisibleRect]):

9:04 AM Changeset in webkit [168170] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebInspectorUI

Web Inspector: CodeMirror 4 CSS mode new state data structure breaks helpers.
https://bugs.webkit.org/show_bug.cgi?id=132149

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

The update to CodeMirror 4 included dramatic changes to the CSS mode,
particularly the way it handles tokens. state.stack is gone, replaced
by state.context.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • Tools/PrettyPrinting/codemirror.js:
  • UserInterface/External/CodeMirror/codemirror.js:
  • UserInterface/External/CodeMirror/livescript.js:
  • UserInterface/External/CodeMirror/runmode.js:

Updates from ToT CodeMirror.

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):

  • UserInterface/Views/CodeMirrorAdditions.js:
  • UserInterface/Views/CodeMirrorFormatters.js: lastToken is null now for ":" characters.

Changes to match structural changes to the state object and changes to expected values of lastToken.

6:52 AM Changeset in webkit [168169] by jeremyj@apple.com
  • 3 edits in trunk/Source/WebCore

Pause playback on exit fullscreen when inline playback not allowed.
https://bugs.webkit.org/show_bug.cgi?id=132450

Reviewed by Jer Noble.

Use correct method of determining if inline playback is allowed.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):
Use m_mediaSession->requiresFullscreenForVideoPlayback to detect if inline playback is allowed.

  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::requestExitFullscreen):
Prevent duplicate exit requests.

5:03 AM Changeset in webkit [168168] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r168118): [GTK] build broken due to shouldTrackVisitedLinks
https://bugs.webkit.org/show_bug.cgi?id=132447

Unreviewed GTK build fix.

shouldTrackVisitedLinks was removed on r168118.
Visited link coloring works as expected after this change.

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

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess): Remove
shouldTrackVisitedLinks parameter.

2:35 AM Changeset in webkit [168167] by commit-queue@webkit.org
  • 33 edits in trunk

[CSS Blending] Remove support for non-separable blend modes from background-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=132327

Patch by Ion Rosca <Ion Rosca> on 2014-05-02
Reviewed by Dean Jackson.

Source/WebCore:
Removed support for non-separable background blend modes from the CSS parser.
Covered by existing tests.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillProperty):

LayoutTests:

  • css3/compositing/background-blend-mode-gif-color-2.html:
  • css3/compositing/background-blend-mode-gif-color.html:
  • css3/compositing/background-blend-mode-gradient-color.html:
  • css3/compositing/background-blend-mode-gradient-gradient.html:
  • css3/compositing/background-blend-mode-gradient-image.html:
  • css3/compositing/background-blend-mode-image-color.html:
  • css3/compositing/background-blend-mode-image-image.html:
  • css3/compositing/background-blend-mode-image-svg.html:
  • css3/compositing/background-blend-mode-multiple-background-layers.html:
  • css3/compositing/background-blend-mode-property-expected.txt:
  • css3/compositing/background-blend-mode-property-parsing-expected.txt:
  • css3/compositing/background-blend-mode-svg-color.html:
  • css3/compositing/effect-background-blend-mode-tiled.html:
  • css3/compositing/effect-background-blend-mode.html:
  • css3/compositing/script-tests/background-blend-mode-property-parsing.js:
  • css3/compositing/script-tests/background-blend-mode-property.js:
  • platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.png:
  • platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.txt:
  • platform/mac/css3/compositing/background-blend-mode-gif-color-expected.png:
  • platform/mac/css3/compositing/background-blend-mode-gif-color-expected.txt:
  • platform/mac/css3/compositing/background-blend-mode-gradient-color-expected.png:
  • platform/mac/css3/compositing/background-blend-mode-gradient-gradient-expected.png:
  • platform/mac/css3/compositing/background-blend-mode-gradient-image-expected.png:
  • platform/mac/css3/compositing/background-blend-mode-image-color-expected.png:
  • platform/mac/css3/compositing/background-blend-mode-image-color-expected.txt:
  • platform/mac/css3/compositing/background-blend-mode-image-image-expected.png:
  • platform/mac/css3/compositing/background-blend-mode-image-image-expected.txt:
  • platform/mac/css3/compositing/background-blend-mode-image-svg-expected.png:
  • platform/mac/css3/compositing/background-blend-mode-multiple-background-layers-expected.png:
  • platform/mac/css3/compositing/background-blend-mode-svg-color-expected.png:
1:59 AM Changeset in webkit [168166] by gyuyoung.kim@samsung.com
  • 15 edits in trunk/Source/WebCore

Clean up #include <OwnPtr.h>|<PassOwnPtr.h> in Supplementable classes
https://bugs.webkit.org/show_bug.cgi?id=132466

Reviewed by Tim Horton.

Since r168144, Supplementable classes don't need to include OwnPtr.h or PassOwnPtr.h.
Clean up those inclusions.

No new tests, just clean up patch.

  • Modules/encryptedmedia/CDMPrivate.h:
  • Modules/gamepad/NavigatorGamepad.cpp:
  • Modules/geolocation/GeolocationController.cpp:

(WebCore::GeolocationController::create): Deleted. Don't need to have a factory function.

  • Modules/geolocation/GeolocationController.h:
  • Modules/mediasource/MediaSource.h:
  • Modules/mediastream/UserMediaController.h:
  • Modules/notifications/NotificationCenter.h:
  • Modules/notifications/NotificationController.cpp:
  • Modules/quota/StorageErrorCallback.h:
  • Modules/vibration/Vibration.h:
  • Modules/webdatabase/Database.cpp:
  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
  • Modules/websockets/WebSocket.cpp:
  • Modules/websockets/WebSocket.h:
12:39 AM Changeset in webkit [168165] by bshafiei@apple.com
  • 4 edits in tags/Safari-538.33.1/Source/WebKit

Merged r168138.

12:35 AM Changeset in webkit [168164] by bshafiei@apple.com
  • 1 edit in tags/Safari-538.33.1/Source/WebKit/WebKit.xcodeproj/project.pbxproj

Re-merged r168073.

12:34 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
12:34 AM Changeset in webkit [168163] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.33.1/Source/WebKit

Re-merged r168072.

12:33 AM Changeset in webkit [168162] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.33.1/Source/WebKit

Re-merged r168071.

12:32 AM Changeset in webkit [168161] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.33.1/Source/WebKit

Re-merged r168062.

12:30 AM Changeset in webkit [168160] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.33.1/Source/WebKit

Re-merged r168061.

12:27 AM Changeset in webkit [168159] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.33.1/Source/WebKit

Re-merged r168058.

12:24 AM Changeset in webkit [168158] by bshafiei@apple.com
  • 132 edits
    4 copies
    2 deletes in tags/Safari-538.33.1

Re-merged r168047.

May 1, 2014:

11:23 PM Changeset in webkit [168157] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

More 32-bit build fixes.

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController sharingService:didShareItems:]):

11:17 PM Changeset in webkit [168156] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.33.1/Source

Versioning.

11:15 PM Changeset in webkit [168155] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.33.1

New tag.

10:55 PM Changeset in webkit [168154] by mitz@apple.com
  • 1 edit in trunk/Source/bmalloc/ChangeLog

Added Radar link to the last ChangeLog entry.

10:55 PM Changeset in webkit [168153] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Temporarily "fix" the 32-bit build.

  • Misc/WebSharingServicePickerController.mm:

This will fail miserably at runtime, but we shouldn't ever get here in a 32-bit process.

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

Fixed production builds for the iOS Simulator.

  • Configurations/bmalloc.xcconfig: Include INSTALL_PATH_PREFIX in

PRIVATE_HEADERS_FOLDER_PATH when installing.

10:49 PM Changeset in webkit [168151] by ryuan.choi@samsung.com
  • 6 edits in trunk/Source/WebCore

Remove TiledBackingStore stuff from Frame
https://bugs.webkit.org/show_bug.cgi?id=132458

Reviewed by Andreas Kling.

Although TiledBackingStore is using for the CoordinatedGraphics,
CoordinatedGraphics does not use tiledBackingStore of Frame.

This patch removed TiledBackingStore related code of the Frame.

  • page/Frame.cpp:

(WebCore::Frame::Frame):
(WebCore::Frame::setView):
(WebCore::Frame::setTiledBackingStoreEnabled): Deleted.
(WebCore::Frame::tiledBackingStorePaintBegin): Deleted.
(WebCore::Frame::tiledBackingStorePaint): Deleted.
(WebCore::Frame::tiledBackingStorePaintEnd): Deleted.
(WebCore::Frame::tiledBackingStoreContentsRect): Deleted.
(WebCore::Frame::tiledBackingStoreVisibleRect): Deleted.
(WebCore::Frame::tiledBackingStoreBackgroundColor): Deleted.

  • page/Frame.h:

(WebCore::Frame::tiledBackingStore): Deleted.

  • page/FrameView.cpp:

(WebCore::FrameView::repaintContentRectangle):

  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setTiledBackingStoreEnabled): Deleted.

  • page/Settings.h:

(WebCore::Settings::tiledBackingStoreEnabled): Deleted.

10:19 PM Changeset in webkit [168150] by ap@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION(r125251): It made svg/custom/use-instanceRoot-as-event-target.xhtml assert and flakey
https://bugs.webkit.org/show_bug.cgi?id=93812

This is most likely fixed, unmarking the test.

  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
9:28 PM Changeset in webkit [168149] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.30.3/WebKitLibraries

Merged r168143.

9:23 PM Changeset in webkit [168148] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

Migrate all uses of DeviceMotionController and DeviceOrientationController to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=132461

Unreviewed build fix.

No new tests.

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:
  • platform/ios/DeviceMotionClientIOS.h:

(WebCore::DeviceMotionClientIOS::create): Deleted.

  • platform/ios/DeviceOrientationClientIOS.h:

(WebCore::DeviceOrientationClientIOS::create): Deleted.

9:12 PM Changeset in webkit [168147] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.30.3/Source

Versioning.

9:09 PM Changeset in webkit [168146] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.30.3

New tag.

8:31 PM Changeset in webkit [168145] by beidson@apple.com
  • 4 edits in trunk/Source/WebKit/mac

Update service picker API usage.
<rdar://problem/16772674> and https://bugs.webkit.org/show_bug.cgi?id=132452

Reviewed by Tim Horton.

  • Misc/WebSharingServicePickerController.h:
  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController didShareImageData:confirmDataIsValidTIFFData:]):

Factor out a common "didShare" handler that optionally validates whether the data represents an image.

(-[WebSharingServicePickerController sharingService:didShareItems:]): Update API usage, including marshalling

on off-main thread call back to the main thread.

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::contextMenuForEvent): Update API usage.

7:28 PM Changeset in webkit [168144] by gyuyoung.kim@samsung.com
  • 48 edits in trunk/Source/WebCore

Convert OwnPtr and PassOwnPtr uses to std::unique_ptr in Supplement
https://bugs.webkit.org/show_bug.cgi?id=132165

Reviewed by Darin Adler.

According to convert from PassOwnPtr to std::unique_ptr, provideTo() callers also begin
to use std::make_unique.

  • Modules/battery/BatteryController.cpp:

(WebCore::provideBatteryTo):

  • Modules/battery/BatteryController.h:
  • Modules/battery/NavigatorBattery.cpp:

(WebCore::NavigatorBattery::from):

  • Modules/gamepad/NavigatorGamepad.cpp:

(WebCore::NavigatorGamepad::from):

  • Modules/geolocation/GeolocationController.cpp:

(WebCore::provideGeolocationTo):

  • Modules/geolocation/GeolocationController.h:
  • Modules/geolocation/NavigatorGeolocation.cpp:

(WebCore::NavigatorGeolocation::from):

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::from):

  • Modules/indexeddb/PageGroupIndexedDatabase.cpp:

(WebCore::PageGroupIndexedDatabase::from):

  • Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:

(WebCore::WorkerGlobalScopeIndexedDatabase::from):

  • Modules/mediastream/UserMediaController.cpp:

(WebCore::provideUserMediaTo):
(WebCore::UserMediaController::create): Deleted.

  • Modules/mediastream/UserMediaController.h:
  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::provideNavigatorContentUtilsTo):
(WebCore::NavigatorContentUtils::create): Deleted.

  • Modules/navigatorcontentutils/NavigatorContentUtils.h:
  • Modules/notifications/DOMWindowNotifications.cpp:

(WebCore::DOMWindowNotifications::from):

  • Modules/notifications/NotificationController.cpp:

(WebCore::provideNotification):
(WebCore::NotificationController::create): Deleted.

  • Modules/notifications/NotificationController.h:
  • Modules/notifications/WorkerGlobalScopeNotifications.cpp:

(WebCore::WorkerGlobalScopeNotifications::from):

  • Modules/proximity/DeviceProximityController.cpp:

(WebCore::provideDeviceProximityTo):
(WebCore::DeviceProximityController::create): Deleted.

  • Modules/proximity/DeviceProximityController.h:
  • Modules/quota/DOMWindowQuota.cpp:

(WebCore::DOMWindowQuota::from):

  • Modules/quota/NavigatorStorageQuota.cpp:

(WebCore::NavigatorStorageQuota::from):

  • Modules/quota/WorkerNavigatorStorageQuota.cpp:

(WebCore::WorkerNavigatorStorageQuota::from):

  • Modules/speech/DOMWindowSpeechSynthesis.cpp:

(WebCore::DOMWindowSpeechSynthesis::from):

  • Modules/speech/SpeechRecognitionController.cpp:

(WebCore::provideSpeechRecognitionTo):

  • Modules/vibration/Vibration.cpp:

(WebCore::provideVibrationTo):
(WebCore::Vibration::create): Deleted.

  • Modules/vibration/Vibration.h:
  • dom/DeviceMotionController.cpp:

(WebCore::provideDeviceMotionTo):
(WebCore::DeviceMotionController::create): Deleted.

  • dom/DeviceMotionController.h:
  • dom/DeviceOrientationController.cpp:

(WebCore::provideDeviceOrientationTo):
(WebCore::DeviceOrientationController::create): Deleted.

  • dom/DeviceOrientationController.h:
  • page/SpeechInput.cpp:

(WebCore::provideSpeechInputTo):
(WebCore::SpeechInput::create): Deleted.

  • page/SpeechInput.h:
  • platform/Supplementable.h:

(WebCore::Supplement::provideTo):
(WebCore::Supplementable::provideSupplement):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::from):

6:45 PM Changeset in webkit [168143] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

Correct case of environment variables in auto-version.sh scripts
https://bugs.webkit.org/show_bug.cgi?id=132455

Reviewed by Dean Jackson.

Although we have historically used RC_PROJECTSOURCEVERSION in our scripts,
the actual environment variable is RC_ProjectSourceVersion. Old versions of
Cygwin converted this to all-caps by default, but this is no longer the case.
We need to use the proper case to avoid build failures.

  • win/tools/scripts/auto-version.sh: Although we have historically coded

this as 'RC_PROJECTSOURCEVERSION', it is actually 'RC_ProjectSourceVersion'.

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

REGRESSION (WebKit2) Need to support Learn button.
https://bugs.webkit.org/show_bug.cgi?id=132454
<rdar://problem/16778889>

Reviewed by Benjamin Poulain.

For traditional Chinese we support the ability to add shortcuts
for typing. This is done by pressing the Learn button on the system
menu. This patch adds the necessary code to canPerformAction to enable
the button when appropriate as well as the implementation of the action
itself.
It also adds a check for the Replace button not to be shown when the
selection only contains CJ characters.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _addShortcut:]):
(-[WKContentView canPerformAction:withSender:]):

6:28 PM Changeset in webkit [168141] by Lucas Forschler
  • 3 edits in tags/Safari-538.33/Source/WebCore

Merged r168113.

6:26 PM Changeset in webkit [168140] by Lucas Forschler
  • 5 edits in tags/Safari-538.33

Merged r168088.

6:21 PM Changeset in webkit [168139] by ryuan.choi@samsung.com
  • 7 edits in trunk

[EFL][WK1] Drop ewk_view_setting_tiled_backingstore APIs
https://bugs.webkit.org/show_bug.cgi?id=132240

Reviewed by Anders Carlsson.

Source/WebKit/efl:
Since we moved to use TextureMapper, this option is meaningless now.
Removed ewk_view_setting_tiled_backing_store_enabled_{get|set} and related codes.

  • ewk/ewk_view.cpp:

(ewk_view_setting_tiled_backing_store_enabled_set): Deleted.
(ewk_view_setting_tiled_backing_store_enabled_get): Deleted.

  • ewk/ewk_view.h:
  • tests/test_ewk_view.cpp:

(TEST_F): Deleted.

Tools:
Removed ewk_view_setting_tiled_backingstore related code.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::createView):
(shouldUseTiledBackingStore): Deleted.

  • EWebLauncher/main.c:

(windowCreate):
(parseUserArguments):

5:34 PM Changeset in webkit [168138] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit

Support OS-version-specific install paths for WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=132448
<rdar://problem/16784932>

Reviewed by Dan Bernstein.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Add a build step to put a symlink in place from PrivateFrameworks to Frameworks.

Source/WebKit/mac:

  • WebKitLegacy/WebKit.m:

Add version specific install names.

5:28 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:04 PM Changeset in webkit [168137] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

HTMLMediaElement: Remove two unnecessary virtual overrides.
<https://webkit.org/b/132445>

Now that ENABLE_PLUGIN_PROXY_FOR_VIDEO is gone, we can remove
these overrides:

  • defaultEventHandler()
  • willRespondToMouseClickEvents()

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:
  • html/HTMLMediaElement.h:
4:59 PM Changeset in webkit [168136] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

ViewportConfiguration::minimumScale() uses the initial scale as initial value
https://bugs.webkit.org/show_bug.cgi?id=132451
<rdar://problem/16780111>

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

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::minimumScale):
The initial minimum scale was set to the initial scale, preventing some pages from zooming
out.

4:59 PM Changeset in webkit [168135] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Tweak the extended background exclusion for MobileSafari
https://bugs.webkit.org/show_bug.cgi?id=132449

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-01
Reviewed by Beth Dakin.

Some tweaks for Mobile:
-Use UIViews instead of CALayers to have the same animation timing as the top views.
-The left extended background insets should not exclude the top and bottom insets.

Since this code is in the middle of 2 hot paths, also added some performance tweaks.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
In the normal case, we do not have extended background exclusion. To avoid creating a background view, we use
the scrollview to render the background.
The separate background view is created lazily if needed.

(-[WKWebView _updateScrollViewBackground]):
(-[WKWebView _frameOrBoundsChanged]):
(updateTopAndBottomExtendedBackgroundExclusionIfNecessary):
This create the top and bottom extended background view as needed and update their frames for the current insets.

(-[WKWebView _setObscuredInsets:]):
(-[WKWebView _setExtendedBackgroundExclusionInsets:]):
When an exclusion inset is needed, create a view for it, transfer the color from the ScrollView, and reset the color
of the scrollview.

4:55 PM Changeset in webkit [168134] by Lucas Forschler
  • 132 edits
    2 copies
    4 deletes in tags/Safari-538.33

Rollout of r168047.

4:53 PM Changeset in webkit [168133] by Lucas Forschler
  • 2 edits in tags/Safari-538.33/Source/WebKit

Rollout of r168058.

4:52 PM Changeset in webkit [168132] by Lucas Forschler
  • 2 edits in tags/Safari-538.33/Source/WebKit

Rollout of r168061.

4:52 PM Changeset in webkit [168131] by Lucas Forschler
  • 2 edits in tags/Safari-538.33/Source/WebKit

Rollout of r168062.

4:49 PM Changeset in webkit [168130] by Lucas Forschler
  • 2 edits in tags/Safari-538.33/Source/WebKit

Rollout of r168071.

4:48 PM Changeset in webkit [168129] by Lucas Forschler
  • 2 edits in tags/Safari-538.33/Source/WebKit

Rollout of r168072.

4:48 PM Changeset in webkit [168128] by Lucas Forschler
  • 2 edits in tags/Safari-538.33/Source/WebKit

Rollout of r168073.

4:19 PM Changeset in webkit [168127] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for !ENABLE(BLOB) builds.

  • fileapi/ThreadableBlobRegistry.cpp:

(WebCore::ThreadableBlobRegistry::registerBlobURL):
(WebCore::ThreadableBlobRegistry::registerBlobURLForSlice):

4:09 PM Changeset in webkit [168126] by ap@apple.com
  • 23 edits in trunk/Source

Move size computation for Blob constructor into BlobRegistryImpl
https://bugs.webkit.org/show_bug.cgi?id=132439

Reviewed by Sam Weinig.

Source/WebCore:

  • Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::didReceiveBinaryData):

Don't pass the size, anyone who cares can get it from BlobData.

  • bindings/js/JSBlobCustom.cpp: (WebCore::JSBlobConstructor::constructJSBlob):

Updated for BlobBuilder changes.

  • fileapi/Blob.cpp: (WebCore::Blob::Blob):
  • fileapi/Blob.h: (WebCore::Blob::create):

No longer take a precomputed size with BlobData, BlobRegistry will compute it as
part of registration.

  • fileapi/File.h:
  • fileapi/File.cpp:

(WebCore::File::File): Don't pass a size (that's unknown anyway).
(WebCore::File::captureSnapshot): Deleted. Finally, only the registry is responsible
for snapshot tracking now (I doubt that either new or old code is particularly compliant).

  • fileapi/ThreadableBlobRegistry.cpp:

(WebCore::ThreadableBlobRegistry::registerBlobURL):

  • fileapi/ThreadableBlobRegistry.h:

Plumbing to make this version of registerBlobURL return a size. I may make size
calculation lazy and the function async later, but this is needed to move the behavior
to the right place first.

  • fileapi/WebKitBlobBuilder.h:
  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::BlobBuilder::BlobBuilder):
(WebCore::BlobBuilder::append):
(WebCore::BlobBuilder::appendBytesData):
(WebCore::BlobBuilder::finalize):
(WebCore::BlobBuilder::getBlob): Deleted.
Don't track sizes or modification times, registry will do that with appropriate laziness.
Cleaned up the API - now that BlobBuilder is not exposed to JS as an object, it
does not need to be reusable.

  • platform/network/BlobRegistry.h: Made this version of registerBlobURL return a size.
  • platform/network/BlobRegistryImpl.h:
  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::appendStorageItems): Assert that length computations are accurate.
(WebCore::BlobRegistryImpl::registerBlobURL): Compute a size to return, and record
modification time as necessary.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseBlob): Don't pass the

size, which can be computed from data. Soon, I want to add a constructor that doesn't
require wrapping a single Vector as BlobData to construct a Blob.

Source/WebKit2:
Plumbing to make this version of registerBlobURL synchronous for now.
I expect to make it async again when data structures on client side are simplified.

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerBlobURL):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::registerBlobURL):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerBlobURL):

  • WebProcess/FileAPI/BlobRegistryProxy.h:
3:54 PM Changeset in webkit [168125] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] audio and video should automatically play to active external device
https://bugs.webkit.org/show_bug.cgi?id=132428

Reviewed by Jer Noble.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Set

AVPlayer.usesExternalPlaybackWhileExternalScreenIsActive.

3:53 PM Changeset in webkit [168124] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

REGRESSION(168053): Repro crash navigating to another page after selecting phone
numbers on a page
https://bugs.webkit.org/show_bug.cgi?id=132444
-and corresponding-
<rdar://problem/16787285>

Reviewed by Darin Adler.

Missing null-check.

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:

(WebKit::TelephoneNumberOverlayController::drawRect):

3:03 PM Changeset in webkit [168123] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Remove WKBundleSetShouldTrackVisitedLinks and associate code
https://bugs.webkit.org/show_bug.cgi?id=132441

Reviewed by Sam Weinig.

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetShouldTrackVisitedLinks): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setShouldTrackVisitedLinks): Deleted.

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/WebPage/VisitedLinkTableController.cpp:

(WebKit::VisitedLinkTableController::addVisitedLink):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::setShouldTrackVisitedLinks): Deleted.

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::shouldTrackVisitedLinks): Deleted.

2:57 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:53 PM Changeset in webkit [168122] by andersca@apple.com
  • 8 edits in trunk

window.testRunner.keepWebHistory() should update the UI process state
https://bugs.webkit.org/show_bug.cgi?id=132440

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/C/WKPage.cpp:

(WKPageGetAddsVisitedLinks):
(WKPageSetAddsVisitedLinks):

  • UIProcess/API/C/WKPagePrivate.h:

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::postSetAddsVisitedLinks):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::keepWebHistory):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

2:44 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:00 PM Changeset in webkit [168121] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION (r168046): [New Multicolumn] Selection into and out of column-span elements doesn't work
https://bugs.webkit.org/show_bug.cgi?id=132066

Reviewed by Oliver Hunt.

Make a new SelectionIterator struct that knows how to drill into and out of
column span placeholders. Also change spans to be selection roots (in the painting
sense).

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::selectionGaps):

  • rendering/RenderView.cpp:

(WebCore::SelectionIterator::SelectionIterator):
(WebCore::SelectionIterator::checkForSpanner):
(WebCore::SelectionIterator::current):
(WebCore::SelectionIterator::next):
(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::setSubtreeSelection):

1:56 PM Changeset in webkit [168120] by fpizlo@apple.com
  • 3 edits in trunk/Source/WebKit2

Roll out r60161.

Rubber stamped by Mark Hahnenberg.

This breaks our debugging workflow.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::decode):

  • UIProcess/mac/WebContextMac.mm:

(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):

1:56 PM Changeset in webkit [168119] by Simon Fraser
  • 9 edits
    6 adds in trunk

Don't always make backing store for -webkit-backface-visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=132420

Reviewed by Sam Weinig.

Source/WebCore:
Previously, -webkit-backface-visibility:hidden unconditionally created
compositing layers with backing store. This results in high memory use
on pages with this style applied to many elements (a cargo-cult "optimization").

Fix by only having -webkit-backface-visibility:hidden create compositing layers
if some ancestor has a 3D transform. That's the only scenario in which the
element can be flipped around to reveal the back side, so the only time we need
to do compositing for this property. In future, we could be smarter, and only
consider 3D transforms in the current preserve-3d context.

Tests: compositing/backing/backface-visibility-in-3dtransformed.html

compositing/backing/backface-visibility-in-transformed.html
compositing/backing/backface-visibility.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::hitTestLayer):

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

(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::requiresOwnBackingStore):
(WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility):

  • rendering/RenderLayerCompositor.h:

LayoutTests:
Dump layers for elements with backface-visibility: hidden with various types
of ancestors.

  • compositing/backing/backface-visibility-expected.txt: Added.
  • compositing/backing/backface-visibility-in-3dtransformed-expected.txt: Added.
  • compositing/backing/backface-visibility-in-3dtransformed.html: Added.
  • compositing/backing/backface-visibility-in-transformed-expected.txt: Added.
  • compositing/backing/backface-visibility-in-transformed.html: Added.
  • compositing/backing/backface-visibility.html: Added.
  • inspector-protocol/layers/layers-anonymous.html: Don't use backface-visibility

for force a layer.

1:39 PM Changeset in webkit [168118] by andersca@apple.com
  • 21 edits in trunk/Source/WebKit2

WKWebView doesn't track visited links (for visited link coloring)
https://bugs.webkit.org/show_bug.cgi?id=132438
<rdar://problem/16704519>

Reviewed by Dan Bernstein.

  • Shared/WebProcessCreationParameters.cpp:

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

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/APIHistoryClient.h:

(API::HistoryClient::addsVisitedLinks):
(API::HistoryClient::shouldTrackVisitedLinks): Deleted.

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetHistoryClient):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _addsVisitedLinks]):
(-[WKWebView _setAddsVisitedLinks:]):

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

(-[WKView initWithFrame:context:configuration:webView:]):

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

(WebKit::HistoryClient::shouldTrackVisitedLinks): Deleted.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::addVisitedLinkHashFromPage):

  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/VisitedLinkProvider.messages.in:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::setHistoryClient):
(WebKit::WebContext::createNewWebProcess):

  • UIProcess/WebContext.h:

(WebKit::WebContext::processes):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::addsVisitedLinks):
(WebKit::WebPageProxy::setAddsVisitedLinks):

  • WebProcess/WebPage/VisitedLinkTableController.cpp:

(WebKit::VisitedLinkTableController::addVisitedLink):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
1:32 PM Changeset in webkit [168117] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] The highlight view needs to be in WKWebView coordinates
https://bugs.webkit.org/show_bug.cgi?id=132435
<rdar://problem/16708861>

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

_UIHighlightView needs to be in WKWebView coordinates so that it render unscaled for any page scale factor.
The view needs to be a child of WKContentView so that it moves/scales with the page.

To fix the issue, add an inverse transform root layer for the hightlight, and scale the coordinates to their
inverse scaled counterpart.

The scale is not updated live with the scaling of WKContentView but that should be fine since the view disappear
on any scaling operation (and I would prefer not add live painting during scaling animation).

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

(-[WKContentView cleanupInteraction]):
(-[WKContentView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):
(-[WKContentView _cancelInteraction]):

1:03 PM Changeset in webkit [168116] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JavaScriptCore fails to build with some versions of clang
https://bugs.webkit.org/show_bug.cgi?id=132436

Reviewed by Anders Carlsson.

  • runtime/ArgumentsIteratorConstructor.cpp: Since we call

putDirectWithoutTransition, and it calls putWillGrowOutOfLineStorage,
and both are marked inline, it's valid for the compiler to decide
to inline both and emit neither in the binary. Therefore, we need
both inline definitions to be available in the translation unit at
compile time, or we'll try to link against a function that doesn't exist.

12:24 PM Changeset in webkit [168115] by achristensen@apple.com
  • 6 edits
    80 adds
    24 deletes in trunk/Source

Finish updating ANGLE.
https://bugs.webkit.org/show_bug.cgi?id=132434

Reviewed by Dean Jackson.

Source/ThirdParty/ANGLE:

  • ANGLE.xcodeproj/project.pbxproj:

Removed Uniform.cpp which is no longer in ANGLE.

  • changes.diff:

Added more changes from ANGLE which are already included in WebKit.

Updated ANGLE source files to e7a453a5bd76705ccb151117fa844846d4aa90af. Long list of changes omitted.

Source/WebCore:

  • CMakeLists.txt:

Removed Uniform.cpp which is no longer in ANGLE.

12:23 PM Changeset in webkit [168114] by matthew_hanson@apple.com
  • 11 edits in tags/Safari-538.33

Rollout r167964.

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

REGRESSION (new multi-column): WebKit2.ResizeReversePaginatedWebView fails on debug bots
https://bugs.webkit.org/show_bug.cgi?id=132429

Reviewed by Alexey Proskuryakov.

Make sure to get the column count directly from the column set.
I was returning the theoretical column count from the flow thread,
and that wasn't the right value.

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

(WebCore::RenderView::pageCount):

12:02 PM Changeset in webkit [168112] by Brent Fulgham
  • 6 edits
    2 adds in trunk

Fix handling of attributes prior to compiling shader
https://bugs.webkit.org/show_bug.cgi?id=132430

Reviewed by Dean Jackson.

Source/WebCore:
WebGL programs that called bindAttribLocations prior to compiling shader sources
would perform the bind using the non-hashed symbol name, but would later create
the attributes as hashed names. Consequently, the program would refer to
attributes that were never actually part of any shader, resulting in some amazing
display artifacts.

This patch adds a dictionary of hashed symbol names so that we can tell the WebGL
program the proper name that will be used when the shader is eventually compiled,
allowing the WebGL program to link against the proper symbol after compiling and
linking completes.

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::generateHashedName): Function uses the ANGLE hashing
function to generate correct symbol.
(WebCore::GraphicsContext3D::mappedSymbolName): If we haven't compiled shaders yet, look
in our set of potentially unused attributes.
(WebCore::GraphicsContext3D::originalSymbolName): Ditto, for reverse lookup.

Source/WTF:
WebGL programs that called bindAttribLocations prior to compiling shader sources
would perform the bind using the non-hashed symbol name, but would later create
the attributes as hashed names. Consequently, the program would refer to
attributes that were never actually part of any shader, resulting in some amazing
display artifacts.

This patch adds a dictionary of hashed symbol names so that we can tell the WebGL
program the proper name that will be used when the shader is eventually compiled,
allowing the WebGL program to link against the proper symbol after compiling and
linking completes.

  • wtf/HexNumber.h:

(WTF::appendUnsigned64AsHex): Add uint64_t-compatible hex->string converter.

LayoutTests:

  • fast/canvas/webgl/gl-bind-attrib-location-before-compile-test-expected.txt: Added.
  • fast/canvas/webgl/gl-bind-attrib-location-before-compile-test.html: Added.
11:49 AM Changeset in webkit [168111] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: Make selection gaps painting subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=132169

Reviewed by Simon Fraser.

Push selection gaps painting to device pixel boundaries instead of integral CSS pixel positions.

Source/WebCore:
Test: fast/inline/hidpi-selection-gap-on-subpixel-position.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):

LayoutTests:

  • fast/inline/hidpi-selection-gap-on-subpixel-position-expected.html: Added.
  • fast/inline/hidpi-selection-gap-on-subpixel-position.html: Added. : &nbsp is needed to make

this test pass on WK2. Font rendering reports differences. 0.9 transparency is added so that
text selection code does modify the color's alpha channel and I can properly match it.

11:31 AM Changeset in webkit [168110] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Link against bmalloc in production builds
https://bugs.webkit.org/show_bug.cgi?id=132413

Reviewed by Sam Weinig.

Production builders have been configured to handle this, so let's build
it.

  • Configurations/WTF.xcconfig:
11:20 AM Changeset in webkit [168109] by ddkilzer@apple.com
  • 7 edits in trunk

Really remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
<http://webkit.org/b/132432>

Reviewed by Tim Horton.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:
  • Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO as build option.

Source/WebCore:

  • platform/graphics/wince/MediaPlayerPrivateWinCE.h: Remove

methods and ivar in ENABLE(PLUGIN_PROXY_FOR_VIDEO).

Tools:

  • Scripts/webkitperl/FeatureList.pm: Remove support for

--plugin-proxy-for-video switch.

10:48 AM Changeset in webkit [168108] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[CSS Grid Layout] Clamping the number of repetitions in repeat()
https://bugs.webkit.org/show_bug.cgi?id=131023

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-05-01
Reviewed by Brent Fulgham.

Source/WebCore:
The ED suggests now to be able to clamp the number of repetitions when
using the repeat() function, taking precautions about excessive memory
usage.

The implemented max repetitions is 10K.

Test: fast/css-grid-layout/grid-element-repeat-max-repetitions.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTrackRepeatFunction):

LayoutTests:
Test to ensure the number of repetitions used in the repeat() function
is clamped to 10K.

  • fast/css-grid-layout/grid-element-repeat-max-repetitions-expected.txt: Added.
  • fast/css-grid-layout/grid-element-repeat-max-repetitions.html: Added.
10:26 AM Changeset in webkit [168107] by commit-queue@webkit.org
  • 11 edits in trunk

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

Memory improvements should not regress memory usage (Requested
by olliej on #webkit).

Reverted changeset:

"Don't hold on to parameter BindingNodes forever"
https://bugs.webkit.org/show_bug.cgi?id=132360
http://trac.webkit.org/changeset/167964

9:42 AM Changeset in webkit [168106] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/multicol/fixed-stack.html failing since introduction.
https://bugs.webkit.org/show_bug.cgi?id=132421

9:38 AM Changeset in webkit [168105] by matthew_hanson@apple.com
  • 7 edits
    2 copies in branches/safari-537.76-branch

Merge r167295.

9:25 AM Changeset in webkit [168104] by matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.76-branch

Merge r166736.

9:06 AM Changeset in webkit [168103] by matthew_hanson@apple.com
  • 3 edits
    4 copies in branches/safari-537.76-branch

Merge r167480.

8:55 AM Changeset in webkit [168102] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/Source/WebCore

Merge r167524.

8:48 AM Changeset in webkit [168101] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix trivial debug-only race-that-crashes in CallLinkStatus and explain why the remaining races are totally awesome
https://bugs.webkit.org/show_bug.cgi?id=132427

Reviewed by Mark Hahnenberg.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

8:46 AM Changeset in webkit [168100] by matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.76-branch

Merge r167672.

8:43 AM Changeset in webkit [168099] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] Seeking between two buffered ranges enquues incorrect buffers.
https://bugs.webkit.org/show_bug.cgi?id=132416

Reviewed by Eric Carlson.

std::equal_range(begin, end, value) will return an empty range if equal values cannot
be found. But the range is not necessarily [end, end). It may be some other value n,
such that the empty range is [n, n). Check to see if the returned range is empty in
findSampleContainingPresentationTime() and its reverse version, and if so, explicitly
return presentationEnd() or reversePresentationEnd() respectively.

Drive-by fix: make the comparator functions take const& arguments to minimize object
creation.

  • Modules/mediasource/SampleMap.cpp:

(WebCore::SampleIsLessThanMediaTimeComparator::operator()):
(WebCore::SampleIsGreaterThanMediaTimeComparator::operator()):
(WebCore::SampleMap::findSampleContainingPresentationTime):
(WebCore::SampleMap::reverseFindSampleContainingPresentationTime):

8:39 AM Changeset in webkit [168098] by matthew_hanson@apple.com
  • 4 edits in branches/safari-537.76-branch

Merge r167569 (committing on behalf of Dana Burkart.)

8:34 AM Changeset in webkit [168097] by commit-queue@webkit.org
  • 128 edits
    20 adds in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.
Rebaseline affected tests by the new multi-column mode that was
enabled on r168046, and later modified on r168076 and r168088.

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

  • platform/gtk/TestExpectations: Include two new flaky tests after

the new multi-colum mode and remove expectations for the ones that
now pass.

  • platform/gtk/css3/unicode-bidi-isolate-basic-expected.txt:
  • platform/gtk/fast/block/float/float-not-removed-from-next-sibling4-expected.png:
  • platform/gtk/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
  • platform/gtk/fast/borders/border-antialiasing-expected.txt:
  • platform/gtk/fast/line-grid/line-grid-inside-columns-expected.txt:
  • platform/gtk/fast/line-grid/line-grid-into-columns-expected.txt:
  • platform/gtk/fast/multicol/block-axis-horizontal-bt-expected.txt:
  • platform/gtk/fast/multicol/block-axis-horizontal-tb-expected.txt:
  • platform/gtk/fast/multicol/block-axis-vertical-lr-expected.txt:
  • platform/gtk/fast/multicol/block-axis-vertical-rl-expected.txt:
  • platform/gtk/fast/multicol/border-padding-pagination-expected.png:
  • platform/gtk/fast/multicol/border-padding-pagination-expected.txt:
  • platform/gtk/fast/multicol/client-rects-expected.png:
  • platform/gtk/fast/multicol/client-rects-expected.txt:
  • platform/gtk/fast/multicol/client-rects-spanners-complex-expected.txt: Added.
  • platform/gtk/fast/multicol/client-rects-spanners-expected.txt: Added.
  • platform/gtk/fast/multicol/column-break-with-balancing-expected.txt:
  • platform/gtk/fast/multicol/column-count-with-rules-expected.txt:
  • platform/gtk/fast/multicol/column-rules-expected.png:
  • platform/gtk/fast/multicol/column-rules-expected.txt:
  • platform/gtk/fast/multicol/column-rules-stacking-expected.png:
  • platform/gtk/fast/multicol/column-rules-stacking-expected.txt:
  • platform/gtk/fast/multicol/columns-shorthand-parsing-expected.txt:
  • platform/gtk/fast/multicol/float-avoidance-expected.txt:
  • platform/gtk/fast/multicol/float-multicol-expected.png:
  • platform/gtk/fast/multicol/float-multicol-expected.txt:
  • platform/gtk/fast/multicol/float-paginate-complex-expected.txt:
  • platform/gtk/fast/multicol/float-paginate-empty-lines-expected.txt:
  • platform/gtk/fast/multicol/float-paginate-expected.txt:
  • platform/gtk/fast/multicol/layers-in-multicol-expected.txt:
  • platform/gtk/fast/multicol/layers-split-across-columns-expected.txt:
  • platform/gtk/fast/multicol/margin-collapse-expected.txt:
  • platform/gtk/fast/multicol/max-height-columns-block-expected.png:
  • platform/gtk/fast/multicol/max-height-columns-block-expected.txt:
  • platform/gtk/fast/multicol/nested-columns-expected.png:
  • platform/gtk/fast/multicol/nested-columns-expected.txt:
  • platform/gtk/fast/multicol/newmulticol/client-rects-expected.png: Added.
  • platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt:
  • platform/gtk/fast/multicol/overflow-across-columns-expected.txt:
  • platform/gtk/fast/multicol/overflow-across-columns-percent-height-expected.png:
  • platform/gtk/fast/multicol/overflow-across-columns-percent-height-expected.txt:
  • platform/gtk/fast/multicol/overflow-unsplittable-expected.png:
  • platform/gtk/fast/multicol/overflow-unsplittable-expected.txt:
  • platform/gtk/fast/multicol/paginate-block-replaced-expected.txt:
  • platform/gtk/fast/multicol/pagination/BottomToTop-bt-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/BottomToTop-bt-expected.txt:
  • platform/gtk/fast/multicol/pagination/BottomToTop-lr-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/BottomToTop-lr-expected.txt:
  • platform/gtk/fast/multicol/pagination/BottomToTop-rl-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/BottomToTop-rl-expected.txt:
  • platform/gtk/fast/multicol/pagination/BottomToTop-tb-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/BottomToTop-tb-expected.txt:
  • platform/gtk/fast/multicol/pagination/LeftToRight-bt-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/LeftToRight-bt-expected.txt:
  • platform/gtk/fast/multicol/pagination/LeftToRight-lr-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/LeftToRight-lr-expected.txt:
  • platform/gtk/fast/multicol/pagination/LeftToRight-rl-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/LeftToRight-rl-expected.txt:
  • platform/gtk/fast/multicol/pagination/LeftToRight-tb-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/LeftToRight-tb-expected.txt:
  • platform/gtk/fast/multicol/pagination/RightToLeft-bt-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/RightToLeft-bt-expected.txt:
  • platform/gtk/fast/multicol/pagination/RightToLeft-lr-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/RightToLeft-lr-expected.txt:
  • platform/gtk/fast/multicol/pagination/RightToLeft-rl-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/RightToLeft-rl-expected.txt:
  • platform/gtk/fast/multicol/pagination/RightToLeft-tb-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/RightToLeft-tb-expected.txt:
  • platform/gtk/fast/multicol/pagination/TopToBottom-bt-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/TopToBottom-bt-expected.txt:
  • platform/gtk/fast/multicol/pagination/TopToBottom-lr-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/TopToBottom-lr-expected.txt:
  • platform/gtk/fast/multicol/pagination/TopToBottom-rl-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/TopToBottom-rl-expected.txt:
  • platform/gtk/fast/multicol/pagination/TopToBottom-tb-expected.png: Added.
  • platform/gtk/fast/multicol/pagination/TopToBottom-tb-expected.txt:
  • platform/gtk/fast/multicol/positioned-split-expected.txt:
  • platform/gtk/fast/multicol/positive-leading-expected.png:
  • platform/gtk/fast/multicol/positive-leading-expected.txt:
  • platform/gtk/fast/multicol/scrolling-overflow-expected.txt:
  • platform/gtk/fast/multicol/shadow-breaking-expected.png:
  • platform/gtk/fast/multicol/shadow-breaking-expected.txt:
  • platform/gtk/fast/multicol/shrink-to-column-height-for-pagination-expected.png: Added.
  • platform/gtk/fast/multicol/shrink-to-column-height-for-pagination-expected.txt:
  • platform/gtk/fast/multicol/single-line-expected.txt:
  • platform/gtk/fast/multicol/span/anonymous-before-child-parent-crash-expected.png:
  • platform/gtk/fast/multicol/span/anonymous-before-child-parent-crash-expected.txt:
  • platform/gtk/fast/multicol/span/anonymous-split-block-crash-expected.png:
  • platform/gtk/fast/multicol/span/anonymous-split-block-crash-expected.txt:
  • platform/gtk/fast/multicol/span/anonymous-style-inheritance-expected.txt:
  • platform/gtk/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
  • platform/gtk/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
  • platform/gtk/fast/multicol/span/clone-flexbox-expected.txt:
  • platform/gtk/fast/multicol/span/clone-summary-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.png:
  • platform/gtk/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-child-generated-content-expected.png:
  • platform/gtk/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.png:
  • platform/gtk/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-nested-columns-child-expected.png:
  • platform/gtk/fast/multicol/span/span-as-nested-columns-child-expected.txt:
  • platform/gtk/fast/multicol/span/span-as-nested-inline-block-child-expected.txt:
  • platform/gtk/fast/multicol/span/span-margin-collapsing-expected.txt:
  • platform/gtk/fast/multicol/table-margin-collapse-expected.txt:
  • platform/gtk/fast/multicol/table-vertical-align-expected.txt:
  • platform/gtk/fast/multicol/unsplittable-inline-block-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/border-padding-pagination-expected.png:
  • platform/gtk/fast/multicol/vertical-lr/border-padding-pagination-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/column-rules-expected.png:
  • platform/gtk/fast/multicol/vertical-lr/column-rules-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/float-avoidance-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/float-multicol-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/float-paginate-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/nested-columns-expected.png:
  • platform/gtk/fast/multicol/vertical-lr/nested-columns-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/unsplittable-inline-block-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/border-padding-pagination-expected.png:
  • platform/gtk/fast/multicol/vertical-rl/border-padding-pagination-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/column-rules-expected.png:
  • platform/gtk/fast/multicol/vertical-rl/column-rules-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/float-avoidance-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/float-paginate-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/nested-columns-expected.png:
  • platform/gtk/fast/multicol/vertical-rl/nested-columns-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/rule-style-expected.txt:
  • platform/gtk/fast/multicol/vertical-rl/unsplittable-inline-block-expected.txt:
  • platform/gtk/fast/overflow/paged-x-div-expected.txt:
  • platform/gtk/fast/overflow/paged-x-div-with-column-gap-expected.txt:
  • platform/gtk/fast/overflow/paged-x-on-root-expected.txt:
  • platform/gtk/fast/overflow/paged-x-with-column-gap-expected.txt:
  • platform/gtk/fast/overflow/paged-y-div-expected.txt:
  • platform/gtk/fast/overflow/paged-y-on-root-expected.txt:
  • platform/gtk/fast/repaint/multicol-repaint-expected.png:
  • platform/gtk/fast/repaint/multicol-repaint-expected.txt:
8:27 AM Changeset in webkit [168096] by matthew_hanson@apple.com
  • 6 edits
    2 copies in branches/safari-537.76-branch

Merge r166650.

6:31 AM Changeset in webkit [168095] by Alan Bujtas
  • 5 edits
    2 adds in trunk

Subpixel rendering: Inline text selection painting should not snap to integral CSS pixel position.
https://bugs.webkit.org/show_bug.cgi?id=132164

Reviewed by Darin Adler.

Inline text selection painting now snaps to device pixels. It uses the same rounding logic as
other painting functions.

Source/WebCore:
Test: fast/inline/hidpi-select-inline-on-subpixel-position.html

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::paintSelection):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintSelection):
(WebCore::alignSelectionRectToDevicePixels): Deleted.

  • rendering/InlineTextBox.h:

LayoutTests:

  • fast/inline/hidpi-select-inline-on-subpixel-position-expected.html: Added.
  • fast/inline/hidpi-select-inline-on-subpixel-position.html: Added.
5:42 AM Changeset in webkit [168094] by ryuan.choi@samsung.com
  • 9 edits in trunk/Source

[EFL] There are many warnings with software backend
https://bugs.webkit.org/show_bug.cgi?id=132422

Reviewed by Gyuyoung Kim.

Source/WebCore:
ecore_evas_gl_x11_window_get should be called when only engine is opengl_x11.

This patch refactors not to call unnecessary API by checking engine type.
In addition, removed unnecessary isUsingEcoreX().

  • platform/efl/EflScreenUtilities.cpp:

(WebCore::applyFallbackCursor):
(WebCore::getEcoreXWindow):
(WebCore::isUsingEcoreX): Deleted.

  • platform/efl/EflScreenUtilities.h:

Source/WebKit/efl:

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):
(ewk_view_cursor_set):

Source/WebKit2:

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::updateCursor):
(EwkView::transformToScreen):

Source/WTF:

  • wtf/efl/EflTypedefs.h: Added Ecore_X_Window typedef
5:09 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:57 AM Changeset in webkit [168093] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

<rdar://problem/16780403> REGRESSION: Plugin tests failing on Mac/WebKit1.

  • WebKit.xcodeproj/project.pbxproj: Keep the WebKitPluginHost.app symlink in

WebKit.framework for now.

1:33 AM Changeset in webkit [168092] by cabanier@adobe.com
  • 6 edits in trunk

Calling createPattern with a broken image must throw an invalidstate error
https://bugs.webkit.org/show_bug.cgi?id=132407

Reviewed by Dirk Schulze.

Source/WebCore:
Per the WebIDL spec, passing non-finite parameter to a method that
takes doubles, should generate a type error.

Tests:

  • canvas/philip/tests/2d.imageData.create2.nonfinite.html:
  • fast/canvas/canvas-2d-imageData-create-nonfinite.html:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::createImageData):

LayoutTests:

  • canvas/philip/tests/2d.imageData.create2.nonfinite.html:
  • fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
  • fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:
12:37 AM Changeset in webkit [168091] by matthew_hanson@apple.com
  • 7 edits
    4 deletes in tags/Safari-538.33

Rollout r167889.

12:17 AM Changeset in webkit [168090] by akling@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/multicol/fixed-stack.html
<https://webkit.org/b/132421>

12:05 AM Changeset in webkit [168089] by matthew_hanson@apple.com
  • 28 edits
    1 copy in tags/Safari-538.33/Source

Merge r168085.

Note: See TracTimeline for information about the timeline view.