WebKit-https.git
4 years agoApplying a filter on an SVG element, which is larger than 4096 pixels, causes this...
commit-queue@webkit.org [Thu, 7 May 2015 22:46:43 +0000 (22:46 +0000)]
Applying a filter on an SVG element, which is larger than 4096 pixels, causes this element to be rendered shifted to the left
https://bugs.webkit.org/show_bug.cgi?id=144335

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-05-07
Reviewed by Darin Adler.

Source/WebCore:

When the SVG element is larger than 4096x4096 pixels and it has a filter,
a clipper or a masker, the ImageBuffer which is created for drawing the
sourceGraphicBuffer has to be clamped to this size. The reason for this
clamping is the FilterEffect simply ignores processing any ImageBuffer
larger than this size.

The bug was happening because we did not propagate the clamping logic to
the FilterEffect. The FilterEffect result ImageBuffer was not clamped as
what we do for drawing the sourceGraphicBuffer. If only the destination
point is specified, the GraphicsContext::drawImageBuffer() assumes the
source and the destination images have the same size which is not true
with the clamping.

The fix is to add the clamping logic to the FilterEffect. Two places we
need to change. (1) FilterEffect::createImageBufferResult() has to apply
the same clamping we do in SVGRenderingContext::createImageBuffer(). (2)
FilterEffect::drawingRegionOfInputImage() has to consider the clamping
when mapping from absolute coordinates to the ImageBuffer coordinates.

Tests: svg/filters/big-sized-off-viewport-filter.svg

* platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::isSizeClamped):
(WebCore::ImageBuffer::clampedSize):
(WebCore::ImageBuffer::clampedRect):
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::setSpaceSize): Move all the clamping helper methods
from SVGRenderingContext and RenderSVGResourceFilter to the ImageBuffer.

* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::platformApplySoftware): Use logicalSize() of the
result image instead of using absolutePaintRect(). The later returns the
rectangle of the element without clamping.

* platform/graphics/filters/FETile.cpp:
(WebCore::FETile::platformApplySoftware):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize): Deleted.
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applySVGMask):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::createTileImage): Make the modifications
which are needed because of moving the clamping helper methods to ImageBuffer
and because of changing the prototype of SVGRenderingContext methods.

* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::drawingRegionOfInputImage): Consider the clamping
when mapping from absolute coordinates to the ImageBuffer coordinates.

(WebCore::FilterEffect::createImageBufferResult): Apply the same clamping
we do in SVGRenderingContext::createImageBuffer() when creating the
FilterEffect result ImageBuffer.

(WebCore::FilterEffect::apply):
(WebCore::FilterEffect::asUnmultipliedImage):
(WebCore::FilterEffect::asPremultipliedImage):
(WebCore::FilterEffect::copyUnmultipliedImage):
(WebCore::FilterEffect::copyPremultipliedImage):
(WebCore::FilterEffect::createUnmultipliedImageResult):
(WebCore::FilterEffect::createPremultipliedImageResult):
(WebCore::FilterEffect::maxFilterArea): Deleted.
(WebCore::FilterEffect::isFilterSizeValid): Deleted.
* platform/graphics/filters/FilterEffect.h: Use the new ImageBuffer clamping
helper methods and delete the local ones.

* platform/graphics/transforms/AffineTransform.cpp:
(WebCore::AffineTransform::scaleNonUniform):
(WebCore::AffineTransform::scale):
(WebCore::AffineTransform::translate):
* platform/graphics/transforms/AffineTransform.h: Add new scale and translate
overloads to AffineTransform.

* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::updateBackingStoreRect):
(WebCore::FilterEffectRendererHelper::beginFilterEffect): Code clean up.

* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
(WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
Return the AffineTransform instead of passing it through the reference of
an argument.

(WebCore::SVGRenderingContext::createImageBuffer):
(WebCore::SVGRenderingContext::createImageBufferForPattern): Deleted.
Code clean up and method rename.

(WebCore::SVGRenderingContext::clampedAbsoluteTargetRect): Deleted.
(WebCore::SVGRenderingContext::clampedAbsoluteSize): Deleted.
* rendering/svg/SVGRenderingContext.h: Move the clamping helper methods to
the ImageBuffer class.

LayoutTests:

* svg/filters/big-sized-off-viewport-filter-expected.svg: Added.
* svg/filters/big-sized-off-viewport-filter.svg: Added.
Ensure when applying a filter on a large SVG element, the viewport of the
SVG includes the correct drawing part of this element.

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

4 years agoFunctionCallBracketNode should store the base value to the temporary when subscript...
utatane.tea@gmail.com [Thu, 7 May 2015 22:35:56 +0000 (22:35 +0000)]
FunctionCallBracketNode should store the base value to the temporary when subscript has assignment
https://bugs.webkit.org/show_bug.cgi?id=144678

Reviewed by Geoffrey Garen.

Currently, FunctionCallBracketNode directly use the RegisterID returned by emitNode.
But if the base part is the local register and the subscript part has assignment to it, the base result is accidentally rewritten.

function t() { var ok = {null: function () { } }; ok[ok = null](); }
t();  // Should not throw error.

This patch takes care about `subscriptHasAssignment`.
By using `emitNodeForLeftHandSide`, when there's assignment to local variables in RHS,
it correctly moves the LHS value to a temporary register.

* bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallBracketNode::emitBytecode):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::makeFunctionCallNode):
* parser/NodeConstructors.h:
(JSC::FunctionCallBracketNode::FunctionCallBracketNode):
* parser/Nodes.h:
* tests/stress/assignment-in-function-call-bracket-node.js: Added.
(shouldBe):
(shouldBe.):

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

4 years agoNew force-related DOM events should fire in WK1 views
bdakin@apple.com [Thu, 7 May 2015 22:32:07 +0000 (22:32 +0000)]
New force-related DOM events should fire in WK1 views
https://bugs.webkit.org/show_bug.cgi?id=144663
-and corresponding-
rdar://problem/20281886

Reviewed by Sam Weinig.

Source/WebCore:

All of the WK1 mouse events need to take the correspondingPressureEvent.
* page/EventHandler.h:

Make correspondingPressureEvent a part of CurrentEventScope. This is needed to
have accurate pressure information for all of the mouse events in subframes.
* page/mac/EventHandlerMac.mm:
(WebCore::correspondingPressureEventSlot):
(WebCore::EventHandler::correspondingPressureEvent):
(WebCore::CurrentEventScope::CurrentEventScope):
(WebCore::CurrentEventScope::~CurrentEventScope):

These events don’t have an associated pressure, so send nil for the
correspondingPressureEvent.
(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::keyEvent):

Pipe through correspondingPressureEvent.
(WebCore::EventHandler::mouseDown):
(WebCore::EventHandler::mouseDragged):
(WebCore::EventHandler::mouseUp):
(WebCore::EventHandler::mouseMoved):

New function to handle pressure change events.
(WebCore::EventHandler::pressureChange):

Pipe through correspondingPressureEvent.
(WebCore::EventHandler::passMouseMovedEventToScrollbars):
(WebCore::EventHandler::currentPlatformMouseEvent):

Take the correspondingPressureEvent in order to build a PlatformMouseEvent with
the correct pressure information.
* platform/mac/PlatformEventFactoryMac.h:
* platform/mac/PlatformEventFactoryMac.mm:
(WebCore::globalPointForEvent):
(WebCore::pointForEvent):
(WebCore::mouseButtonForEvent):
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebCore::PlatformEventFactory::createPlatformMouseEvent):

Source/WebKit:

Pass the lastPressureEvent to WebCore.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateMouseoverWithEvent:]):
(-[WebHTMLView rightMouseUp:]):
(-[WebHTMLView menuForEvent:]):
(-[WebHTMLView acceptsFirstMouse:]):
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
(-[WebHTMLView mouseDown:mouseDown:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView mouseUp:mouseUp:]):

New NSRespnder method for pressure changes.
(-[WebHTMLView pressureChangeWithEvent:]):

New BOOL _contentPreventsDefault tracks whether the HitTestResult prevented the
default action. Get rid of willHandleMouseDown; now that the gesture recognizer
sets delaysPrimaryMouseButtonEvents to NO, we don’t need this.
* WebView/WebImmediateActionController.h:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]):

Set all of the immediateActionStages on EventHandler. This is critical to keep
link navigation happening at the right time now that
delaysPrimaryMouseButtonEvents is set to NO.
(-[WebImmediateActionController performHitTestAtPoint:]):
(-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):

Use a dummy animation controller if the content prevents default.
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController webView:willHandleMouseDown:]): Deleted.

Set delaysPrimaryMouseButtonEvents to NO so that we get existing mouse events when
we expect to.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

Cache the most recent pressure event so that we can send it to WebCore for all of
the mouse events.
(-[WebView _pressureEvent]):
(-[WebView _setPressureEvent:]):
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
* WebView/WebViewInternal.h:

Source/WebKit/mac:

Pass the lastPressureEvent to WebCore.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateMouseoverWithEvent:]):
(-[WebHTMLView rightMouseUp:]):
(-[WebHTMLView menuForEvent:]):
(-[WebHTMLView acceptsFirstMouse:]):
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
(-[WebHTMLView mouseDown:mouseDown:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView mouseUp:mouseUp:]):

New NSRespnder method for pressure changes.
(-[WebHTMLView pressureChangeWithEvent:]):

New BOOL _contentPreventsDefault tracks whether the HitTestResult prevented the
default action. Get rid of willHandleMouseDown; now that the gesture recognizer
sets delaysPrimaryMouseButtonEvents to NO, we don’t need this.
* WebView/WebImmediateActionController.h:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]):

Set all of the immediateActionStages on EventHandler. This is critical to keep
link navigation happening at the right time now that
delaysPrimaryMouseButtonEvents is set to NO.
(-[WebImmediateActionController performHitTestAtPoint:]):
(-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):

Use a dummy animation controller if the content prevents default.
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController webView:willHandleMouseDown:]): Deleted.

Set delaysPrimaryMouseButtonEvents to NO so that we get existing mouse events when
we expect to.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

Cache the most recent pressure event so that we can send it to WebCore for all of
the mouse events.
(-[WebView _pressureEvent]):
(-[WebView _setPressureEvent:]):
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
* WebView/WebViewInternal.h:

Tools:

PlatformEventFactory::createPlatformMouseEvent() takes the last pressure event
now. Just send nil.
* TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
(TestWebKitAPI::buildAndPerformTest):

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

4 years agoMedia Controls: Scrubber should be independent of actual video time, causes scrubber...
roger_fong@apple.com [Thu, 7 May 2015 22:25:36 +0000 (22:25 +0000)]
Media Controls: Scrubber should be independent of actual video time, causes scrubber to be jumpy.
https://bugs.webkit.org/show_bug.cgi?id=144700.
<rdar://problem/19997548>

Reviewed by Jer Noble.

Update time and timeline during the timeline input event instead of the wrapper's mousemove.
(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.handleTimelineMouseMove):
(Controller.prototype.drawTimelineBackground):

(Controller.prototype.updateControlsWhileScrubbing):
Updates time and scrubber to reflect timeline user input.

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

4 years agoCleanup after r183940
mmaxfield@apple.com [Thu, 7 May 2015 22:23:05 +0000 (22:23 +0000)]
Cleanup after r183940
https://bugs.webkit.org/show_bug.cgi?id=144768

