1. 23 Jan, 2014 1 commit
    • simon.fraser@apple.com's avatar
      Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE) · 348cfdd3
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127461
      
      Source/WebCore:
      
      Reviewed by Andreas Kling.
      
      The "fixedVisibleContentRect" code path is only used by platforms
      which enabled TILED_BACKING_STORE, so to reduce confusion, surround
      this code with #if USE(TILED_BACKING_STORE).
      
      * page/Frame.cpp:
      (WebCore::Frame::createView):
      * page/FrameView.cpp:
      * page/FrameView.h:
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::unscaledVisibleContentSize):
      (WebCore::ScrollView::visibleContentRect):
      * platform/ScrollView.h:
      (WebCore::ScrollView::visibleSize):
      
      Source/WebKit2:
      
      Reviewed by Andreas Kling.
      
      The "fixedVisibleContentRect" code path is only used by platforms
      which enabled TILED_BACKING_STORE, so to reduce confusion, surround
      this code with #if USE(TILED_BACKING_STORE).
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      348cfdd3
  2. 18 Jan, 2014 1 commit
    • bdakin@apple.com's avatar
      Need a way to test the tile cache with margins enabled · d99f20e7
      bdakin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127194
      -and corresponding-
      <rdar://problem/15571327>
      
      Reviewed by Tim Horton.
      
      Source/WebCore: 
      
      This patch adds a new function to InternalSettings that will allow layout tests to 
      flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also         
      makes changing that setting take effect immediately. 
      
      To make this setting dynamic, we can no longer generate the Setting function, so 
      we have to export the symbol manually.
      * WebCore.exp.in:
      
      This new function on FrameView will call into RenderLayerBacking to add or remove 
      margins.
      * page/FrameView.cpp:
      (WebCore::FrameView::setBackgroundExtendsBeyondPage):
      * page/FrameView.h:
      
      Again, we’re no longer using the boiler-plate generated Setting functions, so now 
      we can call into FrameView to make the background extend.
      * page/Settings.cpp:
      (WebCore::Settings::Settings):
      (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
      * page/Settings.h:
      (WebCore::Settings::backgroundShouldExtendBeyondPage):
      * page/Settings.in:
      
      Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change 
      dynamic.
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::setTileMargins):
      
      Move the call to TiledBacking::setTileMargins() into a helper function so that the 
      same code can be used for FrameView.
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
      * rendering/RenderLayerBacking.h:
      
      New InternalSetting.
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage):
      * testing/InternalSettings.h:
      * testing/InternalSettings.idl:
      
      Source/WebKit: 
      
      Attempt to keep Windows building.
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      LayoutTests: 
      
      * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: Added.
      * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d99f20e7
  3. 16 Jan, 2014 2 commits
    • andersca@apple.com's avatar
      Change all uses of FINAL to final now that all our compilers support it · 16d2dd43
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127142
      
      Reviewed by Benjamin Poulain.
      
      Source/JavaScriptCore:
      
      * inspector/JSGlobalObjectInspectorController.h:
      * inspector/agents/InspectorAgent.h:
      * inspector/remote/RemoteInspector.h:
      * inspector/remote/RemoteInspectorDebuggableConnection.h:
      * inspector/scripts/CodeGeneratorInspector.py:
      (Generator.go):
      * runtime/JSGlobalObjectDebuggable.h:
      * runtime/JSPromiseReaction.cpp:
      
      Source/WebCore:
      
      * Modules/encryptedmedia/MediaKeySession.h:
      * Modules/indexeddb/IDBCursorBackendOperations.h:
      * Modules/indexeddb/IDBDatabase.h:
      * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
      * Modules/indexeddb/IDBRequest.h:
      * Modules/indexeddb/IDBTransaction.h:
      * Modules/indexeddb/IDBTransactionBackendOperations.h:
      * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
      * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
      * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
      * Modules/mediasource/MediaSource.h:
      * Modules/mediasource/MediaSourceRegistry.h:
      * Modules/mediasource/SourceBuffer.h:
      * Modules/mediasource/SourceBufferList.h:
      * Modules/mediastream/AudioStreamTrack.h:
      * Modules/mediastream/MediaStream.h:
      * Modules/mediastream/MediaStreamRegistry.h:
      * Modules/mediastream/MediaStreamTrack.h:
      * Modules/mediastream/RTCDTMFSender.h:
      * Modules/mediastream/RTCDataChannel.h:
      * Modules/mediastream/RTCPeerConnection.h:
      * Modules/mediastream/UserMediaRequest.h:
      * Modules/mediastream/VideoStreamTrack.h:
      * Modules/notifications/Notification.h:
      * Modules/speech/SpeechSynthesisUtterance.h:
      * Modules/webaudio/AudioContext.h:
      * Modules/webaudio/AudioNode.h:
      * Modules/websockets/WebSocket.h:
      * accessibility/AccessibilityList.h:
      * accessibility/AccessibilityListBoxOption.h:
      * accessibility/AccessibilityNodeObject.h:
      * accessibility/AccessibilitySearchFieldButtons.h:
      * accessibility/AccessibilitySlider.h:
      * bindings/js/JSCryptoAlgorithmBuilder.h:
      * bindings/js/JSCryptoKeySerializationJWK.h:
      * bindings/js/JSDOMGlobalObjectTask.cpp:
      * bindings/js/JSDOMGlobalObjectTask.h:
      * bindings/js/JSLazyEventListener.h:
      * bindings/js/ScriptDebugServer.h:
      * bindings/js/WorkerScriptDebugServer.h:
      * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
      * crypto/algorithms/CryptoAlgorithmAES_KW.h:
      * crypto/algorithms/CryptoAlgorithmHMAC.h:
      * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
      * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
      * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
      * crypto/algorithms/CryptoAlgorithmSHA1.h:
      * crypto/algorithms/CryptoAlgorithmSHA224.h:
      * crypto/algorithms/CryptoAlgorithmSHA256.h:
      * crypto/algorithms/CryptoAlgorithmSHA384.h:
      * crypto/algorithms/CryptoAlgorithmSHA512.h:
      * crypto/keys/CryptoKeyAES.h:
      * crypto/keys/CryptoKeyDataOctetSequence.h:
      * crypto/keys/CryptoKeyDataRSAComponents.h:
      * crypto/keys/CryptoKeyHMAC.h:
      * crypto/keys/CryptoKeyRSA.h:
      * crypto/keys/CryptoKeySerializationRaw.h:
      * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
      * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
      * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
      * crypto/parameters/CryptoAlgorithmHmacParams.h:
      * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
      * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
      * crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
      * crypto/parameters/CryptoAlgorithmRsaSsaParams.h:
      * css/CSSCanvasValue.h:
      * css/CSSFontSelector.h:
      * css/CSSStyleSheet.h:
      * dom/Attr.h:
      * dom/BeforeUnloadEvent.h:
      * dom/CDATASection.h:
      * dom/CharacterData.h:
      * dom/ChildNodeList.h:
      * dom/Clipboard.cpp:
      * dom/Comment.h:
      * dom/DatasetDOMStringMap.h:
      * dom/Document.h:
      * dom/DocumentEventQueue.cpp:
      * dom/DocumentEventQueue.h:
      * dom/DocumentType.h:
      * dom/Element.h:
      * dom/EntityReference.h:
      * dom/EventContext.h:
      * dom/EventTarget.h:
      * dom/FocusEvent.h:
      * dom/LiveNodeList.h:
      * dom/MessagePort.h:
      * dom/MouseEvent.h:
      * dom/Node.h:
      * dom/Notation.h:
      * dom/ProcessingInstruction.h:
      * dom/PseudoElement.h:
      * dom/ShadowRoot.h:
      * dom/StaticNodeList.h:
      * dom/StyledElement.h:
      * dom/TemplateContentDocumentFragment.h:
      * dom/Text.h:
      * dom/WebKitNamedFlow.h:
      * editing/ios/EditorIOS.mm:
      * editing/mac/EditorMac.mm:
      * editing/markup.cpp:
      * fileapi/Blob.cpp:
      * fileapi/FileReader.h:
      * html/ClassList.h:
      * html/DOMSettableTokenList.h:
      * html/FTPDirectoryDocument.cpp:
      * html/FormAssociatedElement.cpp:
      * html/FormAssociatedElement.h:
      * html/HTMLAllCollection.h:
      * html/HTMLAnchorElement.h:
      * html/HTMLAppletElement.h:
      * html/HTMLAreaElement.h:
      * html/HTMLAudioElement.h:
      * html/HTMLBDIElement.h:
      * html/HTMLBRElement.h:
      * html/HTMLBaseElement.h:
      * html/HTMLBaseFontElement.h:
      * html/HTMLBodyElement.h:
      * html/HTMLButtonElement.h:
      * html/HTMLCanvasElement.h:
      * html/HTMLDListElement.h:
      * html/HTMLDataListElement.h:
      * html/HTMLDetailsElement.h:
      * html/HTMLDirectoryElement.h:
      * html/HTMLDocument.h:
      * html/HTMLElement.h:
      * html/HTMLEmbedElement.h:
      * html/HTMLFieldSetElement.h:
      * html/HTMLFontElement.h:
      * html/HTMLFormControlElement.h:
      * html/HTMLFormElement.h:
      * html/HTMLFrameElement.h:
      * html/HTMLFrameSetElement.h:
      * html/HTMLHRElement.h:
      * html/HTMLHeadElement.h:
      * html/HTMLHeadingElement.h:
      * html/HTMLHtmlElement.h:
      * html/HTMLIFrameElement.h:
      * html/HTMLImageElement.h:
      * html/HTMLInputElement.h:
      * html/HTMLKeygenElement.cpp:
      * html/HTMLKeygenElement.h:
      * html/HTMLLIElement.h:
      * html/HTMLLabelElement.h:
      * html/HTMLLegendElement.h:
      * html/HTMLLinkElement.h:
      * html/HTMLMapElement.h:
      * html/HTMLMarqueeElement.h:
      * html/HTMLMenuElement.h:
      * html/HTMLMetaElement.h:
      * html/HTMLMeterElement.h:
      * html/HTMLModElement.h:
      * html/HTMLNameCollection.h:
      * html/HTMLOListElement.h:
      * html/HTMLObjectElement.h:
      * html/HTMLOptGroupElement.h:
      * html/HTMLOptionElement.h:
      * html/HTMLOptionsCollection.h:
      * html/HTMLOutputElement.h:
      * html/HTMLParagraphElement.h:
      * html/HTMLParamElement.h:
      * html/HTMLPlugInElement.h:
      * html/HTMLPreElement.h:
      * html/HTMLProgressElement.h:
      * html/HTMLQuoteElement.h:
      * html/HTMLScriptElement.h:
      * html/HTMLSelectElement.h:
      * html/HTMLSourceElement.h:
      * html/HTMLStyleElement.h:
      * html/HTMLSummaryElement.h:
      * html/HTMLTableCaptionElement.h:
      * html/HTMLTableCellElement.h:
      * html/HTMLTableColElement.h:
      * html/HTMLTableElement.h:
      * html/HTMLTableRowElement.h:
      * html/HTMLTableRowsCollection.h:
      * html/HTMLTableSectionElement.h:
      * html/HTMLTemplateElement.h:
      * html/HTMLTextAreaElement.h:
      * html/HTMLTextFormControlElement.h:
      * html/HTMLTitleElement.h:
      * html/HTMLTrackElement.h:
      * html/HTMLUListElement.h:
      * html/HTMLUnknownElement.h:
      * html/HTMLVideoElement.h:
      * html/HTMLViewSourceDocument.h:
      * html/ImageDocument.cpp:
      * html/ImageDocument.h:
      * html/LabelableElement.h:
      * html/LabelsNodeList.h:
      * html/MediaController.h:
      * html/MediaDocument.cpp:
      * html/MediaDocument.h:
      * html/MediaFragmentURIParser.h:
      * html/PluginDocument.cpp:
      * html/PluginDocument.h:
      * html/RangeInputType.h:
      * html/TextDocument.h:
      * html/parser/TextDocumentParser.h:
      * html/parser/TextViewSourceParser.h:
      * html/shadow/DetailsMarkerControl.h:
      * html/shadow/MediaControlElementTypes.h:
      * html/shadow/MediaControlElements.h:
      * html/shadow/MeterShadowElement.h:
      * html/shadow/ProgressShadowElement.h:
      * html/shadow/SliderThumbElement.h:
      * html/shadow/SpinButtonElement.h:
      * html/shadow/TextControlInnerElements.h:
      * html/shadow/YouTubeEmbedShadowElement.h:
      * html/track/TextTrack.h:
      * html/track/TextTrackCue.h:
      * html/track/TextTrackCueGeneric.cpp:
      * html/track/TextTrackCueGeneric.h:
      * html/track/TrackListBase.h:
      * html/track/WebVTTElement.h:
      * inspector/CommandLineAPIModule.h:
      * inspector/InjectedScriptCanvasModule.h:
      * inspector/InspectorConsoleAgent.cpp:
      * inspector/InspectorController.h:
      * inspector/InspectorDebuggerAgent.h:
      * inspector/PageConsoleAgent.cpp:
      * inspector/PageInjectedScriptHost.h:
      * inspector/PageInjectedScriptManager.h:
      * inspector/WorkerInspectorController.h:
      * loader/SinkDocument.cpp:
      * loader/SinkDocument.h:
      * loader/appcache/DOMApplicationCache.h:
      * loader/cache/CachedCSSStyleSheet.h:
      * loader/cache/CachedFont.h:
      * loader/cache/CachedRawResource.h:
      * loader/cache/CachedSVGDocument.h:
      * loader/cache/CachedScript.h:
      * loader/cache/CachedShader.h:
      * loader/cache/CachedTextTrack.h:
      * loader/cache/CachedXSLStyleSheet.h:
      * loader/icon/IconLoader.h:
      * mathml/MathMLSelectElement.h:
      * page/DOMTimer.h:
      * page/DOMWindow.h:
      * page/EventSource.h:
      * page/Frame.h:
      * page/FrameView.h:
      * page/MainFrame.h:
      * page/PageDebuggable.h:
      * page/PageSerializer.cpp:
      * page/Performance.h:
      * page/SuspendableTimer.h:
      * page/animation/KeyframeAnimation.h:
      * page/scrolling/ScrollingStateFixedNode.h:
      * page/scrolling/ScrollingStateScrollingNode.h:
      * page/scrolling/ScrollingStateStickyNode.h:
      * platform/ClockGeneric.h:
      * platform/efl/ScrollbarThemeEfl.h:
      * platform/graphics/BitmapImage.h:
      * platform/graphics/CrossfadeGeneratedImage.h:
      * platform/graphics/GradientImage.h:
      * platform/graphics/SimpleFontData.h:
      * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h:
      * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
      * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
      * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
      * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
      * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
      * platform/graphics/ca/mac/PlatformCALayerMac.h:
      * platform/graphics/ca/win/PlatformCALayerWin.h:
      * platform/graphics/cg/PDFDocumentImage.h:
      * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
      * platform/graphics/gstreamer/MediaSourceGStreamer.h:
      * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
      * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
      * platform/ios/WebSafeGCActivityCallbackIOS.h:
      * platform/ios/WebSafeIncrementalSweeperIOS.h:
      * platform/mac/PlatformClockCA.h:
      * platform/mac/PlatformClockCM.h:
      * platform/mac/ScrollAnimatorMac.h:
      * platform/mediastream/MediaStreamTrackPrivate.h:
      * platform/mediastream/mac/MediaStreamCenterMac.h:
      * platform/mock/MockMediaStreamCenter.h:
      * platform/mock/RTCDataChannelHandlerMock.h:
      * platform/mock/RTCPeerConnectionHandlerMock.h:
      * platform/mock/mediasource/MockBox.h:
      * platform/mock/mediasource/MockMediaSourcePrivate.h:
      * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
      * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
      * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
      * platform/text/LocaleNone.cpp:
      * platform/text/PlatformLocale.cpp:
      * rendering/EllipsisBox.h:
      * rendering/FilterEffectRenderer.h:
      * rendering/InlineElementBox.h:
      * rendering/InlineFlowBox.h:
      * rendering/InlineTextBox.h:
      * rendering/RenderBlock.h:
      * rendering/RenderBlockFlow.h:
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
      (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
      * rendering/RenderBox.h:
      * rendering/RenderButton.h:
      * rendering/RenderCombineText.h:
      * rendering/RenderCounter.h:
      * rendering/RenderDeprecatedFlexibleBox.h:
      * rendering/RenderDetailsMarker.h:
      * rendering/RenderElement.h:
      * rendering/RenderEmbeddedObject.h:
      * rendering/RenderFieldset.h:
      * rendering/RenderFileUploadControl.h:
      * rendering/RenderFlexibleBox.h:
      * rendering/RenderFlowThread.h:
      * rendering/RenderFrame.h:
      * rendering/RenderFrameSet.h:
      * rendering/RenderFullScreen.cpp:
      * rendering/RenderFullScreen.h:
      * rendering/RenderGrid.h:
      * rendering/RenderHTMLCanvas.h:
      * rendering/RenderIFrame.h:
      * rendering/RenderImage.h:
      * rendering/RenderInline.h:
      * rendering/RenderLayer.h:
      * rendering/RenderLayerFilterInfo.h:
      * rendering/RenderLineBreak.h:
      * rendering/RenderListBox.h:
      * rendering/RenderListItem.h:
      * rendering/RenderListMarker.h:
      * rendering/RenderMedia.h:
      * rendering/RenderMediaControlElements.h:
      * rendering/RenderMenuList.h:
      * rendering/RenderMeter.h:
      * rendering/RenderMultiColumnBlock.h:
      * rendering/RenderMultiColumnFlowThread.h:
      * rendering/RenderMultiColumnSet.h:
      * rendering/RenderNamedFlowFragment.h:
      * rendering/RenderNamedFlowThread.h:
      * rendering/RenderProgress.h:
      * rendering/RenderQuote.h:
      * rendering/RenderRegion.h:
      * rendering/RenderRegionSet.h:
      * rendering/RenderReplaced.h:
      * rendering/RenderReplica.h:
      * rendering/RenderRuby.h:
      * rendering/RenderRubyBase.h:
      * rendering/RenderRubyRun.h:
      * rendering/RenderRubyText.h:
      * rendering/RenderScrollbar.h:
      * rendering/RenderScrollbarPart.h:
      * rendering/RenderSearchField.h:
      * rendering/RenderSlider.h:
      * rendering/RenderSnapshottedPlugIn.h:
      * rendering/RenderTable.h:
      * rendering/RenderTableCaption.h:
      * rendering/RenderTableCell.h:
      * rendering/RenderTableCol.h:
      * rendering/RenderTableRow.h:
      * rendering/RenderTableSection.h:
      * rendering/RenderText.h:
      * rendering/RenderTextControl.h:
      * rendering/RenderTextControlMultiLine.h:
      * rendering/RenderTextControlSingleLine.h:
      * rendering/RenderTextFragment.h:
      * rendering/RenderTextTrackCue.h:
      * rendering/RenderVideo.h:
      * rendering/RenderView.h:
      * rendering/RenderWidget.h:
      * rendering/RootInlineBox.h:
      * rendering/TrailingFloatsRootInlineBox.h:
      * rendering/mathml/RenderMathMLBlock.h:
      * rendering/mathml/RenderMathMLFenced.h:
      * rendering/mathml/RenderMathMLFraction.h:
      * rendering/mathml/RenderMathMLMath.h:
      * rendering/mathml/RenderMathMLOperator.h:
      * rendering/mathml/RenderMathMLRoot.h:
      * rendering/mathml/RenderMathMLRow.h:
      * rendering/mathml/RenderMathMLScripts.h:
      * rendering/mathml/RenderMathMLSpace.h:
      * rendering/mathml/RenderMathMLSquareRoot.h:
      * rendering/shapes/ShapeInsideInfo.h:
      * rendering/shapes/ShapeOutsideInfo.h:
      * rendering/style/ContentData.h:
      * rendering/style/StyleCachedImage.h:
      * rendering/style/StyleCachedImageSet.h:
      * rendering/style/StyleGeneratedImage.h:
      * rendering/svg/RenderSVGBlock.h:
      * rendering/svg/RenderSVGContainer.h:
      * rendering/svg/RenderSVGEllipse.h:
      * rendering/svg/RenderSVGForeignObject.h:
      * rendering/svg/RenderSVGGradientStop.h:
      * rendering/svg/RenderSVGHiddenContainer.h:
      * rendering/svg/RenderSVGImage.h:
      * rendering/svg/RenderSVGInline.h:
      * rendering/svg/RenderSVGInlineText.h:
      * rendering/svg/RenderSVGModelObject.h:
      * rendering/svg/RenderSVGPath.h:
      * rendering/svg/RenderSVGRect.h:
      * rendering/svg/RenderSVGResourceClipper.h:
      * rendering/svg/RenderSVGResourceContainer.h:
      * rendering/svg/RenderSVGResourceFilter.h:
      * rendering/svg/RenderSVGResourceFilterPrimitive.h:
      * rendering/svg/RenderSVGResourceGradient.h:
      * rendering/svg/RenderSVGResourceLinearGradient.h:
      * rendering/svg/RenderSVGResourceMarker.h:
      * rendering/svg/RenderSVGResourceMasker.h:
      * rendering/svg/RenderSVGResourcePattern.h:
      * rendering/svg/RenderSVGResourceRadialGradient.h:
      * rendering/svg/RenderSVGRoot.h:
      * rendering/svg/RenderSVGShape.cpp:
      * rendering/svg/RenderSVGShape.h:
      * rendering/svg/RenderSVGTSpan.h:
      * rendering/svg/RenderSVGText.h:
      * rendering/svg/RenderSVGTextPath.h:
      * rendering/svg/RenderSVGTransformableContainer.h:
      * rendering/svg/RenderSVGViewportContainer.h:
      * rendering/svg/SVGInlineFlowBox.h:
      * rendering/svg/SVGInlineTextBox.h:
      * rendering/svg/SVGRootInlineBox.h:
      * rendering/svg/SVGTextRunRenderingContext.h:
      * svg/SVGAElement.h:
      * svg/SVGAltGlyphDefElement.h:
      * svg/SVGAltGlyphElement.h:
      * svg/SVGAltGlyphItemElement.h:
      * svg/SVGAnimateColorElement.h:
      * svg/SVGAnimateMotionElement.h:
      * svg/SVGAnimateTransformElement.h:
      * svg/SVGAnimatedAngle.h:
      * svg/SVGAnimatedBoolean.h:
      * svg/SVGAnimatedColor.h:
      * svg/SVGAnimatedEnumeration.h:
      * svg/SVGAnimatedInteger.h:
      * svg/SVGAnimatedIntegerOptionalInteger.h:
      * svg/SVGAnimatedLength.h:
      * svg/SVGAnimatedLengthList.h:
      * svg/SVGAnimatedNumber.h:
      * svg/SVGAnimatedNumberList.h:
      * svg/SVGAnimatedNumberOptionalNumber.h:
      * svg/SVGAnimatedPath.h:
      * svg/SVGAnimatedPointList.h:
      * svg/SVGAnimatedPreserveAspectRatio.h:
      * svg/SVGAnimatedRect.h:
      * svg/SVGAnimatedString.h:
      * svg/SVGAnimatedTransformList.h:
      * svg/SVGCircleElement.h:
      * svg/SVGClipPathElement.h:
      * svg/SVGCursorElement.h:
      * svg/SVGDefsElement.h:
      * svg/SVGDescElement.h:
      * svg/SVGDocument.h:
      * svg/SVGElement.h:
      * svg/SVGEllipseElement.h:
      * svg/SVGFEBlendElement.h:
      * svg/SVGFEColorMatrixElement.h:
      * svg/SVGFEComponentTransferElement.h:
      * svg/SVGFECompositeElement.h:
      * svg/SVGFEConvolveMatrixElement.h:
      * svg/SVGFEDiffuseLightingElement.h:
      * svg/SVGFEDisplacementMapElement.h:
      * svg/SVGFEDistantLightElement.h:
      * svg/SVGFEDropShadowElement.h:
      * svg/SVGFEFloodElement.h:
      * svg/SVGFEFuncAElement.h:
      * svg/SVGFEFuncBElement.h:
      * svg/SVGFEFuncGElement.h:
      * svg/SVGFEFuncRElement.h:
      * svg/SVGFEGaussianBlurElement.h:
      * svg/SVGFEImageElement.h:
      * svg/SVGFEMergeElement.h:
      * svg/SVGFEMergeNodeElement.h:
      * svg/SVGFEMorphologyElement.h:
      * svg/SVGFEOffsetElement.h:
      * svg/SVGFEPointLightElement.h:
      * svg/SVGFESpecularLightingElement.h:
      * svg/SVGFESpotLightElement.h:
      * svg/SVGFETileElement.h:
      * svg/SVGFETurbulenceElement.h:
      * svg/SVGFilterElement.h:
      * svg/SVGFontElement.h:
      * svg/SVGFontFaceElement.h:
      * svg/SVGFontFaceFormatElement.h:
      * svg/SVGFontFaceNameElement.h:
      * svg/SVGFontFaceSrcElement.h:
      * svg/SVGFontFaceUriElement.h:
      * svg/SVGForeignObjectElement.h:
      * svg/SVGGElement.h:
      * svg/SVGGlyphElement.h:
      * svg/SVGGlyphRefElement.h:
      * svg/SVGHKernElement.h:
      * svg/SVGImageElement.h:
      * svg/SVGLineElement.h:
      * svg/SVGLinearGradientElement.h:
      * svg/SVGMPathElement.h:
      * svg/SVGMarkerElement.h:
      * svg/SVGMaskElement.h:
      * svg/SVGMetadataElement.h:
      * svg/SVGMissingGlyphElement.h:
      * svg/SVGPathElement.h:
      * svg/SVGPathStringBuilder.h:
      * svg/SVGPatternElement.h:
      * svg/SVGPolygonElement.h:
      * svg/SVGPolylineElement.h:
      * svg/SVGRadialGradientElement.h:
      * svg/SVGRectElement.h:
      * svg/SVGSVGElement.h:
      * svg/SVGScriptElement.h:
      * svg/SVGSetElement.h:
      * svg/SVGStopElement.h:
      * svg/SVGStyleElement.h:
      * svg/SVGSwitchElement.h:
      * svg/SVGSymbolElement.h:
      * svg/SVGTRefElement.h:
      * svg/SVGTSpanElement.h:
      * svg/SVGTextContentElement.h:
      * svg/SVGTextElement.h:
      * svg/SVGTextPathElement.h:
      * svg/SVGTitleElement.h:
      * svg/SVGUnknownElement.h:
      * svg/SVGUseElement.h:
      * svg/SVGVKernElement.h:
      * svg/SVGViewElement.h:
      * svg/animation/SVGSMILElement.h:
      * svg/graphics/SVGImage.h:
      * svg/graphics/SVGImageForContainer.h:
      * svg/graphics/filters/SVGFilter.h:
      * workers/AbstractWorker.h:
      * workers/SharedWorker.h:
      * workers/Worker.h:
      * workers/WorkerEventQueue.cpp:
      * workers/WorkerEventQueue.h:
      * workers/WorkerGlobalScope.h:
      * xml/XMLHttpRequest.h:
      * xml/XMLHttpRequestUpload.h:
      * xml/XPathFunctions.cpp:
      * xml/XPathPath.h:
      * xml/XPathPredicate.h:
      * xml/XSLStyleSheet.h:
      
      Source/WebKit/ios:
      
      * WebCoreSupport/WebDiskImageCacheClientIOS.h:
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebUserMediaClient.h:
      * WebView/WebScriptDebugger.h:
      
      Source/WebKit2:
      
      * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
      * NetworkProcess/RemoteNetworkingContext.h:
      * Shared/API/Cocoa/RemoteObjectRegistry.h:
      * Shared/APIArray.h:
      * Shared/APIString.h:
      * Shared/AsyncRequest.h:
      * Shared/AsyncTask.h:
      * Shared/cf/KeyedEncoder.h:
      * UIProcess/API/gtk/PageClientImpl.h:
      * UIProcess/API/mac/PageClientImpl.h:
      * UIProcess/efl/WebViewEfl.h:
      * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
      * WebProcess/Plugins/PDF/PDFPlugin.h:
      * WebProcess/Storage/StorageAreaImpl.h:
      * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
      * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
      * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162158 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16d2dd43
    • commit-queue@webkit.org's avatar
      Remove workaround for compilers not supporting explicit override control · 2dfe6cb5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127111
      
      Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-16
      Reviewed by Anders Carlsson.
      
      Now all compilers support explicit override control, this workaround can be removed.
      
      Source/JavaScriptCore:
      
      * API/JSAPIWrapperObject.mm:
      * API/JSCallbackObject.h:
      * API/JSManagedValue.mm:
      * API/JSScriptRef.cpp:
      * bytecode/CodeBlock.h:
      * bytecode/CodeBlockJettisoningWatchpoint.h:
      * bytecode/ProfiledCodeBlockJettisoningWatchpoint.h:
      * bytecode/StructureStubClearingWatchpoint.h:
      * dfg/DFGArrayifySlowPathGenerator.h:
      * dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
      * dfg/DFGFailedFinalizer.h:
      * dfg/DFGJITCode.h:
      * dfg/DFGJITFinalizer.h:
      * dfg/DFGSaneStringGetByValSlowPathGenerator.h:
      * dfg/DFGSlowPathGenerator.h:
      * dfg/DFGSpeculativeJIT64.cpp:
      * heap/Heap.h:
      * heap/IncrementalSweeper.h:
      * heap/SuperRegion.h:
      * inspector/InspectorValues.h:
      * inspector/JSGlobalObjectInspectorController.h:
      * inspector/agents/InspectorAgent.h:
      * inspector/remote/RemoteInspector.h:
      * inspector/remote/RemoteInspectorDebuggableConnection.h:
      * inspector/scripts/CodeGeneratorInspector.py:
      (Generator.go):
      * jit/ClosureCallStubRoutine.h:
      * jit/ExecutableAllocatorFixedVMPool.cpp:
      * jit/GCAwareJITStubRoutine.h:
      * jit/JITCode.h:
      * jit/JITToDFGDeferredCompilationCallback.h:
      * parser/Nodes.h:
      * parser/SourceProvider.h:
      * runtime/DataView.h:
      * runtime/GCActivityCallback.h:
      * runtime/GenericTypedArrayView.h:
      * runtime/JSGlobalObjectDebuggable.h:
      * runtime/JSPromiseReaction.cpp:
      * runtime/RegExpCache.h:
      * runtime/SimpleTypedArrayController.h:
      * runtime/SymbolTable.h:
      * runtime/WeakMapData.h:
      
      Source/WebCore:
      
      * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
      * Modules/encryptedmedia/CDMPrivateAVFoundation.h:
      * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
      * Modules/encryptedmedia/MediaKeyMessageEvent.h:
      * Modules/encryptedmedia/MediaKeyNeededEvent.h:
      * Modules/encryptedmedia/MediaKeySession.h:
      * Modules/encryptedmedia/MediaKeys.h:
      * Modules/geolocation/Geolocation.h:
      * Modules/indexeddb/DOMWindowIndexedDatabase.h:
      * Modules/indexeddb/IDBCursorBackendOperations.h:
      * Modules/indexeddb/IDBCursorWithValue.h:
      * Modules/indexeddb/IDBDatabase.h:
      * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
      * Modules/indexeddb/IDBOpenDBRequest.h:
      * Modules/indexeddb/IDBRequest.h:
      * Modules/indexeddb/IDBTransaction.h:
      * Modules/indexeddb/IDBTransactionBackendOperations.h:
      * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
      * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
      * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
      * Modules/indieui/UIRequestEvent.h:
      * Modules/mediasource/MediaSource.h:
      * Modules/mediasource/MediaSourceRegistry.h:
      * Modules/mediasource/SourceBuffer.h:
      * Modules/mediasource/SourceBufferList.h:
      * Modules/mediastream/AudioStreamTrack.h:
      * Modules/mediastream/MediaConstraintsImpl.h:
      * Modules/mediastream/MediaStream.h:
      * Modules/mediastream/MediaStreamRegistry.h:
      * Modules/mediastream/MediaStreamTrack.h:
      * Modules/mediastream/MediaStreamTrackEvent.h:
      * Modules/mediastream/MediaStreamTrackSourcesRequest.h:
      * Modules/mediastream/RTCDTMFSender.h:
      * Modules/mediastream/RTCDataChannel.h:
      * Modules/mediastream/RTCPeerConnection.h:
      * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
      * Modules/mediastream/RTCStatsRequestImpl.h:
      * Modules/mediastream/RTCStatsResponse.h:
      * Modules/mediastream/RTCVoidRequestImpl.h:
      * Modules/mediastream/UserMediaRequest.h:
      * Modules/mediastream/VideoStreamTrack.h:
      * Modules/networkinfo/NetworkInfoConnection.h:
      * Modules/notifications/DOMWindowNotifications.h:
      * Modules/notifications/Notification.h:
      * Modules/notifications/NotificationCenter.h:
      * Modules/plugins/QuickTimePluginReplacement.h:
      * Modules/speech/SpeechRecognition.h:
      * Modules/speech/SpeechRecognitionError.h:
      * Modules/speech/SpeechRecognitionEvent.h:
      * Modules/speech/SpeechSynthesis.h:
      * Modules/speech/SpeechSynthesisUtterance.h:
      * Modules/webaudio/AnalyserNode.h:
      * Modules/webaudio/AudioBasicInspectorNode.h:
      * Modules/webaudio/AudioBasicProcessorNode.h:
      * Modules/webaudio/AudioBufferSourceNode.h:
      * Modules/webaudio/AudioContext.h:
      * Modules/webaudio/AudioDestinationNode.h:
      * Modules/webaudio/AudioNode.h:
      * Modules/webaudio/AudioNodeInput.h:
      * Modules/webaudio/AudioParam.h:
      * Modules/webaudio/AudioProcessingEvent.h:
      * Modules/webaudio/BiquadDSPKernel.h:
      * Modules/webaudio/BiquadProcessor.h:
      * Modules/webaudio/ChannelMergerNode.h:
      * Modules/webaudio/ChannelSplitterNode.h:
      * Modules/webaudio/ConvolverNode.h:
      * Modules/webaudio/DefaultAudioDestinationNode.h:
      * Modules/webaudio/DelayDSPKernel.h:
      * Modules/webaudio/DelayProcessor.h:
      * Modules/webaudio/DynamicsCompressorNode.h:
      * Modules/webaudio/GainNode.h:
      * Modules/webaudio/MediaElementAudioSourceNode.h:
      * Modules/webaudio/MediaStreamAudioDestinationNode.h:
      * Modules/webaudio/MediaStreamAudioSourceNode.h:
      * Modules/webaudio/OfflineAudioCompletionEvent.h:
      * Modules/webaudio/OfflineAudioDestinationNode.h:
      * Modules/webaudio/OscillatorNode.h:
      * Modules/webaudio/PannerNode.h:
      * Modules/webaudio/ScriptProcessorNode.h:
      * Modules/webaudio/WaveShaperDSPKernel.h:
      * Modules/webaudio/WaveShaperProcessor.h:
      * Modules/webdatabase/DatabaseTask.h:
      * Modules/webdatabase/SQLTransaction.h:
      * Modules/webdatabase/SQLTransactionBackend.h:
      * Modules/websockets/CloseEvent.h:
      * Modules/websockets/WebSocket.h:
      * Modules/websockets/WebSocketChannel.h:
      * Modules/websockets/WebSocketDeflateFramer.cpp:
      * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
      * Modules/websockets/WorkerThreadableWebSocketChannel.h:
      * accessibility/AccessibilityARIAGrid.h:
      * accessibility/AccessibilityARIAGridCell.h:
      * accessibility/AccessibilityARIAGridRow.h:
      * accessibility/AccessibilityImageMapLink.h:
      * accessibility/AccessibilityList.h:
      * accessibility/AccessibilityListBox.h:
      * accessibility/AccessibilityListBoxOption.h:
      * accessibility/AccessibilityMediaControls.h:
      * accessibility/AccessibilityMenuList.h:
      * accessibility/AccessibilityMenuListOption.h:
      * accessibility/AccessibilityMenuListPopup.h:
      * accessibility/AccessibilityMockObject.h:
      * accessibility/AccessibilityNodeObject.h:
      * accessibility/AccessibilityProgressIndicator.h:
      * accessibility/AccessibilityRenderObject.h:
      * accessibility/AccessibilitySVGRoot.h:
      * accessibility/AccessibilityScrollView.h:
      * accessibility/AccessibilityScrollbar.h:
      * accessibility/AccessibilitySearchFieldButtons.h:
      * accessibility/AccessibilitySlider.h:
      * accessibility/AccessibilitySpinButton.h:
      * accessibility/AccessibilityTable.h:
      * accessibility/AccessibilityTableCell.h:
      * accessibility/AccessibilityTableColumn.h:
      * accessibility/AccessibilityTableHeaderContainer.h:
      * accessibility/AccessibilityTableRow.h:
      * bindings/js/JSCryptoAlgorithmBuilder.h:
      * bindings/js/JSCryptoKeySerializationJWK.h:
      * bindings/js/JSDOMGlobalObjectTask.h:
      * bindings/js/JSEventListener.h:
      * bindings/js/JSLazyEventListener.h:
      * bindings/js/JSMutationCallback.h:
      * bindings/js/PageScriptDebugServer.h:
      * bindings/js/ScriptDebugServer.h:
      * bindings/js/WebCoreTypedArrayController.h:
      * bindings/js/WorkerScriptDebugServer.h:
      * bridge/c/c_class.h:
      * bridge/c/c_instance.h:
      * bridge/c/c_runtime.h:
      * bridge/runtime_root.h:
      * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
      * crypto/algorithms/CryptoAlgorithmAES_KW.h:
      * crypto/algorithms/CryptoAlgorithmHMAC.h:
      * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
      * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
      * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
      * crypto/algorithms/CryptoAlgorithmSHA1.h:
      * crypto/algorithms/CryptoAlgorithmSHA224.h:
      * crypto/algorithms/CryptoAlgorithmSHA256.h:
      * crypto/algorithms/CryptoAlgorithmSHA384.h:
      * crypto/algorithms/CryptoAlgorithmSHA512.h:
      * crypto/keys/CryptoKeyAES.h:
      * crypto/keys/CryptoKeyHMAC.h:
      * crypto/keys/CryptoKeyRSA.h:
      * crypto/keys/CryptoKeySerializationRaw.h:
      * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
      * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
      * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
      * crypto/parameters/CryptoAlgorithmHmacParams.h:
      * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
      * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
      * crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
      * crypto/parameters/CryptoAlgorithmRsaSsaParams.h:
      * css/CSSBasicShapes.h:
      * css/CSSCanvasValue.h:
      * css/CSSCharsetRule.h:
      * css/CSSComputedStyleDeclaration.h:
      * css/CSSCrossfadeValue.h:
      * css/CSSFilterImageValue.h:
      * css/CSSFontFaceRule.h:
      * css/CSSFontSelector.h:
      * css/CSSGroupingRule.h:
      * css/CSSHostRule.h:
      * css/CSSImportRule.h:
      * css/CSSMediaRule.h:
      * css/CSSPageRule.h:
      * css/CSSStyleRule.h:
      * css/CSSStyleSheet.h:
      * css/CSSSupportsRule.h:
      * css/CSSUnknownRule.h:
      * css/FontLoader.cpp:
      * css/FontLoader.h:
      * css/PropertySetCSSStyleDeclaration.h:
      * css/WebKitCSSFilterRule.h:
      * css/WebKitCSSKeyframeRule.h:
      * css/WebKitCSSKeyframesRule.h:
      * css/WebKitCSSRegionRule.h:
      * css/WebKitCSSViewportRule.h:
      * dom/Attr.h:
      * dom/BeforeTextInsertedEvent.h:
      * dom/BeforeUnloadEvent.h:
      * dom/CDATASection.h:
      * dom/CharacterData.h:
      * dom/ChildNodeList.h:
      * dom/Clipboard.cpp:
      * dom/ClipboardEvent.h:
      * dom/ContainerNode.h:
      * dom/DOMImplementation.cpp:
      * dom/DatasetDOMStringMap.h:
      * dom/DeviceMotionController.h:
      * dom/DeviceOrientationController.h:
      * dom/Document.h:
      * dom/DocumentEventQueue.cpp:
      * dom/DocumentEventQueue.h:
      * dom/DocumentFragment.h:
      * dom/Element.h:
      * dom/ErrorEvent.h:
      * dom/EventContext.h:
      * dom/EventTarget.h:
      * dom/FocusEvent.h:
      * dom/KeyboardEvent.h:
      * dom/LiveNodeList.h:
      * dom/MessagePort.h:
      * dom/MouseEvent.h:
      * dom/MutationRecord.cpp:
      * dom/Node.h:
      * dom/PageTransitionEvent.h:
      * dom/ProcessingInstruction.h:
      * dom/ProgressEvent.h:
      * dom/PseudoElement.h:
      * dom/ScriptExecutionContext.h:
      * dom/ShadowRoot.h:
      * dom/StaticNodeList.h:
      * dom/StyledElement.h:
      * dom/TagNodeList.h:
      * dom/TemplateContentDocumentFragment.h:
      * dom/Text.h:
      * dom/TextEvent.h:
      * dom/TouchEvent.h:
      * dom/TransitionEvent.h:
      * dom/UIEvent.h:
      * dom/WebKitAnimationEvent.h:
      * dom/WebKitNamedFlow.h:
      * dom/WebKitTransitionEvent.h:
      * editing/AppendNodeCommand.h:
      * editing/ApplyBlockElementCommand.h:
      * editing/ApplyStyleCommand.h:
      * editing/BreakBlockquoteCommand.h:
      * editing/CompositeEditCommand.h:
      * editing/DeleteButton.h:
      * editing/DeleteFromTextNodeCommand.h:
      * editing/EditCommand.h:
      * editing/InsertIntoTextNodeCommand.h:
      * editing/InsertNodeBeforeCommand.h:
      * editing/InsertTextCommand.h:
      * editing/MergeIdenticalElementsCommand.h:
      * editing/RemoveCSSPropertyCommand.h:
      * editing/RemoveNodeCommand.h:
      * editing/ReplaceNodeWithSpanCommand.h:
      * editing/SetNodeAttributeCommand.h:
      * editing/SetSelectionCommand.h:
      * editing/SpellChecker.h:
      * editing/SpellingCorrectionCommand.cpp:
      * editing/SpellingCorrectionCommand.h:
      * editing/SplitElementCommand.h:
      * editing/SplitTextNodeCommand.h:
      * editing/WrapContentsInDummySpanCommand.h:
      * editing/ios/EditorIOS.mm:
      * editing/markup.cpp:
      * fileapi/Blob.cpp:
      * fileapi/Blob.h:
      * fileapi/File.h:
      * fileapi/FileReader.h:
      * fileapi/FileThreadTask.h:
      * history/BackForwardList.h:
      * html/BaseButtonInputType.h:
      * html/BaseCheckableInputType.h:
      * html/BaseChooserOnlyDateAndTimeInputType.h:
      * html/BaseClickableWithKeyInputType.h:
      * html/BaseDateAndTimeInputType.h:
      * html/BaseTextInputType.h:
      * html/ButtonInputType.h:
      * html/CheckboxInputType.h:
      * html/ClassList.h:
      * html/ColorInputType.h:
      * html/DOMSettableTokenList.h:
      * html/DateInputType.h:
      * html/DateTimeInputType.h:
      * html/DateTimeLocalInputType.h:
      * html/EmailInputType.h:
      * html/FTPDirectoryDocument.cpp:
      * html/FileInputType.h:
      * html/FormAssociatedElement.cpp:
      * html/FormAssociatedElement.h:
      * html/HTMLAnchorElement.h:
      * html/HTMLAppletElement.h:
      * html/HTMLAreaElement.h:
      * html/HTMLBRElement.h:
      * html/HTMLBaseElement.h:
      * html/HTMLBodyElement.h:
      * html/HTMLButtonElement.h:
      * html/HTMLCanvasElement.h:
      * html/HTMLDetailsElement.cpp:
      * html/HTMLDetailsElement.h:
      * html/HTMLDivElement.h:
      * html/HTMLDocument.h:
      * html/HTMLElement.h:
      * html/HTMLEmbedElement.h:
      * html/HTMLFieldSetElement.h:
      * html/HTMLFontElement.h:
      * html/HTMLFormControlElement.h:
      * html/HTMLFormControlElementWithState.h:
      * html/HTMLFormControlsCollection.h:
      * html/HTMLFormElement.h:
      * html/HTMLFrameElement.h:
      * html/HTMLFrameElementBase.h:
      * html/HTMLFrameOwnerElement.h:
      * html/HTMLFrameSetElement.h:
      * html/HTMLHRElement.h:
      * html/HTMLHtmlElement.h:
      * html/HTMLIFrameElement.h:
      * html/HTMLImageElement.h:
      * html/HTMLImageLoader.h:
      * html/HTMLInputElement.cpp:
      * html/HTMLInputElement.h:
      * html/HTMLKeygenElement.h:
      * html/HTMLLIElement.h:
      * html/HTMLLabelElement.h:
      * html/HTMLLegendElement.h:
      * html/HTMLLinkElement.h:
      * html/HTMLMapElement.h:
      * html/HTMLMarqueeElement.h:
      * html/HTMLMediaElement.h:
      * html/HTMLMediaSession.h:
      * html/HTMLMediaSource.h:
      * html/HTMLMetaElement.h:
      * html/HTMLMeterElement.h:
      * html/HTMLModElement.h:
      * html/HTMLOListElement.h:
      * html/HTMLObjectElement.h:
      * html/HTMLOptGroupElement.h:
      * html/HTMLOptionElement.h:
      * html/HTMLOutputElement.h:
      * html/HTMLParagraphElement.h:
      * html/HTMLParamElement.h:
      * html/HTMLPlugInElement.h:
      * html/HTMLPlugInImageElement.h:
      * html/HTMLPreElement.h:
      * html/HTMLProgressElement.h:
      * html/HTMLQuoteElement.h:
      * html/HTMLScriptElement.h:
      * html/HTMLSelectElement.h:
      * html/HTMLSourceElement.h:
      * html/HTMLStyleElement.h:
      * html/HTMLSummaryElement.h:
      * html/HTMLTableCaptionElement.h:
      * html/HTMLTableCellElement.h:
      * html/HTMLTableColElement.h:
      * html/HTMLTableElement.h:
      * html/HTMLTablePartElement.h:
      * html/HTMLTableRowsCollection.h:
      * html/HTMLTableSectionElement.h:
      * html/HTMLTemplateElement.h:
      * html/HTMLTextAreaElement.h:
      * html/HTMLTextFormControlElement.h:
      * html/HTMLTitleElement.h:
      * html/HTMLTrackElement.h:
      * html/HTMLUListElement.h:
      * html/HTMLUnknownElement.h:
      * html/HTMLVideoElement.h:
      * html/HiddenInputType.h:
      * html/ImageDocument.cpp:
      * html/ImageInputType.h:
      * html/LabelableElement.h:
      * html/LabelsNodeList.h:
      * html/MediaController.h:
      * html/MonthInputType.h:
      * html/NumberInputType.h:
      * html/PasswordInputType.h:
      * html/PluginDocument.h:
      * html/RadioInputType.h:
      * html/RangeInputType.h:
      * html/ResetInputType.h:
      * html/SearchInputType.h:
      * html/SubmitInputType.h:
      * html/TelephoneInputType.h:
      * html/TextFieldInputType.h:
      * html/TextInputType.h:
      * html/TimeInputType.h:
      * html/URLInputType.h:
      * html/WeekInputType.h:
      * html/canvas/CanvasRenderingContext2D.cpp:
      * html/canvas/CanvasRenderingContext2D.h:
      * html/canvas/WebGLRenderingContext.h:
      * html/parser/HTMLDocumentParser.h:
      * html/parser/TextDocumentParser.h:
      * html/shadow/DetailsMarkerControl.h:
      * html/shadow/InsertionPoint.h:
      * html/shadow/MediaControlElementTypes.h:
      * html/shadow/MediaControlElements.h:
      * html/shadow/MediaControls.h:
      * html/shadow/MediaControlsApple.h:
      * html/shadow/MediaControlsGtk.h:
      * html/shadow/MeterShadowElement.h:
      * html/shadow/ProgressShadowElement.h:
      * html/shadow/SliderThumbElement.cpp:
      * html/shadow/SliderThumbElement.h:
      * html/shadow/SpinButtonElement.h:
      * html/shadow/TextControlInnerElements.h:
      * html/shadow/YouTubeEmbedShadowElement.h:
      * html/track/AudioTrack.h:
      * html/track/AudioTrackList.h:
      * html/track/InbandGenericTextTrack.h:
      * html/track/InbandTextTrack.h:
      * html/track/InbandWebVTTTextTrack.h:
      * html/track/LoadableTextTrack.h:
      * html/track/TextTrack.h:
      * html/track/TextTrackCue.h:
      * html/track/TextTrackCueGeneric.cpp:
      * html/track/TextTrackCueGeneric.h:
      * html/track/TextTrackList.h:
      * html/track/TrackListBase.h:
      * html/track/VideoTrack.h:
      * html/track/VideoTrackList.h:
      * html/track/WebVTTElement.h:
      * inspector/CommandLineAPIModule.h:
      * inspector/InjectedScriptCanvasModule.h:
      * inspector/InspectorApplicationCacheAgent.h:
      * inspector/InspectorCSSAgent.h:
      * inspector/InspectorCanvasAgent.h:
      * inspector/InspectorConsoleAgent.cpp:
      * inspector/InspectorConsoleAgent.h:
      * inspector/InspectorController.h:
      * inspector/InspectorDOMAgent.h:
      * inspector/InspectorDOMDebuggerAgent.h:
      * inspector/InspectorDOMStorageAgent.h:
      * inspector/InspectorDatabaseAgent.h:
      * inspector/InspectorDebuggerAgent.h:
      * inspector/InspectorHeapProfilerAgent.h:
      * inspector/InspectorIndexedDBAgent.cpp:
      * inspector/InspectorIndexedDBAgent.h:
      * inspector/InspectorInputAgent.h:
      * inspector/InspectorLayerTreeAgent.h:
      * inspector/InspectorMemoryAgent.h:
      * inspector/InspectorPageAgent.h:
      * inspector/InspectorProfilerAgent.h:
      * inspector/InspectorResourceAgent.h:
      * inspector/InspectorTimelineAgent.h:
      * inspector/InspectorWorkerAgent.h:
      * inspector/PageConsoleAgent.cpp:
      * inspector/PageConsoleAgent.h:
      * inspector/PageInjectedScriptHost.h:
      * inspector/PageInjectedScriptManager.h:
      * inspector/PageRuntimeAgent.h:
      * inspector/WorkerConsoleAgent.h:
      * inspector/WorkerDebuggerAgent.h:
      * inspector/WorkerInspectorController.h:
      * inspector/WorkerRuntimeAgent.h:
      * loader/DocumentLoader.h:
      * loader/EmptyClients.h:
      * loader/FrameNetworkingContext.h:
      * loader/ImageLoader.h:
      * loader/NavigationScheduler.cpp:
      * loader/NetscapePlugInStreamLoader.h:
      * loader/PingLoader.h:
      * loader/ResourceLoader.h:
      * loader/SubresourceLoader.h:
      * loader/WorkerThreadableLoader.h:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheGroup.h:
      * loader/appcache/DOMApplicationCache.h:
      * loader/archive/cf/LegacyWebArchive.h:
      * loader/cache/CachedCSSStyleSheet.h:
      * loader/cache/CachedFont.h:
      * loader/cache/CachedFontClient.h:
      * loader/cache/CachedImage.h:
      * loader/cache/CachedImageClient.h:
      * loader/cache/CachedRawResource.h:
      * loader/cache/CachedRawResourceClient.h:
      * loader/cache/CachedSVGDocument.h:
      * loader/cache/CachedSVGDocumentClient.h:
      * loader/cache/CachedScript.h:
      * loader/cache/CachedShader.h:
      * loader/cache/CachedStyleSheetClient.h:
      * loader/cache/CachedTextTrack.h:
      * loader/cache/CachedXSLStyleSheet.h:
      * loader/icon/IconLoader.h:
      * mathml/MathMLElement.h:
      * mathml/MathMLInlineContainerElement.h:
      * mathml/MathMLMathElement.h:
      * mathml/MathMLSelectElement.h:
      * mathml/MathMLTextElement.h:
      * page/CaptionUserPreferencesMediaAF.h:
      * page/Chrome.h:
      * page/DOMTimer.h:
      * page/DOMWindow.h:
      * page/DOMWindowExtension.h:
      * page/EventSource.h:
      * page/Frame.h:
      * page/FrameView.h:
      * page/PageDebuggable.h:
      * page/PageSerializer.cpp:
      * page/Performance.h:
      * page/SuspendableTimer.h:
      * page/animation/ImplicitAnimation.h:
      * page/animation/KeyframeAnimation.h:
      * page/scrolling/AsyncScrollingCoordinator.h:
      * page/scrolling/ScrollingConstraints.h:
      * page/scrolling/ScrollingStateFixedNode.h:
      * page/scrolling/ScrollingStateScrollingNode.h:
      * page/scrolling/ScrollingStateStickyNode.h:
      * page/scrolling/ScrollingTreeScrollingNode.h:
      * page/scrolling/ThreadedScrollingTree.h:
      * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
      * page/scrolling/ios/ScrollingCoordinatorIOS.h:
      * page/scrolling/ios/ScrollingTreeIOS.h:
      * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
      * page/scrolling/mac/ScrollingCoordinatorMac.h:
      * page/scrolling/mac/ScrollingTreeFixedNode.h:
      * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
      * page/scrolling/mac/ScrollingTreeStickyNode.h:
      * pdf/ios/PDFDocument.cpp:
      * pdf/ios/PDFDocument.h:
      * platform/CalculationValue.h:
      * platform/ClockGeneric.h:
      * platform/MainThreadTask.h:
      * platform/PODIntervalTree.h:
      * platform/PODRedBlackTree.h:
      * platform/RefCountedSupplement.h:
      * platform/ScrollView.h:
      * platform/Scrollbar.h:
      * platform/Timer.h:
      * platform/animation/TimingFunction.h:
      * platform/audio/AudioDSPKernelProcessor.h:
      * platform/audio/EqualPowerPanner.h:
      * platform/audio/HRTFPanner.h:
      * platform/audio/ios/AudioDestinationIOS.h:
      * platform/audio/mac/AudioDestinationMac.h:
      * platform/audio/nix/AudioDestinationNix.h:
      * platform/efl/RenderThemeEfl.h:
      * platform/efl/ScrollbarEfl.h:
      * platform/efl/ScrollbarThemeEfl.h:
      * platform/graphics/AudioTrackPrivate.h:
      * platform/graphics/BitmapImage.h:
      * platform/graphics/CrossfadeGeneratedImage.h:
      * platform/graphics/FloatPolygon.h:
      * platform/graphics/GeneratedImage.h:
      * platform/graphics/GradientImage.h:
      * platform/graphics/GraphicsLayer.h:
      * platform/graphics/InbandTextTrackPrivate.h:
      * platform/graphics/MediaPlayer.cpp:
      * platform/graphics/SimpleFontData.h:
      * platform/graphics/VideoTrackPrivate.h:
      * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
      * platform/graphics/avfoundation/VideoTrackPrivateAVF.h:
      * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h:
      * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h:
      * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
      * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h:
      * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
      * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
      * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
      * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
      * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
      * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
      * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
      * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
      * platform/graphics/ca/GraphicsLayerCA.h:
      * platform/graphics/ca/mac/PlatformCALayerMac.h:
      * platform/graphics/ca/mac/TileController.h:
      * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
      * platform/graphics/ca/win/PlatformCALayerWin.h:
      * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
      * platform/graphics/cg/PDFDocumentImage.h:
      * platform/graphics/efl/GraphicsContext3DPrivate.h:
      * platform/graphics/egl/GLContextFromCurrentEGL.h:
      * platform/graphics/filters/DistantLightSource.h:
      * platform/graphics/filters/FEComposite.h:
      * platform/graphics/filters/FEDisplacementMap.h:
      * platform/graphics/filters/FEFlood.h:
      * platform/graphics/filters/FilterOperation.h:
      * platform/graphics/filters/PointLightSource.h:
      * platform/graphics/filters/SpotLightSource.h:
      * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
      * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
      * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
      * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
      * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h:
      * platform/graphics/ios/MediaPlayerPrivateIOS.h:
      * platform/graphics/ios/TextTrackRepresentationIOS.h:
      * platform/graphics/surfaces/GLTransportSurface.h:
      * platform/graphics/surfaces/egl/EGLContext.h:
      * platform/graphics/surfaces/egl/EGLSurface.h:
      * platform/graphics/surfaces/egl/EGLXSurface.h:
      * platform/graphics/surfaces/glx/GLXContext.h:
      * platform/graphics/surfaces/glx/GLXSurface.h:
      * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
      * platform/graphics/texmap/TextureMapperGL.h:
      * platform/graphics/texmap/TextureMapperImageBuffer.h:
      * platform/graphics/texmap/TextureMapperLayer.h:
      * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
      * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
      * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
      * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h:
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
      * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
      * platform/graphics/texmap/coordinated/CoordinatedTile.h:
      * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
      * platform/gtk/RenderThemeGtk.h:
      * platform/ios/DeviceMotionClientIOS.h:
      * platform/ios/DeviceOrientationClientIOS.h:
      * platform/ios/ScrollAnimatorIOS.h:
      * platform/ios/ScrollbarThemeIOS.h:
      * platform/ios/WebSafeGCActivityCallbackIOS.h:
      * platform/ios/WebSafeIncrementalSweeperIOS.h:
      * platform/mac/PlatformClockCA.h:
      * platform/mac/PlatformClockCM.h:
      * platform/mac/ScrollAnimatorMac.h:
      * platform/mac/ScrollbarThemeMac.h:
      * platform/mediastream/MediaStreamTrackPrivate.h:
      * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
      * platform/mediastream/mac/AVAudioCaptureSource.h:
      * platform/mediastream/mac/AVMediaCaptureSource.h:
      * platform/mediastream/mac/AVVideoCaptureSource.h:
      * platform/mediastream/mac/MediaStreamCenterMac.h:
      * platform/mock/DeviceMotionClientMock.h:
      * platform/mock/DeviceOrientationClientMock.h:
      * platform/mock/MockMediaStreamCenter.h:
      * platform/mock/RTCDataChannelHandlerMock.h:
      * platform/mock/RTCNotifiersMock.h:
      * platform/mock/RTCPeerConnectionHandlerMock.h:
      * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
      * platform/mock/mediasource/MockMediaSourcePrivate.h:
      * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
      * platform/mock/mediasource/MockSourceBufferPrivate.h:
      * platform/network/BlobRegistryImpl.h:
      * platform/network/BlobResourceHandle.cpp:
      * platform/network/BlobResourceHandle.h:
      * platform/network/ResourceHandle.h:
      * platform/network/SynchronousLoaderClient.h:
      * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
      * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
      * platform/nix/RenderThemeNix.h:
      * platform/nix/ScrollbarThemeNix.h:
      * platform/text/LocaleICU.h:
      * platform/text/LocaleNone.cpp:
      * platform/text/PlatformLocale.cpp:
      * platform/text/mac/LocaleMac.h:
      * platform/text/win/LocaleWin.h:
      * platform/win/PopupMenuWin.h:
      * plugins/PluginView.h:
      * rendering/AutoTableLayout.h:
      * rendering/ClipPathOperation.h:
      * rendering/EllipsisBox.h:
      * rendering/FilterEffectRenderer.h:
      * rendering/FixedTableLayout.h:
      * rendering/InlineElementBox.h:
      * rendering/InlineFlowBox.h:
      * rendering/InlineTextBox.h:
      * rendering/RenderBlock.h:
      * rendering/RenderBlockFlow.h:
      * rendering/RenderBox.h:
      * rendering/RenderBoxModelObject.h:
      * rendering/RenderButton.h:
      * rendering/RenderCombineText.h:
      * rendering/RenderCounter.h:
      * rendering/RenderDeprecatedFlexibleBox.h:
      * rendering/RenderDetailsMarker.h:
      * rendering/RenderElement.h:
      * rendering/RenderEmbeddedObject.h:
      * rendering/RenderFieldset.h:
      * rendering/RenderFileUploadControl.h:
      * rendering/RenderFlexibleBox.h:
      * rendering/RenderFlowThread.h:
      * rendering/RenderFrame.h:
      * rendering/RenderFrameSet.h:
      * rendering/RenderFullScreen.h:
      * rendering/RenderGrid.h:
      * rendering/RenderHTMLCanvas.h:
      * rendering/RenderIFrame.h:
      * rendering/RenderImage.h:
      * rendering/RenderImageResourceStyleImage.h:
      * rendering/RenderInline.h:
      * rendering/RenderLayer.h:
      * rendering/RenderLayerBacking.h:
      * rendering/RenderLayerCompositor.h:
      * rendering/RenderLayerFilterInfo.h:
      * rendering/RenderLayerModelObject.h:
      * rendering/RenderLineBreak.h:
      * rendering/RenderListBox.h:
      * rendering/RenderListItem.h:
      * rendering/RenderListMarker.h:
      * rendering/RenderMedia.h:
      * rendering/RenderMenuList.h:
      * rendering/RenderMeter.h:
      * rendering/RenderMultiColumnBlock.h:
      * rendering/RenderMultiColumnFlowThread.h:
      * rendering/RenderMultiColumnSet.h:
      * rendering/RenderNamedFlowFragment.h:
      * rendering/RenderNamedFlowThread.h:
      * rendering/RenderObject.h:
      * rendering/RenderProgress.h:
      * rendering/RenderQuote.h:
      * rendering/RenderRegion.h:
      * rendering/RenderRegionSet.h:
      * rendering/RenderReplaced.h:
      * rendering/RenderReplica.h:
      * rendering/RenderRuby.h:
      * rendering/RenderRubyRun.h:
      * rendering/RenderRubyText.h:
      * rendering/RenderScrollbar.h:
      * rendering/RenderScrollbarPart.h:
      * rendering/RenderScrollbarTheme.h:
      * rendering/RenderSearchField.h:
      * rendering/RenderSlider.h:
      * rendering/RenderSnapshottedPlugIn.h:
      * rendering/RenderTable.h:
      * rendering/RenderTableCaption.h:
      * rendering/RenderTableCell.h:
      * rendering/RenderTableCol.h:
      * rendering/RenderTableRow.h:
      * rendering/RenderTableSection.h:
      * rendering/RenderText.h:
      * rendering/RenderTextControl.h:
      * rendering/RenderTextControlMultiLine.h:
      * rendering/RenderTextControlSingleLine.h:
      * rendering/RenderTextFragment.h:
      * rendering/RenderTextTrackCue.h:
      * rendering/RenderThemeIOS.h:
      * rendering/RenderThemeMac.h:
      * rendering/RenderThemeSafari.h:
      * rendering/RenderThemeWin.h:
      * rendering/RenderVideo.h:
      * rendering/RenderView.h:
      * rendering/RenderWidget.h:
      * rendering/RootInlineBox.h:
      * rendering/mathml/RenderMathMLBlock.h:
      * rendering/mathml/RenderMathMLFenced.h:
      * rendering/mathml/RenderMathMLFraction.h:
      * rendering/mathml/RenderMathMLMath.h:
      * rendering/mathml/RenderMathMLOperator.h:
      * rendering/mathml/RenderMathMLRoot.h:
      * rendering/mathml/RenderMathMLRow.h:
      * rendering/mathml/RenderMathMLScripts.h:
      * rendering/mathml/RenderMathMLSpace.h:
      * rendering/mathml/RenderMathMLSquareRoot.h:
      * rendering/mathml/RenderMathMLUnderOver.h:
      * rendering/shapes/BoxShape.h:
      * rendering/shapes/PolygonShape.h:
      * rendering/shapes/RasterShape.h:
      * rendering/shapes/RectangleShape.h:
      * rendering/shapes/ShapeInsideInfo.h:
      * rendering/shapes/ShapeOutsideInfo.h:
      * rendering/style/BasicShapes.h:
      * rendering/style/ContentData.h:
      * rendering/style/StyleCachedImage.h:
      * rendering/style/StyleCachedImageSet.h:
      * rendering/style/StyleGeneratedImage.h:
      * rendering/style/StylePendingImage.h:
      * rendering/svg/RenderSVGBlock.h:
      * rendering/svg/RenderSVGContainer.h:
      * rendering/svg/RenderSVGForeignObject.h:
      * rendering/svg/RenderSVGGradientStop.h:
      * rendering/svg/RenderSVGHiddenContainer.h:
      * rendering/svg/RenderSVGImage.h:
      * rendering/svg/RenderSVGInline.h:
      * rendering/svg/RenderSVGInlineText.h:
      * rendering/svg/RenderSVGModelObject.h:
      * rendering/svg/RenderSVGPath.h:
      * rendering/svg/RenderSVGResourceClipper.h:
      * rendering/svg/RenderSVGResourceContainer.h:
      * rendering/svg/RenderSVGResourceFilter.h:
      * rendering/svg/RenderSVGResourceGradient.h:
      * rendering/svg/RenderSVGResourceLinearGradient.h:
      * rendering/svg/RenderSVGResourceMarker.h:
      * rendering/svg/RenderSVGResourceMasker.h:
      * rendering/svg/RenderSVGResourcePattern.h:
      * rendering/svg/RenderSVGResourceRadialGradient.h:
      * rendering/svg/RenderSVGResourceSolidColor.h:
      * rendering/svg/RenderSVGRoot.h:
      * rendering/svg/RenderSVGShape.cpp:
      * rendering/svg/RenderSVGShape.h:
      * rendering/svg/RenderSVGText.h:
      * rendering/svg/RenderSVGTextPath.h:
      * rendering/svg/RenderSVGViewportContainer.h:
      * rendering/svg/SVGInlineFlowBox.h:
      * rendering/svg/SVGInlineTextBox.h:
      * rendering/svg/SVGRootInlineBox.h:
      * rendering/svg/SVGTextRunRenderingContext.h:
      * storage/StorageAreaImpl.h:
      * storage/StorageNamespaceImpl.h:
      * svg/SVGAElement.h:
      * svg/SVGAltGlyphDefElement.h:
      * svg/SVGAltGlyphElement.h:
      * svg/SVGAltGlyphItemElement.h:
      * svg/SVGAnimateElement.h:
      * svg/SVGAnimateMotionElement.h:
      * svg/SVGAnimateTransformElement.h:
      * svg/SVGAnimatedAngle.h:
      * svg/SVGAnimatedBoolean.h:
      * svg/SVGAnimatedColor.h:
      * svg/SVGAnimatedEnumeration.h:
      * svg/SVGAnimatedInteger.h:
      * svg/SVGAnimatedIntegerOptionalInteger.h:
      * svg/SVGAnimatedLength.h:
      * svg/SVGAnimatedLengthList.h:
      * svg/SVGAnimatedNumber.h:
      * svg/SVGAnimatedNumberList.h:
      * svg/SVGAnimatedNumberOptionalNumber.h:
      * svg/SVGAnimatedPath.h:
      * svg/SVGAnimatedPointList.h:
      * svg/SVGAnimatedPreserveAspectRatio.h:
      * svg/SVGAnimatedRect.h:
      * svg/SVGAnimatedString.h:
      * svg/SVGAnimatedTransformList.h:
      * svg/SVGAnimationElement.h:
      * svg/SVGCircleElement.h:
      * svg/SVGClipPathElement.h:
      * svg/SVGComponentTransferFunctionElement.h:
      * svg/SVGCursorElement.h:
      * svg/SVGDefsElement.h:
      * svg/SVGDocument.h:
      * svg/SVGElement.h:
      * svg/SVGElementInstance.h:
      * svg/SVGEllipseElement.h:
      * svg/SVGFEBlendElement.h:
      * svg/SVGFEColorMatrixElement.h:
      * svg/SVGFEComponentTransferElement.h:
      * svg/SVGFECompositeElement.h:
      * svg/SVGFEConvolveMatrixElement.h:
      * svg/SVGFEDiffuseLightingElement.h:
      * svg/SVGFEDisplacementMapElement.h:
      * svg/SVGFEDropShadowElement.h:
      * svg/SVGFEGaussianBlurElement.h:
      * svg/SVGFEImageElement.h:
      * svg/SVGFELightElement.h:
      * svg/SVGFEMergeNodeElement.h:
      * svg/SVGFEMorphologyElement.h:
      * svg/SVGFEOffsetElement.h:
      * svg/SVGFESpecularLightingElement.h:
      * svg/SVGFETileElement.h:
      * svg/SVGFETurbulenceElement.h:
      * svg/SVGFilterElement.h:
      * svg/SVGFilterPrimitiveStandardAttributes.h:
      * svg/SVGFontElement.h:
      * svg/SVGFontFaceElement.h:
      * svg/SVGFontFaceFormatElement.h:
      * svg/SVGFontFaceNameElement.h:
      * svg/SVGFontFaceSrcElement.h:
      * svg/SVGFontFaceUriElement.h:
      * svg/SVGForeignObjectElement.h:
      * svg/SVGGElement.h:
      * svg/SVGGlyphElement.h:
      * svg/SVGGlyphRefElement.h:
      * svg/SVGGradientElement.h:
      * svg/SVGGraphicsElement.h:
      * svg/SVGHKernElement.h:
      * svg/SVGImageElement.h:
      * svg/SVGLineElement.h:
      * svg/SVGLinearGradientElement.h:
      * svg/SVGMPathElement.h:
      * svg/SVGMarkerElement.h:
      * svg/SVGMaskElement.h:
      * svg/SVGMetadataElement.h:
      * svg/SVGPathElement.h:
      * svg/SVGPathStringBuilder.h:
      * svg/SVGPatternElement.h:
      * svg/SVGPolyElement.h:
      * svg/SVGRadialGradientElement.h:
      * svg/SVGRectElement.h:
      * svg/SVGSVGElement.h:
      * svg/SVGScriptElement.h:
      * svg/SVGSetElement.h:
      * svg/SVGStopElement.h:
      * svg/SVGStyleElement.h:
      * svg/SVGSwitchElement.h:
      * svg/SVGSymbolElement.h:
      * svg/SVGTRefElement.cpp:
      * svg/SVGTRefElement.h:
      * svg/SVGTSpanElement.h:
      * svg/SVGTextContentElement.h:
      * svg/SVGTextElement.h:
      * svg/SVGTextPathElement.h:
      * svg/SVGTextPositioningElement.h:
      * svg/SVGTitleElement.h:
      * svg/SVGTransformable.h:
      * svg/SVGUnknownElement.h:
      * svg/SVGUseElement.h:
      * svg/SVGVKernElement.h:
      * svg/SVGViewElement.h:
      * svg/animation/SVGSMILElement.h:
      * svg/graphics/SVGImage.h:
      * svg/graphics/SVGImageForContainer.h:
      * svg/graphics/filters/SVGFilter.h:
      * svg/properties/SVGAnimatedListPropertyTearOff.h:
      * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
      * svg/properties/SVGListPropertyTearOff.h:
      * svg/properties/SVGPathSegListPropertyTearOff.h:
      * svg/properties/SVGPropertyTearOff.h:
      * testing/InternalSettings.cpp:
      * testing/Internals.cpp:
      * testing/MockCDM.cpp:
      * testing/MockCDM.h:
      * workers/AbstractWorker.h:
      * workers/DedicatedWorkerGlobalScope.h:
      * workers/DedicatedWorkerThread.h:
      * workers/SharedWorker.h:
      * workers/SharedWorkerGlobalScope.h:
      * workers/SharedWorkerThread.h:
      * workers/Worker.h:
      * workers/WorkerEventQueue.cpp:
      * workers/WorkerEventQueue.h:
      * workers/WorkerGlobalScope.h:
      * workers/WorkerMessagingProxy.h:
      * workers/WorkerObjectProxy.h:
      * workers/WorkerScriptLoader.h:
      * workers/WorkerThread.cpp:
      * xml/XMLHttpRequest.h:
      * xml/XMLHttpRequestUpload.h:
      * xml/XPathFunctions.cpp:
      * xml/XPathPath.h:
      * xml/XPathPredicate.h:
      * xml/XSLStyleSheet.h:
      
      Source/WebKit/efl:
      
      * WebCoreSupport/InspectorClientEfl.h:
      * WebCoreSupport/ProgressTrackerClientEfl.h:
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/EditorClientGtk.h:
      * WebCoreSupport/InspectorClientGtk.h:
      * WebCoreSupport/ProgressTrackerClientGtk.h:
      
      Source/WebKit/ios:
      
      * Misc/EmojiFallbackFontSelector.h:
      * Storage/WebSQLiteDatabaseTrackerClient.h:
      * WebCoreSupport/PopupMenuIOS.h:
      * WebCoreSupport/SearchPopupMenuIOS.h:
      * WebCoreSupport/WebChromeClientIOS.h:
      * WebCoreSupport/WebDiskImageCacheClientIOS.h:
      
      Source/WebKit/mac:
      
      * Storage/WebDatabaseManagerClient.h:
      * Storage/WebStorageTrackerClient.h:
      * WebCoreSupport/WebAlternativeTextClient.h:
      * WebCoreSupport/WebChromeClient.h:
      * WebCoreSupport/WebContextMenuClient.h:
      * WebCoreSupport/WebDeviceOrientationClient.h:
      * WebCoreSupport/WebDragClient.h:
      * WebCoreSupport/WebEditorClient.h:
      * WebCoreSupport/WebFrameLoaderClient.h:
      * WebCoreSupport/WebFrameNetworkingContext.h:
      * WebCoreSupport/WebGeolocationClient.h:
      * WebCoreSupport/WebIconDatabaseClient.h:
      * WebCoreSupport/WebInspectorClient.h:
      * WebCoreSupport/WebNotificationClient.h:
      * WebCoreSupport/WebPlatformStrategies.h:
      * WebCoreSupport/WebProgressTrackerClient.h:
      * WebCoreSupport/WebUserMediaClient.h:
      * WebView/WebScriptDebugger.h:
      * WebView/WebViewData.h:
      
      Source/WebKit/win:
      
      * AccessibleDocument.h:
      * FullscreenVideoController.cpp:
      * WebCoreSupport/WebChromeClient.h:
      * WebCoreSupport/WebFrameLoaderClient.h:
      * WebCoreSupport/WebFrameNetworkingContext.h:
      * WebCoreSupport/WebInspectorClient.h:
      * WebHistory.h:
      
      Source/WebKit/wince:
      
      * WebCoreSupport/ChromeClientWinCE.h:
      * WebCoreSupport/ContextMenuClientWinCE.h:
      * WebCoreSupport/DragClientWinCE.h:
      * WebCoreSupport/EditorClientWinCE.h:
      * WebCoreSupport/FrameLoaderClientWinCE.h:
      * WebCoreSupport/FrameNetworkingContextWinCE.h:
      * WebCoreSupport/InspectorClientWinCE.h:
      * WebCoreSupport/PlatformStrategiesWinCE.h:
      
      Source/WebKit2:
      
      * DatabaseProcess/DatabaseProcess.h:
      * DatabaseProcess/DatabaseToWebProcessConnection.h:
      * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
      * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
      * NetworkProcess/AsynchronousNetworkLoaderClient.h:
      * NetworkProcess/NetworkProcess.h:
      * NetworkProcess/NetworkProcessPlatformStrategies.h:
      * NetworkProcess/NetworkResourceLoader.h:
      * NetworkProcess/RemoteNetworkingContext.h:
      * NetworkProcess/SynchronousNetworkLoaderClient.h:
      * NetworkProcess/mac/DiskCacheMonitor.h:
      * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
      * PluginProcess/PluginControllerProxy.h:
      * PluginProcess/PluginProcess.h:
      * PluginProcess/WebProcessConnection.h:
      * Shared/API/Cocoa/RemoteObjectRegistry.h:
      * Shared/APIObject.h:
      * Shared/AsyncRequest.h:
      * Shared/AsyncTask.h:
      * Shared/Authentication/AuthenticationManager.h:
      * Shared/ChildProcess.h:
      * Shared/ChildProcessProxy.h:
      * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
      * Shared/Downloads/Download.h:
      * Shared/Network/CustomProtocols/CustomProtocolManager.h:
      * Shared/WebConnection.h:
      * Shared/WebResourceBuffer.h:
      * Shared/cf/KeyedEncoder.h:
      * Shared/mac/SecItemShim.h:
      * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
      * UIProcess/API/gtk/PageClientImpl.h:
      * UIProcess/API/ios/PageClientImplIOS.h:
      * UIProcess/API/mac/PageClientImpl.h:
      * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
      * UIProcess/CoordinatedGraphics/WebView.h:
      * UIProcess/Databases/DatabaseProcessProxy.h:
      * UIProcess/Downloads/DownloadProxy.h:
      * UIProcess/DrawingAreaProxy.h:
      * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
      * UIProcess/Network/NetworkProcessProxy.h:
      * UIProcess/Notifications/WebNotificationManagerProxy.h:
      * UIProcess/Plugins/PluginProcessProxy.h:
      * UIProcess/Scrolling/RemoteScrollingTree.h:
      * UIProcess/Storage/StorageManager.h:
      * UIProcess/WebApplicationCacheManagerProxy.h:
      * UIProcess/WebBatteryManagerProxy.h:
      * UIProcess/WebConnectionToWebProcess.h:
      * UIProcess/WebContext.h:
      * UIProcess/WebCookieManagerProxy.h:
      * UIProcess/WebDatabaseManagerProxy.h:
      * UIProcess/WebFullScreenManagerProxy.h:
      * UIProcess/WebGeolocationManagerProxy.h:
      * UIProcess/WebIconDatabase.h:
      * UIProcess/WebInspectorProxy.h:
      * UIProcess/WebKeyValueStorageManager.h:
      * UIProcess/WebMediaCacheManagerProxy.h:
      * UIProcess/WebNetworkInfoManagerProxy.h:
      * UIProcess/WebOriginDataManagerProxy.h:
      * UIProcess/WebPageProxy.h:
      * UIProcess/WebProcessProxy.h:
      * UIProcess/WebResourceCacheManagerProxy.h:
      * UIProcess/WebVibrationProxy.h:
      * UIProcess/efl/PageViewportControllerClientEfl.h:
      * UIProcess/efl/WebViewEfl.h:
      * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
      * UIProcess/mac/SecItemShimProxy.h:
      * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
      * UIProcess/mac/ViewGestureController.h:
      * UIProcess/mac/WebColorPickerMac.h:
      * UIProcess/soup/WebSoupRequestManagerProxy.h:
      * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
      * WebProcess/Battery/WebBatteryManager.h:
      * WebProcess/Cookies/WebCookieManager.h:
      * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
      * WebProcess/Databases/WebToDatabaseProcessConnection.h:
      * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
      * WebProcess/FileAPI/BlobRegistryProxy.h:
      * WebProcess/Geolocation/WebGeolocationManager.h:
      * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
      * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
      * WebProcess/MediaCache/WebMediaCacheManager.h:
      * WebProcess/Network/NetworkProcessConnection.h:
      * WebProcess/Network/WebResourceLoadScheduler.h:
      * WebProcess/Network/WebResourceLoader.h:
      * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
      * WebProcess/Notifications/WebNotificationManager.h:
      * WebProcess/OriginData/WebOriginDataManager.h:
      * WebProcess/Plugins/Netscape/NetscapePlugin.h:
      * WebProcess/Plugins/PDF/PDFPlugin.h:
      * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
      * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
      * WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
      * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
      * WebProcess/Plugins/PluginProcessConnection.h:
      * WebProcess/Plugins/PluginProcessConnectionManager.h:
      * WebProcess/Plugins/PluginProxy.h:
      * WebProcess/Plugins/PluginView.h:
      * WebProcess/ResourceCache/WebResourceCacheManager.h:
      * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
      * WebProcess/Storage/StorageAreaImpl.h:
      * WebProcess/Storage/StorageAreaMap.h:
      * WebProcess/Storage/StorageNamespaceImpl.h:
      * WebProcess/WebConnectionToUIProcess.h:
      * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
      * WebProcess/WebCoreSupport/WebBatteryClient.h:
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      * WebProcess/WebCoreSupport/WebColorChooser.h:
      * WebProcess/WebCoreSupport/WebContextMenuClient.h:
      * WebProcess/WebCoreSupport/WebDatabaseManager.h:
      * WebProcess/WebCoreSupport/WebDeviceProximityClient.h:
      * WebProcess/WebCoreSupport/WebDragClient.h:
      * WebProcess/WebCoreSupport/WebEditorClient.h:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
      * WebProcess/WebCoreSupport/WebGeolocationClient.h:
      * WebProcess/WebCoreSupport/WebInspectorClient.h:
      * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
      * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h:
      * WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
      * WebProcess/WebCoreSupport/WebNotificationClient.h:
      * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
      * WebProcess/WebCoreSupport/WebPopupMenu.h:
      * WebProcess/WebCoreSupport/WebProgressTrackerClient.h:
      * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
      * WebProcess/WebCoreSupport/WebVibrationClient.h:
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
      * WebProcess/WebPage/DrawingAreaImpl.h:
      * WebProcess/WebPage/EventDispatcher.h:
      * WebProcess/WebPage/ViewGestureGeometryCollector.h:
      * WebProcess/WebPage/WebBackForwardListProxy.h:
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
      * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
      * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
      * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
      * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
      * WebProcess/WebProcess.h:
      * WebProcess/soup/WebSoupRequestManager.h:
      
      Source/WTF:
      
      * wtf/Compiler.h:
      * wtf/FilePrintStream.h:
      * wtf/RunLoop.h:
      * wtf/StringPrintStream.h:
      
      Tools:
      
      * DumpRenderTree/gtk/fonts/fonts.conf:
      * Scripts/do-webcore-rename:
      Removed this rename operation from the list of contemplated future renames.
      * TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp:
      * TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp:
      * TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp:
      * TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
      * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162139 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2dfe6cb5
  4. 15 Jan, 2014 1 commit
    • bdakin@apple.com's avatar
      Repeating background images should continue into margin tiles · 8ce430bf
      bdakin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127021
      -and corresponding-
      <rdar://problem/15571300>
      
      Reviewed by Simon Fraser.
      
      This patch makes repeating background images continue into margin tiles. 
      
      RenderObject::repaintRectangle() now takes an addition bool parameter which 
      indicates whether or not the repaint rect should be clipped to the layer size.
      * WebCore.exp.in:
      
      These new functions on FrameView provide a way for code in the render tree to know 
      if the TiledBacking has a margin. tiledBacking() is now const. It should have 
      always been const, and it needs to be const to make these new functions const.
      * page/FrameView.cpp:
      (WebCore::FrameView::tiledBacking):
      (WebCore::FrameView::hasExtendedBackground):
      (WebCore::FrameView::extendedBackgroundRect):
      * page/FrameView.h:
      * platform/ScrollableArea.h:
      (WebCore::ScrollableArea::tiledBacking):
      
      If we’re painting the root background and it is an extended background, we need to 
      inflate the repaint rect to span the extended background. 
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::repaintLayerRectsForImage):
      
      To get the phase right on repeated background images on a page with margin tiles, 
      we need to make sure we factor the size of the margin tiles into the left and top 
      values that we use when calculating background image geometry.
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
      
      setBackingNeedsRepaintInRect() now takes GraphicsLayer::ShouldClipToLayer as a 
      parameter, just like setBackingNeedsRepaint(). 
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::calculateClipRects):
      
      setContentsNeedDisplayInRect() also takes a GraphicsLayer::ShouldClipToLayer now, 
      and it passes that information down to the GraphicsLayer.
      * rendering/RenderLayer.h:
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
      * rendering/RenderLayerBacking.h:
      
      These two RenderObject functions now take an optional bool parameter which 
      indicates whether or not the rect should be clipped to the layer size. They use a 
      bool instead of the GraphicsLayer enum in order to avoid including GraphicsLayer.h 
      from within RenderObject.h. This seems like a simpler solution than adding a new 
      stand-alone file for this very simple enum.
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::repaintUsingContainer):
      (WebCore::RenderObject::repaintRectangle):
      * rendering/RenderObject.h:
      
      RenderView::backgroundRect needs to return the extendedBackgroundRect when it had 
      one.
      * rendering/RenderView.cpp:
      (WebCore::RenderView::backgroundRect):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ce430bf
  5. 11 Jan, 2014 1 commit
    • andersca@apple.com's avatar
      CTTE Timer and DeferrableOneShotTimer · b6fe2305
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126814
      
      Reviewed by Antti Koivisto.
      
      Add new Timer and DeferrableOneShotTimer constructors whose member function pointers
      take a reference instead of a pointer.
      Also, convert a bunch of classes over to using these new constructors.
      
      * Modules/encryptedmedia/MediaKeySession.cpp:
      (WebCore::MediaKeySession::keyRequestTimerFired):
      (WebCore::MediaKeySession::addKeyTimerFired):
      * Modules/encryptedmedia/MediaKeySession.h:
      * Modules/geolocation/Geolocation.cpp:
      (WebCore::Geolocation::GeoNotifier::timerFired):
      (WebCore::Geolocation::resumeTimerFired):
      * Modules/geolocation/Geolocation.h:
      * Modules/indexeddb/IDBTransactionBackend.cpp:
      (WebCore::IDBTransactionBackend::taskTimerFired):
      * Modules/indexeddb/IDBTransactionBackend.h:
      * Modules/mediasource/SourceBuffer.cpp:
      (WebCore::SourceBuffer::appendBufferTimerFired):
      * Modules/mediasource/SourceBuffer.h:
      * Modules/notifications/Notification.cpp:
      (WebCore::Notification::taskTimerFired):
      * Modules/notifications/Notification.h:
      * Modules/notifications/NotificationCenter.cpp:
      (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
      * Modules/notifications/NotificationCenter.h:
      * accessibility/AXObjectCache.cpp:
      (WebCore::AXObjectCache::notificationPostTimerFired):
      * accessibility/AXObjectCache.h:
      * css/CSSFontSelector.cpp:
      (WebCore::CSSFontSelector::beginLoadTimerFired):
      * css/CSSFontSelector.h:
      * css/CSSImageGeneratorValue.cpp:
      (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::evictionTimerFired):
      * css/CSSImageGeneratorValue.h:
      * dom/Document.cpp:
      (WebCore::Document::visualUpdatesSuppressionTimerFired):
      (WebCore::Document::styleRecalcTimerFired):
      (WebCore::Document::optimizedStyleSheetUpdateTimerFired):
      (WebCore::Document::sharedObjectPoolClearTimerFired):
      (WebCore::Document::styleResolverThrowawayTimerFired):
      (WebCore::Document::updateFocusAppearanceTimerFired):
      (WebCore::Document::resetHiddenFocusElementTimer):
      (WebCore::Document::pendingTasksTimerFired):
      (WebCore::Document::fullScreenChangeDelayTimerFired):
      (WebCore::Document::loadEventDelayTimerFired):
      (WebCore::Document::didAssociateFormControlsTimerFired):
      * dom/Document.h:
      * dom/EventSender.h:
      (WebCore::EventSender::timerFired):
      * dom/GenericEventQueue.cpp:
      (WebCore::GenericEventQueue::timerFired):
      * dom/GenericEventQueue.h:
      * dom/ScriptRunner.cpp:
      (WebCore::ScriptRunner::timerFired):
      * dom/ScriptRunner.h:
      * dom/ScriptedAnimationController.cpp:
      (WebCore::ScriptedAnimationController::animationTimerFired):
      * dom/ScriptedAnimationController.h:
      * editing/AlternativeTextController.cpp:
      (WebCore::AlternativeTextController::timerFired):
      * editing/AlternativeTextController.h:
      * editing/FrameSelection.cpp:
      (WebCore::FrameSelection::caretBlinkTimerFired):
      * editing/FrameSelection.h:
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::parseAttribute):
      * html/HTMLMediaElement.h:
      * html/HTMLPlugInElement.cpp:
      (WebCore::HTMLPlugInElement::swapRendererTimerFired):
      * html/HTMLPlugInElement.h:
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
      (WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired):
      * html/HTMLPlugInImageElement.h:
      * html/HTMLSourceElement.cpp:
      (WebCore::HTMLSourceElement::errorEventTimerFired):
      * html/HTMLSourceElement.h:
      * html/HTMLTrackElement.cpp:
      (WebCore::HTMLTrackElement::loadTimerFired):
      * html/HTMLTrackElement.h:
      * html/MediaController.cpp:
      (MediaController::asyncEventTimerFired):
      (MediaController::clearPositionTimerFired):
      (MediaController::timeupdateTimerFired):
      * html/MediaController.h:
      * html/MediaDocument.cpp:
      (WebCore::MediaDocument::replaceMediaElementTimerFired):
      * html/MediaDocument.h:
      * html/parser/HTMLParserScheduler.cpp:
      (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
      * html/parser/HTMLParserScheduler.h:
      * html/shadow/MediaControlElementTypes.cpp:
      (WebCore::MediaControlSeekButtonElement::seekTimerFired):
      * html/shadow/MediaControlElementTypes.h:
      * html/shadow/MediaControlElements.cpp:
      (WebCore::MediaControlPanelElement::transitionTimerFired):
      (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
      * html/shadow/MediaControlElements.h:
      * html/shadow/MediaControls.cpp:
      (WebCore::MediaControls::hideFullscreenControlsTimerFired):
      * html/shadow/MediaControls.h:
      * html/track/LoadableTextTrack.cpp:
      (WebCore::LoadableTextTrack::loadTimerFired):
      * html/track/LoadableTextTrack.h:
      * inspector/InspectorCSSAgent.cpp:
      (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask):
      (WebCore::UpdateRegionLayoutTask::timerFired):
      (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
      (WebCore::ChangeRegionOversetTask::timerFired):
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
      (WebCore::RevalidateStyleAttributeTask::timerFired):
      * inspector/InspectorFrontendClientLocal.cpp:
      (WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
      (WebCore::InspectorBackendDispatchTask::timerFired):
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
      * loader/DocumentLoader.h:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::checkTimerFired):
      * loader/FrameLoader.h:
      * loader/ImageLoader.cpp:
      (WebCore::ImageLoader::timerFired):
      * loader/ImageLoader.h:
      * loader/LinkLoader.cpp:
      (WebCore::LinkLoader::linkLoadTimerFired):
      (WebCore::LinkLoader::linkLoadingErrorTimerFired):
      * loader/LinkLoader.h:
      * loader/NavigationScheduler.cpp:
      (WebCore::NavigationScheduler::timerFired):
      * loader/NavigationScheduler.h:
      * loader/PingLoader.cpp:
      (WebCore::PingLoader::PingLoader):
      * loader/PingLoader.h:
      (WebCore::PingLoader::timeoutTimerFired):
      * loader/ProgressTracker.cpp:
      (WebCore::ProgressTracker::progressHeartbeatTimerFired):
      * loader/ProgressTracker.h:
      * loader/ResourceLoadScheduler.cpp:
      (WebCore::ResourceLoadScheduler::requestTimerFired):
      * loader/ResourceLoadScheduler.h:
      * loader/cache/CachedResource.cpp:
      (WebCore::CachedResource::decodedDataDeletionTimerFired):
      (WebCore::CachedResource::CachedResourceCallback::timerFired):
      * loader/cache/CachedResource.h:
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
      * loader/cache/CachedResourceLoader.h:
      * loader/icon/IconDatabase.cpp:
      (WebCore::IconDatabase::syncTimerFired):
      * loader/icon/IconDatabase.h:
      * page/AutoscrollController.cpp:
      (WebCore::AutoscrollController::autoscrollTimerFired):
      * page/AutoscrollController.h:
      * page/CaptionUserPreferences.cpp:
      (WebCore::CaptionUserPreferences::timerFired):
      * page/CaptionUserPreferences.h:
      * page/DeviceController.cpp:
      (WebCore::DeviceController::fireDeviceEvent):
      * page/DeviceController.h:
      * page/EventHandler.cpp:
      (WebCore::EventHandler::cursorUpdateTimerFired):
      (WebCore::EventHandler::autoHideCursorTimerFired):
      (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
      (WebCore::EventHandler::hoverTimerFired):
      * page/EventHandler.h:
      * page/EventSource.cpp:
      (WebCore::EventSource::connectTimerFired):
      * page/EventSource.h:
      * page/FrameView.cpp:
      (WebCore::FrameView::deferredRepaintTimerFired):
      (WebCore::FrameView::layoutTimerFired):
      (WebCore::FrameView::postLayoutTimerFired):
      * page/FrameView.h:
      * page/PageThrottler.cpp:
      (WebCore::PageThrottler::throttleHysteresisTimerFired):
      * page/PageThrottler.h:
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
      (WebCore::AnimationControllerPrivate::animationTimerFired):
      * page/animation/AnimationControllerPrivate.h:
      * platform/Scrollbar.cpp:
      (WebCore::Scrollbar::autoscrollTimerFired):
      * platform/Scrollbar.h:
      * platform/Timer.h:
      (WebCore::Timer::Timer):
      (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):
      * platform/graphics/BitmapImage.cpp:
      (WebCore::BitmapImage::advanceAnimation):
      * platform/graphics/BitmapImage.h:
      * platform/graphics/MediaPlayer.cpp:
      (WebCore::MediaPlayer::reloadTimerFired):
      * platform/graphics/MediaPlayer.h:
      * platform/graphics/ca/mac/LayerPool.h:
      * platform/graphics/ca/mac/LayerPool.mm:
      (WebCore::LayerPool::pruneTimerFired):
      * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
      (WebCore::ImageBufferBackingStoreCache::timerFired):
      * platform/graphics/cg/ImageBufferBackingStoreCache.h:
      * platform/graphics/cg/SubimageCacheWithTimer.cpp:
      (WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired):
      * platform/graphics/cg/SubimageCacheWithTimer.h:
      * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
      * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
      (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
      * platform/mac/ScrollAnimatorMac.h:
      * platform/mac/ScrollAnimatorMac.mm:
      (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
      (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
      (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
      * platform/mock/DeviceOrientationClientMock.cpp:
      (WebCore::DeviceOrientationClientMock::timerFired):
      * platform/mock/DeviceOrientationClientMock.h:
      * platform/network/NetworkStateNotifier.h:
      * platform/network/ResourceHandle.cpp:
      (WebCore::ResourceHandle::failureTimerFired):
      * platform/network/ResourceHandle.h:
      * platform/network/ResourceHandleInternal.h:
      (WebCore::ResourceHandleInternal::ResourceHandleInternal):
      * platform/network/mac/NetworkStateNotifierMac.cpp:
      (WebCore::NetworkStateNotifier::networkStateChangeTimerFired):
      * rendering/ImageQualityController.cpp:
      (WebCore::ImageQualityController::highQualityRepaintTimerFired):
      * rendering/ImageQualityController.h:
      * rendering/RenderButton.cpp:
      (WebCore::RenderButton::timerFired):
      * rendering/RenderButton.h:
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
      (WebCore::RenderLayerCompositor::layerFlushTimerFired):
      (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
      * rendering/RenderLayerCompositor.h:
      * rendering/RenderMarquee.cpp:
      (WebCore::RenderMarquee::timerFired):
      * rendering/RenderMarquee.h:
      * rendering/RenderNamedFlowThread.cpp:
      (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
      (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
      * rendering/RenderNamedFlowThread.h:
      * rendering/RenderProgress.cpp:
      (WebCore::RenderProgress::animationTimerFired):
      * rendering/RenderProgress.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b6fe2305
  6. 09 Jan, 2014 1 commit
    • timothy_horton@apple.com's avatar
      TileController can fail to receive exposedRect from the drawing area if set at the wrong time · 50af46e0
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126536
      
      Reviewed by Simon Fraser.
      
      * Configurations/WebKit2.xcconfig:
      * UIProcess/API/mac/WKView.mm:
      (-[WKView _updateViewExposedRect]):
      * UIProcess/DrawingAreaProxy.cpp:
      (WebKit::DrawingAreaProxy::DrawingAreaProxy):
      (WebKit::DrawingAreaProxy::setExposedRect):
      (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
      * UIProcess/DrawingAreaProxy.h:
      (WebKit::DrawingAreaProxy::exposedRect):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::close):
      * UIProcess/WebPageProxy.h:
      Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
      Push the exposedRect down into WebCore.
      
      * WebProcess/WebPage/DrawingArea.h:
      * WebProcess/WebPage/DrawingArea.messages.in:
      * WebProcess/WebPage/WebPage.cpp:
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
      (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
      (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
      (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
      (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
      (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
      (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
      (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
      Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
      to indicate that now.
      Don't scroll an infinite rect; it won't work.
      
      * WebCore.exp.in:
      Export some things.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::setExposedRect):
      Store the exposed rect on FrameView. When it changes, if the main frame
      has a TiledBacking, inform it of the change.
      
      * page/FrameView.h:
      * platform/graphics/TiledBacking.h:
      * platform/graphics/ca/mac/TileController.h:
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::TileController):
      (WebCore::TileController::tilesWouldChangeForVisibleRect):
      (WebCore::TileController::computeTileCoverageRect):
      (WebCore::TileController::revalidateTiles):
      (WebCore::TileController::updateTileCoverageMap):
      Make use of the fact that we can test if a rect is infinite
      instead of having a separate boolean property for that.
      
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      (WebCore::computeTileCoverage):
      Push the FrameView's cached exposed rect down into the TiledBacking when it is created.
      We only support clipping for the main frame TileController for now.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50af46e0
  7. 07 Jan, 2014 2 commits
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r161447. · f79af8da
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/161447
      https://bugs.webkit.org/show_bug.cgi?id=126592
      
      needs some more work (Requested by thorton on #webkit).
      
      Source/WebCore:
      
      * WebCore.exp.in:
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      * page/FrameView.h:
      * platform/graphics/GraphicsLayerClient.h:
      * platform/graphics/TiledBacking.h:
      * platform/graphics/ca/GraphicsLayerCA.h:
      * platform/graphics/ca/PlatformCALayerClient.h:
      * platform/graphics/ca/mac/TileController.h:
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::TileController):
      (WebCore::TileController::tilesWouldChangeForVisibleRect):
      (WebCore::TileController::setExposedRect):
      (WebCore::TileController::setClipsToExposedRect):
      (WebCore::TileController::computeTileCoverageRect):
      (WebCore::TileController::revalidateTiles):
      (WebCore::TileController::updateTileCoverageMap):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::computeTileCoverage):
      * rendering/RenderLayerBacking.h:
      
      Source/WebKit2:
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView _updateViewExposedRect]):
      * UIProcess/DrawingAreaProxy.cpp:
      (WebKit::DrawingAreaProxy::DrawingAreaProxy):
      * UIProcess/DrawingAreaProxy.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::close):
      (WebKit::WebPageProxy::viewExposedRectChanged):
      (WebKit::WebPageProxy::exposedRectChangedTimerFired):
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::viewExposedRect):
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
      * WebProcess/WebPage/DrawingArea.h:
      (WebKit::DrawingArea::setExposedRect):
      (WebKit::DrawingArea::setClipsToExposedRect):
      * WebProcess/WebPage/DrawingArea.messages.in:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::viewExposedRectChanged):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
      (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
      (WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
      (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
      (WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
      (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
      (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
      (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
      (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
      (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
      (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
      (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f79af8da
    • timothy_horton@apple.com's avatar
      TileController can fail to receive exposedRect from the drawing area if set at the wrong time · 2026dfee
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126536
      
      Reviewed by Anders Carlsson.
      
      Move exposedRect to FrameView so it can be pushed in from WebKit before we have
      a TiledBacking, and can be retrieved by the TiledBacking when it needs to.
      
      * WebCore.exp.in:
      Export some things.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::setExposedRect):
      * page/FrameView.h:
      Store the exposed rect on FrameView. When it changes, if the main frame
      has a TiledBacking, inform it of the change.
      
      * platform/graphics/GraphicsLayerClient.h:
      (WebCore::GraphicsLayerClient::exposedRect):
      * platform/graphics/TiledBacking.h:
      * platform/graphics/ca/GraphicsLayerCA.h:
      * platform/graphics/ca/PlatformCALayerClient.h:
      Plumbing so that TileController can retrieve the exposedRect from FrameView.
      
      * platform/graphics/ca/mac/TileController.h:
      * platform/graphics/ca/mac/TileController.mm:
      (WebCore::TileController::TileController):
      (WebCore::TileController::platformCALayerExposedRect):
      (WebCore::TileController::tilesWouldChangeForVisibleRect):
      (WebCore::TileController::exposedRectDidChange):
      (WebCore::TileController::computeTileCoverageRect):
      (WebCore::TileController::revalidateTiles):
      (WebCore::TileController::updateTileCoverageMap):
      Don't store the exposed rect or clipsToExposedRect on TileController.
      Instead, retrieve it from our client.
      Make use of the fact that we can test if a rect is infinite
      instead of having a separate boolean property for that.
      
      * rendering/RenderLayerBacking.cpp:
      (WebCore::computeTileCoverage):
      (WebCore::RenderLayerBacking::exposedRect):
      Hand the FrameView's exposedRect back to our GraphicsLayer.
      We only support clipping for the main frame TileController for now.
      
      * rendering/RenderLayerBacking.h:
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView _updateViewExposedRect]):
      * UIProcess/DrawingAreaProxy.cpp:
      (WebKit::DrawingAreaProxy::DrawingAreaProxy):
      (WebKit::DrawingAreaProxy::setExposedRect):
      (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
      * UIProcess/DrawingAreaProxy.h:
      (WebKit::DrawingAreaProxy::exposedRect):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::close):
      * UIProcess/WebPageProxy.h:
      Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
      Push the exposedRect down into WebCore.
      
      * WebProcess/WebPage/DrawingArea.h:
      * WebProcess/WebPage/DrawingArea.messages.in:
      * WebProcess/WebPage/WebPage.cpp:
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
      * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
      (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
      (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
      (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
      (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
      (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
      (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
      (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
      Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
      to indicate that now.
      Don't scroll an infinite rect; it won't work.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2026dfee
  8. 01 Jan, 2014 1 commit
  9. 27 Dec, 2013 1 commit
    • dbates@webkit.org's avatar
      [iOS] Upstream WebCore/page changes · 4da1af80
      dbates@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126180
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      * WebCore.xcodeproj/project.pbxproj:
      * dom/EventNames.h:
      (WebCore::EventNames::isGestureEventType): Added.
      * page/AlternativeTextClient.h: Do not define WTF_USE_DICTATION_ALTERNATIVES when building for iOS.
      * page/Chrome.cpp:
      (WebCore::Chrome::Chrome):
      (WebCore::Chrome::dispatchViewportPropertiesDidChange): Added; guarded by PLATFORM(IOS).
      (WebCore::Chrome::setCursor): Make this an empty function when building for iOS.
      (WebCore::Chrome::setCursorHiddenUntilMouseMoves): Ditto.
      (WebCore::Chrome::didReceiveDocType): Added; iOS-specific.
      * page/Chrome.h:
      (WebCore::Chrome::setDispatchViewportDataDidChangeSuppressed): Added; guarded by PLATFORM(IOS).
      * page/ChromeClient.h:
      (WebCore::ChromeClient::didFlushCompositingLayers): Added; guarded by PLATFORM(IOS).
      (WebCore::ChromeClient::fetchCustomFixedPositionLayoutRect): Added; guarded by PLATFORM(IOS).
      (WebCore::ChromeClient::updateViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
      * page/DOMTimer.cpp:
      (WebCore::DOMTimer::install): Added iOS-specific code.
      (WebCore::DOMTimer::fired): Ditto.
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::DOMWindow): Ditto.
      (WebCore::DOMWindow::innerHeight): Ditto.
      (WebCore::DOMWindow::innerWidth): Ditto.
      (WebCore::DOMWindow::scrollX): Ditto.
      (WebCore::DOMWindow::scrollY): Ditto.
      (WebCore::DOMWindow::scrollBy): Ditto.
      (WebCore::DOMWindow::scrollTo): Ditto.
      (WebCore::DOMWindow::clearTimeout): Ditto.
      (WebCore::DOMWindow::addEventListener): Ditto.
      (WebCore::DOMWindow::incrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
      (WebCore::DOMWindow::decrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
      (WebCore::DOMWindow::resetAllGeolocationPermission): Added; Also added FIXME comment.
      (WebCore::DOMWindow::removeEventListener): Added iOS-specific code.
      (WebCore::DOMWindow::dispatchEvent): Modified to prevent dispatching duplicate pageshow and pagehide
      events per <http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#event-pageshow>.
      (WebCore::DOMWindow::removeAllEventListeners): Added iOS-specific code.
      * page/DOMWindow.h:
      * page/DOMWindow.idl: Added IOS_GESTURE_EVENTS-guarded attributes: ongesture{change, end, start}. Also
      added IOS_TOUCH_EVENTS-guarded attributes: {Touch, TouchList}Constructor.
      * page/EditorClient.h:
      * page/EventHandler.cpp:
      (WebCore::EventHandler::EventHandler): Added iOS-specific code.
      (WebCore::EventHandler::clear): Ditto.
      (WebCore::EventHandler::startPanScrolling): Make this an empty function when building for iOS.
      (WebCore::EventHandler::handleMousePressEvent): Modified to invalidate a click when the clicked node is
      null. Also, opt out of code for updating the scrollbars as UIKit manages scrollbars on iOS.
      (WebCore::EventHandler::handleMouseMoveEvent): Opt of code for updating the scrollbars and cursor when building on iOS.
      (WebCore::hitTestResultInFrame): Made this a file-local static function since it's only used in EventHandler.cpp.
      (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Added iOS-specific code.
      * page/EventHandler.h:
      * page/FocusController.h:
      * page/Frame.cpp:
      (WebCore::Frame::Frame): Added iOS-specific code.
      (WebCore::Frame::scrollOverflowLayer): Added; iOS-specific.
      (WebCore::Frame::overflowAutoScrollTimerFired): Added; iOS-specific.
      (WebCore::Frame::startOverflowAutoScroll): Added; iOS-specific.
      (WebCore::Frame::checkOverflowScroll): Added; iOS-specific.
      (WebCore::Frame::willDetachPage): Added iOS-specific code.
      (WebCore::Frame::createView): Ditto.
      (WebCore::Frame::setSelectionChangeCallbacksDisabled): Added; iOS-specific.
      (WebCore::Frame::selectionChangeCallbacksDisabled): Added; iOS-specific.
      * page/Frame.h:
      (WebCore::Frame::timersPaused): Added; guarded by PLATFORM(IOS).
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView): Added iOS-specific code.
      (WebCore::FrameView::clear): Ditto.
      (WebCore::FrameView::flushCompositingStateForThisFrame): Ditto.
      (WebCore::FrameView::graphicsLayerForPlatformWidget): Added.
      (WebCore::FrameView::scheduleLayerFlushAllowingThrottling): Added.
      (WebCore::FrameView::layout): Added iOS-specific code.
      (WebCore::countRenderedCharactersInRenderObjectWithThreshold): Added; helper function used by FrameView::renderedCharactersExceed().
      Also added FIXME comment.
      (WebCore::FrameView::renderedCharactersExceed): Added.
      (WebCore::FrameView::visibleContentsResized): Added iOS-specific code.
      (WebCore::FrameView::adjustTiledBackingCoverage): Ditto.
      (WebCore::FrameView::performPostLayoutTasks): Ditto.
      (WebCore::FrameView::sendResizeEventIfNeeded): Ditto.
      (WebCore::FrameView::paintContents): Added iOS-specific code. Also added FIXME comments.
      (WebCore::FrameView::setUseCustomFixedPositionLayoutRect): Added; iOS-specific.
      (WebCore::FrameView::setCustomFixedPositionLayoutRect): Added; iOS-specific.
      (WebCore::FrameView::updateFixedPositionLayoutRect): Added; iOS-specific.
      * page/FrameView.h:
      * page/Navigator.cpp:
      (WebCore::Navigator::standalone): Added; iOS-specific.
      * page/Navigator.h:
      * page/Navigator.idl: Added WTF_PLATFORM_IOS-guarded attribute: standalone. Also added FIXME comment.
      * page/NavigatorBase.cpp:
      (WebCore::NavigatorBase::platform): Added iOS-specific code.
      * page/Page.h:
      (WebCore::Page::hasCustomHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
      to remove this method.
      (WebCore::Page::customHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
      to remove this method.
      * page/PageGroup.cpp:
      (WebCore::PageGroup::removeVisitedLink): Added.
      * page/PageGroup.h:
      * page/Settings.cpp:
      (WebCore::Settings::Settings):
      (WebCore::Settings::setScriptEnabled): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setStandalone): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setAudioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::audioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setNetworkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::networkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
      (WebCore::sharedNetworkInterfaceNameGlobal): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setNetworkInterfaceName): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::networkInterfaceName): Added; guarded by PLATFORM(IOS).
      * page/Settings.h:
      (WebCore::Settings::setMaxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
      (WebCore::Settings::maxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
      (WebCore::Settings::standalone): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::telephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setMediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::mediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setShouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::shouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setShouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::shouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setAlwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::alwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::setAlwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).
      (WebCore::Settings::alwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).
      * page/Settings.in: Added IOS_AIRPLAY-guarded setting: mediaPlaybackAllowsAirPlay.
      * page/animation/CSSPropertyAnimation.cpp:
      (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Added iOS-specific code and FIXME comment.
      * page/ios/EventHandlerIOS.mm: Added.
      * page/ios/FrameIOS.mm: Added.
      * page/mac/ChromeMac.mm:
      * page/mac/PageMac.cpp:
      (WebCore::Page::addSchedulePair): Opt out of code when building for iOS.
      (WebCore::Page::removeSchedulePair): Ditto.
      * page/mac/SettingsMac.mm:
      (WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault): Added iOS-specific code.
      * page/mac/WebCoreFrameView.h:
      
      Source/WebKit/ios:
      
      * WebCoreSupport/WebChromeClientIOS.mm: Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
      
      Source/WebKit2:
      
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: Added.
      * WebProcess/WebPage/WebPage.cpp: Include header <WebCore/HitTestResult.h>.
      
      Source/WTF:
      
      * wtf/FeatureDefines.h: Define ENABLE_IOS_TOUCH_EVENTS to be enabled by default
      when building iOS with ENABLE(TOUCH_EVENTS).
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4da1af80
  10. 19 Dec, 2013 1 commit
    • rniwa@webkit.org's avatar
      overflowchanged event could cause a crash · 331e5db7
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125978
      
      Reviewed by Tim Horton.
      
      Source/WebCore: 
      
      Made the event asynchrnous by re-using Document's event queuing ability. Also removed
      the infrastructure to queue up events in FrameView.
      
      Test: fast/events/overflowchanged-inside-selection-collapse-crash.html
      
      * dom/Document.cpp:
      (WebCore::Document::recalcStyle):
      (WebCore::Document::enqueueOverflowEvent):
      * dom/Document.h:
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::~FrameView):
      (WebCore::FrameView::layout):
      (WebCore::FrameView::performPostLayoutTasks):
      (WebCore::FrameView::updateOverflowStatus):
      * page/FrameView.h:
      * rendering/RenderBlock.cpp:
      (WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::scrollRectToVisible):
      * rendering/RenderMarquee.cpp:
      (WebCore::RenderMarquee::start):
      
      LayoutTests: 
      
      Add a regression test.
      
      * fast/events/overflowchanged-inside-selection-collapse-crash-expected.txt: Added.
      * fast/events/overflowchanged-inside-selection-collapse-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      331e5db7
  11. 13 Dec, 2013 1 commit
  12. 14 Nov, 2013 1 commit
    • bdakin@apple.com's avatar
      Add a new mode where fixed elements don't constrain their positions during a · 817d70e7
      bdakin@apple.com authored
      rubber band
      https://bugs.webkit.org/show_bug.cgi?id=124260
      
      Reviewed by Tim Horton.
      
      This patch adds a new enum called ScrollBehaviorForFixedElements, which has
      two values, StickToDocumentBounds or StickToWindowBounds. StickToDocumentBounds 
      corresponds to our current behavior, where fixed elements constrain 
      their positions during a rubber-band so that they stay stuck to the document.
      The new mode, StickToWindowBounds, will cause fixed elements to always stay
      fixed relative to the window.
      
      scrollOffsetForFixedPosition() now takes a new parameter for the fixed behavior
      so that it knows whether or not to constrain the position.
      * page/FrameView.cpp:
      (WebCore::FrameView::scrollOffsetForFixedPosition):
              
      Right now, just return StickToDocumentBounds and retain existing behavior.
      (WebCore::FrameView::scrollBehaviorForFixedElements):
      * page/FrameView.h:
      
      The scrolling thread needs to know about the fixed element scroll behavior,
      so this code makes ScrollingStateScrollingNodes keep track of that 
      information to pass over to the scrolling thread.
      * page/scrolling/ScrollingStateScrollingNode.cpp:
      (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
      (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
      * page/scrolling/ScrollingStateScrollingNode.h:
      * page/scrolling/ScrollingTreeScrollingNode.cpp:
      (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
      (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
      * page/scrolling/ScrollingTreeScrollingNode.h:
      (WebCore::ScrollingTreeScrollingNode::scrollBehaviorForFixedElements):
      * page/scrolling/mac/ScrollingCoordinatorMac.h:
      * page/scrolling/mac/ScrollingCoordinatorMac.mm:
      (WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
      (WebCore::ScrollingCoordinatorMac::setScrollBehaviorForFixedElementsForNode):
      * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
      (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
              
      Here is the new enum.
      * platform/ScrollTypes.h:
              
      Another place where we only want to constrain scroll position if that is the
      mode we are in.
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::customPositionForVisibleRectComputation):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      817d70e7
  13. 13 Nov, 2013 3 commits
    • simon.fraser@apple.com's avatar
      Rename FrameView's repaintFixedElementsAfterScrolling and updateFixedElementsAfterScrolling · 71ffa3dc
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124306
      
      Reviewed by Tim Horton.
      
      FrameView::repaintFixedElementsAfterScrolling() didn't do any repainting, and didn't
      just apply to fixed elements. Rename it to updateLayerPositionsAfterScrolling().
      
      updateFixedElementsAfterScrolling() was also confusingly named; rename it
      to updateCompositingLayersAfterScrolling().
      
      * page/FrameView.cpp:
      (WebCore::FrameView::setFixedVisibleContentRect):
      (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
      (WebCore::FrameView::updateLayerPositionsAfterScrolling):
      (WebCore::FrameView::shouldUpdateCompositingLayersAfterScrolling):
      (WebCore::FrameView::updateCompositingLayersAfterScrolling):
      * page/FrameView.h:
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::scrollTo):
      * platform/ScrollView.h:
      (WebCore::ScrollView::updateLayerPositionsAfterScrolling):
      (WebCore::ScrollView::updateCompositingLayersAfterScrolling):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71ffa3dc
    • zalan@apple.com's avatar
      Code cleanup: change FrameView::doLayoutWithFrameFlattening() to make it more explicit. · 8d9b19f9
      zalan@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124238
      
      Reviewed by Simon Fraser.
      
      Rename doLayoutWithFrameFlattening() and change its signature so that it's inline with
      what it does.
      
      Covered by existing tests.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::layout):
      (WebCore::FrameView::startLayoutAtMainFrameViewIfNeeded):
      * page/FrameView.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d9b19f9
    • simon.fraser@apple.com's avatar
      ASSERTION FAILED: m_repaintRect ==... · 5edd9940
      simon.fraser@apple.com authored
      ASSERTION FAILED: m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) after r135816
      https://bugs.webkit.org/show_bug.cgi?id=103432
      
      Reviewed by Dave Hyatt.
      
      RenderLayer caches repaint rects in m_repaintRect, and on updating layer
      positions after scrolling, asserts that the cached rect is correct. However,
      this assertion would sometimes fail if we were scrolling as a result of
      doing adjustViewSize() in the middle of layout, because we haven't updated
      layer positions post-layout yet.
      
      Fix by having the poorly named FrameView::repaintFixedElementsAfterScrolling()
      skip the layer updating if this FrameView is inside of adjusetViewSize() in
      layout.
      
      In order to know if we're inside view size adjusting, add a LayoutPhase
      member to FrameView, replacing two existing bools that track laying out state.
      
      Investigative work showed that there are many, many ways to re-enter FrameView::layout(),
      which makes it hard (but desirable) to more assertions about state changes, but
      indicated that saving and restoring the state (via TemporaryChange<LayoutPhase>)
      was a good idea.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::reset):
      (WebCore::FrameView::updateCompositingLayersAfterStyleChange):
      (WebCore::FrameView::layout):
      (WebCore::FrameView::repaintFixedElementsAfterScrolling):
      * page/FrameView.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5edd9940
  14. 10 Nov, 2013 1 commit
  15. 12 Oct, 2013 1 commit
    • akling@apple.com's avatar
      Replace static cast ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION · 670fea1d
      akling@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120803
      
      Patch by Jessica Pease <jessica_n_pease@apple.com> on 2013-09-27
      Reviewed by Andreas Kling.
      
      No new tests because we're just changing assertions.
      
      Source/WebCore:
      
      * accessibility/AccessibilityMockObject.h:
      (WebCore::toAccessibilityMockObject):
      * bindings/js/JSCanvasRenderingContextCustom.cpp:
      (WebCore::toJS):
      * bindings/js/ScheduledAction.cpp:
      (WebCore::ScheduledAction::execute):
      * css/CSSGradientValue.cpp:
      (WebCore::CSSGradientValue::image):
      * css/DeprecatedStyleBuilder.cpp:
      (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
      * dom/Element.cpp:
      (WebCore::Element::elementRareData):
      (WebCore::Element::synchronizeAttribute):
      * dom/FocusEvent.h:
      (WebCore::toFocusEvent):
      * dom/MouseEvent.h:
      (WebCore::toMouseEvent):
      * dom/Node.cpp:
      (WebCore::Node::rareData):
      * dom/StyledElement.cpp:
      (WebCore::StyledElement::ensureMutableInlineStyle):
      * dom/TouchEvent.h:
      (WebCore::toTouchEvent):
      * editing/CompositeEditCommand.h:
      (WebCore::toCompositeEditCommand):
      * html/HTMLObjectElement.cpp:
      (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
      * html/track/AudioTrack.h:
      (WebCore::toAudioTrack):
      * html/track/TextTrack.h:
      (WebCore::toTextTrack):
      * html/track/VideoTrack.h:
      (WebCore::toVideoTrack):
      * inspector/InspectorCSSAgent.cpp:
      (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
      * loader/cache/CachedResourceClientWalker.h:
      (WebCore::CachedResourceClientWalker::next):
      * page/FrameView.h:
      (WebCore::toFrameView):
      * rendering/InlineBox.cpp:
      (WebCore::InlineBox::root):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::createLineBoxesFromBidiRuns):
      * rendering/svg/SVGPathData.cpp:
      (WebCore::updatePathFromEllipseElement):
      (WebCore::updatePathFromLineElement):
      (WebCore::updatePathFromPolygonElement):
      (WebCore::updatePathFromPolylineElement):
      * workers/WorkerMessagingProxy.cpp:
      (WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
      * xml/XMLHttpRequest.cpp:
      (WebCore::XMLHttpRequest::document):
      
      Source/WebKit2:
      
      * Shared/Plugins/NPObjectProxy.h:
      (WebKit::NPObjectProxy::toNPObjectProxy):
      * WebProcess/Plugins/Netscape/NPJSObject.h:
      (WebKit::NPJSObject::toNPJSObject):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      670fea1d
  16. 10 Oct, 2013 1 commit
    • bdakin@apple.com's avatar
      Scrollbars are updated on the main thread rather than the scrolling thread · edce0eef
      bdakin@apple.com authored
      (causing scroll bars not to appear/update quickly in some cases)
      https://bugs.webkit.org/show_bug.cgi?id=122585
      -and corresponding-
      <rdar://problem/10710775>
      
      Reviewed by Simon Fraser.
      
      Source/WebCore: 
      
      This patch does a few things in order to allow scrollbars to be updated on the 
      scrolling thread:
      
      1. This patch adds the ability to know if the lower-level APIs necessary to get 
      this to work right are available, AND if the content is actually capable of taking 
      advantage of this feature. This is currently implemented as 
      Scrollbar::supportsUpdateOnSecondaryThread() which makes use of a new 
      ScrollableArea function called updatesScrollLayerPositionOnMainThread()
              
      2. To update on the scrolling thread, the scrolling tree needs to know about the 
      ScrollbarPainters.
              
      3. Once it knows about them, it should update the presentation value whenever the 
      layer position changes.
              
      4. Presentation value is basically the same thing as double value. There is a bit 
      of code we maintain currently to compute that. This patch moves that code to a 
      static function on ScrollableArea that can be called from both the main thread and 
      the scrolling thread.
              
      5. ScrollbarPainter API needs to know about the layers we have created for the 
      vertical and horizontal scrollbars, then they will use those layers and the 
      presentation value that we set on the scrolling thread to move the layers around.
      
      This is part of #1 above. 
      * page/FrameView.cpp:
      (WebCore::FrameView::updatesScrollLayerPositionOnMainThread):
      * page/FrameView.h:
      
      This is part of #2. ScrollingStateScrollingNodes now have vertical and horizontal 
      ScrollbarPainters for Mac only.
      * page/scrolling/ScrollingStateScrollingNode.cpp:
      (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
      * page/scrolling/ScrollingStateScrollingNode.h:
      (WebCore::ScrollingStateScrollingNode::verticalScrollbarPainter):
      (WebCore::ScrollingStateScrollingNode::horizontalScrollbarPainter):
      
      Also part of #2. Make sure to set the ScrollbarPainters for scrolling nodes when 
      appropriate.
      * page/scrolling/mac/ScrollingCoordinatorMac.h:
      * page/scrolling/mac/ScrollingCoordinatorMac.mm:
      (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
      
      Implement this function that was just stubbed out before. This is part of #5 in 
      that is will allow the ScrollbarPainter API to know about any layer changes. 
      (WebCore::ScrollingCoordinatorMac::scrollableAreaScrollbarLayerDidChange):
      
      Back to #2, making sure we properly set the ScrollbarPainters to send over to the 
      scrolling thread.
      (WebCore::ScrollingCoordinatorMac::setScrollbarPaintersForNode):
      * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
      (WebCore::ScrollingStateScrollingNode::setScrollbarPainters):
      
      This code achieves #3. It uses new ScrollbarPainter API to adjust the position of 
      the scrollbars from the scrolling thread.
      * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
      * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
      (WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
      (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
      (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
      
      This is for #5. ScrollbarPainter needs to know about our scrollbar layers.
      * platform/ScrollAnimator.h:
      (WebCore::ScrollAnimator::verticalScrollbarLayerDidChange):
      (WebCore::ScrollAnimator::horizontalScrollbarLayerDidChange):
      * platform/ScrollableArea.cpp:
      (WebCore::ScrollableArea::verticalScrollbarLayerDidChange):
      (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
      
      This is for #4. This code computes the scrollbar’s value and current overhang 
      amount.
      (WebCore::ScrollableArea::computeScrollbarValueAndOverhang):
      * platform/ScrollableArea.h:
      (WebCore::ScrollableArea::layerForHorizontalScrollbar):
      (WebCore::ScrollableArea::layerForVerticalScrollbar):
      (WebCore::ScrollableArea::layerForScrolling):
      
      This is for #1. We need to know if we have the ability to update scrollbars on a 
      different thread. We can do that only on certain versions of the OS, only when 
      threaded scrolling is enabled, and only when the current page is actually using 
      the scrolling thread to scroll.
      * platform/Scrollbar.cpp:
      (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
      * platform/Scrollbar.h:
      * platform/ScrollbarThemeClient.h:
      
      New ScrollbarPainter APIs.
      * platform/mac/NSScrollerImpDetails.h:
      
      This is for #5, letting the ScrollbarPainter API  know about the layers.
      * platform/mac/ScrollAnimatorMac.h:
      * platform/mac/ScrollAnimatorMac.mm:
      (-[WebScrollbarPainterDelegate layer]):
      (-[WebScrollbarPainterDelegate convertRectToLayer:]):
      (-[WebScrollbarPainterDelegate shouldUseLayerPerPartForScrollerImp:]):
      
      Before we kick off a scroll animation, set the current painting characteristics so 
      they are up-to-date in case we are scrolling on the scrolling thread.
      (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
      (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
      (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
      (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
      (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
      (WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
      (WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
      
      Only paint the scrollbars through ScrollbarThemeMac if they are NOT being updated 
      by the scrolling thread.
      * platform/mac/ScrollbarThemeMac.h:
      * platform/mac/ScrollbarThemeMac.mm:
      (WebCore::ScrollbarThemeMac::setCurrentPaintCharacteristics):
      (WebCore::scrollbarPainterPaint):
      (WebCore::ScrollbarThemeMac::paint):
      
      Back to #1.
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::updatesScrollLayerPositionOnMainThread):
      * rendering/RenderLayer.h:
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
      * rendering/RenderListBox.h:
      
      Source/WebKit2: 
      
      New pure virtual function.
      * WebProcess/Plugins/PDF/PDFPlugin.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      edce0eef
  17. 07 Oct, 2013 2 commits
    • timothy_horton@apple.com's avatar
      Animated images are not restarted when page visibility changes · c1ab3191
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122464
      <rdar://problem/14293474>
      
      Reviewed by Simon Fraser.
      
      Always kickstart animated images when the page visibility changes,
      which can occur via window occlusion, and which is independent of in-window
      state, which we were previously using to advance animation.
      
      No new tests; attempts to make a test have resulted only in a flaky, timing-dependent test.
      
      * page/Frame.cpp:
      (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
      Move this call to resumeAnimatingImages() up to Page.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::setIsInWindow):
      Move this call to resumeAnimatingImages() up to Page.
      
      * WebCore.exp.in
      * page/FrameView.h:
      * page/Page.h:
      Move resumeAnimatingImages() itself up to Page.
      
      * page/Page.cpp:
      (WebCore::Page::setIsInWindow):
      Resume animated images when we move in-window.
      
      (WebCore::Page::setVisibilityState):
      Resume animated images when we become visible.
      This is the one we were previously missing.
      
      (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
      Resume animated images when we're told to.
      
      (WebCore::Page::resumeAnimatingImages):
      Kickstart any animated images in all frames.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157056 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1ab3191
    • andersca@apple.com's avatar
      Add OVERRIDE and virtual where appropriate · 70c60588
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122439
      
      Reviewed by Antti Koivisto.
      
      Source/JavaScriptCore:
      
      * API/JSAPIWrapperObject.mm:
      * API/JSCallbackObject.h:
      (JSC::JSCallbackObjectData::~JSCallbackObjectData):
      * API/JSManagedValue.mm:
      * API/JSScriptRef.cpp:
      (OpaqueJSScript::~OpaqueJSScript):
      * bytecode/CodeBlock.h:
      * bytecode/StructureStubClearingWatchpoint.h:
      * dfg/DFGArrayifySlowPathGenerator.h:
      * dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
      * dfg/DFGFailedFinalizer.h:
      * dfg/DFGJITCode.h:
      * dfg/DFGJITFinalizer.h:
      * dfg/DFGSaneStringGetByValSlowPathGenerator.h:
      * dfg/DFGSlowPathGenerator.h:
      * dfg/DFGSpeculativeJIT64.cpp:
      * heap/Heap.h:
      * heap/IncrementalSweeper.h:
      * heap/SuperRegion.h:
      * jit/ClosureCallStubRoutine.h:
      * jit/ExecutableAllocatorFixedVMPool.cpp:
      * jit/GCAwareJITStubRoutine.h:
      * jit/JITCode.h:
      * jit/JITStubs.cpp:
      * jit/JITToDFGDeferredCompilationCallback.h:
      * jit/JumpReplacementWatchpoint.h:
      * parser/Nodes.h:
      * runtime/DataView.h:
      * runtime/GCActivityCallback.h:
      * runtime/GenericTypedArrayView.h:
      * runtime/RegExpCache.h:
      * runtime/SimpleTypedArrayController.h:
      * runtime/WeakMapData.h:
      
      Source/WebCore:
      
      * Modules/encryptedmedia/MediaKeys.h:
      * Modules/webaudio/AnalyserNode.h:
      * Modules/webaudio/AudioBasicInspectorNode.h:
      * Modules/webaudio/AudioBasicProcessorNode.h:
      * Modules/webaudio/AudioBufferSourceNode.h:
      * Modules/webaudio/AudioContext.h:
      * Modules/webaudio/AudioDestinationNode.h:
      * Modules/webaudio/AudioProcessingEvent.h:
      * Modules/webaudio/BiquadDSPKernel.h:
      * Modules/webaudio/BiquadProcessor.h:
      * Modules/webaudio/ChannelMergerNode.h:
      * Modules/webaudio/ChannelSplitterNode.h:
      * Modules/webaudio/ConvolverNode.h:
      * Modules/webaudio/DelayDSPKernel.h:
      * Modules/webaudio/DelayProcessor.h:
      * Modules/webaudio/DynamicsCompressorNode.h:
      * Modules/webaudio/GainNode.h:
      * Modules/webaudio/MediaElementAudioSourceNode.h:
      * Modules/webaudio/OfflineAudioCompletionEvent.h:
      * Modules/webaudio/OfflineAudioDestinationNode.h:
      * Modules/webaudio/OscillatorNode.h:
      * Modules/webaudio/PannerNode.h:
      * Modules/webaudio/ScriptProcessorNode.h:
      * Modules/webaudio/WaveShaperProcessor.h:
      * accessibility/AccessibilityARIAGrid.h:
      * accessibility/AccessibilityARIAGridCell.h:
      * accessibility/AccessibilityARIAGridRow.h:
      * accessibility/AccessibilityImageMapLink.h:
      * accessibility/AccessibilityList.h:
      * accessibility/AccessibilityListBox.h:
      * accessibility/AccessibilityListBoxOption.h:
      * accessibility/AccessibilityMediaControls.h:
      * accessibility/AccessibilityMenuList.h:
      * accessibility/AccessibilityMenuListOption.h:
      * accessibility/AccessibilityMenuListPopup.h:
      * accessibility/AccessibilityMockObject.h:
      * accessibility/AccessibilityNodeObject.h:
      * accessibility/AccessibilityProgressIndicator.h:
      * accessibility/AccessibilityRenderObject.h:
      * accessibility/AccessibilitySVGRoot.h:
      * accessibility/AccessibilityScrollView.h:
      * accessibility/AccessibilityScrollbar.h:
      * accessibility/AccessibilitySlider.h:
      * accessibility/AccessibilitySpinButton.h:
      * accessibility/AccessibilityTable.h:
      * accessibility/AccessibilityTableCell.h:
      * accessibility/AccessibilityTableColumn.h:
      * accessibility/AccessibilityTableHeaderContainer.h:
      * accessibility/AccessibilityTableRow.h:
      * bindings/js/JSEventListener.h:
      * bindings/js/WebCoreTypedArrayController.h:
      * bridge/c/c_class.h:
      * bridge/c/c_instance.h:
      * bridge/c/c_runtime.h:
      * bridge/runtime_root.h:
      * css/CSSBasicShapes.h:
      * css/CSSComputedStyleDeclaration.h:
      * css/CSSStyleSheet.h:
      * dom/Attr.h:
      * dom/BeforeTextInsertedEvent.h:
      * dom/CDATASection.h:
      * dom/ChildNodeList.h:
      * dom/DatasetDOMStringMap.h:
      * dom/Document.h:
      * dom/DocumentEventQueue.h:
      * dom/DocumentFragment.h:
      * dom/Element.h:
      * dom/ErrorEvent.h:
      * dom/KeyboardEvent.h:
      * dom/Node.h:
      * dom/PageTransitionEvent.h:
      * dom/ProgressEvent.h:
      * dom/PseudoElement.h:
      * dom/ScriptExecutionContext.h:
      * dom/ShadowRoot.h:
      * dom/StyledElement.h:
      * dom/TagNodeList.h:
      * dom/Text.h:
      * dom/TextEvent.h:
      * dom/TransitionEvent.h:
      * dom/UIEvent.h:
      * dom/WebKitAnimationEvent.h:
      * dom/WebKitTransitionEvent.h:
      * editing/ApplyBlockElementCommand.h:
      * editing/ApplyStyleCommand.h:
      * editing/BreakBlockquoteCommand.h:
      * editing/CompositeEditCommand.h:
      * editing/SpellingCorrectionCommand.h:
      * fileapi/File.h:
      * fileapi/FileThreadTask.h:
      * history/BackForwardList.h:
      * html/BaseCheckableInputType.h:
      * html/HTMLAnchorElement.h:
      * html/HTMLAreaElement.h:
      * html/HTMLCanvasElement.h:
      * html/HTMLCollection.h:
      * html/HTMLElement.h:
      * html/HTMLFieldSetElement.h:
      * html/HTMLFormControlElement.h:
      * html/HTMLFormControlElementWithState.h:
      * html/HTMLFormElement.h:
      * html/HTMLFrameElementBase.h:
      * html/HTMLImageElement.h:
      * html/HTMLImageLoader.h:
      * html/HTMLInputElement.h:
      * html/HTMLLabelElement.h:
      * html/HTMLLegendElement.h:
      * html/HTMLMediaElement.h:
      * html/HTMLMeterElement.h:
      * html/HTMLOptGroupElement.h:
      * html/HTMLOptionElement.h:
      * html/HTMLPlugInElement.h:
      * html/HTMLPlugInImageElement.h:
      * html/HTMLProgressElement.h:
      * html/HTMLSelectElement.h:
      * html/HTMLTableElement.h:
      * html/HTMLTextAreaElement.h:
      * html/HTMLTextFormControlElement.h:
      * html/HTMLVideoElement.h:
      * html/canvas/CanvasRenderingContext2D.cpp:
      * html/shadow/MediaControlElementTypes.h:
      * html/shadow/MediaControlElements.h:
      * html/shadow/SpinButtonElement.h:
      * html/shadow/TextControlInnerElements.h:
      * html/track/AudioTrackList.h:
      * html/track/TextTrackList.h:
      * html/track/TrackListBase.h:
      * inspector/InspectorValues.h:
      * loader/EmptyClients.h:
      * loader/ImageLoader.h:
      * loader/ResourceLoader.h:
      * loader/SubresourceLoader.h:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheGroup.h:
      * loader/appcache/DOMApplicationCache.h:
      * loader/archive/cf/LegacyWebArchive.h:
      * loader/cache/CachedCSSStyleSheet.h:
      * loader/cache/CachedFont.h:
      * loader/cache/CachedFontClient.h:
      * loader/cache/CachedImageClient.h:
      * loader/cache/CachedSVGDocumentClient.h:
      * loader/cache/CachedStyleSheetClient.h:
      * loader/cache/CachedXSLStyleSheet.h:
      * page/Chrome.h:
      * page/DOMWindow.h:
      * page/FrameView.h:
      * page/animation/ImplicitAnimation.h:
      * platform/PODIntervalTree.h:
      * platform/PODRedBlackTree.h:
      * platform/ScrollView.h:
      * platform/Scrollbar.h:
      * platform/Timer.h:
      * platform/animation/TimingFunction.h:
      (WebCore::LinearTimingFunction::~LinearTimingFunction):
      (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
      (WebCore::StepsTimingFunction::~StepsTimingFunction):
      * platform/audio/AudioDSPKernelProcessor.h:
      * platform/audio/HRTFPanner.h:
      * platform/audio/mac/AudioDestinationMac.h:
      * platform/graphics/SimpleFontData.h:
      * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/filters/FilterOperation.h:
      * platform/network/ResourceHandle.h:
      * rendering/AutoTableLayout.h:
      * rendering/ClipPathOperation.h:
      * rendering/InlineFlowBox.h:
      * rendering/RenderBlock.h:
      * rendering/RenderBox.h:
      * rendering/RenderBoxModelObject.h:
      * rendering/RenderButton.h:
      * rendering/RenderFieldset.h:
      * rendering/RenderFileUploadControl.h:
      * rendering/RenderFlexibleBox.h:
      * rendering/RenderFlowThread.h:
      * rendering/RenderFullScreen.h:
      * rendering/RenderImage.h:
      * rendering/RenderLayer.h:
      * rendering/RenderLineBreak.h:
      * rendering/RenderListBox.h:
      * rendering/RenderListItem.h:
      * rendering/RenderListMarker.h:
      * rendering/RenderMenuList.h:
      * rendering/RenderMeter.h:
      * rendering/RenderObject.h:
      * rendering/RenderReplaced.h:
      * rendering/RenderSlider.h:
      * rendering/RenderTable.h:
      * rendering/RenderTableCell.h:
      * rendering/RenderText.h:
      * rendering/RenderTextControl.h:
      * rendering/RenderTextControlSingleLine.h:
      * rendering/RenderTextFragment.h:
      * rendering/RenderView.h:
      * rendering/RootInlineBox.h:
      * rendering/mathml/RenderMathMLBlock.h:
      * rendering/mathml/RenderMathMLFraction.h:
      * rendering/mathml/RenderMathMLOperator.h:
      * rendering/style/BasicShapes.h:
      * rendering/svg/RenderSVGModelObject.h:
      * rendering/svg/RenderSVGShape.h:
      * svg/SVGAnimatedBoolean.h:
      * svg/SVGAnimatedString.h:
      * svg/SVGAnimatedTransformList.h:
      * svg/SVGDocument.h:
      * svg/SVGElement.h:
      * svg/SVGElementInstance.h:
      * svg/SVGFontElement.h:
      * svg/SVGGElement.h:
      * svg/SVGGraphicsElement.h:
      * svg/SVGTransformable.h:
      * svg/properties/SVGAnimatedListPropertyTearOff.h:
      * svg/properties/SVGAnimatedPropertyMacros.h:
      * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
      * svg/properties/SVGListPropertyTearOff.h:
      * svg/properties/SVGPropertyTearOff.h:
      * workers/WorkerGlobalScope.h:
      
      Source/WTF:
      
      * wtf/Compiler.h:
      * wtf/FilePrintStream.h:
      * wtf/StringPrintStream.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70c60588
  18. 05 Oct, 2013 1 commit
  19. 04 Oct, 2013 2 commits
  20. 02 Oct, 2013 1 commit
    • timothy_horton@apple.com's avatar
      [mac] Stop using DrawingAreaImpl on PLATFORM(MAC) · 5251cbd5
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121859
      <rdar://problem/15069359>
      
      Reviewed by Anders Carlsson.
      
      The Mac port will now use tiled drawing for all WebKit2 views.
      
      * Shared/DrawingAreaInfo.h:
      Don't include DrawingAreaTypeImpl as a valid DrawingAreaType on Mac.
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView drawRect:]):
      Remove our implementation of drawRect that paints from DrawingAreaImpl's backing store.
      
      (-[WKView _shouldUseTiledDrawingArea]):
      Removed. Always treated as if it were true, now.
      
      (-[WKView _createDrawingAreaProxy]):
      Always create a TiledCoreAnimationDrawingAreaProxy now.
      
      (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
      (-[WKView wantsUpdateLayer]):
      WKView always wants a layer, etc.
      
      * UIProcess/BackingStore.h:
      Remove Mac-specific BackingStore code, only used for DrawingAreaImpl on Mac.
      
      * UIProcess/DrawingAreaProxy.h:
      Remove an unneeded include.
      
      * UIProcess/mac/BackingStoreMac.mm: Removed.
      * WebKit2.xcodeproj/project.pbxproj:
      Remove a bunch of files we don't need to build anymore.
      
      * WebProcess/WebPage/DrawingArea.cpp:
      (WebKit::DrawingArea::create):
      Never create a DrawingAreaImpl on Mac.
      
      * WebProcess/WebPage/DrawingAreaImpl.cpp:
      (WebKit::DrawingAreaImpl::updatePreferences):
      (WebKit::DrawingAreaImpl::resumePainting):
      * WebProcess/WebPage/DrawingAreaImpl.h:
      Remove Mac-specific DrawingAreaImpl code.
      
      * WebProcess/WebPage/LayerTreeHost.cpp:
      (WebKit::LayerTreeHost::create):
      * WebProcess/WebPage/mac/LayerTreeHostMac.h: Removed.
      * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Removed.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::addTrackedRepaintRect):
      (WebCore::FrameView::repaintContentRectangle):
      * page/FrameView.h:
      Factor out the coordinate conversion and appending of new repaint rects on FrameView.
      
      * platform/graphics/GraphicsLayer.cpp:
      (WebCore::GraphicsLayer::dumpProperties):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::shouldDumpPropertyForLayer):
      Don't dump repaint rects on the root tile cache, they'll be included at the top,
      where FrameView's repaints are normally included.
      
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::setContentsNeedDisplay):
      (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
      Push the root tile cache's tracked repaint rects to FrameView instead.
      
      * WebKitTestRunner/TestInvocation.cpp:
      (WTR::shouldUseThreadedScrolling):
      (WTR::updateThreadedScrollingForCurrentTest):
      (WTR::TestInvocation::invoke):
      * WebKitTestRunner/mac/PlatformWebViewMac.mm:
      (-[TestRunnerWKView initWithFrame:contextRef:pageGroupRef:relatedToPage:useThreadedScrolling:]):
      (WTR::PlatformWebView::PlatformWebView):
      (WTR::PlatformWebView::viewSupportsOptions):
      Rename the tiled drawing switch to threaded scrolling, since that's really
      all it switches now that we use tiled drawing everywhere.
      
      Use an unbuffered window, as well, to avoid snapshotting issues on some platforms
      and to more closely match the case we're interested in testing.
      
      * platform/mac-wk2/TestExpectations:
      
      * platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt: Added.
      * platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt: Added.
      * platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt: Added.
      * platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt: Added.
      * platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: Added.
      Add WebKit2 results, because we dump non-white background color on the root layer now.
      
      * platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt: Added.
      New WebKit2 result; repaint rects are showing up now.
      
      * platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
      * platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
      Slightly adjusted results.
      
      * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
      * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.
      * platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt: Added.
      * platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt: Added.
      New WebKit2 results; we show the root tile cache if layerTreeAsText is asked to dump tile caches.
      
      * platform/mac-wk2/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
      * platform/mac-wk2/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
      * platform/mac-wk2/fast/block/basic/020-expected.txt: Added.
      * platform/mac-wk2/fast/dynamic/012-expected.txt: Added.
      * platform/mac-wk2/fast/dynamic/layer-hit-test-crash-expected.txt: Added.
      * platform/mac-wk2/fast/repaint/layer-hide-when-needs-layout-expected.txt: Added.
      * platform/mac-wk2/fast/text/whitespace/028-expected.txt: Added.
      * platform/mac-wk2/fast/layers/layer-visibility-expected.txt: Added.
      * platform/mac-wk2/fast/layers/layer-visibility-sublayer-expected.txt: Added.
      * platform/mac-wk2/fast/repaint/invisible-objects-expected.txt: Added.
      New WebKit2 results; additional compositing layers.
      
      * platform/mac-wk2/tiled-drawing/window-server-snapshots-work-expected-mismatch.html: Added.
      * platform/mac-wk2/tiled-drawing/window-server-snapshots-work.html: Added.
      New test to ensure that window-server snapshots work with tiled drawing.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5251cbd5
  21. 30 Sep, 2013 1 commit
    • darin@apple.com's avatar
      Use RenderElement instead of RenderObject in many places · 8cdf7124
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122078
      
      Reviewed by Andreas Kling.
      
      Source/ThirdParty/ANGLE:
      
      * ANGLE.xcodeproj/project.pbxproj: Let Xcode do its thing to this file.
      
      Source/WebCore:
      
      * WebCore.exp.in: Updated for name changes.
      
      * dom/ContainerNode.h: Moved renderer() here from Element.
      * dom/Element.h: Moved renderer() from here to ContainerNode.
      * render/RenderElement.h: Moved renderer() from Element to ContainerNode.
      
      * accessibility/AccessibilityImageMapLink.cpp:
      (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
      (WebCore::AccessibilityImageMapLink::detachFromParent):
      (WebCore::AccessibilityImageMapLink::elementPath):
      (WebCore::AccessibilityImageMapLink::elementRect):
      * accessibility/AccessibilityImageMapLink.h:
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
      * bindings/objc/DOM.mm:
      (-[DOMElement image]):
      (-[DOMElement _font]):
      (-[DOMElement _imageTIFFRepresentation]):
      * css/CSSCanvasValue.cpp:
      (WebCore::CSSCanvasValue::canvasChanged):
      (WebCore::CSSCanvasValue::canvasResized):
      (WebCore::CSSCanvasValue::canvasDestroyed):
      (WebCore::CSSCanvasValue::fixedSize):
      (WebCore::CSSCanvasValue::image):
      * css/CSSCanvasValue.h:
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::computeRenderStyleForProperty):
      * css/CSSCrossfadeValue.cpp:
      (WebCore::subimageKnownToBeOpaque):
      (WebCore::CSSCrossfadeValue::fixedSize):
      (WebCore::CSSCrossfadeValue::knownToBeOpaque):
      (WebCore::CSSCrossfadeValue::image):
      (WebCore::CSSCrossfadeValue::crossfadeChanged):
      * css/CSSCrossfadeValue.h:
      * css/CSSFilterImageValue.cpp:
      (WebCore::CSSFilterImageValue::fixedSize):
      (WebCore::CSSFilterImageValue::knownToBeOpaque):
      (WebCore::CSSFilterImageValue::image):
      (WebCore::CSSFilterImageValue::filterImageChanged):
      * css/CSSFilterImageValue.h:
      * css/CSSFontSelector.cpp:
      * css/CSSGradientValue.cpp:
      (WebCore::CSSGradientValue::image):
      (WebCore::CSSGradientValue::addStops):
      (WebCore::CSSGradientValue::knownToBeOpaque):
      (WebCore::CSSLinearGradientValue::createGradient):
      (WebCore::CSSRadialGradientValue::createGradient):
      * css/CSSGradientValue.h:
      (WebCore::CSSGradientValue::fixedSize):
      * css/CSSImageGeneratorValue.cpp:
      (WebCore::CSSImageGeneratorValue::addClient):
      (WebCore::CSSImageGeneratorValue::removeClient):
      (WebCore::CSSImageGeneratorValue::image):
      (WebCore::CSSImageGeneratorValue::fixedSize):
      (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
      * css/CSSImageGeneratorValue.h:
      (WebCore::CSSImageGeneratorValue::clients):
      * css/CSSImageValue.cpp:
      (WebCore::CSSImageValue::knownToBeOpaque):
      * css/CSSImageValue.h:
      * css/DeprecatedStyleBuilder.cpp:
      * dom/DocumentMarkerController.cpp:
      (WebCore::DocumentMarkerController::removeMarkersFromList):
      (WebCore::DocumentMarkerController::repaintMarkers):
      * dom/Element.cpp:
      (WebCore::localZoomForRenderer):
      (WebCore::adjustForLocalZoom):
      (WebCore::Element::offsetParent):
      (WebCore::Element::updateExistingPseudoElement):
      * dom/ElementRareData.h:
      (WebCore::ElementRareData::create):
      (WebCore::ElementRareData::ElementRareData):
      * dom/Node.cpp:
      (WebCore::Node::ensureRareData):
      * editing/DeleteButtonController.cpp:
      (WebCore::isDeletableElement):
      * editing/Editor.cpp:
      (WebCore::Editor::hasBidiSelection):
      (WebCore::Editor::baseWritingDirectionForSelectionStart):
      * editing/EditorCommand.cpp:
      (WebCore::verticalScrollDistance):
      * editing/htmlediting.cpp:
      (WebCore::directionOfEnclosingBlock):
      * editing/ios/EditorIOS.mm:
      (WebCore::Editor::fontForSelection):
      (WebCore::getImage):
      * editing/mac/EditorMac.mm:
      (WebCore::Editor::fontForSelection):
      (WebCore::getImage):
      * editing/markup.cpp:
      * html/HTMLAreaElement.cpp:
      (WebCore::HTMLAreaElement::computePath):
      (WebCore::HTMLAreaElement::computeRect):
      (WebCore::HTMLAreaElement::setFocus):
      * html/HTMLAreaElement.h:
      * html/HTMLCanvasElement.cpp:
      (WebCore::HTMLCanvasElement::reset):
      * html/HTMLElement.cpp:
      (WebCore::HTMLElement::setInnerText):
      * html/HTMLFormControlElement.cpp:
      (WebCore::updateFromElementCallback):
      * html/HTMLFormElement.cpp:
      (WebCore::HTMLFormElement::rendererIsNeeded):
      * html/HTMLFrameOwnerElement.h:
      * html/HTMLImageElement.cpp:
      (WebCore::HTMLImageElement::x):
      (WebCore::HTMLImageElement::y):
      (WebCore::HTMLImageElement::willRespondToMouseClickEvents):
      * html/HTMLMapElement.cpp:
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::defaultEventHandler):
      * html/HTMLMeterElement.cpp:
      (WebCore::HTMLMeterElement::renderMeter):
      * html/HTMLOptionElement.cpp:
      (WebCore::HTMLOptionElement::didRecalcStyle):
      * html/HTMLPlugInElement.cpp:
      (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents):
      (WebCore::HTMLPlugInElement::defaultEventHandler):
      (WebCore::HTMLPlugInElement::isKeyboardFocusable):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::defaultEventHandler):
      * html/HTMLProgressElement.cpp:
      (WebCore::HTMLProgressElement::renderProgress):
      * html/HTMLSelectElement.cpp:
      (WebCore::HTMLSelectElement::scrollToSelection):
      (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
      (WebCore::HTMLSelectElement::selectOption):
      * html/HTMLTableCellElement.cpp:
      (WebCore::HTMLTableCellElement::cellAbove):
      * html/HTMLTextFormControlElement.cpp:
      (WebCore::hasVisibleTextArea):
      (WebCore::HTMLTextFormControlElement::setSelectionRange):
      * html/InputType.h:
      * html/parser/HTMLResourcePreloader.cpp:
      * html/shadow/MediaControlElementTypes.cpp:
      (WebCore::MediaControlElement::setDisplayType):
      * html/shadow/MediaControlElements.cpp:
      (WebCore::MediaControlPanelElement::startDrag):
      (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
      * html/shadow/MeterShadowElement.cpp:
      (WebCore::MeterShadowElement::rendererIsNeeded):
      (WebCore::MeterInnerElement::rendererIsNeeded):
      * inspector/InspectorOverlay.cpp:
      * inspector/InspectorTimelineAgent.cpp:
      * inspector/InspectorTimelineAgent.h:
      * loader/ImageLoader.cpp:
      (WebCore::ImageLoader::renderImageResource):
      * loader/cache/CachedImage.cpp:
      (WebCore::CachedImage::currentFrameKnownToBeOpaque):
      * loader/cache/CachedImage.h:
      * mathml/MathMLElement.cpp:
      * page/ContextMenuController.cpp:
      * page/DragController.cpp:
      (WebCore::DragController::draggableElement):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::EventHandler):
      (WebCore::EventHandler::clear):
      (WebCore::EventHandler::startPanScrolling):
      (WebCore::EventHandler::autoscrollRenderer):
      (WebCore::EventHandler::scrollOverflow):
      (WebCore::EventHandler::logicalScrollOverflow):
      (WebCore::EventHandler::subframeForTargetNode):
      (WebCore::EventHandler::selectCursor):
      (WebCore::layerForNode):
      (WebCore::EventHandler::handleWheelEvent):
      (WebCore::EventHandler::clearGestureScrollNodes):
      * page/EventHandler.h:
      * page/FocusController.cpp:
      * page/Frame.cpp:
      (WebCore::Frame::ownerRenderer):
      (WebCore::Frame::visiblePositionForPoint):
      (WebCore::Frame::nodeImage):
      * page/FrameView.cpp:
      (WebCore::FrameView::applyOverflowToViewport):
      (WebCore::FrameView::applyPaginationToViewport):
      (WebCore::FrameView::calculateScrollbarModesForLayout):
      (WebCore::FrameView::isEnclosedInCompositingLayer):
      (WebCore::FrameView::embeddedContentBox):
      (WebCore::FrameView::addSlowRepaintObject):
      (WebCore::FrameView::removeSlowRepaintObject):
      (WebCore::FrameView::addViewportConstrainedObject):
      (WebCore::FrameView::removeViewportConstrainedObject):
      (WebCore::FrameView::scrollContentsFastPath):
      (WebCore::FrameView::repaintSlowRepaintObjects):
      (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
      (WebCore::FrameView::updateOverflowStatus):
      (WebCore::FrameView::updateScrollCorner):
      (WebCore::FrameView::paintContents):
      (WebCore::FrameView::convertFromRenderer):
      (WebCore::FrameView::convertToRenderer):
      * page/FrameView.h:
      * page/PageSerializer.cpp:
      (WebCore::PageSerializer::addImageToResources):
      * page/PageSerializer.h:
      * page/animation/AnimationBase.cpp:
      (WebCore::AnimationBase::AnimationBase):
      (WebCore::AnimationBase::updateStateMachine):
      * page/animation/AnimationBase.h:
      (WebCore::AnimationBase::renderer):
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
      (WebCore::AnimationControllerPrivate::clear):
      (WebCore::AnimationControllerPrivate::updateAnimations):
      (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
      (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
      (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
      (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
      (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
      (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
      (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
      (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
      (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
      (WebCore::AnimationController::cancelAnimations):
      (WebCore::AnimationController::updateAnimations):
      (WebCore::AnimationController::getAnimatedStyleForRenderer):
      (WebCore::AnimationController::notifyAnimationStarted):
      (WebCore::AnimationController::pauseAnimationAtTime):
      (WebCore::AnimationController::pauseTransitionAtTime):
      (WebCore::AnimationController::isRunningAnimationOnRenderer):
      (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
      * page/animation/AnimationController.h:
      * page/animation/AnimationControllerPrivate.h:
      * page/animation/CSSPropertyAnimation.cpp:
      (WebCore::crossfadeBlend):
      * page/animation/CompositeAnimation.cpp:
      (WebCore::CompositeAnimation::updateTransitions):
      (WebCore::CompositeAnimation::updateKeyframeAnimations):
      (WebCore::CompositeAnimation::animate):
      * page/animation/CompositeAnimation.h:
      * page/animation/ImplicitAnimation.cpp:
      (WebCore::ImplicitAnimation::ImplicitAnimation):
      (WebCore::ImplicitAnimation::animate):
      (WebCore::ImplicitAnimation::pauseAnimation):
      (WebCore::ImplicitAnimation::sendTransitionEvent):
      * page/animation/ImplicitAnimation.h:
      (WebCore::ImplicitAnimation::create):
      * page/animation/KeyframeAnimation.cpp:
      (WebCore::KeyframeAnimation::KeyframeAnimation):
      (WebCore::KeyframeAnimation::animate):
      (WebCore::KeyframeAnimation::pauseAnimation):
      (WebCore::KeyframeAnimation::endAnimation):
      (WebCore::KeyframeAnimation::sendAnimationEvent):
      * page/animation/KeyframeAnimation.h:
      * page/mac/EventHandlerMac.mm:
      (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
      (WebCore::EventHandler::passSubframeEventToSubframe):
      * page/mac/FrameSnapshottingMac.mm:
      (WebCore::snapshotDragImage):
      * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
      (WebCore::MediaPlayerPrivateQTKit::paint):
      * rendering/CounterNode.cpp:
      (WebCore::CounterNode::CounterNode):
      (WebCore::CounterNode::create):
      * rendering/CounterNode.h:
      (WebCore::CounterNode::owner):
      * rendering/FilterEffectRenderer.cpp:
      (WebCore::FilterEffectRenderer::buildReferenceFilter):
      (WebCore::FilterEffectRenderer::build):
      * rendering/FilterEffectRenderer.h:
      * rendering/HitTestResult.cpp:
      (WebCore::HitTestResult::spellingToolTip):
      (WebCore::HitTestResult::title):
      (WebCore::HitTestResult::innerTextIfTruncated):
      (WebCore::HitTestResult::image):
      * rendering/LayoutRepainter.cpp:
      (WebCore::LayoutRepainter::LayoutRepainter):
      * rendering/LayoutRepainter.h:
      * rendering/LayoutState.h:
      (WebCore::LayoutState::LayoutState):
      * rendering/LineWidth.h:
      * rendering/LogicalSelectionOffsetCaches.h:
      (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject):
      (WebCore::isNonRenderBlockInline):
      (WebCore::containingBlockForFixedPosition):
      (WebCore::containingBlockForAbsolutePosition):
      (WebCore::containingBlockForObjectInFlow):
      (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
      * rendering/PaintInfo.h:
      (WebCore::PaintInfo::PaintInfo):
      (WebCore::PaintInfo::updateSubtreePaintRootForChildren):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::paintFillLayers):
      (WebCore::RenderBox::paintFillLayer):
      * rendering/RenderBox.h:
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::paintFillLayerExtended):
      (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
      * rendering/RenderBoxModelObject.h:
      * rendering/RenderCounter.cpp:
      (WebCore::nextInPreOrder):
      (WebCore::planCounter):
      (WebCore::makeCounterNode):
      (WebCore::RenderCounter::originalText):
      * rendering/RenderElement.cpp:
      (WebCore::RenderElement::~RenderElement):
      (WebCore::RenderElement::insertChildInternal):
      (WebCore::RenderElement::removeChildInternal):
      (WebCore::RenderElement::willBeDestroyed):
      (WebCore::RenderElement::rendererForRootBackground):
      * rendering/RenderImageResource.cpp:
      (WebCore::RenderImageResource::initialize):
      * rendering/RenderImageResource.h:
      * rendering/RenderImageResourceStyleImage.cpp:
      (WebCore::RenderImageResourceStyleImage::initialize):
      * rendering/RenderImageResourceStyleImage.h:
      (WebCore::RenderImageResourceStyleImage::create):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
      (WebCore::RenderLayerCompositor::requiresCompositingLayer):
      (WebCore::RenderLayerCompositor::canBeComposited):
      (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
      (WebCore::RenderLayerCompositor::reasonsForCompositing):
      (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
      (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
      (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
      (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
      (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
      (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
      (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
      (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
      (WebCore::RenderLayerCompositor::requiresCompositingForBlending):
      (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
      (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
      * rendering/RenderLayerCompositor.h:
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::containingBlock):
      (WebCore::mustRepaintFillLayers):
      (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered):
      (WebCore::RenderObject::willBeDestroyed):
      * rendering/RenderScrollbarPart.cpp:
      (WebCore::RenderScrollbarPart::rendererOwningScrollbar):
      * rendering/RenderScrollbarPart.h:
      * rendering/RenderTableCell.cpp:
      (WebCore::RenderTableCell::paintBackgroundsBehindCell):
      * rendering/RenderTableCell.h:
      * rendering/RenderView.cpp:
      (WebCore::RenderView::RenderView):
      * rendering/style/FillLayer.cpp:
      (WebCore::FillLayer::hasOpaqueImage):
      * rendering/style/FillLayer.h:
      * rendering/style/KeyframeList.h:
      (WebCore::KeyframeList::KeyframeList):
      * rendering/style/StyleCachedImage.cpp:
      (WebCore::StyleCachedImage::imageSize):
      (WebCore::StyleCachedImage::computeIntrinsicDimensions):
      (WebCore::StyleCachedImage::setContainerSizeForRenderer):
      (WebCore::StyleCachedImage::addClient):
      (WebCore::StyleCachedImage::removeClient):
      (WebCore::StyleCachedImage::image):
      (WebCore::StyleCachedImage::knownToBeOpaque):
      * rendering/style/StyleCachedImage.h:
      * rendering/style/StyleCachedImageSet.cpp:
      (WebCore::StyleCachedImageSet::imageSize):
      (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
      (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
      (WebCore::StyleCachedImageSet::addClient):
      (WebCore::StyleCachedImageSet::removeClient):
      (WebCore::StyleCachedImageSet::image):
      (WebCore::StyleCachedImageSet::knownToBeOpaque):
      * rendering/style/StyleCachedImageSet.h:
      * rendering/style/StyleGeneratedImage.cpp:
      (WebCore::StyleGeneratedImage::imageSize):
      (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
      (WebCore::StyleGeneratedImage::addClient):
      (WebCore::StyleGeneratedImage::removeClient):
      (WebCore::StyleGeneratedImage::image):
      (WebCore::StyleGeneratedImage::knownToBeOpaque):
      * rendering/style/StyleGeneratedImage.h:
      * rendering/style/StyleImage.h:
      (WebCore::StyleImage::imagesEquivalent):
      * rendering/style/StylePendingImage.h:
      (WebCore::StylePendingImage::cssImageValue):
      (WebCore::StylePendingImage::cssImageGeneratorValue):
      (WebCore::StylePendingImage::cssCursorImageValue):
      (WebCore::StylePendingImage::cssImageSetValue):
      (WebCore::StylePendingImage::computeIntrinsicDimensions):
      * testing/Internals.cpp:
      (WebCore::Internals::boundingBox):
      (WebCore::Internals::isSelectPopupVisible):
      (WebCore::Internals::isPluginUnavailabilityIndicatorObscured):
      Use RenderElement instead of RenderObject where it was easy to do so.
      For local variables holding the return value of renderer() functions,
      use auto instead, so the most-specific possible type will be used,
      without having to figure out what that is in each case. Also use some
      more OVERRIDE and FINAL and use nullptr instead of 0. And replace some
      cryptic short local variable names with words.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8cdf7124
  22. 28 Sep, 2013 1 commit
    • darin@apple.com's avatar
      Add Frame::mainFrame and Frame::isMainFrame · 0e83ab12
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122064
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      * WebCore.exp.in: Removed exports of FrameView::isMainFrameView and
      Page::frameIsMainFrame. Since the new isMainFrame function is inline, it
      does not need to be exported.
      
      * history/PageCache.cpp:
      (WebCore::PageCache::markPagesForFullStyleRecalc):
      (WebCore::PageCache::markPagesForDeviceScaleChanged):
      These two were the only functions I found that really wanted the equivalent
      of Page::frameIsMainFrame, so wrote it out here instead of using a function
      call.
      
      * inspector/InspectorAgent.cpp: Removed the unused isMainResourceLoader function.
      * inspector/InspectorAgent.h: Removed declarations of a few nonexistent or
      unused private member functions. Also removed the InjectedScriptForOriginMap
      typedef: It's mor readable to use the type directly
      
      * loader/FrameLoader.h: Removed isLoadingMainFrame. It's not better than
      calling frame().isMainFrame() directly.
      
      * page/Frame.cpp:
      (WebCore::Frame::Frame): Initialize m_mainFrame and call selfOnlyRef, keeping
      the MainFrame alive as long as any of its subframes is alive.
      (WebCore::Frame::~Frame): Call selfOnlyDeref.
      (WebCore::Frame::createView): Use isMainFrame.
      (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
      
      * page/Frame.h: Added Frame::mainFrame, Frame::isMainFrame, and Frame::m_mainFrame.
      
      * page/FrameView.h: Removed the isMainFrameView function. It's not better than
      calling frame().isMainFrame() directly.
      
      * page/MainFrame.cpp:
      (WebCore::MainFrame::MainFrame): Initialize m_selfOnlyRefCount to 0.
      (WebCore::MainFrame::selfOnlyRef): Added.
      (WebCore::MainFrame::selfOnlyDeref): Added.
      (WebCore::MainFrame::dropChildren): Added. Called when the self-only reference
      count reaches 0 to avoid a reference cycle with subframes.
      
      * page/MainFrame.h: Added new data members as mentioned above. Also, the
      definition of the Frame::isMainFrame inline function goes here, since it can't
      compile without the MainFrame class definition. This means that callers of
      isMainFrame need to include MainFrame.h, which seems reasonable and is easy
      to do.
      
      * page/Page.cpp:
      * page/Page.h: Added assertion to Page::mainFrame since it returns a reference.
      Removed Page::frameIsMainFrame since it's not better than calling isMainFrame
      on the frame.
      
      * dom/Document.cpp:
      (WebCore::Document::setVisualUpdatesAllowed):
      (WebCore::Document::didBecomeCurrentDocumentInFrame):
      (WebCore::Document::updateViewportArguments):
      (WebCore::Document::setInPageCache):
      (WebCore::Document::ensurePlugInsInjectedScript):
      * history/CachedFrame.cpp:
      (WebCore::CachedFrame::CachedFrame):
      * history/CachedPage.cpp:
      (WebCore::CachedPage::restore):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
      * html/ImageDocument.cpp:
      (WebCore::ImageDocument::shouldShrinkToFit):
      * inspector/InspectorController.cpp:
      (WebCore::InspectorController::didClearWindowObjectInWorld):
      * inspector/InspectorInstrumentation.cpp:
      (WebCore::InspectorInstrumentation::didCommitLoadImpl):
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
      (WebCore::InspectorPageAgent::frameNavigated):
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::willSendRequest):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::transitionToCommitted):
      (WebCore::FrameLoader::prepareForCachedPageRestore):
      (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
      (WebCore::FrameLoader::didLayout):
      (WebCore::FrameLoader::checkLoadComplete):
      (WebCore::FrameLoader::addExtraFieldsToRequest):
      (WebCore::FrameLoader::loadResourceSynchronously):
      (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
      (WebCore::FrameLoader::dispatchDidCommitLoad):
      (WebCore::FrameLoader::loadProgressingStatusChanged):
      * loader/HistoryController.cpp:
      (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
      (WebCore::HistoryController::restoreScrollPositionAndViewState):
      (WebCore::HistoryController::updateForCommit):
      (WebCore::HistoryController::updateForSameDocumentNavigation):
      (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
      (WebCore::HistoryController::pushState):
      * loader/icon/IconController.cpp:
      (WebCore::IconController::startLoader):
      * page/AutoscrollController.cpp:
      (WebCore::AutoscrollController::stopAutoscrollTimer):
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::populate):
      * page/DOMWindow.cpp:
      (WebCore::allowsBeforeUnloadListeners):
      (WebCore::DOMWindow::focus):
      (WebCore::DOMWindow::blur):
      (WebCore::DOMWindow::close):
      (WebCore::DOMWindow::allowedToChangeWindowGeometry):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::hitTestResultAtPoint):
      (WebCore::EventHandler::selectCursor):
      (WebCore::EventHandler::handleMousePressEvent):
      (WebCore::EventHandler::keyEvent):
      * page/FrameTree.cpp:
      (WebCore::FrameTree::find):
      (WebCore::FrameTree::traverseNextWithWrap):
      * page/FrameView.cpp:
      (WebCore::FrameView::FrameView):
      (WebCore::FrameView::setFrameRect):
      (WebCore::FrameView::createScrollbar):
      (WebCore::FrameView::applyOverflowToViewport):
      (WebCore::FrameView::setHeaderHeight):
      (WebCore::FrameView::setFooterHeight):
      (WebCore::FrameView::minimumScrollPosition):
      (WebCore::FrameView::maximumScrollPosition):
      (WebCore::FrameView::shouldUpdateFixedElementsAfterScrolling):
      (WebCore::FrameView::beginDeferredRepaints):
      (WebCore::FrameView::endDeferredRepaints):
      (WebCore::FrameView::performPostLayoutTasks):
      (WebCore::FrameView::sendResizeEventIfNeeded):
      (WebCore::FrameView::pagination):
      (WebCore::FrameView::visibleContentScaleFactor):
      (WebCore::FrameView::setVisibleScrollerThumbRect):
      (WebCore::FrameView::scrollbarStyleChanged):
      (WebCore::FrameView::paintScrollCorner):
      (WebCore::FrameView::paintScrollbar):
      (WebCore::FrameView::paintOverhangAreas):
      * page/scrolling/ScrollingCoordinator.cpp:
      (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      Use the new functions where possible instead of Page::frameIsMainFrame,
      Page::mainFrame, FrameLoader::isLoadingMainFrame, and FrameView::isMainFrameView.
      
      Source/WebKit/blackberry:
      
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
      Call isMainFrame.
      
      Source/WebKit/efl:
      
      * WebCoreSupport/FrameLoaderClientEfl.cpp:
      (WebCore::FrameLoaderClientEfl::dispatchWillSendRequest):
      (WebCore::FrameLoaderClientEfl::assignIdentifierToInitialRequest):
      (WebCore::FrameLoaderClientEfl::updateGlobalHistory):
      Call isMainFrame.
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
      Call isMainFrame.
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::canHandleRequest):
      (WebFrameLoaderClient::transitionToCommittedForNewPage):
      * WebView/WebFrameView.mm:
      (-[WebFrameView _install]):
      Call isMainFrame.
      
      Source/WebKit2:
      
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView):
      Call isMainFrame.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e83ab12
  23. 27 Sep, 2013 2 commits
    • bdakin@apple.com's avatar
      ScrollbarPainterController should adopt the api to lock overlay scrollbar state · 39ed951a
      bdakin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121928
      
      Reviewed by Sam Weinig.
      
      Source/WebCore: 
      
      ScrollbarPainterController should adopt the api to lock overlay scrollbar state. 
      This will allow the ScrollbarPainterController and ScrollAnimatorMac to have 
      control over knowing whether or not the scrollbars are currently active, which 
      will allow us to remove a bunch of functions previously implemented in 
      ScrollableArea subclasses to answer that question.
      
      ScrollableArea::scrollbarsCanBeActive() is not longer virtual. It used to 
      implemented on ScrollableArea subclasses, but now ScrollableArea can just get the 
      information from the ScrollAnimator.
      * WebCore.exp.in:
      
      When ScrollableArea subclasses implemented scrollbarsCanBeActive(), they would 
      check to see if the document was in the page cache. Instead of that model, this 
      patch adopts a model where ScrollbarPainterController is told directly whether or 
      not it is active via shouldLockOverlayScrollbarsToHidden(bool).
      * dom/Document.cpp:
      (WebCore::Document::setInPageCache):
      
      setAnimatorsAreActive() is no longer necessary. The functionality can be bundled 
      into shouldLockOverlayScrollbarsToHidden(bool).
      (WebCore::Document::documentDidResumeFromPageCache):
      
      Remove implementations of scrollbarsCanBeActive(), setAnimatorsAreActive(), and 
      scrollbarAnimationsAreSuppressed(). 
      * page/FrameView.cpp:
      (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
      * page/FrameView.h:
      
      setShouldSuppressScrollbarAnimations(bool) now calls 
      setShouldLockOverlayScrollbars(bool). 
      * page/Page.cpp:
      (WebCore::Page::setShouldSuppressScrollbarAnimations):
      (WebCore::Page::setShouldLockOverlayScrollbars):
      * page/Page.h:
      
      setIsActive() is now implemented in the ScrollAnimator instead of ScrollableArea 
      subclasses. finishCurrentScrollAnimations() is replaced by 
      lockOverlayScrollbarStateToHidden(bool).
      * platform/ScrollAnimator.h:
      (WebCore::ScrollAnimator::lockOverlayScrollbarStateToHidden):
      (WebCore::ScrollAnimator::scrollbarsCanBeActive):
      
      New enum ScrollbarOverlayState.
      * platform/ScrollTypes.h:
      
      Go to the animator for both of these functions.
      * platform/ScrollableArea.cpp:
      (WebCore::ScrollableArea::lockOverlayScrollbarStateToHidden):
      (WebCore::ScrollableArea::scrollbarsCanBeActive):
      * platform/ScrollableArea.h:
      (WebCore::ScrollableArea::setVisibleScrollerThumbRect):
      
      Three new pieces of ScrollbarPainterController api.
      * platform/mac/NSScrollerImpDetails.h:
      
      Instead of asking the ScrollableArea if scrollbars can be active, just find out if 
      the ScrollbarPaintController has been locked.
      * platform/mac/ScrollAnimatorMac.h:
      * platform/mac/ScrollAnimatorMac.mm:
      (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
      (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
      (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
      (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
      (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
      (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
      (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
      (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
      (WebCore::ScrollAnimatorMac::willStartLiveResize):
      (WebCore::ScrollAnimatorMac::contentsResized):
      (WebCore::ScrollAnimatorMac::willEndLiveResize):
      (WebCore::ScrollAnimatorMac::contentAreaDidShow):
      (WebCore::ScrollAnimatorMac::contentAreaDidHide):
      (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
      (WebCore::ScrollAnimatorMac::didEndScrollGesture):
      (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
      (WebCore::ScrollAnimatorMac::lockOverlayScrollbarStateToHidden):
      (WebCore::ScrollAnimatorMac::scrollbarsCanBeActive):
      (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
      (WebCore::ScrollAnimatorMac::updateScrollerStyle):
      
      Remove implementations of scrollbarsCanBeActive() and 
      scrollbarAnimationsAreSuppressed().
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayer.h:
      * rendering/RenderListBox.cpp:
      * rendering/RenderListBox.h:
      
      Source/WebKit2: 
      
      This function no longer needs to be implemented by ScrollablArea subclasses.
      * WebProcess/Plugins/PDF/PDFPlugin.h:
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156558 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39ed951a
    • darin@apple.com's avatar
      rename KURL to URL · 5ffbb5c7
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=16214
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      * many files: Renamed, using script.
      
      Source/WebKit:
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      Let the script to try to rename here.
      
      Source/WebKit/blackberry:
      
      * many files: Renamed, using script.
      
      Source/WebKit/efl:
      
      * many files: Renamed, using script.
      
      Source/WebKit/gtk:
      
      * many files: Renamed, using script.
      
      Source/WebKit/mac:
      
      * many files: Renamed, using script.
      
      Source/WebKit/qt:
      
      * many files: Renamed, using script.
      
      Source/WebKit/win:
      
      * many files: Renamed, using script.
      
      Source/WebKit/wince:
      
      * many files: Renamed, using script.
      
      Source/WebKit2:
      
      * many files: Renamed, using script.
      
      Tools:
      
      * many files: Renamed, using script.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156550 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ffbb5c7
  24. 26 Sep, 2013 1 commit
    • timothy_horton@apple.com's avatar
      Tiled drawing should not imply threaded scrolling · 017ef58c
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121874
      <rdar://problem/15071494>
      
      Reviewed by Sam Weinig.
      
      * Shared/DrawingAreaInfo.h:
      We can have DrawingAreaTypeTiledCoreAnimation without threaded scrolling.
      
      * Shared/WebPreferencesStore.h:
      * UIProcess/API/C/WKPreferences.cpp:
      (WKPreferencesSetThreadedScrollingEnabled):
      (WKPreferencesGetThreadedScrollingEnabled):
      * UIProcess/API/C/WKPreferencesPrivate.h:
      Add a preference for threaded scrolling.
      
      * UIProcess/API/mac/WKView.mm:
      (-[WKView WebKit::]):
      * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
      * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
      * WebProcess/WebPage/DrawingArea.cpp:
      (WebKit::DrawingArea::create):
      * WebProcess/WebPage/DrawingArea.h:
      Make it so we can use TiledCoreAnimationDrawingArea without ENABLE(THREADED_SCROLLING).
      
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      (WebKit::WebChromeClient::shouldUseTiledBackingForFrame):
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      Override shouldUseTiledBackingForFrame; ask the drawing area if we want a tiled backing for the given frame.
      
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::WebPage):
      (WebKit::WebPage::~WebPage):
      * WebProcess/WebPage/WebPage.h:
      Move attaching and detaching the scrolling tree into WebPage.
      Store whether or not this page is going to use threaded scrolling once, as this
      cannot change through the life of a page.
      
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
      * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
      (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
      (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
      Move attaching and detaching the scrolling tree into WebPage.
      
      (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
      (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
      (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
      (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
      Only do scrolling coordinator work if we have a scrolling coordinator.
      
      (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrame):
      TiledCoreAnimationDrawingArea always wants a tiled backing for the main frame.
      
      No new tests; a near-future patch is going to put the majority of layout
      tests into the tiled-drawing-without-threaded-scrolling mode.
      
      * page/ChromeClient.h:
      (WebCore::ChromeClient::shouldUseTiledBackingForFrame):
      Add a ChromeClient callback to determine whether a given frame wants a TiledBacking for its contents.
      
      * page/FrameView.h:
      * WebCore.exp.in:
      Make isMainFrameView public and export it for use in WebKit2.
      
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      Make use of shouldUseTiledBackingForFrame instead of predicating the
      main frame using a tile cache on whether we have a scrolling coordinator.
      
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::mainFrameBackingIsTiled): Added.
      
      (WebCore::RenderLayerCompositor::shouldCompositeOverflowControls):
      (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
      (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
      All of these checks for existence of a scrollingCoordinator should actually
      key off whether we're using tiled drawing at the root; they have nothing
      to do with threaded scrolling.
      
      * rendering/RenderLayerCompositor.h:
      
      * WebKitTestRunner/mac/PlatformWebViewMac.mm:
      (WTR::PlatformWebView::PlatformWebView):
      The existing tiled-drawing layout tests require threaded scrolling to be enabled.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      017ef58c
  25. 20 Sep, 2013 1 commit
    • simon.fraser@apple.com's avatar
      Scrollbars don't appear on long pages after r155660 · 0cdf36cc
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121714
      <rdar://problem/15042478>
      
      Reviewed by Beth Dakin.
      
      After r155660, we don't do any additional layouts when scrollbars are
      added or removed. That caused us to not enter the code that creates or
      destroys composting layers for scrollbars in RenderLayerCompositor, resulting
      in missing scrollbars.
      
      Fix by having ScrollView::updateScrollbars() call addedOrRemovedScrollbar()
      when a scrollbar was added or removed, which is overridden in FrameView
      to call through to RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars().
      
      Not testable since scrollbar layers aren't contained in layer tree dumps
      (to reduce diffs between platforms).
      
      * page/FrameView.cpp:
      (WebCore::FrameView::addedOrRemovedScrollbar): New function to tell the compositor
      that scrollbars changed.
      * page/FrameView.h:
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::setHasHorizontalScrollbar): Change the meaning of the return
      value to say if the scrollbar was added or removed. Add an out param that indicates
      whether the scrollbar change affects content size (not true for overlay scrollbars).
      (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
      (WebCore::ScrollView::updateScrollbars): Keep track of whether scrollbars were
      added or removed, and call addedOrRemovedScrollbar() if true.
      * platform/ScrollView.h:
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars): Call updateOverflowControlsLayers().
      (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
      * rendering/RenderLayerCompositor.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0cdf36cc
  26. 15 Sep, 2013 2 commits
    • akling@apple.com's avatar
      Restore two-pass mechanism for FrameView::updateEmbeddedObjects(). · a72ea588
      akling@apple.com authored
      <https://webkit.org/b/121380>
      
      Reviewed by Darin Adler.
      
      Restore the code to make a second pass over the embedded objects needing
      an update in case more objects were added to the set during the first pass.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a72ea588
    • akling@apple.com's avatar
      Get rid of ref-counting on RenderWidget. · 886b036c
      akling@apple.com authored
      <https://webkit.org/b/121357>
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Instead of RenderView tracking RenderWidgets, have FrameView track Widgets
      that are currently in the render tree.
      
      To protect ourselves during NPAPI tomfoolery, we now let RenderWidget hand
      out weak pointers through a createWeakPtr() method so call sites can monitor
      the renderer for deletion without having to take shared ownership.
      
      This works out quite nicely since instead of keeping a limping object alive
      for a little longer just so we can call methods on it (to accomplish nothing),
      we're forced to check right away if it's gone, and take immediate action.
      
      De-virtualized RenderObject::destroy() since it's no longer needed for
      RenderWidget to defer destruction.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::layout):
      (WebCore::FrameView::repaintFixedElementsAfterScrolling):
      
          Call updateWidgetPositions() on FrameView instead of RenderView.
      
      (WebCore::FrameView::updateEmbeddedObject):
      
          Turn null checking of embedded object's element backpointer into an
          assertion. This will eventually go away completely once that renderer
          can return a HTMLFrameOwnerElement&.
      
          Use WeakPtr to check for renderer destruction following the call out
          to updateWidget().
      
      (WebCore::FrameView::updateEmbeddedObjects):
      
          Slap a WidgetHierarchyUpdatesSuspensionScope guard on this function
          to defer Widget updates until all the updateEmbeddedObject calls are
          done. This avoids RenderWidget::setWidget() having to handle 'this'
          disappearing from underneath.
      
          Also use a ListHashSet with a null sentinel to avoid looping forever.
      
      (WebCore::FrameView::performPostLayoutTasks):
      
          Only call updateEmbeddedObjects() once since that function no longer
          operates in chunks.
      
      (WebCore::FrameView::notifyWidgetsInAllFrames):
      
          Call notifyWidgets() on FrameView instead of RenderView.
      
      (WebCore::FrameView::didAddWidgetToRenderTree):
      (WebCore::FrameView::willRemoveWidgetFromRenderTree):
      
          Added. These are called by RenderWidget when a Widget is being
          added or removed from a RenderWidget.
      
      (WebCore::collectWidgets):
      
          Helper to collect raw Widget pointers into a Vector and ref them.
      
      (WebCore::FrameView::updateWidgetPositions):
      
          Moved here from RenderView. This function holds a ref on all the
          attached Widgets and calls RenderWidget::updateWidgetPosition() on
          their corresponding renderers.
      
      (WebCore::FrameView::notifyWidgets):
      
          Moved here from RenderView. Holds a ref on all the widgets while
          calling Widget::notifyWidget() on each one.
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::scrollTo):
      
          Call updateWidgetPositions() on FrameView instead of RenderView.
      
      * rendering/RenderObject.h:
      
          De-virtualized destroy().
      
      * rendering/RenderView.cpp:
      * rendering/RenderView.h:
      
          Moved a bunch of things to FrameView. Made protected section private
          since nothing inherits from RenderView.
      
      * rendering/RenderWidget.h:
      (WebCore::RenderWidget::createWeakPtr):
      
          Added a WeakPtr factory for clients that want to monitor this object
          for destruction.
      
      * rendering/RenderWidget.cpp:
      (WebCore::RenderWidget::RenderWidget):
      (WebCore::RenderWidget::willBeDestroyed):
      (WebCore::RenderWidget::~RenderWidget):
      
          Removed ref counting.
          Removed registration with RenderView in ctor/willBeDestroyed.
      
      (WebCore::RenderWidget::setWidgetGeometry):
      
          Monitor the RenderWidget itself through a WeakPtr and check on it
          after each step that we're still alive. In that case just bail out.
      
      (WebCore::RenderWidget::setWidget):
      
          Register the incoming/outgoing Widget with the FrameView.
          Use a WeakPtr to check on 'this' after updateWidgetGeometry().
      
      (WebCore::RenderWidget::updateWidgetPosition):
      
          Use a WeakPtr to check on 'this' after updateWidgetGeometry().
      
      * GNUmakefile.list.am:
      * rendering/RenderWidgetProtector.h:
      
          Removed.
      
      Source/WTF:
      
      * wtf/WeakPtr.h:
      (WTF::WeakPtr::operator!):
      
          Add operator! to WeakPtr.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      886b036c
  27. 11 Sep, 2013 1 commit
    • akling@apple.com's avatar
      FrameView: Tighten widget handling code. · c35b66f7
      akling@apple.com authored
      <https://webkit.org/b/121155>
      
      Reviewed by Antti Koivisto.
      
      Harden typing in this code to work with RenderEmbeddedObject& instead of RenderObject*.
      Functions and members renamed to reflect that they only deal with embedded objects.
      
      * html/HTMLPlugInImageElement.h:
      (WebCore::toHTMLPlugInImageElement):
      
          Add a toHTMLPlugInImageElement that takes an Element&.
      
      * html/HTMLTagNames.in:
      
          Generate type helpers for applet and embed elements.
      
      * page/FrameView.h:
      * page/FrameView.cpp:
      (WebCore::FrameView::addEmbeddedObjectToUpdate):
      (WebCore::FrameView::removeEmbeddedObjectToUpdate):
      (WebCore::FrameView::updateEmbeddedObjects):
      (WebCore::FrameView::updateEmbeddedObject):
      
          Re-ordered this function in early return style. Change locals into references.
      
      * rendering/RenderEmbeddedObject.cpp:
      (WebCore::RenderEmbeddedObject::~RenderEmbeddedObject):
      (WebCore::RenderEmbeddedObject::layout):
      * rendering/RenderSnapshottedPlugIn.cpp:
      (WebCore::RenderSnapshottedPlugIn::layout):
      
          Updated for new FrameView function signatures.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c35b66f7
  28. 08 Sep, 2013 4 commits
  29. 06 Sep, 2013 1 commit
    • akling@apple.com's avatar
      Include Frame.h in fewer places. · 4d3b9899
      akling@apple.com authored
      <https://webkit.org/b/120868>
      
      Reviewed by Anders Carlsson.
      
      - Move JSMainThreadExecState::instrumentFunctionCall() to a separate header.
        This avoids including InspectorInstrumentation.h from JSMainThreadExecState.h
        which caused all JS and Objective-C bindings to depend on Frame.h
      
      - Out-of-line the three methods on FrameView that were operating on Frames.
        Most of the call sites were in FrameView.cpp so they will still get inlined.
      
      - Removed GenericBinding.h, nothing was using it anyway.
      
      After this, touching Frame.h and doing a (debug) rebuild goes from 9m30 to 3m30
      on my laptop.
      
      * GNUmakefile.list.am:
      * WebCore.exp.in:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/generic/GenericBinding.h: Removed.
      * bindings/js/JSCallbackData.cpp:
      * bindings/js/JSEventListener.cpp:
      * bindings/js/JSMainThreadExecState.h:
      * bindings/js/JSMainThreadExecStateInstrumentation.h: Added.
      (WebCore::JSMainThreadExecState::instrumentFunctionCall):
      * bindings/js/JSMutationCallback.cpp:
      * bindings/js/ScheduledAction.cpp:
      * css/DeprecatedStyleBuilder.cpp:
      * css/ElementRuleCollector.cpp:
      * css/MediaQueryEvaluator.cpp:
      * css/SelectorChecker.h:
      * dom/StyledElement.cpp:
      * html/HTMLPlugInImageElement.cpp:
      * inspector/InspectorPageAgent.h:
      * inspector/NetworkResourcesData.h:
      * inspector/PageRuntimeAgent.cpp:
      * loader/cache/CachedImage.cpp:
      * page/FrameView.cpp:
      (WebCore::FrameView::renderView):
      (WebCore::FrameView::mapFromLayoutToCSSUnits):
      (WebCore::FrameView::mapFromCSSToLayoutUnits):
      * page/FrameView.h:
      * page/TouchAdjustment.cpp:
      * rendering/RenderBoxModelObject.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayerCompositor.h:
      * rendering/RenderText.cpp:
      * svg/graphics/SVGImage.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d3b9899