Timeline



Oct 9, 2014:

11:56 PM Changeset in webkit [174563] by Carlos Garcia Campos
  • 11 edits in trunk/Source/WebCore

MediaPlayer should use a reference for the MediaPlayerClient
https://bugs.webkit.org/show_bug.cgi?id=137552

Reviewed by Darin Adler.

The MediaPlayer client is set on constructor by HTMLMediaElement
and cleared on HTMLMediaElement destructor that also frees the
MediaPlayer object. Since the client will never be null while the
MediaPlayer player is alive, we can use a reference and remove all
the unneeded null checks. The member has also been renamed to m_client.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::~MediaPlayer):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::inMediaDocument):
(WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
(WebCore::MediaPlayer::networkStateChanged):
(WebCore::MediaPlayer::readyStateChanged):
(WebCore::MediaPlayer::volumeChanged):
(WebCore::MediaPlayer::muteChanged):
(WebCore::MediaPlayer::timeChanged):
(WebCore::MediaPlayer::sizeChanged):
(WebCore::MediaPlayer::repaint):
(WebCore::MediaPlayer::durationChanged):
(WebCore::MediaPlayer::rateChanged):
(WebCore::MediaPlayer::playbackStateChanged):
(WebCore::MediaPlayer::firstVideoFrameAvailable):
(WebCore::MediaPlayer::characteristicChanged):
(WebCore::MediaPlayer::keyAdded):
(WebCore::MediaPlayer::keyError):
(WebCore::MediaPlayer::keyMessage):
(WebCore::MediaPlayer::keyNeeded):
(WebCore::MediaPlayer::referrer):
(WebCore::MediaPlayer::userAgent):
(WebCore::MediaPlayer::graphicsDeviceAdapter):
(WebCore::MediaPlayer::cachedResourceLoader):
(WebCore::MediaPlayer::addAudioTrack):
(WebCore::MediaPlayer::removeAudioTrack):
(WebCore::MediaPlayer::addTextTrack):
(WebCore::MediaPlayer::removeTextTrack):
(WebCore::MediaPlayer::addVideoTrack):
(WebCore::MediaPlayer::removeVideoTrack):
(WebCore::MediaPlayer::outOfBandTrackSources):
(WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
(WebCore::MediaPlayer::handlePlaybackCommand):
(WebCore::MediaPlayer::sourceApplicationIdentifier):
(WebCore::MediaPlayer::doesHaveAttribute):
(WebCore::MediaPlayer::mediaPlayerNetworkInterfaceName):
(WebCore::MediaPlayer::getRawCookies):
(WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled): Deleted.
(WebCore::MediaPlayer::audioSourceProvider): Deleted.
(WebCore::MediaPlayer::engineDescription): Deleted.
(WebCore::MediaPlayer::notifyTrackModeChanged): Deleted.
(WebCore::MediaPlayer::totalFrameDelay): Deleted.
(WebCore::MediaPlayerFactorySupport::callRegisterMediaEngine): Deleted.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayer::create):
(WebCore::MediaPlayer::platformVolumeConfigurationRequired):
(WebCore::MediaPlayer::client):
(WebCore::MediaPlayer::mediaPlayerClient): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
(WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
(WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStart):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
(WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):

11:45 PM Changeset in webkit [174562] by mihnea@adobe.com
  • 5 edits in trunk/Source/WebCore

[CSSRegions] Make RenderFlowThread::regionAtBlockOffset const
https://bugs.webkit.org/show_bug.cgi?id=137555

Reviewed by David Hyatt.

Make the method const and remove autoGenerateRegionsToBlockOffset method as it
is not used by region-based multicolumn code. Also removed the RegionAutoGenerationPolicy
parameter in the process and the call sites. Make const some of the methods that call
regionAtBlockOffset.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderFlowThread::pageLogicalTopForOffset):
(WebCore::RenderFlowThread::pageLogicalWidthForOffset):
(WebCore::RenderFlowThread::pageLogicalHeightForOffset):
(WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::computedRegionRangeForBox):

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

(WebCore::RenderMultiColumnFlowThread::regionAtBlockOffset):
(WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion):
(WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset): Deleted.

  • rendering/RenderMultiColumnFlowThread.h:
11:21 PM Changeset in webkit [174561] by bshafiei@apple.com
  • 6 edits in tags/Safari-601.1.3/Source/WebCore

Roll out r174405. <rdar://problem/18603925>

11:13 PM Changeset in webkit [174560] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.3

New tag.

10:53 PM Changeset in webkit [174559] by commit-queue@webkit.org
  • 9 edits in trunk/Source/JavaScriptCore

Web Inspector: Remove unused generator code
https://bugs.webkit.org/show_bug.cgi?id=137564

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-09
Reviewed by Brian Burg.

  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator.generate_output): Deleted.

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator.generate_output):

  • inspector/scripts/codegen/generate_frontend_dispatcher_header.py:

(FrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py:

(FrontendDispatcherImplementationGenerator.generate_output):

  • inspector/scripts/codegen/generate_protocol_types_header.py:

(ProtocolTypesHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_protocol_types_implementation.py:

(ProtocolTypesImplementationGenerator.generate_output):
inputFilename is now handled by the generic generator base class.

  • inspector/scripts/codegen/models.py:

(Framework.fromString):
(Frameworks):

  • inspector/scripts/generate-inspector-protocol-bindings.py:

The WTF framework is unused. Remove unexpected frameworks.

9:21 PM Changeset in webkit [174558] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for FontData subclasses
https://bugs.webkit.org/show_bug.cgi?id=137591

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for FontData subclasses.

No new tests, no behavior change.

  • platform/graphics/FontData.h:
  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::releaseFontData):
(WebCore::FontGlyphs::determinePitch):

  • platform/graphics/GlyphPageTreeNode.cpp:

(WebCore::GlyphPageTreeNode::initializePage):

  • platform/graphics/SegmentedFontData.h:

(isType):

  • platform/graphics/SimpleFontData.h:

(isType):

8:57 PM Changeset in webkit [174557] by Simon Fraser
  • 1 edit
    8 moves in trunk/LayoutTests

Rename some tests that oddly had -html.html suffixes.

  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited-expected.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited-html-expected.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-composited-html.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-html.html.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.png: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html-expected.png.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.txt: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html-expected.txt.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed.html: Renamed from LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-html.html.
8:50 PM Changeset in webkit [174556] by aestes@apple.com
  • 8 edits in trunk/Tools

Teach webkitpy about OS X Yosemite
https://bugs.webkit.org/show_bug.cgi?id=137585

Reviewed by Simon Fraser.

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo._determine_mac_version):

  • Scripts/webkitpy/common/system/platforminfo_unittest.py:

(TestPlatformInfo.test_os_version):

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser):

  • Scripts/webkitpy/port/builders.py:
  • Scripts/webkitpy/port/mac.py:

(MacPort):

  • Scripts/webkitpy/port/mac_unittest.py:

(test_versions):
(test_baseline_search_path):

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineTest.test_baseline_directory):
(TestRebaselineExpectations.test_rebaseline_expectations):

8:45 PM Changeset in webkit [174555] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

New perf dashboard UI tries to fetch commits all the time
https://bugs.webkit.org/show_bug.cgi?id=137592

Reviewed by Andreas Kling.

Added hasReportedCommits boolean to repository meta data in manifest.json, and used that in
the front end to avoid issuing HTTP requests to fetch commit logs for repositories with
no reported commits as they are all going to fail.

Also added an internal cache to FetchCommitsForTimeRange in the front end to avoid fetching
the same commit logs repeatedly. There are two data structures we cache: commitsByRevision
which maps a given commit revision/hash to a commit object; and commitsByTime which is an array
of commits sorted chronologically by time.

  • public/include/manifest.php:
  • public/v2/app.js:

(App.CommitsViewerComponent.commitsChanged):

  • public/v2/data.js:

(FetchCommitsForTimeRange):
(FetchCommitsForTimeRange._cachedCommitsByRepository):

  • public/v2/manifest.js:

(App.Repository):

8:34 PM Changeset in webkit [174554] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Revert part of r174543 that broke grid layout tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::specifiedValueForGridTrackBreadth):

8:25 PM Changeset in webkit [174553] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Tweak some Mac test expectations.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
6:41 PM Changeset in webkit [174552] by Simon Fraser
  • 15 edits
    1 move
    2 adds
    1 delete in trunk/LayoutTests

Mac TestExpectations cleanup.

Re-enable tests that now pass. Mark skipped tests as [ Failure ] when possible,
and rebaseline some tests.

  • perf/nested-combined-selectors-expected.txt: Added.
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt:
  • platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt:
  • platform/mac/editing/spelling/autocorrection-delete-expected.txt:
  • platform/mac/editing/spelling/autocorrection-in-textarea-expected.txt:
  • platform/mac/editing/spelling/autocorrection-removing-underline-after-paste-expected.txt:
  • platform/mac/editing/spelling/autocorrection-removing-underline-expected.txt:
  • platform/mac/editing/spelling/autocorrection-simple-expected.txt:
  • platform/mac/editing/spelling/delete-autocorrected-word-1-expected.txt:
  • platform/mac/editing/spelling/delete-autocorrected-word-2-expected.txt:
  • platform/mac/fast/dom/HTMLProgressElement/progress-element-expected.txt: Added.
  • platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
  • platform/mac/fast/text/combining-character-sequence-fallback-expected.txt: Renamed from LayoutTests/platform/mac/platform/mac/fast/text/combining-character-sequence-fallback-expected.txt.
  • platform/mac/media/controls-styling-expected.txt:
  • platform/mac/media/video-zoom-controls-expected.txt:
  • platform/mac/platform/mac/fast/text/combining-character-sequence-fallback-expected.png: Removed.
5:53 PM Changeset in webkit [174551] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Skip webgl tests in the iOS Simulator.

  • platform/ios-simulator/TestExpectations:
5:53 PM Changeset in webkit [174550] by Simon Fraser
  • 2 edits
    95 adds in trunk/LayoutTests

