Timeline



Oct 15, 2014:

11:50 PM Changeset in webkit [174761] by abucur@adobe.com
  • 17 edits
    4 adds in trunk

ASSERTION FAILED in WebCore::RenderFlowThread::getRegionRangeForBox
https://bugs.webkit.org/show_bug.cgi?id=135563

Reviewed by David Hyatt.

Source/WebCore:

The new multi-column code doesn't work correctly when the document contains nested fragmentation
contexts. The problem is the current flow thread concept that can store only one RenderFlowThread
at a time and use it during layout.

The stored flow thread is always correct for regions because named flow threads are absolutley positioned
so every child renderer is contained inside them (with the expcetion of fixed positioned elements which are
treated separately).

For multi-column elements this is no longer the case. An absolutely positioned element inside a static
multi-column element will be contained by a block outside the fragmentation context. It can even be
contained by a different multi-column element in the case of nested flow threads.

The patch below explores a solution that's not based on a current flow thread stored globally. The proposed
patch makes every block to store a pointer to its fragmentation context and a flag that states if this pointer
needs to be updated or not. If the renderer is not a block it will get its flow thread from the containing
block. Once the containing flow thread is requested for the block, the pointer is computed and cached until
invalidated:

  • when a subtree is removed from a flow thread
  • when the position property of an element inside a flow thread changes

The process is recursive and it doesn't affect elements that are not nested inside a flow thread. If a block
changes position from relative to static, any element that was contained by it can only be contained by an
ancestor of the block. This ancestor will still be outside of any flow thread. This ensures that non-fragmentation
code is not affected from a performance perspective.

The patch affects the results of the performance tests:

  • the regions layout tests have a decreased performance raging from 2% to 5-6%
  • the regions selection tests have an increased performance raging from 1-2% to 10%
  • the multicolumn layout tests (now pending review in b137687) have an increased performance

raging from 1.8% to 5%

Tests: fast/multicol/multicol-all-positioned-crash.html

fast/multicol/multicol-transform-containing-block.html

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::FlowThreadController):

  • rendering/FlowThreadController.h:

(WebCore::FlowThreadController::currentRenderFlowThread): Deleted.
(WebCore::FlowThreadController::setCurrentRenderFlowThread): Deleted.

  • rendering/LayoutState.h:

(WebCore::LayoutState::currentRenderFlowThread):
(WebCore::LayoutState::setCurrentRenderFlowThread):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlockRareData::RenderBlockRareData):
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::cachedFlowThreadContainingBlock):
(WebCore::RenderBlock::cachedFlowThreadContainingBlockNeedsUpdate):
(WebCore::RenderBlock::setCachedFlowThreadContainingBlockNeedsUpdate):
(WebCore::RenderBlock::updateCachedFlowThreadContainingBlock):
(WebCore::RenderBlock::locateFlowThreadContainingBlock):

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

(WebCore::RenderBlockFlow::styleWillChange):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
(WebCore::RenderFlowThread::repaintRectangleInRegions):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer): Deleted.
(WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer): Deleted.
(WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler): Deleted.
(WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler): Deleted.

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

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showRegionsInformation):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::removeFromRenderFlowThread):
(WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants):
(WebCore::RenderObject::invalidateFlowThreadContainingBlockIncludingDescendants):
(WebCore::RenderObject::currentRenderNamedFlowFragment):
(WebCore::RenderObject::locateFlowThreadContainingBlock):
(WebCore::RenderObject::locateFlowThreadContainingBlockNoCache): Deleted.
(WebCore::RenderObject::removeFromRenderFlowThreadRecursive): Deleted.

  • rendering/RenderObject.h:

(WebCore::RenderObject::flowThreadContainingBlock):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::computeOverflowFromFlowThread):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
(WebCore::RenderView::popLayoutStateForCurrentFlowThread):

  • rendering/RenderView.h:

LayoutTests:

A test verifying that positioned elements inside multi-column containers don't
cause assertions or crashes.

  • fast/multicol/multicol-all-positioned-crash-expected.txt: Added.
  • fast/multicol/multicol-all-positioned-crash.html: Added.
  • fast/multicol/multicol-transform-containing-block-expected.txt: Added.
  • fast/multicol/multicol-transform-containing-block.html: Added.
11:45 PM Changeset in webkit [174760] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, add myself to CoordinatedGraphics watchers.

  • Scripts/webkitpy/common/config/watchlist:
11:04 PM Changeset in webkit [174759] by Chris Dumez
  • 22 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for list-related render objects
https://bugs.webkit.org/show_bug.cgi?id=137764

Reviewed by Benjamin Poulain.

Use is<>() / downcast<>() for list-related render objects and clean up
the surrounding code.

No new tests, no behavior change.

  • accessibility/AccessibilityListBox.cpp:

(WebCore::AccessibilityListBox::visibleChildren):
(WebCore::AccessibilityListBox::elementAccessibilityHitTest):

  • accessibility/AccessibilityListBoxOption.cpp:

(WebCore::AccessibilityListBoxOption::elementRect):

  • accessibility/AccessibilityObject.cpp:

(WebCore::renderListItemContainerForNode):

  • accessibility/atk/WebKitAccessibleHyperlink.cpp:

(getRangeLengthForObject):

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(accessibilityObjectLength):
(offsetAdjustmentForListItem):
(webkitAccessibleTextGetText):

  • editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply):

  • html/HTMLLIElement.cpp:

(WebCore::HTMLLIElement::didAttachRenderers):
(WebCore::HTMLLIElement::parseValue):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::nextSelectableListIndexPageAway):
(WebCore::HTMLSelectElement::scrollToSelection):
(WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

  • html/HTMLSelectElementWin.cpp:

(WebCore::HTMLSelectElement::platformHandleKeydownEvent):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformPrepareForWheelEvents):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):

  • rendering/RenderCounter.cpp:

(WebCore::planCounter):

  • rendering/RenderListBox.h:
  • rendering/RenderListItem.cpp:

(WebCore::nextListItem):
(WebCore::previousListItem):

  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::markerTextForListItem):

  • rendering/TextAutoSizing.cpp:

(WebCore::TextAutoSizingValue::adjustNodeSizes):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

  • testing/Internals.cpp:

(WebCore::Internals::isSelectPopupVisible):

8:57 PM Changeset in webkit [174758] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Use std::unique_ptr for CachedResource
https://bugs.webkit.org/show_bug.cgi?id=137736

Reviewed by Darin Adler.

No new tests, no behavior change.

  • loader/cache/CachedResource.cpp: Use std::unique_ptr instead of PassOwnPtr|OwnPtr.

(WebCore::CachedResource::removeClient):

  • loader/cache/CachedResource.h: Set ctor from private to public.

(WebCore::CachedResource::CachedResourceCallback::schedule):

7:50 PM Changeset in webkit [174757] by gyuyoung.kim@samsung.com
  • 15 edits in trunk/Source/WebCore

Move TextCodec classes to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=137738

Reviewed by Darin Adler.

Replace uses of PassOwnPtr in code under TextCodecFoo class with std::unique_ptr.
To do this, ctor of TextCodecFoo classes is changed from private to public. Besides
related classes follow this change as well.

No new tests, no behavior change.

  • html/parser/HTMLMetaCharsetParser.h:
  • loader/TextResourceDecoder.cpp:

(WebCore::TextResourceDecoder::setEncoding):
(WebCore::TextResourceDecoder::flush):

  • loader/TextResourceDecoder.h:
  • platform/text/TextCodec.h:
  • platform/text/TextCodecICU.cpp:

(WebCore::TextCodecICU::create):

  • platform/text/TextCodecICU.h:
  • platform/text/TextCodecLatin1.cpp:

(WebCore::newStreamingTextDecoderWindowsLatin1):

  • platform/text/TextCodecUTF16.cpp:

(WebCore::newStreamingTextDecoderUTF16LE):
(WebCore::newStreamingTextDecoderUTF16BE):

  • platform/text/TextCodecUTF8.cpp:

(WebCore::TextCodecUTF8::create):

  • platform/text/TextCodecUTF8.h:
  • platform/text/TextCodecUserDefined.cpp:

(WebCore::newStreamingTextDecoderUserDefined):

  • platform/text/TextEncodingRegistry.cpp:

(WebCore::newTextCodec):

  • platform/text/TextEncodingRegistry.h:
  • platform/text/mac/TextCodecMac.cpp:

(WebCore::newTextCodecMac):

7:25 PM Changeset in webkit [174756] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[Media] Reduce style updates (painting) in controls
https://bugs.webkit.org/show_bug.cgi?id=137763
<rdar://problem/17833045>

Reviewed by Simon Fraser.

Media controls were causing a lot of repaints they were
constantly updating the style of the widgets, the value
of the forms, or the text in the display.

This is necessary when the controls are visible, but not
necessary when they are hidden. Return immediately in that case.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): Initialise the slider to a zero value.
(Controller.prototype.handleDurationChange): Force an update even though we might be hidden.
(Controller.prototype.updateProgress): Don't update if we're hidden.
(Controller.prototype.updateTime): Ditto.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.updateProgress): Ditto.

6:41 PM Changeset in webkit [174755] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

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

caused layout tests to fail. (Requested by zalan on #webkit).

Reverted changeset:

"[Mac] Unreviewed gardening."
http://trac.webkit.org/changeset/174753

6:16 PM Changeset in webkit [174754] by roger_fong@apple.com
  • 4 edits in trunk

[Windows] Speculative Windows test fix.
Also add some more test logging.

  • DumpRenderTree/win/DumpRenderTree.cpp: Make sure that OLEAUT32.dll doesn't cache BSTRs.
  • WebActionPropertyBag.cpp:

(WebActionPropertyBag::Read): Add logging for testing purposes.

5:56 PM Changeset in webkit [174753] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Unskip subpixel border tests.

  • platform/mac/TestExpectations:
5:29 PM Changeset in webkit [174752] by jonowells@apple.com
  • 1 edit
    2 deletes in trunk/Source/WebInspectorUI

Build fix. Rolling back changes in http://trac.webkit.org/changeset/174721.

  • Scripts/copy-user-interface-resources.pl:
  • UserInterface/External/ESLint/LICENSE: Removed.
  • UserInterface/External/ESLint/eslint.js: Removed.
5:28 PM Changeset in webkit [174751] by Lucas Forschler
  • 4 edits in branches/safari-600.1-branch/LayoutTests

Merged r173674.

5:17 PM Changeset in webkit [174750] by Alan Bujtas
  • 1 edit
    1 add in trunk/LayoutTests

[Mac] Unreviewed gardening(mountain-lion).

  • platform/mac-mountainlion/fast/text/international/hindi-spacing-expected.txt: Added.
5:14 PM Changeset in webkit [174749] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r174025): remote inspector crashes frequently when executing inspector frontend's JavaScript
https://bugs.webkit.org/show_bug.cgi?id=137758

Rubber stamped by Filip Pizlo.

Reverted r174025 for just PutByOffset Nodes.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

5:13 PM Changeset in webkit [174748] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

import-w3c-test rewrites relative src paths in ref files incorrectly
https://bugs.webkit.org/show_bug.cgi?id=137586

This patch fixes a bug in test_converter.py where src paths were getting
rewritten as ../../some-path instead of <script src="../../some-path>".
It also adds support for rewriting src paths in style elements, which was
missing before and it adds tests for this case.

Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-10-15
Reviewed by Bem Jones-Bey.

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.convert_attributes_if_needed):

  • Scripts/webkitpy/w3c/test_converter_unittest.py:

(test_convert_attributes_if_needed):
(verify_reference_relative_paths):

5:09 PM Changeset in webkit [174747] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Fix inefficiencies in ResourceResponse::platformLazyInit(InitLevel) - Part 2
https://bugs.webkit.org/show_bug.cgi?id=137721

Reviewed by Darin Adler.

Follow-up patch to r174717 addressing review comments made after the patch landed:

  • Use modern C++ loop
  • Remove explicit calls to String(NSString*) constructor

No new tests, no new tests.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::platformLazyInit):

5:05 PM Changeset in webkit [174746] by Chris Dumez
  • 24 edits in trunk/Source/WebCore

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

Reviewed by Darin Adler.

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

No new tests, no behavior change.

  • dom/Position.cpp:

(WebCore::Position::upstream):
(WebCore::Position::downstream):

  • editing/VisibleUnits.cpp:

(WebCore::wordBreakIteratorForMinOffsetBoundary):
(WebCore::wordBreakIteratorForMaxOffsetBoundary):
(WebCore::visualWordPosition):
(WebCore::startPositionForLine):
(WebCore::endPositionForLine):

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::root):
(WebCore::InlineBox::nextLeafChild):
(WebCore::InlineBox::prevLeafChild):
(WebCore::InlineBox::nextLeafChildIgnoringLineBreak):

  • rendering/InlineBox.h:
  • rendering/InlineElementBox.h:
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
(WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
(WebCore::InlineFlowBox::requiresIdeographicBaseline):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::computeMaxLogicalTop):
(WebCore::InlineFlowBox::flipLinesInBlockDirection):
(WebCore::InlineFlowBox::computeOverflow):
(WebCore::InlineFlowBox::firstLeafChild):
(WebCore::InlineFlowBox::lastLeafChild):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):

  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::positionForBox):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::firstRootBox):
(WebCore::RenderBlockFlow::lastRootBox):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::createLineBoxes):
(WebCore::RenderBlockFlow::constructLine):
(WebCore::setLogicalWidthForTextRun):
(WebCore::computeExpansionForJustifiedText):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
(WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):

  • rendering/RenderText.cpp:

(WebCore::RenderText::localCaretRect):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::isHyphenated):
(WebCore::RootInlineBox::ascentAndDescentForBox):

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::nextRootBox):
(WebCore::RootInlineBox::prevRootBox):

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::localCaretRect):
(WebCore::RenderSVGInlineText::positionForPoint):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::positionForPoint):

  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::paintSelectionBackground):