Unreviewed.

Looks like the empty directories were not deleted.

* Source/PAL: Removed.
* Source/PAL/Configurations: Removed.
* Source/PAL/PAL.xcodeproj: Removed.
* Source/PAL/graphics: Removed.

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

4 years agoHandle meta viewport in HTMLPreloadScanner
yoav@yoav.ws [Thu, 7 May 2015 22:16:27 +0000 (22:16 +0000)]
Handle meta viewport in HTMLPreloadScanner
https://bugs.webkit.org/show_bug.cgi?id=144640

Reviewed by Dean Jackson.

Source/WebCore:

Add support for the <meta> tag to the HTMLPreloadScanner
and when the meta tag's name is viewport, get the document
to process the tag's attribute value, and set its ViewportArgument.

Tests: fast/dom/HTMLMetaElement/meta-preloader.html

* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::tagIdFor): Added meta.
(WebCore::TokenPreloadScanner::initiatorFor): Added meta.
(WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner): Call document.processViewport is meta viewport encountered.
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Keep track of meta viewport tags.
(WebCore::testPreloadScannerViewportSupport): Testing function that makes sure this functionality is working.
* html/parser/HTMLPreloadScanner.h:
* testing/Internals.cpp:
(WebCore::Internals::testPreloaderSettingViewport): Calls the testing function.
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Added a layout test that is simply calling an internals method
that tests the HTMLPreloadScanner.

* fast/dom/HTMLMetaElement/meta-preloader-expected.txt: Added.
* fast/dom/HTMLMetaElement/meta-preloader.html: Added.

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

4 years agoREGRESSION (r164449): Subpixel rendering: http://www.apple.com/iphone-6/ "Faster...
zalan@apple.com [Thu, 7 May 2015 22:03:12 +0000 (22:03 +0000)]
REGRESSION (r164449): Subpixel rendering: apple.com/iphone-6/ "Faster wireless." image displays vertical black line on 1x displays at specific window width.
https://bugs.webkit.org/show_bug.cgi?id=144723
rdar://problem/18307094

Reviewed by Simon Fraser.

This patch ensures that the backing store's graphics layer is always positioned on a device pixel boundary.

While calculating the backing store's graphics layer location, its ancestor layer's compositing bounds is taken into account.
However the compositing bounds is an unsnapped value, so in order to place the graphics layer properly,
we need to pixel align the ancestor compositing bounds before using it to adjust the child's graphics layer position.

Source/WebCore:

Test: compositing/ancestor-compositing-layer-is-on-subpixel-position.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):

LayoutTests:

* compositing/ancestor-compositing-layer-is-on-subpixel-position-expected.html: Added.
* compositing/ancestor-compositing-layer-is-on-subpixel-position.html: Added.
* platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt: progression.

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

4 years agoFollowup fixes to r183936
mrobinson@webkit.org [Thu, 7 May 2015 21:45:30 +0000 (21:45 +0000)]
Followup fixes to r183936

I neglected to include a few review comments when I landed the patch.

* UIProcess/gtk/TextCheckerGtk.cpp:
(WebKit::checkerState): Remove double semicolons.
(WebKit::updateStateForAllProcessPools): Use range-based-for loop here and
give the function a better name.
(WebKit::TextChecker::setContinuousSpellCheckingEnabled): Use new function name
(WebKit::TextChecker::setGrammarCheckingEnabled):Use new function name
(WebKit::TextChecker::ignoreWord): Fix unused parameter warning.
(WebKit::updateStateForAllContexts): Deleted.

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

4 years agoFix sizes crash and add invalid value tests.
yoav@yoav.ws [Thu, 7 May 2015 21:22:35 +0000 (21:22 +0000)]
Fix sizes crash and add invalid value tests.
https://bugs.webkit.org/show_bug.cgi?id=144739

Reviewed by Darin Adler.

Source/WebCore:

Make sure that only CSS length are allowed when the sizes parser is calling computeLength.
Also make sure that for invalid lengths, the 100vw default is used instead.

Test: fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html

* css/SourceSizeList.cpp:
(WebCore::computeLength):
(WebCore::defaultLength):
(WebCore::parseSizesAttribute):

LayoutTests:

Add tests that make sure that invalid values are properly handled, and a 100vw
source-size length is being used for srcset and for intrinsic dimension calculation.

* fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt: Added.
* fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html: Added.

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

4 years agoWeb Inspector: Expanding Object with only __proto__ looks poor should have a label
commit-queue@webkit.org [Thu, 7 May 2015 21:16:59 +0000 (21:16 +0000)]
Web Inspector: Expanding Object with only __proto__ looks poor should have a label
https://bugs.webkit.org/show_bug.cgi?id=144755

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-07
Reviewed by Timothy Hatcher.

Better handle cases where expanding an object has only a __proto__
and no other properties.

* UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.mode.prototype.this.children.length):
(WebInspector.ObjectTreePropertyTreeElement):
* UserInterface/Views/ObjectTreeView.css:
(.object-tree-outline li .empty-message):
* UserInterface/Views/ObjectTreeView.js:
(WebInspector.ObjectTreeView.createEmptyMessageElement):
(WebInspector.ObjectTreeView.comparePropertyDescriptors):
(WebInspector.ObjectTreeView.prototype._updateProperties):

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

4 years agoWeb Inspector: Fix querySelector in ResourceContentView.js, caught by assertion
commit-queue@webkit.org [Thu, 7 May 2015 21:15:21 +0000 (21:15 +0000)]
Web Inspector: Fix querySelector in ResourceContentView.js, caught by assertion
https://bugs.webkit.org/show_bug.cgi?id=144756

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-07
Reviewed by Timothy Hatcher.

* UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView.prototype._hasContent):
Ensure querySelector call is using the class name correctly.

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

4 years ago[GTK] Checks for DEVELOPMENT_BUILD are all wrong
mcatanzaro@igalia.com [Thu, 7 May 2015 21:09:02 +0000 (21:09 +0000)]
[GTK] Checks for DEVELOPMENT_BUILD are all wrong
https://bugs.webkit.org/show_bug.cgi?id=144746

Reviewed by Martin Robinson.

.:

Don't set DEVELOPMENT_BUILD. We check whether it is defined for conditional compilation, not
what it is defined to, so defining it to 0 effectively turned it on always.

* Source/cmake/OptionsGTK.cmake:

Source/WebCore:

Use DEVELOPER_MODE rather than DEVELOPMENT_BUILD.

* platform/gtk/GtkUtilities.cpp:
* platform/gtk/GtkUtilities.h:
* platform/text/gtk/HyphenationLibHyphen.cpp:
(WebCore::availableLocales):

Source/WebKit2:

Use DEVELOPER_MODE rather than DEVELOPMENT_BUILD.

* Shared/gtk/ProcessExecutablePathGtk.cpp:
(WebKit::findWebKitProcess):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(injectedBundleDirectory):
* UIProcess/gtk/TextCheckerGtk.cpp:
(WebKit::enchantTextChecker):

Tools:

Use DEVELOPER_MODE rather than DEVELOPMENT_BUILD.

* MiniBrowser/gtk/main.c:
(main):

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

4 years agoUnreviewed, add missing braces on a single-line if that got expanded in r183939
basile_clement@apple.com [Thu, 7 May 2015 20:59:44 +0000 (20:59 +0000)]
Unreviewed, add missing braces on a single-line if that got expanded in r183939

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):

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

4 years agoRemove the WK1-only code path for independently composited iframes
simon.fraser@apple.com [Thu, 7 May 2015 20:45:42 +0000 (20:45 +0000)]
Remove the WK1-only code path for independently composited iframes
https://bugs.webkit.org/show_bug.cgi?id=144722

Reviewed by Dean Jackson.
Source/WebCore:

In WebKit1 on Mac, we allowed iframes to be composited independently of their
parent document, relying on the fact that the frame's platform view can host
a layer-backed view. However, this ran into bugs (rdar://problem/18862298),
and triggers the assertion at the end of FrameView::updateLayoutAndStyleIfNeededRecursive(),
because the compositing update after a layout can dirty style in notifyIFramesOfCompositingChange().

Removing the WK1-only code path solves these problems. It also eliminates the need
to do compositing-specific frame overlap testing.

* page/FrameView.cpp:
(WebCore::FrameView::setIsOverlapped): No need to do compositing-related things here.
Any iframe that gets composited will participate in the normal compositing overlap
testing in its parent frame.
(WebCore::FrameView::hasCompositedContentIncludingDescendants): Deleted.
(WebCore::FrameView::hasCompositingAncestor): Deleted.
* page/FrameView.h:
* rendering/RenderLayerCompositor.cpp: Replace ownerElement() checks in this file
with an isMainFrameCompositor() for readability. Some 0->nullptr.
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::chromeClient):
(WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::appendDocumentOverlayLayers):
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::layerTreeAsText):
(WebCore::RenderLayerCompositor::frameContentsCompositor):
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
(WebCore::RenderLayerCompositor::requiresCompositingForFrame): frameRenderer.requiresAcceleratedCompositing()
already bails on no content RenderView, so the shouldPropagateCompositingToEnclosingFrame() check does
nothing and is removed.
(WebCore::RenderLayerCompositor::isAsyncScrollableStickyLayer):
(WebCore::RenderLayerCompositor::requiresScrollLayer):
(WebCore::RenderLayerCompositor::documentUsesTiledBacking):
(WebCore::RenderLayerCompositor::isMainFrameCompositor):
(WebCore::RenderLayerCompositor::shouldCompositeOverflowControls):
(WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
(WebCore::RenderLayerCompositor::requiresContentShadowLayer):
(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
(WebCore::RenderLayerCompositor::ensureRootLayer): Main frame attaches via ChromeClient,
all other frames attach via parent frame.
(WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): This call to
scheduleSetNeedsStyleRecalc(SyntheticStyleChange) was the source of dirtying style after
layout, but is no longer needed so remove it.
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
(WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
(WebCore::RenderLayerCompositor::scrollingCoordinator):
(WebCore::RenderLayerCompositor::graphicsLayerFactory):
(WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): Deleted.
(WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): Deleted.
(WebCore::RenderLayerCompositor::mainFrameBackingIsTiled): Deleted. This was mis-named;
it really asks whether the document uses tiled backing, but does not check for main frame.
* rendering/RenderLayerCompositor.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents): No need to do frame overlap testing for
compositing now.

LayoutTests:

Results different from WK2, because WK1 does not make layers for scrollbars.

* platform/mac-wk1/compositing/visible-rect/iframe-no-layers-expected.txt: Added.

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

4 years agoHandle backdrop views that have to tile
dino@apple.com [Thu, 7 May 2015 20:13:47 +0000 (20:13 +0000)]
Handle backdrop views that have to tile
https://bugs.webkit.org/show_bug.cgi?id=142317
<rdar://problem/20049088>

Reviewed by Simon Fraser.

Take 2 - this was rolled out because Mavericks was crashing.

Source/WebCore:

Make sure backdrop layers don't tile. If they are big
enough, we'll leave it to the platform compositor to handle.

This also fixes a bug where if a layer changed from a backdrop
type to a tiled type, it would still retain its custom appearance
and we'd try to add children to the wrong layer.

Test: compositing/media-controls-bar-appearance-big.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Check if
a layer needs a backdrop before checking if it needs to tile.

Source/WebKit2:

Add some better logging for custom appearance.

* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):

LayoutTests:

A test that creates some backdrop views, then makes them
big enough that it would trigger tiling (which we don't want
to happen).

* compositing/media-controls-bar-appearance-big-expected.txt: Added.
* compositing/media-controls-bar-appearance-big.html: Added.

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

4 years agoAdd PLUGIN_ARCHITECTURE(X11) around m_frameRectInWindowCoordinates in NetscapePlugin.
commit-queue@webkit.org [Thu, 7 May 2015 20:06:13 +0000 (20:06 +0000)]
Add PLUGIN_ARCHITECTURE(X11) around m_frameRectInWindowCoordinates in NetscapePlugin.
https://bugs.webkit.org/show_bug.cgi?id=144490

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

m_frameRectInWindowCoordinates in NetscapePlugin is currently being used only for
the windowed plugins, and the windowed plugins are only supported on X11. So we can
guard it with PLUGIN_ARCHITECTURE(X11).

No new tests, no behavior change.

* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::geometryDidChange):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:

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

