Timeline



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:

Oct 4, 2014:

11:34 PM Changeset in webkit [174325] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[SVG -> OTF Converter] Arabic forms are not substituted correctly
https://bugs.webkit.org/show_bug.cgi?id=137092

Reviewed by Darin Adler.

Tests: svg/W3C-SVG-1.1/fonts-glyph-02-t.svg

svg/custom/glyph-selection-arabic-forms.svg

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable): Invoked for each of the three
Arabic form substitutions.
(WebCore::SVGToOTFFontConverter::appendGSUBTable): OpenType "Advanced Typographic Table":
"Glyph substitution data"
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Re-order the m_codepointsToIndicesMap
to prefer isolated forms of glyphs.
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Append the GSUB table.
(WebCore::calculateChecksum): Deleted.

3:24 PM Changeset in webkit [174324] by commit-queue@webkit.org
  • 7 edits
    4 adds in trunk

Implement Element.closest() API
https://bugs.webkit.org/show_bug.cgi?id=137418

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2014-10-04
Reviewed by Benjamin Poulain.

Source/WebCore:

Implement Element.closest() API as specified in [1].

[1]: https://dom.spec.whatwg.org/#dom-element-closest

Tests: fast/selectors/closest-general.html

fast/selectors/closest-scope.html

  • dom/Element.cpp:

(WebCore::Element::closest):

  • dom/Element.h:
  • dom/Element.idl:
  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorClosest):
(WebCore::SelectorDataList::closest):

  • dom/SelectorQuery.h:

(WebCore::SelectorQuery::closest):

LayoutTests:

Add test cases for Element.closest() API

  • fast/selectors/closest-general-expected.txt: Added.
  • fast/selectors/closest-general.html: Added.
  • fast/selectors/closest-scope-expected.txt: Added.
  • fast/selectors/closest-scope.html: Added.
3:11 PM Changeset in webkit [174323] by commit-queue@webkit.org
  • 6 edits
    9 adds in trunk/Source/WebInspectorUI

Web Inspector: Add PrettyPrinter CSS tests
https://bugs.webkit.org/show_bug.cgi?id=134005

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

Add CSS pretty printing tests. Improve pretty printing of calc()
expressions and media-queries with whitespace around operators
and keywords. Also fix the debug output in the tool for CSS.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • Tools/PrettyPrinting/FormatterContentBuilder.js:

(FormatterContentBuilder.prototype._appendIndent):

  • Tools/PrettyPrinting/FormatterDebug.js:

(.debugToken):
(Formatter.prototype.debug):

  • Tools/PrettyPrinting/css-tests/basic-expected.css: Added.
  • Tools/PrettyPrinting/css-tests/basic.css: Added.
  • Tools/PrettyPrinting/css-tests/calc-expected.css: Added.
  • Tools/PrettyPrinting/css-tests/calc.css: Added.
  • Tools/PrettyPrinting/css-tests/media-query-expected.css: Added.
  • Tools/PrettyPrinting/css-tests/media-query.css: Added.
  • Tools/PrettyPrinting/css-tests/selectors-expected.css: Added.
  • Tools/PrettyPrinting/css-tests/selectors.css: Added.
  • Tools/PrettyPrinting/index.html:
  • UserInterface/Views/CodeMirrorFormatters.js:
2:55 PM Changeset in webkit [174322] by Brian Burg
  • 24 edits
    1 delete in trunk/Source

Unreviewed, rolling out r174319.

Causes assertions in fast/profiler tests. Needs nontrivial
investigation, will take offline.

Reverted changeset:

"Web Inspector: timelines should not count time elapsed while
paused in the debugger"
https://bugs.webkit.org/show_bug.cgi?id=136351
http://trac.webkit.org/changeset/174319

12:55 PM Changeset in webkit [174321] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Try to fix the Windows build after r174315.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
12:35 PM Changeset in webkit [174320] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Try to fix the Windows build after r174315.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
12:18 PM Changeset in webkit [174319] by Brian Burg
  • 24 edits
    1 add in trunk/Source

Web Inspector: timelines should not count time elapsed while paused in the debugger
https://bugs.webkit.org/show_bug.cgi?id=136351

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Now that we have a stopwatch to provide pause-aware timing data, we can remove the
profiler's handling of debugger pause/continue callbacks. The timeline agent accounts
for debugger pauses by pausing and resuming the stopwatch.

  • API/JSProfilerPrivate.cpp:

(JSStartProfiling): Use a fresh stopwatch when profiling from the JSC API.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::handlePause):

  • profiler/LegacyProfiler.cpp:

(JSC::LegacyProfiler::profiler): Use nullptr.
(JSC::LegacyProfiler::startProfiling): Hand off a stopwatch to the profile generator.
(JSC::LegacyProfiler::stopProfiling): Use nullptr.
(JSC::LegacyProfiler::didPause): Deleted.
(JSC::LegacyProfiler::didContinue): Deleted.

  • profiler/LegacyProfiler.h:
  • profiler/ProfileGenerator.cpp: Remove debugger pause/continue callbacks and the

timestamp member that was used to track time elapsed by the debugger. Just use the
stopwatch's elapsed times to generate start/elapsed times for function calls.
(JSC::ProfileGenerator::create):
(JSC::ProfileGenerator::ProfileGenerator):
(JSC::ProfileGenerator::beginCallEntry):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didPause): Deleted.
(JSC::ProfileGenerator::didContinue): Deleted.

  • profiler/ProfileGenerator.h:

Source/WebCore:

To avoid counting time elapsed while the debugger is paused, timeline records should
keep track of time elapsed since the start of timeline capturing, rather than wall clock
timestamps. We can easily compute elapsed time by sharing Stopwatch instance among
all timeline record-generating code. The stopwatch is paused while the debugger is paused,
so subsequent time measurements will not include time elapsed while the debugger is paused.

Agents use the shared stopwatch to generate timestamps if the timeline agent is active
(i.e., a timeline recording is being captured). If not, use a zero timestamp since the timing data is only revealed through the Timeline interface.

This refactoring is safe because start and end times are only used to graph records; the
timestamp's actual value is irrelevant and is not displayed in the user interface. Date
timestamps are still included with network-related records as part of their header data.

No new tests, because we cannot reliably test timing changes induced by debugger pauses.
It is possible for records to accrue time before the debugger pauses or after it resumes.

  • inspector/InspectorCSSAgent.cpp: Remove unused include.
  • inspector/InspectorPageAgent.cpp: Use timestamps from the shared stopwatch.

(WebCore::InspectorPageAgent::timestamp):
(WebCore::InspectorPageAgent::domContentEventFired):
(WebCore::InspectorPageAgent::loadEventFired):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorResourceAgent.cpp: Use timestamps from the shared stopwatch.

(WebCore::InspectorResourceAgent::timestamp):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didCloseWebSocket):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorTimelineAgent.cpp: Add calls to reset, start, and stop the stopwatch.

(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::startProfiling):
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didPause):
(WebCore::InspectorTimelineAgent::didContinue):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::timestamp):
(WebCore::TimelineTimeConverter::reset): Deleted.

  • inspector/InspectorTimelineAgent.h: Make timestamp() public, and remove old timepieces.

(WebCore::TimelineTimeConverter::TimelineTimeConverter): Deleted.
(WebCore::TimelineTimeConverter::fromMonotonicallyIncreasingTime): Deleted.
(WebCore::InspectorTimelineAgent::timeConverter): Deleted.

  • inspector/TimelineRecordFactory.cpp:

Source/WebInspectorUI:

Don't update the timeline's current time when the debugger is paused.

Start and end times for timeline records are now in seconds elapsed since timeline
recording started, rather than milliseconds since the epoch. Add a workaround to
preserve compatibility with old backends.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype.capturingStarted):
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._debuggerPaused):
(WebInspector.TimelineContentView.prototype._debuggerResumed):

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Stopwatch.h: Added. This implements a refcounted monotonic stopwatch.

(WTF::Stopwatch::reset):
(WTF::Stopwatch::start):
(WTF::Stopwatch::stop):

10:18 AM Changeset in webkit [174318] by fpizlo@apple.com
  • 24 edits
    6 adds in trunk

FTL should sink PutLocals
https://bugs.webkit.org/show_bug.cgi?id=137168

Reviewed by Oliver Hunt.
Source/JavaScriptCore:


We've known for a while that our PutLocal situation was sub-optimal. We emit them anytime we
"pass" arguments to an inlined function call, because we need to enable the runtime to grab
those arguments when doing foo.arguments where foo is inlined: our engine doesn't deoptimize
in that case but rather just relies on the arguments being flushed (i.e. a copy of their
values is spilled) at a well-known place in a well-known format.

The PutLocals incur two costs: (1) they are store instructions and stores ain't free, and (2)
they look like escaping sites and so they inhibit object allocation sinking.

But in most cases, the PutLocals are unnecessary because the inlined code never performs any
side effect that could transitively lead to function.arguments. Even if the inlined code
could do such a side effect, it may be on a rare path so there is no need to penalize the
entire function.

This patch implements one solution to the PutLocal problem: it aggressively sinks PutLocals
to the latest possible point. This is even more aggressive than the object allocation
sinking. That sinking algorithm avoids creating situations where an object could be
materialized more than one along any path. PutLocal sinking, on the other hand, doesn't avoid
this at all - both to make the phase cheaper and simpler and to make it more aggressive.
Every PutLocal is sunk no matter what.

The upside of this patch is that it eliminates many PutLocals: many of them are sunk "past
their death", thus eliminating them completely. Others are sunk to rare paths. This enables a
lot of object allocation sinking and it removes a lot of pointless store instructions.

It also has downsites. Sinking PutLocals increases register pressure because it increases the
live ranges of things like inlined arguments.

This patch is a net performance win in its current form: 1% SunSpider regression, 2% OctaneV2
progression, 0.6% Kraken regression, 1% AsmBench progression, and 0.5% CompressionBench
regression. The biggest win is on Octane/raytrace, which improves by 27%.