(WebCore::SVGInlineFlowBox::paint):
(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):

  • rendering/svg/SVGInlineFlowBox.h:
  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeRenderSVGTextBox):
(WebCore::writeSVGInlineTextBoxes):

  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::paint):
(WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
(WebCore::SVGRootInlineBox::layoutChildBoxes):
(WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):

  • rendering/svg/SVGRootInlineBox.h:
  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::collectTextBoxesInFlowBox):

3:36 PM Changeset in webkit [174745] by Alan Bujtas
  • 17 edits
    2 adds in trunk/LayoutTests

[Mac] Unreviewed gardening.

Rebaselining.

  • platform/mac/TestExpectations:
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
  • platform/mac/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/mac/fast/events/constructors/mouse-event-constructor-expected.txt: Added.
  • platform/mac/fast/events/constructors/wheel-event-constructor-expected.txt: Added.
  • platform/mac/fast/text/international/hindi-spacing-expected.txt:
  • platform/mac/fast/text/international/vertical-text-glyph-test-expected.txt:
  • platform/mac/fast/text/orientation-sideways-expected.txt:
  • platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/mac/fast/writing-mode/japanese-ruby-vertical-lr-expected.txt:
  • platform/mac/fast/writing-mode/japanese-ruby-vertical-rl-expected.txt:
  • platform/mac/fast/writing-mode/vertical-font-fallback-expected.txt:
  • platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
2:41 PM Changeset in webkit [174744] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

glReadPixels on NVIDIA cards returns the wrong values for the alpha channel when alpha is off.
https://bugs.webkit.org/show_bug.cgi?id=137752.
<rdar://problem/15408133>

Reviewed by Brent Fulgham.

This change fixed the 1.0.2 conformance test: context/context-attribute-preserve-drawing-buffer.html

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

Manually set the alpha channel to 255 when alpha is off on the rendering context.

1:56 PM Changeset in webkit [174743] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Add --json flag to test-webkitpy to emit JSON formatted test results
to stdout
https://bugs.webkit.org/show_bug.cgi?id=137353

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-15
Reviewed by Daniel Bates.

  • Scripts/webkitpy/port/server_process_unittest.py:

Adds the read method to MockFile to allow the stdout of test_webkitpy
to be redirected without causing erroneous test failures.
In particular,
webkitpy.port.server_process_unittest.TestServerProcess.test_broken_pipe
and
webkitpy.port.server_process_unittest.TestServerProcess.test_cleanup
because when redirecting to a file, the
_wait_for_data_and_update_buffers_using_select method in
server_process.py will find that there is a read file descriptor in
its call to select.select, which eventually leads to it calling read()
on the MockFile object.
(MockFile.read):

  • Scripts/webkitpy/test/main.py:

Adds the _print_results_as_json method and the --json flag which
determines whether _print_results_as_json will get called.
(Tester._parse_args):
(Tester._print_results_as_json):
(Tester._print_results_as_json.result_dict_from_tuple):
(Tester._run_tests):

12:39 PM Changeset in webkit [174742] by mitz@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit2

[Cocoa] "Plug-in will handle load" error isn't declared in the modern API
https://bugs.webkit.org/show_bug.cgi?id=137747

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKError.mm: Define _WKLegacyErrorDomain.
  • UIProcess/API/Cocoa/WKErrorInternal.h: Changed to import WKErrorPrivate.h.
  • UIProcess/API/Cocoa/WKErrorPrivate.h: Added. Declares _WKLegacyErrorDomain

and _WKLegacyErrorPlugInWillHandleLoad.

  • WebKit2.xcodeproj/project.pbxproj: Added new private header.
12:35 PM Changeset in webkit [174741] by Chris Fleizach
  • 9 edits in trunk

AX: Going back is broken for VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=137382

Reviewed by Darin Adler.

Source/WebCore:

There were two issues preventing VoiceOver from navigating when using page history to go back/forward.

1) Existing AXLoadComplete does not get fired when you just move through page history.

There were existing frameLoad notifications used by GTK. I think we should use those which seem more reliable.

2) The AccessibilityScrollView cached its children, but on some history page loads, that cache was never cleared out.

Rather than trying to find those places to clear out the cache, it's easier to just add the elements to the children
array everytime it's asked for. Since there's only ever 3 elements (web area + 2 scroll bars) this should not be a performance hit.

Tests are not possible since they require monitoring notifications across multiple page loads.

  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::updateChildrenIfNecessary):

  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):

  • dom/Document.cpp:

(WebCore::Document::implicitClose):

LayoutTests:

Update tests now that AXLoadComplete is sent more reliably.

  • platform/mac/accessibility/aria-expanded-notifications-expected.txt:
  • platform/mac/accessibility/aria-expanded-notifications.html:
12:18 PM Changeset in webkit [174740] by Simon Fraser
  • 3 edits
    3 adds in trunk

Sometimes can't scroll overflow:scroll areas in subframes
https://bugs.webkit.org/show_bug.cgi?id=137746
rdar://problem/18603560

Reviewed by Tim Horton.

Source/WebCore:

r169733 introduced a regression which caused us to no longer update the non-fast
scrollable region on every layout in subframes, by adding a bogus isMainFrame() check.
Revert to the previous code.

Test: platform/mac-wk2/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout.html

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):

LayoutTests:

Test that changes an overflow size in a subframe and then dumps the non-fast scrollable region.

  • platform/mac-wk2/tiled-drawing/scrolling/frames/resources/layouting-frame.html: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout.html: Added.
12:15 PM Changeset in webkit [174739] by Chris Dumez
  • 21 edits in trunk/Source

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

Reviewed by Darin Adler.

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

Source/WebCore:

No new tests, no behavior change.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::validateTransformOperations):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::getTransformFunctionValue):

  • platform/graphics/transforms/IdentityTransformOperation.h:
  • platform/graphics/transforms/Matrix3DTransformOperation.cpp:

(WebCore::Matrix3DTransformOperation::operator==):

  • platform/graphics/transforms/Matrix3DTransformOperation.h:
  • platform/graphics/transforms/MatrixTransformOperation.cpp:

(WebCore::MatrixTransformOperation::operator==):
(WebCore::MatrixTransformOperation::blend):

  • platform/graphics/transforms/MatrixTransformOperation.h:
  • platform/graphics/transforms/PerspectiveTransformOperation.cpp:

(WebCore::PerspectiveTransformOperation::operator==):
(WebCore::PerspectiveTransformOperation::blend):

  • platform/graphics/transforms/PerspectiveTransformOperation.h:
  • platform/graphics/transforms/RotateTransformOperation.cpp:

(WebCore::RotateTransformOperation::operator==):
(WebCore::RotateTransformOperation::blend):

  • platform/graphics/transforms/RotateTransformOperation.h:
  • platform/graphics/transforms/ScaleTransformOperation.cpp:

(WebCore::ScaleTransformOperation::operator==):
(WebCore::ScaleTransformOperation::blend):

  • platform/graphics/transforms/ScaleTransformOperation.h:
  • platform/graphics/transforms/SkewTransformOperation.cpp:

(WebCore::SkewTransformOperation::operator==):
(WebCore::SkewTransformOperation::blend):

  • platform/graphics/transforms/SkewTransformOperation.h:
  • platform/graphics/transforms/TransformOperation.h:
  • platform/graphics/transforms/TranslateTransformOperation.cpp:

(WebCore::TranslateTransformOperation::operator==):
(WebCore::TranslateTransformOperation::blend):

  • platform/graphics/transforms/TranslateTransformOperation.h:

Source/WebKit2:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<TransformOperations>::encode):

12:04 PM Changeset in webkit [174738] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Rebaselining.

  • css3/flexbox/flex-rounding.html:
11:34 AM Changeset in webkit [174737] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Unskip some subpixel related tests.

  • platform/mac/TestExpectations:
11:04 AM Changeset in webkit [174736] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

css3/flexbox/flex-rounding.html passes now that subpixel is on.

  • platform/mac/TestExpectations:
11:00 AM Changeset in webkit [174735] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

[Mac] Allow some Kerberos related paths in sandbox
https://bugs.webkit.org/show_bug.cgi?id=137666
rdar://problem/17965010

Reviewed by Darin Adler.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
11:00 AM Changeset in webkit [174734] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.4

New tag.

10:58 AM Changeset in webkit [174733] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:36 AM Changeset in webkit [174732] by Chris Dumez
  • 12 edits in trunk/Source

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

Reviewed by Darin Adler.

Use is<>() / downcast<>() for RenderTextControl / RenderTextControlSingleLine.

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::selectedText):
(WebCore::AccessibilityRenderObject::selectedTextRange):
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::visiblePositionForIndex):
(WebCore::AccessibilityRenderObject::indexForVisiblePosition):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleReplacedElement):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerElement::customStyleForRenderer):

  • page/EventHandler.cpp:

(WebCore::EventHandler::capsLockStateMayHaveChanged):

  • page/ios/FrameIOS.mm:

(WebCore::ancestorRespondingToScrollWheelEvents):

  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlSingleLine.h:
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

Source/WebKit/ios:

  • WebCoreSupport/WebVisiblePosition.mm:

(-[DOMHTMLInputElement startPosition]):
(-[DOMHTMLInputElement endPosition]):
(-[DOMHTMLTextAreaElement startPosition]):
(-[DOMHTMLTextAreaElement endPosition]):

10:33 AM Changeset in webkit [174731] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Allow plug-ins to read managed preferences
https://bugs.webkit.org/show_bug.cgi?id=137665
<rdar://problem/18255601>

Reviewed by Darin Adler.

  • Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
10:21 AM Changeset in webkit [174730] by Alan Bujtas
  • 5 edits in trunk/LayoutTests

Subpixel layout: Unskip fast/sub-pixel directory.
https://bugs.webkit.org/show_bug.cgi?id=137732

Reviewed by Simon Fraser.

Unskip tests.

  • TestExpectations:
  • fast/sub-pixel/inline-block-with-padding-expected.txt: minor adjustment.
  • fast/sub-pixel/zoomed-em-border-expected.html: minor adjustment.
  • platform/mac/TestExpectations: we still have to skip couple of tests.
10:13 AM Changeset in webkit [174729] by Chris Dumez
  • 7 edits in trunk/Source/WebCore

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

Reviewed by Mihnea Ovidenie.

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

No new tests, no behavior change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyClipPath::applyValue):

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

(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

10:01 AM Changeset in webkit [174728] by dfarler@apple.com
  • 2 edits in trunk/Tools

[iOS] LayoutTestRelay: Detect broken pipe when reading simulator app's stdout and stderr.
https://bugs.webkit.org/show_bug.cgi?id=137662

Reviewed by Darin Adler.

The layout test harness can close LayoutTestRelay's subprocess
stdout and stderr in the case of a timeout or if a run is
cancelled and the FIFOs are cleaned up. If LayoutTestRelay
finds that no one is listening to its stdout/stderr (broken
pipe), then just exit(1), there is nothing to report.

  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:

(-[LTRelayController didReceiveStdoutData:]):
Add @try/@catch for NSFileHandleOperationException.
(-[LTRelayController didReceiveStderrData:]):
Add @try/@catch for NSFileHandleOperationException.

9:53 AM Changeset in webkit [174727] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Use CFDictionaryContainsKey() in ImageSource::isSizeAvailable()
https://bugs.webkit.org/show_bug.cgi?id=137723

Reviewed by Simon Fraser.

Use CFDictionaryContainsKey() in ImageSource::isSizeAvailable() instead
of CFDictionaryGetValue() as we are not actually interested in the
value.

No new tests, no behavior change.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::isSizeAvailable):

6:37 AM Changeset in webkit [174726] by abucur@adobe.com
  • 2 edits
    6 adds in trunk/PerformanceTests

[Multicol] Start adding performance tests for the multi-column implementation
https://bugs.webkit.org/show_bug.cgi?id=137687

Reviewed by Mihnea Ovidenie.

This patch creates a Multicol folder inside the Layout performance tests suite. It adds only two tests
as described below.

The tests are skipped until the implementation stabilizes.

  • Layout/Multicol/MulticolManyColumns.html: Added.

This test verifies the performance of the multi-column implementation with two nested multi-column
containers, the first having 20 columns and the second 10 columns.

  • Layout/Multicol/MulticolNested.html: Added.

This test verifies the performance of nesting multi-column containers in the presence
of floats.

  • Layout/Multicol/resources/multicol-content-many-columns.html: Added.
  • Layout/Multicol/resources/multicol-content-nested.html: Added.
  • Skipped: Skip the Multicol folder for now.
1:31 AM Changeset in webkit [174725] by mihnea@adobe.com
  • 3 edits in trunk/Source/WebCore

Use modern loops in subtrees selection code
https://bugs.webkit.org/show_bug.cgi?id=137688

Reviewed by Andreas Kling.

No new tests as no change in functionality.

  • rendering/RenderView.cpp:

(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::updateSelectionForSubtrees):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):

  • rendering/RenderView.h:
12:33 AM Changeset in webkit [174724] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser : Add keyboard support for zoom in , zoom out and default zoom in GTK Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=137060

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-10-15
Reviewed by Philippe Normand.

Add keyboard support for zoom in , zoom out and default zoom using 'Ctrl' + '+', 'Ctrl' + '-' and 'Ctrl' + '0' respectively.

  • MiniBrowser/gtk/BrowserWindow.c:

(zoomInCallback):
(zoomOutCallback):
(defaultZoomCallback): Callback for default zoom keyboard support.
(browser_window_init):

Oct 14, 2014:

10:05 PM Changeset in webkit [174723] by gyuyoung.kim@samsung.com
  • 17 edits in trunk/Source