4 years agoRevert "Introducing the Platform Abstraction Layer (PAL)"
mmaxfield@apple.com [Thu, 7 May 2015 18:52:59 +0000 (18:52 +0000)]
Revert "Introducing the Platform Abstraction Layer (PAL)"
https://bugs.webkit.org/show_bug.cgi?id=144751

Unreviewed.

PAL should be a new target inside WebCore, rather than a top-level folder.

.:

* WebKit.xcworkspace/contents.xcworkspacedata: Add it to the workspace.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Updated

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Updated

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Updated

Tools:

* Scripts/build-webkit: Add it to build-webkit.

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

4 years agoDumping OSR ExitValue should expand materializations only once
basile_clement@apple.com [Thu, 7 May 2015 18:39:46 +0000 (18:39 +0000)]
Dumping OSR ExitValue should expand materializations only once
https://bugs.webkit.org/show_bug.cgi?id=144694

Reviewed by Filip Pizlo.

Currently, dumping OSR exit values will print the full materialization
information each time it is encountered. We change it to print only a
brief description (only the materialization's address), and print the
whole set of materializations later on.

This makes the dump less confusing (less likely to think that two
instances of the same materialization are different), and will be a
necessary change if/when we support materialization cycles.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLExitValue.cpp:
(JSC::FTL::ExitValue::dumpInContext):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):

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

4 years agoWorker threads leak WeakBlocks (as seen on leaks bot)
akling@apple.com [Thu, 7 May 2015 18:32:29 +0000 (18:32 +0000)]
Worker threads leak WeakBlocks (as seen on leaks bot)
<https://webkit.org/b/144721>
<rdar://problem/20848288>

Reviewed by Darin Adler.

Nuke any remaining empty WeakBlocks when the Heap is being torn down.
Trying to peek into these blocks after the VM is dead would be a bug anyway.

This fixes a ~750 KB leak seen on the leaks bot.

* heap/Heap.cpp:
(JSC::Heap::~Heap):

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

4 years ago[WK2][Fullscreen] Fullscreen video does not enter low-power mode.
jer.noble@apple.com [Thu, 7 May 2015 18:26:14 +0000 (18:26 +0000)]
[WK2][Fullscreen] Fullscreen video does not enter low-power mode.
https://bugs.webkit.org/show_bug.cgi?id=144744

Reviewed by Darin Adler.

One of the requirements of entering low-power compositing mode is that no masking layers
are present in any of the ancestors of the fullscreen video layer. So once our fullscreen
transition animation completes, remove the mask layer entirely from our clipping layer.
This means it needs to be re-created and added when entering fullscreen, rather than just
at initialization time.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController initWithWindow:webView:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):

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

4 years ago[GTK] All spell checking layout tests fail
mrobinson@webkit.org [Thu, 7 May 2015 18:24:31 +0000 (18:24 +0000)]
[GTK] All spell checking layout tests fail
https://bugs.webkit.org/show_bug.cgi?id=144648

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Simplify and complete the GTK+ spell-checking implementation. Instead of using
the EFL/GTK+ only WKTextChecker interface, directly implement Enchant spell-checking
in TextCheckerGtk. The per-context spell checking API is an illusion, since all
WKTextChecker implementations will adjust the same singleton. This can be a first step
toward removing it entirely.

Also complete the implementation of the TextChecker interface by duplicating the EFL code,
which reuses other methods in the same class. Eventually this duplication will collapse,
once GTK+ and EFL can share an Enchant implementation.

* PlatformGTK.cmake:
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitTextChecker.cpp: Removed.
* UIProcess/API/gtk/WebKitTextChecker.h: Removed.
* UIProcess/API/gtk/WebKitWebContext.cpp: Remove WebTextChecker usage and
replace it with calls directly to the TextChecker singleton via static methods.
* UIProcess/TextChecker.h:
* UIProcess/gtk/TextCheckerGtk.cpp: Move the WebTextChecker enchant implementation
here and reuse the EFL version of WebKit::TextChecker::requestCheckingOfString.
Also initialize languages properly when building for developer builds. This
allows WebKitTestRunner to work even when it doesn't explicitly set the languages.

Source/WTF:

* wtf/Platform.h: Activate UNIFIED_TEXT_CHECKING for GTK+.

LayoutTests:

* platform/gtk/TestExpectations: Unskip and reclassify previously failing tests.
* platform/gtk/editing/spelling/spellcheck-paste-expected.txt: Removed.

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

4 years agoDon't branch when accessing the callee
ggaren@apple.com [Thu, 7 May 2015 18:01:46 +0000 (18:01 +0000)]
Don't branch when accessing the callee
https://bugs.webkit.org/show_bug.cgi?id=144645

Reviewed by Michael Saboff.

The branch was added in <http://trac.webkit.org/changeset/81040> without
explanation.

kling found it to be a performance problem. See <https://webkit.org/b/144586>.

Our theory of access to Registers is that it's up to the client to access
them in the right way. So, let's do that.

* interpreter/CallFrame.h:
(JSC::ExecState::callee):
(JSC::ExecState::setCallee): Call the field object instead of function
because nothing guarantees that it's a function.
* interpreter/ProtoCallFrame.h:
(JSC::ProtoCallFrame::callee):
(JSC::ProtoCallFrame::setCallee):
* interpreter/Register.h:
* runtime/JSObject.h:
(JSC::Register::object): Just do a cast like our other accessors do.
(JSC::Register::operator=):
(JSC::Register::function): Deleted.
(JSC::Register::withCallee): Deleted.

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

4 years agoTried to fix the build.
mitz@apple.com [Thu, 7 May 2015 17:59:23 +0000 (17:59 +0000)]
Tried to fix the build.

* Configurations/WebCoreTestSupport.xcconfig:

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

4 years agoSource/WebKit2:
adachan@apple.com [Thu, 7 May 2015 17:45:51 +0000 (17:45 +0000)]
Source/WebKit2:
Fix a couple of cases where the backForwardListState's currentIndex is not set correctly in WebBackForwardList::backForwardListState().
https://bugs.webkit.org/show_bug.cgi?id=144666

Reviewed by Darin Adler.

* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backForwardListState):
If the first item is filtered out and the currentIndex is 0, don't decrement currentIndex.
If all the items are filtered out, set currentIndex to the uninitialized value.

Tools:
Add a test for WKPageCopySessionState() with filtering.
https://bugs.webkit.org/show_bug.cgi?id=144666

Reviewed by Darin Adler.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/WKPageCopySessionStateWithFiltering.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::filterFirstItemCallback):
(TestWebKitAPI::filterAllItemsCallback):
(TestWebKitAPI::createSessionStates):
(TestWebKitAPI::TEST):

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

4 years agoAX: [ATK] The pre element should be mapped to ATK_ROLE_SECTION; not ATK_ROLE_PANEL
jdiggs@igalia.com [Thu, 7 May 2015 17:30:00 +0000 (17:30 +0000)]
AX: [ATK] The pre element should be mapped to ATK_ROLE_SECTION; not ATK_ROLE_PANEL
https://bugs.webkit.org/show_bug.cgi?id=144702

Reviewed by Chris Fleizach.

Source/WebCore:

Add a new PreRole AccessibilityRole so that per-platform mapping is possible.
Map PreRole to ATK_ROLE_SECTION for Efl and Gtk; to NSAccessibilityGroupRole
for the Mac. Add PreRole to the list of "text type" ATK roles.

No new tests. Existing tests were updated to reflect the corrected mapping.

* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::allowsTextRanges):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
(roleIsTextType):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):

LayoutTests:

In addition to updating the platform expectations for Efl and Gtk, the computed
roles test needed to be updated because there is not a one-to-one mapping between
the HTML pre element and any ARIA role type.

* accessibility/roles-computedRoleString-expected.txt: Updated.
* accessibility/roles-computedRoleString.html: Updated.
* platform/efl/accessibility/roles-exposed-expected.txt: Updated.
* platform/gtk/accessibility/roles-exposed-expected.txt: Updated.

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

4 years ago[WK2] Remove Windows cruft
ossy@webkit.org [Thu, 7 May 2015 17:18:13 +0000 (17:18 +0000)]
[WK2] Remove Windows cruft
https://bugs.webkit.org/show_bug.cgi?id=144745

Reviewed by Darin Adler.

* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::getMemorySize):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::encode):
(IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::decode):
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::getMemorySize):

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

4 years agoREGRESSION(r182032): [GTK] Production build is broken after r182032
carlosgc@webkit.org [Thu, 7 May 2015 16:46:05 +0000 (16:46 +0000)]
REGRESSION(r182032): [GTK] Production build is broken after r182032
https://bugs.webkit.org/show_bug.cgi?id=144736

Reviewed by Martin Robinson.

The problem is that r182032 moved the NetworkProcess sources from
WebKit2 sources to NetworkProcess sources. That's not a problem
for developer builds where all internal symbols are exported, but
doesn't work for production builds because all those internal
symbols are private.

* CMakeLists.txt: Use a different name for common network process
sources variable.
* PlatformMac.cmake: Append common network process sources to the
network process source list for Mac.

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

4 years ago<rdar://problem/19317140> [Xcode] Remove usage of AspenFamily.xcconfig in Source/
mitz@apple.com [Thu, 7 May 2015 16:26:59 +0000 (16:26 +0000)]
<rdar://problem/19317140> [Xcode] Remove usage of AspenFamily.xcconfig in Source/
https://bugs.webkit.org/show_bug.cgi?id=144727

Reviewed by Darin Adler.

Source/bmalloc:

* Configurations/Base.xcconfig: Dont’s include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX for the iOS 8.x Simulator.

Source/JavaScriptCore:

* Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.

Source/PAL:

* Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX for the iOS 8.x Simulator.

Source/ThirdParty:

* gtest/xcode/Config/General.xcconfig: Don’t include AspenFamily.xcconfig.

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.

Source/WebCore:

* Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig.
* Configurations/WebCore.xcconfig: For iOS, define INSTALL_PATH in terms of
INSTALL_PATH_PREFIX, and set INSTALL_PATH_PREFIX for the iOS 8.x Simulator.
* Configurations/WebCoreTestSupport.xcconfig: Define INSTALL_PATH in terms of
INSTALL_PATH_PREFIX and INSTALL_PATH_ACTUAL, and define INSTALL_PATH_PREFIX for the iOS 8.x
Simulator.

Source/WebKit/mac:

* Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig.
* Configurations/WebKitLegacy.xcconfig: Define INSTALL_PATH in terms of
INSTALL_PATH_PREFIX and INSTALL_PATH_ACTUAL, and define INSTALL_PATH_PREFIX for the iOS 8.x
Simulator.

Source/WebKit2:

* Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.
* Configurations/WebKit2.xcconfig: Define INSTALL_PATH_ACTUAL and let INSTALL_PATH be
derived from it and INSTALL_PATH_PREFIX. Don’t override DYLIB_INSTALL_NAME_BASE for iOS,
because we define LD_DYLIB_INSTALL_NAME directly where needed.

Source/WTF:

* Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.

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

4 years agoSpecial-case Int32 values in JSON.stringify().
akling@apple.com [Thu, 7 May 2015 15:56:40 +0000 (15:56 +0000)]
Special-case Int32 values in JSON.stringify().
<https://webkit.org/b/144731>

Reviewed by Michael Saboff.

Add a fast path for serializing Int32 values to JSON. This is far faster than dragging
simple integers through the full-blown dtoa() machinery.

~50% speedup on Kraken/json-stringify-tinderbox.

* runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):

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

4 years ago[Mac] Playback target isn't set on new element
eric.carlson@apple.com [Thu, 7 May 2015 14:12:17 +0000 (14:12 +0000)]
[Mac] Playback target isn't set on new element
https://bugs.webkit.org/show_bug.cgi?id=144724

Reviewed by Jer Noble.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Call setShouldPlayToPlaybackTarget
if necessary.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget): Remember
the setting in case we don't have an AVPlayer yet.

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

4 years ago[EFL] Unreviewed gardening.
ossy@webkit.org [Thu, 7 May 2015 14:03:43 +0000 (14:03 +0000)]
[EFL] Unreviewed gardening.

Removed stale expected files, because these tests are reftests now. (as RWT suggested)
Commented old expectations after r183925 to avoid having ambiguous expectations.

* platform/efl/TestExpectations:
* platform/efl/animations/cross-fade-background-image-expected.png: Removed.
* platform/efl/animations/cross-fade-background-image-expected.txt: Removed.
* platform/efl/css3/masking/clip-path-circle-relative-overflow-expected.png: Removed.
* platform/efl/css3/masking/clip-path-polygon-evenodd-expected.png: Removed.
* platform/efl/css3/masking/clip-path-polygon-expected.png: Removed.
* platform/efl/css3/masking/clip-path-polygon-nonzero-expected.png: Removed.

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

4 years ago[EFL] Mouseevent/hover tests fail with XorgDriver
ossy@webkit.org [Thu, 7 May 2015 13:48:10 +0000 (13:48 +0000)]
[EFL] Mouseevent/hover tests fail with XorgDriver
https://bugs.webkit.org/show_bug.cgi?id=144741

Unreviewed gardening, mark failing tests, skip timeouting tests.

* platform/efl/TestExpectations:

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

4 years ago[EFL] REGRESSION(r183907): It made all inspector-protocol test crash
ossy@webkit.org [Thu, 7 May 2015 10:14:02 +0000 (10:14 +0000)]
[EFL] REGRESSION(r183907): It made all inspector-protocol test crash
https://bugs.webkit.org/show_bug.cgi?id=144737

Unreviewed gardening, skip crashing tests.

* platform/efl/TestExpectations:

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

4 years agoUnreviewed. Update OptionsGTK.cmake and NEWS for 2.9.1 release.
carlosgc@webkit.org [Thu, 7 May 2015 10:05:16 +0000 (10:05 +0000)]
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.1 release.

.:

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

Source/WebKit2:

* gtk/NEWS: Add release notes for 2.9.1.

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

4 years ago[GTK] Clean up RunLoop implementation
zandobersek@gmail.com [Thu, 7 May 2015 08:26:56 +0000 (08:26 +0000)]
[GTK] Clean up RunLoop implementation
https://bugs.webkit.org/show_bug.cgi?id=144729

Reviewed by Carlos Garcia Campos.

Clean up the RunLoop implementation for the GTK port,
removing unnecessary methods and using simpler variable names.

Nested GMainLoops in RunLoop::run() are now created for the
RunLoop's GMainContext, and not for the default context (enforced
through the null argument to g_main_loop_new()).

* wtf/RunLoop.h:
* wtf/gtk/RunLoopGtk.cpp:
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::~RunLoop):
(WTF::RunLoop::run):
(WTF::RunLoop::stop):
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::innermostLoop): Deleted.
(WTF::RunLoop::pushNestedMainLoop): Deleted.
(WTF::RunLoop::popNestedMainLoop): Deleted.

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

4 years agoFix <script srcset> being loaded by the preloader.
yoav@yoav.ws [Thu, 7 May 2015 08:09:03 +0000 (08:09 +0000)]
Fix <script srcset> being loaded by the preloader.
https://bugs.webkit.org/show_bug.cgi?id=144675

Reviewed by Darin Adler.

Source/WebCore:

Fix HTMLPreloadScanner to make sure that srcset is only loaded
when it is present on an <img>.

Tests: http/tests/loading/preload-script-src.html
       http/tests/loading/preload-script-srcset-ignored.html

* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):

LayoutTests:

Add preloader tests to make sure that <script src> is preloaded,
and <script srcset> is not.

* http/tests/loading/preload-script-src-expected.txt: Added.
* http/tests/loading/preload-script-src.html: Added.
* http/tests/loading/preload-script-srcset-ignored-expected.txt: Added.
* http/tests/loading/preload-script-srcset-ignored.html: Added.

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

4 years ago[GTK] Remove dock button from Web Inspector window
carlosgc@webkit.org [Thu, 7 May 2015 08:02:24 +0000 (08:02 +0000)]
[GTK] Remove dock button from Web Inspector window
https://bugs.webkit.org/show_bug.cgi?id=144728

Reviewed by Sergio Villar Senin.

We added the dock buttons to the headerbar, because they were
removed from the inspector toolbar, but with the new tabbed
design, the dock buttons are back in the toolbar and look redundant.

* UIProcess/WebInspectorProxy.h:
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):
(WebKit::WebInspectorProxy::dockButtonClicked): Deleted.

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

4 years agoAdd missing type traits specialization for PlatformDisplayWayland
zandobersek@gmail.com [Thu, 7 May 2015 07:09:06 +0000 (07:09 +0000)]
Add missing type traits specialization for PlatformDisplayWayland
https://bugs.webkit.org/show_bug.cgi?id=144671

Reviewed by Carlos Garcia Campos.

* platform/graphics/wayland/PlatformDisplayWayland.h:
Add missing type traits specialization for the PlatformDisplayWayland
class via the SPECIALIZE_TYPE_TRAITS_PLATFORM_DISPLAY macro.

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

4 years agoVersioning.
bshafiei@apple.com [Thu, 7 May 2015 06:53:41 +0000 (06:53 +0000)]
Versioning.

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

4 years agoiOS build fix attempt
ap@apple.com [Thu, 7 May 2015 06:20:20 +0000 (06:20 +0000)]
iOS build fix attempt

Link WebKitTestRunnerApp to WebKit, now that we don't have WebKit2.

* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

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

4 years agoAdd srcset preloader tests
yoav@yoav.ws [Thu, 7 May 2015 06:13:06 +0000 (06:13 +0000)]
Add srcset preloader tests
https://bugs.webkit.org/show_bug.cgi?id=144674

Reviewed by Darin Adler.

Add several preloader tests making sure that the when srcset is being preloaded,
the right resource is fetched, and the other resource is not.

* http/tests/loading/preload-img-src-expected.txt: Added.
* http/tests/loading/preload-img-src.html: Added.
* http/tests/loading/preload-img-srcset-expected.txt: Added.
* http/tests/loading/preload-img-srcset-sizes-expected.txt: Added.
* http/tests/loading/preload-img-srcset-sizes.html: Added.
* http/tests/loading/preload-img-srcset.html: Added.
* http/tests/resources/checkPreload.js: Added.
(checkForPreload):

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

4 years ago[CSS Grid Layout] Mark grid shorthands as layout dependent
rego@igalia.com [Thu, 7 May 2015 06:07:25 +0000 (06:07 +0000)]
[CSS Grid Layout] Mark grid shorthands as layout dependent
https://bugs.webkit.org/show_bug.cgi?id=144687

Reviewed by Darin Adler.

Source/WebCore:

grid-template and grid shorthands were not marked us layout dependent,
so you can end up calling them before the grid has been laid out and
you'll get a crash at valueForGridTrackList() because of trackPositions
won't be initialized yet.

Tests: fast/css-grid-layout/grid-shorthand-computed-style-crash.html
       fast/css-grid-layout/grid-template-shorthand-computed-style-crash.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::isLayoutDependent): Add the grid shorthands only if the object
is a RenderGrid as otherwise it's not needed (using the same condition
for grid-template-columns and grid-template-rows properties too).

LayoutTests:

* fast/css-grid-layout/grid-shorthand-computed-style-crash-expected.txt: Added.
* fast/css-grid-layout/grid-shorthand-computed-style-crash.html: Added.
* fast/css-grid-layout/grid-template-shorthand-computed-style-crash-expected.txt: Added.
* fast/css-grid-layout/grid-template-shorthand-computed-style-crash.html: Added.

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

4 years agoToT WebKit crashes while loading ES6 compatibility table
rniwa@webkit.org [Thu, 7 May 2015 05:15:56 +0000 (05:15 +0000)]
ToT WebKit crashes while loading ES6 compatibility table
https://bugs.webkit.org/show_bug.cgi?id=144726

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

The bug was caused by parseClass superfluously avoiding to build up the string after seeing {.

Always build the identifier here as it could be a method name.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):

LayoutTests:

Added new test cases.

* js/class-syntax-string-and-numeric-names-expected.txt:
* js/script-tests/class-syntax-string-and-numeric-names.js:

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

4 years ago[WK2][Fullscreen] Elements whose children extend beyond their bounds are clipped...
jer.noble@apple.com [Thu, 7 May 2015 04:56:11 +0000 (04:56 +0000)]
[WK2][Fullscreen] Elements whose children extend beyond their bounds are clipped in fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=144716

Reviewed by Darin Adler.

We create a mask animation for the transition between windowed and fullscreen modes, on the
assumption that the element being taken into fullscreen mode does not have visible children
who extend beyond that elements bounds. This assumption breaks down in the case where div
with absolutely positioned children is taken fullscreen. While we can't necessarily make the
transition look correct in this case, we can remove the mask after the transition completes.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
* WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
(WebKit::removeAllMediaKeyStorageForOriginPath):

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

4 years agoFix a build break on EFL debug build
commit-queue@webkit.org [Thu, 7 May 2015 04:46:07 +0000 (04:46 +0000)]
Fix a build break on EFL debug build
https://bugs.webkit.org/show_bug.cgi?id=144654

Patch by Jinwoo Jeong <jw00.jeong@samsung.com> on 2015-05-06
Reviewed by Gyuyoung Kim.

No new tests, just build fix.

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebKit::CoordinatedGraphicsScene::paintToGraphicsContext):

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

4 years ago[iOS][WK2] Pause/resume database thread when UIProcess enters/leaves the background
dbates@webkit.org [Thu, 7 May 2015 03:23:57 +0000 (03:23 +0000)]
[iOS][WK2] Pause/resume database thread when UIProcess enters/leaves the background
https://bugs.webkit.org/show_bug.cgi?id=144657
<rdar://problem/18894598>

