WebKit-https.git
5 years agoUse is<>() / downcast<>() for list-related render objects
cdumez@apple.com [Thu, 16 Oct 2014 06:04:36 +0000 (06:04 +0000)]
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):

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

5 years agoUse std::unique_ptr for CachedResource
gyuyoung.kim@samsung.com [Thu, 16 Oct 2014 03:57:28 +0000 (03:57 +0000)]
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):

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

5 years agoMove TextCodec classes to std::unique_ptr
gyuyoung.kim@samsung.com [Thu, 16 Oct 2014 02:50:59 +0000 (02:50 +0000)]
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):

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

5 years ago[Media] Reduce style updates (painting) in controls
dino@apple.com [Thu, 16 Oct 2014 02:25:34 +0000 (02:25 +0000)]
[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.

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

5 years agoUnreviewed, rolling out r174753.
commit-queue@webkit.org [Thu, 16 Oct 2014 01:41:23 +0000 (01:41 +0000)]
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

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

5 years ago[Windows] Speculative Windows test fix.
roger_fong@apple.com [Thu, 16 Oct 2014 01:16:36 +0000 (01:16 +0000)]
[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.

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

5 years ago[Mac] Unreviewed gardening.
zalan@apple.com [Thu, 16 Oct 2014 00:56:05 +0000 (00:56 +0000)]
[Mac] Unreviewed gardening.

Unskip subpixel border tests.

* platform/mac/TestExpectations:

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

5 years agoBuild fix. Rolling back changes in http://trac.webkit.org/changeset/174721.
jonowells@apple.com [Thu, 16 Oct 2014 00:29:37 +0000 (00:29 +0000)]
Build fix. Rolling back changes in trac.webkit.org/changeset/174721.

* Scripts/copy-user-interface-resources.pl:
* UserInterface/External/ESLint/LICENSE: Removed.
* UserInterface/External/ESLint/eslint.js: Removed.

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

5 years ago[Mac] Unreviewed gardening(mountain-lion).
zalan@apple.com [Thu, 16 Oct 2014 00:17:59 +0000 (00:17 +0000)]
[Mac] Unreviewed gardening(mountain-lion).

* platform/mac-mountainlion/fast/text/international/hindi-spacing-expected.txt: Added.

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

5 years agoREGRESSION(r174025): remote inspector crashes frequently when executing inspector...
msaboff@apple.com [Thu, 16 Oct 2014 00:14:28 +0000 (00:14 +0000)]
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):

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

5 years agoimport-w3c-test rewrites relative src paths in ref files incorrectly
commit-queue@webkit.org [Thu, 16 Oct 2014 00:13:17 +0000 (00:13 +0000)]
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):

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

5 years ago[Mac] Fix inefficiencies in ResourceResponse::platformLazyInit(InitLevel) - Part 2
cdumez@apple.com [Thu, 16 Oct 2014 00:09:57 +0000 (00:09 +0000)]
[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):

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

5 years agoUse is<>() / downcast<>() for InlineBox subclasses
cdumez@apple.com [Thu, 16 Oct 2014 00:05:37 +0000 (00:05 +0000)]
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):

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

5 years ago[Mac] Unreviewed gardening.
zalan@apple.com [Wed, 15 Oct 2014 22:36:08 +0000 (22:36 +0000)]
[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:

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

5 years agoglReadPixels on NVIDIA cards returns the wrong values for the alpha channel when...
roger_fong@apple.com [Wed, 15 Oct 2014 21:41:06 +0000 (21:41 +0000)]
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.

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

5 years agoAdd --json flag to test-webkitpy to emit JSON formatted test results
commit-queue@webkit.org [Wed, 15 Oct 2014 20:56:11 +0000 (20:56 +0000)]
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):

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

5 years ago[Cocoa] "Plug-in will handle load" error isn't declared in the modern API
mitz@apple.com [Wed, 15 Oct 2014 19:39:05 +0000 (19:39 +0000)]
[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.

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

5 years agoAX: Going back is broken for VoiceOver
cfleizach@apple.com [Wed, 15 Oct 2014 19:35:29 +0000 (19:35 +0000)]
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:

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

5 years agoSometimes can't scroll overflow:scroll areas in subframes
simon.fraser@apple.com [Wed, 15 Oct 2014 19:18:23 +0000 (19:18 +0000)]
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.

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

5 years agoUse is<>() / downcast<>() for TransformOperation subclasses
cdumez@apple.com [Wed, 15 Oct 2014 19:15:16 +0000 (19:15 +0000)]
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):

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