iOS Simulator results for webaudio tests.

  • platform/ios-simulator/webaudio/*: Added
5:53 PM Changeset in webkit [174549] by Simon Fraser
  • 1 edit
    31 adds in trunk/LayoutTests

iOS Simulator results for webarchive tests.

  • platform/ios-simulator/webarchive/*: Added
5:53 PM Changeset in webkit [174548] by Simon Fraser
  • 1 edit
    3 adds in trunk/LayoutTests

iOS Simulator and generic results for userscripts tests.

  • platform/ios-simulator/userscripts/user-script-plugin-document-expected.txt: Added.
  • userscripts/script-run-at-end-expected.txt: Added.
5:53 PM Changeset in webkit [174547] by Simon Fraser
  • 1 edit
    19 adds in trunk/LayoutTests

iOS Simulator results (many of which are failures) for transitions tests.

  • platform/ios-simulator/transitions/*: Added
5:53 PM Changeset in webkit [174546] by Simon Fraser
  • 1 edit
    29 adds in trunk/LayoutTests

iOS Simulator results for transforms tests.

  • platform/ios-simulator/transforms/*: Added
5:53 PM Changeset in webkit [174545] by Simon Fraser
  • 1 edit
    948 adds in trunk/LayoutTests

iOS Simulator results for tables tests.

  • platform/ios-simulator/tables/*: Added
5:52 PM Changeset in webkit [174544] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Denote some crashing SVG tests.

  • platform/ios-simulator/TestExpectations:
5:19 PM Changeset in webkit [174543] by dino@apple.com
  • 3 edits
    2 adds in trunk

Computed style for clip is wrong with respect to auto
https://bugs.webkit.org/show_bug.cgi?id=137567

Reviewed by Simon Fraser.

Source/WebCore:

Make sure that the computed style of clip returns the
correct value when the input is "auto", or in this
case "rect(auto, auto, auto, auto)". Before this
patch it returned "rect(0px, 0px, 0px, 0px)" which
was completely wrong.

Test: fast/css/computed-clip-with-auto-rect.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::autoOrZoomAdjustedValue): Helper function to make the correct keyword or length.
(WebCore::specifiedValueForGridTrackBreadth): It can use the helper too.
(WebCore::ComputedStyleExtractor::propertyValue): If the
top/right/bottom/left is "auto", add that identifier
to the output rectangle.

LayoutTests:

Test that an input of clip: rect(auto, auto, auto, auto)
is the same on the way out.

  • fast/css/computed-clip-with-auto-rect-expected.txt: Added.
  • fast/css/computed-clip-with-auto-rect.html: Added.
4:55 PM Changeset in webkit [174542] by Chris Dumez
  • 11 edits in trunk/Source/WebCore

Use RenderObject::firstChildSlow() / lastChildSlow() less
https://bugs.webkit.org/show_bug.cgi?id=137573

Reviewed by Andreas Kling.

Use RenderObject::firstChildSlow() / lastChildSlow() less by using
tighter typing at call sites whenever possible to be able to call the
faster RenderElement::firstChild() / lastChild() instead.

This patch also uses more references instead of pointers when possible.

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::firstChildIsInlineContinuation):
(WebCore::AccessibilityRenderObject::previousSibling):
(WebCore::lastChildHasContinuation):
(WebCore::AccessibilityRenderObject::nextSibling):

  • page/FrameView.cpp:

(WebCore::countRenderedCharactersInRenderObjectWithThreshold):
(WebCore::FrameView::renderedCharactersExceed):

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

(WebCore::isAnonymousRubyInlineBlock):
(WebCore::isRubyBeforeBlock):
(WebCore::isRubyAfterBlock):

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

(WebCore::RenderSVGText::layout):

  • rendering/svg/SVGTextLayoutAttributesBuilder.cpp:

(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
(WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
(WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):

  • rendering/svg/SVGTextLayoutAttributesBuilder.h:
  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::elementFromRenderer):

  • svg/SVGTextPositioningElement.h:
4:50 PM Changeset in webkit [174541] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for Win EWS bots.

  • testing/Internals.idl: Move enum declaration to the top of the file.
4:48 PM Changeset in webkit [174540] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Source/WebCore:
RenderMathMLUnderOver adds spacing to the child operator indefinitely when resizing the window.
https://bugs.webkit.org/show_bug.cgi?id=137330

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-09
Reviewed by Darin Adler.

The layout for the <mundercover> math object happens in two separate passes. The first pass runs
the layout for the two children and then calculates the maximum child width. It then sets the
stretch size for the math operator child. And finally it runs the second layout pass by calling
the base class layout() function. The base class function then runs the layout for the children
rendering blocks. In the operator child function computePreferredLogicalWidths(), the stretch
size is used to adjust the width (or the height) of the operator. Then it adds the leading and
trailing spaces and the total will be the operator child width.

When resizing or zooming the window, the render objects are just invalidated but marked as 'needs-
Layout'. The problem is happening because the stretch size of the math operator is not reset
before running the layout. The old logical width (or height) of the the math operator child which
is equal to the stretch size plus the leading and trailing spaces for is compared with the glyph
size if the old logical width ( or height) is larger, it is set to be the stretch size. When it
is used again because of invalidation, new leading and trailing spaces are included in the new
logical width. So with every zooming-in or out or window resizing, new leading and trailing
spaces are added to the logical width of the math operator child or the math <munderober> object.

Ensure the stretch size of the math operator render object is reset before running its layout.
Running the layout means either the page is just loaded or it's invalidated which means, no
layout stall data should be used.

Test: mathml/opentype/munderover-window-resize.html

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::resetStretchSize):

  • rendering/mathml/RenderMathMLOperator.h:

resetStretchSize() sets the stretch size to its original value when the class is created.

  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::layout):
Make sure the operator stretch size is reset before calling its layout. Also make sure the new
maximum stretch size to the operator objects that were invalid and needsLayout.

LayoutTests:
RenderMathMLUnderOver adds spacing to the child operator indefinitely when zooming or resizing the window.
https://bugs.webkit.org/show_bug.cgi?id=137330

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-09
Reviewed by Darin Adler, Daniel Bates.

When the alignment is center, which is the common case for math, changing the size of
an object affects the position of this object also. We need to confirm that zooming or
resizing the window should not affect the rectangle of the over/under math object operator.

  • mathml/opentype/munderover-window-resize-expected.txt: Added.
  • mathml/opentype/munderover-window-resize.html: Added.

New test with many under and over math objects. After loading the page, the window is resized and
the view is zoomed in and out to make sure the layout of these under and over objects were not changed.

  • platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:

This test was wrong because of the spacing issue. The page has two <mover> math objects at the beginning.
Each of them has an <mspace> child. The width of the first <mspace> is 1em while the width of the second
<mspace> is 2em. The font size is 10pt. So it is expected to have the first one 10 pixels and the second
to be 20 pixels. In the test, the width of the first is 22 and the width of the second is 32.
I do expect this test to fail on other platforms since they have the same mistake which is now fixed. I am
going to submit the mac expected version only and when it fails I am going to collect the result and submit
another patch for the other platforms expected files.

4:29 PM Changeset in webkit [174539] by dburkart@apple.com
  • 4 edits
    2 adds in trunk/Tools

Add Mac OS Yosemite dashboard support.

Rubber-stamped by Lucas Forschler.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Yosemite.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Yosemite@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
4:16 PM Changeset in webkit [174538] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Add Babak to contributors.json and add historical email addresses for some contributors
https://bugs.webkit.org/show_bug.cgi?id=137546

Reviewed by Christophe Dumez.

contributors.json is used to analyze historical commit data and change logs.

Add back historical email addresses for some contributors and also add Babak (Shafiei).

  • Scripts/webkitpy/common/config/contributors.json:
3:34 PM Changeset in webkit [174537] by dino@apple.com
  • 2 edits
    69 adds in trunk/LayoutTests

Import W3C @supports tests
https://bugs.webkit.org/show_bug.cgi?id=137569
<rdar://problem/18601076>

Reviewed by Simon Fraser.

Import the tests from https://test.csswg.org/source/css-conditional-3/

We currently fail 2 tests, tracked in TestExpectations.

  • TestExpectations:
  • css3/conditional/w3c/LICENSE: Added.
  • css3/conditional/w3c/at-supports-001-expected.html: Added.
  • css3/conditional/w3c/at-supports-001.html: Added.
  • css3/conditional/w3c/at-supports-002-expected.html: Added.
  • css3/conditional/w3c/at-supports-002.html: Added.
  • css3/conditional/w3c/at-supports-003-expected.html: Added.
  • css3/conditional/w3c/at-supports-003.html: Added.
  • css3/conditional/w3c/at-supports-004-expected.html: Added.
  • css3/conditional/w3c/at-supports-004.html: Added.
  • css3/conditional/w3c/at-supports-005-expected.html: Added.
  • css3/conditional/w3c/at-supports-005.html: Added.
  • css3/conditional/w3c/at-supports-006-expected.html: Added.
  • css3/conditional/w3c/at-supports-006.html: Added.
  • css3/conditional/w3c/at-supports-007-expected.html: Added.
  • css3/conditional/w3c/at-supports-007.html: Added.
  • css3/conditional/w3c/at-supports-008-expected.html: Added.
  • css3/conditional/w3c/at-supports-008.html: Added.
  • css3/conditional/w3c/at-supports-009-expected.html: Added.
  • css3/conditional/w3c/at-supports-009.html: Added.
  • css3/conditional/w3c/at-supports-010-expected.html: Added.
  • css3/conditional/w3c/at-supports-010.html: Added.
  • css3/conditional/w3c/at-supports-011-expected.html: Added.
  • css3/conditional/w3c/at-supports-011.html: Added.
  • css3/conditional/w3c/at-supports-012-expected.html: Added.
  • css3/conditional/w3c/at-supports-012.html: Added.
  • css3/conditional/w3c/at-supports-013-expected.html: Added.
  • css3/conditional/w3c/at-supports-013.html: Added.
  • css3/conditional/w3c/at-supports-014-expected.html: Added.
  • css3/conditional/w3c/at-supports-014.html: Added.
  • css3/conditional/w3c/at-supports-015-expected.html: Added.
  • css3/conditional/w3c/at-supports-015.html: Added.
  • css3/conditional/w3c/at-supports-016-expected.html: Added.
  • css3/conditional/w3c/at-supports-016.html: Added.
  • css3/conditional/w3c/at-supports-017-expected.html: Added.
  • css3/conditional/w3c/at-supports-017.html: Added.
  • css3/conditional/w3c/at-supports-018-expected.html: Added.
  • css3/conditional/w3c/at-supports-018.html: Added.
  • css3/conditional/w3c/at-supports-019-expected.html: Added.
  • css3/conditional/w3c/at-supports-019.html: Added.
  • css3/conditional/w3c/at-supports-020-expected.html: Added.
  • css3/conditional/w3c/at-supports-020.html: Added.
  • css3/conditional/w3c/at-supports-021-expected.html: Added.
  • css3/conditional/w3c/at-supports-021.html: Added.
  • css3/conditional/w3c/at-supports-022-expected.html: Added.
  • css3/conditional/w3c/at-supports-022.html: Added.
  • css3/conditional/w3c/at-supports-023-expected.html: Added.
  • css3/conditional/w3c/at-supports-023.html: Added.
  • css3/conditional/w3c/at-supports-024-expected.html: Added.
  • css3/conditional/w3c/at-supports-024.html: Added.
  • css3/conditional/w3c/at-supports-025-expected.html: Added.
  • css3/conditional/w3c/at-supports-025.html: Added.
  • css3/conditional/w3c/at-supports-026-expected.html: Added.
  • css3/conditional/w3c/at-supports-026.html: Added.
  • css3/conditional/w3c/at-supports-027-expected.html: Added.
  • css3/conditional/w3c/at-supports-027.html: Added.
  • css3/conditional/w3c/at-supports-028-expected.html: Added.
  • css3/conditional/w3c/at-supports-028.html: Added.
  • css3/conditional/w3c/at-supports-029-expected.html: Added.
  • css3/conditional/w3c/at-supports-029.html: Added.
  • css3/conditional/w3c/at-supports-030-expected.html: Added.
  • css3/conditional/w3c/at-supports-030.html: Added.
  • css3/conditional/w3c/at-supports-031-expected.html: Added.
  • css3/conditional/w3c/at-supports-031.html: Added.
  • css3/conditional/w3c/at-supports-032-expected.html: Added.
  • css3/conditional/w3c/at-supports-032.html: Added.
  • css3/conditional/w3c/at-supports-033-expected.html: Added.
  • css3/conditional/w3c/at-supports-033.html: Added.
3:33 PM Changeset in webkit [174536] by dino@apple.com
  • 43 edits in trunk

Remove ENABLE_CSS3_CONDITIONAL_RULES
https://bugs.webkit.org/show_bug.cgi?id=137571

Reviewed by Simon Fraser.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

We have good enough support for @supports that
it should be a consistent part of the platform. Remove
the compile-time guard.

  • Configurations/FeatureDefines.xcconfig:
  • WebCore.exp.in:
  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJS):

  • bindings/objc/DOMCSS.mm:

(kitClass):

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseSupportsCondition):
(WebCore::CSSParser::detectAtToken):
(WebCore::CSSParser::detectSupportsToken):
(WebCore::CSSParser::realLex):

  • css/CSSParser.h:
  • css/CSSRule.h:
  • css/CSSRule.idl:
  • css/CSSSupportsRule.cpp:
  • css/CSSSupportsRule.h:
  • css/CSSSupportsRule.idl:
  • css/DOMWindowCSS.cpp:
  • css/DOMWindowCSS.h:
  • css/DOMWindowCSS.idl:
  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::collect):

  • css/RuleSet.cpp:

(WebCore::RuleSet::addChildRules):

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy):
(WebCore::StyleRuleBase::createCSSOMWrapper):
(WebCore::StyleRuleSupports::StyleRuleSupports):

  • css/StyleRule.h:

(WebCore::toStyleRuleSupports):

  • css/StyleSheetContents.cpp:

(WebCore::childRulesHaveFailedOrCanceledSubresources):

  • inspector/InspectorStyleSheet.cpp:

(flattenSourceData):
(WebCore::asCSSRuleList):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::css):

  • page/DOMWindow.h:
  • page/DOMWindow.idl:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

LayoutTests:

Unskipping tests.

  • platform/ios-sim/Skipped:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
3:14 PM Changeset in webkit [174535] by benjamin@webkit.org
  • 29 edits
    28 adds
    2 deletes in trunk

Add the baseline implementation of :not(selectorList)
https://bugs.webkit.org/show_bug.cgi?id=137548

Reviewed by Andreas Kling.

Source/WebCore:

This patch extend the pseudo class :not() to support the new definition
in CSS Selectors level 4.

Instead of supporting a single simple selector, :not() now support
an arbitrary selector list, excepted pseudo elements.

One side effect of this change is :visited and :link are no longer supported
inside :not(). The reason has to do with complexity and performance.
Since :not() and :matches() can have arbitrary selector list, keeping track of
:visited and :link can have many combination superposing, some valid, some invalid.

Supporting :visited and :link should be possible by chaning the way we handle
them for style resolution, but given the limited use cases for such features
I'll wait to see if there is any interest before changing everything.

This patch only covers SelectorChecker to keep things simple. The CSS JIT
will come later.

Tests: fast/css/not-basics.html

fast/css/parsing-css-not-1.html
fast/css/parsing-css-not-2.html
fast/css/parsing-css-not-3.html
fast/css/parsing-css-not-4.html
fast/css/parsing-css-not-5.html
fast/css/parsing-css-not-6.html
fast/css/parsing-css-not-7.html
fast/css/parsing-css-not-8.html
fast/css/parsing-css-not-9.html
fast/css/parsing-css-nth-child-of-4.html
fast/selectors/not-basics.html
fast/selectors/not-nested.html
fast/selectors/not-selector-list.html

  • css/CSSGrammar.y.in:

Rename selectorListDoesNotMatchAnyPseudoElement() to selectorListDoesNotMatchAnyPseudoElement()
since both :not() and :nth-child(An+B of selectorList) have the same requirements at the moment.

  • css/CSSParserValues.cpp:

(WebCore::selectorListMatchesPseudoElement):
The patch adding :matches() introduced the possibility of putting pseudo element
arbitrary deep in a sequence of nested :matches(). Since this case is forbidded
by :not() and :nth-child(An+B of selectorList), selectorListMatchesPseudoElement()
now becomes recursive to find those pseudo elements.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):
CSSOM for the extended :not().

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::determineLinkMatchType):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
Disable the new capabilities from the JIT for now.

LayoutTests:

There are 3 big kind of changes to the tests:
1) The new implementation intentionally breaks :not() of :visited and :link.

Some test for the basic :not(:link) and :not(:visited) are consequently failing.

2) Some tests were ensuring that :not() only support simple selectors, those are

becoming irrelevant.

3) New test for the feature.

This patch intentionally breaks :not(:link). The test fast/history/link-inside-not.html
time out since it is waiting for the link to match.

  • fast/css/invalid-not-with-simple-selector-sequence-expected.txt: Removed.
  • fast/css/invalid-not-with-simple-selector-sequence.html: Removed.

This test originally came from IEtestcenter. None of it is useful, all the "invalid"
cases are now fully functional selectors.

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:

Parsing and CSS OM tests for the new :not().

  • fast/css/parsing-css-matches-5-expected.txt:
  • fast/css/parsing-css-matches-5.html:
  • fast/css/parsing-css-matches-6-expected.txt:
  • fast/css/parsing-css-matches-6.html:
  • fast/css/parsing-css-matches-7-expected.txt:
  • fast/css/parsing-css-matches-7.html:
  • fast/css/parsing-css-matches-8-expected.txt:
  • fast/css/parsing-css-matches-8.html:

Update the tests of :matches() to account for the extended :not().

  • fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt:

Some cases covered by this test are now valid. The test is kept as is for
its historical value, but all the FAIL cover valid use cases in Level 4.

  • platform/mac/css3/selectors3/html/css3-modsel-61-expected.txt:
  • platform/mac/css3/selectors3/html/css3-modsel-83-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-61-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-83-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-61-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-83-expected.txt:
  • platform/mac/fast/selectors/061-expected.txt:
  • platform/mac/fast/selectors/083-expected.txt:

Those tests are changing because of the breakage of :link and :visited.

  • fast/css/not-basics-expected.html: Added.
  • fast/css/not-basics.html: Added.

Basic use cases of the extended :not() that should always style correctly.

  • fast/css/parsing-css-not-1-expected.txt: Added.
  • fast/css/parsing-css-not-1.html: Added.
  • fast/css/parsing-css-not-2-expected.txt: Added.
  • fast/css/parsing-css-not-2.html: Added.
  • fast/css/parsing-css-not-3-expected.txt: Added.
  • fast/css/parsing-css-not-3.html: Added.
  • fast/css/parsing-css-not-4-expected.txt: Added.
  • fast/css/parsing-css-not-4.html: Added.
  • fast/css/parsing-css-not-5-expected.txt: Added.
  • fast/css/parsing-css-not-5.html: Copied from LayoutTests/fast/css/parsing-css-matches-5.html.
  • fast/css/parsing-css-not-6-expected.txt: Added.
  • fast/css/parsing-css-not-6.html: Copied from LayoutTests/fast/css/parsing-css-matches-6.html.
  • fast/css/parsing-css-not-7-expected.txt: Copied from LayoutTests/fast/css/parsing-css-matches-7-expected.txt.
  • fast/css/parsing-css-not-7.html: Copied from LayoutTests/fast/css/parsing-css-matches-7.html.
  • fast/css/parsing-css-not-8-expected.txt: Copied from LayoutTests/fast/css/parsing-css-matches-8-expected.txt.
  • fast/css/parsing-css-not-8.html: Copied from LayoutTests/fast/css/parsing-css-matches-8.html.
  • fast/css/parsing-css-not-9-expected.txt: Added.
  • fast/css/parsing-css-not-9.html: Copied from LayoutTests/fast/css/parsing-css-matches-8.html.

Parsing of :not(). A lot of them were inspired by Yusuke Suzuki's test suite
for :matches(). A lot of test case apply to :not(), the main difference is that
pseudo elements must fail inside :not().

  • fast/css/parsing-css-nth-child-of-4-expected.txt: Added.
  • fast/css/parsing-css-nth-child-of-4.html: Added.

With the introduction of :matches(), it is possible to have arbitrarily deep pseudo elements.
The tests for :not() cover the case fixed with this patch, this addition covers :nth-child(of).

  • fast/selectors/not-basics-expected.txt: Added.
  • fast/selectors/not-basics.html: Added.
  • fast/selectors/not-nested-expected.txt: Added.
  • fast/selectors/not-nested.html: Added.
  • fast/selectors/not-selector-list-expected.txt: Added.
  • fast/selectors/not-selector-list.html: Added.

Test coverage for the new features.

3:09 PM Changeset in webkit [174534] by Lucas Forschler
  • 2 edits in trunk/Tools

Add Mac OS Yosemite webkit build infrastructure.

This patch adds 15 bots to our build.webkit.org configuration.
We are matching the current Mavericks machines 1:1.

This patch includes some minor spacing changes to the buildslaves section to make everything similar.

Reviewed by Matt Hanson.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
2:42 PM Changeset in webkit [174533] by Simon Fraser
  • 1 edit
    899 adds in trunk/LayoutTests

iOS Simulator results for svg tests.

  • platform/ios-simulator/svg/*: Added
2:42 PM Changeset in webkit [174532] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Skip some storage tests for iOS Simulator.

  • platform/ios-simulator/TestExpectations:
2:42 PM Changeset in webkit [174531] by Simon Fraser
  • 1 edit
    5 adds in trunk/LayoutTests

iOS Simulator results for sputnkik tests.

  • platform/ios-simulator/sputnkik/*: Added
2:42 PM Changeset in webkit [174530] by Simon Fraser
  • 1 edit
    2 adds in trunk/LayoutTests

iOS Simulator results for security tests.

  • platform/ios-simulator/security/*: Added
2:42 PM Changeset in webkit [174529] by Simon Fraser
  • 1 edit
    3 adds in trunk/LayoutTests

iOS Simulator results for scrollingcoordinator tests.

  • platform/ios-simulator/scrollingcoordinator/*: Added
2:42 PM Changeset in webkit [174528] by Simon Fraser
  • 2 edits
    10 adds in trunk/LayoutTests

iOS Simulator results for scrollbars tests.

  • platform/ios-simulator/scrollbars/*: Added
2:42 PM Changeset in webkit [174527] by Simon Fraser
  • 1 edit
    13 adds in trunk/LayoutTests

iOS Simulator results for mathml tests.

  • platform/ios-simulator/mathml/*: Added
2:10 PM Changeset in webkit [174526] by dburkart@apple.com
  • 2 edits in trunk/Tools

Don't use backticks when running commands, as we run into sh-related
interpolation issues. Also, fix our usage of system() to properly
retrieve the status code.
https://bugs.webkit.org/show_bug.cgi?id=137541

Reviewed by Darin Adler.

  • Scripts/git-add-reviewer:

(interactive):
(nonInteractive):
(requireCleanWorkTree):
(cherryPick):
(commit):
(addReviewerToFile):
(head):
(isAncestor):
(toCommit):
(changeLogsForCommit):
(resetToCommit):
(getConfigValue):
(runCommandWithOutput):

1:56 PM Changeset in webkit [174525] by timothy_horton@apple.com
  • 7 edits in trunk

Add a WebKit1 preference for selection services
https://bugs.webkit.org/show_bug.cgi?id=137498
<rdar://problem/18572699>

Reviewed by Simon Fraser.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences serviceControlsEnabled]):
(-[WebPreferences setServiceControlsEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):
Add and plumb the preference.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController awakeFromNib]):
Turn on image and selection services in the Legacy WebKit MiniBrowser.

1:53 PM Changeset in webkit [174524] by timothy_horton@apple.com
  • 21 edits
    2 adds
    2 deletes in trunk/Source

Move ServicesOverlayController to WebCore
https://bugs.webkit.org/show_bug.cgi?id=137416
<rdar://problem/18546283>

Reviewed by Anders Carlsson.

Move ServicesOverlayController from WebKit2 to WebCore, as it can be used by both Legacy WebKit and WebKit2.

  • Platform/Logging.h:

Move Services logging channel to WebCore.

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

(WebKit::WebChromeClient::handleTelephoneNumberClick):
(WebKit::WebChromeClient::handleSelectionServiceClick):
(WebKit::WebChromeClient::hasRelevantSelectionServices):
Implement services-related ChromeClient callbacks.
Clicks are forwarded to WebPageMac where they do what they used to;
hasRelevantSelectionServices is implemented as it was when it lived
inside ServicesOverlayController.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged): Deleted.
(WebKit::WebEditorClient::selectionRectsDidChange): Deleted.

  • WebProcess/WebCoreSupport/WebEditorClient.h:

Remove WebEditorClient overrides for now-removed functions.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::updatePreferences):
Forward serviceControlsEnabled setting to WebCore.

(WebKit::WebPage::servicesOverlayController): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::serviceControlsEnabled): Deleted.

  • WebCore.xcodeproj/project.pbxproj:
  • editing/Editor.cpp:

(WebCore::Editor::scanSelectionForTelephoneNumbers):

  • editing/SelectionRectGatherer.cpp:

(WebCore::SelectionRectGatherer::Notifier::~Notifier):
Notify ServicesOverlayController of changes via Page instead of EditorClient.

  • page/ChromeClient.h:

(WebCore::ChromeClient::handleTelephoneNumberClick):
(WebCore::ChromeClient::handleSelectionServiceClick):
(WebCore::ChromeClient::hasRelevantSelectionServices):
Add ChromeClient functions for services actions.

  • page/EditorClient.h:

(WebCore::EditorClient::selectedTelephoneNumberRangesChanged): Deleted.
(WebCore::EditorClient::selectionRectsDidChange): Deleted.
Remove EditorClient functions for notifying ServicesOverlayController of changes,
because it lives in WebCore proper now.

  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:

(WebCore::Page::servicesOverlayController):
Keep a ServicesOverlayController on Page.

  • page/PageOverlay.cpp:

(WebCore::PageOverlay::mouseEvent):
Use windowToContents instead of rootViewToContents; events come in in window coordinates.

  • page/PageOverlayController.cpp:

(WebCore::PageOverlayController::updateSettingsForLayer):
Get Settings from MainFrame, not Page.

  • page/Settings.in:

Add servicesControlsEnabled setting.

  • page/mac/ServicesOverlayController.h: Renamed from Source/WebKit2/WebProcess/WebPage/ServicesOverlayController.h.
  • page/mac/ServicesOverlayController.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/ServicesOverlayController.mm.

Moved from WebKit2. Mostly mechanical changes, plus:

  • Use windowToContents instead of rootViewToContents; events come in in window coordinates.
  • Cut off rebuild* if serviceControlsEnabled setting is false
  • Don't create the overlay if serviceControlsEnabled setting is false
  • Send click events via ChromeClient.
  • Tie our lifetime to MainFrame instead of Page, and get lots of things from MainFrame instead.
  • platform/Logging.h:

Add Services logging channel (moved from WebKit2).

1:51 PM Changeset in webkit [174523] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix: Revert r174378

Roll back this change, as it didn't fix the EWS builders, and has only
served to make Windows builds take forever.

  • WebCore.vcxproj/WebCoreGenerated.make: Don't delete all generated content

every time we build.

1:20 PM Changeset in webkit [174522] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed GTK build fix after r174504.

Missing header include.

  • rendering/svg/SVGTextQuery.cpp:
12:52 PM Changeset in webkit [174521] by commit-queue@webkit.org
  • 7 edits in trunk/Tools

Get the patch scripts running on Haiku
https://bugs.webkit.org/show_bug.cgi?id=137559

Patch by Adrien Destugues <pulkomandy@gmail.com> on 2014-10-09
Reviewed by Benjamin Poulain.

Use /usr/bin/env instead of hardcoding path to perl.
Declare haiku platform in platforminfo.py to avoid check-webkit-style
failure.

  • Scripts/commit-log-editor:
  • Scripts/num-cpus:
  • Scripts/prepare-ChangeLog:
  • Scripts/run-launcher:
  • Scripts/svn-create-patch:
  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo._determine_os_name):

12:26 PM Changeset in webkit [174520] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Disable tests for more unsupported features in iOS Simulator.

  • platform/ios-simulator/TestExpectations:
12:26 PM Changeset in webkit [174519] by Simon Fraser
  • 2 edits
    70 adds in trunk/LayoutTests

iOS Simulator results for ietestcenter tests.
Skip fullscreen and gamepad tests.

  • platform/ios-simulator/ietestcenter/*: Added
12:25 PM Changeset in webkit [174518] by Simon Fraser
  • 1 edit
    7 adds in trunk/LayoutTests

iOS Simulator results for fonts tests.

  • platform/ios-simulator/fonts/*: Added
12:16 PM Changeset in webkit [174517] by mmaxfield@apple.com
  • 5 edits in trunk/Source

Remove second-to-last client of WebFontCache
https://bugs.webkit.org/show_bug.cgi?id=137550

Reviewed by Darin Adler.

Source/WebCore:

No new tests because no behavior change.

  • WebCore.exp.in:
  • platform/graphics/FontCache.h: Allow migration of client to getCachedFontData()

Source/WebKit/mac:

Use FontCache::getCachedFontData() instead of WebFontCache.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _addToStyle:fontA:fontB:]):

12:05 PM Changeset in webkit [174516] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

[Mac] Spending too much time mapping desired font families to available ones
https://bugs.webkit.org/show_bug.cgi?id=137539

Reviewed by Darin Adler.

While profiling the load of weather.com, I noticed that we are spending
quite a bit of time trying to map the font family requested to a font
that is available on the system. The process involves:

  1. Doing a linear search of all the installed font families and do a case-insensitive string comparison for each of them until we find a match,
  2. Then, if we don't find a match, do another linear search of the fonts' postscript names this time and do again a case-insensitive string comparison for each of them.

This process is costly and the fonts requested by weather.com are not
available, causing us to do 2 linear searches and a lot of string
comparisons (accounting for ~2% of the WebProcess CPU time for the page
load). As a result, we end up spending ~90ms in
internalFontWithFamily() when loading weather.com.

This patch introduces a cache for the mapping between desired font
families and available font families. This cuts the time spent in
internalFontWithFamily() in half (~45ms). The cache gets invalidated
when fonts are installed / uninstalled on the system so we don't break
that scenario. The cache is also limited in size to avoid using too
much memory.

No new tests, but manual testing making sure the cache gets invalidated
when installing a font on the system.

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::invalidateFontCache):

  • platform/mac/WebFontCache.h:
  • platform/mac/WebFontCache.mm:

(desiredFamilyToAvailableFamilyDictionary):
(rememberDesiredFamilyToAvailableFamilyMapping):
(+[WebFontCache internalFontWithFamily:traits:weight:size:]):
(+[WebFontCache invalidate]):

11:43 AM Changeset in webkit [174515] by betravis@adobe.com
  • 4 edits in trunk

[CSS Font Loading] Decrement the font loading count before notifying callbacks
https://bugs.webkit.org/show_bug.cgi?id=137401

Reviewed by Alexey Proskuryakov.

Source/WebCore:

In the callbacks, it should appear that font load has completed. This is
accessed through loading(), which relies on the current number of
fonts loading via JS and CSS.

Unskipping the failing test http/tests/webfont/fontloader-loading-attribute.html
test which tests this.

  • css/FontLoader.cpp:

(WebCore::LoadFontCallback::notifyLoaded):

LayoutTests:

  • platform/mac/TestExpectations: Unskip the test this bug was causing to fail.
11:41 AM Changeset in webkit [174514] by Simon Fraser
  • 1 edit
    1214 adds in trunk/LayoutTests

iOS Simulator results for editing tests.

  • platform/ios-simulator/editing/*: Added
11:38 AM Changeset in webkit [174513] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed Windows build fix after r174506.

We no longer needed to dereference as it is a reference instead of a
pointer now.

  • page/win/EventHandlerWin.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

11:16 AM Changeset in webkit [174512] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Crash in CFURLDownloadClient.didFail if the download has a null resumeData
https://bugs.webkit.org/show_bug.cgi?id=137551

Reviewed by David Kilzer.

CFDataGetBytePtr() and CFDataGetLength() crash if passed a null value.

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::setUpDownloadClient):

11:10 AM Changeset in webkit [174511] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Enable ARM64 disassembler for all platforms
https://bugs.webkit.org/show_bug.cgi?id=137560

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-10-09
Reviewed by Michael Saboff.

Remove PLATFORM conditions from around WTF_USE_ARM64_DISASSEMBLER since
the ARM64 disassembler has no platform dependencies anymore.

  • wtf/Platform.h:
10:34 AM Changeset in webkit [174510] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: DOM Storage Editing is broken in many ways, frustrating
https://bugs.webkit.org/show_bug.cgi?id=137547

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-09
Reviewed by Timothy Hatcher.

  • UserInterface/Models/DOMStorageObject.js:

(WebInspector.DOMStorageObject.prototype.getEntries): Deleted.
When getting entires, populate the model object with these keys/values
so we can accurately detect duplicates in editing.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype.determineNextCell):
(WebInspector.DataGrid.prototype.moveToNextCell):
When the users uses "Enter" to commit, stop editing.

(WebInspector.DataGrid.prototype._editingCommitted):
Fix title property accessor. This is not a map. This fixes an exception
when showing context menus on editable data grid rows.

  • UserInterface/Views/DOMStorageContentView.js:

(WebInspector.DOMStorageContentView.prototype.cleanup):
(WebInspector.DOMStorageContentView.prototype.restoreOriginalValues):
(WebInspector.DOMStorageContentView.prototype._editingCallback):
Completely rewrite editing here. As soon as an edit is made, enter
an uncommitted state with the original key/value. When a commit is
allowed, update as appropriate based on the original values.

10:01 AM Changeset in webkit [174509] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix compiler warning on noreturn function
https://bugs.webkit.org/show_bug.cgi?id=137558

Patch by Adrien Destugues <pulkomandy@gmail.com> on 2014-10-09
Reviewed by Darin Adler.

The function is marked "noreturn", but the stub implementation does
return. No new tests: function is never called. Only fixes a warning.

  • heap/HeapStatistics.cpp:

(JSC::HeapStatistics::exitWithFailure):

10:01 AM Changeset in webkit [174508] by Bruno de Oliveira Abinader
  • 1 edit
    2 adds in trunk/LayoutTests

Re-add tests for :enabled with Anchor, Area & Link elements
https://bugs.webkit.org/show_bug.cgi?id=137557

Reviewed by Darin Adler.

The CSS selector :enabled should not match Anchor, Area & Link elements
with 'href' attribute set. This re-adds the related layout tests with
updated results.

  • fast/css/css-selector-enabled-links-expected.txt: Added.
  • fast/css/css-selector-enabled-links.html: Added.
9:58 AM Changeset in webkit [174507] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[X11] Plugin process crashes in NetscapePlugin::platformPostInitialize()
https://bugs.webkit.org/show_bug.cgi?id=137426

Reviewed by Darin Adler.

For some reason flash crashes when NPP_GetValue is called with
NPPVpluginCancelSrcStream, but only in windowed mode. Not calling
NPP_GetValue and unconditionally loading the source URL in the
browser fixes the crash and plugins work normally. We can handle
this particular case with a new quirk.

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

(WebKit::NetscapePluginModule::determineQuirks): Add
DoNotCancelSrcStreamInWindowedMode quirk if it's flash plugin.

  • Shared/Plugins/PluginQuirks.h: Add

DoNotCancelSrcStreamInWindowedMode quirk.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::shouldLoadSrcURL): Return early if plugin
is windowed and DoNotCancelSrcStreamInWindowedMode quirk is present.

9:45 AM Changeset in webkit [174506] by Chris Dumez
  • 51 edits in trunk/Source

Use is<>() / downcast<>() for Widget subclasses
https://bugs.webkit.org/show_bug.cgi?id=137549

Reviewed by Darin Adler.

Use is<>() / downcast<>() for Widget subclasses and clean up the
surrounding code.

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

  • accessibility/AccessibilityObject.cpp:

(WebCore::appendAccessibilityObject):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::visiblePositionForPoint):

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::webAreaObject):
(WebCore::AccessibilityScrollView::documentFrameView):
(WebCore::AccessibilityScrollView::parentObject):
(WebCore::AccessibilityScrollView::parentObjectIfExists):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginScriptObjectFromPluginViewBase):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::appendFormData):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::canProcessDrag):
(WebCore::HTMLPlugInElement::isKeyboardFocusable):
(WebCore::HTMLPlugInElement::isUserObservable):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting):
(WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn):

  • html/HTMLPlugInImageElement.h:
  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadPlugin):

  • page/DragController.cpp:

(WebCore::DragController::operationForLoad):

  • page/EventHandler.cpp:

(WebCore::EventHandler::subframeForTargetNode):
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:
  • page/Frame.cpp:

(WebCore::Frame::frameForWidget):

  • page/FrameView.cpp:

(WebCore::FrameView::hasCustomScrollbars):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
(WebCore::FrameView::convertToContainingView):
(WebCore::FrameView::convertFromContainingView):
(WebCore::FrameView::removeChild):

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

(WebCore::Page::pluginViews):

  • page/efl/EventHandlerEfl.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::passWheelEventToWidget):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):

  • page/win/EventHandlerWin.cpp:

(WebCore::EventHandler::passWheelEventToWidget):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::removeChild):
(WebCore::ScrollView::setHasHorizontalScrollbar):
(WebCore::ScrollView::setHasVerticalScrollbar):

  • platform/ScrollView.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::root):
Uninline as root() because Widget::root() returns a FrameView now and
it is impossible to include FrameView.h in Scrollbar.h without causing
a cycle.

  • platform/Scrollbar.h:
  • platform/Widget.cpp:

(WebCore::Widget::root):
Use tighter typing and return a FrameView instead of a ScrollView.

(WebCore::Widget::removeFromParent):

  • platform/Widget.h:
  • platform/efl/WidgetEfl.cpp:

(WebCore::Widget::setCursor):

  • platform/gtk/PlatformScreenGtk.cpp:
  • platform/gtk/WidgetGtk.cpp:

(WebCore::Widget::setCursor):

  • platform/mac/PlatformScreenMac.mm:

(WebCore::displayFromWidget):

  • platform/mac/WidgetMac.mm:

(WebCore::Widget::setCursor):

  • platform/win/WidgetWin.cpp:

(WebCore::Widget::setCursor):

  • plugins/PluginViewBase.h:
  • plugins/win/PluginViewWin.cpp:

(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paintIntoTransformedContext):
(WebCore::PluginView::paintWindowedPluginIntoContext):
(WebCore::PluginView::paint):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):
(WebCore::PluginView::snapshot):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
(WebCore::RenderEmbeddedObject::nodeAtPoint):
(WebCore::RenderEmbeddedObject::scroll):

  • rendering/RenderFrameBase.h:

(WebCore::RenderFrameBase::childView):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::layerWillBeDestroyed):
(WebCore::RenderLayerBacking::updateConfiguration):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):

  • rendering/RenderTreeAsText.cpp:

(WebCore::write):

  • rendering/RenderWidget.cpp:

(WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
(WebCore::RenderWidget::paintContents):
(WebCore::RenderWidget::setOverlapTestResult):
(WebCore::RenderWidget::updateWidgetPosition):
(WebCore::RenderWidget::nodeAtPoint):
(WebCore::RenderWidget::embeddedContentBox):

Source/WebKit/mac:

  • WebView/WebRenderNode.mm:

(copyRenderNode):

  • WebView/WebView.mm:

(-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]):

Source/WebKit/win:

  • WebCoreSupport/EmbeddedWidget.cpp:

(EmbeddedWidget::frameRectsChanged):

Source/WebKit2:

  • Shared/WebRenderObject.cpp:

(WebKit::WebRenderObject::WebRenderObject):

9:31 AM WebKitGTK/2.4.x edited by philip.chimento@gmail.com
Adding as per comment on https://bugs.webkit.org/show_bug.cgi?id=137385 (diff)
9:18 AM Changeset in webkit [174505] by Carlos Garcia Campos
  • 10 edits in trunk/Source/WebCore

Layering violation: MediaPlayer should not reference/use FrameView
https://bugs.webkit.org/show_bug.cgi?id=21562

Reviewed by Darin Adler.

Remove FrameView dependency from MediaPlayer.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerIsInMediaDocument): Check if
the element document is a media document.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::MediaPlayer): Remove m_frameView initialization.
(WebCore::MediaPlayer::inMediaDocument): Use the MediaPlayerClient
to check if the media player is in a media document.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerIsInMediaDocument):
(WebCore::MediaPlayer::setFrameView): Deleted.
(WebCore::MediaPlayer::frameView): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
Do not check if the media player has a frame view, checking whether it's visible
is enough.

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

Remove unneeded header include.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Ditto.
  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::~RenderVideo): Do not call MediaPlayer::setFrameView().
(WebCore::RenderVideo::updatePlayer): Ditto.

9:17 AM Changeset in webkit [174504] by Chris Dumez
  • 30 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=137545

Reviewed by Darin Adler.

Use is<>() / downcast<>() for RenderBlockFlow and clean up the
surrounding code.

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

  • dom/Element.cpp:

(WebCore::Element::renderNamedFlowFragment):
(WebCore::Element::webkitGetRegionFlowRanges):

  • editing/Editor.cpp:

(WebCore::Editor::hasBidiSelection):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForRegionHighlight):
(WebCore::buildObjectForElementInfo):

  • rendering/EllipsisBox.h:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::innerTextIfTruncated):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removeChild):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock):
(WebCore::RenderBlockFlow::marginValuesForChild):
(WebCore::RenderBlockFlow::collapseMargins):
(WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
(WebCore::RenderBlockFlow::handleAfterSideOfBlock):
(WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild):
(WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlockFlow::adjustForBorderFit):
(WebCore::getHeightForLineCount):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderElement::isRenderNamedFlowFragmentContainer):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::createLineBoxes):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::removeFlowChildInfo):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForRegionAndReflection):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):
(WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):

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

(WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
(WebCore::RenderMultiColumnSet::columnGap):

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

(WebCore::RenderNamedFlowFragment::fragmentContainer):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::adjustComputedFontSizesOnBlocks):
(WebCore::RenderObject::resetTextAutosizing):
(WebCore::RenderObject::showLineTreeForThis):
(WebCore::RenderObject::showRenderSubTreeAndMark):

  • rendering/RenderText.cpp:

(WebCore::RenderText::setText):
(WebCore::RenderText::ensureLineBoxes):
(WebCore::RenderText::simpleLineLayout):

  • rendering/RenderTreeAsText.cpp:

(WebCore::write):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
(WebCore::RootInlineBox::blockFlow):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::computeTextBoundingBox):
(WebCore::SimpleLineLayout::computeTextFirstRunLocation):
(WebCore::SimpleLineLayout::collectTextAbsoluteRects):
(WebCore::SimpleLineLayout::collectTextAbsoluteQuads):

  • rendering/svg/SVGTextQuery.cpp:

(WebCore::flowBoxForRenderer):

8:59 AM Changeset in webkit [174503] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Ensure that inline assembly Thunk functions don't conflict with the section designations of the compiler
https://bugs.webkit.org/show_bug.cgi?id=137434

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-10-09
Reviewed by Michael Saboff.

The ARM64 version of the defineUnaryDoubleOpWrapper macro in
ThunkGenerators.cpp contains inline assembly with .text assembler
directive followed by a static variable declaration. This macro gets
expanded several times afterwards, however, only during the compilation
of the first expansion does gcc insert a .data assembler directive
before the assembled version of the static variable. Thus, only the
first variable gets allocated in the .data section, all the others
remain in .text. If JavaScriptCore is built as a shared library then
this causes a segmentation fault during dynamic linking.

This patch puts a .previous directive at the end of the inline assembly
to ensure that the assumptions of the compiler about the sections are
not broken and the following variable goes to the right place.

  • jit/ThunkGenerators.cpp:
12:34 AM Changeset in webkit [174502] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Netscape plugin API symbol used outside feature guards
https://bugs.webkit.org/show_bug.cgi?id=137385

Patch by Philip Chimento <philip.chimento@gmail.com> on 2014-10-09
Reviewed by Philippe Normand.

  • plugins/PluginPackage.cpp:

(WebCore::PluginPackage::unload): Add guards for Netscape Plugin
API around symbol, so that it compiles OK when the API is not
available.

Oct 8, 2014:

11:50 PM Changeset in webkit [174501] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

StyleQueue should throw a PatchIsNotValid exception to achieve
consistency with CommitQueue and EWS
https://bugs.webkit.org/show_bug.cgi?id=137500

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-08
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/stylequeuetask.py:

Adds a call to validate() in run().
(StyleQueueTask.run):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Adds a return False in the patch is not valid exception statement.
(AbstractEarlyWarningSystem.review_patch):

  • Scripts/webkitpy/tool/commands/queues.py:

Adds a return False in the patch is not valid exception statement in
commit queue, and adds an except statement to catch PatchIsNotValid
exceptions in style queue.
(CommitQueue.process_work_item):
(StyleQueue.review_patch):

11:48 PM Changeset in webkit [174500] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

11:37 PM Changeset in webkit [174499] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] Use the PageLoadState observer also to monitor title and estimated load progress
https://bugs.webkit.org/show_bug.cgi?id=136997

Reviewed by Gustavo Noronha Silva.

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:

(attachLoaderClientToView): Remove implementation of
didReceiveTitleForFrame, didStartProgress, didChangeProgress and
didFinishProgress.
(didReceiveTitleForFrame): Deleted.
(didChangeProgress): Deleted.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_get_estimated_load_progress): Return the value
directly from the PageLoadState object, since we don't need to
cache the value anymore.
(webkitWebViewSetTitle): Deleted.
(webkitWebViewSetEstimatedLoadProgress): Deleted.

  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
11:34 PM Changeset in webkit [174498] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

[CSSRegions]Remove unused parameter in adjustRegionBoundsFromFlowThreadPortionRect
https://bugs.webkit.org/show_bug.cgi?id=137518

Reviewed by Andrei Bucur.

This method is used only by region code in accelerated compositing.
The first parameter for the method was introduced with the intent to be used for multicolumn,
but without being actually used in multicolumn code. Also make the method const.
No new tests as no change in functionality.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):

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

(WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):

  • rendering/RenderRegion.h:
11:33 PM Changeset in webkit [174497] by Carlos Garcia Campos
  • 7 edits in trunk

Race condition with WebKitWebView:is-loading after starting page load
https://bugs.webkit.org/show_bug.cgi?id=136692

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Use PageLoadState::Observer to update both is-loading and uri
properties, instead of manually update them. This ensures that our
web view is always in sync with the WebPageProxy so that
webkit_web_view_is_loading() returns true right after requesting
any load. We still need to manually set the is-loading property
only in the case where we delay the emission of the load-changed
signals when waiting for the main resource. The bahaviour is a bit
different but still consistent with what our API documentation says.

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:

(attachLoaderClientToView): Remove
didSameDocumentNavigationForFrame implementation, since we are
already notified about the URL change by the PageLoadState::Observer.
(didSameDocumentNavigationForFrame): Deleted.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewSetIsLoading): No longer update the URI when
changing the is-loading property.
(webkitWebViewConstructed): Crate a PageLoadStateObserver and add
it to the PageLoadState.
(webkitWebViewDispose): Remove the PageLoadStateObserver from the PageLoadState.
(webkitWebViewEmitLoadChanged): Add isDelayedEvent parameter to
update the is-loading property accordingly when emitting the
delayed events.
(webkitWebViewEmitDelayedLoadEvents): Pass true as isDelayedEvent
parameter of webkitWebViewEmitLoadChanged().
(webkitWebViewLoadChanged): Pass false as isDelayedEvent parameter
of webkitWebViewEmitLoadChanged().
(webkitWebViewLoadFailed):
(webkitWebViewLoadFailedWithTLSErrors):
(webkitWebViewUpdateURI): Deleted.

  • UIProcess/API/gtk/WebKitWebViewPrivate.h:

Tools:

  • TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp:

(loadChangedCallback): Only check is-loading is false when load
has finished if the load didn't fail due to a cancellation.
(loadFailedCallback): Only check is-loading is false if the load
didn't fail due to a cancellation.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::loadURI): Check is-loading is true and active URI is
the requested one rigth after requesting the load.
(WebViewTest::loadHtml): Ditto.
(WebViewTest::loadPlainText): Ditto.
(WebViewTest::loadBytes): Ditto.
(WebViewTest::loadRequest): Ditto.
(WebViewTest::loadAlternateHTML): Ditto.
(WebViewTest::goBack): Ditto.
(WebViewTest::goForward): Ditto.
(WebViewTest::goToBackForwardListItem): Ditto.

11:26 PM Changeset in webkit [174496] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] Show repaint counters in tile coverage map.
<https://webkit.org/b/137544>

Reviewed by Simon Fraser.

Add repaint counters to the tile layers in the "tiled scrolling
indicator" display. This will be helpful for diagnosing issues with
excessive tile repaints outside the visible viewport.

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::setNeedsDisplayInRect):

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::drawTileMapContents):

9:07 PM Changeset in webkit [174495] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Remove some more passing tests from TestExpectations.

  • TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
7:50 PM Changeset in webkit [174494] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Another unreviewed build fix after r174475.

Don't try to insert a duplicated row into build_commits as it results in a database constraint error.

This has been caught by a test in /api/report. I don't know why I thought all tests were passing.

  • public/include/report-processor.php:
6:51 PM Changeset in webkit [174493] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r174480. Broke iOS build.

  • rendering/RenderObject.cpp:

(WebCore::includeNonFixedHeight):

6:49 PM Changeset in webkit [174492] by Simon Fraser
  • 1 edit
    951 adds in trunk/LayoutTests

iOS Simulator results for css3 tests.

  • platform/ios-simulator/css3/*: Added
6:49 PM Changeset in webkit [174491] by Simon Fraser
  • 1 edit
    753 adds in trunk/LayoutTests

iOS Simulator results for css2.1 tests.

  • platform/ios-simulator/css2.1/*: Added
6:48 PM Changeset in webkit [174490] by Simon Fraser
  • 1 edit
    116 adds in trunk/LayoutTests

iOS Simulator results for css1 tests.

  • platform/ios-simulator/css1/basic/containment-expected.txt: Added.
  • platform/ios-simulator/css1/basic/contextual_selectors-expected.txt: Added.
  • platform/ios-simulator/css1/basic/grouping-expected.txt: Added.
  • platform/ios-simulator/css1/basic/id_as_selector-expected.txt: Added.
  • platform/ios-simulator/css1/basic/inheritance-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/acid_test-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_bottom-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_bottom_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_bottom_width-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_bottom_width_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_color-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_color_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_left-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_left_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_left_width-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_left_width_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_right-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_right_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_right_width-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_right_width_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_style-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_style_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_top-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_top_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_top_width-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_top_width_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_width-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/border_width_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/clear-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/clear_float-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/float-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/float_elements_in_series-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/float_margin-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/float_on_text_elements-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/height-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin_bottom-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin_bottom_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin_left-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin_left_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin_right-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin_right_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin_top-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/margin_top_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding_bottom-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding_bottom_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding_left-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding_left_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding_right-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding_right_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding_top-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/padding_top_inline-expected.txt: Added.
  • platform/ios-simulator/css1/box_properties/width-expected.txt: Added.
  • platform/ios-simulator/css1/cascade/cascade_order-expected.txt: Added.
  • platform/ios-simulator/css1/cascade/important-expected.txt: Added.
  • platform/ios-simulator/css1/classification/display-expected.txt: Added.
  • platform/ios-simulator/css1/classification/list_style-expected.txt: Added.
  • platform/ios-simulator/css1/classification/list_style_image-expected.txt: Added.
  • platform/ios-simulator/css1/classification/list_style_position-expected.txt: Added.
  • platform/ios-simulator/css1/classification/list_style_type-expected.txt: Added.
  • platform/ios-simulator/css1/classification/white_space-expected.txt: Added.
  • platform/ios-simulator/css1/color_and_background/background-expected.txt: Added.
  • platform/ios-simulator/css1/color_and_background/background_attachment-expected.txt: Added.
  • platform/ios-simulator/css1/color_and_background/background_color-expected.txt: Added.
  • platform/ios-simulator/css1/color_and_background/background_image-expected.txt: Added.
  • platform/ios-simulator/css1/color_and_background/background_position-expected.txt: Added.
  • platform/ios-simulator/css1/color_and_background/background_repeat-expected.txt: Added.
  • platform/ios-simulator/css1/color_and_background/color-expected.txt: Added.
  • platform/ios-simulator/css1/conformance/forward_compatible_parsing-expected.txt: Added.
  • platform/ios-simulator/css1/font_properties/font-expected.txt: Added.
  • platform/ios-simulator/css1/font_properties/font_family-expected.txt: Added.
  • platform/ios-simulator/css1/font_properties/font_size-expected.txt: Added.
  • platform/ios-simulator/css1/font_properties/font_style-expected.txt: Added.
  • platform/ios-simulator/css1/font_properties/font_variant-expected.txt: Added.
  • platform/ios-simulator/css1/font_properties/font_weight-expected.txt: Added.
  • platform/ios-simulator/css1/formatting_model/canvas-expected.txt: Added.
  • platform/ios-simulator/css1/formatting_model/floating_elements-expected.txt: Added.
  • platform/ios-simulator/css1/formatting_model/height_of_lines-expected.txt: Added.
  • platform/ios-simulator/css1/formatting_model/horizontal_formatting-expected.txt: Added.
  • platform/ios-simulator/css1/formatting_model/inline_elements-expected.txt: Added.
  • platform/ios-simulator/css1/formatting_model/replaced_elements-expected.txt: Added.
  • platform/ios-simulator/css1/formatting_model/vertical_formatting-expected.txt: Added.
  • platform/ios-simulator/css1/pseudo/anchor-expected.txt: Added.
  • platform/ios-simulator/css1/pseudo/firstletter-expected.txt: Added.
  • platform/ios-simulator/css1/pseudo/firstline-expected.txt: Added.
  • platform/ios-simulator/css1/pseudo/multiple_pseudo_elements-expected.txt: Added.
  • platform/ios-simulator/css1/pseudo/pseudo_elements_in_selectors-expected.txt: Added.
  • platform/ios-simulator/css1/text_properties/letter_spacing-expected.txt: Added.
  • platform/ios-simulator/css1/text_properties/line_height-expected.txt: Added.
  • platform/ios-simulator/css1/text_properties/text_align-expected.txt: Added.
  • platform/ios-simulator/css1/text_properties/text_decoration-expected.txt: Added.
  • platform/ios-simulator/css1/text_properties/text_indent-expected.txt: Added.
  • platform/ios-simulator/css1/text_properties/text_transform-expected.txt: Added.
  • platform/ios-simulator/css1/text_properties/vertical_align-expected.txt: Added.
  • platform/ios-simulator/css1/text_properties/word_spacing-expected.txt: Added.
  • platform/ios-simulator/css1/units/color_units-expected.txt: Added.
  • platform/ios-simulator/css1/units/length_units-expected.txt: Added.
  • platform/ios-simulator/css1/units/percentage_units-expected.txt: Added.
  • platform/ios-simulator/css1/units/urls-expected.txt: Added.
6:14 PM Changeset in webkit [174489] by mmaxfield@apple.com
  • 12 edits
    4 adds in trunk

Inline ruby does not get justified correctly
https://bugs.webkit.org/show_bug.cgi?id=137421

Source/WebCore:

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-10-08
Reviewed by Dave Hyatt.

We justify text in two passes: one counts expansion opportunities within a line,
and the other doles out widths and expansion amounts to constituent inline boxes.
This patch simply modifies both passes to descend into ruby bases. Once it has
done so, we then re-layout the ruby run with the newly found width.

Tests: fast/ruby/ruby-justification-hittest.html

fast/ruby/ruby-justification.html

  • rendering/InlineBox.h:

(WebCore::InlineBox::setExpansion): updateRubyForJustifiedText() has to set the
expansion for an inline box, so make setExpansion() public.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::updateRubyForJustifiedText): Given values that have already been
computed in computeInlineDirectionPositionsForSegment(), adjust the widths and
expansion values for all the various pieces of ruby.
(WebCore::computeExpansionForJustifiedText): Call updateRubyForJustifiedText() if
necessary.
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment): When
counting expansion opportunities in a line, include ruby bases.

  • rendering/RenderRubyRun.h: Fix grammar in comment.
  • rendering/RenderText.cpp:

(WebCore::RenderText::stringView): Give default arguments to function.

  • rendering/RenderText.h: Ditto.

LayoutTests:

Reviewed by Dave Hyatt.

Test that ruby gets spaces inside the ruby base, and that hit testing the
ruby base gives us correct answers.

  • fast/ruby/ruby-justification-expected.html: Added.
  • fast/ruby/ruby-justification-hittest-expected.txt: Added.
  • fast/ruby/ruby-justification-hittest.html: Added.
  • fast/ruby/ruby-justification.html: Added.
  • platform/mac/fast/ruby/bopomofo-rl-expected.txt: Ruby text gets the CSS

property text-align: justify, which worked prior to this patch. However, this
patch now justifies ruby bases, so now if there is text that is both a ruby
base and ruby text (such as ruby in ruby) it correctly gets justified. This
test does such, and therefore needs to be rebaselined.

6:05 PM Changeset in webkit [174488] by Simon Fraser
  • 2 edits
    317 adds in trunk/LayoutTests

New baselines for iOS compositing tests.

  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/compositing/absolute-inside-out-of-view-fixed-expected.txt: Added.
  • platform/ios-simulator/compositing/animation/filling-animation-overlap-at-end-expected.txt: Added.
  • platform/ios-simulator/compositing/animation/filling-animation-overlap-expected.txt: Added.
  • platform/ios-simulator/compositing/animation/layer-for-filling-animation-expected.txt: Added.
  • platform/ios-simulator/compositing/animation/state-at-end-event-transform-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/backface-visibility-flip-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/backface-visibility-in-3dtransformed-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/border-radius-no-backing-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/child-layer-no-backing-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/filter-no-backing-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/inline-block-no-backing-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/masked-child-no-backing-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/no-backing-for-clip-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/no-backing-for-clip-overhang-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/no-backing-for-clip-overlap-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/no-backing-for-perspective-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/replaced-child-no-backing-expected.txt: Added.
  • platform/ios-simulator/compositing/backing/whitespace-nodes-no-backing-expected.txt: Added.
  • platform/ios-simulator/compositing/bounds-in-flipped-writing-mode-expected.txt: Added.
  • platform/ios-simulator/compositing/checkerboard-expected.txt: Added.
  • platform/ios-simulator/compositing/clip-child-by-non-stacking-ancestor-expected.txt: Added.
  • platform/ios-simulator/compositing/color-matching/image-color-matching-expected.txt: Added.
  • platform/ios-simulator/compositing/color-matching/pdf-image-match-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/ancestor-clipped-in-paginated-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/clipped-in-paginated-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/composited-columns-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/composited-columns-vertical-rl-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/composited-in-paginated-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/composited-in-paginated-rl-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/composited-lr-paginated-repaint-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/composited-nested-columns-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/composited-rl-paginated-repaint-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/hittest-composited-in-paginated-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/rotated-in-paginated-expected.txt: Added.
  • platform/ios-simulator/compositing/columns/untransformed-composited-in-paginated-expected.txt: Added.
  • platform/ios-simulator/compositing/compositing-visible-descendant-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/background-clip-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/background-color-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/body-background-painted-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/body-background-skipped-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/control-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/filter-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/hidden-with-visible-child-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/hidden-with-visible-text-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/layer-opacity-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/layer-transform-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/overflow-hidden-child-layers-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-opaque/visibility-hidden-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-scale/animating-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-scale/rounded-contents-scale-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-scale/scaled-ancestor-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-scale/simple-scale-expected.txt: Added.
  • platform/ios-simulator/compositing/contents-scale/z-translate-expected.txt: Added.
  • platform/ios-simulator/compositing/direct-image-compositing-expected.txt: Added.
  • platform/ios-simulator/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt: Added.
  • platform/ios-simulator/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt: Added.
  • platform/ios-simulator/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt: Added.
  • platform/ios-simulator/compositing/fixed-image-loading-expected.txt: Added.
  • platform/ios-simulator/compositing/generated-content-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/abs-position-inside-opacity-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/ancestor-overflow-change-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/bounds-clipped-composited-child-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/clip-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/clip-inside-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/clipping-foreground-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/composited-html-size-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/composited-in-columns-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/fixed-in-composited-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/fixed-position-composited-switch-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/fixed-position-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/flipped-writing-mode-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/foreground-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/horizontal-scroll-composited-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/layer-due-to-layer-children-deep-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/layer-due-to-layer-children-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/layer-due-to-layer-children-switch-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-fixed-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-overflow-repaint-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-positioned-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-transformed-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/outline-change-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/partial-layout-update-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/preserve-3d-switching-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/root-layer-update-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/tall-page-composited-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/geometry/vertical-scroll-composited-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/become-composited-nested-iframes-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/become-overlapped-iframe-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/composited-iframe-alignment-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/composited-iframe-scroll-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/composited-parent-iframe-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/connect-compositing-iframe-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/connect-compositing-iframe2-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/connect-compositing-iframe3-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/enter-compositing-iframe-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/iframe-content-flipping-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/iframe-copy-on-scroll-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/iframe-in-composited-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/iframe-resize-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/iframe-size-from-zero-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/iframe-size-to-zero-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/iframe-src-change-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/invisible-nested-iframe-hide-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/invisible-nested-iframe-show-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/leave-compositing-iframe-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/nested-iframe-scrolling-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/overlapped-iframe-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/overlapped-iframe-iframe-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/overlapped-nested-iframes-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/page-cache-layer-tree-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/resizer-expected.txt: Added.
  • platform/ios-simulator/compositing/iframes/scrolling-iframe-expected.txt: Added.
  • platform/ios-simulator/compositing/images/clip-on-directly-composited-image-expected.txt: Added.
  • platform/ios-simulator/compositing/images/direct-image-background-color-expected.txt: Added.
  • platform/ios-simulator/compositing/images/direct-image-object-fit-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/animation-overlap-with-children-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/fixed-position-and-transform-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/fixed-position-out-of-view-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/fixed-position-under-transform-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/no-compositing-for-sticky-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-animation-clipping-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-animation-container-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-animation-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-child-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-clipping-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-transformed-3d-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-transformed-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-transforms-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/rotate3d-overlap-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/scroll-partial-update-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/spanOverlapsCanvas-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/stacking-context-overlap-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/translatez-overlap-expected.txt: Added.
  • platform/ios-simulator/compositing/masks/direct-image-mask-expected.txt: Added.
  • platform/ios-simulator/compositing/masks/mask-layer-size-expected.txt: Added.
  • platform/ios-simulator/compositing/masks/masked-ancestor-expected.txt: Added.
  • platform/ios-simulator/compositing/masks/multiple-masks-expected.txt: Added.
  • platform/ios-simulator/compositing/masks/simple-composited-mask-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow-trumps-transform-style-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/ancestor-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/clip-descendents-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/content-gains-scrollbars-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/content-loses-scrollbars-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/fixed-position-ancestor-clip-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/nested-scrolling-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/overflow-auto-with-touch-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/overflow-overlay-with-touch-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/overflow-positioning-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/overflow-scroll-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/overflow-scrollbar-layers-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/parent-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/remove-overflow-crash2-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/resize-painting-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/scrollbar-painting-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/scrolling-without-painting-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/textarea-scroll-touch-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/theme-affects-visual-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/overflow/updating-scrolling-content-expected.txt: Added.
  • platform/ios-simulator/compositing/plugins/composited-plugin-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/animation-inside-reflection-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/compositing-change-inside-reflection-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/deeply-nested-reflections-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/direct-image-object-fit-reflected-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/masked-reflection-on-composited-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-anchor-point-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-animated-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-mask-change-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-on-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-opacity-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-size-change-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-transformed-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-transformed2-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/nested-reflection-transition-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/reflection-in-composited-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/reflection-on-composited-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/reflection-opacity-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/reflection-ordering-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/reflection-positioning-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/reflection-positioning2-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/simple-composited-reflections-expected.txt: Added.
  • platform/ios-simulator/compositing/reflections/transform-inside-reflection-expected.txt: Added.
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt: Added.
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-expected.txt: Added.
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt: Added.
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-from-outflow-expected.txt: Added.
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt: Added.
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt: Added.
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt: Added.
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt: Added.
  • platform/ios-simulator/compositing/regions/fixed-transformed-in-named-flow-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/become-overlay-composited-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/composited-document-element-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/content-into-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/fixed-background-scroll-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/invalidations-on-composited-layers-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/layer-repaint-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/layer-repaint-rects-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/opacity-between-absolute-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/opacity-between-absolute2-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/overflow-into-content-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/page-scale-repaint-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/positioned-movement-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/repaint-on-layer-grouping-change-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/resize-repaint-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-absolute-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-absolute-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-fixed-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-fixed-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-iframe-absolute-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-iframe-fixed-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-iframe-relative-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-overflow-scrolling-expected.txt: Added.
  • platform/ios-simulator/compositing/rtl/rtl-relative-expected.txt: Added.
  • platform/ios-simulator/compositing/shadows/shadow-drawing-expected.txt: Added.
  • platform/ios-simulator/compositing/sibling-positioning-expected.txt: Added.
  • platform/ios-simulator/compositing/text-on-large-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/tiled-layers-hidpi-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/backface-preserve-3d-tiled-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/crash-reparent-tiled-layer-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/huge-layer-add-remove-child-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/huge-layer-img-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/huge-layer-with-layer-children-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/tile-cache-zoomed-expected.txt: Added.
  • platform/ios-simulator/compositing/tiling/tiled-layer-resize-expected.txt: Added.
  • platform/ios-simulator/compositing/transitions/scale-transition-no-start-expected.txt: Added.
  • platform/ios-simulator/compositing/transitions/singular-scale-transition-expected.txt: Added.
  • platform/ios-simulator/compositing/visibility/layer-visible-content-expected.txt: Added.
  • platform/ios-simulator/compositing/visibility/visibility-composited-expected.txt: Added.
  • platform/ios-simulator/compositing/visibility/visibility-composited-transforms-expected.txt: Added.
  • platform/ios-simulator/compositing/visibility/visibility-image-layers-dynamic-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/2d-transformed-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/3d-transform-style-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/3d-transformed-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/animated-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/animated-from-none-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/clipped-by-viewport-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/clipped-visible-rect-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/flipped-preserve-3d-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/iframe-and-layers-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/iframe-no-layers-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/nested-transform-expected.txt: Added.
  • platform/ios-simulator/compositing/visible-rect/scrolled-expected.txt: Added.
  • platform/ios-simulator/compositing/webgl/webgl-background-color-expected.txt: Added.
  • platform/ios-simulator/compositing/webgl/webgl-nonpremultiplied-blend-expected.txt: Added.
  • platform/ios-simulator/compositing/webgl/webgl-reflection-expected.txt: Added.
6:05 PM Changeset in webkit [174487] by Simon Fraser
  • 1 edit
    11 adds in trunk/LayoutTests

Some animation test results for the iOS Simulator build.

  • platform/ios-simulator/animations/3d/change-transform-in-end-event-expected.txt: Added.
  • platform/ios-simulator/animations/3d/matrix-transform-type-animation-expected.txt: Added.
  • platform/ios-simulator/animations/3d/state-at-end-event-transform-expected.txt: Added.
  • platform/ios-simulator/animations/additive-transform-animations-expected.txt: Added.
  • platform/ios-simulator/animations/cross-fade-border-image-source-expected.txt: Added.
  • platform/ios-simulator/animations/cross-fade-list-style-image-expected.txt: Added.
  • platform/ios-simulator/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
  • platform/ios-simulator/animations/cross-fade-webkit-mask-image-expected.txt: Added.
  • platform/ios-simulator/animations/state-at-end-event-expected.txt: Added.
5:19 PM Changeset in webkit [174486] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix after r174477.

  • init-database.sql: Removed build_commits_index since it's redundant with build_commit's primary key.

Also fixed a syntax error that we were missing "," after line that declared build_commit column.

  • public/api/runs.php: Fixed the query so that test_runs without commits data will be retrieved.

This is necessary for baseline and target values manually added via admin pages.

5:12 PM Changeset in webkit [174485] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

PopupMenus should indicate if they are using a custom rendering
https://bugs.webkit.org/show_bug.cgi?id=137543
<rdar://problem/18544212>

Reviewed by Beth Dakin.

On Yosemite there is an animation as a popup menu closes. We can't use
this when there is a custom rendering, since the animation doesn't match
the final result. Implement this by hooking into the existing code
for hiding the arrows during animation - a WebKitSystemInterface update
will implement the other side.

  • platform/mac/WebCoreSystemInterface.h: Rename parameter to be more clear.
  • platform/mac/WebCoreSystemInterface.mm:
  • rendering/RenderMenuList.cpp:

(RenderMenuList::menuStyle): We need to check that we are a native-looking
button, not just something with appearance.

5:08 PM Changeset in webkit [174484] by Joseph Pecoraro
  • 4 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: CSS Pretty Printing fails to put space between value functions around ending parenthesis
https://bugs.webkit.org/show_bug.cgi?id=137415

Reviewed by Timothy Hatcher.

Add a space after a closing parenthesis if we are still inside a property.
This adds space between space separated function lists such as
-webkit-transform:foo(...)bar(...). Also add a test for keyframe syntax.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • Tools/PrettyPrinting/css-tests/keyframes-expected.css: Added.
  • Tools/PrettyPrinting/css-tests/keyframes.css: Added.
  • Tools/PrettyPrinting/index.html:
  • UserInterface/Views/CodeMirrorFormatters.js:
5:08 PM Changeset in webkit [174483] by Joseph Pecoraro
  • 4 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: CSS Pretty Printing fails to put space between rgb(...) and numbers in minified gradients
https://bugs.webkit.org/show_bug.cgi?id=137414

Reviewed by Timothy Hatcher.

Add whitespace between rgb(...) and a number, possible in gradient
syntax like "linear-gradient(rgb(...)0%,rgb(...)100%)".

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • Tools/PrettyPrinting/css-tests/gradient-expected.css: Added.

(.dot-nav:nth-child(1n) li a.active):

  • Tools/PrettyPrinting/css-tests/gradient.css: Added.

(.dot-nav:nth-child(1n) li a.active):

  • Tools/PrettyPrinting/index.html:
  • UserInterface/Views/CodeMirrorFormatters.js:
5:08 PM Changeset in webkit [174482] by Joseph Pecoraro
  • 5 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: CSS Pretty Printing fails to wrap long lines of selectors with pseudo classes/elements
https://bugs.webkit.org/show_bug.cgi?id=137413

Reviewed by Timothy Hatcher.

Long line wrapping was breaking as soon as there was a ':' for a psuedo
class or element. Likewise it was counting comment strings as part of
the length of the line even though it would get a newline after it.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • Tools/PrettyPrinting/css-tests/basic-expected.css:

(progress, section, summary, time):

  • Tools/PrettyPrinting/css-tests/wrapping-expected.css: Added.

(a.tryamacs, a.upgradenows):
(a.tryamacs:hover, a.upgradenows:hover):

  • Tools/PrettyPrinting/css-tests/wrapping.css: Added.

(a.browsewebappss,a.businessstores,a.buyiphones,a.buynows,a.buynows-arrow,a.comingsoons,p::before,a.descargarahoras,a.downloadituness,a.downloadnows,a.finds,a.freetrials,a.getstarteds,a.gos,a.howtoapplys,a.howtobuys,a.joinnows,a.learnmores,a.nikebuynows,a.notifymes,a.ordernows,a.preordernows,a.preorders,a.reserves,a.startyoursearchs,a.submits,a.tryamacs,a.upgradenows):
(a.browsewebappss:hover,a.businessstores:hover,a.buyiphones:hover,a.buynows:hover,a.buynows-arrow:hover,a.comingsoons:hover,p::before,a.descargarahoras:hover,a.downloadituness:hover,a.downloadnows:hover,a.finds:hover,a.freetrials:hover,a.getstarteds:hover,a.gos:hover,a.howtoapplys:hover,a.howtobuys:hover,a.joinnows:hover,a.learnmores:hover,a.nikebuynows:hover,a.notifymes:hover,a.ordernows:hover,a.preordernows:hover,a.preorders:hover,a.reserves:hover,a.startyoursearchs:hover,a.submits:hover,a.tryamacs:hover,a.upgradenows:hover):

  • Tools/PrettyPrinting/index.html:
  • UserInterface/Views/CodeMirrorFormatters.js:
4:37 PM Changeset in webkit [174481] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Re-marking fast/hidpi/image-srcset-svg-canvas.html as an expected image failure.

  • platform/mac/TestExpectations:
4:33 PM Changeset in webkit [174480] by Chris Dumez
  • 29 edits in trunk/Source

Use is<>() / downcast<>() for RenderBlock objects
https://bugs.webkit.org/show_bug.cgi?id=137512

Reviewed by Darin Adler.

Source/WebCore:

Use is<>() / downcast<>() for RenderBlock objects and clean up the
surrounding code.

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::firstChildConsideringContinuation):
(WebCore::lastChildConsideringContinuation):
(WebCore::AccessibilityRenderObject::firstChild):
(WebCore::startOfContinuations):
(WebCore::endOfContinuations):
(WebCore::childBeforeConsideringContinuations):
(WebCore::AccessibilityRenderObject::previousSibling):
(WebCore::AccessibilityRenderObject::nextSibling):
(WebCore::nextContinuation):
(WebCore::AccessibilityRenderObject::renderParentObject):
(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::setValue):

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMNode containsOnlyInlineObjects]):
(-[DOMNode isSelectableBlock]):
(-[DOMHTMLElement structuralComplexityContribution]):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForGridTrackList):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::shouldRepresentNodeOffsetZero):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::preferredHeight):

  • rendering/LogicalSelectionOffsetCaches.h:

(WebCore::containingBlockForFixedPosition):
(WebCore::containingBlockForAbsolutePosition):
(WebCore::containingBlockForObjectInFlow):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::continuationBefore):
(WebCore::RenderBlock::splitBlocks):
(WebCore::RenderBlock::addChildIgnoringContinuation):
(WebCore::canMergeAnonymousBlock):
(WebCore::canMergeContiguousAnonymousBlocks):
(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::removeChild):
(WebCore::RenderBlock::blockElementContinuation):
(WebCore::RenderBlock::blockSelectionGaps):
(WebCore::RenderBlock::blockBeforeWithinSelectionRoot):
(WebCore::isChildHitTestCandidate):
(WebCore::RenderBlock::firstLineBlock):
(WebCore::findFirstLetterBlock):
(WebCore::RenderBlock::childBecameNonInline):
(WebCore::RenderBlock::hasMarginBeforeQuirk):
(WebCore::RenderBlock::hasMarginAfterQuirk):

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

(WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
(WebCore::RenderBlockFlow::estimateLogicalTopPosition):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::positionNewFloats):
(WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
(WebCore::computeInlineStaticDistance):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalHeight):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::accumulateInFlowPositionOffsets):
(WebCore::RenderBoxModelObject::moveChildTo):
(WebCore::RenderBoxModelObject::moveChildrenTo):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::propagateStyleToAnonymousChildren):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):

  • rendering/RenderFullScreen.cpp:

(WebCore::RenderFullScreen::unwrapRenderer):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::inlineElementContinuation):
(WebCore::updateStyleOfAnonymousBlockContinuations):
(WebCore::RenderInline::styleDidChange):
(WebCore::nextContinuation):
(WebCore::RenderInline::splitFlow):
(WebCore::RenderInline::positionForPoint):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollbarsAfterLayout):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderListItem.cpp:

(WebCore::getParentOfFirstLineBox):
(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
(WebCore::RenderListItem::positionListMarker):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::maxPageLogicalHeight):

  • rendering/RenderObject.cpp:

(WebCore::includeNonFixedHeight):
(WebCore::RenderObject::checkBlockPositionedObjectsNeedLayout):
(WebCore::RenderObject::containingBlock):
(WebCore::RenderObject::handleDynamicFloatPositionChange):
(WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary):
(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderRuby.cpp:

(WebCore::rubyBeforeBlock):
(WebCore::rubyAfterBlock):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):

  • rendering/TextAutosizer.cpp:

(WebCore::TextAutosizer::processSubtree):
(WebCore::TextAutosizer::processContainer):
(WebCore::TextAutosizer::measureDescendantTextWidth):
(WebCore::TextAutosizer::findDeepestBlockContainingAllText):
(WebCore::TextAutosizer::findFirstTextLeafNotInCluster):

  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::layout):

Source/WebKit2:

Use is<>() / downcast<>() for RenderBlock objects and clean up the
surrounding code.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::contractedRangeFromHandle):

3:11 PM Changeset in webkit [174479] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark two inspector-protocol tests as crashing.
https://bugs.webkit.org/show_bug.cgi?id=137529

  • platform/win/TestExpectations:
1:54 PM Changeset in webkit [174478] by oliver@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Make sure arguments tearoff is performed through the environment record if necessary
https://bugs.webkit.org/show_bug.cgi?id=137538

Reviewed by Michael Saboff.

Fairly simple change. If we have a lexical record we need to pull the unmodified
arguments object from the record and then use the standard op_tear_off_arguments
instruction on the temporary.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetOwnScope):
(JSC::BytecodeGenerator::emitReturn):

  • bytecompiler/BytecodeGenerator.h:
1:40 PM Changeset in webkit [174477] by rniwa@webkit.org
  • 1 edit
    18 adds in trunk/Websites/perf.webkit.org

Add v2 UI for the perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=137537

Rubber-stamped by Andreas Kling.

  • public/v2: Added.
  • public/v2/app.css: Added.
  • public/v2/app.js: Added.
  • public/v2/chart-pane.css: Added.
  • public/v2/data.js: Added.
  • public/v2/index.html: Added.
  • public/v2/js: Added.
  • public/v2/js/d3: Added.
  • public/v2/js/d3/LICENSE: Added.
  • public/v2/js/d3/d3.js: Added.
  • public/v2/js/d3/d3.min.js: Added.
  • public/v2/js/ember-data.js: Added.
  • public/v2/js/ember.js: Added.
  • public/v2/js/handlebars.js: Added.
  • public/v2/js/jquery.min.js: Added.
  • public/v2/js/statistics.js: Added.
  • public/v2/manifest.js: Added.
  • public/v2/popup.js: Added.
1:30 PM Changeset in webkit [174476] by jer.noble@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Unreviewed clean up of inadventant double-ChangeLog.

1:26 PM Changeset in webkit [174475] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed follow-up fix for r174460. Do not register for KVOs if the object does not respond to the requested property.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]):
(-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]):
(-[CDMSessionMediaSourceAVFObjCObserver invalidate]):

1:26 PM Changeset in webkit [174474] by jer.noble@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Layout Test media/track/track-forced-subtitles-in-band.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=137505

Reviewed by Simon Fraser.

Now that the media controls can have audio as well as text tracks, use the aria-labelledby attribute
to get the <ul> containing the text track menu list items.

  • media/track/track-forced-subtitles-in-band.html:
  • media/track/track-user-preferences-expected.txt:
  • media/track/track-user-preferences.html:
  • media/trackmenu-test.js:

(trackMenuListByLabel):
(captionTrackMenuList):
(audioTrackMenuList):
(indexOfMenuItemBeginningWith):
(indexOfCaptionMenuItemBeginningWith):
(indexOfAudioTrackMenuItemBeginningWith):
(selectMenuItemFromList):
(selectCaptionMenuItem):
(selectAudioTrackMenuItem):
(listTrackMenu):
(trackMenuList): Deleted.

  • media/video-controls-audiotracks-trackmenu.html:
  • media/video-controls-captions-trackmenu-includes-enabled-track.html:
  • media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html:
  • media/video-controls-captions-trackmenu.html:
1:16 PM Changeset in webkit [174473] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[WinCairo] Enable JIT on 32-bit.
https://bugs.webkit.org/show_bug.cgi?id=137521

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-10-08
Reviewed by Mark Lam.

Enable JIT on Windows 32-bit, but disable it at runtime if SSE2 is not present.

Source/JavaScriptCore:

  • JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl:
  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

Source/WTF:

  • wtf/Platform.h:
1:04 PM Changeset in webkit [174472] by jer.noble@apple.com
  • 10 edits in trunk/LayoutTests

Layout Test media/track/track-forced-subtitles-in-band.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=137505

Reviewed by Simon Fraser.

Now that the media controls can have audio as well as text tracks, use the aria-labelledby attribute
to get the <ul> containing the text track menu list items.

  • media/track/track-forced-subtitles-in-band.html:
  • media/track/track-user-preferences-expected.txt:
  • media/track/track-user-preferences.html:
  • media/trackmenu-test.js:

(trackMenuListByLabel):
(captionTrackMenuList):
(audioTrackMenuList):
(indexOfMenuItemBeginningWith):
(indexOfCaptionMenuItemBeginningWith):
(indexOfAudioTrackMenuItemBeginningWith):
(selectMenuItemFromList):
(selectCaptionMenuItem):
(selectAudioTrackMenuItem):
(listTrackMenu):
(trackMenuList): Deleted.

  • media/video-controls-audiotracks-trackmenu.html:
  • media/video-controls-captions-trackmenu-includes-enabled-track.html:
  • media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html:
  • media/video-controls-captions-trackmenu.html:
1:01 PM Changeset in webkit [174471] by Brent Fulgham
  • 16 edits in trunk/Tools

[Win] Resolve various static analyzer warnings in Tools.
https://bugs.webkit.org/show_bug.cgi?id=137534

Reviewed by Dean Jackson.

  • DumpRenderTree/cg/ImageDiffCG.cpp:

(main): User proper printf specifiers.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::childrenCount): Handle possibility that
gcc_accChildCount returns with an error.
(accessibilityState): Ditto for gcc_accState.

  • DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:

(DRTDesktopNotificationPresenter::showDesktopNotification): Use proper
check for return value from 'isHTML'. HRESULT is not a boolean and cannot
be treated as such.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(DumpRenderTreeWndProc): Avoid possible infinite loop on teardown caused
by comparing an unsigned value as being greater-than zero.

  • DumpRenderTree/win/EditingDelegate.cpp:

(dump): Pass proper character pointer type to printf.
(EditingDelegate::shouldBeginEditingInDOMRange): Ditto.
(EditingDelegate::shouldEndEditingInDOMRange): Ditto.
(EditingDelegate::shouldInsertNode): Ditto.
(EditingDelegate::shouldInsertText): Ditto.
(EditingDelegate::shouldDeleteDOMRange): Ditto.
(EditingDelegate::shouldChangeSelectedDOMRange): Ditto.
(EditingDelegate::shouldApplyStyle): Ditto.

  • DumpRenderTree/win/EventSender.cpp:

(beginDragWithFilesCallback): Handle possible error case for GlobalAlloc.

  • DumpRenderTree/win/EventSender.h: Add proper declaration for HRESULT to match

system headers.

  • DumpRenderTree/win/PixelDumpSupportWin.cpp: Handle possible failure

from CreateDIBSection.

  • DumpRenderTree/win/UIDelegate.cpp: Ensure proper type is passed to printf.
  • TestWebKitAPI/Tests/WTF/MediaTime.cpp: Get rid of workaround for NaN under

older versions of MSVC we no longer support.

  • TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp: Use proper types and API

for 64-bit builds.

  • TestWebKitAPI/TestsController.cpp: Use NeverDestroyed like a good citizen.
  • TestWebKitAPI/TestsController.h: Ditto.
  • WinLauncher/Common.cpp: Handle possible failure from GetModuleFileName.
  • WinLauncher/WinLauncher.cpp: Make order of operations explicit to avoid

performing bitwise | before the comparison is done.

12:34 PM Changeset in webkit [174470] by Brent Fulgham
  • 6 edits in trunk/Source/WebKit/win

[Win] Resolve various static analyzer warnings in WebKit.
https://bugs.webkit.org/show_bug.cgi?id=137531

Reviewed by Dean Jackson.

  • MarshallingHelpers.cpp:

(MarshallingHelpers::safeArrayToIntArray): Handle possible failure of
SafeArrayGetElement call.
(MarshallingHelpers::safeArrayToIUnknownArray): Ditto.

  • MemoryStream.cpp:

(MemoryStream::CopyTo): Zero-initialize 'written' to silence warning.

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::exceededDatabaseQuota): Handle possible failure of
GetModuleFileName.

  • WebHistory.cpp:

(getDayBoundaries): Handle possible failure of TzSpecificLocalTimeToSystemTime

  • WebView.cpp:

(WebView::shouldInitializeTrackPointHack): Zero initialize return value.
(WebView::dispatchDidReceiveIconFromWebFrame): Avoid possible DeleteObject
call on a null bitmap handle.
(WebView::standardUserAgentWithApplicationName): Get rid of spurious
pointer dereference.

12:24 PM Changeset in webkit [174469] by dino@apple.com
  • 5 edits in trunk

Add deprecation warning for CSSKeyframesRule::appendRule
https://bugs.webkit.org/show_bug.cgi?id=137532
<rdar://problem/18585745>

Reviewed by Brent Fulgham.

Source/WebCore:

In r173982 (webkit.org/b/57910) we added insertRule to match
the spec. We should print a warning to the JS console suggesting
users move to insertRule.

  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::appendRule): Add a message to the system
console.

  • css/WebKitCSSKeyframesRule.h:

LayoutTests:

Update test expectations to include console message.

  • animations/change-keyframes-expected.txt:
12:21 PM Changeset in webkit [174468] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Remove superfluously duplicated code in public/api/report-commits.php.

12:21 PM Changeset in webkit [174467] by Brent Fulgham
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[Win] Use proper v120 target for 64-bit builds.

  • ANGLE.vcxproj/libEGL.vcxproj:
12:21 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
11:55 AM Changeset in webkit [174466] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

Text drawn with an SVG font has no spaces when word-rounding hacks are enabled
https://bugs.webkit.org/show_bug.cgi?id=137463

Reviewed by Darin Adler.

Source/WebCore:

When rounding hacks are enabled, we use the "adjusted space width" instead of the
regular space width. However, the SVG-font-specific implementation of the
SimpleFontData constructor doesn't initialize this value, so it was getting set
to an undefined value (which happened to be close to 0 in my tests).

Test: svg/text/svg-font-word-rounding-hacks-spaces.html

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData):
(WebCore::CSSFontFaceSource::ensureFontData):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::getSVGFontById):

  • platform/graphics/SimpleFontData.h:
  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFontData):

LayoutTests:

Make sure that spaces are present.

  • svg/text/svg-font-word-rounding-hacks-spaces.html:
  • svg/text/svg-font-word-rounding-hacks-spaces-expected.html:
11:32 AM Changeset in webkit [174465] by Brent Fulgham
  • 12 edits in trunk/Source/WebCore

[Win] Resolve various static analyzer warnings in WebCore.
https://bugs.webkit.org/show_bug.cgi?id=137526

Reviewed by Dean Jackson.

A series of small changes to resolve various issues found by the MSVC static analyzer.

  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::clear): Add assertion that it->value should never be null.

  • page/SessionIDHash.h:

(WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): Add explicit cast to avoid
compiler warning.
(WTF::HashTraits<WebCore::SessionID>::isDeletedValue): Ditto.

  • page/win/FrameCGWin.cpp:

(WebCore::imageFromRect): Resolve static analyzer warnings by initializing bits, and
checking the return value of ::CreateDIBSection, which return nullptr on error.

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(printLayer): Use correct MSVC format specifier for size_t.

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::getLinkedFonts): Handle possibility that a font link key does not exist.
(WebCore::FontCache::systemFallbackForCharacters): Handle error case when a valid code page
does not exist for a given character.

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::containsCharacters): Handle error cases for mapping to the CP_ACP code page,
and related failures when attempting to access the contents of a given code page.

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::itemizeShapeAndPlace): Handle possible failure in the
ScriptItemize API call.
(WebCore::UniscribeController::shapeAndPlaceItem): Ditto for ScriptXtoCP API call.

  • platform/win/BString.h: Use consistent SAL annotations for our typedeof of BSTR as in

the system header.

  • platform/win/COMPtr.h: Ditto for HRESULT.
  • platform/win/DragImageCGWin.cpp:

(WebCore::allocImage): Handle case of failing CreateDIBSection API call.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::show): Handle case of failing SystemParamtersInfo API call.
(WebCore::PopupMenuWin::wndProc): Ditto.

11:31 AM Changeset in webkit [174464] by Simon Fraser
  • 5 edits in trunk/LayoutTests

Remove tests that always pass from the TestExpectations files.

  • TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
11:20 AM Changeset in webkit [174463] by adachan@apple.com
  • 4 edits
    3 adds in trunk

Source/WebKit2:
Implement WKPageIsPlayingAudio().
https://bugs.webkit.org/show_bug.cgi?id=137048

Reviewed by Darin Adler.

  • UIProcess/API/C/WKPage.cpp:

(WKPageIsPlayingAudio):

Tools:
Add a test for WKPageIsPlayingAudio().
https://bugs.webkit.org/show_bug.cgi?id=137048

Reviewed by Darin Adler.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Add file-with-video.html, test.mp4, and WKPageIsPlayingAudio.cpp to the project.

  • TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp: Added.

(TestWebKitAPI::nullJavaScriptCallback):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::isPlayingAudioDidChangeCallback):
(TestWebKitAPI::setUpClients):
(TestWebKitAPI::TEST):
This test loads a page with a video in it. When the page is loaded, we first check that
WKPageIsPlayingAudio() returns false for the page. Then we call a method to start the video.
When the WKPageUIClient::isPlayingAudioDidChange callback gets called, check that WKPageIsPlayingAudio()
now returns true for the page.

  • TestWebKitAPI/Tests/WebKit2/file-with-video.html: Added.
  • TestWebKitAPI/Tests/WebKit2/test.mp4: Added.

This is a video copied from LayoutTests/media/content.

10:56 AM Changeset in webkit [174462] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

[Win] Resolve warnings about missing has_include macro under MSVC
https://bugs.webkit.org/show_bug.cgi?id=137524

Reviewed by Anders Carlsson.

  • wtf/Compiler.h: Provide a dummy implementation of has_include that

avoids the warning without changing compile behavior.

10:40 AM Changeset in webkit [174461] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[webkitpy] Use python-irclib-0.4.8.tar.gz instead of zip in AutoInstaller
https://bugs.webkit.org/show_bug.cgi?id=137516

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook._install_irc):

10:32 AM Changeset in webkit [174460] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[EME][Mac] Update CDMSessionMediaSourceAVFObjC to match new API provided by AVStreamSession
https://bugs.webkit.org/show_bug.cgi?id=137469

Reviewed by Brent Fulgham.

Update our forward declaration to match the API provided by AVStreamSession.
AVStreamSession now takes an error: parameter in its initialiazer. It also provides the
sessionIdentifier used by the CDM, which CDMSessionMediaSourceAVFObjC will use as the
value of sessionId. Having this identifier allows us to fire a
secure-proof-of-key-release message after the client calls MediaKeySession.close().
Because this call will now generate messages, which have to be responded to in order
to remove those proofs from storage, do not clear the CDMSession from MediaKeySession
after calling close().

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::~MediaKeySession):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::setError): Deleted.
(WebCore::MediaKeySession::sessionId): Deleted.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:

(WebCore::CDMSessionMediaSourceAVFObjC::setSessionId):

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(-[CDMSessionMediaSourceAVFObjCListener initWithParent:]):
(-[CDMSessionMediaSourceAVFObjCObserver dealloc]):
(-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]):
(-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]):
(-[CDMSessionMediaSourceAVFObjCObserver invalidate]):
(-[CDMSessionMediaSourceAVFObjCListener observeValueForKeyPath:ofObject:change:context:]):
(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys):
(WebCore::CDMSessionMediaSourceAVFObjC::update):
(WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer):
(WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer):

10:20 AM Changeset in webkit [174459] by rniwa@webkit.org
  • 7 edits
    5 adds in trunk/Websites/perf.webkit.org

Perf dashboard should store commit logs
https://bugs.webkit.org/show_bug.cgi?id=137510

Reviewed by Darin Adler.

For the v2 version of the perf dashboard, we would like to be able to see commit logs in the dashboard itself.

This patch replaces "build_revisions" table with "commits" and "build_commits" relations to store commit logs,
and add JSON APIs to report and retrieve them. It also adds a tools/pull-svn.py to pull commit logs from
a subversion directory. The git version of this script will be added in a follow up patch.

In the new database schema, each revision in each repository is represented by exactly one row in "commits"
instead of one row for each build in "build_revisions". "commits" and "builds" now have a proper many-to-many
relationship via "build_commits" relations.

In order to migrate an existing instance of this application, run the following SQL commands:

BEGIN;

INSERT INTO commits (commit_repository, commit_revision, commit_time)

(SELECT DISTINCT ON (revision_repository, revision_value)

revision_repository, revision_value, revision_time FROM build_revisions);

INSERT INTO build_commits (commit_build, build_commit) SELECT revision_build, commit_id

FROM commits, build_revisions
WHERE commit_repository = revision_repository AND commit_revision = revision_value;

DROP TABLE build_revisions;

COMMIT;

The helper script to submit commit logs can be used as follows:

python ./tools/pull-svn.py "WebKit" https://svn.webkit.org/repository/webkit/ https://perf.webkit.org

feeder-slave feeder-slave-password 60 "webkit-patch find-users"

The above command will pull the subversion server at https://svn.webkit.org/repository/webkit/ every 60 seconds
to retrieve at most 10 commits, and submits the results to https://perf.webkit.org using "feeder-slave" and
"feeder-slave-password" as the builder name and the builder password respectively.

The last, optional, argument is the shell command to convert a subversion account to the corresponding username.
e.g. "webkit-patch find-users rniwa@webkit.org" yields "Ryosuke Niwa" <rniwa@webkit.org> in the stdout.

  • init-database.sql: Replaced "build_revisions" relation with "commits" and "build_commits" relations.
  • public/api/commits.php: Added. Retrieves a list of commits based on arguments in its path of the form

/api/commits/<repository-name>/<filter>. The behavior of this API depends on <filter> as follows:

  • Not specified - It returns every single commit for a given repository.
  • Matches "oldest" - It returns the commit with the oldest timestamp.
  • Matches "latest" - It returns the commit with the latest timestamp.
  • Matches "last-reported" - It returns the commit with the latest timestamp added via report-commits.php.
  • Is entirely alphanumeric - It returns the commit whose revision matches the filter.
  • Is of the form <alphanumeric>:<alphanumeric> or <alphanumeric>-<alphanumeric> - It retrieves the list of commits added via report-commits.php between two timestamps retrieved from commits whose revisions match the two alphanumeric values specified. Because it retrieves commits based on their timestamps, the list may contain commits that do not appear as neither hash's ancestor in git/mercurial.

(main):
(commit_from_revision):
(fetch_commits_between):
(format_commits):

  • public/api/report-commits.php: Added. A JSON API to report new subversion, git, or mercurial commits.

See tests/api-report-commits.js for examples on how to use this API.

  • public/api/runs.php: Updated the query to use "commit_builds" and "commits" relations instead of

"build_revisions". Regrettably, the new query is 20% slower but I'm going to wait until the new UI is ready
to optimize this and other JSON APIs.

  • public/include/db.php:

(Database::select_or_insert_row):
(Database::update_or_insert_row): Added.
(Database::_select_update_or_insert_row): Extracted from select_or_insert_row. Try to update first and then
insert if the update fails for update_or_insert_row. Preserves the old behavior when $should_update is false.

(Database::select_first_row):
(Database::select_last_row): Added.
(Database::select_first_or_last_row): Extracted from select_first_row. Fixed a bug that we were asserting
$order_by to be not alphanumeric/underscore. Retrieve the last row instead of the first if $descending_order.

  • public/include/report-processor.php:

(ReportProcessor::resolve_build_id): Store commits instead of build_revisions. We don't worry about the race
condition for adding "build_commits" rows since we shouldn't have a single tester submitting the same result
concurrently. Even if it happened, it will only result in a PHP error and the database will stay consistent.

  • run-tests.js:

(pathToTests): Don't call path.resolve with "undefined" testName; It throws an exception in the latest node.js.

  • tests/api-report-commits.js: Added.
  • tests/api-report.js: Fixed a test per build_revisions to build_commits/commits replacement.
  • tools: Added.
  • tools/pull-svn.py: Added. See above for how to use this script.

(main):
(determine_first_revision_to_fetch):
(fetch_revision_from_dasbhoard):
(fetch_commit_and_resolve_author):
(fetch_commit):
(textContent):
(resolve_author_name_from_email):
(submit_commits):

10:16 AM Changeset in webkit [174458] by aestes@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r174403): media/track/track-forced-subtitles-in-band.html fails
https://bugs.webkit.org/show_bug.cgi?id=137525

  • TestExpectations: Marked media/track/track-forced-subtitles-in-band.html as an expected failure.
10:14 AM Changeset in webkit [174457] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r174456.

I was comparing a signed int to an unsigned one.

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::shouldAutoActivateFontIfNeeded):

9:20 AM Changeset in webkit [174456] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

[Mac] We are spending a lot of time loading fonts when loading weather.com
https://bugs.webkit.org/show_bug.cgi?id=137454

Reviewed by Darin Adler.

We are spending a lot of time loading fonts when loading weather.com:
~4.2% of WebProcess's cpu time in FontCache::getCachedFrontData().
In particular, we are spending a lot of time doing font auto-activation
because we don't have the Open Sans fonts installed and weather.com is
trying to load those.

Before this patch, we were doing font auto-activation ~250 times when
loading weather.com, even though the site is loading ~10 distinct font
families.

This patch adds a cache of font families we already tried to
auto-activate so that we don't try again. This results in ~10 font
auto-activations when loading weather.com instead of 250. It reduces
the amount of time spent in getCachedFrontData() to 62.6ms from 276ms
(4.4x less) when loading weather.com.

No new tests, no behavior change.

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::shouldAutoActivateFontIfNeeded):
(WebCore::FontCache::createFontPlatformData):

  • platform/mac/WebFontCache.h:
  • platform/mac/WebFontCache.mm:

(+[WebFontCache fontWithFamily:traits:weight:size:shouldAutoActivateIfNeeded:]):
(+[WebFontCache fontWithFamily:traits:weight:size:]):
(+[WebFontCache fontWithFamily:traits:size:]):

9:18 AM Changeset in webkit [174455] by Brent Fulgham
  • 7 edits in trunk/Source/JavaScriptCore

[Win] Resolve some static analysis warnings in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=137508

Reviewed by Geoffrey Garen.

  • API/tests/testapi.c:

(assertEqualsAsCharactersPtr): MSVC insists on using %Iu as its format specifier
for size_t. Make the format string conditional on Windows.

  • bytecode/Watchpoint.h:

(JSC::InlineWatchpointSet::encodeState): Silence warning about left-shifting 'state'
as a 32-bit value before OR-ing it with a 64-bit value.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): Silence warning about operator prescedence

causing the
operation to take place before the >= test.
  • dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::endBasicBlock): Ditto (
before !=)
  • testRegExp.cpp:

(testOneRegExp): Ditto %Iu format specifier.

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext): Silence warning about
using a 32-bit value as part of a 64-bit calculation.

8:16 AM Changeset in webkit [174454] by Carlos Garcia Campos
  • 8 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174190 - Add basic caching for Document.cookie API
https://bugs.webkit.org/show_bug.cgi?id=137225

Reviewed by Alexey Proskuryakov.

Source/WebCore:

While profiling the load of nytimes.com, I noticed that the site is
accessing ~250 times document.cookie, just during page load. Accessing
document.cookie is currently slow because we:

  • Call WebPlatformStrategies::cookiesForDOM() virtual function
  • Send a sync IPC message to the Network process to retrieve the cookies
    • The Network process gets the list of cookies from CFNetwork then serializes the result to send it back to the WebProcess
  • We unserialize the cookies into an NSList of cookies
  • We filter-out the cookies that are 'httpOnly' and construct a new NSList of cookies
  • We create a WTF String out of the cookies NSList

In the case of nytimes.com, it turns out that up to 100 calls to
document.cookie() are made in the same event loop iteration. This patch
thus caches / freezes the cookies until we return to the event
loop so that consecutive calls to document.cookie() are extremely fast.
Doing so seems to be sufficient to achieve a ~87% cache hit for
nytimes.com page load.

The cookies cache is invalidated whenever:

  • document.cookie is set
  • we return to the event loop
  • a network resource is loaded synchronously as it may cause cookies to be set before we return to the event loop

Test: http/tests/cookies/sync-xhr-set-cookie-invalidates-cache.html

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::open):
(WebCore::Document::cookie):
(WebCore::Document::setCookie):
(WebCore::Document::setCookieURL):
(WebCore::Document::initSecurityContext):
(WebCore::Document::setDOMCookieCache):
(WebCore::Document::invalidateDOMCookieCache):
(WebCore::Document::domCookieCacheExpiryTimerFired):
(WebCore::Document::didLoadResourceSynchronously):

  • dom/Document.h:

(WebCore::Document::domCookieCache):
(WebCore::Document::isDOMCookieCacheValid):
(WebCore::Document::setCookieURL): Deleted.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::didLoadResourceSynchronously):

  • dom/ScriptExecutionContext.h:
  • loader/ThreadableLoader.cpp:

(WebCore::ThreadableLoader::loadResourceSynchronously):

LayoutTests:

Add a layout test to make sure that document.cookie returns updated
results after cookies are set via a sync XHR.

  • http/tests/cookies/sync-xhr-set-cookie-invalidates-cache-expected.txt: Added.
  • http/tests/cookies/sync-xhr-set-cookie-invalidates-cache.html: Added.
7:44 AM Changeset in webkit [174453] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] install-dependencies should install libjpeg-turbo on Debian and derivatives.
https://bugs.webkit.org/show_bug.cgi?id=137520

Reviewed by Philippe Normand.

Debian is switching is default JPEG library to libjpeg-turbo <https://wiki.debian.org/LJTTransition#Text>
For other distributions, we are already installing libjpeg-turbo.
So, do the same for Debian and derivatives.

  • gtk/install-dependencies: Install libjpeg-dev that depends on the default implementation of libjpeg.
6:35 AM Changeset in webkit [174452] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174137 - Stack overflow with enormous SVG filter
https://bugs.webkit.org/show_bug.cgi?id=63290

Prevent building an SVG filter if it has more than 200 FilterEffect nodes in its map
regardless whether they will be connected to its lastEffect or not. Also discard any
filter which has more 100 contributing FilterEffect nodes in its tree.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-09-30
Reviewed by Dean Jackson.

Tests: svg/filters/svg-deeply-nested-crash.html

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::collectEffects):
(WebCore::FilterEffect::totalNumberOfEffectInputs):

  • platform/graphics/filters/FilterEffect.h:

-- Add a method to return the total number of input FilterEffect's contributing to a FilterEffect.

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives):
-- Do not build a filter if it has more than 200 FilterEffects in its map.
(WebCore::RenderSVGResourceFilter::applyResource):
-- Discard a filter after it was built if it has more than 100 FilterEffects in its tree.

LayoutTests:
Stack overflow with enormous SVG filter.
https://bugs.webkit.org/show_bug.cgi?id=63290.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-09-30
Reviewed by Dean Jackson.

Test if an SVG filter with deeply nested tree of FilterEffects can be loaded
with no crash. Make sure other valid filters can still be referenced by SVG
drawing elements. An SVG Filter will be ignored if the number of effects in
its map is greater than 200 or the total number of effects connected to its
last effect is greater than 100.

  • svg/filters/svg-deeply-nested-crash-expected.txt: Added.
  • svg/filters/svg-deeply-nested-crash.html: Added.
6:25 AM Changeset in webkit [174451] by Darin Adler
  • 5 edits in trunk/Source/WebCore

ASSERTION FAILED: underlyingStringIsValid()
https://bugs.webkit.org/show_bug.cgi?id=137502

Reviewed by Anders Carlsson.

  • rendering/RenderTreeAsText.cpp:

(WebCore::quoteAndEscapeNonPrintables): Take a StringView instead of a String.
(WebCore::writeTextRun): Ditto.
(WebCore::writeSimpleLine): Ditto.

  • rendering/RenderTreeAsText.h: Removed unneeded include, tweaked formatting,

changed quoteAndEscapeNonPrintables to take a StringView.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow): Tighten code using a modern for loop.
(WebCore::SimpleLineLayout::showLineLayoutForFlow): Update to work with a
StringView result for SimpleLineLayout::RunResolver::Run::text.

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Run::text): Changed return type to
StringView to fix the lifetime bug and also to improve performance by getting
rid of the need to allocate and destroy a StringImpl object.

6:24 AM Changeset in webkit [174450] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174126 - Remove a multicolumn ASSERT and replace with a guard.
https://bugs.webkit.org/show_bug.cgi?id=137272

Reviewed by Alexey Proskuryakov.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::isValidColumnSpanner):
For now remove the assert that is tripping and replace it with a guard
until we can figure out why it's getting hit.

6:20 AM Changeset in webkit [174449] by Carlos Garcia Campos
  • 5 edits
    4 adds in releases/WebKitGTK/webkit-2.6

Merge r174097 - Caret not shown at the end of line in overtype mode
https://bugs.webkit.org/show_bug.cgi?id=135508

Reviewed by Ryosuke Niwa.

Source/WebCore:

When overtype mode is enabled we usually replace the 'normal'
blinking caret shown in contenteditable elements by a block cursor
that covers the next character to be replaced. The exception is the
end of line where we fallback to the blinking caret even in overtype
mode (as there is no next character to replace).

We were not showing anything at the end of lines in overtype mode
because the detection of the end of line was incorrect and not very
understandable. Replaced the old code with a proper and clean end of
line detection mechanism compatible with bidi text.

Tests: editing/selection/block-cursor-overtype-mode-end-of-line-rtl.html

editing/selection/block-cursor-overtype-mode-end-of-line.html

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::updateAppearance):

  • editing/VisibleUnits.cpp:

(WebCore::isLogicalEndOfLine):

  • editing/VisibleUnits.h:

LayoutTests:

  • editing/selection/block-cursor-overtype-mode-end-of-line-expected.html: Added.
  • editing/selection/block-cursor-overtype-mode-end-of-line-rtl-expected.html: Added.
  • editing/selection/block-cursor-overtype-mode-end-of-line-rtl.html: Added.
  • editing/selection/block-cursor-overtype-mode-end-of-line.html: Added.
6:19 AM Changeset in webkit [174448] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[webkitpy] Add back the workaround to replace ZipFile.extractall()
https://bugs.webkit.org/show_bug.cgi?id=137519

Reviewed by Csaba Osztrogonác.

It was removed by <http://trac.webkit.org/changeset/174266>,
because the comment stated it is a workaround for buggy python
2.6.1 which shipped on Snow Leopard. But it turned out the bug
is still valid with python 2.7 shipped on the latest Ubuntu
(12.04 and 14.04) and OS X 10.9.

  • Scripts/webkitpy/common/system/autoinstall.py:

(AutoInstaller):
(AutoInstaller._extract_all):
(AutoInstaller._unzip):

6:18 AM Changeset in webkit [174447] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174085 - REGRESSION (r168046): Confused column spans when combined with dynamic animations
https://bugs.webkit.org/show_bug.cgi?id=134048.

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/multicol-fieldset-span-changes.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant):
Refactor handling of insertions into the multicolumn flow thread into
a helper function, processPossibleSpannerDescendant. This makes it easier
to call the code from more than one place.

(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
Modify the nested columns span shifting code to avoid problems. The
new code suppresses notifications and does the move of the spanner back
into the original spot *before* removing the placeholder. This ensures that
the placeholder parent still exists.

The stale placeholder is then removed and destroyed after the spanner has been put back
into place.

(WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval):
(WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
Refactor the removal notifications for spanners into a helper function so that it can
be called to do cleanup from the code that cleans up stale placeholders on a shift.

  • rendering/RenderMultiColumnFlowThread.h:

Modified to add the new helpers.

LayoutTests:

  • fast/multicol/multicol-fieldset-span-changes-expected.txt: Added.
  • fast/multicol/multicol-fieldset-span-changes.html: Added.
6:16 AM Changeset in webkit [174446] by Carlos Garcia Campos
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174074 - AX: in an aria-labelledby computation, do not traverse into elements whose nameFrom value does not include 'contents'
https://bugs.webkit.org/show_bug.cgi?id=136714

Reviewed by Darin Adler.

Source/WebCore:

There are certain ARIA elements that tell us we should not query their children when determining the name of the object.
Those ones have the "nameFrom" property set to "author" instead of "contents." WebKit needs to honor that status.

Test: accessibility/aria-namefrom-author.html

Modified: accessibility/aria-labelledby-with-descendants.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::shouldUseAccessiblityObjectInnerText):
(WebCore::shouldAddSpaceBeforeAppendingNextElement):
(WebCore::appendNameToStringBuilder):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::accessibleNameDerivesFromContent):
(WebCore::initializeRoleMap):

  • accessibility/AccessibilityObject.h:

LayoutTests:

  • accessibility/aria-labelledby-with-descendants-expected.txt:
  • accessibility/aria-labelledby-with-descendants.html:
  • accessibility/aria-namefrom-author-expected.txt: Added.
  • accessibility/aria-namefrom-author.html: Added.
6:11 AM Changeset in webkit [174445] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174040 - HTMLPlugInElement::isUserObservable() is causing layout
https://bugs.webkit.org/show_bug.cgi?id=137156

Reviewed by Ryosuke Niwa.

While profiling the page load of nytimes.com, I noticed that we were
spending ~4-5% of cpu time in HTMLPlugInElement::isUserObservable().
The reason is that the function calls pluginWidget(), which causes a
layout update in HTMLObjectElement::renderWidgetForJSBindings(), to
make sure the plugin is loaded and its renderer is created.

HTMLPlugInElement::isUserObservable() shouldn't need to do a layout.
This patch does the following to address the problem:

  • Rename renderWidgetForJSBindings() to renderWidgetLoadingPlugin() because this function is not always called from the JS Bindings nowadays. The new name makes it clearer that this will load the plugin if needed (to make sure the renderer is created, and by doing a layout).
  • Add a PluginLoadingPolicy argument to HTMLPlugInElement::pluginWidget() to let the caller control if the plugin should be loaded or not.
  • Update the call to pluginWidget() in isUserObservable() so that we do not attempt to load the plugin (thus not causing a layout).

No new tests, no behavior change.

  • WebCore.exp.in:
  • WebCore.order:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::renderWidgetLoadingPlugin):
(WebCore::HTMLAppletElement::renderWidgetForJSBindings): Deleted.

  • html/HTMLAppletElement.h:
  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::renderWidgetLoadingPlugin):
(WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Deleted.

  • html/HTMLEmbedElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderWidgetLoadingPlugin):
(WebCore::HTMLObjectElement::renderWidgetForJSBindings): Deleted.

  • html/HTMLObjectElement.h:
  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::pluginWidget):
(WebCore::HTMLPlugInElement::isUserObservable):

  • html/HTMLPlugInElement.h:
6:06 AM Changeset in webkit [174444] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebInspectorUI

Merge r174019 - Web Inspector: Type Token View shows type information on hover when it shouldn't
https://bugs.webkit.org/show_bug.cgi?id=137152

Reviewed by Brian J. Burg.

TypeTokenView should only show type information when there is
more than one primitive type or more than zero objects types.
This fixes a bug in checking the length of object types.

  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView.prototype._shouldShowPopover):

6:05 AM Changeset in webkit [174443] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174012 - Fix typo in YARR at BOL check
https://bugs.webkit.org/show_bug.cgi?id=137144

Reviewed by Darin Adler.

  • yarr/YarrPattern.cpp: replace bitwise and operator by logical and

(JSC::Yarr::YarrPatternConstructor::assertionBOL):

6:03 AM Changeset in webkit [174442] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174014 - StorageTracker::deleteOrigin being called off the main thread (ASSERTs in inspector/test-harness-trivially-works.html test)
https://bugs.webkit.org/show_bug.cgi?id=129642

Apply post-review comments from Alexey Proskuryakov.

  • storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::deleteEmptyDatabase): Make a thread-safe isolated copy of the string.

6:01 AM Changeset in webkit [174441] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r173994 - Web Inspector: console.assert(bitString) TypeSet:50
https://bugs.webkit.org/show_bug.cgi?id=137051

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

This patch creates stricter requirements on a TypeDescription
being valid. To be valid, a TypeDescription now ensures that
the TypeSet it describes has non null type information.

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • runtime/TypeSet.h:

(JSC::TypeSet::isEmpty):

Source/WebInspectorUI:

This fixes TypeSet's isContainedIn method by ensuring that
the type bit string isn't zero because the test would trivially
pass if the bit string is zero.

  • UserInterface/Models/TypeSet.js:

(WebInspector.TypeSet.prototype.isContainedIn):

5:33 AM Changeset in webkit [174440] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Merge r173991 - StorageTracker::deleteOrigin being called off the main thread (ASSERTs in inspector/test-harness-trivially-works.html test)
https://bugs.webkit.org/show_bug.cgi?id=129642

Reviewed by Brady Eidson.

Source/WebCore:

When tearing down the inspector frontend's page, we trigger a threading violation
in StorageAreaSync's final sync code underneath StorageAreaSync::deleteEmptyDatabase().

No new tests. Regression is covered by inspector/test-harness-trivially-works.html.

  • storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::deleteEmptyDatabase): add a missing callOnMainThread() when
calling StorageTracker::deleteOriginWithIdentifier().

LayoutTests:

Remove the blanket Skip for all tests in inspector/.

  • TestExpectations: clean up expectations for inspector/ and add new tracking bugs.
5:29 AM Changeset in webkit [174439] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r173973 - CommitLayerTree decode fails in 32-bit apps on 64-bit devices (TransformationMatrix alignment differs)
https://bugs.webkit.org/show_bug.cgi?id=136444
<rdar://problem/17952526>

Reviewed by Anders Carlsson.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<TransformationMatrix>::encode):
(IPC::ArgumentCoder<TransformationMatrix>::decode):
Stop using SimpleArgumentCoder to encode/decode TransformationMatrix,
because the alignment of TransformationMatrix differs between architectures,
and there's no guarantee that both sides of a connection are the same architecture.

5:27 AM Changeset in webkit [174438] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r173965 - ASSERTION FAILED: columnCount in WebCore::CSSParser::parseGridTemplateAreasRow
https://bugs.webkit.org/show_bug.cgi?id=136945

Reviewed by Sergio Villar Senin.

Source/WebCore:

Checking out whether the grid-template-areas value contains a white-space only
string, which is not valid as it does not produce a cell token.

Test: fast/css-grid-layout/grid-template-areas-empty-string-crash.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTemplateAreasRow):

LayoutTests:

Testing the different types of white-space only strings for the grid-template-areas
property, which is not valid as it does not produce a cell token.

  • fast/css-grid-layout/grid-template-areas-empty-string-crash-expected.txt: Added.
  • fast/css-grid-layout/grid-template-areas-empty-string-crash.html: Added.
4:41 AM Changeset in webkit [174437] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r173945 - Use tighter typing for render objects in RenderGeometryMap
https://bugs.webkit.org/show_bug.cgi?id=137102

Reviewed by Ryosuke Niwa.

Use tighter typing for render objects in RenderGeometryMap for clarity
and efficiency.

In particular, using RenderElement type instead of RenderObject
in canMapBetweenRenderers() allows us to call the faster
RenderElement::style() instead of RenderObject::style().

No new tests, no behavior change.

  • rendering/RenderGeometryMap.cpp:

(WebCore::canMapBetweenRenderers):
(WebCore::RenderGeometryMap::pushMappingsToAncestor):

4:40 AM Changeset in webkit [174436] by Carlos Garcia Campos
  • 8 edits
    3 adds in releases/WebKitGTK/webkit-2.6

Merge r173943 - Old Turkic characters behave as left-to-right instead of right-to-left, because they are encoded as surrogate pairs.
https://bugs.webkit.org/show_bug.cgi?id=70029

Reviewed by Dan Bernstein.

Source/WebCore:

Test: fast/text/international/old-turkic-direction.html

  • CMakeLists.txt: Added InlineIterator.cpp.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderingAllInOne.cpp: Ditto.
  • rendering/InlineIterator.cpp: Added.

(WebCore::InlineIterator::surrogateTextDirection): New function used to compute the direction
when a surrogate pair is involved.

  • rendering/InlineIterator.h: Made the characterAt function private.

(WebCore::InlineIterator::previousInSameNode): Took out unneeded range check. A zero will underflow
and become a large number and the characterAt function will return 0 in that case.
(WebCore::InlineIterator::direction): Added code to check U16_IS_SINGLE before calling
u_charDirection, and call surrogateTextDirection instead.

LayoutTests:

  • fast/text/international/old-turkic-direction.html: Added.
  • fast/text/international/old-turkic-direction-expected.html: Added.
4:38 AM Changeset in webkit [174435] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebKit2

[EFL][CoordinatedGraphics] All EFL layout tests are broken since r174231
https://bugs.webkit.org/show_bug.cgi?id=137443

Reviewed by Zoltan Herczeg.

EFL layout test and MiniBrowser have broken since r174231. r174231 was to move PageOverlay implementation
from WebKit2 to WebCore with lazy initializing of PageOverlayController. It caused all EFL layout tests
crash and build break. To restore EFL layout test, this patch sets viewOverlayRootLayer through
attachViewOverlayGraphicsLayer() as mac port's one in r174231.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::attachViewOverlayGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::updateRootLayers):
(WebKit::CoordinatedLayerTreeHost::setViewOverlayRootLayer):
(WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
(WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
4:34 AM Changeset in webkit [174434] by Carlos Garcia Campos
  • 9 edits
    2 deletes in releases/WebKitGTK/webkit-2.6

Merge r173941 - REGRESSION: Text with a zero offset, zero blur shadow vanishes
https://bugs.webkit.org/show_bug.cgi?id=136801

Reviewed by Darin Adler.

Source/WebCore:

This patch performs some cleanup regarding TextPainter's shadow logic and handles an
additional case of empty shadows. Previously, there was tight coupling between
applyShadowToGraphicalContext() and paintTextWithShadows(), as they both used a
collection of variables to determine how shadows are to be drawn. This complexity has
been moved into a helper class, ShadowApplier, which performs what
applyShadowToGraphicsContext() used to do, and cleans up correctly in its destructor.
This removes the tight coupling mentioned earlier.

Test: fast/text/empty-shadow.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::applyShadowToGraphicsContext): Moved to ShadowApplier.

  • rendering/InlineTextBox.h: Deleted applyShadowToGraphicsContext signature.
  • rendering/TextPainter.cpp:

(WebCore::ShadowApplier::ShadowApplier): Perform the contents of applyShadowToGraphicsContext()
(WebCore::ShadowApplier::~ShadowApplier): Undo the work done previously
(WebCore::paintTextWithShadows): Create a ShadowApplier to do the relevant shadow work. In addition,
refactor some boolean flags to more meaningful ones with relation to the computation at hand.
(WebCore::isEmptyShadow): Moved to TextPainter.h, named shadowIsCompletelyCoveredByText()

  • rendering/TextPainter.h:

(WebCore::ShadowApplier::ShadowApplier): Moved from InlineTextBox::applyShadowToGraphicsContext().
(WebCore::ShadowApplier::extraOffset): Getter.
(WebCore::ShadowApplier::~ShadowApplier): Moved from TextPainter::paintTextWithShadows().
(WebCore::isLastShadowIteration): Helper function.
(WebCore::shadowIsCompletelyCoveredByText): Determines whether or not we should not draw the shadow.

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintTextWithShadows): Update to use ShadowApplier.

LayoutTests:

This test should be a comprehensive test of empty shadows. It tests every
combination of one and two shadows being empty, as well as transparent and
opaque text.

After updating fast/text/empty-shadow.html, fast/text/empty-shadow-with-color.html
is no longer necessary.

  • fast/text/empty-shadow-expected.html:
  • fast/text/empty-shadow-with-color-expected.html: Removed.
  • fast/text/empty-shadow-with-color.html: Removed.
  • fast/text/empty-shadow.html:
4:23 AM Changeset in webkit [174433] by Carlos Garcia Campos
  • 3 edits
    8 adds in releases/WebKitGTK/webkit-2.6

Merge r173906 - The style resolution cache applies properties incorrectly whenever direction != ltr
https://bugs.webkit.org/show_bug.cgi?id=137052

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

Source/WebCore:

The optimization r135021 introduced a bug whenever the direction of subtree is not
uniform in the whole page.

When StyleResolver::applyMatchedProperties() resolves the style, some properties are
resolved differently based on the writing-mode and the direction.

In isCacheableInMatchedPropertiesCache(), the cases for writing-mode are already handled
by not caching any style with anything else than the default.
The direction was ignored, causing the bugs solved here.

Tests: css3/flexbox/flex-flow-2.html

fast/css/style-resolver-cache-direction-1.html
fast/css/style-resolver-cache-direction-2.html
fast/css/style-resolver-cache-direction-3.html

  • css/StyleResolver.cpp:

(WebCore::isCacheableInMatchedPropertiesCache):

LayoutTests:

  • css3/flexbox/flex-flow-2-expected.txt: Added.
  • css3/flexbox/flex-flow-2.html: Added.

The test flex-flow.html should have uncovered the bug. It did not because it uses
:nth-child(), which disable style optimizations.

flex-flow-2.html is a copy of flex-flow.html using classes instead of :nth-child().
This would have caught the bug.

  • fast/css/style-resolver-cache-direction-1-expected.html: Added.
  • fast/css/style-resolver-cache-direction-1.html: Added.
  • fast/css/style-resolver-cache-direction-2-expected.html: Added.
  • fast/css/style-resolver-cache-direction-2.html: Added.
  • fast/css/style-resolver-cache-direction-3-expected.html: Added.
  • fast/css/style-resolver-cache-direction-3.html: Added.

New basic tests for the fix.

4:20 AM Changeset in webkit [174432] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Tools

Merge r173887 - [Tools] git-commit uses wrong ChangeLog when run from a subdirectory
https://bugs.webkit.org/show_bug.cgi?id=137031

Reviewed by Joseph Pecoraro.

commit-log-editor is run from the top of the Git checkout, even when git-commit is invoked
from a subdirectory, making the parsed locations of ChangeLog files incorrect. Git provides
a mapping prefix in the GIT_PREFIX environment variable, so apply this prefix to the parsed
ChangeLog locations before passing them to createCommitMessage().

  • Scripts/commit-log-editor:
4:19 AM Changeset in webkit [174431] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r173865 - Ensure that layout is up-to-date before hit-testing via RenderView
https://bugs.webkit.org/show_bug.cgi?id=136651

Reviewed by David Hyatt.

Ensure that layout is up-to-date before we do hit-testing via the RenderView.
Previously, RenderLayer::hitTest() called updateLayout(), but it's better
to push that responsibility onto RenderView before entering the RenderLayer
tree.

Make callers a little more consistent in getting the RenderView via
Frame::contentRenderer(), though perhaps we should remove that and just
call Document::renderView() everywhere.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::press): Hit test via the RenderView, rather
than doing so on the RenderView's layer, to ensure that we updateLayout().

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::accessibilityHitTest): This code calls
hitTest() on arbitrary layers, so needs to explicitly update layout.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::contains):

  • page/EventHandler.cpp:

(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::hitTestResultAtPoint): The explicit updateLayout() is
no longer needed.
(WebCore::EventHandler::updateCursor):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::hoverTimerFired):
(WebCore::hitTestResultInFrame):

  • page/Frame.cpp:

(WebCore::Frame::contentRenderer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hitTest):

  • rendering/RenderView.cpp:

(WebCore::RenderView::hitTest): Here's where we ensure that layout is up-to-date.

4:15 AM Changeset in webkit [174430] by Carlos Garcia Campos
  • 11 edits
    4 adds in releases/WebKitGTK/webkit-2.6

Merge r173784 - Latching in iframes is not working as expected
https://bugs.webkit.org/show_bug.cgi?id=136729
<rdar://problem/18370549>

Reviewed by Simon Fraser.

Source/WebCore:

Test: platform/mac/fast/scrolling/scrolling-iframe-100pct.html

Correct latching behavior by moving the concept of latching from the event handler to the main frame.
The event handlers are per-document, and can improperly latch to the iframe element (rather than the
scrollable content of the iframe) resulting in incorrect behavior.

Also move the wheel event delta tracking to the main frame, as this is similarly "top-level" in nature.

  • WebCore.vcxproj/WebCore.vcxproj: Add new LatchedState class.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler): Update constructor after moving some members to the new
LatchedState object.
(WebCore::EventHandler::clear): Call 'clear' on the LatchedState class.
(WebCore::EventHandler::platformRecordWheelEvent): Update for new LatchedState class.
(WebCore::EventHandler::handleWheelEvent): Ditto.
(WebCore::EventHandler::clearLatchedState): Ditto.
(WebCore::EventHandler::defaultWheelEventHandler): Ditto.

  • page/EventHandler.h:
  • page/LatchedState.cpp: Added.

(WebCore::LatchedState::LatchedState):
(WebCore::LatchedState::~LatchedState):
(WebCore::LatchedState::clear):
(WebCore::LatchedState::setWheelEventElement):
(WebCore::LatchedState::setWidgetIsLatched):
(WebCore::LatchedState::setPreviousWheelScrolledElement):
(WebCore::LatchedState::setScrollableContainer):

  • page/LatchedState.h: Added.

(WebCore::LatchedState::wheelEventElement):
(WebCore::LatchedState::frame):
(WebCore::LatchedState::setFrame):
(WebCore::LatchedState::widgetIsLatched):
(WebCore::LatchedState::previousWheelScrolledElement):
(WebCore::LatchedState::scrollableContainer):
(WebCore::LatchedState::startedGestureAtScrollLimit):
(WebCore::LatchedState::setStartedGestureAtScrollLimit):

  • page/MainFrame.cpp:

(WebCore::MainFrame::MainFrame): Update for new members (LatchedState and WheelEventDeltaTracker)

  • page/MainFrame.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformPrepareForWheelEvents): Use mainFrame-located latching information.
(WebCore::EventHandler::platformRecordWheelEvent): Use mainFrame-located wheel event delta tracking.
(WebCore::EventHandler::platformCompleteWheelEvent): Make sure to use the latched frame as well as
the latched element so that events get routed properly.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Update for new mainFrame
location for latched state information.

LayoutTests:

  • platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug.html: Added.
4:08 AM Changeset in webkit [174429] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r173766 - Provide a default argument for the most commonly used HitTestRequest variant
https://bugs.webkit.org/show_bug.cgi?id=136653

Reviewed by Darin Adler.

Make the default HitTestRequest flags be ReadOnly | Active | DisallowShadowContent
and change call sites using the default flags to use a HitTestRequest temporary.

Source/WebCore:

  • dom/TreeScope.cpp:

(WebCore::nodeFromPoint):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::contains):

  • page/DragController.cpp:

(WebCore::elementUnderMouse):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::handleMousePressEvent):

  • rendering/HitTestRequest.h:

(WebCore::HitTestRequest::HitTestRequest):

Source/WebKit2:

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):

3:42 AM Changeset in webkit [174428] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r173783 - Minimize virtual function calls in MarkupAccumulator
https://bugs.webkit.org/show_bug.cgi?id=136957

Reviewed by Benjamin Poulain.

This patch minimizes the number of virtual function calls in
MarkupAccumulator by:

  • De-virtualizing MarkupAccumulator::appendString(), which is never overridden
  • Having MarkupAccumulator::appendEndTag() virtual function take an Element in argument instead of a Node, as it only applies to Element. Also add a non-virtual overload that takes a Node in argument and that does the isElementNode() check so that we don't need to explicitly do the check at each call site.

No new tests, no behavior change.

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendEndTag):
(WebCore::MarkupAccumulator::shouldSelfClose):
(WebCore::MarkupAccumulator::appendEndMarkup):

  • editing/MarkupAccumulator.h:

(WebCore::MarkupAccumulator::appendEndTag):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendEndTag):

3:37 AM Changeset in webkit [174427] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r173769 - Add a size check for CSSSelector
https://bugs.webkit.org/show_bug.cgi?id=136882

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-19
Reviewed by Christophe Dumez.

  • css/CSSSelector.cpp:
3:22 AM Changeset in webkit [174426] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Tools

Merge r174309 - [GTK] generate-gtkdoc crashes when generating HTML due to encoding issues
https://bugs.webkit.org/show_bug.cgi?id=135502

Reviewed by Martin Robinson.

When writing to stdout/stderr fails due to a UnicodeDecodeError
exception, try again without encoding the output.

  • gtk/gtkdoc.py:

(GTKDoc._run_command):

3:19 AM Changeset in webkit [174425] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174327 - [GTK] The new web inspector can't be docked again once undocked
https://bugs.webkit.org/show_bug.cgi?id=121544

Reviewed by Martin Robinson.

Use a GtkHeaderBar for the inspector window to add dock buttons
when building with GTK+ >= 3.10.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::WebInspectorProxy):

  • UIProcess/WebInspectorProxy.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::dockButtonClicked):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::updateInspectorWindowTitle):
(WebKit::WebInspectorProxy::platformInspectedURLChanged):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):

3:01 AM Changeset in webkit [174424] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174316 - Unreviewed. Add missing inspector files to compilation.

  • PlatformGTK.cmake: Add javascript sources in

WebInspectorUI/UserInterface/External/Esprima to the list of
inspector files.

1:48 AM Changeset in webkit [174423] by gyuyoung.kim@samsung.com
  • 12 edits
    2 adds
    6 deletes in trunk

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

It broke EFL layout test totally (Requested by gyuyoung on
#webkit).

Reverted changeset:

"[EFL] Introduce EWebKit_Extension"
https://bugs.webkit.org/show_bug.cgi?id=134921
http://trac.webkit.org/changeset/174335

Patch by Commit Queue <commit-queue@webkit.org> on 2014-10-08

12:37 AM Changeset in webkit [174422] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] Make forwarding headers generation depend on source code
https://bugs.webkit.org/show_bug.cgi?id=137394

Reviewed by Philippe Normand.

Source/WebKit2:

Only run generate-forwarding-headers.pl when source code changes
and use a different target for the symlinks.

  • PlatformGTK.cmake:

Tools:

  • TestWebKitAPI/CMakeLists.txt: Add missing dependency rule.
  • TestWebKitAPI/PlatformGTK.cmake: Only run

generate-forwarding-headers.pl when source code changes.

  • WebKitTestRunner/PlatformGTK.cmake: Ditto.
12:30 AM Changeset in webkit [174421] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Tools

Merge r174093 - [GTK] [EFL] Install TestNetscapePlugin apart from the other libs.
https://bugs.webkit.org/show_bug.cgi?id=137212

This moves TestNetscapePlugin to a new folder (lib/plugins).
We should not use the same directory for TestNetscapePlugin and
the other libraries, because we end up scanning all the .so in the
lib dir for every test.

Reviewed by Carlos Garcia Campos.

  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Set LIBRARY_OUTPUT_DIRECTORY to lib/plugins.
  • Scripts/webkitpy/port/efl.py:

(EflPort.setup_environ_for_server): Update plugin path.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.setup_environ_for_server): Update plugin path.

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Update plugin path.
12:21 AM Changeset in webkit [174420] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Merge r174394 - [SOUP] TLS errors should take precedence over HTTP authentication
https://bugs.webkit.org/show_bug.cgi?id=137300

Reviewed by Sergio Villar Senin.

Source/WebCore:

Handle TLS errors in got-headers callback to make sure it happens
before starting the authentication process.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::handleUnignoredTLSErrors): Refactored to receive the
soup message.
(WebCore::gotHeadersCallback): Return early and cancel the request in case of TLS errors.
(WebCore::sendRequestCallback): Do not handle TLS errors here, the request should have already been
cancelled at this point in case of TLS errors.

Tools:

Add a test case to check that authenticate signal is not emitted
in case of TLS errors, and the load fails instead.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(webViewAuthenticationCallback):
(testTLSErrorsHTTPAuth):
(httpsServerCallback):
(beforeAll):

Oct 7, 2014:

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

[EFL] Enable custom URI schemes with CustomProtocols
https://bugs.webkit.org/show_bug.cgi?id=128177

Patch by Pascal Jacquemart <p.jacquemart@samsung.com> on 2014-10-07
Reviewed by Gyuyoung Kim.

Fixing ewk_context_url_scheme_register() ewebkit2 API
rely on r162449 - CustomProtocols implementation from Carlos Garcia Campos

.:

  • Source/cmake/OptionsEfl.cmake: Forcing CUSTOM_PROTOCOLS flag

Source/WebKit2:

  • PlatformEfl.cmake:
  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_url_scheme_request.cpp:

(EwkUrlSchemeRequest::EwkUrlSchemeRequest):
(EwkUrlSchemeRequest::finish):

  • UIProcess/API/efl/ewk_url_scheme_request_private.h:

(EwkUrlSchemeRequest::create):

  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(TEST_F):

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
  • UIProcess/efl/RequestManagerClientEfl.cpp:

(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::startLoading):
(WebKit::RequestManagerClientEfl::stopLoading):
(WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
(WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler): Deleted.
(WebKit::RequestManagerClientEfl::didReceiveURIRequest): Deleted.

  • UIProcess/efl/RequestManagerClientEfl.h:
  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/soup/WebContextSoup.cpp:

(WebKit::WebContext::platformInitializeNetworkProcess):

10:36 PM Changeset in webkit [174418] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove build warnings in Hashmap API tests
https://bugs.webkit.org/show_bug.cgi?id=137484

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

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST): Changed EXPECT_EQ(false, addResult.isNewEntry) to EXPECT_FALSE(addResult.isNewEntry)

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

Remove WKPageCreateSnapshotOfVisibleContent API.
https://bugs.webkit.org/show_bug.cgi?id=66979

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2014-10-07
Reviewed by Darin Adler.

After the landing of the first patch of webkit.org/b/66979,
WKPageCreateSnapshotOfVisibleContent API has been neglected for years.
Currently, this is not used anywhere and does not break the nightlies.
So we can remove this.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCreateSnapshotOfVisibleContent): Deleted.

  • UIProcess/API/C/WKPagePrivate.h:
9:51 PM Changeset in webkit [174416] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Call requestScrollPositionUpdate() instead of delegatedScrollRequested() in ScrollView::scrollTo()
https://bugs.webkit.org/show_bug.cgi?id=137478

Reviewed by Benjamin Poulain.

As r174380 did, ScrollView::scrollTo() also calls requestScrollPositionUpdate() instead of delegatedScrollRequested().
delegatedScrollRequested() will be only called by requestScrollPositionUpdate(), and it needs to be merged by existing
other scroll request function.

No new tests, no behavior changes.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollTo):

8:48 PM Changeset in webkit [174415] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Remove WKPageSetInvalidMessageFunction.
https://bugs.webkit.org/show_bug.cgi?id=137509

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2014-10-07
Reviewed by Benjamin Poulain.

According to the FIXME comment in WKPageSetInvalidMessageFunction,
we can remove this function when doing so won't break the nightlies.
Currently, this is not used anywhere and does not break the nightlies.
So we can remove this.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetInvalidMessageFunction): Deleted.

  • UIProcess/API/C/WKPagePrivate.h:
7:23 PM Changeset in webkit [174414] by dino@apple.com
  • 5 edits in trunk/Source/WebCore

Safari 8 on OSX 10.10 does not run WebGL in Retina HiDPI mode.
https://bugs.webkit.org/show_bug.cgi?id=134854
<rdar://problem/18465263>

Reviewed by Tim Horton.

The NSOpenGLLayer has to have its contentScale property
set accordingly when on a retina display. Do this by
adding another value to the GraphicsContext3D creation
attribute dictionary, representing the device pixel ratio.
Then, when we come to draw into the layer, make sure
we set our GL viewport to the correct value.

This is currently untestable because:

  • we can't just read from the GL buffer as it is always correct
  • WebGL isn't working in reftests
  • a layer dump doesn't show the change since it was done in a CALayer subclass.
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::create): Pass the devicePixelRatio into the attribute dictionary.

  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::Attributes::Attributes): Add a devicePixelRatio attribute.

  • platform/graphics/mac/WebGLLayer.h: New property to save us looking up the attributes

each frame.

  • platform/graphics/mac/WebGLLayer.mm:

(-[WebGLLayer initWithGraphicsContext3D:]): Store the devicePixelRatio, and set our
contents scale appropriately.
(-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): Draw into
a correctly sized backbuffer.
(-[WebGLLayer copyImageSnapshotWithColorSpace:]): Generate an image of the correct size.

5:41 PM Changeset in webkit [174413] by Chris Dumez
  • 6 edits in trunk/Source/WebKit2

[WK2] Use is<>() / downcast<>() for DrawingArea subclasses
https://bugs.webkit.org/show_bug.cgi?id=137497

Reviewed by Benjamin Poulain.

Use is<>() / downcast<>() for DrawingArea subclasses.

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

(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::synchronizeDynamicViewportUpdate):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
4:17 PM Changeset in webkit [174412] by Brent Fulgham
  • 4 edits in trunk/Source/WTF

[Win] Resolve some MSVC static analyzer warnings
https://bugs.webkit.org/show_bug.cgi?id=137504

Reviewed by Dean Jackson.

  • wtf/GregorianDateTime.cpp:

(WTF::GregorianDateTime::setToCurrentLocalTime): Properly handle
possible timezone error case.

  • wtf/OSAllocatorWin.cpp:

(WTF::OSAllocator::decommit): Silence a spurious warning about using
MEM_DECOMMIT instead of MEM_RELEASE.

  • wtf/ThreadingWin.cpp: Silence a spurious warning about how the

tryLock method is implemented.

3:28 PM Changeset in webkit [174411] by Simon Fraser
  • 4 edits
    4 copies in trunk

Roll-over Changelogs.

Source/JavaScriptCore:

  • ChangeLog-2014-10-07: Copied from Source/JavaScriptCore/ChangeLog.

Source/WebCore:

  • ChangeLog-2014-10-07: Copied from Source/WebCore/ChangeLog.

Source/WebKit2:

  • ChangeLog-2014-10-07: Copied from Source/WebKit2/ChangeLog.

LayoutTests:

  • ChangeLog-2014-10-07: Copied from LayoutTests/ChangeLog.
3:26 PM Changeset in webkit [174410] by akling@apple.com
  • 10 edits in trunk/Source

Use more Ref and PassRef for Gradient.
<https://webkit.org/b/137490>

Codify the fact that CanvasGradient always has an internal WebCore::Gradient
and make GraphicsContext gradient setters take PassRef, exposing some
unnecessary null checks.

Reviewed by Christophe Dumez.

  • WebCore.exp.in:
  • html/canvas/CanvasGradient.h:

(WebCore::CanvasGradient::gradient):

  • platform/graphics/Gradient.h:

(WebCore::Gradient::create):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):

  • platform/graphics/GraphicsContext.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintProgressBar):

  • rendering/svg/RenderSVGPath.cpp:

(WebCore::useStrokeStyleToFill):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource):

3:17 PM Changeset in webkit [174409] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Bug link should be at the beginning of the line.

  • platform/mac/TestExpectations:
3:14 PM Changeset in webkit [174408] by commit-queue@webkit.org
  • 8 edits in trunk/Tools

Commit queue doesn't drop obsolete patches sometimes
https://bugs.webkit.org/show_bug.cgi?id=137460

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-07
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

Adds another test patch for use in queues_unittest.py.
courtesy of Csaba Osztrogonác <Csaba Osztrogonác>
(MockBugzilla):

  • Scripts/webkitpy/tool/bot/commitqueuetask.py:

Raises a PatchIsNotValid exception in the case of validate() returning
false.
(CommitQueueTask.run):

  • Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:

Raises a PatchIsNotValid exception in the case of validate() returning
false.
(EarlyWarningSystemTask.run):

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Defines PatchIsNotValid exception.
(PatchIsNotValid):
(PatchIsNotValid.init):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Remove call to validate() and instead catches the PatchIsNotValid
exception.
(AbstractEarlyWarningSystem.review_patch):

  • Scripts/webkitpy/tool/commands/queues.py:

Adds logic to catch the PatchIsNotValid exception.
(CommitQueue.process_work_item):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

Adds the test_non_valid_patch test to ensure that invalid patches are
handled properly, and don't just result in indefinite spinning.
courtesy of Csaba Osztrogonác <Csaba Osztrogonác>
(test_non_valid_patch):

2:35 PM Changeset in webkit [174407] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed iOS build fix after r174400.

Missing explicit WebKit:: namespace.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _restorePageStateToExposedRect:scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):

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

[iOS] Teach run-webkit-tests to honor TestExpectation file for iOS Simulator 64-bit builds
https://bugs.webkit.org/show_bug.cgi?id=137499

Patch by Daniel Bates <dabates@apple.com> on 2014-10-07
Reviewed by Simon Fraser.

Tools:

Fixes an issue where the TestExpectation file for the iOS Simulator platform was only
honored when running run-webkit-tests with a 32-bit simulator build of iOS WebKit. We
should honor the TestExpectation file for the iOS Simulator platform for both 32- and 64-
bit simulator builds of iOS WebKit.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort._generate_all_test_configurations):

LayoutTests:

Add a new platform directory, called ios-simulator, and associated TestExpectation file.
For now, there is a single entry to skip all accessibility tests on iOS due to significant
API differences. We'll likely update TestExpectations as we rebaseline iOS Simulator
layout test results.

  • platform/ios-simulator/TestExpectations: Added.
1:52 PM Changeset in webkit [174405] by mhock@apple.com
  • 6 edits in trunk/Source/WebCore

Defer resolution of viewport size.
https://bugs.webkit.org/show_bug.cgi?id=137376
rdar://problem/18558094

Reviewed by Benjamin Poulain.

ViewportConfiguration should resolve the viewport size on configuration update.

  • dom/Document.cpp:

(WebCore::Document::processViewport): Defer resolution of viewport size.

  • dom/ViewportArguments.cpp:

(WebCore::finalizeViewportArguments): Deleted.

  • dom/ViewportArguments.h:
  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::updateConfiguration): Resolve viewport size.
(WebCore::ViewportConfiguration::viewportArgumentsLength): Resolves width or height based on viewport arguments.

  • page/ViewportConfiguration.h:
1:37 PM Changeset in webkit [174404] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] WebKit1 clients crash in DiskCacheMonitor::tryGetFileBackedSharedBufferFromCFURLCachedResponse()
https://bugs.webkit.org/show_bug.cgi?id=137495
<rdar://problem/18495034>

Reviewed by Andreas Kling.

Retain/release the CFCachedURLResponseRef object otherwise we could access a deleted object
and crash on the web thread.

  • loader/cocoa/DiskCacheMonitorCocoa.mm:

(WebCore::DiskCacheMonitor::DiskCacheMonitor):

12:33 PM Changeset in webkit [174403] by Chris Dumez
  • 46 edits in trunk/Source

Use is<>() / downcast<>() for RenderText / RenderTextFragment
https://bugs.webkit.org/show_bug.cgi?id=137476

Reviewed by Darin Adler.

Source/WebCore:

Use is<>() / downcast<>() for RenderText / RenderTextFragment, and
clean up the surrounding code.

No new tests, no behavior change.

  • WebCore.exp.in:

Export symbol for RenderInline::linesBoundingBox() as it is used by
RenderInline::orderBoundingBox() which is inlined and now called in
WebRenderNode.mm.

  • WebCore.xcodeproj/project.pbxproj:

Make RenderInline.h header as Private so that it can be included by
WebRenderNode.mm, similarly to RenderText.h.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::boundingBoxRect):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::passwordFieldValue):

  • accessibility/atk/AccessibilityObjectAtk.cpp:

(WebCore::AccessibilityObject::getLengthForTextRange):

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMNode textHeight]):
(-[DOMNode findExplodedTextNodeAtPoint:]):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getUpperLeftCorner):
(WebCore::ContainerNode::getLowerRightCorner):

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addMarker):

  • dom/Position.cpp:

(WebCore::hasInlineBoxWrapper):
(WebCore::Position::upstream):
(WebCore::Position::downstream):
(WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
(WebCore::Position::isCandidate):
(WebCore::Position::rendersInDifferentPosition):
(WebCore::searchAheadForBetterMatch):
(WebCore::Position::getInlineBoxAndOffset):

  • dom/PositionIterator.cpp:

(WebCore::PositionIterator::isCandidate):

  • dom/Range.cpp:

(WebCore::Range::textRects):
(WebCore::Range::textQuads):
(WebCore::Range::getBorderAndTextQuads):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::debugRenderer):

  • editing/TextIterator.cpp:

(WebCore::hasVisibleTextNode):
(WebCore::TextIterator::handleTextNode):
(WebCore::maxOffsetIncludingCollapsedSpaces):
(WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter):

  • editing/VisibleUnits.cpp:

(WebCore::startOfParagraph):
(WebCore::endOfParagraph):

  • page/FrameView.cpp:

(WebCore::countRenderedCharactersInRenderObjectWithThreshold):

  • rendering/BidiRun.cpp:

(WebCore::BidiRun::BidiRun):

  • rendering/InlineIterator.cpp:

(WebCore::InlineIterator::surrogateTextDirection):

  • rendering/InlineIterator.h:

(WebCore::InlineIterator::atTextParagraphSeparator):
(WebCore::InlineIterator::atParagraphSeparator):
(WebCore::isEmptyInline):
(WebCore::InlineIterator::fastIncrementInTextNode):
(WebCore::InlineIterator::increment):
(WebCore::InlineIterator::characterAt):
(WebCore::InlineIterator::direction):

  • rendering/InlineTextBox.h:

(WebCore::InlineTextBox::renderer):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::updateFirstLetter):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
(WebCore::isVisibleRenderText):
(WebCore::RenderBlockFlow::adjustComputedFontSizes):
(WebCore::stripTrailingSpace):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::createInlineBoxForRenderer):
(WebCore::dirtyLineBoxesForRenderer):
(WebCore::reachedEndOfTextRenderer):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
(WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlockFlow::handleTrailingSpaces):
(WebCore::RenderBlockFlow::determineStartPosition):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::moveChildrenTo):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::hasImmediateNonWhitespaceTextChildOrBorderOrOutline):
(WebCore::RenderElement::addChild):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::generateCulledLineBoxRects):
(WebCore::RenderInline::culledInlineFirstLineBox):
(WebCore::RenderInline::culledInlineLastLineBox):
(WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
(WebCore::RenderInline::dirtyLineBoxes):

  • rendering/RenderInline.h:

Make borderBoundingBox() public so that call sites (here
WebRenderNode.mm) can use tighter typing and benefit from the virtual
function being final.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::getRanges):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::getOverhang):

  • rendering/RenderSelectionInfo.cpp:

(WebCore::RenderSelectionInfo::RenderSelectionInfo):

  • rendering/RenderText.cpp:

(WebCore::isInlineFlowOrEmptyText):
(WebCore::RenderText::previousCharacter):

  • rendering/RenderText.h:

(WebCore::Text::renderer):

  • rendering/RenderTextFragment.h:

(isType):

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::write):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):
(WebCore::SimpleLineLayout::create):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):
(WebCore::SimpleLineLayout::hitTestFlow):

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::RunResolver):

  • rendering/TextAutoSizing.cpp:

(WebCore::TextAutoSizingValue::addNode):

  • rendering/TextAutosizer.cpp:

(WebCore::TextAutosizer::containerIsRowOfLinks):
(WebCore::TextAutosizer::measureDescendantTextWidth):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
(WebCore::shouldAddBorderPaddingMargin):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::BreakingContext::handleText):
(WebCore::textBeginsWithBreakablePosition):
(WebCore::BreakingContext::canBreakAtThisPosition):

Source/WebKit/mac:

  • WebView/WebRenderNode.mm:

(copyRenderNode):

Source/WebKit2:

Use is<>() / downcast<>() for RenderText / RenderTextFragment.

  • Shared/WebRenderObject.cpp:

(WebKit::WebRenderObject::WebRenderObject):

12:11 PM Changeset in webkit [174402] by jer.noble@apple.com
  • 20 edits
    5 adds in trunk

[Media] Expose AudioTracks in the "captions" menu.
https://bugs.webkit.org/show_bug.cgi?id=137472

Reviewed by Brent Fulgham.

Source/WebCore:

Test: media/video-controls-audiotracks-trackmenu.html

If more than one AudioTrack is present in the video element, add those tracks to the
captions menu:

  • English.lproj/mediaControlsLocalizedStrings.js:
  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.addVideoListeners):
(Controller.prototype.removeVideoListeners):
(Controller.prototype.handleAudioTrackChange):
(Controller.prototype.handleAudioTrackAdd):
(Controller.prototype.handleAudioTrackRemove):
(Controller.prototype.updateCaptionButton):
(Controller.prototype.buildCaptionMenu):
(Controller.prototype.handleCaptionItemKeyUp):
(Controller.prototype.audioTrackItemSelected):
(Controller.prototype.focusSiblingAudioTrackItem):
(Controller.prototype.handleAudioTrackItemKeyUp):

Add support to MediaControlHost for retrieving the sorted audio track list, and the
localized names for every audio track:

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::sortedTrackListForMenu):
(WebCore::MediaControlsHost::displayNameForTrack):

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:
  • page/CaptionUserPreferences.cpp:

(WebCore::trackDisplayName):
(WebCore::CaptionUserPreferences::displayNameForTrack):
(WebCore::CaptionUserPreferences::sortedTrackListForMenu):

  • page/CaptionUserPreferences.h:
  • platform/LocalizedStrings.cpp:

(WebCore::audioTrackNoLabelText):

  • platform/LocalizedStrings.h:
  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::audioTrackNoLabelText):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::audioTrackNoLabelText):

Drive-by fix; do not recurse into AudioTrackPrivate->setEnabled() when the enabled
state changes.

  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::enabledChanged):

Fix possible out-of-bounds Vector access when adding tracks to a track list by
sorting the list at insert time, rather than inserting into the track's reported
position in the Vector:

  • html/track/AudioTrackList.cpp:

(AudioTrackList::append):

  • html/track/VideoTrackList.cpp:

(VideoTrackList::append):

Correctly report the trackIndex of audio and video tracks from AVFoundation:

  • platform/graphics/avfoundation/AudioTrackPrivateAVF.h:

(WebCore::AudioTrackPrivateAVF::trackIndex):
(WebCore::AudioTrackPrivateAVF::setTrackIndex):
(WebCore::AudioTrackPrivateAVF::AudioTrackPrivateAVF):

  • platform/graphics/avfoundation/VideoTrackPrivateAVF.h:

(WebCore::VideoTrackPrivateAVF::trackIndex):
(WebCore::VideoTrackPrivateAVF::setTrackIndex):
(WebCore::VideoTrackPrivateAVF::VideoTrackPrivateAVF):

  • platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:

(WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack):

  • platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:

(WebCore::VideoTrackPrivateAVFObjC::resetPropertiesFromTrack):

LayoutTests:

  • media/content/audio-tracks.mp4: Added.
  • media/content/audio-tracks.ogg: Added.
  • media/content/audio-tracks.webm: Added.
  • media/video-controls-audiotracks-trackmenu-expected.txt: Added.
  • media/video-controls-audiotracks-trackmenu.html: Added.
11:57 AM Changeset in webkit [174401] by oliver@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

Remove op_new_captured_func
https://bugs.webkit.org/show_bug.cgi?id=137491

Reviewed by Mark Lam.

Removes the op_captured_new_func opcode as part of the work
towards having any magical opcodes that write directly to
named "registers" and then have a follow on op to ensure that
the environment record correctly represents the stack state.

For this we add a non-captured scratch register so we don't
have to have any kind of magic opcode, and instead simply
have sensible creation and move semantics for capturing new
functions.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitNewFunction):
(JSC::BytecodeGenerator::emitLazyNewFunction):
(JSC::BytecodeGenerator::emitNewFunctionInternal):

  • bytecompiler/BytecodeGenerator.h:
  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

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

(JSC::JIT::emit_op_new_captured_func): Deleted.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL): Deleted.

  • runtime/CommonSlowPaths.h:
11:41 AM Changeset in webkit [174400] by Chris Dumez
  • 15 edits
    1 move in trunk/Source

[WK2] Use is<>() / downcast<>() for DrawingAreaProxy subclasses
https://bugs.webkit.org/show_bug.cgi?id=137477

Reviewed by Andreas Kling.

Source/WebCore:

Include TypeCastsCF.h now that the header was renamed.

No new tests, no behavior change.

  • platform/cf/SharedBufferCF.cpp:

Source/WebKit2:

Use is<>() / downcast<>() for DrawingAreaProxy subclasses.

  • Shared/cf/KeyedDecoder.cpp:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _restorePageStateToExposedRect:scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:
  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::updateVisibleContentRects):
(WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):

  • UIProcess/mac/LegacySessionStateCoding.cpp:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:

Source/WTF:

Rename wtf/cf/TypeCasts.h to wtf/cf/TypeCastsCF.h to avoid conflict
with wtf/TypeCasts.h. They were using the same #ifndef guard and it
was causing problems when both were included in the same context.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/cf/TypeCastsCF.h: Renamed from Source/WTF/wtf/cf/TypeCasts.h.

(WTF::dynamic_cf_cast):
(WTF::checked_cf_cast):

10:15 AM Changeset in webkit [174399] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Try to fix the Mountain Lion build.

  • wtf/text/StringView.h:

(WTF::StringView::underlyingStringIsValid):
(WTF::StringView::setUnderlyingString):
(WTF::StringView::invalidate):

9:36 AM Changeset in webkit [174398] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Use "1", not "true".

  • wtf/text/StringView.h:
9:20 AM Changeset in webkit [174397] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Temporarily disable the StringView lifetime checking.

  • wtf/text/StringView.h:
9:12 AM Changeset in webkit [174396] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] jhbuild modules should build xserver with the --without-dtrace option.
https://bugs.webkit.org/show_bug.cgi?id=137482

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-10-07
Reviewed by Martin Robinson.

  • gtk/jhbuild.modules: Added --without-dtrace option to xserver jhbuild.modules config.
9:06 AM Changeset in webkit [174395] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Another build fix attempt.

  • wtf/text/StringView.cpp:

(WTF::StringView::UnderlyingString::UnderlyingString):

8:49 AM Changeset in webkit [174394] by Carlos Garcia Campos
  • 4 edits in trunk

[SOUP] TLS errors should take precedence over HTTP authentication
https://bugs.webkit.org/show_bug.cgi?id=137300

Reviewed by Sergio Villar Senin.

Source/WebCore:

Handle TLS errors in got-headers callback to make sure it happens
before starting the authentication process.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::handleUnignoredTLSErrors): Refactored to receive the
soup message.
(WebCore::gotHeadersCallback): Return early and cancel the request in case of TLS errors.
(WebCore::sendRequestCallback): Do not handle TLS errors here, the request should have already been
cancelled at this point in case of TLS errors.

Tools:

Add a test case to check that authenticate signal is not emitted
in case of TLS errors, and the load fails instead.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(webViewAuthenticationCallback):
(testTLSErrorsHTTPAuth):
(httpsServerCallback):
(beforeAll):

8:47 AM Changeset in webkit [174393] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Try to fix the Windows build.

  • wtf/text/StringView.cpp:

(WTF::StringView::UnderlyingString::UnderlyingString):

12:42 AM Changeset in webkit [174392] by Carlos Garcia Campos
  • 15 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r173776 - Multithreaded WebGL is a bad idea - remove it
https://bugs.webkit.org/show_bug.cgi?id=136964
<rdar://problem/18399858>

Reviewed by Brent Fulgham.

Source/WebCore:

We should not allow multithreaded GL access. Remove the
feature.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::create):

  • page/Settings.in:
  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::Attributes::Attributes):

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):

Source/WebKit/mac:

Remove the setting to allow multithreaded WebGL.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences multithreadedWebGLEnabled]): Deleted.
(-[WebPreferences setMultithreadedWebGLEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Remove the setting to allow multithreaded WebGL.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetMultithreadedWebGLEnabled): Deleted.
(WKPreferencesGetMultithreadedWebGLEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

12:26 AM Changeset in webkit [174391] by Carlos Garcia Campos
  • 3 edits
    6 adds in releases/WebKitGTK/webkit-2.6

Merge r174002 - [GTK] Fix support for the initial-letter CSS property to first-letter
https://bugs.webkit.org/show_bug.cgi?id=137108

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-09-26
Reviewed by Alejandro G. Castro.

Source/WebCore:

Add support for cap-height to the font system.

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::SimpleFontData::platformInit):

LayoutTests:

Add missing GTK test expectation files after http://webkit.org/b/136484

  • platform/gtk/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.txt: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-descender-expected.txt: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.
12:23 AM Changeset in webkit [174390] by Carlos Garcia Campos
  • 47 edits
    9 copies
    7 adds
    12 deletes in releases/WebKitGTK/webkit-2.6/Source/WebInspectorUI

Merge r174207 - Web Inspector: [GTK] Missing icons and enhancing the proportion and visibility of some icons
https://bugs.webkit.org/show_bug.cgi?id=137248

Reviewed by Carlos Garcia Campos.

Add more free icons and removed some unused ones for the Web
Inspector in GTK+.
Also, enhanced the visibility and/or proportion of several of the
icons.

  • UserInterface/Images/gtk/AUTHORS:
  • UserInterface/Images/gtk/COPYING:
  • UserInterface/Images/gtk/Checkers.svg: Added.
  • UserInterface/Images/gtk/Circle.svg: Added.
  • UserInterface/Images/gtk/CloseLarge.svg: Added.
  • UserInterface/Images/gtk/CloseTimeline.png: Removed.
  • UserInterface/Images/gtk/CloseTimeline@2x.png: Removed.
  • UserInterface/Images/gtk/Crosshair.svg:
  • UserInterface/Images/gtk/DOMCharacterData.svg:
  • UserInterface/Images/gtk/DOMComment.svg:
  • UserInterface/Images/gtk/DOMDocument.svg:
  • UserInterface/Images/gtk/DOMDocumentType.svg:
  • UserInterface/Images/gtk/DOMElement.svg:
  • UserInterface/Images/gtk/DOMNode.svg:
  • UserInterface/Images/gtk/DOMTextNode.svg:
  • UserInterface/Images/gtk/DOMTree.svg:
  • UserInterface/Images/gtk/EventListener.svg:
  • UserInterface/Images/gtk/Exception.svg:
  • UserInterface/Images/gtk/Function.svg:
  • UserInterface/Images/gtk/GradientStop.png: Added.
  • UserInterface/Images/gtk/GradientStop@2x.png: Added.
  • UserInterface/Images/gtk/GradientStopSelected.png: Added.
  • UserInterface/Images/gtk/GradientStopSelected@2x.png: Added.
  • UserInterface/Images/gtk/Issues.svg:
  • UserInterface/Images/gtk/IssuesEnabled.svg:
  • UserInterface/Images/gtk/LessColumns.svg: Removed.
  • UserInterface/Images/gtk/Logs.svg:
  • UserInterface/Images/gtk/Memory.svg: Removed.
  • UserInterface/Images/gtk/MoreColumns.svg: Removed.
  • UserInterface/Images/gtk/Native.svg:
  • UserInterface/Images/gtk/NavigationItemAngleBrackets.svg:
  • UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg:
  • UserInterface/Images/gtk/NavigationItemBug.svg:
  • UserInterface/Images/gtk/NavigationItemFile.svg:
  • UserInterface/Images/gtk/NavigationItemLayers.svg:
  • UserInterface/Images/gtk/NavigationItemMagnifyingGlass.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemProbes.pdf: Added.
  • UserInterface/Images/gtk/NavigationItemStopwatch.svg:
  • UserInterface/Images/gtk/NavigationItemTypes.svg: Added.
  • UserInterface/Images/gtk/PaintFlashing.svg: Added.
  • UserInterface/Images/gtk/PseudoElement.svg:
  • UserInterface/Images/gtk/Record.svg: Added.
  • UserInterface/Images/gtk/Recording.png: Removed.
  • UserInterface/Images/gtk/Recording@2x.png: Removed.
  • UserInterface/Images/gtk/RecordingHovered.png: Removed.
  • UserInterface/Images/gtk/RecordingHovered@2x.png: Removed.
  • UserInterface/Images/gtk/RecordingStopped.png: Removed.
  • UserInterface/Images/gtk/RecordingStopped@2x.png: Removed.
  • UserInterface/Images/gtk/Reflection.svg:
  • UserInterface/Images/gtk/ReplayPauseButton.svg: Added.
  • UserInterface/Images/gtk/ReplayPlayButton.svg: Added.
  • UserInterface/Images/gtk/ReplayRecordingButton.svg: Added.
  • UserInterface/Images/gtk/Request.svg:
  • UserInterface/Images/gtk/Resources.svg:
  • UserInterface/Images/gtk/Response.svg:
  • UserInterface/Images/gtk/ResultLine.svg:
  • UserInterface/Images/gtk/SourceCode.svg:
  • UserInterface/Images/gtk/Stop.svg: Added.
  • UserInterface/Images/gtk/StyleRuleAuthor.svg:
  • UserInterface/Images/gtk/StyleRuleInherited.svg:
  • UserInterface/Images/gtk/StyleRuleInheritedElement.svg:
  • UserInterface/Images/gtk/StyleRuleInspector.svg:
  • UserInterface/Images/gtk/StyleRuleUser.svg:
  • UserInterface/Images/gtk/StyleRuleUserAgent.svg:
  • UserInterface/Images/gtk/Time.svg:
  • UserInterface/Images/gtk/TimelineRecordAnimation.svg:
  • UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Added.
  • UserInterface/Images/gtk/TimelineRecordEvent.svg:
  • UserInterface/Images/gtk/TimelineRecordLayout.svg:
  • UserInterface/Images/gtk/TimelineRecordPaint.svg:
  • UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Added.
  • UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg:
  • UserInterface/Images/gtk/TimelineRecordStyle.svg:
  • UserInterface/Images/gtk/TimelineRecordTimer.svg:
  • UserInterface/Images/gtk/Weight.svg:
12:06 AM Changeset in webkit [174389] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Fix a warning when passing an NSInteger to abs().
https://bugs.webkit.org/show_bug.cgi?id=137480

Reviewed by Mark Rowe.

Use std::abs() instead, which is overloaded for both long (a.k.a. NSInteger) and int.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):

Oct 6, 2014:

11:58 PM Changeset in webkit [174388] by Darin Adler
  • 9 edits
    1 add in trunk/Source

Make StringView check the lifetime of the StringImpl it's created from
https://bugs.webkit.org/show_bug.cgi?id=137202

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/graphics/TextRun.cpp: Update since TextRun's definition now

uses a StringView.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj: Added StringView.cpp.
  • WTF.vcxproj/WTF.vcxproj.filters: Added StringView.cpp.
  • WTF.xcodeproj/project.pbxproj: Added StringView.cpp.
  • wtf/CMakeLists.txt: Added StringView.cpp.
  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl): Call StringView::invalidate.

  • wtf/text/StringView.cpp: Added.

(WTF::underlyingStrings): Returns map from StringImpl to the underlying
string object used by StringView to track validity.
(WTF::StringView::invalidate): Mark the underlying string object invalid,
and remove it from the map, so any future StringImpl will get a new one,
even if it has the same pointer.
(WTF::StringView::underlyingStringIsValid): Return true only if the
underlying string is still valid.
(WTF::StringView::setUnderlyingString): Create and manage reference counts
of underlying string objects as needed.

  • wtf/text/StringView.h: Moved function bodies out of the class definition,

so we can now read a clean class definition to see the class design and what
functions it offers.
(WTF::StringView::StringView): Added a comment to the default constructor.
Also added copy and move constructors so they can call setUnderlyingString
and assert the underlying string is valid as needed, replacing the
compiler-generated ones.
(WTF::StringView::~StringView): Added a call to setUnderlyingString.
(WTF::StringView::operator=): Added these assignment operators with the same
job as the constructors above.
(WTF::StringView::initialize): Added a comment.
(WTF::StringView::characters8): Added an assertion that the underlying
string is valid.
(WTF::StringView::characters16): Ditto.
(WTF::StringView::substring): Added code to propagate the underlying string
from the original string to the substring.
(WTF::StringView::invalidate): Inline empty version of this function for
non-debug builds.
(WTF::StringView::underlyingStringIsValid): Ditto.
(WTF::StringView::setUnderlyingString): Ditto.

11:54 PM Changeset in webkit [174387] by vivek.vg@samsung.com
  • 2 edits in trunk/Source/WebKit2

Remove unused warning in WebPageOverlay
https://bugs.webkit.org/show_bug.cgi?id=137444

Reviewed by Darin Adler.

Commenting the unused parameter to supress the warning.

  • WebProcess/WebPage/WebPageOverlay.h:

(WebKit::WebPageOverlay::Client::copyAccessibilityAttributeStringValueForPoint):
(WebKit::WebPageOverlay::Client::copyAccessibilityAttributeBoolValueForPoint):

11:19 PM Changeset in webkit [174386] by aestes@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Objective-C objects must be fully defined when used in a WTF::Vector
https://bugs.webkit.org/show_bug.cgi?id=137479

Reviewed by Mark Rowe.

When compiling an Objective-C++ file under ARC, @class types are considered non-trivially destructable, so
Vector needs to see their definition in order to call their destructor.

See <http://clang.llvm.org/docs/AutomaticReferenceCounting.html#ownership-qualified-fields-of-structs-and-unions> for details.

  • API/ObjcRuntimeExtras.h: Imported <objc/Protocol.h>.
10:26 PM Changeset in webkit [174385] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Make webkit-patch find-users useful
https://bugs.webkit.org/show_bug.cgi?id=137475

Reviewed by Alexey Proskuryakov.

Make find-users use the CommitterList instead of accessing Bugzilla.

This essentially exposes the same functionality as webkitbot's whois command.

  • Scripts/webkitpy/tool/commands/findusers.py:

(FindUsers.execute):

9:42 PM Changeset in webkit [174384] by adachan@apple.com
  • 8 edits in trunk/Source/WebKit2

Call WKPageUIClient::isPlayingAudioDidChange() whenever audio starts/stops playing on a page.
https://bugs.webkit.org/show_bug.cgi?id=137050

Reviewed by Anders Carlsson.

Implement WebChromeClient::isPlayingAudioDidChange() which sends the new isPlayingAudio state
over to the UI process. WebPageProxy caches the isPlayingAudio state, and when that changes,
it calls WKPageUIClient::isPlayingAudioDidChange().

  • UIProcess/API/APIUIClient.h:

(API::UIClient::isPlayingAudioDidChange):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::isPlayingAudioDidChange):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::isPlayingAudio):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::isPlayingAudioDidChange):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
8:32 PM Changeset in webkit [174383] by aestes@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Fix remaining misuses of abs() and fabsf()
https://bugs.webkit.org/show_bug.cgi?id=130947

Reviewed by Simon Fraser.

Fixed issues found when compiling with -Wabsolute-value.

  • platform/ios/ScrollAnimatorIOS.mm:

(WebCore::ScrollAnimatorIOS::handleTouchEvent): Called abs() instead of fabsf for integral types. Explicitly
cast the divisor to float in the call to atanf().

  • platform/ios/wak/WKView.mm:

(_WKViewAutoresizeCoord): Explicitly cast origMarginsTotal to an int before calling abs(). Added a FIXME
indicating the strange behavior when origMarginsTotal is in the range (0, 1) (as pointed out by Darin).

8:28 PM Changeset in webkit [174382] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

CanvasPattern always has an internal WebCore::Pattern.
<https://webkit.org/b/137456>

Use more Ref & PassRef for CanvasPattern and Pattern.

Removed some impossible null checks in GraphicsContext that
got exposed as compile errors with these changes.

Reviewed by Anders Carlsson.

  • html/canvas/CanvasPattern.h:

(WebCore::CanvasPattern::pattern):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/Pattern.cpp:

(WebCore::Pattern::create):

  • platform/graphics/Pattern.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • rendering/svg/RenderSVGPath.cpp:

(WebCore::useStrokeStyleToFill):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::applyResource):

8:10 PM Changeset in webkit [174381] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Use of 1-bit Enum type behaves improperly
https://bugs.webkit.org/show_bug.cgi?id=137471
<rdar://problem/18559172>

Reviewed by Mark Lam.

Represent 1-bit enum element as 'unsigned', as we have done elsewhere
in WebKit to avoid problems when building with MSVC.

  • debugger/Debugger.h:
7:33 PM Changeset in webkit [174380] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source

[EFL] Restore previous scroll position using restoreViewState()
https://bugs.webkit.org/show_bug.cgi?id=136999

Reviewed by Benjamin Poulain.

There are duplicating code paths to restore previous scroll position and scale factor in
HistoryController::restoreScrollPositionAndViewState. EFL port has processed the two code paths.
It causes wrong rendering update or scroll position change when previous page's scroll position
is restored. Thus EFL port begins to use restoreViewState() to restore scroll position and scale factor.
This patch is first step to support it.

Additionally EFL port has supported to use ScrollingCoordinatorCoordinatedGraphics::requestScrollPositionUpdate()
since r173785. So EFL port can use the requestScrollPositionUpdate() to restore scroll position on previous page
instead of delegatedScrollRequested(). However setScrollPosition() can't be used there for now, because iOS port
should call it when delegatesScrolling is disabled. On the other hand, EFL port supports it only when delegatesScrolling
is enabled.

Source/WebCore:

Test covered by WKViewRestoreZoomAndScrollBackForward API test.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::restoreScrollPositionAndViewState):
EFL port only calls restoreViewState() to restore previous page's view state.

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::saveViewStateToItem):
Move iOS saveViewStateToItem() to common place in order to share iOS implementation with EFL port.

(WebKit::WebFrameLoaderClient::restoreViewState):
EFL begins to share restoreViewState() of iOS, thus move iOS restoreViewState() to common place.

  • WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:

(WebKit::WebFrameLoaderClient::saveViewStateToItem): Deleted.
(WebKit::WebFrameLoaderClient::restoreViewState): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::WebPage::restorePageState):
Call scalePage() to update previous scaleFactor and scrollPosition of historyItem both to WebProcess and UIProcess.

(WebKit::WebPage::savePageState):

6:55 PM Changeset in webkit [174379] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Highlighted selectors in Rules sidebar break with selectors that contain nested selector lists
https://bugs.webkit.org/show_bug.cgi?id=137378

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-06
Reviewed by Joseph Pecoraro.

We should not update the parser's selectorRange when matching a nested selector list.

To implement this with low risk of unbalanced start+end and good error recovery,
I have wrapped the parsing of selector_list between a start/end function at the grammar
level. Whenever the parser enter a nested selector list, m_nestedSelectorLevel goes up
by one. Any time the parsing is currently in a nested selector list, we never update
the selector ranges.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::markSelectorStart):
(WebCore::CSSParser::markSelectorEnd):

  • css/CSSParser.h:

(WebCore::CSSParser::startNestedSelectorList):
(WebCore::CSSParser::endNestedSelectorList):

6:16 PM Changeset in webkit [174378] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

[Windows] Build fix for EWS bots.

  • WebCore.vcxproj/WebCoreGenerated.make: Make sure we always regenerate WebCore derived sources.
6:15 PM Changeset in webkit [174377] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

[Win] DateMath's calculateUTFOffset does not account for DST.
https://bugs.webkit.org/show_bug.cgi?id=137458
<rdar://problem/18559172>

Reviewed by Geoffrey Garen.

Check the return value of GetTimeZoneInformation and use the
proper bias against UTC (depending on whether we are in daylight
savings time, or standard time).

Also, handle possible error cases in the FileTimeToSystemTime
and SystemTimeToTzSpecificLocalTime, rather than using potentially
uninitialized values.

  • wtf/DateMath.cpp:

(WTF::calculateUTCOffset): Use proper daylight-savings-time state.
(WTF::calculateDSTOffset): Avoid uninitialized data due to failing
API calls.

6:10 PM Changeset in webkit [174376] by Chris Fleizach
  • 2 edits in trunk/Tools

AX: iOS8: Crash at -[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]
https://bugs.webkit.org/show_bug.cgi?id=137289

Unreviewed build fix.

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::getChildrenWithRange):

5:26 PM Changeset in webkit [174375] by Chris Dumez
  • 97 edits in trunk/Source

Add is<>() / downcast<>() support for RenderObject subclasses
https://bugs.webkit.org/show_bug.cgi?id=137424

Reviewed by Benjamin Poulain.

Source/WebCore:

Add is<>() / downcast<>() support for RenderObject subclasses, and
get rid of IsRendererOfType traits struct as we can now rely on the
TypeCastsTraits instead.

toRender*() is still supported for most render objects because I did
not want to remove all usages in this patch, to keep the size small.
For now, only the MathML render objects were ported over to using
is<>() / downcast<>(). Other render objects will be taken care of in
follow-up patches and I will drop support for toRender*()
incrementally.

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isMathFenceOperator):
(WebCore::AccessibilityRenderObject::isMathSeparatorOperator):
(WebCore::AccessibilityRenderObject::mathLineThickness):

  • dom/make_names.pl:

(printTypeHelpers):

  • mathml/MathMLInlineContainerElement.cpp:

(WebCore::MathMLInlineContainerElement::childrenChanged):

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::didAttachRenderers):
(WebCore::MathMLTextElement::childrenChanged):

  • rendering/RenderAncestorIterator.h:

(WebCore::lineageOfType):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.h:
  • rendering/RenderButton.h:
  • rendering/RenderCombineText.h:
  • rendering/RenderCounter.h:
  • rendering/RenderDetailsMarker.h:
  • rendering/RenderElement.h:
  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderFieldset.h:
  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFlowThread.h:
  • rendering/RenderFrame.h:
  • rendering/RenderFrameSet.h:
  • rendering/RenderFullScreen.h:
  • rendering/RenderGrid.h:
  • rendering/RenderHTMLCanvas.h:
  • rendering/RenderIFrame.h:
  • rendering/RenderImage.h:
  • rendering/RenderInline.h:
  • rendering/RenderIterator.h:

(WebCore::isRendererOfType):
(WebCore::RenderTraversal::firstChild):
(WebCore::RenderTraversal::lastChild):
(WebCore::RenderTraversal::nextSibling):
(WebCore::RenderTraversal::previousSibling):
(WebCore::RenderTraversal::findAncestorOfType):

  • rendering/RenderLayerModelObject.h:
  • rendering/RenderLineBreak.h:
  • rendering/RenderListBox.h:
  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.h:
  • rendering/RenderMedia.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderMultiColumnSpannerPlaceholder.h:
  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderObject.h:

(WebCore::RenderObject>): Deleted.

  • rendering/RenderProgress.h:
  • rendering/RenderQuote.h:
  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.h:
  • rendering/RenderRubyRun.h:
  • rendering/RenderScrollbarPart.h:
  • rendering/RenderSearchField.h:
  • rendering/RenderSlider.h:
  • rendering/RenderSnapshottedPlugIn.h:
  • rendering/RenderTable.h:
  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCell.h:
  • rendering/RenderTableCol.h:
  • rendering/RenderTableRow.h:
  • rendering/RenderTableSection.h:
  • rendering/RenderText.h:
  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlMultiLine.h:
  • rendering/RenderTextControlSingleLine.h:
  • rendering/RenderTextFragment.h:
  • rendering/RenderVideo.h:
  • rendering/RenderView.h:
  • rendering/RenderWidget.h:
  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::updateFromElement):

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::unembellishedOperator):

  • rendering/mathml/RenderMathMLFraction.h:
  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRadicalOperator.h:
  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::baseWrapper):
(WebCore::RenderMathMLRoot::radicalWrapper):
(WebCore::RenderMathMLRoot::indexWrapper):
(WebCore::RenderMathMLRoot::radicalOperator):
(WebCore::RenderMathMLRootWrapper::removeChild):

  • rendering/mathml/RenderMathMLRoot.h:
  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::updateOperatorProperties):
(WebCore::RenderMathMLRow::layout):

  • rendering/mathml/RenderMathMLRow.h:
  • rendering/mathml/RenderMathMLScripts.cpp:

(WebCore::RenderMathMLScripts::addChildInternal):
(WebCore::RenderMathMLScripts::removeChildInternal):
(WebCore::RenderMathMLScripts::unembellishedOperator):
(WebCore::RenderMathMLScripts::layout):
(WebCore::RenderMathMLScriptsWrapper::addChildInternal):
(WebCore::RenderMathMLScriptsWrapper::addChild):
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
(WebCore::RenderMathMLScriptsWrapper::removeChild):

  • rendering/mathml/RenderMathMLScripts.h:
  • rendering/mathml/RenderMathMLSpace.h:
  • rendering/mathml/RenderMathMLSquareRoot.h:
  • rendering/mathml/RenderMathMLToken.h:
  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::unembellishedOperator):

  • rendering/svg/RenderSVGContainer.h:
  • rendering/svg/RenderSVGGradientStop.h:
  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGModelObject.h:
  • rendering/svg/RenderSVGPath.h:
  • rendering/svg/RenderSVGResourceContainer.h:
  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGShape.h:
  • rendering/svg/RenderSVGText.h:
  • rendering/svg/RenderSVGTextPath.h:
  • rendering/svg/RenderSVGViewportContainer.h:

Source/WTF:

Handle correctly calling TypeCastTraits<ExpectedType, ArgType>::isOfType(ArgType&)
with ExpectedType being a base class of ArgType (or the same as ArgType). The
previous template specialization was only meant to support the case where
ExpectedType is the same as ArgType but even that wasn't working as the compiler
would complain about ambiguous partial specializations. Since this is needed by
RenderTraversal functions, this patch adds an extra isBaseType template parameter
to TypeCastTraits to resolve the ambiguity and relies on std::is_base_of for the
detection.

  • wtf/TypeCasts.h:
5:15 PM Changeset in webkit [174374] by Chris Dumez
  • 9 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for ScrollingTreeNode subclasses
https://bugs.webkit.org/show_bug.cgi?id=137451

Reviewed by Tim Horton.

Use is<>() / downcast<>() for ScrollingTreeNode subclasses.

No new tests, no behavior change.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):

  • page/scrolling/ScrollingTreeFrameScrollingNode.h:
  • page/scrolling/ScrollingTreeNode.h:
  • page/scrolling/ScrollingTreeOverflowScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeFixedNode.h:
  • page/scrolling/mac/ScrollingTreeStickyNode.h:
  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange):

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

Addressing post-review comment on r174297.
https://bugs.webkit.org/show_bug.cgi?id=137355

Unreviewed.

  • rendering/RenderText.cpp:

(WebCore::RenderText::stringView):

3:44 PM Changeset in webkit [174372] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed merge fix for r174279.
https://bugs.webkit.org/show_bug.cgi?id=137097

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont):

3:17 PM Changeset in webkit [174371] by mark.lam@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Fixed compiler warnings on Windows build.
<https://webkit.org/b/135205>

Reviewed by Geoffrey Garen.

Benchmarking with jsc shows that perf is neutral with this change.

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::call):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • dfg/DFGArgumentPosition.h:

(JSC::DFG::ArgumentPosition::mergeShouldNeverUnbox):
(JSC::DFG::ArgumentPosition::mergeArgumentUnboxingAwareness):

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::makeWord):

  • dfg/DFGNodeFlags.h:

(JSC::DFG::nodeMayOverflow):
(JSC::DFG::nodeMayNegZero):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGVariableAccessData.cpp:

(JSC::DFG::VariableAccessData::mergeIsCaptured):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::mergeIsProfitableToUnbox):
(JSC::DFG::VariableAccessData::mergeStructureCheckHoistingFailed):
(JSC::DFG::VariableAccessData::mergeCheckArrayHoistingFailed):
(JSC::DFG::VariableAccessData::mergeIsArgumentsAlias):
(JSC::DFG::VariableAccessData::mergeIsLoadedFrom):

  • runtime/JSDataViewPrototype.cpp:

(JSC::getData):

3:07 PM Changeset in webkit [174370] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (Simple Line Layout): Inline block baselines computed incorrectly
https://bugs.webkit.org/show_bug.cgi?id=137461

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/inline-block/simple-line-layout.html

  • rendering/SimpleLineLayoutFunctions.h:

(WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
(WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
Fix the baseline computation functions in simple line layout to
use lineCount rather than runCount.

LayoutTests:

  • fast/inline-block/simple-line-layout-expected.html: Added.
  • fast/inline-block/simple-line-layout.html: Added.
3:07 PM Changeset in webkit [174369] by Chris Dumez
  • 13 edits in trunk/Source/WebKit2

[Mac] We are spending too much time serializing ProtectionSpace objects
https://bugs.webkit.org/show_bug.cgi?id=137367

Reviewed by Dan Bernstein.

When profiling the load of nytimes.com, I noticed that we were spending
a lot of CPU time serializing ProtectionSpace objects (in particular
the NSURLProtectionSpace platform data):

  • 5.6% of CPU time for Network Process
  • 2.5% of CPU time for WebProcess

Serializing an NSURLProtectionSpace seems to be costly due to server
trust verification. We do this for every sub-resource load over HTTPS
due to the canAuthenticateAgainstProtectionSpace() callback for server
trust validation, from the NetworkProcess to the WebProcess and then to
the UIProcess.

This patch adds a WKContextSetCanHandleHTTPSServerTrustEvaluation(bool)
WK2 private API that the client can call to indicate that it cannot
handle HTTPS server trust evaluation and that it is thus unnecessary to
call the canAuthenticateAgainstProtectionSpace() callback for such
evaluations. This reduces the amount of IPC between the process and
thus the number of times we have to serialize the ProtectionSpace.

In the case of the nytimes.com load, there is no longer any
ProtectionSpace serialization happening as
canAuthenticateAgainstProtectionSpace() was only called for HTTPS
server trust evaluation.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setCanHandleHTTPSServerTrustEvaluation):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::canHandleHTTPSServerTrustEvaluation):

  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):

  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextSetCanHandleHTTPSServerTrustEvaluation):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setCanHandleHTTPSServerTrustEvaluation:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::setCanHandleHTTPSServerTrustEvaluation):

  • UIProcess/WebContext.h:
2:53 PM Changeset in webkit [174368] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed 64-bit build fix after r174315.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Update exports for

64-bit symbol names.

2:52 PM Changeset in webkit [174367] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Don't attempt to paint into zero-sized backing store
https://bugs.webkit.org/show_bug.cgi?id=137465

Reviewed by Tim Horton.

Page scale could cause the backing store for a small composited element to become empty,
in which case we'd try to allocate, and paint into a graphics context with no surface
behind it.

Fix by bailing from RemoteLayerBackingStore::display() when checking the backing store
size after accounting for scale.

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

(WebKit::RemoteLayerBackingStore::backingStoreSize):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::display):

2:37 PM Changeset in webkit [174366] by ap@apple.com
  • 6 edits
    3 moves in trunk/Tools

build.webkit.org/dashboard: Add commit queue
https://bugs.webkit.org/show_bug.cgi?id=137462

Reviewed by Tim Horton.

Generalizes EWS into "bubble queue", which also includes commit queue and style queue.
Style queue is still invisible, as it doesn't have an associated platform, and also
we never have problems with it anyway, so it's not worth watching.

The UI now allows for adding more bots to the Other column (such as leaks bot).
To make that actually happen, we'll need to refactor QueueView, allowing for multiple
sources of data in a cell.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueue.js: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js.

(BubbleQueue):
(BubbleQueue.prototype.get statusPageURL):
(BubbleQueue.prototype.update):
(BubbleQueue.prototype.loadDetailedStatus):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js.

(BubbleQueueServer):
(BubbleQueueServer.prototype.jsonQueueLengthURL):
(BubbleQueueServer.prototype.jsonQueueStatusURL):
(BubbleQueueServer.prototype.queueStatusURL):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueView.js: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js.

(BubbleQueueView):
(BubbleQueueView.prototype.update.appendQueue):
(BubbleQueueView.prototype.update):
(BubbleQueueView.prototype._addQueueHeadingToPopover):
(BubbleQueueView.prototype._popoverContentForBubbleQueue):
(BubbleQueueView.prototype._presentPopoverForBubbleQueue):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js: Removed.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

(.bubble-server-popover .popover-queue-heading .queue-charts-link):
(.bubble-server-popover .latest-status-no-link):
(.bubble-server-popover .bot-status-description):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsMain.js:

(buildAggregateTable):
(buildQueuesTable):
Removed dysfunctional support for EWS for now. It will be different.

2:36 PM Changeset in webkit [174365] by adachan@apple.com
  • 3 edits in trunk/Source/WebCore

Add ChromeClient::isPlayingAudioDidChange().
https://bugs.webkit.org/show_bug.cgi?id=137220

Reviewed by Jer Noble.

This is called when the Page's m_isPlayingAudio changes.

No new tests, no behavior change.

  • page/ChromeClient.h:

(WebCore::ChromeClient::isPlayingAudioDidChange):

  • page/Page.cpp:

(WebCore::Page::updateIsPlayingAudio):

1:58 PM Changeset in webkit [174364] by ap@apple.com
  • 3 edits in trunk/Tools

One more case of incorrect comparison in recordpatchevent.py
https://bugs.webkit.org/show_bug.cgi?id=137459

Reviewed by Tim Horton.

  • QueueStatusServer/app.yaml:
  • QueueStatusServer/loggers/recordpatchevent.py:

(RecordPatchEvent.started):

1:45 PM Changeset in webkit [174363] by benjamin@webkit.org
  • 17 edits in trunk

Unreviewed, rolling out r174336.

Mozilla's Dromaeo still relies on the deprecated function.

Reverted changeset:

"Add a deprecation warning for Element.webkitMatchesSelector"
https://bugs.webkit.org/show_bug.cgi?id=137417
http://trac.webkit.org/changeset/174336

1:42 PM Changeset in webkit [174362] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove incorrect assertion.

1:27 PM Changeset in webkit [174361] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix cloop build.

1:18 PM Changeset in webkit [174360] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix.
<https://webkit.org/b/137279>

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

12:29 PM Changeset in webkit [174359] by oliver@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

REGRESSION(r174226): [JSC] Crash when running the perf test Speedometer/Full.html
https://bugs.webkit.org/show_bug.cgi?id=137404

Reviewed by Michael Saboff.

Update the Arguments object to recognise that it must always have an
environment record if the referenced callee has one, and if such is not
present it should not try to extract one from the callframe, as that
path leads to madness.

Happily this makes some of the other code more sensible, and removes a
bunch of unnecessary and icky logic.

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):

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

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::tearOff):
(JSC::Arguments::didTearOffActivation): Deleted.

  • runtime/Arguments.h:

(JSC::Arguments::argument):
(JSC::Arguments::finishCreation):

12:20 PM Changeset in webkit [174358] by Chris Dumez
  • 13 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for CryptoKey subclasses
https://bugs.webkit.org/show_bug.cgi?id=137436

Reviewed by Ryosuke Niwa.

Use is<>() / downcast<>() for CryptoKey subclasses.

No new tests, no behavior change.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::addJWKAlgorithmToJSON):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::write):

  • crypto/CryptoKey.h:
  • crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:

(WebCore::CryptoAlgorithmAES_CBC::keyAlgorithmMatches):
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):

  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:

(WebCore::CryptoAlgorithmAES_KW::keyAlgorithmMatches):
(WebCore::CryptoAlgorithmAES_KW::encryptForWrapKey):
(WebCore::CryptoAlgorithmAES_KW::decryptForUnwrapKey):

  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:

(WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches):
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::keyAlgorithmMatches):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::keyAlgorithmMatches):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):

  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::keyAlgorithmMatches):
(WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::decrypt):

  • crypto/keys/CryptoKeyAES.h:

(WebCore::isCryptoKeyAES): Deleted.

  • crypto/keys/CryptoKeyHMAC.h:

(WebCore::isCryptoKeyHMAC): Deleted.

  • crypto/keys/CryptoKeyRSA.h:

(WebCore::isCryptoKeyRSA): Deleted.

12:09 PM Changeset in webkit [174357] by ap@apple.com
  • 3 edits in trunk/Tools

webkit-queues PatchLog is incorrect for patches that took less than a second
https://bugs.webkit.org/show_bug.cgi?id=137453

Reviewed by Tim Horton.

  • QueueStatusServer/app.yaml: Updated app version.
  • QueueStatusServer/loggers/recordpatchevent.py: (RecordPatchEvent.stopped):

Don't bail out for patches that took 0 seconds to process (as frequently happens
when a patch is obsolete).

11:57 AM Changeset in webkit [174356] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Some compositing logic cleanup
https://bugs.webkit.org/show_bug.cgi?id=133060

Reviewed by Zalan Bujtas.

Move compositing-related code from RenderLayer::styleChanged() to
RenderLayerCompositor::layerStyleChanged(). Combine various tests
(many clip-related) for changes that require layer rebuilding into
styleChangeRequiresLayerRebuild().

Remove code that calls setBackingNeedsRepaint() after filters change
between being composited or not; I verified that existing "repaint after
style change" code takes care those repaints.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate): Deleted.

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

(WebCore::checkIfDescendantClippingContextNeedsUpdate):
(WebCore::styleChangeRequiresLayerRebuild):
(WebCore::RenderLayerCompositor::layerStyleChanged):

  • rendering/RenderLayerCompositor.h:
11:56 AM Changeset in webkit [174355] by adachan@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build after https://trac.webkit.org/changeset/174353.

  • platform/audio/ios/AudioDestinationIOS.h:
11:39 AM Changeset in webkit [174354] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix.

  • Misc/WebCache.mm:

(+[WebCache imageForURL:]):

11:22 AM Changeset in webkit [174353] by adachan@apple.com
  • 10 edits in trunk/Source/WebCore

Implement Page::isPlayingAudio().
https://bugs.webkit.org/show_bug.cgi?id=137218

Reviewed by Eric Carlson.

  • Add a hasMediaCharacteristics() method to MediaSession. There are three characteristics:

audible, visual, and legible. MediaSession gets the media characteristics information from
its MediaSessionClient.

  • Add a mediaStateDidChange() method to MediaSessionClient that MediaSession can call when its

state changes.

  • Each Document keeps a set of MediaSessions it contains. When that set changes, or when a MediaSession

changes state, or when its characteristics change, Document::updateIsPlayingAudio() is called. That method
iterates through all its MediaSessions to check if the overall isPlayingAudio state has changed in the Document.

  • Each Page caches its overall isPlayingAudio state. Whenever a Document's isPlayingAudio state changes,

it calls Page::updateIsPlayingAudio() which iterates through its frames' documents to calculate its
overall isPlayingAudio state.

No new tests, no behavior change.

  • dom/Document.cpp:

(WebCore::Document::Document):
Initialize m_isPlayingAudio.
(WebCore::Document::registerMediaSession):
Add the MediaSession to m_mediaSessions. Call updateIsPlayingAudio().
(WebCore::Document::unregisterMediaSession):
Remove the MediaSession from m_mediaSessions. Call updateIsPlayingAudio().
(WebCore::Document::updateIsPlayingAudio):
Go through all the MediaSessions in this Document and check if any has the Audible characteristic
and is playing. If the overall isPlayingAudio state changes, call Page::updateIsPlayingAudio().

  • dom/Document.h:

(WebCore::Document::isPlayingAudio):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::registerWithDocument):
Call Document::registerMediaSession().
(WebCore::HTMLMediaElement::unregisterWithDocument):
Call Document::unregisterMediaSession().
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
Call Document::updateIsPlayingAudio().
(WebCore::HTMLMediaElement::stop):
Call MediaSession::clientWillPausePlayback() so the MediaSession's state can be set back to Paused.
(WebCore::HTMLMediaElement::hasMediaCharacteristics):
Call hasAudio() to check if the HTMLMediaElement has the Audible characteristic. Call hasVideo()
to check if it has the Visual characteristic. Call hasClosedCaptions() to check if it has the
Legible characteristic.
(WebCore::HTMLMediaElement::mediaStateDidChange):
Call Document::updateIsPlayingAudio().

  • html/HTMLMediaElement.h:
  • page/Page.cpp:

(WebCore::Page::Page):
Initialize m_isPlayingAudio.
(WebCore::Page::updateIsPlayingAudio):
Iterate through all its frames' documents to check if any has audio playing. If the overall isPlayingAudio
state has changed, update m_isPlayingAudio.

  • page/Page.h:

(WebCore::Page::isPlayingAudio):

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::setState):
If the MediaSession's state has changed, call Document::updateIsPlayingAudio().
(WebCore::MediaSession::hasMediaCharacteristics):
Call MediaSessionClient::hasMediaCharacteristics().

  • platform/audio/MediaSession.h:

(WebCore::MediaSessionClient::mediaStateDidChange):

  • platform/audio/mac/AudioDestinationMac.h:

AudioDestination only has the Audible characteristic.

11:09 AM Changeset in webkit [174352] by Chris Dumez
  • 2 edits in trunk/Source/WebKit/mac

Unreviewed build fix after r174333.

Forgot explicit WebCore:: namespace.

  • Misc/WebCache.mm:

(+[WebCache imageForURL:]):

11:08 AM Changeset in webkit [174351] by Chris Dumez
  • 8 edits in trunk/Source

Use is<>() / downcast<>() for ScrollingTree subclasses
https://bugs.webkit.org/show_bug.cgi?id=137449

Reviewed by Ryosuke Niwa.

Use is<>() / downcast<>() for ScrollingTree subclasses.

Source/WebCore:

No new tests, no behavior change.

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/ios/ScrollingTreeIOS.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::handleWheelEvent):
(WebCore::ScrollingCoordinatorMac::commitTreeState):

Source/WebKit2:

  • UIProcess/Scrolling/RemoteScrollingTree.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::addScrollingTreeForPage):

11:01 AM Changeset in webkit [174350] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Build fix aftr r174347.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Use correct build

macro to prevent build break when ENCRYPTED_MEDIA_V2 is not enabled.

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

[Windows] Skip remaining failing media tests after adding audio devices to the bots Part 2.

  • platform/win/TestExpectations:
10:55 AM Changeset in webkit [174348] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

[Win] Project file gardening.

  • WTF.vcxproj/WTF.vcxproj.filters: Move HashMethod.h and

FastBitVector.cpp to proper places in hierarchy.

10:53 AM Changeset in webkit [174347] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Project file gardening.

  • WebCore.vcxproj/WebCore.vcxproj.filters: Move EditorWin.cpp and MediatTimeAVFoundation to proper folder locations in project.
10:49 AM Changeset in webkit [174346] by Brent Fulgham
  • 7 edits in trunk/Source/WebCore

[Win] Extend AVFoundationCF Media Implementation
https://bugs.webkit.org/show_bug.cgi?id=137409

Reviewed by Eric Carlson.

This code is not yet being built and tested by our system. Appropriate
tests will be activated when we enable the build.

Most of this patch involves correcting some misuse of the AVFoundationCF API.

  1. It is never appropriate in AVCF to pass a null CFErrorRef; instead you must pass a CFErrorRef with error type kCFURLErrorUnknown.
  2. Because of the asynchronous way we handle the request/response, it is possible for AVCF to make two AVCF requests while negotiating the key exchange.
  • platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Add

missing declaration.

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

(WebCore::CDMSessionAVFoundationCF::generateKeyRequest): Tighten up scope
of 'underlyingError'.
(WebCore::CDMSessionAVFoundationCF::update): Add call to complete the
loading process.

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

(WebCore::InbandTextTrackPrivateAVCF::label): Handle null titles CFArray
found during testing.
(WebCore::InbandTextTrackPrivateAVCF::language): Ditto for a null locale.

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

(WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine): Add support
for the new 'supportsKeySystem' method.
(WebCore::MediaPlayerPrivateAVFoundationCF::createContextVideoRenderer): Add
assertion for mainThread.
(WebCore::MediaPlayerPrivateAVFoundationCF::destroyContextVideoRenderer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationCF::createVideoLayer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationCF::destroyVideoLayer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayerItem): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationCF::platformLayer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationCF::platformSetVisible): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationCF::paint): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationCF::supportsKeySystem): Added.
(WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged): Add assertion that this
is being called on the main thread.
(WebCore::MediaPlayerPrivateAVFoundationCF::processMediaSelectionOptions): Handle
the allows empty media selection properly based on test behavior.
(WebCore::AVFWrapper::AVFWrapper): Initialize resource loader callback structure
when building with AVFOUNDATION_LOADER_DELEGATE.
(WebCore::AVFWrapper::createAssetForURL): Use AVFWrapper's loader callback struct,
rather than passing the address of a temporary value.
(WebCore::AVFWrapper::processNotification): Stop using the deprecated
'dispatch_get_current_queue' function.
(WebCore::AVFWrapper::processCue): Ditto.
(WebCore::AVFWrapper::legibleOutputCallback): Ditto.
(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource): Pass a valid CFError
object; nullptr is not allowed as an argument to the "...FinishedLoadingWithError"
method.
(WebCore::AVFWrapper::shouldWaitForLoadingOfResource): Add support for multiple
in-flight requests.
(WebCore::AVFWrapper::platformLayer): Assert we are on the main thread.
(WebCore::AVFWrapper::setRequestForKey): Add support for multiple in-flight requests.
(WebCore::AVFWrapper::takeRequestForKeyURI): Ditto.
(WebCore::LayerClient::platformCALayerLayoutSublayersOfLayer): Ditto.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: Make sure we pass

valid CFError objects, rather than nullptr.

9:39 AM Changeset in webkit [174345] by Chris Fleizach
  • 3 edits in trunk/Source/WebCore

AX: Performance: Certain Web site causes Safari to hang completely while entering form data
https://bugs.webkit.org/show_bug.cgi?id=137420

Reviewed by Mario Sanchez Prada.

If a website has multiple nested tables that are not "accessibility" tables, the performance of accessibility slows to a crawl because:

1) We are re-computing accessibilityIsIgnored many times.

As a solution, we can enable the isIgnoredCache when updating children.

2) When asking if an object isTableCell, we'd go up the parent chain, asking each of those parents the same question, which exploded into calling this many times.

As a solution, I've changed our determination of isTableCell to instead check if the parent is an accessibiltyTable which should be much faster.

No new functionality. Existing tests cover changes.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::updateChildrenIfNecessary):
(WebCore::AccessibilityObject::accessibilityIsIgnored):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::isTableCell):

9:25 AM Changeset in webkit [174344] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Unreviewed, touch testing/Internals.idl to try to fix Windows EWS after r174315.

  • testing/Internals.idl: Remove unnecessary whitespaces.
7:34 AM Changeset in webkit [174343] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

EWS bubble hover shows wrong timestamps
https://bugs.webkit.org/show_bug.cgi?id=137252

Reviewed by Alexey Proskuryakov.

Add "Z" suffix to timestamps to make sure if it is handled as UTC time.

  • QueueStatusServer/handlers/queuestatusjson.py:

(QueueStatusJSON.get):

  • QueueStatusServer/handlers/statusbubble.py:

(StatusBubble._iso_time):

5:47 AM Changeset in webkit [174342] by mario@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, updated list of email addresses in contributors.json

  • Scripts/webkitpy/common/config/contributors.json: Added my former

email address in Igalia, for the sake of completeness.

2:10 AM Changeset in webkit [174341] by zsborbely.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

Unreviewed, moved myself to the list of committers.

  • Scripts/webkitpy/common/config/contributors.json:

Oct 5, 2014:

10:14 PM Changeset in webkit [174340] by Chris Dumez
  • 26 edits in trunk/Source

Use is<>() / downcast<>() for ScrollingCoordinator / ScrollingStateNode subclasses
https://bugs.webkit.org/show_bug.cgi?id=137440

Reviewed by Ryosuke Niwa.

Use is<>() / downcast<>() for ScrollingCoordinator / ScrollingStateNode subclasses.

Source/WebCore:

No new tests, no behavior change.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
(WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingStateFixedNode.h:
  • page/scrolling/ScrollingStateFrameScrollingNode.h:
  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateOverflowScrollingNode.h:
  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingStateStickyNode.h:
  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp:

(WebCore::ScrollingTreeFrameScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

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

  • page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:

(WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:

(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateAfterChildren):

  • page/scrolling/mac/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::updateBeforeChildren):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateAfterChildren):

  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::updateBeforeChildren):

Source/WebKit2:

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::encodeNodeAndDescendants):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateBeforeChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

  • WebProcess/Scrolling/RemoteScrollingCoordinator.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::addScrollingTreeForPage):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):

10:13 PM Changeset in webkit [174339] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for CachedRawResource
https://bugs.webkit.org/show_bug.cgi?id=137439

Reviewed by Ryosuke Niwa.

Use is<>() / downcast<>() for CachedRawResource.

No new tests, no behavior change.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::switchClientsToRevalidatedResource):

  • loader/cache/CachedRawResource.h:

(isType):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestRawResource):
(WebCore::CachedResourceLoader::requestMainResource):

10:10 PM Changeset in webkit [174338] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for TextTrack subclasses
https://bugs.webkit.org/show_bug.cgi?id=137438

Reviewed by Ryosuke Niwa.

Use is<>() / downcast<>() for TextTrack subclasses.

No new tests, no behavior change.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/track/InbandTextTrack.h:

(isType):

  • html/track/LoadableTextTrack.h:

(isType):

  • html/track/TextTrackList.cpp:

(TextTrackList::getTrackIndex):
(TextTrackList::append): Deleted.

10:08 PM Changeset in webkit [174337] by Chris Dumez
  • 13 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for CryptoKeyData subclasses
https://bugs.webkit.org/show_bug.cgi?id=137437

Reviewed by Ryosuke Niwa.

Use is<>() / downcast<>() for CryptoKeyData subclasses.

No new tests, no behavior change.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::serialize):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::write):

  • crypto/CryptoKeyData.h:
  • crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:

(WebCore::CryptoAlgorithmAES_CBC::importKey):

  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:

(WebCore::CryptoAlgorithmAES_KW::importKey):

  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:

(WebCore::CryptoAlgorithmHMAC::importKey):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):

  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::importKey):

  • crypto/keys/CryptoKeyDataOctetSequence.h:

(WebCore::isCryptoKeyDataOctetSequence): Deleted.

  • crypto/keys/CryptoKeyDataRSAComponents.h:

(WebCore::isCryptoKeyDataRSAComponents): Deleted.

  • crypto/keys/CryptoKeySerializationRaw.cpp:

(WebCore::CryptoKeySerializationRaw::serialize):

7:08 PM Changeset in webkit [174336] by benjamin@webkit.org
  • 19 edits in trunk

Add a deprecation warning for Element.webkitMatchesSelector
https://bugs.webkit.org/show_bug.cgi?id=137417

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-05
Reviewed by Christophe Dumez.

Source/WebCore:

Many scripts have assumed that the unprefixed version of ElementwebkitMatchesSelector
would be Element.matchesSelector. Feature detection scripts too often test
for Element.matchesSelector instead of Element.matches before calling Element.webkitMatchesSelector.

This patch add a deprecation warning for Element.webkitMatchesSelector with the hope
that it will push the adoption of the unprefixed version.

  • dom/Element.cpp:

(WebCore::Element::webkitMatchesSelector):

  • dom/Element.h:
  • dom/Element.idl:

LayoutTests:

  • jquery/resources/src/sizzle/sizzle.js:

This is a great example of library that needs fixing. The old sizzle
we have in WebKit used "matchesSelector" instead of "matches".

  • fast/dom/SelectorAPI/attrname-case-insensitive-expected.txt:
  • fast/dom/SelectorAPI/attrname-case-sensitive-expected.txt:
  • fast/dom/SelectorAPI/caseID-almost-strict-expected.txt:
  • fast/dom/SelectorAPI/caseID-expected.txt:
  • fast/dom/SelectorAPI/caseID-strict-expected.txt:
  • fast/dom/SelectorAPI/caseTag-expected.txt:
  • fast/dom/SelectorAPI/caseTagX-expected.txt:
  • fast/dom/SelectorAPI/detached-element-expected.txt:
  • fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
  • fast/dom/SelectorAPI/undefined-null-stringify-expected.txt:

Update the test results due to the warning.

  • fast/forms/radio/radio-live-validation-style-expected.txt:
  • fast/forms/radio/radio-live-validation-style.html:

That duplicate I added back when I unprefixed Element.matches() is useless.

5:47 PM Changeset in webkit [174335] by ryuan.choi@gmail.com
  • 12 edits
    11 adds
    1 delete in trunk

[EFL] Introduce EWebKit_Extension
https://bugs.webkit.org/show_bug.cgi?id=134921

Reviewed by Gyuyoung Kim.

Source/WebKit2:

EWebKit2 does not provide the functionality to extend WebProcess.
Although there is ewk_context_new_with_injected_bundle_path() in ewebkit2 APIs,
application developers can not make bundle object without touching WK APIs
which ewebkit2 does not expose.

This patch introduces EWebKit_Extension, basic structure for the extension of WebProcess.

  • PlatformEfl.cmake:

Added files for the EWebKit_Extension and install them properly.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):
(bundlePathForExtension):
(EwkContext::create):
(EwkContext::getInjectedBundleInitializationUserData):
(EwkContext::setMessageFromInjectedBundleCallback):
(ewk_context_new_with_extensions_path):
Deleted because ewebkit2 does not have a way to make injected bundle.
Instead, Ewk_Extension will cover the same functionalities.
(ewk_context_new_with_injected_bundle_path): Deleted.

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:

(EwkContext::extensionsPath):

  • UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Removed.
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:

(EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample):
(EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample): Renamed injectedBundleSample to extensionSample.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
  • UIProcess/API/efl/tests/extensions/extension_sample.cpp: Copied from Source/WebKit2/UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp.
  • UIProcess/API/efl/tests/test_ewk2_context.cpp: Renamed ewk_context_new_with_injected_bundle_path to ewk_context_new_with_extensions_path.

(TEST_F):

  • WebProcess/InjectedBundle/API/efl/EWebKit_Extension.h: Added.
  • WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: Added.

(EwkExtension::append):
(EwkExtension::remove):
(ewk_extension_client_add):
(ewk_extension_client_del):

  • WebProcess/InjectedBundle/API/efl/ewk_extension.h: Added.
  • WebProcess/InjectedBundle/API/efl/ewk_extension_private.h: Added.

(EwkExtension::EwkExtension):
(EwkExtension::~EwkExtension):

  • WebProcess/efl/ExtensionManagerEfl.cpp: Added.

(WebKit::ExtensionManagerEfl::shared):
(WebKit::ExtensionManagerEfl::ExtensionManagerEfl):
(WebKit::ExtensionManagerEfl::initialize):

  • WebProcess/efl/ExtensionManagerEfl.h: Added.
  • WebProcess/efl/WebInjectedBundleMainEfl.cpp: Added.

(WKBundleInitialize):

  • efl/ewebkit2-extension.pc.in: Added.

Tools:

  • MiniBrowser/efl/main.c: Added x option to test extension path.

(window_create):
(elm_main):

  • Scripts/webkitpy/common/config/watchlist:

Added Source/WebKit2/WebProcess/InjectedBundle/API/efl/ into EFLWebKit2PublicAPI.

  • Scripts/webkitpy/style/checker.py:

Added Source/WebKit2/WebProcess/InjectedBundle/API/efl/ into EFL exceptions.

5:41 PM Changeset in webkit [174334] by benjamin@webkit.org
  • 3 edits
    8 adds in trunk

Element.matches()'s argument is not supposed to be optional
https://bugs.webkit.org/show_bug.cgi?id=137427

Reviewed by Christophe Dumez.

Source/WebCore:

The argument was marked as optional, it is not supposed to:
https://dom.spec.whatwg.org/#interface-element

Also update the webkit-prefixed version: webkitMatchesSelector().

Tests: fast/dom/SelectorAPI/closest-definition.html

fast/dom/SelectorAPI/closest-null-undefined.html
fast/dom/SelectorAPI/matches-definition.html
fast/dom/SelectorAPI/matches-null-undefined.html

  • dom/Element.idl:

LayoutTests:

  • fast/dom/SelectorAPI/matches-definition.html: Added.
  • fast/dom/SelectorAPI/matches-null-undefined.html: Added.

Test for the bug.

  • fast/dom/SelectorAPI/closest-definition.html: Added.
  • fast/dom/SelectorAPI/closest-null-undefined.html: Added.

Similar tests for Element.closest() since those are similar APIs.

5:31 PM Changeset in webkit [174333] by Chris Dumez
  • 15 edits in trunk/Source

Use is<>() / downcast<>() for CachedResource subclasses
https://bugs.webkit.org/show_bug.cgi?id=137431

Reviewed by Benjamin Poulain.

Use is<>() / downcast<>() for CachedResource subclasses.

Source/WebCore:

No new tests, no behavior change.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent):

  • loader/cache/CachedCSSStyleSheet.h:
  • loader/cache/CachedFont.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::switchClientsToRevalidatedResource):

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestFont):
(WebCore::CachedResourceLoader::requestTextTrack):
(WebCore::CachedResourceLoader::requestCSSStyleSheet):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestScript):
(WebCore::CachedResourceLoader::requestXSLStyleSheet):
(WebCore::CachedResourceLoader::requestSVGDocument):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):

  • loader/cache/CachedSVGDocument.h:
  • loader/cache/CachedScript.h:
  • loader/cache/CachedTextTrack.h:
  • loader/cache/CachedXSLStyleSheet.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeImageFromCache):

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache imageForURL:]):

5:23 PM Changeset in webkit [174332] by Chris Dumez
  • 9 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for StyleSheet subclasses
https://bugs.webkit.org/show_bug.cgi?id=137429

Reviewed by Benjamin Poulain.

Use is<>() / downcast<>() for StyleSheet subclasses.

No new tests, no behavior change.

  • bindings/gobject/WebKitDOMPrivate.cpp:

(WebKit::wrap):

  • css/CSSStyleSheet.h:

(isType):

  • css/StyleSheet.h:
  • dom/Document.cpp:

(WebCore::Document::applyXSLTransform):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::filterEnabledNonemptyCSSStyleSheets):

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::parseStyleSheet):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getAllStyleSheets):

  • xml/XSLStyleSheet.h:

(isType):

4:27 PM Changeset in webkit [174331] by Chris Dumez
  • 17 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for CryptoAlgorithmParameters subclasses
https://bugs.webkit.org/show_bug.cgi?id=137432

Reviewed by Benjamin Poulain.

Use is<>() / downcast<>() for CryptoAlgorithmParameters subclasses.

No new tests, no behavior change.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):

  • crypto/CryptoAlgorithmParameters.h:
  • crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:

(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):
(WebCore::CryptoAlgorithmAES_CBC::generateKey):

  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:

(WebCore::CryptoAlgorithmAES_KW::generateKey):

  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:

(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):
(WebCore::CryptoAlgorithmHMAC::generateKey):
(WebCore::CryptoAlgorithmHMAC::importKey):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):

  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::decrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
(WebCore::CryptoAlgorithmRSA_OAEP::importKey):

  • crypto/parameters/CryptoAlgorithmAesCbcParams.h:
  • crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
  • crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
  • crypto/parameters/CryptoAlgorithmHmacParams.h:
  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
  • crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
  • crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
  • crypto/parameters/CryptoAlgorithmRsaSsaParams.h:
4:09 PM Changeset in webkit [174330] by Chris Fleizach
  • 4 edits
    2 adds in trunk

AX: iOS8: Crash at -[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]
https://bugs.webkit.org/show_bug.cgi?id=137289

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Casting a NSInteger to an unsigned can bypass the check we were hoping to achieve,
because size_t is not the same as unsigned.

Test: platform/ios-sim/accessibility/out-of-bounds-child-access.html

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):

LayoutTests:

  • platform/ios-sim/accessibility/out-of-bounds-child-access-expected.txt: Added.
  • platform/ios-sim/accessibility/out-of-bounds-child-access.html: Added.
3:14 PM Changeset in webkit [174329] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for ElementData subclasses
https://bugs.webkit.org/show_bug.cgi?id=137430

Reviewed by Benjamin Poulain.

Use is<>() / downcast<>() for ElementData subclasses.

No new tests, no behavior change.

  • dom/Element.cpp:

(WebCore::Element::cloneAttributesFromElement):
(WebCore::Element::createUniqueElementData):

  • dom/ElementData.cpp:

(WebCore::ElementData::destroy):

  • dom/ElementData.h:

(WebCore::ElementData::length):
(WebCore::ElementData::attributeBase):
(WebCore::ElementData::presentationAttributeStyle):
(WebCore::ElementData::attributesIterator):
(WebCore::ElementData::findAttributeByName):
(isType):

4:28 AM Changeset in webkit [174328] by commit-queue@webkit.org
  • 10 edits in trunk/Source

[GTK] Fix build when DRAG_SUPPORT is disabled
https://bugs.webkit.org/show_bug.cgi?id=137361

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-10-05
Reviewed by Carlos Garcia Campos.

Flag out unbuildable code without DRAG_SUPPORT.

Source/WebCore:

  • platform/gtk/GtkDragAndDropHelper.cpp:
  • platform/gtk/GtkDragAndDropHelper.h:

Source/WebKit2:

  • Shared/gtk/ArgumentCodersGtk.cpp:
  • Shared/gtk/ArgumentCodersGtk.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:
  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):

  • UIProcess/PageClient.h:
1:17 AM Changeset in webkit [174327] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] The new web inspector can't be docked again once undocked
https://bugs.webkit.org/show_bug.cgi?id=121544

Reviewed by Martin Robinson.

Use a GtkHeaderBar for the inspector window to add dock buttons
when building with GTK+ >= 3.10.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::WebInspectorProxy):

  • UIProcess/WebInspectorProxy.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::dockButtonClicked):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::updateInspectorWindowTitle):
(WebKit::WebInspectorProxy::platformInspectedURLChanged):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):

12:41 AM Changeset in webkit [174326] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Do not generate a symlink in derived sources for every header in WebCore/bindings/gobject
https://bugs.webkit.org/show_bug.cgi?id=137389

Reviewed by Martin Robinson.

We only need a symlink for static sources that are included in
public generated headers, because they are added with as
<webkitdom/WebKitDOMFoo.h> so they need to be inside a webkitdom
directory. Also use proper targets and commands to create the
symlinks only when needed instead of for every build.

  • PlatformGTK.cmake:
Note: See TracTimeline for information about the timeline view.