Reviewed by Andy Estes.

Source/WebCore:

Export WebCore functionality to pause and resume the database thread so that we can
make use of this functionality from WebKit2.

* Modules/webdatabase/AbstractDatabaseServer.h:
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::setPauseAllDatabases): Added; turns around and calls DatabaseServer::setPauseAllDatabases().
* Modules/webdatabase/DatabaseManager.h:
* Modules/webdatabase/DatabaseServer.cpp:
(WebCore::DatabaseServer::setPauseAllDatabases): Added; turns around and calls
DatabaseTracker::tracker().setDatabasesPaused() to pause or resume the database thread.
For now, we guard this call with PLATFORM(IOS). We'll look to remove this guard once
we fix <https://bugs.webkit.org/show_bug.cgi?id=144660>.
* Modules/webdatabase/DatabaseServer.h:

Source/WebKit2:

Pause and resume the database thread when the UIProcess enters and leaves the background,
respectively, so that we avoid WebProcess termination due to holding a locked SQLite
database file when the WebProcess is suspended. This behavior matches the analagous
behavior in Legacy WebKit.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _applicationDidEnterBackground:]): Call WebPageProxy::applicationDidEnterBackground()
when the UIProcess enters the background.
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidEnterBackground): Added; notify the WebProcess to pause the database thread.
We temporarily take out background assertion on the WebProcess before sending this notification to ensure that the
WebProcess is running to receive it. We'll release this assertion when the WebProcess replies that it received the
notification.
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::setPauseAllDatabases): Added; turns around and calls DatabaseManager::setPauseAllDatabases().
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Add message ApplicationDidEnterBackground(). Also,
add empty lines to help demarcate this message and the other UIKit application lifecycle-related
messages from the rest of the list of messages.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationWillEnterForeground): Resume the database thread.
(WebKit::WebPage::applicationDidEnterBackground): Pause the database thread.

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

4 years ago[EFL] ewk_view_page_contents_get() API test is flaky
ryuan.choi@navercorp.com [Thu, 7 May 2015 03:19:42 +0000 (03:19 +0000)]
[EFL] ewk_view_page_contents_get() API test is flaky
https://bugs.webkit.org/show_bug.cgi?id=144683

Reviewed by Gyuyoung Kim.

Callback of WKPageGetContentsAsMHTMLData contains WKData which does not contain null terminated character.

* UIProcess/API/efl/ewk_view.cpp: Pass the data of string instead of WKData directly.
(ewkViewPageContentsAsMHTMLCallback):

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

4 years agoWeb Inspector: Docking Toolbar Buttons do not respect Docking Availability
commit-queue@webkit.org [Thu, 7 May 2015 03:04:32 +0000 (03:04 +0000)]
Web Inspector: Docking Toolbar Buttons do not respect Docking Availability
https://bugs.webkit.org/show_bug.cgi?id=144714

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-06
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.updateDockingAvailability):
(WebInspector._updateDockNavigationItems):
Update the Toolbar UI based on docking availability.
Assume docking is unavailable by default.

* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setDockingUnavailable):
Add back this API as the backend may be calling it when
docking availability changes. This just calls out to
global WebInspector functions to update the Toolbar UI.

* UserInterface/Base/Test.js:
(WebInspector.updateDockedState):
(WebInspector.updateDockingAvailability):
Do nothing in tests.

Source/WebKit2:

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::attachAvailabilityChanged):
* WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::setDockingUnavailable):
* WebProcess/WebPage/WebInspectorUI.h:
* WebProcess/WebPage/WebInspectorUI.messages.in:
When docking availability changes, inform the inspector page
so it can respond by updating its UI.

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

4 years agoScroll-snap points do not handle margins and padding propertly
bfulgham@apple.com [Thu, 7 May 2015 02:53:00 +0000 (02:53 +0000)]
Scroll-snap points do not handle margins and padding propertly
https://bugs.webkit.org/show_bug.cgi?id=144647
<rdar://problem/20829473>

Reviewed by Simon Fraser.

Source/WebCore:

The calculation of scroll snap points was incorrect because it did not account for margins or padding.
This was fixed by using the "paddingBoxRect" to represent the overall size of the view area, and
subtracting the relevant padding when computing the size of the scroll snap offsets.

Extend testing internals with accessor methods to retrieve string representations of the scroll snap
offsets and scroll snap coordinates computed during layout. These values are used in the new
'css3/scroll-snap/scroll-snap-offsets-and-coordinates.html' test.

New tests:
* css3/scroll-snap/scroll-snap-offsets-and-coordinates.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html: Added.

* css/LengthFunctions.h: Expose the 'valueForLength' method so we can use it in WebCoreTestSupport.
* dom/Node.h: Expose the 'renderBox' method so we can use it in WebCoreTestSupport.
* page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::appendChildSnapOffsets): Use 'contentBoxRect' for overall size, so that we don't use padding
as part of our offset calculations.
(WebCore::updateSnapOffsetsForScrollableArea): Ditto.
* rendering/RenderBox.h: Expose 'canBeScrolledAndHasScrollableArea' for use in WebCoreTestSupport.
* rendering/style/RenderStyle.h: Expose 'scrollSnapCoordinates' for use in WebCoreTestSupport.
* testing/Internals.cpp:
(WebCore::appendOffsets): Helper function.
(WebCore::Internals::scrollSnapOffsets): Added.
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Add new scroll-snap tests that cover elements with borders, padding, and rotation. Also correct the
cause of the 'scroll-snap-mandatory-overflow.html' test flakiness by making sure the mouse is always
inside the element when starting new wheel gestures.

Also add a new 'generic' test that confirms that we have expected results for scroll-snap coordinates
and calculated scroll-snap-offset values.

* css3/scroll-snap/scroll-snap-offsets.html: Added.
* platform/mac-wk2/TestExpectations: Remove flakiness annotation for scroll-snap-mandatory-overflow.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe.html:
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow.html:
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html: Added.

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

4 years agoWeb Inspector: The text in the left pane overlaps the "Filter Time Events" field...
mattbaker@apple.com [Thu, 7 May 2015 02:32:57 +0000 (02:32 +0000)]
Web Inspector: The text in the left pane overlaps the "Filter Time Events" field in the Timeline after the Web Inspector is resized
https://bugs.webkit.org/show_bug.cgi?id=144720

Reviewed by Timothy Hatcher.

* UserInterface/Views/FilterBar.css:
(.filter-bar):
(.filter-bar > .navigation-bar):
(.filter-bar > input[type="search"]):
(.filter-bar > .navigation-bar > .item): Deleted.
Filter bar now has opaque background and height updated to the ubiquitous 29px.

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

4 years agoClean up TextRun constructors
mmaxfield@apple.com [Thu, 7 May 2015 02:09:26 +0000 (02:09 +0000)]
Clean up TextRun constructors
https://bugs.webkit.org/show_bug.cgi?id=144712

Reviewed by Zalan Bujtas.

This patch uses constructor forwarding to make TextRun's constructors much simpler. It then
updates the implementations of RenderBlock::constructTextRun() to be more consistent with
TextRun (via using StringViews).

No new tests because there is no behavior change.

* mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::longDivLeftPadding):
* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
(WebCore::constructTextRunInternal): Deleted.
* rendering/RenderBlock.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
* platform/win/DragImageWin.cpp:
(WebCore::createDragImageForLink):

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

4 years ago[WK2] Simplify AsyncRequestImpl::ArgumentType parameters
commit-queue@webkit.org [Thu, 7 May 2015 01:23:12 +0000 (01:23 +0000)]
[WK2] Simplify AsyncRequestImpl::ArgumentType parameters
https://bugs.webkit.org/show_bug.cgi?id=144689

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-05-06
Reviewed by Darin Adler.

Remove duplicated typename and ::type from AsyncRequestImpl related
function parameters.

* Shared/AsyncRequest.h:

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

4 years agoUnreviewed, updated my list of email addresses.
mattbaker@apple.com [Thu, 7 May 2015 00:59:05 +0000 (00:59 +0000)]
Unreviewed, updated my list of email addresses.

* Scripts/webkitpy/common/config/contributors.json:

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

4 years agoRename URL::copy() to URL::isolatedCopy() to match String.
commit-queue@webkit.org [Thu, 7 May 2015 00:28:22 +0000 (00:28 +0000)]
Rename URL::copy() to URL::isolatedCopy() to match String.
https://bugs.webkit.org/show_bug.cgi?id=144684

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-06
Reviewed by Darin Adler.

No new tests, no behavior change.

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::setURL):
(WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies):
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::BlobRegistryContext::BlobRegistryContext):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::updatePredictedBaseURL):
* html/parser/HTMLResourcePreloader.h:
(WebCore::PreloadRequest::PreloadRequest):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init):
* platform/CrossThreadCopier.cpp:
(WebCore::URL>::copy):
* platform/URL.cpp:
(WebCore::URL::isolatedCopy):
(WebCore::URL::copy): Deleted.
* platform/URL.h:
(WebCore::URLCapture::URLCapture):
* platform/network/BlobPart.h:
(WebCore::BlobPart::detachFromCurrentThread):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::copyData):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::copyData):
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):

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

4 years agoUnreviewed, rolling out r183894.
commit-queue@webkit.org [Thu, 7 May 2015 00:26:48 +0000 (00:26 +0000)]
Unreviewed, rolling out r183894.
https://bugs.webkit.org/show_bug.cgi?id=144719

crashes on mavericks (Requested by dino on #webkit).

Reverted changeset:

"Handle backdrop views that have to tile"
https://bugs.webkit.org/show_bug.cgi?id=142317
http://trac.webkit.org/changeset/183894

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

4 years agoCoreTextSPI.h uses wrong version number to denote Yosemite
jonlee@apple.com [Wed, 6 May 2015 23:42:45 +0000 (23:42 +0000)]
CoreTextSPI.h uses wrong version number to denote Yosemite
https://bugs.webkit.org/show_bug.cgi?id=144701

Reviewed by Dean Jackson.

* platform/spi/cocoa/CoreTextSPI.h: Should 101000 not 10100.

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

4 years agoAddition review followup for:
beidson@apple.com [Wed, 6 May 2015 23:32:59 +0000 (23:32 +0000)]
Addition review followup for:
Crash executing null AsyncRequest in IDB code.
<rdar://problem/18854856> and https://bugs.webkit.org/show_bug.cgi?id=144715

Reviewed by Darin Adler.

This patch adds a layer on top of the UniqueIDBDatabase request map to catch this coding mistake in the future.

 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::didCompleteBoolRequest): Get rid of the ASSERT and the temporary variable,
  make it a single line which reads better.
(WebKit::UniqueIDBDatabase::didPutRecordInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didCountInBackingStore): Ditto.
(WebKit::UniqueIDBDatabase::didDeleteRangeInBackingStore): Ditto.
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: Ditto.

Add the class AsyncRequestMap which shadows a HashMap but does aggressive runtime checks
in ::take() to make sure the same request was not dispatched twice in a row, and makes sure we
never try to execute a null AsyncRequest by way of a RELEASE_ASSERT.
* Shared/AsyncRequest.h:
(WebKit::AsyncRequestMap::AsyncRequestMap):
(WebKit::AsyncRequestMap::take):
(WebKit::AsyncRequestMap::add):
(WebKit::AsyncRequestMap::clear):
(WebKit::AsyncRequestMap::values):

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