5 years ago[Mac] Unreviewed gardening.
zalan@apple.com [Wed, 15 Oct 2014 19:04:08 +0000 (19:04 +0000)]
[Mac] Unreviewed gardening.

Rebaselining.

* css3/flexbox/flex-rounding.html:

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

5 years ago[Mac] Unreviewed gardening.
zalan@apple.com [Wed, 15 Oct 2014 18:34:51 +0000 (18:34 +0000)]
[Mac] Unreviewed gardening.

Unskip some subpixel related tests.

* platform/mac/TestExpectations:

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

5 years ago[Mac] Unreviewed gardening.
zalan@apple.com [Wed, 15 Oct 2014 18:04:58 +0000 (18:04 +0000)]
[Mac] Unreviewed gardening.

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

* platform/mac/TestExpectations:

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

5 years ago[Mac] Allow some Kerberos related paths in sandbox
ap@apple.com [Wed, 15 Oct 2014 18:00:10 +0000 (18:00 +0000)]
[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:

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

5 years agoVersioning.
bshafiei@apple.com [Wed, 15 Oct 2014 17:58:19 +0000 (17:58 +0000)]
Versioning.

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

5 years agoUse is<>() / downcast<>() for RenderTextControl / RenderTextControlSingleLine
cdumez@apple.com [Wed, 15 Oct 2014 17:36:38 +0000 (17:36 +0000)]
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]):

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

5 years ago[Mac] Allow plug-ins to read managed preferences
ap@apple.com [Wed, 15 Oct 2014 17:33:22 +0000 (17:33 +0000)]
[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:

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

5 years agoSubpixel layout: Unskip fast/sub-pixel directory.
zalan@apple.com [Wed, 15 Oct 2014 17:21:50 +0000 (17:21 +0000)]
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.

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

5 years agoUse is<>() / downcast<>() for ClipPathOperation subclasses
cdumez@apple.com [Wed, 15 Oct 2014 17:13:41 +0000 (17:13 +0000)]
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):

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

5 years ago[iOS] LayoutTestRelay: Detect broken pipe when reading simulator app's stdout and...
dfarler@apple.com [Wed, 15 Oct 2014 17:01:16 +0000 (17:01 +0000)]
[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.

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

5 years ago[Mac] Use CFDictionaryContainsKey() in ImageSource::isSizeAvailable()
cdumez@apple.com [Wed, 15 Oct 2014 16:53:38 +0000 (16:53 +0000)]
[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):

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

5 years ago[Multicol] Start adding performance tests for the multi-column implementation
abucur@adobe.com [Wed, 15 Oct 2014 13:37:16 +0000 (13:37 +0000)]
[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.

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

5 years agoUse modern loops in subtrees selection code
mihnea@adobe.com [Wed, 15 Oct 2014 08:31:05 +0000 (08:31 +0000)]
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:

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

5 years ago[GTK] Minibrowser : Add keyboard support for zoom in , zoom out and default zoom...
commit-queue@webkit.org [Wed, 15 Oct 2014 07:33:44 +0000 (07:33 +0000)]
[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):

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

5 years agoClean up unnecessary PassOwnPtr.h inclusion
gyuyoung.kim@samsung.com [Wed, 15 Oct 2014 05:05:56 +0000 (05:05 +0000)]
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.

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

5 years agoHave offsetFromContainer() / offsetFromAncestorContainer() take a RenderElement&
cdumez@apple.com [Wed, 15 Oct 2014 05:01:31 +0000 (05:01 +0000)]
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):

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

5 years agoWeb Inspector: Add ESLint open source library to the inspector
jonowells@apple.com [Wed, 15 Oct 2014 03:28:55 +0000 (03:28 +0000)]
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.

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

5 years agoREGRESSION (r159208): Crash when clicking scrubber after navigating away/back to...
jer.noble@apple.com [Wed, 15 Oct 2014 01:21:29 +0000 (01:21 +0000)]
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):

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

5 years ago[WK2][EFL] Fix the problem that threads created by a DispatchQueueEfl are not destroyed
commit-queue@webkit.org [Wed, 15 Oct 2014 00:53:11 +0000 (00:53 +0000)]
[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):

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

5 years agoRemove unused jobs table
rniwa@webkit.org [Wed, 15 Oct 2014 00:50:56 +0000 (00:50 +0000)]
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:

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

5 years ago[Mac] Fix inefficiencies in ResourceResponse::platformLazyInit(InitLevel)
cdumez@apple.com [Wed, 15 Oct 2014 00:44:36 +0000 (00:44 +0000)]
[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):

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

