2014-07-23 Mark Hahnenberg Refactor our current implementation of for-in https://bugs.webkit.org/show_bug.cgi?id=134142 Reviewed by Filip Pizlo. No new tests. This patch splits for-in loops into three distinct parts: - Iterating over the indexed properties in the base object. - Iterating over the Structure properties in the base object. - Iterating over any other enumerable properties for that object and any objects in the prototype chain. It does this by emitting these explicit loops in bytecode, using a new set of bytecodes to support the various operations required for each loop. * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getEnumerableLength): (WebCore::JSDOMWindow::getStructurePropertyNames): (WebCore::JSDOMWindow::getGenericPropertyNames): * bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader): * bridge/runtime_array.cpp: (JSC::RuntimeArray::getOwnPropertyNames): 2014-07-01 Mark Lam [ftlopt] DebuggerCallFrame::scope() should return a DebuggerScope. Reviewed by Geoffrey Garen. No new tests. * ForwardingHeaders/debugger/DebuggerCallFrame.h: Removed. - This is not in use. Hence, we can remove it. * bindings/js/ScriptController.cpp: (WebCore::ScriptController::attachDebugger): - We should acquire the JSLock before modifying a JS global object. 2014-06-25 Filip Pizlo [ftlopt] If a CodeBlock is jettisoned due to a watchpoint then it should be possible to figure out something about that watchpoint https://bugs.webkit.org/show_bug.cgi?id=134333 Reviewed by Geoffrey Garen. No new tests because no change in behavior. * bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader): 2014-06-24 Mark Lam [ftlopt] Renamed DebuggerActivation to DebuggerScope. Reviewed by Michael Saboff. No new tests. * ForwardingHeaders/debugger/DebuggerActivation.h: Removed. - Removed because this is not used. 2014-05-08 Simon Fraser Occasional crash under AsyncScrollingCoordinator::frameViewRootLayerDidChange() on history navigation https://bugs.webkit.org/show_bug.cgi?id=132723 Reviewed by Sam Weinig. Crash reports suggest that when we call AsyncScrollingCoordinator::frameViewRootLayerDidChange() from HistoryController::restoreScrollPositionAndViewState(), the FrameView may not have a scrolling node ID, which suggests that either the FrameView doesn't have a RenderView, or compositing hasn't happened yet. So if we enter AsyncScrollingCoordinator::frameViewRootLayerDidChange() and the FrameView has no scrollLayerID, just return. We'll fix things up when compositing kicks in later. * page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange): 2014-05-08 Simon Fraser [iOS WK2] Bottom-relative position:fixed elements are misplaced on page load https://bugs.webkit.org/show_bug.cgi?id=132719 Reviewed by Benjamin Poulain. Add a couple of functions, and sort. * WebCore.exp.in: 2014-05-08 Jer Noble [Mac, iOS] Add source application accounting to AVURLAsset. https://bugs.webkit.org/show_bug.cgi?id=132637 Reviewed by Eric Carlson. Properly account for the application responisble for data loading by passing the source application identifier through to AVFoundation through AVURLAsset options. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::sourceApplicationIdentifier): * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerSourceApplicationIdentifier): * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): * platform/network/NetworkingContext.h: 2014-05-08 Jer Noble [MSE][Mac] Move AVStreamDataParser off-main-thread. https://bugs.webkit.org/show_bug.cgi?id=132698 Reviewed by Eric Carlson. -[AVStreamDataParser appendStreamData:] can casue the main thread to hang when a large amount of media data is appended at once. Move the actual parsing of data to a background (synchronous) dispatch queue, and split SourceBuffer::appendBufferTimerFired into two functions, the latter of which will be called after the background queue completes. * Modules/mediasource/SourceBuffer.cpp: (WebCore::SourceBuffer::appendBufferTimerFired): Split into sourceBufferPrivateAppendComplete. (WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Split from appendBufferTimerFired. * Modules/mediasource/SourceBuffer.h: * platform/graphics/SourceBufferPrivate.h: * platform/graphics/SourceBufferPrivateClient.h: * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Re-dispatch to the web thread. (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto. (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto. (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto. (-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]): Ditto. (-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): Ditto. (WebCore::globalDataParserQueue): Added. (WebCore::SourceBufferPrivateAVFObjC::append): Dispatch to the globalDataParserQueue. (WebCore::SourceBufferPrivateAVFObjC::appendCompleted): Added. * platform/mock/mediasource/MockSourceBufferPrivate.cpp: (WebCore::MockSourceBufferPrivate::append): Adopt sourceBufferPrivateAppendComplete. * platform/mock/mediasource/MockSourceBufferPrivate.h: Update SourceBufferPrivateGStreamer to match the new append return value: * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp: (WebCore::SourceBufferPrivateGStreamer::append): * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h: 2014-05-08 Commit Queue Unreviewed, rolling out r168498. https://bugs.webkit.org/show_bug.cgi?id=132714 broke Mavericks WK2 (Requested by litherum on #webkit). Reverted changeset: "http/tests/security/xss-DENIED-xsl-document-redirect.xml fails with NetworkProcess" https://bugs.webkit.org/show_bug.cgi?id=132523 http://trac.webkit.org/changeset/168498 2014-05-08 Myles C. Maxfield http/tests/security/xss-DENIED-xsl-document-redirect.xml fails with NetworkProcess https://bugs.webkit.org/show_bug.cgi?id=132523 Reviewed by Alexey Proskuryakov. We should not manufacture a response in the event of an error during a synchronous XHR. In addition, this test removes one place that is sensitive to such a manufactured response. Updates test expectations. * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not manufacture a response * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not manufacture a response * xml/XSLTProcessorLibxslt.cpp: (WebCore::docLoaderFunc): Only use the response's URL if no error occurred. 2014-05-08 Andreas Kling [iOS] WebKit should listen to critical memory warnings. Listen for DISPATCH_MEMORYSTATUS_PRESSURE_CRITICAL in addition to DISPATCH_MEMORYSTATUS_PRESSURE_WARN, since we may only get the critical notification on some systems. Reviewed by Gavin Barraclough. * platform/cocoa/MemoryPressureHandlerCocoa.mm: (WebCore::MemoryPressureHandler::install): 2014-05-08 Joseph Pecoraro Web Inspector: InspectorDOMAgent::getAccessibilityPropertiesForNode should gracefully handle bad node https://bugs.webkit.org/show_bug.cgi?id=132697 Reviewed by Timothy Hatcher. * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode): Gracefully handle no node. 2014-05-08 Tim Horton Fix the iOS build after r168476. * platform/graphics/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawFocusRing): 2014-05-08 Bem Jones-Bey [CSS Shapes] Shapes do not resolve dimensions specified in viewport units https://bugs.webkit.org/show_bug.cgi?id=124052 Reviewed by Dirk Schulze. Viewport unit resolution doesn't work unless the RenderView is passed down into the floatValueForLength methods. All this does is plumb down a RenderView in all of these cases. Tests: css3/masking/clip-path-polygon-viewport-units.html fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units.html * css/BasicShapeFunctions.cpp: (WebCore::floatValueForCenterCoordinate): * css/BasicShapeFunctions.h: * css/LengthFunctions.cpp: (WebCore::floatSizeForLengthSize): * css/LengthFunctions.h: * rendering/ClipPathOperation.h: (WebCore::ShapeClipPathOperation::pathForReferenceRect): (WebCore::BoxClipPathOperation::pathForReferenceRect): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::setupClipPath): * rendering/shapes/Shape.cpp: (WebCore::Shape::createShape): * rendering/shapes/Shape.h: * rendering/shapes/ShapeOutsideInfo.cpp: (WebCore::ShapeOutsideInfo::computedShape): * rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::floatValueForRadiusInBox): (WebCore::BasicShapeCircle::path): (WebCore::BasicShapeEllipse::floatValueForRadiusInBox): (WebCore::BasicShapeEllipse::path): (WebCore::BasicShapePolygon::path): (WebCore::floatSizeForLengthSize): (WebCore::BasicShapeInset::path): * rendering/style/BasicShapes.h: * rendering/svg/SVGRenderingContext.cpp: (WebCore::SVGRenderingContext::prepareToRenderSVGContent): 2014-05-08 Brent Fulgham Cue display events may not be registered during page load. https://bugs.webkit.org/show_bug.cgi?id=132696 Reviewed by Eric Carlson. * Modules/mediacontrols/mediaControlsApple.js: (Controller.prototype.handleTextTrackAdd): Don't register for 'cuechange' events anymore. (Controller.prototype.handleTextTrackRemove): Ditto. (Controller.prototype.updateCaptionContainer): Reduce CSS churn by not adding/removing 'Hidden' class every time a new cue is processed. Only do this when transitioning track display state. (Controller.prototype.handleTextTrackCueChange): Deleted. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::updateTextTrackDisplay): Call 'updateTextTrackContainer' directory when processing cues, rather than trampolining through the JS layer. 2014-05-08 Alexey Proskuryakov Make BlobDataFileReference manage its sandbox extension https://bugs.webkit.org/show_bug.cgi?id=132689 Reviewed by Anders Carlsson. * WebCore.exp.in: Export symbols that are now needed in WebKit2 to subclass BlobDataFileReference. * fileapi/ThreadableBlobRegistry.cpp: (WebCore::ThreadableBlobRegistry::registerFileBlobURL): * platform/network/BlobData.cpp: (WebCore::BlobData::appendFile): * platform/network/BlobData.h: (WebCore::BlobDataItem::BlobDataItem): * platform/network/BlobRegistry.h: * platform/network/BlobRegistryImpl.cpp: (WebCore::BlobRegistryImpl::registerFileBlobURL): * platform/network/BlobRegistryImpl.h: BlobRegistry now takes a BlobDataFileReference and not a path, so that WebKit2 could pass objects that include sandbox extensions. * platform/network/BlobDataFileReference.h: * platform/network/BlobDataFileReference.cpp: (WebCore::BlobDataFileReference::~BlobDataFileReference): Added a virtual destructor. (WebCore::BlobDataFileReference::size): We now record the size and modification time right away, no need to lazily calculate them. (WebCore::BlobDataFileReference::expectedModificationTime): Ditto. (WebCore::BlobDataFileReference::startTrackingModifications): Record time and size (since it's a single call). However, size calculation will become complicated again soon. (WebCore::BlobDataFileReference::prepareForFileAccess): A hook for subclasses. (WebCore::BlobDataFileReference::revokeFileAccess): Ditto. (WebCore::BlobDataFileReference::computeFileSystemData): Deleted. 2014-05-08 Rik Cabanier Add support for drawFocusIfNeeded https://bugs.webkit.org/show_bug.cgi?id=132584 Reviewed by Dirk Schulze. The drawFocusIfNeeded API will draw a focus ring if the element that is passed in is focused and a child element of the canvas. Test: fast/canvas/draw-focus-if-needed.html * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawFocusIfNeeded): * html/canvas/CanvasRenderingContext2D.h: * html/canvas/CanvasRenderingContext2D.idl: 2014-05-08 Antti Koivisto [iOS WebKit2] Can't activate text fields on Facebook https://bugs.webkit.org/show_bug.cgi?id=132682 Reviewed by Enrica Casucci. * page/DOMTimer.cpp: (WebCore::DOMTimer::fired): The isDocument() test here had reversed in the merge breaking content change observer callback. 2014-05-07 Sergio Villar Senin Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed in svg/ https://bugs.webkit.org/show_bug.cgi?id=132647 Reviewed by Darin Adler. * svg/SVGAElement.cpp: (WebCore::SVGAElement::isSupportedAttribute): * svg/SVGAnimateMotionElement.cpp: (WebCore::SVGAnimateMotionElement::isSupportedAttribute): * svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::isSupportedAttribute): * svg/SVGAnimatedLength.cpp: (WebCore::sharedSVGLength): * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::isSupportedAttribute): * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::isSupportedAttribute): * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::isSupportedAttribute): * svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute): * svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::isSupportedAttribute): * svg/SVGElement.cpp: (WebCore::SVGElement::instancesForElement): (WebCore::SVGElement::childShouldCreateRenderer): * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::isSupportedAttribute): * svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::isSupportedAttribute): * svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::isSupportedAttribute): * svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::isSupportedAttribute): * svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::isSupportedAttribute): * svg/SVGFEConvolveMatrixElement.cpp: (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute): * svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute): * svg/SVGFEDisplacementMapElement.cpp: (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute): * svg/SVGFEDropShadowElement.cpp: (WebCore::SVGFEDropShadowElement::isSupportedAttribute): * svg/SVGFEGaussianBlurElement.cpp: (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute): * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::isSupportedAttribute): * svg/SVGFELightElement.cpp: (WebCore::SVGFELightElement::isSupportedAttribute): * svg/SVGFEMergeNodeElement.cpp: (WebCore::SVGFEMergeNodeElement::isSupportedAttribute): * svg/SVGFEMorphologyElement.cpp: (WebCore::SVGFEMorphologyElement::isSupportedAttribute): * svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::isSupportedAttribute): * svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::isSupportedAttribute): * svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::isSupportedAttribute): * svg/SVGFETurbulenceElement.cpp: (WebCore::SVGFETurbulenceElement::isSupportedAttribute): * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::isSupportedAttribute): (WebCore::SVGFilterElement::childShouldCreateRenderer): * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute): * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::isSupportedAttribute): * svg/SVGGElement.cpp: (WebCore::SVGGElement::isSupportedAttribute): * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::isSupportedAttribute): * svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::isSupportedAttribute): * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::isSupportedAttribute): * svg/SVGLength.cpp: (WebCore::SVGLength::lengthModeForAnimatedLengthAttribute): * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::isSupportedAttribute): * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::isSupportedAttribute): * svg/SVGMPathElement.cpp: (WebCore::SVGMPathElement::isSupportedAttribute): * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::isSupportedAttribute): * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::isSupportedAttribute): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::isSupportedAttribute): * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::isSupportedAttribute): * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::isSupportedAttribute): * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::isSupportedAttribute): * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::isSupportedAttribute): * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::isSupportedAttribute): * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::isSupportedAttribute): * svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::isSupportedAttribute): * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::isSupportedAttribute): * svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::isSupportedAttribute): * svg/SVGTests.cpp: (WebCore::SVGTests::attributeToPropertyMap): * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::textLengthAnimated): (WebCore::SVGTextContentElement::isSupportedAttribute): * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::isSupportedAttribute): * svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::isSupportedAttribute): * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::isSupportedAttribute): (WebCore::isDisallowedElement): * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::isSupportedAttribute): 2014-05-08 Ion Rosca [CSS Blending] Replacing Unisolated with NotIsolated in variables and methods names https://bugs.webkit.org/show_bug.cgi?id=132677 Reviewed by Dirk Schulze. No new tests required. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants): (WebCore::RenderLayer::dirtyAncestorChainHasBlendingDescendants): (WebCore::RenderLayer::updateDescendantDependentFlags): hasUnisolatedBlendingDescendants -> hasNotIsolatedBlendingDescendants (WebCore::RenderLayer::addChild): (WebCore::RenderLayer::removeChild): (WebCore::RenderLayer::updateStackingContextsAfterStyleChange): * rendering/RenderLayer.h: m_hasUnisolatedBlendingDescendants -> m_hasNotIsolatedBlendingDescendants m_hasUnisolatedBlendingDescendantsStatusDirty -> m_hasNotIsolatedBlendingDescendantsStatusDirty hasUnisolatedBlendingDescendants() -> hasNotIsolatedBlendingDescendants() hasUnisolatedBlendingDescendantsStatusDirty() -> hasNotIsolatedBlendingDescendantsStatusDirty() m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants hasUnisolatedCompositedBlendingDescendants() -> hasNotIsolatedCompositedBlendingDescendants() setHasUnisolatedCompositedBlendingDescendants() -> setHasNotIsolatedCompositedBlendingDescendants * rendering/RenderLayerCompositor.cpp: (WebCore::CompositingState::CompositingState): m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants (WebCore::RenderLayerCompositor::computeCompositingRequirements): 2014-05-08 Xabier Rodriguez Calvar [GTK] Enable skipped http/tests/media/hls/video-controls-live-stream.html https://bugs.webkit.org/show_bug.cgi?id=132329 Reviewed by Eric Carlson. GTK port needed to define what happened with live stream media controls. Now we disable and dim the timeline and tweak the timers. Test: http/tests/media/hls/video-controls-live-stream.html. * Modules/mediacontrols/mediaControlsGtk.js: (ControllerGtk.prototype.configureControls): Moved logic from setControlsType and changed to use an early return. (ControllerGtk.prototype.reconnectControls): Redefined to just configure the controls. (ControllerGtk.prototype.handlePlay): If stream is live we don't activate the current time just in case. (ControllerGtk.prototype.updateDuration): Calls the superclass and sets timeline.max to 0. (ControllerGtk.prototype.setControlsType): Deleted. (ControllerGtk.prototype.setIsLive): Configures controls and disables the timeline if stream is live. * css/mediaControlsGtk.css: (audio::-webkit-media-controls-timeline[disabled]) (video::-webkit-media-controls-timeline[disabled]): Dimmed the timeline by setting opacity to 0.3. 2014-05-08 Ion Rosca [CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint https://bugs.webkit.org/show_bug.cgi?id=131436 Reviewed by Dirk Schulze. The isolation:isolate property will create a stacking context. This is done in StyleResolver::adjustRenderStyle where z-index is forced to 0. If the element is already a stacking context for any other reason, changing the isolation flag should not have any effect. Tests: css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html css3/blending/repaint/blend-mode-turn-off-isolation.html * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresLayerRepaint): do not request repaint if isolation has changed. 2014-05-08 Manuel Rego Casasnovas REGRESSION (r167652): SelectionState is not set properly for non leaf objects in pages with regions https://bugs.webkit.org/show_bug.cgi?id=132493 Reviewed by David Hyatt. Non selection leaf elements were not included in the selection ranges, that was causing that their selection state was not set properly and when one of the element was removed as it was marked as SelectionNone current selection was not removed. Due to this fix, the regression detected in bug #131982 arose again. Reverted changes from r167675 and reopened bug as previous fix was not right. Updated TestExpectations accordingly. Test: fast/regions/selection/crash-select-all.html * rendering/RenderView.cpp: (WebCore::RenderView::splitSelectionBetweenSubtrees): We need to include non selection leafs in the range, otherwise we won't be marking selection state of some elements properly. 2014-05-08 Zoltan Horvath [CSS Shapes] Can't select content within the area of the floating box when clip-path is applied https://bugs.webkit.org/show_bug.cgi?id=131375 Reviewed by Dirk Schulze. According to http://www.w3.org/TR/css-masking-1/, the clipped part of the element should not have pointer event dispatching. So add this logic to RenderBlock::nodeAtPoint. This fixes the bug as it disallows selection on any clipped parts. I implemented the proper selection for the various CSS box types and added testing for them. Also, I made and run performance tests for exposing mouse events over the clipped/non-clipped area, which results can be seen in bugzilla. Based on the patch made by Rob Buis Blink revision: http://src.chromium.org/viewvc/blink?view=revision&revision=172619 Tests: fast/masking/clip-path-selection.html fast/shapes/shape-outside-floats/shape-outside-clip-path-selection.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint): 2014-05-07 Ion Rosca [CSS Blending] Blending doesn't work if the parent stacking context is not a self painting layer https://bugs.webkit.org/show_bug.cgi?id=130891 Reviewed by Dean Jackson. The stacking context layers having unisolated blending descendants should be able to create transparency layers or to become composited in order to restrict blending content to accessing the information outside the current stacking context. Some layers are not self painting layers and these layers cannot crate transparency layers and cannot be composited, thus they are not able to isolate blending descendants when it's required. The solution in this patch is to make a layer isSelfPaintingLayer when it needs to isolate blending descendants (hasUnisolatedBlendingDescendants). Tests: css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html css3/blending/blend-mode-isolation-overflow-hidden.html css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants): When hasUnisolatedBlendingDescendants is set we make sure that isSelfPaintingLayer flag is set too. (WebCore::RenderLayer::updateDescendantDependentFlags): The flags might be read or changed while walking the descendants, so we don't want to reset them before traversing the tree. (WebCore::RenderLayer::shouldBeSelfPaintingLayer): Adding isolatesBlending() condition for a layer to be self painting. * rendering/RenderLayer.h: Removing ASSERT from hasUnisolatedBlendingDescendants(). It crashes in minibrowser and in layout tests when painting contents. Similar bugs on other flags: #71044, #71277. * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::styleDidChange): Telling ancestors that blend mode property has been removed from CSS when the layer for this element is going to be removed; styleChanged will not be called anymore. 2014-05-06 Myles C. Maxfield Dragging text from one paragraph to another does not render as expected https://bugs.webkit.org/show_bug.cgi?id=132633 Reviewed by Darin Adler and Ryosuke Niwa. When we are dragging and dropping into a content editable field, we detect if we are trying to put a