Clean up unnecessary PassOwnPtr.h inclusion
https://bugs.webkit.org/show_bug.cgi?id=137726

Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • API/JSCallbackObject.h: Remove PassOwnPtr.h inclusion.
  • bytecode/DFGExitProfile.cpp: ditto.

Source/WebCore:

No new tests, no behavior changes.

  • dom/Document.h: Remove PassOwnPtr.h inclusion.
  • loader/ResourceBuffer.h: ditto.
  • loader/cocoa/DiskCacheMonitorCocoa.mm: ditto.
  • page/scrolling/AxisScrollSnapOffsets.h: ditto.
  • page/scrolling/ScrollingStateScrollingNode.h: ditto.
  • platform/ColorChooserClient.h: ditto.
  • platform/ScrollableArea.cpp: ditto.
  • platform/ScrollbarThemeClient.h: ditto.
  • platform/SharedBuffer.cpp: ditto.
  • platform/Supplementable.h: ditto.
  • platform/graphics/surfaces/GraphicsSurface.h: ditto.
  • platform/graphics/surfaces/GraphicsSurfaceToken.h: ditto.
  • platform/graphics/win/WKCAImageQueue.cpp: ditto.
  • platform/win/CursorWin.cpp: ditto.
10:01 PM Changeset in webkit [174722] by Chris Dumez
  • 17 edits in trunk/Source/WebCore

Have offsetFromContainer() / offsetFromAncestorContainer() take a RenderElement&
https://bugs.webkit.org/show_bug.cgi?id=137728

Reviewed by Benjamin Poulain.

Have offsetFromContainer() / offsetFromAncestorContainer() take a RenderElement&
instead of a RenderObject*. The argument passed is never null and the type
should be a RenderElement as the argument is a container.

No new tests, no behavior change.

  • editing/htmlediting.cpp:

(WebCore::localCaretRectInRendererForCaretPainting):

  • page/GestureTapHighlighter.cpp:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::pushMappingToContainer):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computeRectForRepaint):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::offsetFromContainer):
(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::pushMappingToContainer):

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

(WebCore::RenderMultiColumnFlowThread::offsetFromContainer):

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

(WebCore::RenderNamedFlowFragment::offsetFromContainer):

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

(WebCore::RenderObject::offsetFromContainer):
(WebCore::RenderObject::offsetFromAncestorContainer):

  • rendering/RenderObject.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::offsetFromContainer):

  • rendering/RenderTableCell.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::convertToPaintingRect):

8:28 PM Changeset in webkit [174721] by jonowells@apple.com
  • 2 edits
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: Add ESLint open source library to the inspector
https://bugs.webkit.org/show_bug.cgi?id=137714

Reviewed by Timothy Hatcher.

This adds the eslint.js external library for static analysis and the necessary license.

6:21 PM Changeset in webkit [174720] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r159208): Crash when clicking scrubber after navigating away/back to video
https://bugs.webkit.org/show_bug.cgi?id=137715

Reviewed by Darin Adler.

Simple null-check of m_player in refreshCachedTime.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime):

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

[WK2][EFL] Fix the problem that threads created by a DispatchQueueEfl are not destroyed
even after the DispatchQueueEfl has been destructed
https://bugs.webkit.org/show_bug.cgi?id=137195

Patch by Joonghun Park <jh718.park@samsung.com> on 2014-10-14
Reviewed by Gyuyoung Kim.

Linux and Unix System's pthreads are created in joinable state by default.
If threads aren't destructed explicitly, it will be still live
until process which created the thread is dead.
Besides it may cause out of capacity range of thread creation in a process.
It is one of hidden defects.
This patch calls detachThread() to detach thread immediately after it is created.
So the thread can be destroyed as soon as the thread's ThreadContext::function()
returns.

  • Platform/efl/DispatchQueueEfl.cpp:

(DispatchQueue::ThreadContext::start):

5:50 PM Changeset in webkit [174718] by rniwa@webkit.org
  • 4 edits
    1 delete in trunk/Websites/perf.webkit.org

Remove unused jobs table
https://bugs.webkit.org/show_bug.cgi?id=137724

Reviewed by Daniel Bates.

Removed jobs table in the database as well as related code.

  • init-database.sql:
  • public/admin/jobs.php: Removed.
  • public/admin/tests.php:
  • public/include/admin-header.php:
5:44 PM Changeset in webkit [174717] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Fix inefficiencies in ResourceResponse::platformLazyInit(InitLevel)
https://bugs.webkit.org/show_bug.cgi?id=137721

Reviewed by Geoffrey Garen.

There were several inefficiencies with the Mac implementation of
ResourceResponse::platformLazyInit(InitLevel):

  1. We end up initializing uncommon fields even if called with 'CommonFieldsOnly' initLevel.
  2. If called with 'AllFields' initLevel (and if currently uninitialized), we end up populating m_httpHeaderFields twice, once with only the common headers, then a second time with ALL the headers. We can skip the common-header case in this case to avoid wasting CPU time.

This patch addresses both inefficiencies and cleans up the code a
little bit to reduce variable scope and to use fast enumeration of
header names.

As a result, we spend almost twice as little time in platformLazyInit()
when loading msn.com (~30ms -> ~18ms).

No new tests, no behavior change.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::platformLazyInit):

5:42 PM Changeset in webkit [174716] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSION (Safari 7.1/8.0): Border-radius and overflow hidden renders incorrectly.
https://bugs.webkit.org/show_bug.cgi?id=137205

Reviewed by Simon Fraser.

Child layer should not reset radius clipping behaviour.

Source/WebCore:

Test: fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

  • fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping-expected.html: Added.
  • fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html: Added.
5:41 PM Changeset in webkit [174715] by Chris Dumez
  • 20 edits in trunk/Source

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

Reviewed by Simon Fraser.

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

Source/WebCore:

No new tests, no behavior change.

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::Highlight::fadeIn):
(WebCore::ServicesOverlayController::Highlight::fadeOut):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::moveOrCopyLayerAnimation):
(WebCore::GraphicsLayerCA::updateAnimations):
(WebCore::GraphicsLayerCA::setAnimationOnLayer):
(WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:

(PlatformCAAnimationMac::copy):
(PlatformCAAnimationMac::copyTimingFunctionFrom):
(PlatformCAAnimationMac::copyFromValueFrom):
(PlatformCAAnimationMac::copyToValueFrom):
(PlatformCAAnimationMac::copyValuesFrom):
(PlatformCAAnimationMac::copyKeyTimesFrom):
(PlatformCAAnimationMac::copyTimingFunctionsFrom):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::addAnimationForKey):

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

(PlatformCAAnimationWin::copy):
(PlatformCAAnimationWin::copyTimingFunctionFrom):
(PlatformCAAnimationWin::copyFromValueFrom):
(PlatformCAAnimationWin::copyToValueFrom):
(PlatformCAAnimationWin::copyValuesFrom):
(PlatformCAAnimationWin::copyKeyTimesFrom):
(PlatformCAAnimationWin::copyTimingFunctionsFrom):

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

(PlatformCALayerWin::addAnimationForKey):

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

Source/WebKit2:

  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(WebKit::PlatformCAAnimationRemote::copy):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionFrom):
(WebKit::PlatformCAAnimationRemote::copyFromValueFrom):
(WebKit::PlatformCAAnimationRemote::copyToValueFrom):
(WebKit::PlatformCAAnimationRemote::copyValuesFrom):
(WebKit::PlatformCAAnimationRemote::copyKeyTimesFrom):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionsFrom):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::addAnimationForKey):
(WebKit::PlatformCALayerRemote::animationStarted):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):

5:29 PM Changeset in webkit [174714] by Chris Dumez
  • 31 edits in trunk/Source/WebCore

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

Reviewed by Darin Adler.

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

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::firstChildInContinuation):

  • editing/SimplifyMarkupCommand.cpp:

(WebCore::SimplifyMarkupCommand::doApply):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):

  • page/FrameView.cpp:

(WebCore::FrameView::paintContents):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
(WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
(WebCore::InlineFlowBox::attachLineBoxToRenderObject):
(WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paint):

  • rendering/InlineIterator.h:

(WebCore::bidiFirstSkippingEmptyInlines):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::inlineElementContinuation):
(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):

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

(WebCore::constructBidiRunsForSegment):
(WebCore::RenderBlockFlow::layoutLineBoxes):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::accumulateInFlowPositionOffsets):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeRemovedFromTree):

  • rendering/RenderElement.h:

(WebCore::RenderElement::dirtyLinesFromChangedChild):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addRegionsOverflowFromChild):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):
(WebCore::RenderInline::updateAlwaysCreateLineBoxes):
(WebCore::RenderInline::clippedOverflowRectForRepaint):

  • rendering/RenderInline.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

  • rendering/RenderLineBoxList.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::insertedIntoTree):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):

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

(WebCore::RenderReplaced::willBeDestroyed):

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::removeAllFromParent):
(WebCore::RenderTextLineBoxes::dirtyRange):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::inlineLogicalWidth):
(WebCore::BreakingContext::handleEmptyInline):

  • rendering/line/LineInlineHeaders.h:

(WebCore::requiresLineBox):
(WebCore::setStaticPositions):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paint):

5:02 PM Changeset in webkit [174713] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r174710.

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

(WebCore::MediaPlayerPrivateAVFoundationCF::createSession):

4:58 PM Changeset in webkit [174712] by mitz@apple.com
  • 10 edits in trunk

URLs that start with http:/// and https:/// lose two slashes when parsed, causing assertion failure and inconsistent behavior
https://bugs.webkit.org/show_bug.cgi?id=137718

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added cases to fast/loader/url-parse-1.html.

  • platform/URL.cpp:

(WebCore::URL::parse): In hierarchical schemes other than file:, ignore any additional
slashes after the :, as prescribed by the authority-ignore-slashes state in the current
URL spec.

LayoutTests:

  • fast/loader/url-parse-1-expected.txt: Updated results.
  • fast/loader/url-parse-1.html: Added a few test cases.
  • fast/url/file-http-base-expected.txt: Updated results.
  • fast/url/host-expected.txt: Ditto.
  • fast/url/invalid-urls-utf8-expected.txt: Ditto.
  • fast/url/relative-expected.txt: Ditto.
  • fast/url/standard-url-expected.txt: Ditto.
4:46 PM Changeset in webkit [174711] by rniwa@webkit.org
  • 9 edits in trunk/Websites/perf.webkit.org

New perf dashboard should have an ability to search commits by a keyword
https://bugs.webkit.org/show_bug.cgi?id=137675

Reviewed by Geoffrey Garen.

/api/commits/ now accepts query parameters to search a commit by a keyword. Its output format changed to
include "authorEmail" and "authorName" directly as columns instead of including an "author" object.
This API change allows fetch_commits_between to generate results without processing Postgres query results.

In the front end side, we've added a search pane in pane controller, and the interactive chart component
now has a concept of highlighted items which is used to indicate commits found by the search pane.

  • public/api/commits.php:

(main): Extract query parameters: keyword, from, and to and use that to fetch appropriate commits.
(fetch_commits_between): Moved some code from main. Now takes a search term as the third argument.
We look for a commit if its author name or email contains the keyword or if its revision matches the keyword.
(format_commit): Renamed from format_commits. Now only formats one commit.

  • public/include/db.php:

(Database::query_and_fetch_all): Now returns array() when the query results is empty (instead of false).

  • public/v2/app.css: Renamed .close-button to .icon-button since it's used by a search button as well.
  • public/v2/app.js:

(App.Pane.searchCommit): Added. Finds the commits by a search term and assigns 'highlightedItems',
which is a hash table that contains highlighted items' measurements' ids as keys.
(App.PaneController.actions.toggleSearch): Toggles the visibility of the search pane. Also sets
the default commit repository.
(App.PaneController.actions.searchCommit): Delegates the work to App.Pane.searchCommit.
(App.InteractiveChartComponent._constructGraphIfPossible): Fixed a bug that we weren't removing old this._dots.
Added the code to initialize this._highlights.
(App.InteractiveChartComponent._updateDimensionsIfNeeded): Updates dimensions of highlight lines.
(App.InteractiveChartComponent._updateHighlightPositions): Added. Ditto.
(App.InteractiveChartComponent._highlightedItemsChanged): Adds vertical lines for highlighted items and deletes
the existing lines for the old highlighted items.
(App.CommitsViewerComponent.commitsChanged): Updated the code per JSON API change mentioned above.
Also fixed a bug that the code tries to update the commits viewer even if the viewer had already been destroyed.

  • public/v2/chart-pane.css: Added style for the search pane and the search button.
  • public/v2/data.js: Turned FetchCommitsForTimeRange into a class: CommitLogs.

(CommitLogs): Added.
(CommitLogs.fetchForTimeRange): Renamed from FetchCommitsForTimeRange. Takes a search term as an argument.
(CommitLogs._cachedCommitsBetween): Extracted from FetchCommitsForTimeRange.
(CommitLogs._cacheConsecutiveCommits): Ditto.
(FetchCommitsForTimeRange._cachedCommitsByRepository): Deleted.
(Measurement.prototype.commitTimeForRepository): Extracted from formattedRevisions.
(Measurement.prototype.formattedRevisions): Uses formattedRevisions. Deleted the unused code for commitTime.

  • public/v2/index.html: Added the search pane and the search button. Also removed the unused attribute binding

for showingDetails since this property is no longer used.

  • public/v2/manifest.js:

(App.Manifest.repositories): Added.
(App.Manifest.repositoriesWithReportedCommits): Ditto. Used by App.PaneController.actions.toggleSearch to find
the default repository to search.
(App.Manifest._fetchedManifest): Populates repositories and repositoriesWithReportedCommits.