Relanding after fixing internal builds. We have to be careful about implicit casts from int64
to int32.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.h:
  • bytecode/Operands.h:

(JSC::Operands::dump): Deleted.

  • bytecode/OperandsInlines.h:

(JSC::Traits>::dump):

  • bytecode/VirtualRegister.h:

(JSC::VirtualRegister::isHeader):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGClobberSet.h:

(JSC::DFG::ClobberSetAdd::operator()):
(JSC::DFG::ClobberSetOverlaps::operator()):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):
(JSC::DFG::NoOpClobberize::operator()):
(JSC::DFG::CheckClobberize::operator()):
(JSC::DFG::AbstractHeapOverlaps::operator()):
(JSC::DFG::ReadMethodClobberize::operator()):
(JSC::DFG::WriteMethodClobberize::operator()):
(JSC::DFG::DefMethodClobberize::operator()):

  • dfg/DFGFlushFormat.h:

(JSC::DFG::merge):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::capturedVarsFor):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints):
(JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints):

  • dfg/DFGPlan.cpp:

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

  • dfg/DFGPreciseLocalClobberize.h: Added.

(JSC::DFG::PreciseLocalClobberizeAdaptor::PreciseLocalClobberizeAdaptor):
(JSC::DFG::PreciseLocalClobberizeAdaptor::read):
(JSC::DFG::PreciseLocalClobberizeAdaptor::write):
(JSC::DFG::PreciseLocalClobberizeAdaptor::def):
(JSC::DFG::PreciseLocalClobberizeAdaptor::callIfAppropriate):
(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
(JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop):
(JSC::DFG::forEachLocalReadByUnwind):
(JSC::DFG::preciseLocalClobberize):

  • dfg/DFGPutLocalSinkingPhase.cpp: Added.

(JSC::DFG::performPutLocalSinking):

  • dfg/DFGPutLocalSinkingPhase.h: Added.
  • dfg/DFGSSACalculator.h:

(JSC::DFG::SSACalculator::computePhis):

  • dfg/DFGValidate.cpp:

Source/WTF:


Make the set bits of a BitVector iterable.

  • wtf/BitVector.h:

(WTF::BitVector::SetBitsIterable::SetBitsIterable):
(WTF::BitVector::SetBitsIterable::iterator::iterator):
(WTF::BitVector::SetBitsIterable::iterator::operator*):
(WTF::BitVector::SetBitsIterable::iterator::operator++):
(WTF::BitVector::SetBitsIterable::iterator::operator==):
(WTF::BitVector::SetBitsIterable::iterator::operator!=):
(WTF::BitVector::SetBitsIterable::begin):
(WTF::BitVector::SetBitsIterable::end):
(WTF::BitVector::setBits):

LayoutTests:

  • js/regress/elidable-new-object-then-call-expected.txt: Added.
  • js/regress/elidable-new-object-then-call.html: Added.
  • js/regress/script-tests/elidable-new-object-then-call.js: Added.

(sumOfArithSeries):
(bar):
(foo):

3:04 AM Changeset in webkit [174317] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[jhbuild] Simplify platform detection in update-webkit-libs-jhbuild
https://bugs.webkit.org/show_bug.cgi?id=137390

Reviewed by Carlos Garcia Campos.

  • Scripts/update-webkit-libs-jhbuild:
2:07 AM Changeset in webkit [174316] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Add missing inspector files to compilation.

  • PlatformGTK.cmake: Add javascript sources in

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

1:47 AM Changeset in webkit [174315] by timothy_horton@apple.com
  • 17 edits
    20 adds in trunk

Make it possible to test page overlays
https://bugs.webkit.org/show_bug.cgi?id=137339

Reviewed by Dan Bernstein.

Tests: pageoverlay/overlay-installation.html

pageoverlay/overlay-large-document-scrolled.html
pageoverlay/overlay-large-document.html

Do some initial work to make page overlays testable.
There are many more tests to be written, but this lays the groundwork.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj:
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:
  • CMakeLists.txt:

Add MockPageOverlayClient.

  • platform/graphics/GraphicsLayer.h:
  • page/PageOverlayController.h:
  • page/PageOverlayController.cpp:

(WebCore::PageOverlayController::shouldSkipLayerInDump):
Don't skip PageOverlayController-owned layers in the layer tree dump if the
layerTreeAsText behavior says that we should include them.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::dumpChildren):

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::shouldSkipLayerInDump):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::shouldSkipLayerInDump):

  • rendering/RenderLayerBacking.h:

Pass the LayerTreeAsTextBehavior through shouldSkipLayerInDump.

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
Uninstall all page overlays when resetting to a consistent state.

(WebCore::Internals::installMockPageOverlay):
(WebCore::Internals::pageOverlayLayerTreeAsText):
Expose two new internals functions.
installMockPageOverlay takes "view" or "document", allowing script
to choose the appropriate overlay type.
pageOverlayLayerTreeAsText dumps both view and document-relative
overlays, from each overlay container layer.

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

Fix some typos.

  • testing/MockPageOverlayClient.cpp: Added.

(WebCore::MockPageOverlayClient::shared):
(WebCore::MockPageOverlayClient::MockPageOverlayClient):
(WebCore::MockPageOverlayClient::installOverlay):
(WebCore::MockPageOverlayClient::uninstallAllOverlays):
(WebCore::MockPageOverlayClient::layerTreeAsText):
(WebCore::MockPageOverlayClient::pageOverlayDestroyed):
(WebCore::MockPageOverlayClient::willMoveToPage):
(WebCore::MockPageOverlayClient::didMoveToPage):
When the overlay is parented, mark it as needing repaint.
Future tests might want to test overlays without content,
but for now this is a reasonable default behavior.

(WebCore::MockPageOverlayClient::drawRect):
Paint the overlay rects as described in the LayoutTests ChangeLog.

(WebCore::MockPageOverlayClient::mouseEvent):
(WebCore::MockPageOverlayClient::didScrollFrame):
(WebCore::MockPageOverlayClient::copyAccessibilityAttributeStringValueForPoint):
(WebCore::MockPageOverlayClient::copyAccessibilityAttributeBoolValueForPoint):
(WebCore::MockPageOverlayClient::copyAccessibilityAttributeNames):

  • testing/MockPageOverlayClient.h: Added.
  • pageoverlay/overlay-installation.html: Added.

Add a test which just installs one view-relative and one document-relative
overlay, and dumps the layer tree and pixel results. The mock overlay
strokes a blue rectangle (inset a little from the overlay bounds) for
view-relative overlays, and a green rectangle (inset a bit more) for
document-relative overlays.

  • pageoverlay/overlay-large-document.html: Added.
  • pageoverlay/overlay-large-document-scrolled.html: Added.

Tests that do the same as the -installation test, but with a larger document;
the view-relative overlay should be the same size (or slightly smaller,
because we have scrollbars now), but the document-relative overlay should
be the size of the document. The second test scrolls to maxX, maxY, and
the document-relative overlay should scroll along with it, while the
view-relative overlay should remain fixed.

  • pageoverlay/overlay-installation-expected.txt: Added.
  • pageoverlay/overlay-large-document-expected.txt: Added.
  • pageoverlay/overlay-large-document-scrolled-expected.txt: Added.

"Normal" layer tree expectations.

  • platform/mac-wk1/pageoverlay/overlay-installation-expected.png: Added.
  • platform/mac-wk1/pageoverlay/overlay-installation-expected.txt: Added.
  • platform/mac-wk1/pageoverlay/overlay-large-document-expected.png: Added.
  • platform/mac-wk1/pageoverlay/overlay-large-document-expected.txt: Added.
  • platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.png: Added.
  • platform/mac-wk1/pageoverlay/overlay-large-document-scrolled-expected.txt: Added.

Expected results for WebKit1 differ for view-relative overlays, because
we don't currently hook up view-relative overlays for WebKit1.

  • platform/mac/pageoverlay/overlay-installation-expected.png: Added.
  • platform/mac/pageoverlay/overlay-large-document-expected.png: Added.
  • platform/mac/pageoverlay/overlay-large-document-scrolled-expected.png: Added.

"Normal" pixel dump expectations.

1:37 AM Changeset in webkit [174314] by Carlos Garcia Campos
  • 14 edits
    2 adds in trunk/Source/WebCore

Move DragController::createFragmentFromDragData implementation to the editor
https://bugs.webkit.org/show_bug.cgi?id=136819

Reviewed by Darin Adler.

Make Editor::webContentFromPasteboard() common to all ports and
add a implementation for every port.

  • PlatformWin.cmake: Add new files to compilation.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • editing/Editor.cpp:

(WebCore::Editor::pasteWithPasteboard): Move to EditorWin.cpp
since this is only used by windows port.

  • editing/Editor.h:
  • editing/efl/EditorEfl.cpp:

(WebCore::Editor::webContentFromPasteboard):

  • editing/gtk/EditorGtk.cpp:

(WebCore::Editor::webContentFromPasteboard):

  • editing/win/EditorWin.cpp: Added.

(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::webContentFromPasteboard):

  • page/DragController.cpp:

(WebCore::documentFragmentFromDragData): Use the editor instead of
createFragmentFromDragData() that has been removed. Also made this
method a static funtion again.

  • page/DragController.h:
  • page/efl/DragControllerEfl.cpp: Remove createFragmentFromDragData().
  • page/gtk/DragControllerGtk.cpp: Ditto.
  • page/mac/DragControllerMac.mm: Ditto.
  • page/win/DragControllerWin.cpp: Ditto.
  • platform/Pasteboard.h:

(WebCore::Pasteboard::dragDataMap): Add a getter for m_dragDataMap
as required by Editor::webContentFromPasteboard for windows.

1:30 AM Changeset in webkit [174313] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

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

Reviewed by Benjamin Poulain.

Use is<>() / downcast<>() for CSS StyleProperties subclasses.

No new tests, no behavior change.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::immutableCopyIfNeeded):
(WebCore::MutableStyleProperties::MutableStyleProperties):
(WebCore::StyleProperties::hasCSSOMWrapper):

  • css/StyleProperties.h:

(WebCore::StyleProperties::PropertyReference::propertyMetadata):
(WebCore::StyleProperties::PropertyReference::propertyValue):
(WebCore::StyleProperties::propertyCount):
(WebCore::StyleProperties::deref):
(WebCore::StyleProperties::findPropertyIndex):
(isType):
(WebCore::toMutableStyleProperties): Deleted.
(WebCore::toImmutableStyleProperties): Deleted.

  • css/StyleRule.cpp:

(WebCore::StyleRule::mutableProperties):
(WebCore::StyleRulePage::mutableProperties):
(WebCore::StyleRuleFontFace::mutableProperties):

  • css/WebKitCSSKeyframeRule.cpp:

(WebCore::StyleKeyframe::mutableProperties):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::ensureMutableInlineStyle):
(WebCore::StyledElement::setInlineStyleFromString):

1:05 AM Changeset in webkit [174312] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Skip remaining failing media tests after adding audio devices to the bots.

  • platform/win/TestExpectations:
12:56 AM Changeset in webkit [174311] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[TexMap] Clean up GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=137263

Reviewed by Darin Adler.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded): Clean up
the method a bit. When the backing store will not be in use the change mask
should only get updated if there was a backing store present beforehand.

12:46 AM Changeset in webkit [174310] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Do not generate webkit2gtk-tests-resources.gresource unconditionally
https://bugs.webkit.org/show_bug.cgi?id=137391

Reviewed by Martin Robinson.

Add a custom command to only re-generate
webkit2gtk-tests-resources.gresource when any of its dependencies changes.

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
12:35 AM Changeset in webkit [174309] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[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):

12:14 AM Changeset in webkit [174308] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[TexMap] Remove QDoc comments in GraphicsLayerTextureMapper
https://bugs.webkit.org/show_bug.cgi?id=137264

Reviewed by Andreas Kling.

Remove all the QDoc comments in the class that were
left over by the Qt port.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):

Oct 3, 2014:

7:41 PM Changeset in webkit [174307] by Yusuke Suzuki
  • 2 edits
    68 adds in trunk/LayoutTests

Introduce Promise A+ tests into WebKit
https://bugs.webkit.org/show_bug.cgi?id=136878

Reviewed by Sam Weinig.

To ensure WebKit Promise stability, introducing Promise A+ tests[1] into WebKit.
It's also used to test V8 Promise[2].
So the tests guarantee that WebKit Promise's spec validity and interchangeability
to the other browser's Promise implementation.

Promise A+ tests assumes that it works on the Node.js environment. To work it on
LayoutTests correctly, we need to transform Node.js styled JavaScript code into
browser styled code. In this patch, we use browserify[3] to transform the test code.
Through transforming pipeline, some dependent JS code is bundled into the produced code.
So added SinonJS[4] and browserify's license files into the test directory.

And tests assume that it is used with Mocha[5] test runner. So introducing mocha.js and
added LICENSE file into this directory.

And since Promises/A+ 2.3.3 has many tests, it consumes much time (13s in GTK debug build).
So mark it as a Slow test.

[1]: https://github.com/promises-aplus/promises-tests
[2]: https://code.google.com/p/v8/source/browse#svn%2Ftrunk%2Ftest%2Fpromises-aplus
[3]: http://browserify.org/
[4]: http://sinonjs.org/
[5]: http://visionmedia.github.io/mocha/

  • TestExpectations:
  • js/promises-tests/README: Added.
  • js/promises-tests/browserify-entry-point.js: Added.

(.):

  • js/promises-tests/browserify.LICENSE: Added.
  • js/promises-tests/mocha.LICENSE: Added.
  • js/promises-tests/promises-tests-2-1-2-expected.txt: Added.
  • js/promises-tests/promises-tests-2-1-2.html: Added.
  • js/promises-tests/promises-tests-2-1-3-expected.txt: Added.
  • js/promises-tests/promises-tests-2-1-3.html: Added.
  • js/promises-tests/promises-tests-2-2-1-expected.txt: Added.
  • js/promises-tests/promises-tests-2-2-1.html: Added.
  • js/promises-tests/promises-tests-2-2-2-expected.txt: Added.
  • js/promises-tests/promises-tests-2-2-2.html: Added.
  • js/promises-tests/promises-tests-2-2-3-expected.txt: Added.
  • js/promises-tests/promises-tests-2-2-3.html: Added.
  • js/promises-tests/promises-tests-2-2-4-expected.txt: Added.
  • js/promises-tests/promises-tests-2-2-4.html: Added.
  • js/promises-tests/promises-tests-2-2-5-expected.txt: Added.
  • js/promises-tests/promises-tests-2-2-5.html: Added.
  • js/promises-tests/promises-tests-2-2-6-expected.txt: Added.
  • js/promises-tests/promises-tests-2-2-6.html: Added.
  • js/promises-tests/promises-tests-2-2-7-expected.txt: Added.
  • js/promises-tests/promises-tests-2-2-7.html: Added.
  • js/promises-tests/promises-tests-2-3-1-expected.txt: Added.
  • js/promises-tests/promises-tests-2-3-1.html: Added.
  • js/promises-tests/promises-tests-2-3-2-expected.txt: Added.
  • js/promises-tests/promises-tests-2-3-2.html: Added.
  • js/promises-tests/promises-tests-2-3-3-expected.txt: Added.
  • js/promises-tests/promises-tests-2-3-3.html: Added.
  • js/promises-tests/promises-tests-2-3-4-expected.txt: Added.
  • js/promises-tests/promises-tests-2-3-4.html: Added.
  • js/promises-tests/promises-tests.LICENSE: Added.
  • js/promises-tests/promises-tests.js: Added.

(.):

  • js/promises-tests/promises-tests/.gitignore: Added.
  • js/promises-tests/promises-tests/.jshintrc: Added.
  • js/promises-tests/promises-tests/.npmignore: Added.
  • js/promises-tests/promises-tests/LICENSE.txt: Added.
  • js/promises-tests/promises-tests/README.md: Added.
  • js/promises-tests/promises-tests/lib/cli.js: Added.

(getAdapterFilePath):
(adapterObjectFromFilePath):

  • js/promises-tests/promises-tests/lib/getMochaOpts.js: Added.

(module.exports):

  • js/promises-tests/promises-tests/lib/programmaticRunner.js: Added.

(normalizeAdapter.adapter.resolved):
(normalizeAdapter.adapter.rejected):
(normalizeAdapter):
(.cb):
(.):
(module.exports):
(module.exports.mocha):

  • js/promises-tests/promises-tests/lib/tests/2.1.2.js: Added.

(.):

  • js/promises-tests/promises-tests/lib/tests/2.1.3.js: Added.

(.):

  • js/promises-tests/promises-tests/lib/tests/2.2.1.js: Added.
  • js/promises-tests/promises-tests/lib/tests/2.2.2.js: Added.

(.):

  • js/promises-tests/promises-tests/lib/tests/2.2.3.js: Added.

(.):

  • js/promises-tests/promises-tests/lib/tests/2.2.4.js: Added.

(.):

  • js/promises-tests/promises-tests/lib/tests/2.2.5.js: Added.
  • js/promises-tests/promises-tests/lib/tests/2.2.6.js: Added.

(.return.if):
(callbackAggregator):
(.):

  • js/promises-tests/promises-tests/lib/tests/2.2.7.js: Added.

(.):

  • js/promises-tests/promises-tests/lib/tests/2.3.1.js: Added.

(.):

  • js/promises-tests/promises-tests/lib/tests/2.3.2.js: Added.

(.):
(testPromiseResolution):

  • js/promises-tests/promises-tests/lib/tests/2.3.3.js: Added.

(.):
(testPromiseResolution):
(testCallingResolvePromiseRejectsWith):
(testCallingRejectPromiseRejectsWith):
(describe):

  • js/promises-tests/promises-tests/lib/tests/2.3.4.js: Added.

(.):

  • js/promises-tests/promises-tests/lib/tests/helpers/reasons.js: Added.

(exports.string_appeared_here):
(exports.string_appeared_here.return.then):

  • js/promises-tests/promises-tests/lib/tests/helpers/testThreeCases.js: Added.

(.specify):
(.):
(exports.testFulfilled):
(exports.testRejected):

  • js/promises-tests/promises-tests/lib/tests/helpers/thenables.js: Added.

(exports.fulfilled.string_appeared_here.return.then):
(exports.fulfilled.string_appeared_here):
(exports.fulfilled.string_appeared_here.):
(exports.fulfilled.get string_appeared_here.return.then):
(exports.fulfilled.get string_appeared_here):
(exports.rejected.string_appeared_here.return.then):
(exports.rejected.string_appeared_here):
(exports.rejected.string_appeared_here.):
(exports.rejected.get string_appeared_here.return.then):
(exports.rejected.get string_appeared_here):

  • js/promises-tests/promises-tests/package.json: Added.
  • js/promises-tests/promises-tests/test/getMochaOptsTest.js: Added.
  • js/promises-tests/resources/adapter.js: Added.

(LayoutTestsReporter.runner):
(window.adapter.resolved):
(window.adapter.rejected):
(window.adapter.deferred):

  • js/promises-tests/resources/mocha.js: Added.

(.):

  • js/promises-tests/sinonjs.LICENSE: Added.
5:04 PM Changeset in webkit [174306] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

5:01 PM Changeset in webkit [174305] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.11.12

New tag.

4:48 PM Changeset in webkit [174304] by ap@apple.com
  • 3 edits in trunk/Tools/QueueStatusServer

Bugzilla status bubble displays an exception showing attachment 175738
https://bugs.webkit.org/show_bug.cgi?id=137410

Reviewed by Tim Horton.

  • QueueStatusServer/app.yaml: Update version.
  • QueueStatusServer/handlers/statusbubble.py: (StatusBubble._build_bubble):

Don't fail even if expected status message is missing.

  • QueueStatusServer/model/patchlog.py: (PatchLog): Quick unrelated fix - define

the field in the same way it's defined in QueueStatus table.