4 years agoSane chain and string watchpoints should be set in FixupPhase or the backend rather...
fpizlo@apple.com [Wed, 6 May 2015 23:14:14 +0000 (23:14 +0000)]
Sane chain and string watchpoints should be set in FixupPhase or the backend rather than WatchpointCollectionPhase
https://bugs.webkit.org/show_bug.cgi?id=144665

Reviewed by Michael Saboff.

This is a step towards getting rid of WatchpointCollectionPhase. It's also a step towards
extending SaneChain to all indexing shapes.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Set the watchpoints here so that we don't need a case in WatchpointCollectionPhase.
(JSC::DFG::FixupPhase::checkArray): Clarify the need for checking the structure. We often forget why we do this instead of always using CheckArray.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnString): Set the watchpoints here so that we don't need a case in WatchpointCollectionPhase.
* dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle): Remove some code.
(JSC::DFG::WatchpointCollectionPhase::handleStringGetByVal): Deleted.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt): Set the watchpoints here so that we don't need a case in WatchpointCollectionPhase.

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

4 years agoCrash executing null AsyncRequest in IDB code.
beidson@apple.com [Wed, 6 May 2015 23:05:38 +0000 (23:05 +0000)]
Crash executing null AsyncRequest in IDB code.
<rdar://problem/18854856> and https://bugs.webkit.org/show_bug.cgi?id=144715

Reviewed by Darin Adler.

When UniqueIDBDatabase fails to execute an operation on the database work queue it usually
dispatches an AsyncRequest ID back to the main thread with an error callback.

For two of its operations it would then also dispatch the success callback.

In those cases the main thread would first take the AsyncRequest for the error callback out
of a map and then execute it.

It would then try to take the same AsyncRequest out of the map again, fail to do so, then
execute a null AsyncRequest.

This patch fixes the two functions to not dispatch both an error and success callback.

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::countInBackingStore): Return after dispatching the error callback.
(WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Ditto.

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

4 years agoExpose more font weights for -apple-system
jonlee@apple.com [Wed, 6 May 2015 22:55:09 +0000 (22:55 +0000)]
Expose more font weights for -apple-system
https://bugs.webkit.org/show_bug.cgi?id=144707

Reviewed by Dean Jackson.

Source/WebCore:

Update to platform/mac/fast/text/systemFont.html

* platform/graphics/mac/FontCacheMac.mm:
(WebCore::toNSFontWeight): New static method to map font weights to NSFontWeight constants available on
Yosemite and later.
(WebCore::fontWithFamily): Request the system font with a mapped weight on Yosemite and later.
* platform/spi/mac/NSFontSPI.h: Add [NSFont systemFontWithSize:weight:], and the proper NSFontWeight
constants.

LayoutTests:

* platform/mac/fast/text/systemFont.html: Update test to include font weights for -apple-system.
* platform/mac/fast/text/systemFont-expected.txt: Update expectations.

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

4 years agoHandle backdrop views that have to tile
dino@apple.com [Wed, 6 May 2015 22:46:01 +0000 (22:46 +0000)]
Handle backdrop views that have to tile
https://bugs.webkit.org/show_bug.cgi?id=142317
<rdar://problem/20049088>

Reviewed by Simon Fraser.

Source/WebCore:

Make sure backdrop layers don't tile. If they are big
enough, we'll leave it to the platform compositor to handle.

This also fixes a bug where if a layer changed from a backdrop
type to a tiled type, it would still retain its custom appearance
and we'd try to add children to the wrong layer.

Test: compositing/media-controls-bar-appearance-big.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Check if
a layer needs a backdrop before checking if it needs to tile.

Source/WebKit2:

Add some better logging for custom appearance.

* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):

LayoutTests:

A test that creates some backdrop views, then makes them
big enough that it would trigger tiling (which we don't want
to happen).

* compositing/media-controls-bar-appearance-big-expected.txt: Added.
* compositing/media-controls-bar-appearance-big.html: Added.

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

4 years agoDisable network cache efficacy logging
cdumez@apple.com [Wed, 6 May 2015 22:35:26 +0000 (22:35 +0000)]
Disable network cache efficacy logging
https://bugs.webkit.org/show_bug.cgi?id=144703
<rdar://problem/20439143>

Reviewed by Andreas Kling.

Disable network cache efficacy logging by default as we have sufficient
data for now.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::registerUserDefaultsIfNeeded):

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

4 years ago[WinCairo] Compile error due to undefined symbols after r183868
achristensen@apple.com [Wed, 6 May 2015 22:32:36 +0000 (22:32 +0000)]
[WinCairo] Compile error due to undefined symbols after r183868
https://bugs.webkit.org/show_bug.cgi?id=144692

Patch by Carlos Garcia Campos  <cgarcia@igalia.com> and Per Arne Vollan <peavo@outlook.com> on 2015-05-06
Reviewed by Alex Christensen.

Speculative build fix. Add dummy PlatformDisplayWin.

* PlatformWinCairo.cmake: Add PlatformDisplay.cpp to compilation.
* platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::createPlatformDisplay):
* platform/graphics/PlatformDisplay.h:
* platform/graphics/win/PlatformDisplayWin.h:
Add stubs to compile.
* WebCore.vcxproj/WebCore.vcxproj
* WebCore.vcxproj/WebCore.vcxproj.filters
Add new files to Windows build.

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

4 years agoAvoid copies in scrollOffsetForFixedPosition() and inline it.
hyatt@apple.com [Wed, 6 May 2015 22:14:34 +0000 (22:14 +0000)]
Avoid copies in scrollOffsetForFixedPosition() and inline it.
https://bugs.webkit.org/show_bug.cgi?id=144709

Reviewed by Simon Fraser.

* page/FrameView.cpp:
(WebCore::FrameView::frameScaleFactor):
Added so that scrollOffsetForFixedPosition() can be inlined without having to
reference Frame's implementation.

(WebCore::FrameView::scrollOffsetForFixedPosition): Deleted.
Moved this to the header.

* page/FrameView.h:
Inline scrollOffsetForFixedPosition() and get rid of all the copying
it was doing.

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

4 years agoPerf dashboard treats Speedometer and JetStream as smaller is better
rniwa@webkit.org [Wed, 6 May 2015 21:50:11 +0000 (21:50 +0000)]
Perf dashboard treats Speedometer and JetStream as smaller is better
https://bugs.webkit.org/show_bug.cgi?id=144711

Reviewed by Chris Dumez.

Added the support for "Score" metric.

* public/js/helper-classes.js:
(PerfTestRuns):
* public/v2/data.js:
(RunsData.unitFromMetricName):
(RunsData.isSmallerBetter):

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

4 years agoFix the build.
timothy_horton@apple.com [Wed, 6 May 2015 21:36:02 +0000 (21:36 +0000)]
Fix the build.

* UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):

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

4 years agoNo way to get a WKWebProcessPlugInFrame’s parent frame
mitz@apple.com [Wed, 6 May 2015 21:02:44 +0000 (21:02 +0000)]
No way to get a WKWebProcessPlugInFrame’s parent frame
https://bugs.webkit.org/show_bug.cgi?id=144705

Reviewed by Sam Weinig.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame _parentFrame]): Added this getter.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared new
_parentFrame property.

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

4 years agoRenderLayer::currentTransform computes a pixel snapped rect it doesn't use.
hyatt@apple.com [Wed, 6 May 2015 21:00:01 +0000 (21:00 +0000)]
RenderLayer::currentTransform computes a pixel snapped rect it doesn't use.
https://bugs.webkit.org/show_bug.cgi?id=144708

Reviewed by Simon Fraser.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::currentTransform):

Only compute a pixel snapped rect if we actually end up needing it. The common case
is that this rect is not needed, so pushing it inside the two if statements
speeds up the common case.

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

4 years agoFix the build.
timothy_horton@apple.com [Wed, 6 May 2015 20:52:15 +0000 (20:52 +0000)]
Fix the build.

* UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):

* platform/spi/cocoa/QuartzCoreSPI.h:

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

4 years agoOptimize topLeftLocationOffset() addition in updateLayerPosition
hyatt@apple.com [Wed, 6 May 2015 20:40:53 +0000 (20:40 +0000)]
Optimize topLeftLocationOffset() addition in updateLayerPosition
https://bugs.webkit.org/show_bug.cgi?id=144704

Reviewed by Dean Jackson.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
* page/FrameView.h:
Move the hasFlippedBlocks bit to FrameView instead of RenderView. Works better for inlining
the check in any renderer header, and it also makes more sense conceptually, since the RenderView
itself could be a flipped block.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation):
Change over to the FrameView bit.

* rendering/RenderBox.h:
(WebCore::RenderBox::applyTopLeftLocationOffset):
Add a new inlined function that can apply the top left location offset to a point without
multiple LayoutSize creations and copies. It invokes a helper for flipping that is not
inlined only in the case where actual flipped blocks exist in the render tree.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::updateFromStyle):
Set the bit on the FrameView now instead of the RenderView.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
Call the new applyTopLeftLocationOffset function so that the point can have offsets added
in without any extra copies.

(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsRect):
Switch over to the bit on the FrameView.

* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:
Get rid of the bit on the RenderView.

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

4 years agoDo not link tools to WebKit2.framework
ap@apple.com [Wed, 6 May 2015 20:34:51 +0000 (20:34 +0000)]
Do not link tools to WebKit2.framework
https://bugs.webkit.org/show_bug.cgi?id=144699

Unreviewed build fix.

* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
These linked to WebKit2 in two ways, eliminating the other one.

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

4 years agoIntroducing the Platform Abstraction Layer (PAL)
mmaxfield@apple.com [Wed, 6 May 2015 20:32:42 +0000 (20:32 +0000)]
Introducing the Platform Abstraction Layer (PAL)
https://bugs.webkit.org/show_bug.cgi?id=143358

Reviewed by Simon Fraser.

.:

* WebKit.xcworkspace/contents.xcworkspacedata: Add it to the workspace.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Updated

Source/PAL:

Introduce a new top-level folder and static library. This is intended to be
the destination for code that currently resides in WebCore/platform. Code
will be moved from that folder into PAL file by file. Separating this
platform code into its own static library enforces layering, as well as
encourages/aids unit testing of this platform code.

This commit only creates a single symbol which is not required to build
WebKit. The reason for this is so that we can get all build issues ironed
out before requiring PAL.

For more information, see
https://lists.webkit.org/pipermail/webkit-dev/2015-March/027303.html

* PAL.xcodeproj/project.pbxproj: Added.
* Makefile: Added. Standard Makefile.
* config.h: Added. Standard header.
* PALPrefix.h: Added. Copied from WebCore.
* graphics/Foo.h: Added. Header.
* graphics/Foo.cpp: Added.
(foo): Placeholder symbol.
* Configurations/Base.xcconfig: Added. Standard config files
* Configurations/DebugRelease.xcconfig: Added. Standard config files
* Configurations/PAL.xcconfig: Added. Standard config files

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj: Let the project know about the .a
* Configurations/FeatureDefines.xcconfig: Updated

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Updated

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Updated

Tools:

* Scripts/build-webkit: Add it to build-webkit.

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

4 years agoFix api tests after r183877.
achristensen@apple.com [Wed, 6 May 2015 19:26:15 +0000 (19:26 +0000)]
Fix api tests after r183877.

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Generate all DFAs before compiling them.

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