4:43 PM Changeset in webkit [174710] by Brent Fulgham
  • 5 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r174698 and r174709.

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

(WebCore::MediaPlayerPrivateAVFoundationCF::supportsKeySystem):
(WebCore::AVFWrapper::shouldWaitForLoadingOfResource):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
4:31 PM Changeset in webkit [174709] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r174698

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

(WebCore::MediaPlayerPrivateAVFoundationCF::createSession):

4:23 PM Changeset in webkit [174708] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r165356): Issues with Japanese text input
https://bugs.webkit.org/show_bug.cgi?id=137719
rdar://problem/18431952
rdar://problem/18483741

Reviewed by Darin Adler.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):

In sync code path, ensure consistent message delivery order by adding
a DispatchMessageEvenWhenWaitingForSyncReply flag. This way, delayed
EditorStateChanged messages won't confuse UI process.

4:17 PM Changeset in webkit [174707] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Re-adding fast/hidpi/image-srcset-relative-svg-canvas.html, as it still fails on bots

3:43 PM Changeset in webkit [174706] by roger_fong@apple.com
  • 2 edits
    43 adds in trunk/LayoutTests

[Windows] Unreviewed gardening following r174585.

  • platform/win/TestExpectations:
  • platform/win/editing/inserting/4960120-1-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-1-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-2-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-3-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-4-expected.png: Added.
  • platform/win/editing/selection/select-across-readonly-input-4-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-5-expected.png: Added.
  • platform/win/editing/selection/select-across-readonly-input-5-expected.txt: Added.
  • platform/win/fast/block/positioning/inline-block-relposition-expected.txt: Added.
  • platform/win/fast/css/resize-corner-tracking-expected.png: Added.
  • platform/win/fast/css/resize-corner-tracking-expected.txt: Added.
  • platform/win/fast/css/text-input-with-webkit-border-radius-expected.txt: Added.
  • platform/win/fast/dom/html-link-element-activation-behavior-url-is-null-expected.txt: Added.
  • platform/win/fast/dynamic/positioned-movement-with-positioned-children-expected.txt: Added.
  • platform/win/fast/events/shadow-event-path-2-expected.txt: Added.
  • platform/win/fast/forms/003-expected.txt: Added.
  • platform/win/fast/forms/004-expected.txt: Added.
  • platform/win/fast/forms/button-default-title-expected.txt: Added.
  • platform/win/fast/forms/button-generated-content-expected.png: Added.
  • platform/win/fast/forms/button-generated-content-expected.txt: Added.
  • platform/win/fast/forms/menulist-clip-expected.png: Added.
  • platform/win/fast/forms/menulist-clip-expected.txt: Added.
  • platform/win/fast/forms/menulist-deselect-update-expected.txt: Added.
  • platform/win/fast/forms/menulist-style-color-expected.png: Added.
  • platform/win/fast/forms/menulist-style-color-expected.txt: Added.
  • platform/win/fast/forms/menulist-width-change-expected.txt: Added.
  • platform/win/fast/forms/option-script-expected.txt: Added.
  • platform/win/fast/forms/option-text-clip-expected.png: Added.
  • platform/win/fast/forms/option-text-clip-expected.txt: Added.
  • platform/win/fast/forms/select-writing-direction-natural-expected.png: Added.
  • platform/win/fast/forms/select-writing-direction-natural-expected.txt: Added.
  • platform/win/fast/forms/textarea-placeholder-visibility-1-expected.txt: Added.
  • platform/win/fast/forms/textarea-placeholder-visibility-2-expected.txt: Added.
  • platform/win/fast/forms/textarea-scrollbar-expected.png: Added.
  • platform/win/fast/forms/textarea-scrollbar-expected.txt: Added.
  • platform/win/fast/repaint/control-clip-expected.png: Added.
  • platform/win/fast/repaint/control-clip-expected.txt: Added.
  • platform/win/fast/repaint/selection-gap-fixed-child-expected.txt: Added.
  • platform/win/fast/repaint/selection-gap-flipped-fixed-child-expected.txt: Added.
  • platform/win/fast/table/append-cells2-expected.txt: Added.
  • platform/win/fast/table/remove-td-display-none-expected.txt: Added.
  • platform/win/fast/text/atsui-rtl-override-selection-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug30559-expected.txt: Added.
3:31 PM Changeset in webkit [174705] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Hide the find indicator when starting a swipe
https://bugs.webkit.org/show_bug.cgi?id=137711

Reviewed by Tim Horton.

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::navigationGestureDidBegin):

3:23 PM Changeset in webkit [174704] by mmaxfield@apple.com
  • 6 edits in trunk/Source

Improve debug description of WAKViews
https://bugs.webkit.org/show_bug.cgi?id=137716

Reviewed by Simon Fraser.

Source/WebCore:

No new tests because there is no behavior change.

  • platform/ios/wak/WAKView.mm:

(-[WAKView description]):

  • platform/ios/wak/WKView.h:
  • platform/ios/wak/WKView.mm:

(WKViewGetOrigin):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _touchEventRegions]): Adding a comment.

2:50 PM Changeset in webkit [174703] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Introduce an isCSSAnimated flag on RenderElement for performance
https://bugs.webkit.org/show_bug.cgi?id=137583

Reviewed by Simon Fraser.

I noticed when profiling the ebay.com page load that isRunningAnimationOnRenderer()
and isRunningAcceleratedAnimationOnRenderer() were called frequently, causing
~4.7 millions m_compositeAnimations HashMap lookups.

This patch introduces an isCSSAnimated flag on RenderElement to return early if
there is no animation on the renderer, thus avoiding HashMap lookups. This reduces
the number of HashMap lookups from ~4.7 millions to ~68k. On my machine, I see
the following performance improvements:

  • isRunning*AnimationOnRenderer() / computeCompositingRequirements()
    • before: ~45ms / ~90ms
    • after: ~4ms / ~30ms

No new tests, no behavior change.

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::clear):
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::isCSSAnimating):
(WebCore::RenderElement::setIsCSSAnimating):

2:33 PM Changeset in webkit [174702] by Simon Fraser
  • 2 edits in trunk/Tools

[Mac] DRT stderr logging after the test completes gets attributed to the next test

Reviewed by Alexey Proskuryakov.

DRT would send "#EOF" to stderr just after doing so to stdout, which cause any later
logging to stderr to get associated with the next test.

Fix by logging #EOF to stderr later, after we've completely finished with this test.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(dumpTestResults):
(runTest):

2:33 PM Changeset in webkit [174701] by Simon Fraser
  • 30 edits in trunk/LayoutTests

Rebaseline some compositing tests that are sensitive to the visible rect, and skip
tests that rely on media loading.

  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/compositing/columns/hittest-composited-in-paginated-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/animating-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/rounded-contents-scale-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/scaled-ancestor-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/simple-scale-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/z-translate-expected.txt:
  • platform/ios-simulator/compositing/geometry/partial-layout-update-expected.txt:
  • platform/ios-simulator/compositing/geometry/root-layer-update-expected.txt:
  • platform/ios-simulator/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.txt:
  • platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
  • platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
  • platform/ios-simulator/compositing/overflow/overflow-positioning-expected.txt:
  • platform/ios-simulator/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/ios-simulator/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/ios-simulator/compositing/tiling/tile-cache-zoomed-expected.txt:
  • platform/ios-simulator/compositing/tiling/tiled-layer-resize-expected.txt:
  • platform/ios-simulator/compositing/transitions/singular-scale-transition-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/2d-transformed-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/3d-transform-style-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/3d-transformed-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/animated-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/animated-from-none-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/clipped-by-viewport-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/clipped-visible-rect-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/flipped-preserve-3d-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/iframe-and-layers-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/nested-transform-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/scrolled-expected.txt:
1:59 PM Changeset in webkit [174700] by dino@apple.com
  • 11 edits in trunk/Source/WebCore

Crash in WebCore::UserGestureIndicator::processingUserGesture with WebWorkers
https://bugs.webkit.org/show_bug.cgi?id=137676
<rdar://problem/15735049>

Reviewed by Alexey Proskuryakov.

Remove the code I added that tracks the timestamp of the most recent
user gesture from the event handling dispatch, as it was both
a silly place to do it and it originally crashed when events were fired from
Worker threads (although this was fixed in r152238).

It's now recorded by going through UserGestureIndicator, which is good because
it knows when a user has triggered an event. Its constructor now takes
a pointer to Document, and updates the timestamp there if necessary.

Not all UserGestureIndicator instances needed to reset the timestamp; Those did
not have to pass along the Document.

This is untestable due to the fix mentioned above.

  • WebCore.exp.in: Change constructor signature.
  • accessibility/AccessibilityNodeObject.cpp: Pass a pointer to the Document into the UserGestureIndicator.

(WebCore::AccessibilityNodeObject::increment):
(WebCore::AccessibilityNodeObject::decrement):

  • accessibility/AccessibilityObject.cpp: Ditto.

(WebCore::AccessibilityObject::press):

  • dom/Document.cpp:

(WebCore::Document::updateLastHandledUserGestureTimestamp): Renamed.

  • dom/Document.h:
  • dom/EventTarget.cpp: Remove the code to update the timestamp.

(WebCore::EventTarget::fireEventListeners):

  • dom/UserGestureIndicator.cpp:

(WebCore::UserGestureIndicator::UserGestureIndicator): If there is a Document and
this is a user gesture, then reset the timestamp.

  • dom/UserGestureIndicator.h:
  • page/EventHandler.cpp: Pass a pointer to the Document.

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTouchEvent):

  • rendering/HitTestResult.cpp: Ditto.

(WebCore::HitTestResult::toggleMediaFullscreenState):
(WebCore::HitTestResult::enterFullscreenForVideo):

1:36 PM Changeset in webkit [174699] by Brent Fulgham
  • 11 edits in trunk

Source/JavaScriptCore:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

Source/WebCore:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

  • WebCore.vcxproj: Modified property svn:ignore.

Source/WebKit:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

  • WebKit.vcxproj: Modified property svn:ignore.

Source/WTF:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

  • WTF.vcxproj: Modified property svn:ignore.

Tools:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf temporary files.

  • DumpRenderTree/DumpRenderTree.vcxproj: Modified property svn:ignore.
1:09 PM Changeset in webkit [174698] by Brent Fulgham
  • 5 edits in trunk

[Win] Enable Encrypted Media Support
https://bugs.webkit.org/show_bug.cgi?id=137710
<rdar://problem/18652699>

Reviewed by Jer Noble.

Source/WebCore:

This feature is covered by existing media tests.

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

(WebCore::destroyAVFWrapper): Remove redundant ASSERT.

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

(displayOnMainThreadContext::displayOnMainThreadContext): Added.
(redispatchOnMainQueue): Added.
(PlatformCALayerWinInternal::displayCallback): Check if a display
call is happening on a background queue, and re-dispatch on the
main thread if necessary.

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props: Activate the

ENCRYPTED_MEDIA_V2 flag on Windows.

12:30 PM Changeset in webkit [174697] by jdiggs@igalia.com
  • 6 edits in trunk/LayoutTests

REGRESSION(r174567): [GTK] Layout Tests platform/gtk/accessibility/aria-table-hierarchy.html and platform/gtk/accessibility/table-hierarchy.html fail
https://bugs.webkit.org/show_bug.cgi?id=137697

These tests were overlooked when updating tests to reflect the correct
mapping for ColumnHeaderRole and RowHeaderRole in ATK.

Reviewed by Chris Fleizach.

  • platform/gtk/TestExpectations: Remove two failing tests.
  • platform/gtk/accessibility/aria-table-hierarchy-expected.txt: Updated expectations.
  • platform/gtk/accessibility/aria-table-hierarchy.html: Updated in-test shouldBe values for headers.
  • platform/gtk/accessibility/table-hierarchy-expected.txt: Updated expectations.
  • platform/gtk/accessibility/table-hierarchy.html: Updated in-test shouldBe values for headers.
12:29 PM Changeset in webkit [174696] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: paint flashing mode should be disabled when remote inspecting legacy iOS versions
https://bugs.webkit.org/show_bug.cgi?id=137575

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-14
Reviewed by Simon Fraser.

Remove setShowPaintRects from the legacy iOS protocol definitions.
The methods were unimplemented by the backends, so they should
not advertise supporting it.

  • UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-6.0.json:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/InspectorWeb-iOS-8.0.json:
12:24 PM Changeset in webkit [174695] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Avoid unnecessary dictionary lookup in ImageSource::isSizeAvailable()
https://bugs.webkit.org/show_bug.cgi?id=137701

Reviewed by Simon Fraser.

The CG implementation of ImageSource::isSizeAvailable() was looking up
both the width and the height keys in the dictionary before determining
if the size is available. We can abort early and return false if the
first key (the width) is missing, thus avoiding an extra dictionary
lookup in this case.

This is a small win but ImageSource::isSizeAvailable() is called quite
frequently during page loads

No new tests, no behavior change.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::isSizeAvailable):

12:22 PM Changeset in webkit [174694] by mmirman@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Removes references to LLVMJIT which is no longer part of LLVM
https://bugs.webkit.org/show_bug.cgi?id=137708

Reviewed by Filip Pizlo.

  • Configurations/LLVMForJSC.xcconfig: removed -lLLVMJIT
  • llvm/LLVMAPIFunctions.h: removed LinkInJIT
12:12 PM Changeset in webkit [174693] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[cmake] Fix the make build after r174683
https://bugs.webkit.org/show_bug.cgi?id=137703

Reviewed by Martin Robinson.

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject):

11:36 AM Changeset in webkit [174692] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit/win

[Windows] Add some logging to debug random crashing when running layout tests on Windows.

  • WebActionPropertyBag.cpp:

(WebActionPropertyBag::Read):