5 years agoREGRESSION (Safari 7.1/8.0): Border-radius and overflow hidden renders incorrectly.
zalan@apple.com [Wed, 15 Oct 2014 00:42:57 +0000 (00:42 +0000)]
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.

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

5 years agoUse is<>() / downcast<>() for PlatformCAAnimation subclasses
cdumez@apple.com [Wed, 15 Oct 2014 00:41:01 +0000 (00:41 +0000)]
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):

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

5 years agoUse is<>() / downcast<>() for RenderInline
cdumez@apple.com [Wed, 15 Oct 2014 00:29:51 +0000 (00:29 +0000)]
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):

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

5 years ago[Win] Unreviewed build fix after r174710.
bfulgham@apple.com [Wed, 15 Oct 2014 00:02:24 +0000 (00:02 +0000)]
[Win] Unreviewed build fix after r174710.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::createSession):

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

5 years agoURLs that start with http:/// and https:/// lose two slashes when parsed, causing...
mitz@apple.com [Tue, 14 Oct 2014 23:58:34 +0000 (23:58 +0000)]
URLs that start with / 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.

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

5 years agoNew perf dashboard should have an ability to search commits by a keyword
rniwa@webkit.org [Tue, 14 Oct 2014 23:46:45 +0000 (23:46 +0000)]
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.

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

5 years ago[Win] Unreviewed build fix after r174698 and r174709.
bfulgham@apple.com [Tue, 14 Oct 2014 23:43:54 +0000 (23:43 +0000)]
[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:

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

5 years ago[Win] Unreviewed build fix after r174698
bfulgham@apple.com [Tue, 14 Oct 2014 23:31:43 +0000 (23:31 +0000)]
[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):

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

5 years agoREGRESSION (r165356): Issues with Japanese text input
ap@apple.com [Tue, 14 Oct 2014 23:23:00 +0000 (23:23 +0000)]
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.

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

5 years agoRe-adding fast/hidpi/image-srcset-relative-svg-canvas.html, as it still fails on...
ap@apple.com [Tue, 14 Oct 2014 23:17:44 +0000 (23:17 +0000)]
Re-adding fast/hidpi/image-srcset-relative-svg-canvas.html, as it still fails on bots

* TestExpectations:

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

5 years ago[Windows] Unreviewed gardening following r174585.
roger_fong@apple.com [Tue, 14 Oct 2014 22:43:07 +0000 (22:43 +0000)]
[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.

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

5 years agoHide the find indicator when starting a swipe
andersca@apple.com [Tue, 14 Oct 2014 22:31:24 +0000 (22:31 +0000)]
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):

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

5 years agoImprove debug description of WAKViews
mmaxfield@apple.com [Tue, 14 Oct 2014 22:23:37 +0000 (22:23 +0000)]
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.

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

5 years agoIntroduce an isCSSAnimated flag on RenderElement for performance
cdumez@apple.com [Tue, 14 Oct 2014 21:50:28 +0000 (21:50 +0000)]
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):

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

5 years ago[Mac] DRT stderr logging after the test completes gets attributed to the next test
simon.fraser@apple.com [Tue, 14 Oct 2014 21:33:55 +0000 (21:33 +0000)]
[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):

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

5 years agoRebaseline some compositing tests that are sensitive to the visible rect, and skip
simon.fraser@apple.com [Tue, 14 Oct 2014 21:33:53 +0000 (21:33 +0000)]
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:

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

5 years agoCrash in WebCore::UserGestureIndicator::processingUserGesture with WebWorkers
dino@apple.com [Tue, 14 Oct 2014 20:59:32 +0000 (20:59 +0000)]
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):

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

5 years agoSource/JavaScriptCore:
bfulgham@apple.com [Tue, 14 Oct 2014 20:36:18 +0000 (20:36 +0000)]
Source/JavaScriptCore:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

* JavaScriptCore.vcxproj: Modified properties svn:ignore and svn:ignore.
* JavaScriptCore.vcxproj/jsc: Modified property svn:ignore.

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.

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