4 years ago[iOS] remove some unnecessary iOS-only media code
eric.carlson@apple.com [Wed, 6 May 2015 19:02:02 +0000 (19:02 +0000)]
[iOS] remove some unnecessary iOS-only media code
https://bugs.webkit.org/show_bug.cgi?id=144697
<rdar://problem/20229914>

Reviewed by Jer Noble.

* html/HTMLAttributeNames.in: Remove data-youtube-id.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Remove dataYouTubeID.

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

4 years agoDo not link tools to WebKit2.framework
ap@apple.com [Wed, 6 May 2015 18:44:15 +0000 (18:44 +0000)]
Do not link tools to WebKit2.framework
https://bugs.webkit.org/show_bug.cgi?id=144699

Reviewed by Tim Horton.

* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

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

4 years agoOptimize relativePositionOffset() to avoid doing unnecessary work
hyatt@apple.com [Wed, 6 May 2015 18:37:51 +0000 (18:37 +0000)]
Optimize relativePositionOffset() to avoid doing unnecessary work
https://bugs.webkit.org/show_bug.cgi?id=144698

Reviewed by Simon Fraser.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffset):

Patch relativePositionOffset to avoid doing unnecessary work in the common case where
all values of top/left/right/bottom are either auto or fixed. We no longer fetch
containingBlock() into a local always, but instead just invoke the function only
when necessary.

Also avoid computing the percentage-relative maximum for the top/right/bottom/left lengths
when they are fixed values, since that maximum won't be examined at all.

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

4 years ago[FreeType] Vertical CJK glyphs should not be rendered with synthetic oblique
mrobinson@webkit.org [Wed, 6 May 2015 17:52:43 +0000 (17:52 +0000)]
[FreeType] Vertical CJK glyphs should not be rendered with synthetic oblique
https://bugs.webkit.org/show_bug.cgi?id=144612

Reviewed by Darin Adler.

Source/WebCore:

No new tests. This causes fast/text/international/synthesized-italic-vertical.html to pass.

* platform/graphics/Font.cpp:
(WebCore::Font::nonSyntheticItalicFont): Compile this method for Cairo as well.
* platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::glyphDataForSystemFallback): When searching for the system fallback,
ensure that we do not use synthetic oblique when rendering vertical CJK glyphs.
(WebCore::FontCascadeFonts::glyphDataForNormalVariant): Extend the CJK fix to Cairo ports.
* platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::setSyntheticOblique): Added this helper method, because
Freetype/Cairo ports needs to be able to recreate the scaled font matrix when the
synthetic oblique settings changes.
* platform/graphics/freetype/FontPlatformData.h: Rename initializeWithFontFace to buildScaledFont.
Remove the now unused m_horizontalOrientationMatrix member.
(WebCore::FontPlatformData::setSyntheticOblique): Added the helper here as well.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Calculate whether or not to use synthetic oblique here,
before buildScaledFont is called. Call buildScaledFont instead of initializeWithFontFace.
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::buildScaledFont): Renamed from initializeWithFontFace, does
the same thing, except calculate whether or not to use synthetic oblique. Instead just
reads the value.
(WebCore::FontPlatformData::setOrientation): Instead of adjusting the font matrix, recreate
the entire font.
(WebCore::FontPlatformData::setSyntheticOblique): Added.
(WebCore::rotateCairoMatrixForVerticalOrientation): Deleted.
(WebCore::FontPlatformData::initializeWithFontFace): Deleted.

LayoutTests:

* platform/gtk/TestExpectations: Remove expectation for failing test.

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

4 years ago[Content Extensions] Test splitting NFAs by max NFA size.
commit-queue@webkit.org [Wed, 6 May 2015 17:51:07 +0000 (17:51 +0000)]
[Content Extensions] Test splitting NFAs by max NFA size.
https://bugs.webkit.org/show_bug.cgi?id=144659

Patch by Alex Christensen <achristensen@webkit.org> on 2015-05-06
Reviewed by Darin Adler.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
* contentextensions/CombinedURLFilters.h:
* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
* contentextensions/DFABytecodeCompiler.h:
* contentextensions/DFABytecodeInterpreter.h:
Make maxNFASize a parameter so we can test it with small values.

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::createNFAs):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/DFAMinimizer.cpp:
(TestWebKitAPI::createNFAs):

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

4 years agoUnreviewed GTK+ gardening
mrobinson@webkit.org [Wed, 6 May 2015 17:47:32 +0000 (17:47 +0000)]
Unreviewed GTK+ gardening

* platform/gtk/TestExpectations: Remove a couple expectations tests.
* platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt:

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

4 years agoREGRESSION (r183467): Unable to start downloads in private browsing mode
antti@apple.com [Wed, 6 May 2015 17:31:12 +0000 (17:31 +0000)]
REGRESSION (r183467): Unable to start downloads in private browsing mode
https://bugs.webkit.org/show_bug.cgi?id=144533

Reviewed by Darin Adler.

Source/WebCore:

If willSendRequest delegate mutated the request we would lose the requester field value from the original.

No test runner support for mutating requests.

* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

    This needs to keep the requester too.

* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Deleted.

    Share implementations.

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSendRequest):

    Use updateFromDelegatePreservingOldProperties (like WK2) instead of doing the same thing manually.

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

4 years agoDon't allocate a StringImpl for every Number JSValue in JSON.stringify().
akling@apple.com [Wed, 6 May 2015 17:10:38 +0000 (17:10 +0000)]
Don't allocate a StringImpl for every Number JSValue in JSON.stringify().
<https://webkit.org/b/144676>

Reviewed by Darin Adler.

We were creating a new String for every number JSValue passing through the JSON stringifier.
These StringImpl allocations were dominating one of the Kraken JSON benchmarks.
Optimize this by using StringBuilder::appendECMAScriptNumber() which uses a stack buffer
for the conversion instead.

13% progression on Kraken/json-stringify-tinderbox.

* runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):

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

4 years agoUpdate expectations for fast/forms/button-line-height.html
ap@apple.com [Wed, 6 May 2015 17:02:47 +0000 (17:02 +0000)]
Update expectations for fast/forms/button-line-height.html

* TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:

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

4 years agoUnreviewed, rolling out r183847.
commit-queue@webkit.org [Wed, 6 May 2015 16:50:19 +0000 (16:50 +0000)]
Unreviewed, rolling out r183847.
https://bugs.webkit.org/show_bug.cgi?id=144691

Caused many assertion failures (Requested by ap on #webkit).

Reverted changeset:

"GC has trouble with pathologically large array allocations"
https://bugs.webkit.org/show_bug.cgi?id=144609
http://trac.webkit.org/changeset/183847

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

4 years agoToggling underline on font panel removes strike through
rniwa@webkit.org [Wed, 6 May 2015 16:42:33 +0000 (16:42 +0000)]
Toggling underline on font panel removes strike through
https://bugs.webkit.org/show_bug.cgi?id=144670
<rdar://problem/3790443>

Reviewed by Darin Adler.

Source/WebCore:

* editing/EditingStyle.cpp:
(WebCore::EditingStyle::EditingStyle): Added a variant that takes CSSStyleDeclaration.
* editing/EditingStyle.h:
(WebCore::EditingStyle::create): Ditto.
* editing/Editor.cpp:
(WebCore::Editor::applyStyleToSelection): Takes Ref<EditingStyle>&& instead of RefPtr<EditingStyle>&&.
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame): Ditto.
(WebCore::executeStrikethrough):
(WebCore::executeUnderline):

Source/WebKit/mac:

Use setStrikeThroughChange and setUnderlineChange added in r183770 to toggle underline and strike through.

* WebView/WebHTMLView.mm:
(-[WebHTMLView _applyEditingStyleToSelection:withUndoAction:]):
(-[WebHTMLView _styleForAttributeChange:]):
(-[WebHTMLView changeAttributes:]):

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

4 years agoMore build fixing.
jberlin@webkit.org [Wed, 6 May 2015 16:36:25 +0000 (16:36 +0000)]
More build fixing.

* page/mac/TextIndicatorWindow.mm:

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

4 years ago32-bit build fix after r183859 and r183860.
jberlin@webkit.org [Wed, 6 May 2015 16:25:09 +0000 (16:25 +0000)]
32-bit build fix after r183859 and r183860.

* page/mac/TextIndicatorWindow.mm:
Autosynthesis isn't available for our 32-bit builds.

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

4 years ago[EGL] Move EGLDisplay handling to PlatformDisplay and remove PlatformDisplay definiti...
carlosgc@webkit.org [Wed, 6 May 2015 16:06:30 +0000 (16:06 +0000)]
[EGL] Move EGLDisplay handling to PlatformDisplay and remove PlatformDisplay definition from GLDefs.h
https://bugs.webkit.org/show_bug.cgi?id=144685

Reviewed by Martin Robinson.

The EGL display is also initialized in multiple places, and could
be unified in PlatformDisplay. Remove the PlatformDisplay
definition from platform/graphics/opengl/GLDefs.h to avoid conflicts.

* platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::PlatformDisplay): Initialize m_eglDisplay.
(WebCore::PlatformDisplay::~PlatformDisplay): Call terminateEGLDisplay().
(WebCore::PlatformDisplay::eglDisplay): Lazy intialize the EGL
display and return it.
(WebCore::PlatformDisplay::initializeEGLDisplay):
(WebCore::PlatformDisplay::terminateEGLDisplay):
* platform/graphics/PlatformDisplay.h:
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::sharedEGLDisplay): Use PlatformDisplay::eglDisplay().
* platform/graphics/opengl/GLDefs.h: Remove unneeded definitions.
* platform/graphics/opengl/GLPlatformSurface.cpp:
(WebCore::GLPlatformSurface::GLPlatformSurface): Remove
m_sharedDisplay member, PlatformDisplay::sharedDisplay() can be used instead.
(WebCore::GLPlatformSurface::sharedDisplay): Deleted.
* platform/graphics/opengl/GLPlatformSurface.h:
* platform/graphics/surfaces/egl/EGLConfigSelector.h: Use
EGLDisplay instead of PlatformDisplay.
* platform/graphics/surfaces/egl/EGLContext.cpp:
(WebCore::EGLOffScreenContext::initialize): Use PlatformDisplay::eglDisplay().
* platform/graphics/surfaces/egl/EGLHelper.cpp: Remove the
EGLDisplayConnection clas and use PlatformDisplay instead.
(WebCore::EGLHelper::eglDisplay):
(WebCore::EGLHelper::currentDisplay):
(WebCore::EGLDisplayConnection::EGLDisplayConnection): Deleted.
(WebCore::EGLDisplayConnection::~EGLDisplayConnection): Deleted.
(WebCore::EGLDisplayConnection::display): Deleted.
(WebCore::EGLDisplayConnection::terminate): Deleted.
* platform/graphics/surfaces/egl/EGLHelper.h:
* platform/graphics/surfaces/egl/EGLSurface.cpp:
(WebCore::EGLTransportSurface::EGLTransportSurface): Use EGLHelper::eglDisplay().
(WebCore::EGLTransportSurface::destroy): Ditto.
(WebCore::EGLOffScreenSurface::EGLOffScreenSurface): Ditto.
(WebCore::EGLOffScreenSurface::destroy): Ditto.
* platform/graphics/surfaces/egl/EGLXSurface.cpp:
(WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
Use PlatformDisplay::eglDisplay().
(WebCore::EGLWindowTransportSurface::swapBuffers): Ditto.
(WebCore::EGLPixmapSurface::EGLPixmapSurface): Ditto.
* platform/graphics/surfaces/glx/GLXContext.cpp:
(WebCore::GLXOffScreenContext::initialize): Use X11Helper::nativeDisplay().
* platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface): Do not use m_sharedDisplay.
(WebCore::GLXOffScreenSurface::initialize): Ditto.
* platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland): Call
PlatformDisplay::initializeEGLDisplay() to insialize the EGL display.
* platform/graphics/wayland/PlatformDisplayWayland.h:
* platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::initializeEGLDisplay): Override
PlatformDisplay::initializeEGLDisplay() to initialize the
m_eglDisplay member.
* platform/graphics/x11/PlatformDisplayX11.h:

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