4:36 PM Changeset in webkit [174303] by ap@apple.com
  • 1 edit in trunk/Tools/ChangeLog

Bugzilla status bubble displays an exception showing attachment 175738
https://bugs.webkit.org/show_bug.cgi?id=137410

Reviewed by Tim Horton.

  • QueueStatusServer/app.yaml: Update version.
  • QueueStatusServer/handlers/statusbubble.py: (StatusBubble._build_bubble):

Don't fail even if expected status message is missing.

  • QueueStatusServer/model/patchlog.py: (PatchLog): Quick unrelated fix - define

the field in the same way it's defined in QueueStatus table.

4:27 PM Changeset in webkit [174302] by ap@apple.com
  • 3 edits in trunk/Tools

Record latest message in PatchLog for quick access
https://bugs.webkit.org/show_bug.cgi?id=137405

Fixing a typo.

  • QueueStatusServer/app.yaml:
  • QueueStatusServer/handlers/releasepatch.py:
4:22 PM Changeset in webkit [174301] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r174216): CodeBlock::dumpByteCodes crashes on op_push_name_scope
https://bugs.webkit.org/show_bug.cgi?id=137412

Reviewed by Mark Lam.

Added support for the JSNameScope::type opcode parameter in dumpBytecode().

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

4:17 PM Changeset in webkit [174300] by Chris Dumez
  • 63 edits in trunk/Source/WebCore

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

Reviewed by Benjamin Poulain.

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

No new tests, no behavior change.

  • css/CSSAspectRatioValue.h:
  • css/CSSBorderImageSliceValue.h:
  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcExpressionNodeParser::parseValue):

  • css/CSSCalculationValue.h:
  • css/CSSCanvasValue.h:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::getBorderRadiusShorthandValue):
(WebCore::ComputedStyleExtractor::propertyMatches):

  • css/CSSCrossfadeValue.cpp:

(WebCore::subimageKnownToBeOpaque):

  • css/CSSCrossfadeValue.h:
  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedOrPendingImage):
(WebCore::CSSCursorImageValue::isSVGCursor):

  • css/CSSCursorImageValue.h:
  • css/CSSFilterImageValue.h:
  • css/CSSFontFaceSrcValue.h:
  • css/CSSFontFeatureValue.h:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):

  • css/CSSFontValue.h:
  • css/CSSFunctionValue.h:
  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::image):
(WebCore::CSSGradientValue::gradientWithStylesResolved):

  • css/CSSGradientValue.h:
  • css/CSSGridLineNamesValue.h:
  • css/CSSGridTemplateAreasValue.h:
  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::isFixedSize):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::isPending):
(WebCore::CSSImageGeneratorValue::knownToBeOpaque):
(WebCore::CSSImageGeneratorValue::loadSubimages):
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):

  • css/CSSImageGeneratorValue.h:
  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::fillImageSet):

  • css/CSSImageSetValue.h:
  • css/CSSImageValue.h:
  • css/CSSInheritedValue.h:
  • css/CSSInitialValue.h:
  • css/CSSLineBoxContainValue.h:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::addFillValue):
(WebCore::CSSParser::addAnimationValue):
(WebCore::CSSParser::parse3ValuesFillPosition):
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parseFillRepeat):
(WebCore::gridMissingGridPositionValue):
(WebCore::CSSParser::parseGridTemplateRowsAndAreas):
(WebCore::CSSParser::parseBasicShapeCircle):
(WebCore::CSSParser::parseBasicShapeEllipse):
(WebCore::CSSParser::parseDeprecatedGradient):
(WebCore::CSSParser::parseDeprecatedRadialGradient):
(WebCore::CSSParser::parseRadialGradient):
(WebCore::CSSParser::createFontFaceRule):

  • css/CSSPrimitiveValue.h:
  • css/CSSReflectValue.h:
  • css/CSSShadowValue.h:
  • css/CSSTimingFunctionValue.h:
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapFillAttachment):
(WebCore::CSSToStyleMap::mapFillClip):
(WebCore::CSSToStyleMap::mapFillComposite):
(WebCore::CSSToStyleMap::mapFillBlendMode):
(WebCore::CSSToStyleMap::mapFillOrigin):
(WebCore::CSSToStyleMap::mapFillRepeatX):
(WebCore::CSSToStyleMap::mapFillRepeatY):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapFillMaskSourceType):
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDirection):
(WebCore::CSSToStyleMap::mapAnimationDuration):
(WebCore::CSSToStyleMap::mapAnimationFillMode):
(WebCore::CSSToStyleMap::mapAnimationIterationCount):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapAnimationPlayState):
(WebCore::CSSToStyleMap::mapAnimationProperty):
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):
(WebCore::CSSToStyleMap::mapNinePieceImage):
(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
(WebCore::CSSToStyleMap::mapNinePieceImageRepeat):

  • css/CSSUnicodeRangeValue.h:
  • css/CSSValue.cpp:

(WebCore::CSSValue::isImplicitInitialValue):
(WebCore::CSSValue::addSubresourceStyleURLs):
(WebCore::CSSValue::hasFailedOrCanceledSubresources):
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):

  • css/CSSValue.h:
  • css/CSSValueList.h:

(WebCore::CSSValueListInspector::CSSValueListInspector):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyDefault::applyValue):
(WebCore::ApplyPropertyNumber::applyValue):
(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::applyValue):
(WebCore::ApplyPropertyColor::applyValue):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyString::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyFillLayer::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFont::applyValue):
(WebCore::ApplyPropertyFontFamily::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyFontWeight::applyValue):
(WebCore::ApplyPropertyFontVariantLigatures::applyValue):
(WebCore::ApplyPropertyCounter::applyValue):
(WebCore::ApplyPropertyCursor::applyValue):
(WebCore::ApplyPropertyTextAlign::applyValue):
(WebCore::ApplyPropertyTextDecoration::applyValue):
(WebCore::ApplyPropertyTextDecorationSkip::applyValue):
(WebCore::ApplyPropertyMarqueeIncrement::applyValue):
(WebCore::ApplyPropertyMarqueeRepetition::applyValue):
(WebCore::ApplyPropertyMarqueeSpeed::applyValue):
(WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
(WebCore::ApplyPropertyWordSpacing::applyValue):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
(WebCore::ApplyPropertyTextEmphasisPosition::applyValue):
(WebCore::ApplyPropertyResize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):
(WebCore::ApplyPropertyAspectRatio::applyValue):
(WebCore::ApplyPropertyZoom::applyValue):
(WebCore::ApplyPropertyDisplay::applyValue):
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):
(WebCore::ApplyPropertyImageResolution::applyValue):
(WebCore::ApplyPropertyTextIndent::applyValue):

  • css/MediaList.cpp:

(WebCore::reportMediaQueryWarningIfNeeded):

  • css/MediaQueryEvaluator.cpp:

(WebCore::compareAspectRatioValue):
(WebCore::numberValue):
(WebCore::orientationMediaFeatureEval):
(WebCore::evalResolution):
(WebCore::device_pixel_ratioMediaFeatureEval):
(WebCore::resolutionMediaFeatureEval):
(WebCore::computeLength):
(WebCore::view_modeMediaFeatureEval):
(WebCore::pointerMediaFeatureEval):

  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::strokeDashArrayToCSSValueList):
(WebCore::ComputedStyleExtractor::svgPropertyValue):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/SourceSizeList.cpp:

(WebCore::computeLength):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getLayeredShorthandValue):

  • css/StyleResolver.cpp:

(WebCore::extractDirectionAndWritingMode):
(WebCore::createGridTrackSize):
(WebCore::createGridTrackList):
(WebCore::createGridPosition):
(WebCore::StyleResolver::parseSnapCoordinate):
(WebCore::StyleResolver::parseSnapPoints):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::createFilterOperations):

  • css/TransformFunctions.cpp:

(WebCore::transformsForValue):

  • css/ViewportStyleResolver.cpp:

(WebCore::ViewportStyleResolver::getViewportArgumentValue):

  • css/WebKitCSSFilterValue.h:
  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

  • css/WebKitCSSTransformValue.h:

(WebCore::toWebKitCSSTransformValue): Deleted.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::computedFontSize):

  • editing/EditingStyle.cpp:

(WebCore::identifierForStyleProperty):
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
(WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
(WebCore::cssValueToRGBA):
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::textDirection):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::mergeStyle):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::EditingStyle::legacyFontSize):
(WebCore::EditingStyle::textDirectionForSelection):
(WebCore::StyleChange::extractTextStyles):
(WebCore::diffTextDecorations):
(WebCore::fontWeightIsBold):
(WebCore::isTransparentColorValue):

  • editing/EditorCommand.cpp:

(WebCore::executeToggleStyleInList):

  • editing/cocoa/HTMLConverter.mm:

(stringFromCSSValue):
(HTMLConverterCaches::floatPropertyValueForNode):
(HTMLConverterCaches::colorPropertyValueForNode):

  • editing/markup.cpp:

(WebCore::propertyMissingOrEqualToNone):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForProperties):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::adjustInnerTextStyle):

  • rendering/style/StylePendingImage.h:

(WebCore::StylePendingImage::cssImageValue):
(WebCore::StylePendingImage::cssCursorImageValue):
(WebCore::StylePendingImage::cssImageSetValue):

  • svg/SVGColor.h:
  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::rebuildFontFace):

  • svg/SVGPaint.h:
4:05 PM Changeset in webkit [174299] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove a workaround for a bug that's been fixed
https://bugs.webkit.org/show_bug.cgi?id=137411

Reviewed by Dan Bernstein.

  • mac/rewrite-availability-macros.sh:
3:19 PM Changeset in webkit [174298] by saambarati1@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

Implement op_profile_type in the 32-bit baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=137181

Reviewed by Michael Saboff.

Generate inline code to write to the TypeProfilerLog inside the 32-bit
baseline JIT instead of unconditionally bailing out to the slow path
for op_profile_type.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_profile_type):

3:07 PM Changeset in webkit [174297] by mmaxfield@apple.com
  • 8 edits in trunk/Source/WebCore