5 years ago[Win] Enable Encrypted Media Support
bfulgham@apple.com [Tue, 14 Oct 2014 20:09:09 +0000 (20:09 +0000)]
[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.

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

5 years agoREGRESSION(r174567): [GTK] Layout Tests platform/gtk/accessibility/aria-table-hierarc...
jdiggs@igalia.com [Tue, 14 Oct 2014 19:30:08 +0000 (19:30 +0000)]
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.

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

5 years agoWeb Inspector: paint flashing mode should be disabled when remote inspecting legacy...
commit-queue@webkit.org [Tue, 14 Oct 2014 19:29:41 +0000 (19:29 +0000)]
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 <pecoraro@apple.com> 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:

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

5 years ago[Mac] Avoid unnecessary dictionary lookup in ImageSource::isSizeAvailable()
cdumez@apple.com [Tue, 14 Oct 2014 19:24:27 +0000 (19:24 +0000)]
[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):

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

5 years agoRemoves references to LLVMJIT which is no longer part of LLVM
mmirman@apple.com [Tue, 14 Oct 2014 19:22:41 +0000 (19:22 +0000)]
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

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

5 years ago[cmake] Fix the make build after r174683
ossy@webkit.org [Tue, 14 Oct 2014 19:12:42 +0000 (19:12 +0000)]
[cmake] Fix the make build after r174683
https://bugs.webkit.org/show_bug.cgi?id=137703

Reviewed by Martin Robinson.

* Scripts/webkitdirs.pm:
(buildCMakeGeneratedProject):

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

5 years ago[Windows] Add some logging to debug random crashing when running layout tests on...
roger_fong@apple.com [Tue, 14 Oct 2014 18:36:04 +0000 (18:36 +0000)]
[Windows] Add some logging to debug random crashing when running layout tests on Windows.

* WebActionPropertyBag.cpp:
(WebActionPropertyBag::Read):

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

5 years agoRemove unnecessary logging from SimpleFontData
mmaxfield@apple.com [Tue, 14 Oct 2014 18:32:01 +0000 (18:32 +0000)]
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):

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

5 years agoAdding myself to the watchlist to CachedFont
mmaxfield@apple.com [Tue, 14 Oct 2014 18:24:51 +0000 (18:24 +0000)]
Adding myself to the watchlist to CachedFont

Unreviewed.

* Scripts/webkitpy/common/config/watchlist:

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

5 years agoAddressing post-review comment.
mmaxfield@apple.com [Tue, 14 Oct 2014 18:05:12 +0000 (18:05 +0000)]
Addressing post-review comment.
https://bugs.webkit.org/show_bug.cgi?id=137550

Unreviewed.

* WebView/WebHTMLView.mm:
(fontNameForDescription):
(-[WebHTMLView _addToStyle:fontA:fontB:]):

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

5 years agoUpdate ViewportConfiguration whenever its size attributes change
mhock@apple.com [Tue, 14 Oct 2014 17:57:48 +0000 (17:57 +0000)]
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):

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

5 years agoWeb Inspector: Processing Instruction Nodes appear poorly in DOM Tree
commit-queue@webkit.org [Tue, 14 Oct 2014 17:53:34 +0000 (17:53 +0000)]
Web Inspector: Processing Instruction Nodes appear poorly in DOM Tree
https://bugs.webkit.org/show_bug.cgi?id=137681

Patch by Joseph Pecoraro <pecoraro@apple.com> 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.

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

5 years agoUse is<>() / downcast<>() for RenderFrame / RenderFrameSet
cdumez@apple.com [Tue, 14 Oct 2014 17:31:59 +0000 (17:31 +0000)]
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:

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