4 years agoWeb Inspector: DOMStorage exception and issue with sessionStorage
commit-queue@webkit.org [Wed, 6 May 2015 12:55:20 +0000 (12:55 +0000)]
Web Inspector: DOMStorage exception and issue with sessionStorage
https://bugs.webkit.org/show_bug.cgi?id=144646

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-06
Reviewed by Timothy Hatcher.

Source/WebCore:

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::findStorageArea):
Return session storage if the identifier says not local storage.

Source/WebInspectorUI:

* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView):
(WebInspector.DOMStorageContentView.prototype._populate):
(WebInspector.DOMStorageContentView.prototype.reset): Deleted.
Always have the datagrid be available with a default sort.

(WebInspector.DOMStorageContentView.prototype._sortDataGrid.comparator):
(WebInspector.DOMStorageContentView.prototype._sortDataGrid):
Simplify and correct the order.

(WebInspector.DOMStorageContentView.prototype.cleanup):
Cleanup some uses of delete.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.sortNodesImmediately):
Provide a way to sort immediately without a visible delay.

(WebInspector.DataGrid.prototype._sortNodesCallback):
Cleanup some dead code to simplify sorting.

(WebInspector.DataGridNode.prototype._attach):
When sorting, the children list does not match the child node list,
so ensure that placeholder nodes are added to the end.

(WebInspector.PlaceholderDataGridNode.prototype.makeNormal):
Cleanup some uses of delete.

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

4 years agoMove ReadableStreamJSSource.h/.cpp to ReadableJSStream.h/.cpp
youenn.fablet@crf.canon.fr [Wed, 6 May 2015 11:59:41 +0000 (11:59 +0000)]
Move ReadableStreamJSSource.h/.cpp to ReadableJSStream.h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=144567

Reviewed by Darin Adler.

In addition to renaming ReadableStreamJSSource.h/.cpp, ReadableStreamJSSource is now made a private class of
ReadableJSStream, called ReadableJSStream::Source.
Made some minor refactoring (passing some ExecState by ref and not by pointer).
No functional change, existing tests cover the changes.

* bindings/js/JSReadableStreamCustom.cpp:
* bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::Source::create):
(WebCore::ReadableJSStream::Source::Source):
(WebCore::ReadableJSStream::Source::~Source):
(WebCore::ReadableJSStream::Source::globalObject):
(WebCore::ReadableJSStream::Source::start):
(WebCore::ReadableJSStream::create):
(WebCore::ReadableJSStream::ReadableJSStream):
* bindings/js/ReadableJSStream.h:

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

4 years ago[GTK][WK2] The WebKit network disk cache is not enabled
carlosgc@webkit.org [Wed, 6 May 2015 09:12:39 +0000 (09:12 +0000)]
[GTK][WK2] The WebKit network disk cache is not enabled
https://bugs.webkit.org/show_bug.cgi?id=142821

Reviewed by Martin Robinson.

Source/WebKit2:

Enable NetworkCache for the GTK+ port.

* config.h:

LayoutTests:

Unskip http/tests/cache/disk-cache tests.

* platform/gtk/TestExpectations:

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

4 years ago[EFL] Remove redudant condition in ViewClientEfl::didChangeViewportAttributes
ryuan.choi@navercorp.com [Wed, 6 May 2015 08:17:31 +0000 (08:17 +0000)]
[EFL] Remove redudant condition in ViewClientEfl::didChangeViewportAttributes
https://bugs.webkit.org/show_bug.cgi?id=144672

Reviewed by Gyuyoung Kim.

ViewClientEfl::didChangeViewportAttributes is always called when fixed layout is disabled.

* UIProcess/efl/ViewClientEfl.cpp:
(WebKit::ViewClientEfl::didChangeViewportAttributes):
Removes condition that checks whether fixed layout is enabled.

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

4 years agoWeb Inspector: SourceCodeTextEditor shows "undefined" instead of resource content...
commit-queue@webkit.org [Wed, 6 May 2015 07:06:54 +0000 (07:06 +0000)]
Web Inspector: SourceCodeTextEditor shows "undefined" instead of resource content when pausing during resource load
https://bugs.webkit.org/show_bug.cgi?id=144662

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-06
Reviewed by Timothy Hatcher.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Command.prototype.promise):
Start standardizing on rejecting Promises with Error objects.

* UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView):
(WebInspector.ResourceContentView.prototype._protocolError):
When there is a protocol error, show a nice UI string for the error.

(WebInspector.ResourceContentView.prototype._contentAvailable):
(WebInspector.ResourceContentView.prototype._contentError):
(WebInspector.ResourceContentView.prototype._hasContent):
Whenever we hit an error case in ResourceContentView, check to make sure
that a subclass hasn't already populated the content view with content.
This can happen when a TextResourceContentView populates a Resource with
Script content while paused, because the Resource content would be
unavailable. We check that content has loaded by checking that the
indeterminate spinner is no longer showing.

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

4 years agoLayoutTests/fast/forms/button-line-height.html is broken on non-Mac/non-iOS ports
nvasilyev@apple.com [Wed, 6 May 2015 07:02:36 +0000 (07:02 +0000)]
LayoutTests/fast/forms/button-line-height.html is broken on non-Mac/non-iOS ports
https://bugs.webkit.org/show_bug.cgi?id=144673

* TestExpectations: Skip broken test.

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

4 years agoNetworkResourceLoader::cleanup() should clear ResourceHandle client pointer.
ap@apple.com [Wed, 6 May 2015 06:55:16 +0000 (06:55 +0000)]
NetworkResourceLoader::cleanup() should clear ResourceHandle client pointer.
https://bugs.webkit.org/show_bug.cgi?id=144641
rdar://problem/20250960

Reviewed by David Kilzer.

* NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::cleanup):
Clear the client pointer.

* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
(WebKit::AuthenticationManager::performDefaultHandling):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
Updated comments, which were not accurate, at least on Mac.

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

4 years agoREGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
timothy_horton@apple.com [Wed, 6 May 2015 06:46:30 +0000 (06:46 +0000)]
REGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
https://bugs.webkit.org/show_bug.cgi?id=144651
<rdar://problem/20755722>

* page/mac/TextIndicatorWindow.mm:
Fix an incorrectly-applied review comment.

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

4 years agoREGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
timothy_horton@apple.com [Wed, 6 May 2015 06:26:24 +0000 (06:26 +0000)]
REGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
https://bugs.webkit.org/show_bug.cgi?id=144651
<rdar://problem/20755722>

Reviewed by Dan Bernstein.

* page/mac/TextIndicatorWindow.h:
* page/mac/TextIndicatorWindow.mm:
(WebCore::TextIndicatorWindow::clearTextIndicator):
(WebCore::TextIndicatorWindow::setTextIndicator):
(WebCore::TextIndicatorWindow::closeWindow):
(WebCore::TextIndicatorWindow::startFadeOut):
We can't keep m_fadingOut on TextIndicatorWindow, since it is reused.
Keep it on the WebTextIndicatorView instead.

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

4 years agoAdd missing vtable override specifiers under Source/WebCore/html
zandobersek@gmail.com [Wed, 6 May 2015 06:23:24 +0000 (06:23 +0000)]
Add missing vtable override specifiers under Source/WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=144578

Reviewed by Daniel Bates.

Update virtual method overrides under Source/WebCore/html
which are missing the override specifier.

* html/canvas/WebGL2RenderingContext.h:
* html/canvas/WebGLRenderingContext.h:
* html/track/InbandTextTrack.h:
* html/track/TrackListBase.h:

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

4 years agoAdd missing vtable override specifiers under Source/WebCore/rendering
zandobersek@gmail.com [Wed, 6 May 2015 06:21:20 +0000 (06:21 +0000)]
Add missing vtable override specifiers under Source/WebCore/rendering
https://bugs.webkit.org/show_bug.cgi?id=144570

Reviewed by Darin Adler.

Update virtual method overrides under Source/WebCore/rendering
which are missing the override specifiers.

* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::calculateBoundaries): Deleted.
* rendering/RenderFlowThread.h:
* rendering/RenderMedia.h:
(WebCore::RenderMedia::shadowControlsNeedCustomLayoutMetrics): Deleted.
* rendering/RenderMultiColumnSet.h:
* rendering/RenderRegion.h:
* rendering/RenderRegionSet.h:
* rendering/RenderThemeGtk.h:
* rendering/mathml/RenderMathMLOperator.h:
* rendering/svg/RenderSVGBlock.h:

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

4 years agoAdd missing vtable override specifiers under Source/WebCore/Modules
zandobersek@gmail.com [Wed, 6 May 2015 06:17:02 +0000 (06:17 +0000)]
Add missing vtable override specifiers under Source/WebCore/Modules
https://bugs.webkit.org/show_bug.cgi?id=144569

Reviewed by Darin Adler.

Update virtual method overrides under Source/WebCore/Modules
which are missing the override specifier.

* Modules/mediasource/SourceBuffer.h:
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/RTCVoidRequestImpl.h:
* Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::mediaType): Deleted.
(WebCore::AudioContext::presentationType): Deleted.
(WebCore::AudioContext::canReceiveRemoteControlCommands): Deleted.
(WebCore::AudioContext::didReceiveRemoteControlCommand): Deleted.
(WebCore::AudioContext::overrideBackgroundPlaybackRestriction): Deleted.
* Modules/webaudio/MediaStreamAudioDestinationNode.h:
* Modules/webaudio/MediaStreamAudioSourceNode.h:
* Modules/webaudio/WaveShaperDSPKernel.h:
* Modules/websockets/WebSocketChannel.h:
(WebCore::WebSocketChannel::refThreadableWebSocketChannel): Deleted.
(WebCore::WebSocketChannel::derefThreadableWebSocketChannel): Deleted.
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WebCore::WorkerThreadableWebSocketChannel::refThreadableWebSocketChannel): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::derefThreadableWebSocketChannel): Deleted.

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

4 years agoEventHandler::m_eventHandlerWillResetCapturingMouseEventsElement is incorrectly initi...
zandobersek@gmail.com [Wed, 6 May 2015 06:14:51 +0000 (06:14 +0000)]
EventHandler::m_eventHandlerWillResetCapturingMouseEventsElement is incorrectly initialized
https://bugs.webkit.org/show_bug.cgi?id=144583

Reviewed by Daniel Bates.

* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): The
m_eventHandlerWillResetCapturingMouseEventsElement is a boolean,
so initialize it to false, instead of to nullptr.

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