Clean up interface to Font::expansionOpportunityCount()
https://bugs.webkit.org/show_bug.cgi?id=137355

Reviewed by Dean Jackson.

There are two overloads of Font::expansionOpportunityCount() which perform the same
operation. One overload takes a UChar*, the other takes an LChar*, and they both
take a length. This is the abstraction that StringView was designed to be. Instead
of forcing each caller to take a different overload based on if their data is
8 bit or not, allow the caller to construct a StringView and pass that into
Font::expansionOpportunityCount() instead of a raw pointer/length.

No new tests because there is no behavior change.

  • platform/graphics/Font.cpp:

(WebCore::Font::expansionOpportunityCountInternal): Original two functions,
renamed.
(WebCore::Font::expansionOpportunityCount): Takes a StringView, calls
expansionOpportunityCountInternal().

  • platform/graphics/Font.h: Update signatures.
  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::WidthIterator): Use new signature to
Font::expansionOpportunityCount().

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::ComplexTextController): Ditto.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment): Ditto.

  • rendering/RenderText.cpp:

(WebCore::RenderText::stringView): Accessor to encapsulate character pointer
and length.

  • rendering/RenderText.h: Signature of new accessor.
3:05 PM Changeset in webkit [174296] by Beth Dakin
  • 23 edits
    6 deletes in trunk

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

Build failures on the internal bots. (Requested by dethbakin
on #webkit).

Reverted changeset:

"FTL should sink PutLocals"
https://bugs.webkit.org/show_bug.cgi?id=137168
http://trac.webkit.org/changeset/174275

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

3:03 PM Changeset in webkit [174295] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix for MSVC 2013 SP 3.

The std::array initializer is not fully implemented in SP3 and causes a
build error.

  • platform/graphics/transforms/AffineTransform.cpp: Use old style assignment

initialization for MSVC builds until this bug is fixed.

2:46 PM Changeset in webkit [174294] by oliver@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

tearoff_arguments should always refer to the unmodified arguments register
https://bugs.webkit.org/show_bug.cgi?id=137406

Reviewed by Michael Saboff.

To simplify subsequent work, and remove unnecessary work from
actual execution this patch simply ensures that tear_off_arguments
refers to the actual unmodified arguments register.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitReturn):

  • dfg/DFGByteCodeParser.cpp:

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

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_tear_off_arguments):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_tear_off_arguments):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
2:43 PM Changeset in webkit [174293] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Add TypeCasts.h to xcodeproject
https://bugs.webkit.org/show_bug.cgi?id=137403

Reviewed by Benjamin Poulain.

Add TypeCasts.h to xcodeproject.

  • WTF.xcodeproj/project.pbxproj:
2:35 PM Changeset in webkit [174292] by saambarati1@gmail.com
  • 9 edits in trunk/Source

Web Inspector: Move the computation that results in UI strings from JSC to the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=137295

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Remove unnecessary functions and properties from JSC that are
now being computed inside the Web Inspector.

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/protocol/Runtime.json:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::allPrimitiveTypeNames): Deleted.

  • runtime/TypeSet.h:

Source/WebInspectorUI:

The inspector now computes a set of properties that was previously
computed inside JSC.

This patch also addresses the weird experience of the
type of an expression claiming to be both a Number and
an Integer. This could be a bit confusing because Number
is supposed to represent Double|Integer and the previous
UI implied that Number was equivalent to Double. The new UI only
ever shows either the type of Number or Integer when showing
the type information of an expression. It never shows both Number
and Integer simultaneously to describe a single expression.

  • UserInterface/Models/TypeSet.js:

(WebInspector.TypeSet):
(WebInspector.TypeSet.prototype.isContainedIn):
(WebInspector.TypeSet.prototype.get primitiveTypeNames):

  • UserInterface/Views/TypePropertiesSection.js:

(WebInspector.TypePropertiesSection):
(WebInspector.TypePropertiesSection.prototype.onpopulate):

  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView):
(WebInspector.TypeTokenView.prototype.update):
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
(WebInspector.TypeTokenView.prototype._displayTypeName):

2:35 PM Changeset in webkit [174291] by ap@apple.com
  • 6 edits in trunk/Tools

Record latest message in PatchLog for quick access
https://bugs.webkit.org/show_bug.cgi?id=137405

Reviewed by Ryosuke Niwa.

It's no SQL...

  • QueueStatusServer/handlers/releasepatch.py:
  • QueueStatusServer/handlers/updatestatus.py:
  • QueueStatusServer/loggers/recordpatchevent.py:
  • QueueStatusServer/model/patchlog.py:
2:18 PM Changeset in webkit [174290] by dfarler@apple.com
  • 2 edits in trunk/Tools

-asan-blacklist option also renamed to generic -fsanitize-blacklist
https://bugs.webkit.org/show_bug.cgi?id=137377

Reviewed by Daniel Bates.

  • asan/asan.xcconfig:

-asan-blacklist -> -fsanitize-blacklist

http://llvm.org/viewvc/llvm-project?view=revision&revision=212505

1:47 PM Changeset in webkit [174289] by betravis@adobe.com
  • 2 edits in trunk/LayoutTests

FTL should sink PutLocals
https://bugs.webkit.org/show_bug.cgi?id=137168

Patch by Filip Pizlo <fpizlo@apple.com> on 2014-10-02
Reviewed by Oliver Hunt.

  • js/regress/elidable-new-object-then-call-expected.txt: Added.
  • js/regress/elidable-new-object-then-call.html: Added.
  • js/regress/script-tests/elidable-new-object-then-call.js: Added.

(sumOfArithSeries):
(bar):
(foo):

1:45 PM Changeset in webkit [174288] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

Revert an accidental change introduced by r173318.

Rubber-stamped by Tim Horton.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
(WebKit::TiledCoreAnimationDrawingArea::resumePainting):

1:36 PM Changeset in webkit [174287] by timothy_horton@apple.com
  • 4 edits in trunk/Source

WKWebView snapshot of Daring Fireball has the wrong color in the obscured inset
https://bugs.webkit.org/show_bug.cgi?id=137383
<rdar://problem/18535439>

Reviewed by Sam Weinig.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::snapshotAtSize):
Use documentBackgroundColor instead of baseBackgroundColor if backgroundShouldExtendBeyondPage is set.

  • rendering/RenderView.cpp:

(WebCore::RenderView::paintBoxDecorations):
Use documentBackgroundColor instead of baseBackgroundColor if backgroundShouldExtendBeyondPage is set.

1:32 PM Changeset in webkit [174286] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Highlight clicked links in WKPDFView
https://bugs.webkit.org/show_bug.cgi?id=137400

Reviewed by Tim Horton.

Show a _UIHighlightView on top of clicked links for 200 ms before starting the navigation. This matches the behavior of UIWebPDFView.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView _createHighlightViewWithFrame:]): Created a _UIHighlightView with a color and border radius matching the values used by UIWebPDFView.
(-[WKPDFView annotation:wasTouchedAtPoint:controller:]): Displayed the highlight, then removed it after the navigation began.

1:29 PM Changeset in webkit [174285] by roger_fong@apple.com
  • 2 edits in trunk/Tools

[Windows] Include batch size argument to layout tests on Windows.

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

(RunWebKitTests.start):
This is a speculative fix for the the inconsistent crashes we are seeing on Windows.
These crashes seem to happen on random tests though generally in a spread out fashion.
It seems possible that the DRT instance is being clobbered somehow after running too many
tests in a row so we will try to mitigate this by just forcing DRT to restart periodically.

1:28 PM Changeset in webkit [174284] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit/ios

REGRESSION (r165896): UIWebView PDFs have a forced black background
https://bugs.webkit.org/show_bug.cgi?id=137387
<rdar://problem/17948411>

Reviewed by David Kilzer.

  • WebView/WebPDFViewPlaceholder.h:
  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder layout]):
Remove an ill-advised attempt to force the PDF background color from WebKit.
The idea was that we would maintain Safari's black background except if there
were no pages in the PDF, in which case we would use white instead to avoid
having an all-black view. However, this broke clients who didn't want a black
background, because we were now forcing it to black. Also, we don't need to
maintain the black color in Safari because it doesn't use WebPDFViewPlaceholder anymore.
This wasn't an important part of the patch, in any case.

1:27 PM Changeset in webkit [174283] by dino@apple.com
  • 5 edits in trunk/Source/WebCore

webkit-appearance: default-button styling does not set the button font color to white
https://bugs.webkit.org/show_bug.cgi?id=137399
rdar://problem/17788616

Reviewed by Dave Hyatt.

When a button is styled with -webkit-appearance: default-button, it should
use the CSSValueActivebuttontext value for its text color when the window
is active, and the normal value when the window is inactive.

Since activating (focus/blur) windows doesn't cause a style recalculation, this
is applied as a paint-time operation. However, the render tree children that
paint the text don't know that they are contained within a RenderButton
and that the button is a default type. So I added an inherited flag, similar
to what we use for visited links, to remember if we're in a button. And then
computeTextPaintStyle chooses the correct value.

We can't test this because our LayoutTest system doesn't have
an active window, and thus the default button renders like a normal
button. This should cause no regressions though. Also, the appearance is
protected behind an SPI (or Setting), so this is not exposed to the Web.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle): Set the flag if we're inside a default button.

  • rendering/TextPaintStyle.cpp:

(WebCore::computeTextPaintStyle): If we're in a default button inside an active window,
use the CSSValueActivebuttontext color.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::RenderStyle): Add and expose the new inherited flag: ._insideDefaultButton.
(WebCore::RenderStyle::changeRequiresRepaint): Ditto.

  • rendering/style/RenderStyle.h: Ditto.
1:26 PM Changeset in webkit [174282] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit/ios

REGRESSION (r173265): UIWebView PDF loading is completely broken
https://bugs.webkit.org/show_bug.cgi?id=137386
<rdar://problem/18524717>

Reviewed by David Kilzer.

  • WebView/WebPDFViewPlaceholder.h:
  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder layout]):