5 years ago[GTK] Unreviewed GTK gardening.
clopez@igalia.com [Tue, 14 Oct 2014 17:18:36 +0000 (17:18 +0000)]
[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.

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

5 years ago[XHR] Abort method execution when m_loader->cancel() in internalAbort() caused reentry
commit-queue@webkit.org [Tue, 14 Oct 2014 17:10:24 +0000 (17:10 +0000)]
[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:

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

5 years ago[EFL][GTK] Make it possible to get verbose output with ninja
evab.u-szeged@partner.samsung.com [Tue, 14 Oct 2014 16:42:53 +0000 (16:42 +0000)]
[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):

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

5 years ago[Win32] Thunk is not implemented.
commit-queue@webkit.org [Tue, 14 Oct 2014 16:25:25 +0000 (16:25 +0000)]
[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:

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

5 years ago[EFL] Make it possible to use ninja for EFL build too
evab.u-szeged@partner.samsung.com [Tue, 14 Oct 2014 12:09:52 +0000 (12:09 +0000)]
[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:

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

5 years agoAdd test to check stretchy value is case sensitive
alex@webkit.org [Tue, 14 Oct 2014 10:56:04 +0000 (10:56 +0000)]
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.

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

5 years ago[GTK] Minibrowser : Add home buton and keyboard support for home page load
commit-queue@webkit.org [Tue, 14 Oct 2014 10:49:09 +0000 (10:49 +0000)]
[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):

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

5 years agoMultiple refactors in RenderMathMLOperator
alex@webkit.org [Tue, 14 Oct 2014 10:05:03 +0000 (10:05 +0000)]
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:

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

5 years agoChanges in the stretchy attribute do not update rendering
alex@webkit.org [Tue, 14 Oct 2014 09:53:59 +0000 (09:53 +0000)]
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.

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

5 years agoUse is<>() / downcast<>() for RenderImage
cdumez@apple.com [Tue, 14 Oct 2014 09:07:21 +0000 (09:07 +0000)]
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):

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

5 years ago[AX] Improve AccessibilityTableCell columnHeaders and rowHeaders functions.
commit-queue@webkit.org [Tue, 14 Oct 2014 08:18:32 +0000 (08:18 +0000)]
[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:

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

5 years agoFix the !ENABLE(VIDEO) build after r174353
ossy@webkit.org [Tue, 14 Oct 2014 08:14:01 +0000 (08:14 +0000)]
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:

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

5 years ago[Curl] Compile error in CurlDownload.cpp.
commit-queue@webkit.org [Tue, 14 Oct 2014 08:11:19 +0000 (08:11 +0000)]
[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:

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

5 years agoimport-w3c-tests doesn't prefix property values
rego@igalia.com [Tue, 14 Oct 2014 08:08:05 +0000 (08:08 +0000)]
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):

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

5 years ago[GTK][CMake] Non-ninja build is broken since r174422
carlosgc@webkit.org [Tue, 14 Oct 2014 06:58:15 +0000 (06:58 +0000)]
[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:

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

5 years agoWeb Inspector: Paint Flashing button does not match page state after reload
commit-queue@webkit.org [Tue, 14 Oct 2014 04:43:53 +0000 (04:43 +0000)]
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 <pecoraro@apple.com> 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.

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

5 years agoAdd test coverage for the more complex cases of :not()
benjamin@webkit.org [Tue, 14 Oct 2014 01:31:00 +0000 (01:31 +0000)]
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.

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

5 years agoSource/WebCore:
commit-queue@webkit.org [Tue, 14 Oct 2014 01:30:03 +0000 (01:30 +0000)]
Source/WebCore:
Web Inspector: Remove unused stale Page protocol methods
https://bugs.webkit.org/show_bug.cgi?id=137678

Patch by Joseph Pecoraro <pecoraro@apple.com> 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 <pecoraro@apple.com> 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:

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

5 years agoMediaPlayer::characteristicChanged() is not called when new tracks are found in Sourc...
jer.noble@apple.com [Tue, 14 Oct 2014 01:16:25 +0000 (01:16 +0000)]
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):

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

5 years ago[iOS] Refactor AirPlay monitoring code
eric.carlson@apple.com [Tue, 14 Oct 2014 00:22:49 +0000 (00:22 +0000)]
[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.

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

5 years ago[Mac] Return value of createImageSourceOptions() is leaked in ImageSourceCG
cdumez@apple.com [Mon, 13 Oct 2014 23:46:20 +0000 (23:46 +0000)]
[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):

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

5 years ago[Win] Implement a page load profiling tool
bfulgham@apple.com [Mon, 13 Oct 2014 23:10:20 +0000 (23:10 +0000)]
[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.

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

5 years agoCSS JIT: Implement :visited pseudo class
utatane.tea@gmail.com [Mon, 13 Oct 2014 22:46:59 +0000 (22:46 +0000)]
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:

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

5 years agoImprove the test image diffs page
simon.fraser@apple.com [Mon, 13 Oct 2014 22:44:48 +0000 (22:44 +0000)]
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:

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

5 years agoUse modern loops in RenderLayerCompositor
cdumez@apple.com [Mon, 13 Oct 2014 22:35:50 +0000 (22:35 +0000)]
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):

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

5 years agoAdd StringCapture helper for thread-safe lambda capture
antti@apple.com [Mon, 13 Oct 2014 22:30:20 +0000 (22:30 +0000)]
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):

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

5 years agoUnreviewed build fix after r174555.
rniwa@webkit.org [Mon, 13 Oct 2014 21:58:30 +0000 (21:58 +0000)]
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.

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

5 years agoDrop unnecessary overlapMap null checks in computeCompositingRequirements()
cdumez@apple.com [Mon, 13 Oct 2014 21:33:22 +0000 (21:33 +0000)]
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:

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