11:32 AM Changeset in webkit [174691] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Remove unnecessary logging from SimpleFontData
https://bugs.webkit.org/show_bug.cgi?id=137699

Reviewed by Andreas Kling.

Because of web fonts, fonts that don't have a glyph page 0 are common and expected. Printing out a
message is not helpful, especially if you're not dealing with a font-related piece of WebKit.

No new tests because there is no behavior change.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::platformGlyphInit):

11:24 AM Changeset in webkit [174690] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Adding myself to the watchlist to CachedFont

Unreviewed.

  • Scripts/webkitpy/common/config/watchlist:
11:05 AM Changeset in webkit [174689] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Addressing post-review comment.
https://bugs.webkit.org/show_bug.cgi?id=137550

Unreviewed.

  • WebView/WebHTMLView.mm:

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

10:57 AM Changeset in webkit [174688] by mhock@apple.com
  • 2 edits in trunk/Source/WebCore

Update ViewportConfiguration whenever its size attributes change
https://bugs.webkit.org/show_bug.cgi?id=137682
rdar://problem/18643655

Reviewed by Benjamin Poulain.

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::setMinimumLayoutSize):
(WebCore::ViewportConfiguration::setMinimumLayoutSizeForMinimalUI):

10:53 AM Changeset in webkit [174687] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Web Inspector: Processing Instruction Nodes appear poorly in DOM Tree
https://bugs.webkit.org/show_bug.cgi?id=137681

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

Source/WebCore:

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):
Include the nodeName, localName, and nodeValue (string data)
properties for processing instruction nodes.

Source/WebInspectorUI:

Handle processing instruction node types in more places. The
backend sends the contents as a pure string, not as attribute
pairs, so just include the string in the UI.

  • UserInterface/Models/DOMSearchMatchObject.js:

(WebInspector.DOMSearchMatchObject.prototype._generateClassName):
(WebInspector.DOMSearchMatchObject.titleForDOMNode):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
Display the value in the UI.

  • UserInterface/Views/DOMTreeElementPathComponent.js:

(WebInspector.DOMTreeElementPathComponent):
Include an icon like DOCTYPE.

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.syntax-highlighted .html-processing-instruction):
Style gray like a DOCTYPE.

10:31 AM Changeset in webkit [174686] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

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

Reviewed by Darin Adler.

Use is<>() / downcast<>() for RenderFrame / RenderFrameSet.

No new tests, no behavior change.

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::defaultEventHandler):

  • rendering/RenderFrame.cpp:

(WebCore::RenderFrame::updateFromElement):

  • rendering/RenderFrame.h:
  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::computeEdgeInfo):
(WebCore::RenderFrameSet::positionFramesWithFlattening):

  • rendering/RenderFrameSet.h:
10:29 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:18 AM Changeset in webkit [174685] by clopez@igalia.com
  • 13 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Report new failures and update expectations.
  • platform/gtk/css3/selectors3/html/css3-modsel-61-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/html/css3-modsel-83-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-61-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-83-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/xml/css3-modsel-61-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/xml/css3-modsel-83-expected.txt: Rebaseline after r174535.
  • platform/gtk/fast/borders/bidi-002-expected.txt: Rebaseline after r174160.
  • platform/gtk/fast/borders/bidi-009a-expected.txt: Rebaseline after r174160.
  • platform/gtk/fast/selectors/061-expected.txt: Rebaseline after r174535.
  • platform/gtk/fast/selectors/083-expected.txt: Rebaseline after r174535.
  • platform/gtk/mathml/opentype/horizontal-expected.txt: Rebaseline after r174540.
10:10 AM Changeset in webkit [174684] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[XHR] Abort method execution when m_loader->cancel() in internalAbort() caused reentry
https://bugs.webkit.org/show_bug.cgi?id=126975

Patch by Youenn Fablet <youennf@gmail.com> on 2014-10-14
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Merging https://chromium.googlesource.com/chromium/blink/+/0d75daf2053631518606ae15daaece701a25b2c4
Ensuring new test from https://codereview.chromium.org/76133002/ is passing.

Test: http/tests/xmlhttprequest/reentrant-cancel-abort.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::open): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::abort): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::internalAbort): ask calling function to exit early if a new loader is created during the cancellation of the loader (potential reentrant case through window.onload callback)
(WebCore::XMLHttpRequest::didTimeout): exit early if internalAbort asks so

  • xml/XMLHttpRequest.h:

LayoutTests:

Adding reentrant-cancel-abort.html (from https://codereview.chromium.org/76133002/)
that crashes without the patch
Updated reentrant-cancel.html test to expect the exception
that is now hit in initSend function (since a XHR open() call is aborted)

  • http/tests/xmlhttprequest/reentrant-cancel-abort-expected.txt: Added.
  • http/tests/xmlhttprequest/reentrant-cancel-abort.html: Added.
  • http/tests/xmlhttprequest/reentrant-cancel.html:
9:42 AM Changeset in webkit [174683] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[EFL][GTK] Make it possible to get verbose output with ninja
https://bugs.webkit.org/show_bug.cgi?id=137606

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject):

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

[Win32] Thunk is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=137691

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

Thunks for functions with double operands (floor, etc.) are not implemented on Win32.

  • jit/ThunkGenerators.cpp:
9:03 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:09 AM Changeset in webkit [174681] by evab.u-szeged@partner.samsung.com
  • 3 edits in trunk/Tools

[EFL] Make it possible to use ninja for EFL build too
https://bugs.webkit.org/show_bug.cgi?id=137605

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitdirs.pm:

(generateBuildSystemFromCMakeProject):

  • efl/install-dependencies:
3:56 AM Changeset in webkit [174680] by alex
  • 1 edit
    2 adds in trunk/LayoutTests

Add test to check stretchy value is case sensitive
https://bugs.webkit.org/show_bug.cgi?id=137602

Reviewed by Darin Adler.

  • mathml/presentation/mo-stretchy-case-sensitive-expected.html: Added.
  • mathml/presentation/mo-stretchy-case-sensitive.html: Added.
3:49 AM Changeset in webkit [174679] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

[GTK] Minibrowser : Add home buton and keyboard support for home page load
https://bugs.webkit.org/show_bug.cgi?id=137486

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-10-14
Reviewed by Philippe Normand.

  • MiniBrowser/gtk/BrowserWindow.c:

(loadHomePage): Callback for home page load.
(browser_window_init):

  • MiniBrowser/gtk/BrowserWindow.h:
  • MiniBrowser/gtk/main.c:

(main):

3:05 AM Changeset in webkit [174678] by alex
  • 5 edits in trunk/Source/WebCore

Multiple refactors in RenderMathMLOperator
https://bugs.webkit.org/show_bug.cgi?id=137611

Reviewed by Darin Adler.

The changes include:

  • Rename m_operator to m_textContent.
  • Make most of the functions private, we needed to create some

public member functions to be able to make the some funtions private
and move trailingSpaceError to RenderMathMLOperator.

  • Fix incorrect capitalization of setOperatorProperties function.
  • Make all data members private and move them to the end of the

class defition.

No new tests as no change in functionality.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::setOperatorProperties): Renamed,
incorrect capitalization
(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLOperator::rebuildTokenContent):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::updateOperatorProperties):
(WebCore::RenderMathMLOperator::shouldAllowStretching):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::trailingSpaceError):
(WebCore::RenderMathMLOperator::SetOperatorProperties): Deleted.
(WebCore::RenderMathMLOperator::advanceForGlyph): Deleted.
(WebCore::RenderMathMLOperator::updateTokenContent): Deleted.
(WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack): Deleted.

  • rendering/mathml/RenderMathMLOperator.h:

(WebCore::RenderMathMLOperator::setLeadingSpace): Added.
(WebCore::RenderMathMLOperator::setTrailingSpace): Added.
(WebCore::RenderMathMLOperator::textContent): Added.
(WebCore::RenderMathMLOperator::isInvisibleOperator):

  • rendering/mathml/RenderMathMLRadicalOperator.cpp:

(WebCore::RenderMathMLRadicalOperator::setOperatorProperties):
Renamed, incorrect capitalization
(WebCore::RenderMathMLRadicalOperator::SetOperatorProperties): Deleted.
(WebCore::RenderMathMLRadicalOperator::trailingSpaceError): Deleted.

  • rendering/mathml/RenderMathMLRadicalOperator.h:
2:53 AM Changeset in webkit [174677] by alex
  • 6 edits in trunk

Changes in the stretchy attribute do not update rendering
https://bugs.webkit.org/show_bug.cgi?id=136883

Reviewed by Darin Adler.

Source/WebCore:

Test: mathml/presentation/mo-stretch-update.html

We need to relayout when a change in the stretchy attribute
happens.

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::parseAttribute): Parse the
modifications of the stretchy attribute.

  • mathml/MathMLTextElement.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::setOperatorFlagAndScheduleLayoutIfNeeded):
Add function that receives the value instead of looking for it and
checks if the change should schedule a layout.
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttributeValue):
Add function that receives the value instead of looking for it.

  • rendering/mathml/RenderMathMLOperator.h:

LayoutTests:

The test updates the stretchy value in a timeout.

  • mathml/presentation/mo-stretch-update-expected.html: Added.
  • mathml/presentation/mo-stretch-update.html: Added.
2:07 AM Changeset in webkit [174676] by Chris Dumez
  • 31 edits in trunk/Source

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

Reviewed by Mihnea Ovidenie.

Use is<>() / downcast<>() for RenderImage.

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::alternativeText):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::addImageMapChildren):
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):

  • bindings/objc/DOM.mm:

(-[DOMElement image]):
(-[DOMElement _imageTIFFRepresentation]):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleReplacedElement):

  • editing/cocoa/HTMLConverter.mm:

(fileWrapperForElement):

  • editing/gtk/EditorGtk.cpp:

(WebCore::getImageForElement):

  • editing/ios/EditorIOS.mm:

(WebCore::getImage):

  • editing/mac/EditorMac.mm:

(WebCore::getImage):

  • html/HTMLAnchorElement.cpp:

(WebCore::appendServerMapMousePosition):

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::setFocus):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
(WebCore::HTMLImageElement::createImageControls):
(WebCore::HTMLImageElement::destroyImageControls):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::didAttachRenderers):
(WebCore::HTMLVideoElement::parseAttribute):

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::altAttributeChanged):
(WebCore::ImageInputType::attach):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::size):

  • html/shadow/mac/ImageControlsRootElementMac.cpp:

(WebCore::RenderImageControls::updateLogicalWidth):
(WebCore::RenderImageControls::computeLogicalHeight):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::renderImageResource):

  • page/ContextMenuController.cpp:

(WebCore::imageFromImageElementNode):

  • page/DragController.cpp:

(WebCore::getCachedImage):
(WebCore::getImage):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::writeImage):
(WebCore::getCachedImage):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::image):

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

(WebCore::RenderImageResource::getImageSize):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isDirectlyCompositedImage):
(WebCore::RenderLayerBacking::updateImageContents):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::createShapeForImage):

Source/WebKit/mac:

  • Misc/WebNSPasteboardExtras.mm:

(imageFromElement):
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::cachedImage):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performActionOnElement):

1:18 AM Changeset in webkit [174675] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

[AX] Improve AccessibilityTableCell columnHeaders and rowHeaders functions.
https://bugs.webkit.org/show_bug.cgi?id=136818

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-10-14
Reviewed by Chris Fleizach.

Source/WebCore:

Take into account that <th> elements can be both the column headers and row headers
improved the operation of two functions: columnHeaders and rowHeaders.

Test: accessibility/table-headers.html

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::isColumnHeaderCell):
A new function that helps the main goal.
(WebCore::AccessibilityTableCell::isRowHeaderCell):
A new function that helps the main goal.
(WebCore::AccessibilityTableCell::columnHeaders):
Use isColumnHeaderCell instead of isTableHeaderCell.
(WebCore::AccessibilityTableCell::rowHeaders):
Use isRowHeaderCell also includes <th> row header element next to the scope attribute.

  • accessibility/AccessibilityTableCell.h:

Adds new functions to the header file.

LayoutTests:

  • accessibility/table-headers-expected.txt: Added.
  • accessibility/table-headers.html: Added.
  • platform/mac/accessibility/table-attributes-expected.txt:
  • platform/mac/accessibility/table-cells-expected.txt:
  • platform/mac/accessibility/table-sections-expected.txt:
1:14 AM Changeset in webkit [174674] by Csaba Osztrogonác
  • 5 edits in trunk/Source/WebCore

Fix the !ENABLE(VIDEO) build after r174353
https://bugs.webkit.org/show_bug.cgi?id=137655

Reviewed by Darin Adler.

  • dom/Document.cpp:
  • dom/Document.h:
  • page/Page.cpp:
  • page/Page.h:
1:11 AM Changeset in webkit [174673] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Curl] Compile error in CurlDownload.cpp.
https://bugs.webkit.org/show_bug.cgi?id=137654

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-10-14
Reviewed by Philippe Normand.

A template specialization is not needed anymore.

  • platform/network/curl/CurlDownload.cpp:
1:08 AM Changeset in webkit [174672] by Manuel Rego Casasnovas
  • 4 edits in trunk/Tools

import-w3c-tests doesn't prefix property values
https://bugs.webkit.org/show_bug.cgi?id=137600

Reviewed by Bem Jones-Bey.

Some property values are prefixed in WebKit. Modified the W3C import
script in order to prefix property values and not only properties.
The patch re-uses most of the already existent logic to prefix
properties.

  • Scripts/webkitpy/w3c/test_converter.py: Read prefixed property values