(-[WebPDFViewPlaceholder finishedLoadingWithDataSource:]):
Restore important code that creates the CGDataProvider and sets _didFinishLoad
and calls _doPostLoadOrUnlockTasks after finishing a load, which was haphazardly
removed in the aforementioned revision.

1:20 PM Changeset in webkit [174281] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WebCore

Merged r174277. <rdar://problem/18436044>

1:15 PM Changeset in webkit [174280] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.11-branch/Source/WebCore

Merged r174244. <rdar://problem/18507382>

1:10 PM Changeset in webkit [174279] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[SVG -> OTF Converter] Support non-BMP codepoints
https://bugs.webkit.org/show_bug.cgi?id=137097

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-09-28
Reviewed by Darin Adler.

This patch has two pieces:

1) Moves write16(), overwrite32() and overwrite16() inside SVGToOTFFontConverter. This
is so that we don't have to keep passing around references to m_result everywhere. Instead,
put the output vector inside the class as an instance member variable. In addition, rename
write32() and write16() to append32() and append16(), and provide a copy of append32 inside
SVGToOTFFontConverter.

2) Change the "Codepoint" typedef to be a String, and rename it to Codepoints. This is so that
we can implement ligatures later on. Update all the places that use this variable to work with
a String of multiple codepoints.

This patch updates the CMAP table to use format 12 instead of format 4. It currently only maps
single codepoints to glyph IDs and skips all multi-codepoint glyphs. We will implement
ligatures in another patch.

Test: svg/custom/glyph-selection-non-bmp.svg

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::append32): Append a result to a given vector. This is for the path transcoder.
(WebCore::SVGToOTFFontConverter::releaseResult): WTF::move()'s the result.
(WebCore::SVGToOTFFontConverter::GlyphData::GlyphData): Update to take Codepoints instead of Codepoint.
(WebCore::SVGToOTFFontConverter::append32): Piece 1 above.
(WebCore::SVGToOTFFontConverter::append16): Ditto.
(WebCore::SVGToOTFFontConverter::append4ByteCode): Convenience function.
(WebCore::SVGToOTFFontConverter::overwrite32): Piece 1 above.
(WebCore::SVGToOTFFontConverter::overwrite16): Ditto.
(WebCore::SVGToOTFFontConverter::appendCMAPTable): Update to format 12.
(WebCore::SVGToOTFFontConverter::appendHEADTable): Passing in a result vector is no longer necessary.
(WebCore::SVGToOTFFontConverter::appendHHEATable): Ditto.
(WebCore::SVGToOTFFontConverter::appendHMTXTable): Ditto.
(WebCore::SVGToOTFFontConverter::appendMAXPTable): Ditto.
(WebCore::SVGToOTFFontConverter::appendNAMETable): Ditto.
(WebCore::SVGToOTFFontConverter::appendOS2Table): Ditto.
(WebCore::SVGToOTFFontConverter::appendPOSTTable): Ditto.
(WebCore::isValidStringForCFF): Ditto.
(WebCore::SVGToOTFFontConverter::appendCFFValidString): Ditto.
(WebCore::SVGToOTFFontConverter::appendCFFTable): Ditto.
(WebCore::SVGToOTFFontConverter::appendVORGTable): Ditto.
(WebCore::SVGToOTFFontConverter::appendVHEATable): Ditto.
(WebCore::SVGToOTFFontConverter::appendVMTXTable): Ditto.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): Update for Codepoints.
(WebCore::SVGToOTFFontConverter::addCodepoints): Ditto.
(WebCore::SVGToOTFFontConverter::addGlyphNames): Ditto.
(WebCore::SVGToOTFFontConverter::appendKERNSubtable): Ditto.
(WebCore::SVGToOTFFontConverter::appendKERNTable): Ditto.
(WebCore::writeCFFEncodedNumber): Passing in a result vector is no longer necessary.
(WebCore::SVGToOTFFontConverter::appendGlyphData): Update for Codepoints.
(WebCore::SVGToOTFFontConverter::processGlyphElement): Update for Codepoints.
(WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically): Comparing Codepoints
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Update for Codepoints.
(WebCore::SVGToOTFFontConverter::calculateChecksum): Passing in a result vector is no longer necessary.
(WebCore::SVGToOTFFontConverter::appendTable): Ditto.
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Ditto.
(WebCore::convertSVGToOTFFont): Move out of the result vector.
(WebCore::write32): Deleted.
(WebCore::write16): Deleted.
(WebCore::overwrite32): Deleted.
(WebCore::appendCFFValidString): Deleted.
(WebCore::transcodeGlyphPaths): Deleted.
(WebCore::calculateChecksum): Deleted.

1:08 PM Changeset in webkit [174278] by Beth Dakin
  • 16 edits
    2 deletes in trunk/Source/WebCore

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

crashes on the bots (Requested by dethbakin on #webkit).

Reverted changeset:

"EventSender dispatches should be per-Document"
https://bugs.webkit.org/show_bug.cgi?id=136051
http://trac.webkit.org/changeset/174270

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

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

[iOS] Back-to-back fullscreen videos result in incorrectly sized videos
https://bugs.webkit.org/show_bug.cgi?id=137380

Reviewed by Eric Carlson.

During a normal workflow, a <video> element will create an AVPlayerLayer, then it will get a
fullscreen (hosted) parent layer, then it will be told an explicit fullscreen size. But when
a <video> element creates an AVPlayerLayer after the <video> element is already in
fullscreen mode, it sets that AVPlayerLayer's frame using the size of the hosted parent
layer, rather than the explicit fullscreen size. Instead, use the (already set) explicit
fullscreen size after creating the AVPlayerLayer.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::ensureAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformLayer):

12:58 PM Changeset in webkit [174276] by roger_fong@apple.com
  • 2 edits in trunk/Tools

[Windows] Settle for 2 chid processes running NRWT on Windows.

  • Scripts/webkitpy/port/win.py:

(WinPort.default_child_processes): 3 child processes reintroduces the sporadic crashing, will settle for 2.

12:38 PM Changeset in webkit [174275] by fpizlo@apple.com
  • 23 edits
    6 adds in trunk

FTL should sink PutLocals
https://bugs.webkit.org/show_bug.cgi?id=137168

Reviewed by Oliver Hunt.
Source/JavaScriptCore:


We've known for a while that our PutLocal situation was sub-optimal. We emit them anytime we
"pass" arguments to an inlined function call, because we need to enable the runtime to grab
those arguments when doing foo.arguments where foo is inlined: our engine doesn't deoptimize
in that case but rather just relies on the arguments being flushed (i.e. a copy of their
values is spilled) at a well-known place in a well-known format.

The PutLocals incur two costs: (1) they are store instructions and stores ain't free, and (2)
they look like escaping sites and so they inhibit object allocation sinking.

But in most cases, the PutLocals are unnecessary because the inlined code never performs any
side effect that could transitively lead to function.arguments. Even if the inlined code
could do such a side effect, it may be on a rare path so there is no need to penalize the
entire function.

This patch implements one solution to the PutLocal problem: it aggressively sinks PutLocals
to the latest possible point. This is even more aggressive than the object allocation
sinking. That sinking algorithm avoids creating situations where an object could be
materialized more than one along any path. PutLocal sinking, on the other hand, doesn't avoid
this at all - both to make the phase cheaper and simpler and to make it more aggressive.
Every PutLocal is sunk no matter what.

The upside of this patch is that it eliminates many PutLocals: many of them are sunk "past
their death", thus eliminating them completely. Others are sunk to rare paths. This enables a
lot of object allocation sinking and it removes a lot of pointless store instructions.

It also has downsites. Sinking PutLocals increases register pressure because it increases the
live ranges of things like inlined arguments.

This patch is a net performance win in its current form: 1% SunSpider regression, 2% OctaneV2
progression, 0.6% Kraken regression, 1% AsmBench progression, and 0.5% CompressionBench
regression. The biggest win is on Octane/raytrace, which improves by 27%.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.h:
  • bytecode/Operands.h:

(JSC::Operands::dump): Deleted.

  • bytecode/OperandsInlines.h:

(JSC::Traits>::dump):

  • bytecode/VirtualRegister.h:

(JSC::VirtualRegister::isHeader):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGClobberSet.h:

(JSC::DFG::ClobberSetAdd::operator()):
(JSC::DFG::ClobberSetOverlaps::operator()):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):
(JSC::DFG::NoOpClobberize::operator()):
(JSC::DFG::CheckClobberize::operator()):
(JSC::DFG::AbstractHeapOverlaps::operator()):
(JSC::DFG::ReadMethodClobberize::operator()):
(JSC::DFG::WriteMethodClobberize::operator()):
(JSC::DFG::DefMethodClobberize::operator()):

  • dfg/DFGFlushFormat.h:

(JSC::DFG::merge):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::capturedVarsFor):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints):
(JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints):

  • dfg/DFGPlan.cpp:

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

  • dfg/DFGPreciseLocalClobberize.h: Added.