into an existing

, and if so, split the outer

and insert the new

as its sibling. However, the outer

might not be editable, so we don't want to do any splitting and inserting at that location. Test: editing/pasteboard/drag-drop-paragraph-crasher.html * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder): 2014-05-07 Gyuyoung Kim [CoordinatedGraphics][WK2] Scale factor and scroll position is not being restored properly in a back/forward load https://bugs.webkit.org/show_bug.cgi?id=126022 Reviewed by Benjamin Poulain. Original author : Thiago de Barros Lacerda, and finished by Gyuyoung Kim. When user is navigating back/forward to a page that has been scrolled and/or scaled, that page must be shown with its last scroll position and scale factor. However, when fixed layout was enabled with CoordinatedGraphics and TILED_BACKING_STORE, Page::setPageScaleFactor() doesn't send previous scroll position since r165652 and r165913. This patch allows the Page::setPageScaleFactor() send stored position to WK2 implementation by calling delegatedScrollRequested() directly when delegatesScrolling() is on. * page/Page.cpp: (WebCore::Page::setPageScaleFactor): TILED_BACKING_STORE and delegateScrolling are enabled, we pass new scroll position to WK2 though delegateScrolling is disabled. * platform/ScrollView.cpp: delegatedScrollRequested() call is moved from ScrollView::setScrollPosition() to Page::setPageScaleFactor(). (WebCore::ScrollView::setScrollPosition): 2014-05-07 Dean Jackson Using a fill pattern much larger than actual canvas reliably segfaults browser https://bugs.webkit.org/show_bug.cgi?id=132635 Reviewed by Simon Fraser. Make sure that createPattern checks that the canvas it is about to use as a source is valid. Test: fast/canvas/pattern-too-large-to-create.html * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern): Check that the source canvas has an ok ImageBuffer. 2014-05-07 Pratik Solanki Use system defaults for hardware jpeg decoding https://bugs.webkit.org/show_bug.cgi?id=132661 Reviewed by Tim Horton. Remove code that explicitly disabled hardware image decoding. Let the system decide what to do. * WebCore.exp.in: * platform/graphics/ImageSource.h: (WebCore::ImageSource::acceleratedImageDecodingEnabled): Deleted. (WebCore::ImageSource::setAcceleratedImageDecodingEnabled): Deleted. * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::imageSourceOptions): 2014-05-07 Radu Stavila Use after free in WebCore::RenderObject::nextSibling / WebCore::RenderBoxModelObject::moveChildrenTo https://bugs.webkit.org/show_bug.cgi?id=132625 Reviewed by David Hyatt. Fixed problem with dynamically inserting first letter elements. Test: fast/multicol/newmulticol/first-letter-create.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getFirstLetter): (WebCore::RenderBlock::updateFirstLetter): * rendering/RenderBlock.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::moveChildrenTo): 2014-05-07 Enrica Casucci WK2: Programatic scroll requests during scroll or zoom animation to reveal focused element are ignored. https://bugs.webkit.org/show_bug.cgi?id=132657 Reviewed by Benjamin Poulain. With the scrolling model we use on iOS, a programatic scroll request can be received while we are still animating to reveal the focused input element. The WebProcess is unaware that the scroll position is being changed in the UIProcess, and does not honor the scroll request from JavaScript. This is patch changes the behavior for clients using scroll delegates to always send the scroll request to the UIProcess without checking the current scroll position. * page/FrameView.h: * platform/ScrollView.cpp: (WebCore::ScrollView::setScrollPosition): * platform/ScrollView.h: (WebCore::ScrollView::inProgrammaticScroll): 2014-05-07 Brent Fulgham [Mac, iOS] REGRESSION: WK2 YouTube support https://bugs.webkit.org/show_bug.cgi?id=132568 Reviewed by Darin Adler. Move the custom YouTube loader code out of the WebFrameLoaderClient into a PluginReplacement-based class. * Modules/plugins/PluginReplacement.h: (WebCore::PluginReplacement::supportsURL): New predicate so we can restrict use of a plugin to a particular category of URLs. * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement): Updated for new registrar signature. * Modules/plugins/YouTubePluginReplacement.h: Added. (WebCore::YouTubePluginReplacement::parentElement): * Modules/plugins/YouTubePluginReplacement.cpp: Added. (WebCore::YouTubePluginReplacement::registerPluginReplacement): (WebCore::YouTubePluginReplacement::create): (WebCore::YouTubePluginReplacement::supportsMimeType): (WebCore::YouTubePluginReplacement::supportsFileExtension): (WebCore::kit): (WebCore::YouTubePluginReplacement::YouTubePluginReplacement): (WebCore::YouTubePluginReplacement::createElementRenderer): (WebCore::objectForKey): (WebCore::YouTubePluginReplacement::installReplacement): (WebCore::createYouTubeURL): (WebCore::processAndCreateYouTubeURL): (WebCore::YouTubePluginReplacement::youTubeURL): * WebCore.exp.in: Add new export from WebCore. * WebCore.xcodeproj/project.pbxproj: * html/HTMLPlugInElement.cpp: (WebCore::pluginReplacementForType): Update to also check that the URL is supported by the plugin. (WebCore::registeredPluginReplacements): Add new YouTubePluginReplacement to registry. * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::createElementRenderer): Remove custom YouTube code now that this logic is handled in the plugin replacement class. (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree): Deleted. * html/HTMLPlugInImageElement.h: * html/shadow/YouTubeEmbedShadowElement.cpp: (WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement): (WebCore::YouTubeEmbedShadowElement::shadowPseudoId): Use correct pseudoID for the plugin replacement architecture. * html/shadow/YouTubeEmbedShadowElement.h: * platform/mac/WebCoreNSURLExtras.h: * platform/mac/WebCoreNSURLExtras.mm: (WebCore::unescapedQueryValue): Moved from WebKit/Misc/WebNSURLExtras. (WebCore::queryKeysAndValues): Ditto. 2014-05-07 Simon Fraser [iOS] Acclerated overflow-scrolling broken in WK1 https://bugs.webkit.org/show_bug.cgi?id=132665 Reviewed by Tim Horton. r168301 added a CALayer delegate to disable implicit animations, but for some layers we wrap them in UIViews (which are themselves layer delegates), so bad things happened. Fix by falling back to setting the null actions dictionary for layers with custom scrolling behavior. * platform/graphics/GraphicsLayer.h: * platform/graphics/ca/mac/PlatformCALayerMac.h: * platform/graphics/ca/mac/PlatformCALayerMac.mm: (PlatformCALayerMac::updateCustomBehavior): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateScrollingLayers): 2014-05-07 Jeremy Jones HTMLMediaElement should exitFullscreen when view is removed from the window. https://bugs.webkit.org/show_bug.cgi?id=132506 Reviewed by Tim Horton. * platform/ios/WebVideoFullscreenControllerAVKit.h: Add -requestExitFullscreen. * platform/ios/WebVideoFullscreenControllerAVKit.mm: (-[WebVideoFullscreenController requestExitFullscreen]): Forward request onto WebVideoFullscreenModelMediaElement. * platform/ios/WebVideoFullscreenModelMediaElement.mm: (WebVideoFullscreenModelMediaElement::requestExitFullscreen): Add some protection here since this may be called when not in fullscreen. 2014-05-07 Dean Jackson Clean up the difference between painting focus rings and adding PDF annotations https://bugs.webkit.org/show_bug.cgi?id=132638 Follow-up comments from Darin Adler. * rendering/RenderInline.cpp: (WebCore::RenderInline::paintOutline): Move "else if" to a separate "if" for clarity. * rendering/RenderObject.cpp: (WebCore::RenderObject::paintFocusRing): Don't guard against outlineIsAuto(). ASSERT instead. (WebCore::RenderObject::addPDFURLRect): Give "rect" variable a better name. (WebCore::RenderObject::paintOutline): Move "else if" to a separate "if" for clarity. 2014-05-07 Alexey Proskuryakov Make blob size computation lazy https://bugs.webkit.org/show_bug.cgi?id=132653 Reviewed by Anders Carlsson. * fileapi/Blob.cpp: (WebCore::Blob::Blob): (WebCore::Blob::size): * fileapi/Blob.h: (WebCore::Blob::size): Deleted. * fileapi/File.cpp: (WebCore::File::size): Deleted. * fileapi/File.h: * fileapi/ThreadableBlobRegistry.cpp: (WebCore::ThreadableBlobRegistry::registerFileBlobURL): (WebCore::ThreadableBlobRegistry::registerBlobURL): (WebCore::ThreadableBlobRegistry::registerBlobURLForSlice): (WebCore::ThreadableBlobRegistry::blobSize): (WebCore::ThreadableBlobRegistry::unregisterBlobURL): (WebCore::unregisterBlobURLTask): Deleted. * fileapi/ThreadableBlobRegistry.h: * platform/network/BlobData.cpp: (WebCore::BlobData::appendData): * platform/network/BlobRegistry.h: * platform/network/BlobRegistryImpl.cpp: (WebCore::BlobRegistryImpl::registerBlobURL): (WebCore::BlobRegistryImpl::registerBlobURLForSlice): * platform/network/BlobRegistryImpl.h: 2014-05-06 Simon Fraser Add scrolling tree logging to RemoteLayerTree output https://bugs.webkit.org/show_bug.cgi?id=132640 Reviewed by Beth Dakin. Support scrolling tree logging in the RemoteLayerTree log channel output. ScrollingStateTree::commit() unconditionally set treeStateClone->m_hasChangedProperties to true, but we should set it based on original scrolling state tree's m_hasChangedProperties. We have to encode all of the scrolling state nodes anyway (they only encode changed properties), but we can use this for future optimizations, and to avoid spurious logging. * WebCore.exp.in: Export a couple of things we need. * page/scrolling/ScrollingStateTree.cpp: (WebCore::ScrollingStateTree::commit): 2014-05-07 Chris Fleizach AX: aria-expanded changes are not communicated to clients https://bugs.webkit.org/show_bug.cgi?id=132642 Reviewed by Mario Sanchez Prada. When aria-expanded changes on non list/tree items, send out a generic AXExpandedChange notification. Test: platform/mac/accessibility/expanded-notification.html * accessibility/AXObjectCache.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged): * accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::postPlatformNotification): 2014-05-07 Alexey Proskuryakov Release build fix. * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): Removed unused globals. 2014-05-07 Alexey Proskuryakov Eliminate "well known MIME type" support https://bugs.webkit.org/show_bug.cgi?id=132654 Reviewed by Anders Carlsson. Vestiges of FileSystem API. * dom/DataTransfer.cpp: (WebCore::DataTransfer::files): (WebCore::DataTransfer::hasFileOfType): * fileapi/File.cpp: (WebCore::File::File): (WebCore::File::contentTypeFromFilePathOrName): * fileapi/File.h: * html/FileInputType.cpp: (WebCore::FileInputType::createFileList): * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::findMimeType): Deleted. (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Deleted. * platform/MIMETypeRegistry.h: 2014-05-07 Christophe Dumez [HTML] Default argument to HTMLTableElement.insertRow() should be -1 https://bugs.webkit.org/show_bug.cgi?id=132651 Reviewed by Alexey Proskuryakov. HTMLTableElement.insertRow()'s argument default value should be -1, not 0, as per the specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#htmltableelement The new behavior matches the one of Firefox 29 and IE11, and soon Blink: https://codereview.chromium.org/270213007/ Test: fast/dom/HTMLTableElement/insertRow-default-argument.html * html/HTMLTableElement.h: * html/HTMLTableElement.idl: 2014-05-07 Chris Fleizach AX: AXSelectTextWithCriteria should support capitalize/lowercase/uppercase https://bugs.webkit.org/show_bug.cgi?id=132622 Reviewed by Mario Sanchez Prada. The select text with criteria mechanism used through accessibility needs to support a few more parameters to be complete (including capitalize, lowercase and uppercase). Updated: accessibility/select-text.html * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::selectText): * accessibility/AccessibilityObject.h: * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute): * rendering/RenderText.cpp: (WebCore::makeCapitalized): * rendering/RenderText.h: 2014-05-07 peavo@outlook.com DocumentLoader::dataReceived assertion failed https://bugs.webkit.org/show_bug.cgi?id=132017 Reviewed by Brent Fulgham. We need to call didReceiveResponse client method before the didReceiveData client method, otherwise we get a lot of asserts. This patch also fixes frequent crashes in downloadTimerCallback method on page loading. * platform/network/curl/ResourceHandleManager.cpp: (WebCore::calculateWebTimingInformations): Initialize local variables. (WebCore::headerCallback): Call didReceiveResponse client method here instead of in downloadTimerCallback. (WebCore::ResourceHandleManager::downloadTimerCallback): Remove call to didReceiveResponse method. (WebCore::ResourceHandleManager::dispatchSynchronousJob): Removed empty line. 2014-05-06 Antti Koivisto REGRESSION: Animated GIF inside compositing layer never resumes animation when scrolled back into view https://bugs.webkit.org/show_bug.cgi?id=132608 Reviewed by Simon Fraser. Test: fast/repaint/animation-after-layer-scroll.html * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollTo): Check if any animations need to be restarted after layer scroll. 2014-05-07 Hyowon Kim GraphicsLayer::client() should return a reference. https://bugs.webkit.org/show_bug.cgi?id=126372 Reviewed by Simon Fraser. GraphicsLayers always have a GraphicsLayerClient attached, so make client() a reference and remove some unnecessary branches. The author of the changes in the mac port is Andreas Kling . * WebCore.exp.in: * platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::GraphicsLayer): (WebCore::GraphicsLayer::willBeDestroyed): (WebCore::GraphicsLayer::paintGraphicsLayerContents): (WebCore::GraphicsLayer::addRepaintRect): (WebCore::dumpChildren): (WebCore::GraphicsLayer::dumpProperties): * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::client): (WebCore::GraphicsLayer::pageScaleFactor): (WebCore::GraphicsLayer::deviceScaleFactor): * platform/graphics/GraphicsLayerFactory.h: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayer::create): (WebCore::GraphicsLayerCA::GraphicsLayerCA): (WebCore::GraphicsLayerCA::initialize): (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted): (WebCore::GraphicsLayerCA::computePositionRelativeToBase): (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): (WebCore::GraphicsLayerCA::computeVisibleRect): (WebCore::GraphicsLayerCA::recursiveCommitChanges): (WebCore::GraphicsLayerCA::platformCALayerContentsScaleMultiplierForNewTiles): (WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles): (WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts): (WebCore::GraphicsLayerCA::updateContentsOpaque): (WebCore::GraphicsLayerCA::updateContentsScale): (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): (WebCore::GraphicsLayerCA::noteLayerPropertyChanged): * platform/graphics/ca/GraphicsLayerCA.h: * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: (WebCore::GraphicsLayer::create): (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): (WebCore::GraphicsLayerTextureMapper::notifyChange): (WebCore::GraphicsLayerTextureMapper::commitLayerChanges): * platform/graphics/texmap/GraphicsLayerTextureMapper.h: * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: (WebCore::CompositingCoordinator::createRootLayer): (WebCore::CompositingCoordinator::createGraphicsLayer): * platform/graphics/texmap/coordinated/CompositingCoordinator.h: * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::notifyFlushRequired): (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer): (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect): (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired): * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea): (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea): (WebCore::RenderLayerCompositor::updateLayerForHeader): (WebCore::RenderLayerCompositor::updateLayerForFooter): (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): (WebCore::RenderLayerCompositor::ensureRootLayer): 2014-05-07 Xabier Rodriguez Calvar [GStreamer] Corrected typo https://bugs.webkit.org/show_bug.cgi?id=132609 Reviewed by Martin Robinson. Corrected m_canFallBackToLastFinishedSeekPositon typo and initialized in the constructor to prevent problems in the future. No test needed. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Initialized m_canFallBackToLastFinishedSeekPosition as false. (WebCore::MediaPlayerPrivateGStreamer::playbackPosition): (WebCore::MediaPlayerPrivateGStreamer::handleMessage): (WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: m_canFallBackToLastFinishedSeekPositon -> m_canFallBackToLastFinishedSeekPosition 2014-05-07 Gyuyoung Kim Convert PassOwnPtr to unique_ptr in CrossThreadTask.h https://bugs.webkit.org/show_bug.cgi?id=132605 Reviewed by Dirk Schulze. * dom/CrossThreadTask.h: Converted. 2014-05-07 Carlos Garcia Campos [SOUP] TLSErrors do not cause page load to fail when not ignored https://bugs.webkit.org/show_bug.cgi?id=121548 Reviewed by Sergio Villar Senin. This only happens in case of redirection, when the initial URL is an HTTPS site with an invalid certificate, that redirects to another location. We are starting the redirection without checking the TLS errors. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::sendRequestCallback): Check TLS errors before starting a possible redirection. 2014-05-07 Manuel Rego Casasnovas [CSS Grid Layout] Remove runtime feature https://bugs.webkit.org/show_bug.cgi?id=132382 Reviewed by Benjamin Poulain. Remove cssGridLayoutEnabled setting. Update methods using it accordingly. * WebCore.order: * css/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==): (WebCore::isValidKeywordPropertyAndValue): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseGridTemplateShorthand): (WebCore::CSSParser::parseGridAreaShorthand): (WebCore::CSSParser::cssGridLayoutEnabled): Deleted. * css/CSSParser.h: * css/CSSParserMode.h: * dom/Document.cpp: (WebCore::Document::cssGridLayoutEnabled): Deleted. * dom/Document.h: * page/Settings.in: 2014-05-07 Praveen R Jadhav Fix build errors for BlobDataItem after r168391. https://bugs.webkit.org/show_bug.cgi?id=132643 Reviewed by Carlos Garcia Campos. Patch updates BlobDataItem params usage in ResourceHandleSoup.cpp to be inline with r168391. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::blobIsOutOfDate): BlobDataItem class is updated in r168391. Corresponding parameter changes are done to resolve build error. (WebCore::addEncodedBlobItemToSoupMessageBody): BlobDataItem class is updated in r168391. Corresponding parameter changes are done to resolve build error. 2014-05-06 Dean Jackson Clean up the difference between painting focus rings and adding PDF annotations https://bugs.webkit.org/show_bug.cgi?id=132638 Reviewed by Simon Fraser. The code to add a PDF annotation when printing was called from drawFocusRing, which is quite confusing. With just little movement of code, we can detect an annotation and call addPDFURLRect in the paint phase, and drawFocusRing becomes something that only draws focus rings. * rendering/RenderInline.cpp: (WebCore::RenderInline::paintOutline): Split calls to drawFocusRing and addPDFURLRect. * rendering/RenderObject.cpp: (WebCore::RenderObject::paintFocusRing): Get rid of call to PDF. (WebCore::RenderObject::addPDFURLRect): Change the signature so it can be called externally, and calculates the rectangle itself. (WebCore::RenderObject::paintOutline): Split the calls. * rendering/RenderObject.h: 2014-05-06 Rik Cabanier Calling createPattern with a broken image must throw an invalidstate error https://bugs.webkit.org/show_bug.cgi?id=132407 Reviewed by Darin Adler. Updated createPattern so it throws an invalidState exception if you pass it an image that is in the broken state. Tests: * canvas/philip/tests/2d.pattern.image.broken.html: * canvas/philip/tests/2d.pattern.image.incomplete.empty.html: * fast/canvas/canvas-empty-image-pattern.html: * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern): 2014-05-06 Jer Noble [iOS][Mac] Display sleeps while playing