from CSSValueKeywords.in and adapt converter to modify both properties
and property values.
(convert_for_webkit):
(_W3CTestConverter.init):
(_W3CTestConverter.output):
(_W3CTestConverter.read_webkit_prefixed_css_property_list):
(_W3CTestConverter):
(_W3CTestConverter.add_webkit_prefix_to_unprefixed_properties_and_values):
(_W3CTestConverter.add_webkit_prefix_following_regex):
(_W3CTestConverter.convert_reference_relpaths):
(_W3CTestConverter.convert_style_data):
(_W3CTestConverter.convert_attributes_if_needed):
(_W3CTestConverter.add_webkit_prefix_to_unprefixed_properties): Deleted.

  • Scripts/webkitpy/w3c/test_converter_unittest.py: Updated unit test to

include checks for property values too.
(W3CTestConverterTest.test_read_prefixed_property_list):
(verify_no_conversion_happened):
(verify_prefixed_properties):
(verify_prefixed_property_values):
(generate_test_content_properties_and_values):
(generate_test_content):

  • Scripts/webkitpy/w3c/test_importer.py: Modified importer to manage

prefixed property values and inform about them.
(TestImporter.import_tests):
(TestImporter.write_import_log):

Oct 13, 2014:

11:58 PM Changeset in webkit [174671] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK][CMake] Non-ninja build is broken since r174422
https://bugs.webkit.org/show_bug.cgi?id=137656

Reviewed by Philippe Normand.

Make WebKit2-forwarding-headers depend only on static,
non-generated sources.

  • CMakeLists.txt:
  • PlatformGTK.cmake:
9:43 PM Changeset in webkit [174670] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Paint Flashing button does not match page state after reload
https://bugs.webkit.org/show_bug.cgi?id=137680

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

  • UserInterface/Base/Main.js:

(WebInspector.loaded):
Make paint flashing a frontend setting. Enable it when the inspector
is opened if it was previously enabled.

  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype._togglePaintFlashing):
(WebInspector.DOMTreeContentView.prototype._showPaintRectsSettingChanged):
Have the paint flashing button always match the global setting.

6:31 PM Changeset in webkit [174669] by benjamin@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Add test coverage for the more complex cases of :not()
https://bugs.webkit.org/show_bug.cgi?id=137671

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

Those tests cover the future CSS JIT support of :not(). I'll to the implementation
split over multiple patch, better put the tests first.

  • fast/selectors/not-backtracking-expected.txt: Added.
  • fast/selectors/not-backtracking.html: Added.
  • fast/selectors/not-boundaries-expected.txt: Added.
  • fast/selectors/not-boundaries.html: Added.
6:30 PM Changeset in webkit [174668] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Source/WebCore:
Web Inspector: Remove unused stale Page protocol methods
https://bugs.webkit.org/show_bug.cgi?id=137678

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-13
Reviewed by Andreas Kling.

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::canShowDebugBorders): Deleted.
(WebCore::InspectorClient::setShowDebugBorders): Deleted.
(WebCore::InspectorClient::canShowFPSCounter): Deleted.
(WebCore::InspectorClient::setShowFPSCounter): Deleted.
(WebCore::InspectorClient::canContinuouslyPaint): Deleted.
(WebCore::InspectorClient::setContinuousPaintingEnabled): Deleted.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::canShowDebugBorders): Deleted.
(WebCore::InspectorPageAgent::setShowDebugBorders): Deleted.
(WebCore::InspectorPageAgent::canShowFPSCounter): Deleted.
(WebCore::InspectorPageAgent::setShowFPSCounter): Deleted.
(WebCore::InspectorPageAgent::canContinuouslyPaint): Deleted.
(WebCore::InspectorPageAgent::setContinuousPaintingEnabled): Deleted.

  • inspector/InspectorPageAgent.h:
  • inspector/protocol/Page.json:

Source/WebInspectorUI:
Web Inspector: Improve appearance of alpha color swatches
https://bugs.webkit.org/show_bug.cgi?id=137627

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-13
Reviewed by Andreas Kling.

  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/InspectorWeb-iOS-8.0.json:
6:16 PM Changeset in webkit [174667] by jer.noble@apple.com
  • 2 edits in trunk/Tools

MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=137533

Reviewed by Andy Estes.

Follow up patch; bail out of the test early (without failing) if the platform does not support MSE.

  • TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:

(TestWebKitAPI::isMSEEnabledCallback):
(TestWebKitAPI::TEST):

5:22 PM Changeset in webkit [174666] by eric.carlson@apple.com
  • 11 edits in trunk/Source/WebCore

[iOS] Refactor AirPlay monitoring code
https://bugs.webkit.org/show_bug.cgi?id=137645
<rdar://problem/18444817>

Reviewed by Jer Noble.

Refactor AirPlay route change monitoring code:
+ Have MediaSessionManager register/unregister for route changes depending on the state of

all sessions so it does the right thing when there is more than one media element.

+ Make HTMLMediaElement unregister with MediaSession as soon as the media player is cleared

because there can be no wireless playback without a player.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement): Call mediaSession->setHasPlaybackTargetAvailabilityListeners

when there are target availability changed listeners.

(WebCore::HTMLMediaElement::clearMediaPlayer): Ditto.
(WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange): New, media session client method.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::HTMLMediaSession): Initialize m_hasPlaybackTargetAvailabilityListeners.
(WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Remember whether or not

the client has a target availability listener and tell the media session manager to reconfigure
itself instead of telling it to start or stop listening for route changes so it does the
right thing when there is more than one media element.

  • html/HTMLMediaSession.h:

(WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Return true when the client

has a target availability listener, false otherwise.

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::wirelessRoutesAvailableDidChange): Inform the client that routes have changed.

  • platform/audio/MediaSession.h:

(WebCore::MediaSession::requiresPlaybackTargetRouteMonitoring):
(WebCore::MediaSessionClient::wirelessRoutesAvailableDidChange):

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::wirelessRoutesAvailableChanged): Implement it.

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManager::configureWireLessTargetMonitoring):
(WebCore::MediaSessionManager::hasWirelessTargetsAvailable):
(WebCore::MediaSessionManager::sessions):
(WebCore::MediaSessionManager::startMonitoringAirPlayRoutes): Deleted.
(WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes): Deleted.

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring): Start or stop monitoring

for route changes depending on client state.

(WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes): Deleted.
(WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes): Deleted.

4:46 PM Changeset in webkit [174665] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Return value of createImageSourceOptions() is leaked in ImageSourceCG
https://bugs.webkit.org/show_bug.cgi?id=137677

Reviewed by Simon Fraser.

The return value of createImageSourceOptions() was leaked in
ImageSourceCG.cpp. It was returning a CFDictionaryRef created using
CFDictionaryCreate(). Therefore, the return value should have been
released but wasn't.

This patch makes createImageSourceOptions() return a
RetainPtr<CFDictionaryRef> to make sure the CFDictionaryRef properly
gets released after use.

No new tests, no behavior change.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::createImageSourceOptions):
(WebCore::imageSourceOptions):
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::orientationAtIndex):
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):

4:10 PM Changeset in webkit [174664] by Brent Fulgham
  • 15 edits
    4 adds in trunk

[Win] Implement a page load profiling tool
https://bugs.webkit.org/show_bug.cgi?id=137673

Reviewed by Dean Jackson.

Source/WebKit/win:

Add a new predicate (isMainFrame) to the IWebFrame interface so
that we can make decisions about a frames position in the page
load hierarchy in client programs.

  • Interfaces/IWebFrame.idl: Added new isMainFrame

predicate to interface definition.

  • WebFrame.cpp:

(WebFrame::isMainFrame): Added.

  • WebFrame.h:

Tools:

Add a tool to capture and summarize page load statistics.

  • WinLauncher/Common.cpp:

(parseCommandLine): Move from WinMain.cpp so that it can
be shared with internal tools.

  • WinLauncher/PageLoadTestClient.cpp: Added.

(PageLoadTestClient::PageLoadTestClient):
(PageLoadTestClient::pageLoadStartedAtTime):
(PageLoadTestClient::didStartProvisionalLoad):
(PageLoadTestClient::didCommitLoad):
(PageLoadTestClient::didFirstLayoutForMainFrame):
(PageLoadTestClient::didHandleOnLoadEvents):
(PageLoadTestClient::didFinishLoad):
(PageLoadTestClient::didFailLoad):
(PageLoadTestClient::didInitiateResourceLoad):
(PageLoadTestClient::didEndResourceLoad):
(PageLoadTestClient::pageLoadEndedAtTime):
(PageLoadTestClient::endPageLoad):
(PageLoadTestClient::clearPageLoadState):
(PageLoadTestClient::shouldConsiderPageLoadEnded):
(PageLoadTestClient::maybeEndPageLoadSoon):
(PageLoadTestClient::setPageURL):
(PageLoadTestClient::dumpRunStatistics):

  • WinLauncher/PrintWebUIDelegate.cpp:

(PrintWebUIDelegate::createWebViewWithRequest): Handle
nullptr URL properly.

  • WinLauncher/ResourceLoadDelegate.cpp: Added.

(ResourceLoadDelegate::QueryInterface):
(ResourceLoadDelegate::AddRef):
(ResourceLoadDelegate::Release):
(ResourceLoadDelegate::identifierForInitialRequest):
(ResourceLoadDelegate::willSendRequest):
(ResourceLoadDelegate::didReceiveAuthenticationChallenge):
(ResourceLoadDelegate::didCancelAuthenticationChallenge):
(ResourceLoadDelegate::didReceiveResponse):
(ResourceLoadDelegate::didReceiveContentLength):
(ResourceLoadDelegate::didFinishLoadingFromDataSource):
(ResourceLoadDelegate::didFailLoadingWithError):
(ResourceLoadDelegate::plugInFailedWithError):

  • WinLauncher/ResourceLoadDelegate.h: Added.

(ResourceLoadDelegate::ResourceLoadDelegate):

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::WinLauncher): Accept argument to indicate we want to capture
page loading statistics.
(WinLauncher::setFrameLoadDelegatePrivate): Get rid of stub implementation
and set private load delegate state.
(WinLauncher::setResourceLoadDelegate): Replace stub with a full implementation
that sets the view's resource load delegate.
(WinLauncher::loadURL): If no URL is passed, load the test document.

  • WinLauncher/WinLauncher.h:

(WinLauncher::pageLoadTestClient):

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj: Updated for new source files.
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters: Ditto.
  • WinLauncher/WinLauncherWebHost.cpp:

(WinLauncherWebHost::updateAddressBar): Hook into page load statistics routine.
(WinLauncherWebHost::loadURL): Moved 'SendMessage' call to its own method so that
it could be used from other source files.
(WinLauncherWebHost::didFinishLoadForFrame): Added overload to capture statistics.
(WinLauncherWebHost::didStartProvisionalLoadForFrame): Ditto.
(WinLauncherWebHost::didFailLoadWithError): Ditto.
(WinLauncherWebHost::didHandleOnloadEventsForFrame): Ditto.
(WinLauncherWebHost::didFirstLayoutInFrame): Ditto.
(WinLauncherWebHost::didFinishDocumentLoadForFrame): Ditto.
(WinLauncherWebHost::didFirstVisuallyNonEmptyLayoutInFrame): Ditto.
(WinLauncherWebHost::didStartProvisionalLoadForFrame): Deleted.

  • WinLauncher/WinLauncherWebHost.h:
  • WinLauncher/WinMain.cpp:

(wWinMain): Create and use new delegates for gathering page load data.

  • WinLauncher/stdafx.h: Need to add <wtf/Platform> include for various macros used in build.
3:46 PM Changeset in webkit [174663] by Yusuke Suzuki
  • 7 edits
    2 adds in trunk

CSS JIT: Implement :visited pseudo class
https://bugs.webkit.org/show_bug.cgi?id=135293

Reviewed by Benjamin Poulain.

Source/WebCore:

This patch implements CSS JIT for :visited. And it makes :not(:link) JIT-ed.
Following the design discussed at the other bug[1], implemented :visited JIT
without tracking VisitedMatchEnabled state.

In this patch, we change the semantics of :visited / :link
inside functional pseudo classes for further CSS Selector Level 4 extensions.

Edge cases are tested by the existing tests.
:not(:link)

fast/history/link-inside-not.html

:not(:visited)

fast/history/visited-inside-not.html

:-webkit-any(:link)

fast/history/link-inside-any.html

:-webkit-any(:visited)

fast/history/visited-inside-any.html

[1]: https://bugs.webkit.org/show_bug.cgi?id=135639

Test: fast/history/link-inside-not-inside-any.html

To cover the :-webkit-any(:not(:link)), added new tests.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorCheckerExcludingPseudoElements):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateRightmostTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstLink):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateStoreLastVisitedElement):

LayoutTests:

To cover the :-webkit-any(:not(:link)), added new tests.

  • TestExpectations:
  • fast/history/link-inside-not-expected.txt:
  • fast/history/link-inside-not-inside-any-expected.txt: Added.
  • fast/history/link-inside-not-inside-any.html: Added.
  • fast/history/link-inside-not.html:
3:44 PM Changeset in webkit [174662] by Simon Fraser
  • 5 edits in trunk

Improve the test image diffs page
https://bugs.webkit.org/show_bug.cgi?id=137674

Reviewed by Alexey Proskuryakov.

Tools:

Don't treat the input file as a format string, otherwise we have to escape special
characters. Just do a couple of replaces.

  • Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:

(TestResultWriter.write_image_diff_files):

LayoutTests:

New version of the image diff page that has the diff images in-place, and allows
for control of the image toggling.

  • fast/harness/image-diff-template-expected.txt:
  • fast/harness/image-diff-template.html:
3:35 PM Changeset in webkit [174661] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Use modern loops in RenderLayerCompositor
https://bugs.webkit.org/show_bug.cgi?id=137670

Reviewed by Simon Fraser.

Use modern range for-loops in RenderLayerCompositor.