(JSC::DFG::PreciseLocalClobberizeAdaptor::PreciseLocalClobberizeAdaptor):
(JSC::DFG::PreciseLocalClobberizeAdaptor::read):
(JSC::DFG::PreciseLocalClobberizeAdaptor::write):
(JSC::DFG::PreciseLocalClobberizeAdaptor::def):
(JSC::DFG::PreciseLocalClobberizeAdaptor::callIfAppropriate):
(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
(JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop):
(JSC::DFG::forEachLocalReadByUnwind):
(JSC::DFG::preciseLocalClobberize):

  • dfg/DFGPutLocalSinkingPhase.cpp: Added.

(JSC::DFG::performPutLocalSinking):

  • dfg/DFGPutLocalSinkingPhase.h: Added.
  • dfg/DFGSSACalculator.h:

(JSC::DFG::SSACalculator::computePhis):

  • dfg/DFGValidate.cpp:

Source/WTF:


Make the set bits of a BitVector iterable.

  • wtf/BitVector.h:

(WTF::BitVector::SetBitsIterable::SetBitsIterable):
(WTF::BitVector::SetBitsIterable::iterator::iterator):
(WTF::BitVector::SetBitsIterable::iterator::operator*):
(WTF::BitVector::SetBitsIterable::iterator::operator++):
(WTF::BitVector::SetBitsIterable::iterator::operator==):
(WTF::BitVector::SetBitsIterable::iterator::operator!=):
(WTF::BitVector::SetBitsIterable::begin):
(WTF::BitVector::SetBitsIterable::end):
(WTF::BitVector::setBits):

LayoutTests:

  • js/regress/elidable-new-object-then-call-expected.txt: Added.
  • js/regress/elidable-new-object-then-call.html: Added.
  • js/regress/script-tests/elidable-new-object-then-call.js: Added.

(sumOfArithSeries):
(bar):
(foo):

11:38 AM Changeset in webkit [174274] by commit-queue@webkit.org
  • 2 edits
    3 adds
    1 delete in trunk/Tools

[GTK] Bump up and patch dependencies to allow building for aarch64
https://bugs.webkit.org/show_bug.cgi?id=137147

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-10-03
Reviewed by Martin Robinson.

The currently used versions of pixman, libffi, librsvg, glib,
glib-networking, fontconfig, libxml2, gst-plugins-base fail to configure
and/or build for aarch64, so they are bumped up and patched where
necessary. Wherever possible, the same versions and patches were used as
for the EFL port bump-up
(https://bugs.webkit.org/show_bug.cgi?id=135885).

After the bump-up, a hitherto hidden bug in gst-plugins-good caused a
regression by crashing http/tests/media/video-redirect.html . A patch
already in upstream fixes that bug.

This change does not touch xserver, which also needs bumping up, but
will be dealt with later.

  • gtk/jhbuild.modules:

Specified versions and patches necessary to correctly build for aarch64.

  • gtk/patches/gst-events-arent-gstobjects.patch:

Added. Patches gst-plugins-good to fix a bug in .mov file demuxing.

  • gtk/patches/gst-prevent-neon-check-in-configure-from-passing-under-aarch64.patch:

Added. Patches gst-plugins-base to configure correctly for aarch64.

  • gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch:

Added. Bumps up config.guess and config.sub in librsvg to recognize
aarch64.

  • gtk/patches/libxml2-2.9.0-dtd.patch:

Removed. Not necessary for libxml2 v2.9.1 anymore.

11:35 AM Changeset in webkit [174273] by betravis@adobe.com
  • 4 edits
    2 adds in trunk

REGRESSION (r173531): Use after free in WebCore::RenderStyle::fontMetrics /
WebCore::CSSPrimitiveValue::computeLengthDouble
https://bugs.webkit.org/show_bug.cgi?id=136864

Reviewed by Andreas Kling.

Source/WebCore:

FontLoader previously called updateDocumentStyleIfNeeded,
which would reset styles currently in use as part of
the tabIndex calculation. The FontLoader should instead
wait for pending stylesheets to load.

Tests: fast/css/fontloader-tab-index.html

  • css/FontLoader.cpp:

(WebCore::FontLoader::notifyWhenFontsReady): Do not immediately
call loadingDone().
(WebCore::FontLoader::loadingDone): Wait for stylesheets to
finish loading rather than updating document styles.

  • css/FontLoader.h:

(WebCore::FontLoader::loading): Include JS font loads when testing
for the loading state.

LayoutTests:

Test that getting the tab index on a body element with
font-relative measurements to a local @font-face do not
cause a crash.

  • fast/css/fontloader-tab-index-expected.html: Added.
  • fast/css/fontloader-tab-index.html: Added.
10:55 AM Changeset in webkit [174272] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

Fixing the Windows build after r174269.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-10-03

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::shapeAndPlaceItem):

10:43 AM Changeset in webkit [174271] by mmaxfield@apple.com
  • 3 edits in trunk

Support modern for loops over StringViews
https://bugs.webkit.org/show_bug.cgi?id=137165

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-10-03
Reviewed by Darin Adler.

This patch adds two functions, codePoints() and codeUnits(), on StringView.
These two functions return small objects which have begin() and end() functions,
which means it can be used by the modern for loop style. This small class also
has an inner iterator class which can be incremented, dereferenced, and
compared.

Using these new objects looks like this:
for (UChar codeunit : stringView.codeUnits()) { } and
for (UChar32 codepoint : stringView.codePoints()) { }.

  • wtf/text/StringView.h:

(WTF::StringView::codepoints):
(WTF::StringView::codeunits):
(WTF::StringViewCodePointIterator::StringViewCodePointIterator):
(WTF::StringViewCodePointIterator::Iterator::Iterator):
(WTF::StringViewCodePointIterator::Iterator::operator*):
(WTF::StringViewCodePointIterator::Iterator::operator!=):
(WTF::StringViewCodeUnitIterator::StringViewCodeUnitIterator):
(WTF::StringViewCodeUnitIterator::Iterator::Iterator):
(WTF::StringViewCodeUnitIterator::Iterator::operator*):
(WTF::StringViewCodeUnitIterator::Iterator::operator!=):

10:15 AM Changeset in webkit [174270] by Brian Burg
  • 16 edits
    2 adds in trunk/Source/WebCore

EventSender dispatches should be per-Document
https://bugs.webkit.org/show_bug.cgi?id=136051

Reviewed by Andreas Kling.

EventSender uses a Timer to asynchronously dispatch the same event to multiple
elements of the same type on a future run loop. However, we previously dispatched events
to elements from any Document rather than the one that requested the event send.

This patch changes EventSender to be associated with a single Document. EventSenders
for each Document are lazily allocated. Further per-Document or global optimizations
are possible.

This change also lays the groundwork for making EventSender-related DOM events
deterministic during web replay, tracked at <https://webkit.org/b/137090>.

No new tests, covered by fast/text/svg-font-trigger-load-event.html.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMAllInOne.cpp:
  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::implicitClose):
Dispatch pending events for this document only. Rename local variable f to frame.

  • dom/Document.h:

(WebCore::Document::sharedEventSenders):

  • dom/EventSender.h:

(WebCore::EventSender::EventSender):
(WebCore::EventSender::hasPendingEvents):
(WebCore::EventSender<T>::dispatchEventSoon):
(WebCore::EventSender<T>::cancelEvent):
(WebCore::EventSender<T>::dispatchPendingEvents):
(WebCore::EventSender<T>::EventSender): Deleted. The type argument was not necessary.

  • dom/SharedEventSenders.cpp: Added. Lazily creates event senders as they are requested.

(WebCore::SharedEventSenders::linkLoadEventSender):
(WebCore::SharedEventSenders::styleLoadEventSender):
(WebCore::SharedEventSenders::imageBeforeloadEventSender):
(WebCore::SharedEventSenders::imageLoadEventSender):
(WebCore::SharedEventSenders::imageErrorEventSender):

  • dom/SharedEventSenders.h: Added.

(WebCore::SharedEventSenders::SharedEventSenders):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::~HTMLLinkElement):
(WebCore::HTMLLinkElement::dispatchPendingEvent):
(WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources):
(WebCore::linkLoadEventSender): Deleted.
(WebCore::HTMLLinkElement::dispatchPendingLoadEvents): Deleted.

  • html/HTMLLinkElement.h:
  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::~HTMLStyleElement):
(WebCore::HTMLStyleElement::dispatchPendingEvent):
(WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources):
(WebCore::styleLoadEventSender): Deleted.
(WebCore::HTMLStyleElement::dispatchPendingLoadEvents): Deleted.

  • html/HTMLStyleElement.h:
  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::beforeLoadEventSender):
(WebCore::ImageLoader::loadEventSender):
(WebCore::ImageLoader::errorEventSender):
(WebCore::ImageLoader::dispatchPendingEvent):
(WebCore::beforeLoadEventSender): Deleted.
(WebCore::loadEventSender): Deleted.
(WebCore::errorEventSender): Deleted.
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvents): Deleted.
(WebCore::ImageLoader::dispatchPendingLoadEvents): Deleted.
(WebCore::ImageLoader::dispatchPendingErrorEvents): Deleted.

  • loader/ImageLoader.h:
  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::append): Remove an early call to the EventSender for image
beforeload events. This was a performance optimization, but is no longer safe since the
document (and thus the event sender) may not be available in a synchronous document write.

9:57 AM Changeset in webkit [174269] by mmaxfield@apple.com
  • 9 edits in trunk/Source/WebCore

TextRun::length() should return an unsigned
https://bugs.webkit.org/show_bug.cgi?id=137354

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-10-03
Reviewed by Antti Koivisto.

Currently, the m_len instance variable that backs the TextRun::length() function is
an unsigned, but the length() function implicitly casts that to an int when
returning it. This patch makes the function return an unsigned, and makes the
do any casting if necessary.

No new tests because there is no behavior change.

  • platform/graphics/Font.cpp:

(WebCore::Font::drawText): Cast result to int.
(WebCore::Font::drawEmphasisMarks): Ditto.
(WebCore::Font::adjustSelectionRectForText): Ditto.
(WebCore::computeUnderlineType): Update internal type to be unsigned.

  • platform/graphics/GlyphBuffer.h:

(WebCore::GlyphBuffer::add): Update sentinel value to be unsigned.
(WebCore::GlyphBuffer::saveOffsetsInString): Ditto.

  • platform/graphics/GraphicsContext.cpp: Update internal type to be unsigned.
  • platform/graphics/TextRun.h:

(WebCore::TextRun::length): Update return type.
(WebCore::TextRun::charactersLength): Ditto.

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal): Cast result to int.

  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair): Remove
unnecessary casts.
(WebCore::SVGTextMetricsBuilder::advance): Ditto.

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::applySVGGlyphSelection): Cast result to int.

9:51 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
9:47 AM Changeset in webkit [174268] by weinig@apple.com
  • 8 edits
    1 delete in trunk

Remove RefPtrHashMap
https://bugs.webkit.org/show_bug.cgi?id=137200

Reviewed by Darin Adler.

Source/WTF:

HashMap now has all the features of the RefPtr specialization of HashMap
(which lived in RefPtrHashMap.h) and is in fact more efficient when moving
items into it. For instance:

For HashMap<RefPtr<Foo>, Bar> map:

RefPtr<Foo> foo = ...;
map.add(WTF::move(foo), Bar());

will now not cause a ref() / deref(), but will successfully move the item in
without churn. The same is true if foo.release() was used.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:

Remove references to RefPtrHashMap.h.

  • wtf/RefPtrHashMap.h: Removed.
  • wtf/HashMap.h:

Remove #include of RefPtrHashMap.h and add inlineGet to match the interface
exposed by the RefPtrHashMap specialization.

Tools:

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST):
Add tests for using a HashMap with RefPtr keys, focusing on ensuring that
a minimum of refcount churn occurs.

9:43 AM Changeset in webkit [174267] by clopez@igalia.com
  • 35 edits
    1 add in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Update test name for bug 136673 after r173418.
  • platform/gtk/css1/box_properties/clear_float-expected.txt: Rebaseline after r174233.
  • platform/gtk/css1/box_properties/float_on_text_elements-expected.txt: Rebaseline after r174233.
  • platform/gtk/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt: Rebaseline after r174233.
  • platform/gtk/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt: Rebaseline after r174233.
  • platform/gtk/css2.1/t1602-c546-txt-align-00-b-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/multicol/float-avoidance-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/multicol/overflow-across-columns-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/multicol/overflow-across-columns-percent-height-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/multicol/overflow-unsplittable-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/multicol/positive-leading-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/multicol/vertical-lr/float-avoidance-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/multicol/vertical-rl/float-avoidance-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-1-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-10-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-2-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-3-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-4-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-5-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-6-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-7-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-8-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/repaint/line-flow-with-floats-9-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/text/justified-selection-at-edge-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/text/justify-ideograph-leading-expansion-expected.txt: Rebaseline after r174233.
  • platform/gtk/fast/text/justify-nbsp-expected.txt: Added. Rebaseline after r174233.
  • platform/gtk/fast/text/trailing-white-space-2-expected.txt: Rebaseline after r174233.
  • platform/gtk/tables/mozilla/marvin/x_tbody_align_justify-expected.txt: Rebaseline after r174233.
  • platform/gtk/tables/mozilla/marvin/x_td_align_justify-expected.txt: Rebaseline after r174233.
  • platform/gtk/tables/mozilla/marvin/x_tfoot_align_justify-expected.txt: Rebaseline after r174233.
  • platform/gtk/tables/mozilla/marvin/x_th_align_justify-expected.txt: Rebaseline after r174233.
  • platform/gtk/tables/mozilla/marvin/x_thead_align_justify-expected.txt: Rebaseline after r174233.
  • platform/gtk/tables/mozilla/marvin/x_tr_align_justify-expected.txt: Rebaseline after r174233.
8:03 AM Changeset in webkit [174266] by evab.u-szeged@partner.samsung.com
  • 6 edits in trunk/Tools

Remove workarounds for versions of Python before 2.7
https://bugs.webkit.org/show_bug.cgi?id=137338

Reviewed by Csaba Osztrogonác.

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

(AutoInstaller._extract_targz):
(AutoInstaller._unzip):
(AutoInstaller): Deleted.
(AutoInstaller._extract_all): Deleted.

  • Scripts/webkitpy/common/webkitunittest.py:

(TestCase.setUp): Deleted.

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

(TestConfigurationConverter.collapse_macros):
(TestConfigurationConverter.to_specifiers_list.try_collapsing):
(TestConfigurationConverter.to_specifiers_list.try_abbreviating):
(TestConfigurationConverter):
(TestConfigurationConverter.combinations): Deleted.

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
  • Scripts/webkitpy/port/base.py:
6:34 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:26 AM Changeset in webkit [174265] by evab.u-szeged@partner.samsung.com
  • 8 edits in trunk/Tools

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

It broke run-webkit-tests (Requested by ebalazsfalvi on
#webkit).

Reverted changeset:

"Remove workarounds for versions of Python before 2.7"
https://bugs.webkit.org/show_bug.cgi?id=137338
http://trac.webkit.org/changeset/174264

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

3:14 AM Changeset in webkit [174264] by evab.u-szeged@partner.samsung.com
  • 8 edits in trunk/Tools

Remove workarounds for versions of Python before 2.7
https://bugs.webkit.org/show_bug.cgi?id=137338

Reviewed by Csaba Osztrogonác.

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

(AutoInstaller._extract_targz):
(AutoInstaller._unzip):
(AutoInstaller): Deleted.
(AutoInstaller._extract_all): Deleted.

  • Scripts/webkitpy/common/webkitunittest.py:

(TestCase.setUp): Deleted.

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

(TestConfigurationConverter.collapse_macros):
(TestConfigurationConverter.to_specifiers_list.try_collapsing):
(TestConfigurationConverter.to_specifiers_list.try_abbreviating):
(TestConfigurationConverter):
(TestConfigurationConverter.combinations): Deleted.

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
  • Scripts/webkitpy/port/base.py:
  • Scripts/webkitpy/port/driver.py:

(ContentBlock.init):

  • Scripts/webkitpy/port/server_process.py:

(ServerProcess._reset):

3:13 AM Changeset in webkit [174263] by evab.u-szeged@partner.samsung.com
  • 4 edits in trunk/Tools

Remove autoinstaller workaround for python 2.6
https://bugs.webkit.org/show_bug.cgi?id=137343

Reviewed by Daniel Bates.

Reverting <http://trac.webkit.org/changeset/124928>, neither Python
2.6, nor Snow Leopard is supported anymore, so the workaround is not
needed anymore.

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

(AutoInstaller.install):

  • Scripts/webkitpy/test/main.py:

(Tester._run_tests):

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook._install_mechanize):
(AutoinstallImportHook._install_pep8):
(AutoinstallImportHook._install_pylint):
(AutoinstallImportHook._install_buildbot):
(AutoinstallImportHook._install_coverage):
(AutoinstallImportHook._install_eliza):
(AutoinstallImportHook._install_irc):
(AutoinstallImportHook._install):
(autoinstall_everything):

2:25 AM Changeset in webkit [174262] by Csaba Osztrogonác
  • 6 edits in trunk/Source/WebKit2

[GTK] URTBF after r174231.

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

(webkit_web_page_get_dom_document):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::didInstallPageOverlay): Deleted.
(WebKit::DrawingAreaImpl::didUninstallPageOverlay): Deleted.
(WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay): Deleted.
(WebKit::DrawingAreaImpl::setPageOverlayOpacity): Deleted.

  • WebProcess/WebPage/DrawingAreaImpl.h:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::createPageOverlayLayer):
(WebKit::LayerTreeHostGtk::destroyPageOverlayLayer):
(WebKit::LayerTreeHostGtk::didInstallPageOverlay): Deleted.
(WebKit::LayerTreeHostGtk::didUninstallPageOverlay): Deleted.
(WebKit::LayerTreeHostGtk::setPageOverlayNeedsDisplay): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1:00 AM Changeset in webkit [174261] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source

[EFL] Fix build break since r174231 and r174256
https://bugs.webkit.org/show_bug.cgi?id=137384

Unreviewed, EFL build fix.

r174231 and r174256 didn't consider EFL port and CoordinatedGraphics area.

Source/WebCore:

  • css/WebKitCSSViewportRule.cpp:

(WebCore::WebKitCSSViewportRule::WebKitCSSViewportRule):

  • css/WebKitCSSViewportRule.h:

Source/WebKit2:

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::mainFrameContentSizeChanged):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
(WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
(WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):

  • WebProcess/WebPage/TapHighlightController.cpp:

(WebKit::TapHighlightController::highlight):
(WebKit::TapHighlightController::hideHighlight):

  • WebProcess/WebPage/TapHighlightController.h: Add WebCore:: namespace prefix to PageOverlay argument type.
12:53 AM Changeset in webkit [174260] by saambarati1@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

Change how 32-bit JSValues check if they are a Boolean

Rubber stamped by Filip Pizlo.

32-bit JSValue::isBoolean can simply check if its tag corresponds
to the boolean tag instead of checking if it's either true or false.

  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::isBoolean):

12:13 AM Changeset in webkit [174259] by Yusuke Suzuki
  • 13 edits
    16 adds in trunk

CSS Selectors Level 4: Add parsing for :matches
https://bugs.webkit.org/show_bug.cgi?id=137348

Reviewed by Benjamin Poulain.

Source/WebCore:

Add initial parsing functionality of :matches pseudo class in Selectors Level 4.
It accepts selector list as a parameter. It can contain pseudo elements.
And now at the parsing phase, multiple pseudo elements are allowed.
Currently :not doesn't accept any functional pseudo classes, :not(:matches(...)) is rejected.
And currently, :matches(:visited, :link) is allowed in the parsing phase.

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

(WebCore::CSSParser::detectFunctionTypeToken):

  • css/CSSSelector.cpp:

(WebCore::appendSelectorList):
(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

LayoutTests:

  • 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:

Cover CSSOM tests; canonicalizing :matches text representation.

  • fast/css/parsing-css-matches-1-expected.txt: Added.
  • fast/css/parsing-css-matches-1.html: Added.
  • fast/css/parsing-css-matches-2-expected.txt: Added.
  • fast/css/parsing-css-matches-2.html: Added.
  • fast/css/parsing-css-matches-3-expected.txt: Added.
  • fast/css/parsing-css-matches-3.html: Added.
  • fast/css/parsing-css-matches-4-expected.txt: Added.
  • fast/css/parsing-css-matches-4.html: Added.
  • fast/css/parsing-css-matches-5-expected.txt: Added.
  • fast/css/parsing-css-matches-5.html: Added.
  • fast/css/parsing-css-matches-6-expected.txt: Added.
  • fast/css/parsing-css-matches-6.html: Added.

Valid :matches are tested in the above tests. Selector lists with 1, 2, 3 elements are tested.

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

Invalid :matches are tested in the above tests. :matches() etc. are tested.

Note: See TracTimeline for information about the timeline view.