No new tests, no behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::OverlapMapContainer::overlapsLayers):
(WebCore::RenderLayerCompositor::OverlapMap::RectList::intersects):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayersAfterFlush):
(WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTreeForNamedFlowFixed):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::resetTrackedRepaintRectsRecursive):
(WebCore::RenderLayerCompositor::layerHas3DContent):
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
(WebCore::RenderLayerCompositor::registerAllScrollingLayers):
(WebCore::RenderLayerCompositor::unregisterAllScrollingLayers):

3:30 PM Changeset in webkit [174660] by Antti Koivisto
  • 2 edits in trunk/Source/WTF

Add StringCapture helper for thread-safe lambda capture
https://bugs.webkit.org/show_bug.cgi?id=137664

Reviewed by Anders Carlsson.

There is currently no clean way to capture a String in a thread-safe manner. This will now work:

StringCapture stringCapture(string);
auto lambdaThatRunsInAnotherThread = [stringCapture] { String string = stringCapture.string(); ... }

This type won't be necessary with C++14 initialized lambda capture: [string = string.isolatedCopy()].

  • wtf/text/WTFString.h:

(WTF::StringCapture::StringCapture): Create isolated copy in copy-constructor.
(WTF::StringCapture::string):

2:58 PM Changeset in webkit [174659] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix after r174555.

  • public/include/manifest.php:

(ManifestGenerator::generate): Assign an empty array to $repositories_with_commit when there are no commits.

  • tests/admin-regenerate-manifest.js: Fixed the test case.
2:33 PM Changeset in webkit [174658] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop unnecessary overlapMap null checks in computeCompositingRequirements()
https://bugs.webkit.org/show_bug.cgi?id=137668

Reviewed by Andreas Kling.

Drop unnecessary overlapMap null checks in computeCompositingRequirements().
The function is never called with a null overlapMap so we can make the
argument a reference and drop all the null checks.

No new tests, no behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):

  • rendering/RenderLayerCompositor.h:
1:59 PM Changeset in webkit [174657] by Chris Dumez
  • 19 edits in trunk/Source

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

Reviewed by Simon Fraser.

Source/WebCore:

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

No new tests, no behavior change.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::updateReplicatedLayers):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::fetchCloneLayers): Deleted.

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/TileCoverageMap.cpp:

(WebCore::TileCoverageMap::TileCoverageMap):

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::ensureTilesForRect):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::clone):
(PlatformCALayerMac::appendSublayer):
(PlatformCALayerMac::insertSublayer):
(PlatformCALayerMac::replaceSublayer):
(PlatformCALayerMac::adoptSublayers):
(PlatformCALayerMac::copyFiltersFrom):

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

(WebCore::CACFLayerTreeHost::setRootChildLayer):

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

(PlatformCALayerWin::clone):
(PlatformCALayerWin::rootLayer):
(PlatformCALayerWin::appendSublayer):
(PlatformCALayerWin::insertSublayer):
(PlatformCALayerWin::replaceSublayer):
(PlatformCALayerWin::adoptSublayers):
(PlatformCALayerWin::copyFiltersFrom):

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

(PlatformCALayerWinInternal::insertSublayer):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.h:

Source/WebKit/win:

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

  • FullscreenVideoController.cpp:

(FullscreenVideoController::enterFullscreen):

Source/WebKit2:

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

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::~PlatformCALayerRemote):
(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
(WebKit::PlatformCALayerRemote::setSublayers):
(WebKit::PlatformCALayerRemote::appendSublayer):
(WebKit::PlatformCALayerRemote::insertSublayer):
(WebKit::PlatformCALayerRemote::replaceSublayer):
(WebKit::PlatformCALayerRemote::adoptSublayers):
(WebKit::PlatformCALayerRemote::setMask):
(WebKit::PlatformCALayerRemote::copyFiltersFrom):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::buildTransaction):

11:50 AM Changeset in webkit [174656] by clopez@igalia.com
  • 2 edits in trunk/Tools

[XvfbDriver] Regular expression used to match running X servers fails on Fedora 21.
https://bugs.webkit.org/show_bug.cgi?id=137659

Reviewed by Martin Robinson.

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver._next_free_display): Update the regular expression to also match Xorg.bin

11:46 AM Changeset in webkit [174655] by ap@apple.com
  • 3 edits in trunk/Tools

Add more detailed wait time information to EWS metrics
https://bugs.webkit.org/show_bug.cgi?id=137649

Reviewed by Daniel Bates.

Added average and worst time (we used to only have median), and also a percentage
of patches that took a non-trivial time to start. Non-trivial is defined as 3 minutes.

There is always some wait due to the polling nature of the queues, which is well understood
and doesn't need to be measured. What needs to be measured is whether there is enough
bot machines to process patches as soon as they are submitted.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:

(Analyzer.prototype._analyzeBubblePerformance):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsBubbleView.js:

(MetricsBubbleView.prototype._update):

11:28 AM Changeset in webkit [174654] by Chris Dumez
  • 17 edits in trunk/Source

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

Reviewed by Darin Adler.

Use is<>() / downcast<>() for Filter / FilterOperation subclasses.

Source/WebCore:

No new tests, no behavior change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForFilter):

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

(PlatformCAFilters::filterValueForOperation):
(PlatformCAFilters::colorMatrixValueForFilter):

  • platform/graphics/filters/Filter.h:
  • platform/graphics/filters/FilterOperation.cpp:

(WebCore::DefaultFilterOperation::operator==):
(WebCore::ReferenceFilterOperation::operator==):
(WebCore::BasicColorMatrixFilterOperation::blend):
(WebCore::BasicColorMatrixFilterOperation::operator==):
(WebCore::BasicComponentTransferFilterOperation::blend):
(WebCore::BasicComponentTransferFilterOperation::operator==):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::blend):
(WebCore::DropShadowFilterOperation::operator==):
(WebCore::DropShadowFilterOperation::blend):

  • platform/graphics/filters/FilterOperation.h:
  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::outsets):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):

  • rendering/svg/RenderSVGResourceFilterPrimitive.cpp:

(WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):

  • svg/graphics/filters/SVGFilter.h:

(isType):

Source/WebKit2:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::FilterOperations>::encode):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<FilterOperation>::encode):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):

11:21 AM Changeset in webkit [174653] by Chris Dumez
  • 26 edits in trunk/Source/WebCore

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

Reviewed by Mihnea Ovidenie.

Use is<>() / downcast<>() for table-related render objects and clean
up the surrounding code.

No new tests, no behavior change.

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addChildren):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::isDataTable):
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::addChildren):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::columnIndexRange):
(WebCore::AccessibilityTableCell::titleUIElement):

  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::removeNode):

  • editing/TextIterator.cpp:

(WebCore::shouldEmitTabBeforeNode):
(WebCore::shouldEmitNewlinesBeforeAndAfterNode):

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::parseAttribute):
(WebCore::HTMLTableCellElement::cellAbove):

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::parseAttribute):

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::parseAttribute):

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::recalcColumn):
(WebCore::shouldScaleColumns):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::addChild):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild):
(WebCore::RenderTable::layout):
(WebCore::RenderTable::firstColumn):
(WebCore::RenderTable::recalcSections):
(WebCore::RenderTable::sectionAbove):
(WebCore::RenderTable::sectionBelow):
(WebCore::RenderTable::bottomSection):

  • rendering/RenderTable.h:
  • rendering/RenderTableCaption.cpp:

(WebCore::RenderTableCaption::table):

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::nextCell):
(WebCore::RenderTableCell::previousCell):
(WebCore::RenderTableRow::firstCell):
(WebCore::RenderTableRow::lastCell):

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::table):
(WebCore::RenderTableCol::enclosingColumnGroup):
(WebCore::RenderTableCol::nextColumn):

  • rendering/RenderTableCol.h:

Make updateFromElement() public to allow the callers to use tighter
typing and devitualize the call as the class is final.

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::addChild):

  • rendering/RenderTableRow.h:

(WebCore::RenderTableSection::firstRow):
(WebCore::RenderTableSection::lastRow):
(WebCore::RenderTableRow::nextRow):
(WebCore::RenderTableRow::previousRow):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::paintCell):

  • rendering/RenderTableSection.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::writeTextRun):
(WebCore::writeSimpleLine):

10:56 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:49 AM Changeset in webkit [174652] by jer.noble@apple.com
  • 7 edits
    2 adds in trunk

MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=137533

Reviewed by Darin Adler.

Source/WebCore:

When a new AVAsset is returned out of the AVStreamDataParser, notify the HTMLMediaElement that
characteristics of the player may have changed.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::characteristicsChanged):

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

(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/file-with-mse.html: Added.
  • TestWebKitAPI/Tests/WebKit2/test-mse.mp4: Added.
10:44 AM Changeset in webkit [174651] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Stop listening for wireless playback target availability when the default controls are hidden.
https://bugs.webkit.org/show_bug.cgi?id=137633

Reviewed by Dean Jackson.

In order to minimize the excess bandwidth and power consumption required for actively listening
for wireless playback target availablity, unregister for those notifications while the controls
are hidden due to playback, or when the element's document is hidden.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createBase): Register for document visiblity change notfications.
(ControllerIOS.prototype.setControlsType): Call updateShouldListenForPlaybackTargetAvailabilityEvent()

instead of setShouldListenForPlaybackTargetAvailabilityEvent()

(ControllerIOS.prototype.hideControls): Ditto.
(ControllerIOS.prototype.showControls): Ditto.
(ControllerIOS.prototype.updateStatusDisplay): Ditto.
(ControllerIOS.prototype.handleVisibilityChange): Ditto.
(ControllerIOS.prototype.updateShouldListenForPlaybackTargetAvailabilityEvent): Added. Only listen

for target availability when the video has no errors, is not in the initial "big play button"
controls state, and when the controls are not hidden.

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Explicitly set the discoveryMode to "disabled"

rather than waiting for the autoreleasepool to destroy our routing controller.

10:33 AM Changeset in webkit [174650] by Simon Fraser
  • 6 edits in trunk

iOS DRT snapshots are limited to the page visible area
https://bugs.webkit.org/show_bug.cgi?id=137650

Reviewed by Daniel Bates.
Source/WebCore:

LegacyTileCache drawing was limited to the window's visible area, found by
crawling up the layer hierarchy to the root layer. This caused test snapshots to
be missing non-composited content outside the iPhone visible area, which hinders
testing.

Fix by adding a test-only mode where the window visible area is the entire window.

  • platform/ios/wak/WAKWindow.h:
  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setEntireWindowVisibleForTesting:]):
(-[WAKWindow _visibleRectRespectingMasksToBounds:]):

Tools:

LegacyTileCache drawing was limited to the window's visible area, found by
crawling up the layer hierarchy to the root layer. This caused test snapshots to
be missing non-composited content outside the iPhone visible area, which hinders
testing.

Fix by adding a test-only mode where the window visible area is the entire window.

  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:

(dumpWebViewAsPixelsAndCompareWithExpected): Drive-by RetainPtr fix.

  • DumpRenderTree/mac/DumpRenderTreeWindow.mm:

(-[DumpRenderTreeWindow initWithLayer:]): Call setEntireWindowVisibleForTesting:YES
for the DRT window.

9:08 AM Changeset in webkit [174649] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Gardening.

  • platform/mac/TestExpectations:
7:33 AM Changeset in webkit [174648] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

[CSSRegions] Make RenderNamedFlowFragment::computeStyleInRegion const
https://bugs.webkit.org/show_bug.cgi?id=137604

Reviewed by Andrei Bucur.

The method computeStyleInRegion should be const as it does not modify
the state of the RenderNamedFlowFragment instance. Make pointers to
the region used for styling const along the way. No new tests as no
change in functionality.

  • css/ElementRuleCollector.h:

(WebCore::ElementRuleCollector::ElementRuleCollector):
(WebCore::ElementRuleCollector::setRegionForStyling):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleForElement):

  • css/StyleResolver.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::computeStyleInRegion):

  • rendering/RenderNamedFlowFragment.h:
5:16 AM Changeset in webkit [174647] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.1

WebKitGTK+ 2.6.1

4:59 AM Changeset in webkit [174646] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.6.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.6.1.
4:56 AM Changeset in webkit [174645] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Fix make distcheck.

Source/WebKit2:

  • CMakeLists.txt:
  • PlatformGTK.cmake:

Tools:

  • TestWebKitAPI/PlatformGTK.cmake:
2:19 AM Changeset in webkit [174644] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174639 - [SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
https://bugs.webkit.org/show_bug.cgi?id=137489

Reviewed by Carlos Garcia Campos.

Temporarily set the SoupCache's maximum size to a huge value
before calling soup_cache_load() so that the cache is not shrinked
to the default value.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

1:44 AM Changeset in webkit [174643] by svillar@igalia.com
  • 7 edits in trunk

[CSS Grid Layout] Pass the valid set of tracks to grow beyond growth limits
https://bugs.webkit.org/show_bug.cgi?id=137253

Reviewed by Darin Adler.

Source/WebCore:

Section 10.4 of the specs describe how to resolve content based
track sizing functions. Among others it describes the "distribute
extra space" algorithm. The 3rd bullet of that algorithm specifies
how to distribute (and also the target tracks) the extra space
once all the tracks have reached their growth limits.

Our implementation had 2 problems. First we were not passing a
valid subset of tracks (instead we were always using all of
them). Now we use a function that filters the right tracks to be
the target of the extra space distribution depending on whether
we're computing the min track function or the max track function.

Secondly the algorithm that was distributing the extra space was
not using that list of passed in tracks (it iterated over all of
them). From now on it will use the set of tracks selected using
the filter function described above.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::distributeSpaceToTracks):

  • rendering/RenderGrid.h:
  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::hasMinContentMinTrackBreadthAndMinOrMaxContentMaxTrackBreadth):
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadthAndMaxContentMaxTrackBreadth):

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:

Oct 12, 2014:

11:46 PM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
11:39 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:48 PM Changeset in webkit [174642] by Simon Fraser
  • 2 edits in trunk/Tools

Page not fully rendered in iOS DRT snapshots
https://bugs.webkit.org/show_bug.cgi?id=137638

Reviewed by Tim Horton.

In iOS DumpRenderTree, we need to wait for a cycle of the WebThread runloop
to ensure that the page has laid out and is rendered by the time we take
the snapshot.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(-[DumpRenderTree _webThreadEventLoopHasRun]): Moved.
(-[DumpRenderTree _webThreadInvoked]): Moved.
(-[DumpRenderTree _waitForWebThreadThenDump]):
(dump): Use a performSelectorOnMainThread:withObject:waitUntilDone:NO to wait
for a cycle of the WebThrewd runloop. We can't just call _waitForWebThread because
that blocks on a delegate callback, and we can't dispatch_async because _waitForWebThread
relies on dispatch_async too, and the inner block won't complete until the outer block
has completed.
(dumpTestResults): Move the guts of dump() here.
(runTest): Whitespace.

11:48 AM Changeset in webkit [174641] by ap@apple.com
  • 4 edits in trunk

Adding svn:ignore so that .pyc files don't show up as new.

Source/JavaScriptCore:

  • inspector/scripts/codegen: Added property svn:ignore.

Tools:

  • Scripts/webkitpy/xcode: Added property svn:ignore.
5:55 AM Changeset in webkit [174640] by mkwst@chromium.org
  • 4 edits
    10 adds in trunk

Referrer Policy: Update <meta name="referrer"> values to match the spec
https://bugs.webkit.org/show_bug.cgi?id=137635

Reviewed by Jochen Eisinger.

Source/WebCore:

The Referrer Policy specification ([Working Draft][WD], [Editor's
draft[ED]) defines different keywords than we originally
implemented. We should support them in the interests of clarity and
interoperability with other browsers implementing the specification.

[WD]: http://www.w3.org/TR/referrer-policy/#referrer-policy-delivery-meta
[ED]: http://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-delivery-meta

This patch is a port of Blink's https://codereview.chromium.org/607433002/

Tests: http/tests/security/referrer-policy-conflicting-policies.html

http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html
http/tests/security/referrer-policy-https-no-referrer.html
http/tests/security/referrer-policy-https-unsafe-url.html
http/tests/security/referrer-policy-no-referrer-when-downgrade.html
http/tests/security/referrer-policy-no-referrer.html

  • dom/Document.cpp:

(WebCore::Document::processReferrerPolicy):

LayoutTests:

  • http/tests/security/referrer-policy-https-no-referrer-expected.txt: Added.
  • http/tests/security/referrer-policy-https-no-referrer-when-downgrade-expected.txt: Added.
  • http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html: Added.
  • http/tests/security/referrer-policy-https-no-referrer.html: Added.
  • http/tests/security/referrer-policy-https-unsafe-url-expected.txt: Added.
  • http/tests/security/referrer-policy-https-unsafe-url.html: Added.
  • http/tests/security/referrer-policy-invalid-expected.txt: Update the error message with new keywords.
  • http/tests/security/referrer-policy-no-referrer-expected.txt: Added.
  • http/tests/security/referrer-policy-no-referrer-when-downgrade-expected.txt: Added.
  • http/tests/security/referrer-policy-no-referrer-when-downgrade.html: Added.
  • http/tests/security/referrer-policy-no-referrer.html: Added.
2:32 AM Changeset in webkit [174639] by svillar@igalia.com
  • 3 edits in trunk/Source/WebKit2

[SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
https://bugs.webkit.org/show_bug.cgi?id=137489

Reviewed by Carlos Garcia Campos.

Temporarily set the SoupCache's maximum size to a huge value
before calling soup_cache_load() so that the cache is not shrinked
to the default value.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

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

Merge r174632 - [GLIB] Split GMainLoopSource moving thread safe implementation to its own class GThreadSafeMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=137485

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use GThreadSafeMainLoopSource for GStreamer sources, since they
can be used from different threads. Also update GMutexLocker
usages, since it's now a template.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::createBus):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockBufferMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcGetProperty):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

Source/WTF:

We made GMainLoopSource thread safe, but in most of the cases we
know the sources are used by a single thread, which has an impact
in the performance (mutex, GCancellable, etc.). The new class
GThreadSafeMainLoopSource inherits from GMainLoopSource overriding
the new virtual methods and calling the parent for the common code.
GMutexLocker now supports recursive mutexes, it's a template that
can wrap a GMutex or a GRecMutex. GThreadSafeMainLoopSource uses a
recursive mutex using the new GMutexLocker API.

  • wtf/PlatformEfl.cmake: Add new file to compilation.
  • wtf/PlatformGTK.cmake: Ditto.
  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::prepareVoidCallback):
(WTF::GMainLoopSource::finishVoidCallback):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::prepareBoolCallback):
(WTF::GMainLoopSource::finishBoolCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::cancelWithoutLocking): Deleted.

  • wtf/gobject/GMainLoopSource.h:
  • wtf/gobject/GMutexLocker.h:

(WTF::MutexWrapper<GMutex>::lock):
(WTF::MutexWrapper<GMutex>::unlock):
(WTF::MutexWrapper<GRecMutex>::lock):
(WTF::MutexWrapper<GRecMutex>::unlock):
(WTF::GMutexLocker::GMutexLocker):
(WTF::GMutexLocker::lock):
(WTF::GMutexLocker::unlock):

  • wtf/gobject/GThreadSafeMainLoopSource.cpp: Added.

(WTF::GThreadSafeMainLoopSource::GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::~GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::cancel):
(WTF::GThreadSafeMainLoopSource::schedule):
(WTF::GThreadSafeMainLoopSource::scheduleAfterDelay):
(WTF::GThreadSafeMainLoopSource::prepareVoidCallback):
(WTF::GThreadSafeMainLoopSource::finishVoidCallback):
(WTF::GThreadSafeMainLoopSource::voidCallback):
(WTF::GThreadSafeMainLoopSource::prepareBoolCallback):
(WTF::GThreadSafeMainLoopSource::finishBoolCallback):
(WTF::GThreadSafeMainLoopSource::boolCallback):

  • wtf/gobject/GThreadSafeMainLoopSource.h: Added.

Tools:

Update GMainLoopSource tests. Most of the tests are now run twice,
first with a GMainLoopSource and then with a
GThreadSafeMainLoopSource, since both should have the same
behaviour. The threading test uses GThreadSafeMainLoopSource and
the delete on destroy test uses GMainLoopSource. The tests
themselves haven't changed, since there's no change in behaviour.

  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp:

(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::basicRescheduling):
(TestWebKitAPI::TEST):
(TestWebKitAPI::reentrantRescheduling):
(TestWebKitAPI::cancelRepeatingSourceDuringDispatch):
(TestWebKitAPI::basicDestroyCallbacks):
(TestWebKitAPI::destroyCallbacksAfterCancellingDuringDispatch):
(TestWebKitAPI::destroyCallbacksAfterReschedulingDuringDispatch):

1:35 AM Changeset in webkit [174637] by commit-queue@webkit.org
  • 9 edits
    9 adds in trunk

Support activation behavior of link element
https://bugs.webkit.org/show_bug.cgi?id=137597

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

Source/WebCore:

Support activation behavior of link elements as defined in [1],
i.e. to follow the hyperlink created by the link element when it is fully active.

[1] https://html.spec.whatwg.org/multipage/semantics.html#the-link-element

Tests: fast/dom/html-link-element-activation-behavior-on-element-click.html

fast/dom/html-link-element-activation-behavior-on-mouse-click.html
fast/dom/html-link-element-activation-behavior-url-is-null.html

  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::triggerActivationBehavior):

  • dom/MouseEvent.h:
  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::isLinkClick): Deleted.

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

(WebCore::HTMLLinkElement::defaultEventHandler):
(WebCore::HTMLLinkElement::handleClick):

  • html/HTMLLinkElement.h:
  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):

LayoutTests:

Add test cases for link element activation behavior.

  • fast/dom/html-link-element-activation-behavior-on-element-click-expected.txt: Added.
  • fast/dom/html-link-element-activation-behavior-on-element-click.html: Added.
  • fast/dom/html-link-element-activation-behavior-on-mouse-click-expected.txt: Added.
  • fast/dom/html-link-element-activation-behavior-on-mouse-click.html: Added.
  • fast/dom/html-link-element-activation-behavior-url-is-null-expected.txt: Added.
  • fast/dom/html-link-element-activation-behavior-url-is-null.html: Added.
  • fast/dom/resources/html-link-element-activation-behavior-on-element-click-step1.html: Added.
  • fast/dom/resources/html-link-element-activation-behavior-on-mouse-click-step1.html: Added.
  • fast/dom/resources/html-link-element-activation-behavior-target.html: Added.
12:15 AM Changeset in webkit [174636] 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.

Oct 11, 2014:

11:07 AM Changeset in webkit [174635] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Mark some more tests as sometimes passing.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:27 AM Changeset in webkit [174634] by Simon Fraser
  • 2 edits in trunk/Tools

After r174628 we send the test process a SIGTERM before the SIGKILL.

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

(ExecutiveTest.serial_test_kill_process):

9:22 AM Changeset in webkit [174633] by commit-queue@webkit.org
  • 10 edits in trunk

[EFL] Enable WebP support.
https://bugs.webkit.org/show_bug.cgi?id=136156

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-10-11
Reviewed by Gyuyoung Kim.

.:

Add WebP package finding rule.

  • Source/cmake/OptionsEfl.cmake:

Source/WebCore:

Add WebP library and inlcude path to WebCore path for WK2 Efl.
No new tests since existing feature is just enabled for WK2 Efl.

  • PlatformEfl.cmake:

Source/WTF:

Enable WTF_USE_WEBP macro for WK2 Efl.

  • wtf/Platform.h:

Tools:

Include libwebp-dev package to support WebP for WK2 Efl.

  • efl/install-dependencies:

LayoutTests:

Clarify skipped webp test for Webkit EFL.

  • platform/efl/TestExpectations:
12:08 AM Changeset in webkit [174632] by Carlos Garcia Campos
  • 18 edits
    2 adds in trunk

[GLIB] Split GMainLoopSource moving thread safe implementation to its own class GThreadSafeMainLoopSource
https://bugs.webkit.org/show_bug.cgi?id=137485

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use GThreadSafeMainLoopSource for GStreamer sources, since they
can be used from different threads. Also update GMutexLocker
usages, since it's now a template.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::createBus):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockBufferMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcGetProperty):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

Source/WTF:

We made GMainLoopSource thread safe, but in most of the cases we
know the sources are used by a single thread, which has an impact
in the performance (mutex, GCancellable, etc.). The new class
GThreadSafeMainLoopSource inherits from GMainLoopSource overriding
the new virtual methods and calling the parent for the common code.
GMutexLocker now supports recursive mutexes, it's a template that
can wrap a GMutex or a GRecMutex. GThreadSafeMainLoopSource uses a
recursive mutex using the new GMutexLocker API.

  • wtf/PlatformEfl.cmake: Add new file to compilation.
  • wtf/PlatformGTK.cmake: Ditto.
  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::prepareVoidCallback):
(WTF::GMainLoopSource::finishVoidCallback):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::prepareBoolCallback):
(WTF::GMainLoopSource::finishBoolCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::cancelWithoutLocking): Deleted.

  • wtf/gobject/GMainLoopSource.h:
  • wtf/gobject/GMutexLocker.h:

(WTF::MutexWrapper<GMutex>::lock):
(WTF::MutexWrapper<GMutex>::unlock):
(WTF::MutexWrapper<GRecMutex>::lock):
(WTF::MutexWrapper<GRecMutex>::unlock):
(WTF::GMutexLocker::GMutexLocker):
(WTF::GMutexLocker::lock):
(WTF::GMutexLocker::unlock):

  • wtf/gobject/GThreadSafeMainLoopSource.cpp: Added.

(WTF::GThreadSafeMainLoopSource::GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::~GThreadSafeMainLoopSource):
(WTF::GThreadSafeMainLoopSource::cancel):
(WTF::GThreadSafeMainLoopSource::schedule):
(WTF::GThreadSafeMainLoopSource::scheduleAfterDelay):
(WTF::GThreadSafeMainLoopSource::prepareVoidCallback):
(WTF::GThreadSafeMainLoopSource::finishVoidCallback):
(WTF::GThreadSafeMainLoopSource::voidCallback):
(WTF::GThreadSafeMainLoopSource::prepareBoolCallback):
(WTF::GThreadSafeMainLoopSource::finishBoolCallback):
(WTF::GThreadSafeMainLoopSource::boolCallback):

  • wtf/gobject/GThreadSafeMainLoopSource.h: Added.

Tools:

Update GMainLoopSource tests. Most of the tests are now run twice,
first with a GMainLoopSource and then with a
GThreadSafeMainLoopSource, since both should have the same
behaviour. The threading test uses GThreadSafeMainLoopSource and
the delete on destroy test uses GMainLoopSource. The tests
themselves haven't changed, since there's no change in behaviour.

  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp:

(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::basicRescheduling):
(TestWebKitAPI::TEST):
(TestWebKitAPI::reentrantRescheduling):
(TestWebKitAPI::cancelRepeatingSourceDuringDispatch):
(TestWebKitAPI::basicDestroyCallbacks):
(TestWebKitAPI::destroyCallbacksAfterCancellingDuringDispatch):
(TestWebKitAPI::destroyCallbacksAfterReschedulingDuringDispatch):

Note: See TracTimeline for information about the timeline view.