2012-02-27 Mihnea Ovidenie [CSSRegions]-webkit-flow-into initial value should be none instead of auto https://bugs.webkit.org/show_bug.cgi?id=79670 Reviewed by Simon Fraser. No new tests, modified expectations for existing tests. * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseFlowThread): * css/CSSStyleApplyProperty.cpp: (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 2012-02-27 Ojan Vafai implement display: -webkit-inline-flexbox https://bugs.webkit.org/show_bug.cgi?id=77772 Reviewed by David Hyatt. Tests: css3/flexbox/inline-flexbox-expected.html css3/flexbox/inline-flexbox.html * rendering/style/RenderStyle.h: -Add INLINE_FLEXBOX to the list of replaced display types. -Restructure the isDisplayInline methods to avoid code duplication. 2012-02-27 Ken Buchanan Absolute positioned elements with Inline Relative Positioned Container are not layout correctly https://bugs.webkit.org/show_bug.cgi?id=78713 Reviewed by David Hyatt. Test: fast/css/positioned-in-relative-position-inline-crash.html Patch originally by Robin Cao. This is a regression. r104183 changes containingBlock() so that it returns the container of an anonymous block for positioned objects, not the anonymous block itself. We should change markContainingBlocksForLayout() to match the change in containingBlock(). * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): 2012-02-27 Pavel Feldman Web Inspector: move record formatting into the timeline presentation model. https://bugs.webkit.org/show_bug.cgi?id=79684 Drive-by: fix for stop recording in reset; cpu time restored. Reviewed by Vsevolod Vlasov. * inspector/front-end/TimelineModel.js: (WebInspector.TimelineModel.prototype.reset): * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane.prototype.update.updateBoundaries): (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._rootRecord): (WebInspector.TimelinePanel.prototype._updateRecordsCounter): (WebInspector.TimelinePanel.prototype._repopulateRecords): (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): (WebInspector.TimelinePanel.prototype._resetPanel): (WebInspector.TimelinePanel.prototype._refresh): (WebInspector.TimelinePanel.prototype._updateBoundaries): (WebInspector.TimelinePanel.prototype._filterRecords): (WebInspector.TimelinePanel.prototype.revealRecordAt): (WebInspector.TimelinePanel.prototype._showPopover): (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition): (WebInspector.TimelineCalculator.prototype.updateBoundaries): (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages): (WebInspector.TimelineRecordGraphRow): (WebInspector.TimelineRecordGraphRow.prototype.update): * inspector/front-end/TimelinePresentationModel.js: (WebInspector.TimelinePresentationModel): (WebInspector.TimelinePresentationModel.prototype.createFormattedRecord): (WebInspector.TimelinePresentationModel.prototype._createRootRecord): (WebInspector.TimelinePresentationModel.prototype.rootRecord): (WebInspector.TimelinePresentationModel.prototype.reset): (WebInspector.TimelinePresentationModel.prototype._findParentRecord): (WebInspector.TimelinePresentationModel.prototype._resetWindow): (WebInspector.TimelinePresentationModel.prototype._addCategory): (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility): (WebInspector.TimelinePresentationModel.prototype.get _recordStyles): (WebInspector.TimelinePresentationModel.Record): (WebInspector.TimelinePresentationModel.Record.prototype.get lastChildEndTime): (WebInspector.TimelinePresentationModel.Record.prototype.set lastChildEndTime): (WebInspector.TimelinePresentationModel.Record.prototype.get selfTime): (WebInspector.TimelinePresentationModel.Record.prototype.set selfTime): (WebInspector.TimelinePresentationModel.Record.prototype.get cpuTime): (WebInspector.TimelinePresentationModel.Record.prototype.isLong): (WebInspector.TimelinePresentationModel.Record.prototype.get children): (WebInspector.TimelinePresentationModel.Record.prototype.containsTime): (WebInspector.TimelinePresentationModel.Record.prototype._generateAggregatedInfo): (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent): (WebInspector.TimelinePresentationModel.Record.prototype._refreshDetails): (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails): (WebInspector.TimelinePresentationModel.Record.prototype._linkifyLocation): (WebInspector.TimelinePresentationModel.Record.prototype._linkifyCallFrame): (WebInspector.TimelinePresentationModel.Record.prototype._linkifyTopCallFrame): (WebInspector.TimelinePresentationModel.Record.prototype._linkifyScriptLocation): (WebInspector.TimelinePresentationModel.Record.prototype.calculateAggregatedStats): (WebInspector.TimelinePresentationModel.Record.prototype.get aggregatedStats): (WebInspector.TimelinePresentationModel.PopupContentHelper): (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._createCell): (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendTextRow): (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendElementRow): (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendStackTrace): * inspector/front-end/timelinePanel.css: (.timeline-graph-bar.cpu): 2012-02-27 Vsevolod Vlasov Web Inspector: Scripts navigator overlay should not consume mouse actions. https://bugs.webkit.org/show_bug.cgi?id=79674 Reviewed by Pavel Feldman. * inspector/front-end/Panel.js: (WebInspector.Panel.prototype.registerShortcut): (WebInspector.Panel.prototype.unregisterShortcut): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._editorClosed): (WebInspector.ScriptsPanel.prototype._editorSelected): (WebInspector.ScriptsPanel.prototype._fileSelected): (WebInspector.ScriptsPanel.prototype._escDownWhileNavigatorOverlayOpen): (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay): (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay): (WebInspector.ScriptsPanel.prototype._navigatorOverlayWasShown): * inspector/front-end/SidebarOverlay.js: (WebInspector.SidebarOverlay): (WebInspector.SidebarOverlay.prototype.show): (WebInspector.SidebarOverlay.prototype._containingElementFocused): (WebInspector.SidebarOverlay.prototype.position): (WebInspector.SidebarOverlay.prototype.hide): (WebInspector.SidebarOverlay.prototype._setWidth): * inspector/front-end/dialog.css: (.go-to-line-dialog button:active): * inspector/front-end/scriptsPanel.css: (#scripts-editor-view .sidebar-overlay): * inspector/front-end/splitView.css: (.split-view-resizer): (.sidebar-overlay): (.sidebar-overlay-resizer): 2012-02-27 Philippe Normand [GStreamer] 0.11 support in MediaPlayerPrivateGStreamer https://bugs.webkit.org/show_bug.cgi?id=77089 Reviewed by Martin Robinson. Basic port to GStreamer 0.11 APIs. This patch excludes the video painting changes and the GStreamerGWorld changes which are handled in two other patches (bugs 77087 and 77088). * GNUmakefile.list.am: Add GStreamerVersioning files to the build. * Source/WebCore/PlatformEfl.cmake: Ditto. * Source/WebCore/Target.pri: Ditto. * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: (WTF::GstElement): (WTF::GstPad): (WTF::GstPadTemplate): (WTF::GstTask): * platform/graphics/gstreamer/GStreamerVersioning.cpp: Added. (webkit_gst_object_ref_sink): (webkit_gst_element_get_pad_caps): * platform/graphics/gstreamer/GStreamerVersioning.h: Added. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::isAvailable): (WebCore::MediaPlayerPrivateGStreamer::duration): (WebCore::MediaPlayerPrivateGStreamer::naturalSize): 2012-02-27 Philip Rogers Stop recomputing SVG path data twice during layout https://bugs.webkit.org/show_bug.cgi?id=79672 Reviewed by Nikolas Zimmermann. * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::layout): 2012-02-27 Timothy Hatcher Updated for WebKit2 string changes. https://webkit.org/b/79649 Reviewed by John Sullivan. * English.lproj/Localizable.strings: Updated. 2012-02-27 Pavel Feldman Web Inspector: Ctrl+K should not zoom in https://bugs.webkit.org/show_bug.cgi?id=79676 Reviewed by Vsevolod Vlasov. * inspector/front-end/inspector.js: (WebInspector.documentKeyDown): 2012-02-27 Pavel Feldman Web Inspector: extract TimelineModel and TimelinePresentationModel into their own files. https://bugs.webkit.org/show_bug.cgi?id=79675 Reviewed by Vsevolod Vlasov. * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/compile-front-end.sh: * inspector/front-end/TimelineAgent.js: Removed. * inspector/front-end/TimelineModel.js: Added. (WebInspector.TimelineModel): (WebInspector.TimelineModel.prototype.startRecord): (WebInspector.TimelineModel.prototype.stopRecord): (WebInspector.TimelineModel.prototype.get records): (WebInspector.TimelineModel.prototype._onRecordAdded): (WebInspector.TimelineModel.prototype._addRecord): (WebInspector.TimelineModel.prototype._loadNextChunk): (WebInspector.TimelineModel.prototype._loadFromFile): (WebInspector.TimelineModel.prototype._loadFromFile.onError): (WebInspector.TimelineModel.prototype._saveToFile): (WebInspector.TimelineModel.prototype._reset): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.get _recordStyles): (WebInspector.TimelinePanel.prototype._createEventDivider): (WebInspector.TimelinePanel.prototype._findParentRecord): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): (WebInspector.TimelinePanel.prototype._refreshRecords): (WebInspector.TimelinePanel.FormattedRecord): (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): * inspector/front-end/TimelinePresentationModel.js: Added. (WebInspector.TimelinePresentationModel): (WebInspector.TimelinePresentationModel.prototype.reset): (WebInspector.TimelinePresentationModel.prototype.get categories): (WebInspector.TimelinePresentationModel.prototype.addCategory): (WebInspector.TimelinePresentationModel.prototype.setWindowPosition): (WebInspector.TimelinePresentationModel.prototype.setWindowIndices): (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: 2012-02-27 Alexander Pavlov Web Inspector: [Styles] Allow adding CSS properties anywhere in the style declaration, not only at the end https://bugs.webkit.org/show_bug.cgi?id=79662 Reviewed by Pavel Feldman. * inspector/front-end/CSSStyleModel.js: (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty): (WebInspector.CSSProperty.prototype.setText): (WebInspector.CSSProperty.prototype.setValue): * inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane.prototype._applyUserInput): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertiesSection): (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick): (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): (WebInspector.StylePropertyTreeElement.prototype): (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection): (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert): 2012-02-27 Pavel Feldman [Shadow]: Expose one ShadowRoot in the Elements panel (under experiment flag) https://bugs.webkit.org/show_bug.cgi?id=78202 Reviewed by Yury Semikhatsky. * dom/ShadowTree.cpp: (WebCore::ShadowTree::pushShadowRoot): (WebCore::ShadowTree::popShadowRoot): * inspector/Inspector.json: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::unbind): (WebCore::InspectorDOMAgent::assertEditableNode): (WebCore::InspectorDOMAgent::assertEditableElement): (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): (WebCore::InspectorDOMAgent::setAttributeValue): (WebCore::InspectorDOMAgent::setAttributesAsText): (WebCore::InspectorDOMAgent::removeAttribute): (WebCore::InspectorDOMAgent::removeNode): (WebCore::InspectorDOMAgent::setOuterHTML): (WebCore::InspectorDOMAgent::setNodeValue): (WebCore::InspectorDOMAgent::moveTo): (WebCore::InspectorDOMAgent::buildObjectForNode): (WebCore::InspectorDOMAgent::didPushShadowRoot): (WebCore): (WebCore::InspectorDOMAgent::willPopShadowRoot): * inspector/InspectorDOMAgent.h: (WebCore): (InspectorDOMAgent): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPushShadowRootImpl): (WebCore): (WebCore::InspectorInstrumentation::willPopShadowRootImpl): * inspector/InspectorInstrumentation.h: (WebCore): (InspectorInstrumentation): (WebCore::InspectorInstrumentation::didPushShadowRoot): (WebCore::InspectorInstrumentation::willPopShadowRoot): * inspector/PageConsoleAgent.cpp: (WebCore::PageConsoleAgent::addInspectedNode): * inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.DOMNode.prototype.hasChildNodes): (WebInspector.DOMNode.prototype.isInShadowTree): (WebInspector.DOMNode.prototype._insertChild): (WebInspector.DOMNode.prototype._setChildrenPayload): (WebInspector.DOMDocument): (WebInspector.DOMAgent.prototype._setDetachedRoot): (WebInspector.DOMAgent.prototype._shadowRootPopped): (WebInspector.DOMDispatcher.prototype.childNodeRemoved): (WebInspector.DOMDispatcher.prototype.shadowRootPushed): (WebInspector.DOMDispatcher.prototype.shadowRootPopped): * inspector/front-end/ElementsTreeOutline.js: * inspector/front-end/MemoryStatistics.js: * inspector/front-end/Settings.js: (WebInspector.ExperimentsSettings): * inspector/front-end/inspector.css: (.webkit-html-tag.shadow, .webkit-html-fragment.shadow): 2012-02-27 Andrey Kosyakov Web Inspector: [refactoring] remove dependencies from TimelinePanel from most of FormattedRecord https://bugs.webkit.org/show_bug.cgi?id=79665 Reviewed by Pavel Feldman. * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): (WebInspector.TimelinePanel.FormattedRecord): (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation): (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame): (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyTopCallFrame): (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyScriptLocation): (WebInspector.TimelinePanel.PopupContentHelper): (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace): 2012-02-27 Yury Semikhatsky Web Inspector: reveal corresponding timeline record when user clicks on memory graph https://bugs.webkit.org/show_bug.cgi?id=79669 When user clicks on DOM counter graph corresponding timeline record is revealed in timelime grid and all its ancestors are expanded. Reviewed by Pavel Feldman. * inspector/front-end/MemoryStatistics.js: (WebInspector.MemoryStatistics.prototype._onClick): * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane.prototype.update): (WebInspector.HeapGraph.prototype.update): (WebInspector.HeapGraph.prototype._clear): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.revealRecordAt.recordFinder): (WebInspector.TimelinePanel.prototype.revealRecordAt): (WebInspector.TimelinePanel.prototype._refreshRecords): (WebInspector.TimelinePanel.forAllRecords): (WebInspector.TimelinePanel.FormattedRecord.prototype.containsTime): 2012-02-27 Ilya Tikhonovsky Unreviewed single line fix for r108983. * inspector/front-end/DetailedHeapshotView.js: (WebInspector.DetailedHeapshotView.prototype.willHide): 2012-02-27 Yury Semikhatsky Web Inspector: repaint counter graphs when timeline splitter moves https://bugs.webkit.org/show_bug.cgi?id=79644 Immediately refresh timeline panel on splitter move. Reviewed by Pavel Feldman. * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._splitterDragging): 2012-02-27 Carlos Garcia Campos Unreviewed. Fix make distcheck. * GNUmakefile.am: Add missing files. * GNUmakefile.list.am: Ditto. 2012-02-27 Patrick Gansterer [CMake] Build fix after r108709. * CMakeLists.txt: Move DOMWindowSVG.idl to the other IDL files. 2012-02-27 Ilya Tikhonovsky Web Inspector: [chromium] Profiles - Tooltip with object/property types stays on screen when another tab selected https://bugs.webkit.org/show_bug.cgi?id=79654 Reviewed by Yury Semikhatsky. * inspector/front-end/DetailedHeapshotView.js: (WebInspector.DetailedHeapshotView.prototype.willHide): 2012-02-27 Tor Arne Vestbø [Qt] Remove page/PageSupplement.h from WebCore's Target.pri The file itself was removed in r108958. Reviewed by Kenneth Rohde Christiansen. * Target.pri: 2012-02-27 Tor Arne Vestbø [Qt] Use USE() macro instead of ENABLE() for using the Qt image decoder Reviewed by Kenneth Rohde Christiansen.. * Target.pri: * WebCore.pri: * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding): * platform/image-decoders/ImageDecoder.h: (WebCore::ImageFrame::getAddr): (ImageFrame): * platform/image-decoders/qt/ImageFrameQt.cpp: (WebCore): (WebCore::ImageFrame::asNewNativeImage): 2012-02-27 MORITA Hajime Removing
    ,
  • inside shadow DOM triggers assertion in updateListMarkerNumbers https://bugs.webkit.org/show_bug.cgi?id=79630 Reviewed by Ryosuke Niwa. This problem was caused by the inconsistent detach order of DOM tree where Element::detach() called ContainerNode::detach() before shadow tree is detached. This resulted the renderer of the element being destroyed even if its children, each of which came from an element in the shadow tree, are alive. In principle, child renderers should be destroyed before its parent. This change aligns the detach order with the attach order. The shadow tree is now deatched before parent's ContainerNode::detach() is called. Test: fast/dom/shadow/shadow-ul-li.html * dom/Element.cpp: (WebCore::Element::detach): 2012-02-27 Keishi Hattori Color input type should be clickable through keyboard https://bugs.webkit.org/show_bug.cgi?id=79629 Reviewed by Kent Tamura. Introduced BaseClickableWithKeyInputType that represents an input type that can be clicked by pressing space/return keys. ColorInputType, FileInputType directly inherit it because it doesn't want the other methods(like appendFormData) in BaseButtonInputType. * CMakeLists.txt: Added BaseClickableWithKeyInputType.cpp * GNUmakefile.list.am: Added BaseClickableWithKeyInputType.{cpp,h} * Target.pri: Added BaseClickableWithKeyInputType.{cpp,h} * WebCore.gypi: Added BaseClickableWithKeyInputType.{cpp,h} * WebCore.vcproj/WebCore.vcproj: Added BaseClickableWithKeyInputType.{cpp,h} * WebCore.xcodeproj/project.pbxproj: Added BaseClickableWithKeyInputType.{cpp,h} * html/BaseButtonInputType.cpp: * html/BaseButtonInputType.h: (WebCore::BaseButtonInputType::BaseButtonInputType): Inherits BaseClickableWithKeyInputType now. (BaseButtonInputType): * html/BaseCheckableInputType.cpp: Changed comment. * html/BaseClickableWithKeyInputType.cpp: (WebCore): (WebCore::BaseClickableWithKeyInputType::handleKeydownEvent): Moved from BaseButtonInputType (WebCore::BaseClickableWithKeyInputType::handleKeypressEvent): Moved from BaseButtonInputType (WebCore::BaseClickableWithKeyInputType::handleKeyupEvent): Moved from BaseButtonInputType (WebCore::BaseClickableWithKeyInputType::accessKeyAction): Moved from BaseButtonInputType * html/BaseClickableWithKeyInputType.h: (WebCore): (BaseClickableWithKeyInputType): Input type that can be clicked by pressing space/return keys. (WebCore::BaseClickableWithKeyInputType::BaseClickableWithKeyInputType): * html/ColorInputType.h: (WebCore::ColorInputType::ColorInputType): Inherits BaseClickableWithKeyInputType now. * html/FileInputType.cpp: (WebCore::FileInputType::FileInputType): * html/FileInputType.h: (FileInputType): Inherits BaseClickableWithKeyInputType now. * html/RangeInputType.cpp: Changed comment. (WebCore): 2012-02-27 Keishi Hattori Add missing include to ColorInputType.cpp https://bugs.webkit.org/show_bug.cgi?id=79632 Reviewed by Kent Tamura. * html/ColorInputType.cpp: Include ShadowTree.h 2012-02-27 Andrey Kosyakov Use built-in bind in ExtensionAPI.js Web Inspector: [Extensions API] get rid of custom bind() in favor of built-in https://bugs.webkit.org/show_bug.cgi?id=79570 Reviewed by Pavel Feldman. * inspector/front-end/ExtensionAPI.js: (injectedExtensionAPI.EventSinkImpl.prototype.addListener): (injectedExtensionAPI): (injectedExtensionAPI.Panels.prototype.create): (injectedExtensionAPI.AuditResultImpl): (injectedExtensionAPI.ExtensionServerClient): 2012-02-21 Pavel Podivilov Web Inspector: get rid of RawSourceCode.sourceMapping getter. https://bugs.webkit.org/show_bug.cgi?id=79461 Reviewed by Yury Semikhatsky. * inspector/front-end/BreakpointManager.js: (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded): (WebInspector.BreakpointManager.prototype.setBreakpoint): (WebInspector.BreakpointManager.prototype._materializeBreakpoint): (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged): * inspector/front-end/ConsoleMessage.js: (WebInspector.ConsoleMessageImpl.prototype.get location): * inspector/front-end/DebuggerPresentationModel.js: (WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation): (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes): (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged): (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged): (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages): (WebInspector.DebuggerPresentationModel.prototype._restoreExecutionLine): (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded): (WebInspector.DebuggerPresentationModel.prototype.continueToLine): (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): (WebInspector.DebuggerPresentationModel.prototype._debuggerReset): (WebInspector.PresentationCallFrame.prototype.uiLocation): (WebInspector.DebuggerPresentationModel.CallFramePlacard): (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard): (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update): (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent): (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent): (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor): (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode): (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset): (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor): * inspector/front-end/RawSourceCode.js: (WebInspector.RawSourceCode.prototype.rawLocationToUILocation): (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation): (WebInspector.RawSourceCode.prototype.uiSourceCodeList): (WebInspector.RawSourceCode.prototype._saveSourceMapping): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._updateCallFrame): * inspector/front-end/ScriptsSearchScope.js: (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor): 2012-02-27 Mihnea Ovidenie [CSSRegions]Implement NamedFlow::getRegionsByContentNode https://bugs.webkit.org/show_bug.cgi?id=77746 Reviewed by David Hyatt. Tests: fast/regions/get-regions-by-content-node-horiz-bt.html fast/regions/get-regions-by-content-node-horiz-tb.html fast/regions/get-regions-by-content-node-vert-lr.html fast/regions/get-regions-by-content-node-vert-rl.html fast/regions/get-regions-by-content-node.html fast/regions/get-regions-by-content-node2.html * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * dom/Node.cpp: (WebCore::Node::removeCachedRegionNodeList): (WebCore): (WebCore::Node::getRegionsByContentNode): (WebCore::NodeListsNodeData::invalidateCaches): (WebCore::NodeListsNodeData::isEmpty): * dom/Node.h: (WebCore): (Node): * dom/NodeRareData.h: (NodeListsNodeData): * dom/RegionNodeList.cpp: (WebCore): (WebCore::RegionNodeList::RegionNodeList): (WebCore::RegionNodeList::~RegionNodeList): (WebCore::RegionNodeList::nodeMatches): * dom/RegionNodeList.h: (WebCore): (RegionNodeList): (WebCore::RegionNodeList::create): * dom/WebKitNamedFlow.cpp: (WebCore::WebKitNamedFlow::getRegionsByContentNode): (WebCore): * dom/WebKitNamedFlow.h: (WebCore): (WebKitNamedFlow): * dom/WebKitNamedFlow.idl: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::regionInRange): (WebCore): (WebCore::RenderFlowThread::objectInFlowRegion): * rendering/RenderFlowThread.h: * rendering/RenderRegion.h: (WebCore::RenderRegion::flowThread): 2012-02-27 Yury Semikhatsky Web Inspector: counter graphs should resize after console showing https://bugs.webkit.org/show_bug.cgi?id=79640 Invoke Panel.doResize after showing drawer. Reviewed by Pavel Feldman. * inspector/front-end/Drawer.js: (WebInspector.Drawer.prototype.show.animationFinished): (WebInspector.Drawer.prototype.show): 2012-02-27 Dan Beam Web Inspector: Close TabbedPanes on middle click of tab handle https://bugs.webkit.org/show_bug.cgi?id=79518 Reviewed by Pavel Feldman. * inspector/front-end/TabbedPane.js: (WebInspector.TabbedPaneTab.prototype._createTabElement): (WebInspector.TabbedPaneTab.prototype._tabClicked): 2012-02-26 Yury Semikhatsky Web Inspector: crash in fake workers https://bugs.webkit.org/show_bug.cgi?id=79637 Notify front-end about worker creation/destruction synchronously instead of posting a task. Reviewed by Pavel Feldman. * inspector/InspectorAgent.cpp: (WebCore): (WebCore::InspectorAgent::didCreateWorker): (WebCore::InspectorAgent::didDestroyWorker): * inspector/InspectorAgent.h: (InspectorAgent): 2012-02-26 Adam Barth Unreviewed. Fix some warnings in the build from referencing the non-existent websockets directory. * WebCore.gyp/WebCore.gyp: 2012-02-26 Shinya Kawanaka Rename ShadowRootList to ShadowTree. https://bugs.webkit.org/show_bug.cgi?id=79342 Reviewed by Hajime Morita. This patch renames ShadowRootList ot ShadowTree. No new tests, no change in behavior. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.exp.in: * WebCore.gypi: * WebCore.xcodeproj/project.pbxproj: * dom/DOMAllInOne.cpp: * dom/Document.cpp: (WebCore::Document::buildAccessKeyMap): * dom/Element.cpp: (WebCore::Element::willRemove): (WebCore::Element::insertedIntoDocument): (WebCore::Element::removedFromDocument): (WebCore::Element::insertedIntoTree): (WebCore::Element::removedFromTree): (WebCore::Element::attach): (WebCore::Element::detach): (WebCore::Element::recalcStyle): (WebCore::Element::hasShadowRoot): (WebCore::Element::shadowTree): (WebCore::Element::setShadowRoot): (WebCore::Element::ensureShadowRoot): (WebCore::Element::removeShadowRoot): (WebCore::Element::childrenChanged): * dom/Element.h: (WebCore): (Element): * dom/ElementRareData.h: (ElementRareData): (WebCore::ElementRareData::~ElementRareData): * dom/Node.cpp: (WebCore::oldestShadowRoot): * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::NodeRenderingContext): (WebCore::NodeRenderingContext::hostChildrenChanged): (WebCore::NodeRenderingContext::shouldCreateRenderer): * dom/NodeRenderingContext.h: (WebCore): * dom/ShadowRoot.cpp: (WebCore::ShadowRoot::tree): (WebCore::ShadowRoot::attach): * dom/ShadowRoot.h: (WebCore): (ShadowRoot): * dom/ShadowTree.cpp: Renamed from Source/WebCore/dom/ShadowRootList.cpp. (WebCore): (WebCore::ShadowTree::ShadowTree): (WebCore::ShadowTree::~ShadowTree): (WebCore::ShadowTree::pushShadowRoot): (WebCore::ShadowTree::popShadowRoot): (WebCore::ShadowTree::insertedIntoDocument): (WebCore::ShadowTree::removedFromDocument): (WebCore::ShadowTree::insertedIntoTree): (WebCore::ShadowTree::removedFromTree): (WebCore::ShadowTree::willRemove): (WebCore::ShadowTree::attach): (WebCore::ShadowTree::detach): (WebCore::ShadowTree::insertionPointFor): (WebCore::ShadowTree::isSelectorActive): (WebCore::ShadowTree::reattach): (WebCore::ShadowTree::childNeedsStyleRecalc): (WebCore::ShadowTree::needsStyleRecalc): (WebCore::ShadowTree::recalcShadowTreeStyle): (WebCore::ShadowTree::needsReattachHostChildrenAndShadow): (WebCore::ShadowTree::hostChildrenChanged): (WebCore::ShadowTree::setNeedsReattachHostChildrenAndShadow): (WebCore::ShadowTree::reattachHostChildrenAndShadow): (WebCore::ShadowTree::ensureSelector): * dom/ShadowTree.h: Renamed from Source/WebCore/dom/ShadowRootList.h. (WebCore): (ShadowTree): (WebCore::ShadowTree::hasShadowRoot): (WebCore::ShadowTree::youngestShadowRoot): (WebCore::ShadowTree::oldestShadowRoot): (WebCore::ShadowTree::selector): (WebCore::ShadowTree::clearNeedsReattachHostChildrenAndShadow): (WebCore::ShadowTree::host): * dom/TreeScopeAdopter.cpp: (WebCore::shadowRootFor): * html/ColorInputType.cpp: (WebCore::ColorInputType::createShadowSubtree): (WebCore::ColorInputType::shadowColorSwatch): * html/FileInputType.cpp: (WebCore::FileInputType::createShadowSubtree): (WebCore::FileInputType::multipleAttributeChanged): * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::findMainSummary): * html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::shadowSelect): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaControls): (WebCore::HTMLMediaElement::hasMediaControls): * html/HTMLSummaryElement.cpp: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::innerTextElement): (WebCore::HTMLTextAreaElement::updatePlaceholderText): * html/InputType.cpp: (WebCore::InputType::destroyShadowSubtree): * html/RangeInputType.cpp: (WebCore::RangeInputType::handleMouseDownEvent): (WebCore::RangeInputType::createShadowSubtree): * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createShadowSubtree): (WebCore::TextFieldInputType::updatePlaceholderText): * html/ValidationMessage.cpp: (WebCore::ValidationMessage::deleteBubbleTree): * html/shadow/HTMLContentElement.cpp: (WebCore::HTMLContentElement::attach): (WebCore::HTMLContentElement::detach): (WebCore::HTMLContentElement::parseAttribute): * html/shadow/SliderThumbElement.cpp: (WebCore::sliderThumbElementOf): (WebCore::RenderSliderContainer::layout): (WebCore::trackLimiterElementOf): * page/FocusController.cpp: (WebCore::shadowRoot): * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::uploadButton): * svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::updateReferencedText): (WebCore::SVGTRefElement::detachTarget): * testing/Internals.cpp: (WebCore::Internals::ensureShadowRoot): (WebCore::Internals::youngestShadowRoot): (WebCore::Internals::oldestShadowRoot): 2012-02-26 Adam Barth Extract Supplementable base class from Page and Navigator https://bugs.webkit.org/show_bug.cgi?id=79624 Reviewed by Hajime Morita. We'll use this pattern again soon for ScriptExecutionContext. * CMakeLists.txt: * GNUmakefile.list.am: * Modules/gamepad/NavigatorGamepad.cpp: (WebCore::NavigatorGamepad::from): * Modules/gamepad/NavigatorGamepad.h: * Modules/geolocation/NavigatorGeolocation.cpp: (WebCore::NavigatorGeolocation::from): * Modules/geolocation/NavigatorGeolocation.h: * Modules/mediastream/NavigatorMediaStream.cpp: (WebCore::NavigatorMediaStream::webkitGetUserMedia): * Modules/mediastream/UserMediaController.cpp: (WebCore::provideUserMediaTo): * Modules/mediastream/UserMediaController.h: (WebCore::UserMediaController::from): * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * dom/DeviceMotionController.cpp: (WebCore::provideDeviceMotionTo): * dom/DeviceMotionController.h: (WebCore::DeviceMotionController::from): * dom/DeviceOrientationController.cpp: (WebCore::provideDeviceOrientationTo): * dom/DeviceOrientationController.h: (WebCore): (WebCore::DeviceOrientationController::from): * notifications/NotificationController.cpp: (WebCore::provideNotification): * notifications/NotificationController.h: (WebCore): (WebCore::NotificationController::from): * page/DOMWindow.cpp: (WebCore::DOMWindow::page): (WebCore): (WebCore::DOMWindow::addEventListener): (WebCore::DOMWindow::removeEventListener): (WebCore::DOMWindow::removeAllEventListeners): * page/DOMWindow.h: (WebCore): (DOMWindow): * page/Navigator.cpp: (WebCore): * page/Navigator.h: (Navigator): * page/NavigatorSupplement.cpp: Removed. * page/NavigatorSupplement.h: Removed. * page/Page.cpp: (WebCore): * page/Page.h: (Page): * page/PageSupplement.cpp: Removed. * page/PageSupplement.h: Removed. * page/SpeechInput.cpp: (WebCore::provideSpeechInputTo): * page/SpeechInput.h: (WebCore::SpeechInput::from): * platform/Supplementable.h: Added. (WebCore): (Supplement): (WebCore::Supplement::~Supplement): (WebCore::Supplement::provideTo): (WebCore::Supplement::from): (Supplementable): (WebCore::Supplementable::provideSupplement): (WebCore::Supplementable::requireSupplement): 2012-02-26 Hajime Morrita Move ChromeClient::showContextMenu() to ContextMenuClient https://bugs.webkit.org/show_bug.cgi?id=79427 Reviewed by Adam Barth. - Removed ChromeClient::showContextMenu(), Chrome::showContextMenu() - Added ContextMenuController::showContextMenuAt(), ContextMenuClient::showContextMenu() - Hided showContextMenu() behind ACCESSIBILITY_CONTEXT_MENUS This change localizes context menu related code and will make it easy to modularize CONTEXT_MENUS code. Refactoring. No new tests. * WebCore.exp.in: * accessibility/mac/WebAccessibilityObjectWrapper.mm: (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]): * loader/EmptyClients.h: (EmptyContextMenuClient): (WebCore::EmptyContextMenuClient::showContextMenu): * page/ContextMenuClient.h: (ContextMenuClient): * page/ContextMenuController.cpp: (WebCore): (WebCore::ContextMenuController::showContextMenuAt): * page/ContextMenuController.h: (ContextMenuController): * page/Chrome.cpp: * page/Chrome.h: (Chrome): * page/ChromeClient.h: (ChromeClient): 2012-02-26 Benjamin Poulain [Mac] Release localized Strings instead of AutoRelease https://bugs.webkit.org/show_bug.cgi?id=79552 Reviewed by Sam Weinig. By using the CoreFoundation API, we can release the memory as soon as the WTF::String is created. * WebCore.xcodeproj/project.pbxproj: * platform/mac/LocalizedStringsMac.cpp: Renamed from Source/WebCore/platform/mac/LocalizedStringsMac.mm. (WebCore): (WebCore::localizedString): 2012-02-26 Adam Barth ContextDestructionObserver should live in its own file https://bugs.webkit.org/show_bug.cgi?id=79619 Reviewed by Hajime Morita. WebKit prefers to have one class per file. (This patch is paying a build system hacking debt I incurred earlier.) * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * dom/ActiveDOMObject.cpp: (WebCore): * dom/ActiveDOMObject.h: (ActiveDOMObject): (WebCore::ActiveDOMObject::suspendIfNeededCalled): (WebCore::ActiveDOMObject::setPendingActivity): (WebCore::ActiveDOMObject::unsetPendingActivity): * dom/ContextDestructionObserver.cpp: Added. (WebCore): (WebCore::ContextDestructionObserver::ContextDestructionObserver): (WebCore::ContextDestructionObserver::~ContextDestructionObserver): (WebCore::ContextDestructionObserver::contextDestroyed): * dom/ContextDestructionObserver.h: Added. (WebCore): (ContextDestructionObserver): (WebCore::ContextDestructionObserver::scriptExecutionContext): * dom/DOMAllInOne.cpp: 2012-02-26 Dirk Schulze Cleanup of Adobes copyright text. The text got harmonized with copyright texts of other companies. Rubber stamped by. * css/CSSWrapShapes.cpp: * css/CSSWrapShapes.h: * css/WebKitCSSRegionRule.cpp: * css/WebKitCSSRegionRule.h: * css/WebKitCSSRegionRule.idl: * css/WebKitCSSShaderValue.cpp: * css/WebKitCSSShaderValue.h: * dom/WebKitNamedFlow.cpp: * dom/WebKitNamedFlow.h: * dom/WebKitNamedFlow.idl: * loader/cache/CachedShader.cpp: * loader/cache/CachedShader.h: * platform/graphics/filters/CustomFilterMesh.cpp: * platform/graphics/filters/CustomFilterMesh.h: * platform/graphics/filters/CustomFilterNumberParameter.h: * platform/graphics/filters/CustomFilterOperation.cpp: * platform/graphics/filters/CustomFilterOperation.h: * platform/graphics/filters/CustomFilterParameter.h: * platform/graphics/filters/CustomFilterProgram.cpp: * platform/graphics/filters/CustomFilterProgram.h: * platform/graphics/filters/CustomFilterProgramClient.h: * platform/graphics/filters/CustomFilterShader.cpp: * platform/graphics/filters/CustomFilterShader.h: * platform/graphics/filters/FECustomFilter.cpp: * platform/graphics/filters/FECustomFilter.h: * rendering/FilterEffectObserver.h: * rendering/RenderFlowThread.cpp: * rendering/RenderFlowThread.h: * rendering/RenderRegion.cpp: * rendering/RenderRegion.h: * rendering/style/StyleCachedShader.cpp: * rendering/style/StyleCachedShader.h: * rendering/style/StyleCustomFilterProgram.h: * rendering/style/StylePendingShader.h: * rendering/style/StyleShader.h: 2012-02-26 Hyowon Kim [EFL] Implementation of GraphicsContext3D for EFL port https://bugs.webkit.org/show_bug.cgi?id=79452 Reviewed by Noam Rosenthal. Evas_GL is used to do OpenGL rendering on Evas, in which a structure 'Evas_GL_API' contains all the OpenGL functions. GraphicsContext3D in EFL port should call OpenGL functions indirectly through the Evas_GL_API, and not use GraphicsContext3DOpenGL(Common). So, we use the GraphicsContext3DPrivate to delegate all OpenGL function calls, and it will be implemented to use Evas_GL (bug 62961). No new tests. No behavior change. * platform/graphics/efl/GraphicsContext3DEfl.cpp: Added. (WebCore): (WebCore::GraphicsContext3D::create): (WebCore::GraphicsContext3D::GraphicsContext3D): (WebCore::GraphicsContext3D::~GraphicsContext3D): (WebCore::GraphicsContext3D::platformGraphicsContext3D): (WebCore::GraphicsContext3D::platformLayer): (WebCore::GraphicsContext3D::makeContextCurrent): (WebCore::GraphicsContext3D::isGLES2Compliant): (WebCore::GraphicsContext3D::activeTexture): (WebCore::GraphicsContext3D::attachShader): (WebCore::GraphicsContext3D::bindAttribLocation): (WebCore::GraphicsContext3D::bindBuffer): (WebCore::GraphicsContext3D::bindFramebuffer): (WebCore::GraphicsContext3D::bindRenderbuffer): (WebCore::GraphicsContext3D::bindTexture): (WebCore::GraphicsContext3D::blendColor): (WebCore::GraphicsContext3D::blendEquation): (WebCore::GraphicsContext3D::blendEquationSeparate): (WebCore::GraphicsContext3D::blendFunc): (WebCore::GraphicsContext3D::blendFuncSeparate): (WebCore::GraphicsContext3D::bufferData): (WebCore::GraphicsContext3D::bufferSubData): (WebCore::GraphicsContext3D::checkFramebufferStatus): (WebCore::GraphicsContext3D::clear): (WebCore::GraphicsContext3D::clearColor): (WebCore::GraphicsContext3D::clearDepth): (WebCore::GraphicsContext3D::clearStencil): (WebCore::GraphicsContext3D::colorMask): (WebCore::GraphicsContext3D::compileShader): (WebCore::GraphicsContext3D::copyTexImage2D): (WebCore::GraphicsContext3D::copyTexSubImage2D): (WebCore::GraphicsContext3D::cullFace): (WebCore::GraphicsContext3D::depthFunc): (WebCore::GraphicsContext3D::depthMask): (WebCore::GraphicsContext3D::depthRange): (WebCore::GraphicsContext3D::detachShader): (WebCore::GraphicsContext3D::disable): (WebCore::GraphicsContext3D::disableVertexAttribArray): (WebCore::GraphicsContext3D::drawArrays): (WebCore::GraphicsContext3D::drawElements): (WebCore::GraphicsContext3D::enable): (WebCore::GraphicsContext3D::enableVertexAttribArray): (WebCore::GraphicsContext3D::finish): (WebCore::GraphicsContext3D::flush): (WebCore::GraphicsContext3D::framebufferRenderbuffer): (WebCore::GraphicsContext3D::framebufferTexture2D): (WebCore::GraphicsContext3D::frontFace): (WebCore::GraphicsContext3D::generateMipmap): (WebCore::GraphicsContext3D::getActiveAttrib): (WebCore::GraphicsContext3D::getActiveUniform): (WebCore::GraphicsContext3D::getAttachedShaders): (WebCore::GraphicsContext3D::getAttribLocation): (WebCore::GraphicsContext3D::getBooleanv): (WebCore::GraphicsContext3D::getBufferParameteriv): (WebCore::GraphicsContext3D::getContextAttributes): (WebCore::GraphicsContext3D::getError): (WebCore::GraphicsContext3D::getFloatv): (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): (WebCore::GraphicsContext3D::getIntegerv): (WebCore::GraphicsContext3D::getProgramiv): (WebCore::GraphicsContext3D::getProgramInfoLog): (WebCore::GraphicsContext3D::getRenderbufferParameteriv): (WebCore::GraphicsContext3D::getShaderiv): (WebCore::GraphicsContext3D::getShaderInfoLog): (WebCore::GraphicsContext3D::getShaderSource): (WebCore::GraphicsContext3D::getString): (WebCore::GraphicsContext3D::getTexParameterfv): (WebCore::GraphicsContext3D::getTexParameteriv): (WebCore::GraphicsContext3D::getUniformfv): (WebCore::GraphicsContext3D::getUniformiv): (WebCore::GraphicsContext3D::getUniformLocation): (WebCore::GraphicsContext3D::getVertexAttribfv): (WebCore::GraphicsContext3D::getVertexAttribiv): (WebCore::GraphicsContext3D::getVertexAttribOffset): (WebCore::GraphicsContext3D::hint): (WebCore::GraphicsContext3D::isBuffer): (WebCore::GraphicsContext3D::isEnabled): (WebCore::GraphicsContext3D::isFramebuffer): (WebCore::GraphicsContext3D::isProgram): (WebCore::GraphicsContext3D::isRenderbuffer): (WebCore::GraphicsContext3D::isShader): (WebCore::GraphicsContext3D::isTexture): (WebCore::GraphicsContext3D::lineWidth): (WebCore::GraphicsContext3D::linkProgram): (WebCore::GraphicsContext3D::pixelStorei): (WebCore::GraphicsContext3D::polygonOffset): (WebCore::GraphicsContext3D::readPixels): (WebCore::GraphicsContext3D::releaseShaderCompiler): (WebCore::GraphicsContext3D::renderbufferStorage): (WebCore::GraphicsContext3D::sampleCoverage): (WebCore::GraphicsContext3D::scissor): (WebCore::GraphicsContext3D::shaderSource): (WebCore::GraphicsContext3D::stencilFunc): (WebCore::GraphicsContext3D::stencilFuncSeparate): (WebCore::GraphicsContext3D::stencilMask): (WebCore::GraphicsContext3D::stencilMaskSeparate): (WebCore::GraphicsContext3D::stencilOp): (WebCore::GraphicsContext3D::stencilOpSeparate): (WebCore::GraphicsContext3D::texImage2D): (WebCore::GraphicsContext3D::texParameterf): (WebCore::GraphicsContext3D::texParameteri): (WebCore::GraphicsContext3D::texSubImage2D): (WebCore::GraphicsContext3D::uniform1f): (WebCore::GraphicsContext3D::uniform1fv): (WebCore::GraphicsContext3D::uniform1i): (WebCore::GraphicsContext3D::uniform1iv): (WebCore::GraphicsContext3D::uniform2f): (WebCore::GraphicsContext3D::uniform2fv): (WebCore::GraphicsContext3D::uniform2i): (WebCore::GraphicsContext3D::uniform2iv): (WebCore::GraphicsContext3D::uniform3f): (WebCore::GraphicsContext3D::uniform3fv): (WebCore::GraphicsContext3D::uniform3i): (WebCore::GraphicsContext3D::uniform3iv): (WebCore::GraphicsContext3D::uniform4f): (WebCore::GraphicsContext3D::uniform4fv): (WebCore::GraphicsContext3D::uniform4i): (WebCore::GraphicsContext3D::uniform4iv): (WebCore::GraphicsContext3D::uniformMatrix2fv): (WebCore::GraphicsContext3D::uniformMatrix3fv): (WebCore::GraphicsContext3D::uniformMatrix4fv): (WebCore::GraphicsContext3D::useProgram): (WebCore::GraphicsContext3D::validateProgram): (WebCore::GraphicsContext3D::vertexAttrib1f): (WebCore::GraphicsContext3D::vertexAttrib1fv): (WebCore::GraphicsContext3D::vertexAttrib2f): (WebCore::GraphicsContext3D::vertexAttrib2fv): (WebCore::GraphicsContext3D::vertexAttrib3f): (WebCore::GraphicsContext3D::vertexAttrib3fv): (WebCore::GraphicsContext3D::vertexAttrib4f): (WebCore::GraphicsContext3D::vertexAttrib4fv): (WebCore::GraphicsContext3D::vertexAttribPointer): (WebCore::GraphicsContext3D::viewport): (WebCore::GraphicsContext3D::reshape): (WebCore::GraphicsContext3D::markContextChanged): (WebCore::GraphicsContext3D::markLayerComposited): (WebCore::GraphicsContext3D::layerComposited): (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): (WebCore::GraphicsContext3D::paintRenderingResultsToImageData): (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas): (WebCore::GraphicsContext3D::createBuffer): (WebCore::GraphicsContext3D::createFramebuffer): (WebCore::GraphicsContext3D::createProgram): (WebCore::GraphicsContext3D::createRenderbuffer): (WebCore::GraphicsContext3D::createShader): (WebCore::GraphicsContext3D::createTexture): (WebCore::GraphicsContext3D::deleteBuffer): (WebCore::GraphicsContext3D::deleteFramebuffer): (WebCore::GraphicsContext3D::deleteProgram): (WebCore::GraphicsContext3D::deleteRenderbuffer): (WebCore::GraphicsContext3D::deleteShader): (WebCore::GraphicsContext3D::deleteTexture): (WebCore::GraphicsContext3D::synthesizeGLError): (WebCore::GraphicsContext3D::getExtensions): (WebCore::GraphicsContext3D::getInternalFramebufferSize): (WebCore::GraphicsContext3D::setContextLostCallback): (WebCore::GraphicsContext3D::getImageData): (WebCore::GraphicsContext3D::validateAttributes): (WebCore::GraphicsContext3D::readRenderingResults): (WebCore::GraphicsContext3D::reshapeFBOs): (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): (WebCore::GraphicsContext3D::isResourceSafe): 2012-02-26 James Robinson [chromium] Wire up shouldUpdateScrollPositionOnMainThread and nonFastScrollableRegion to compositor https://bugs.webkit.org/show_bug.cgi?id=79155 Reviewed by Adam Barth. This hooks up ScrollingCoordinator::setNonFastScrollableRegion() and ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread() to the chromium compositor implementation and implements them on the impl thread. New compositor behavior is covered by unit tests in LayerChromiumTests and CCLayerTreeHostImplTests. The rest is just glue code. * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::setShouldScrollOnMainThread): (WebCore): (WebCore::LayerChromium::setNonFastScrollableRegion): (WebCore::LayerChromium::pushPropertiesTo): * platform/graphics/chromium/LayerChromium.h: (WebCore): (LayerChromium): * platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::CCLayerImpl): * platform/graphics/chromium/cc/CCLayerImpl.h: (WebCore::CCLayerImpl::shouldScrollOnMainThread): (WebCore::CCLayerImpl::setShouldScrollOnMainThread): (CCLayerImpl): (WebCore::CCLayerImpl::nonFastScrollableRegion): (WebCore::CCLayerImpl::setNonFastScrollableRegion): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::scrollBegin): 2012-02-26 Kentaro Hara Unreviewed. Rebaselined run-bindings-tests results. * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: (webkit_dom_test_interface_supplemental_method4): 2012-02-26 Sheriff Bot Unreviewed, rolling out r108547. http://trac.webkit.org/changeset/108547 https://bugs.webkit.org/show_bug.cgi?id=79606 Crashes on ClusterFuzz (Requested by inferno-sec on #webkit). * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): 2012-02-25 Adam Barth Move websockets to Modules/websockets https://bugs.webkit.org/show_bug.cgi?id=79598 Reviewed by Eric Seidel. Nowadays, the only ENABLE(WEB_SOCKETS) ifdef in WebCore proper is in WebCore::Settings, and that will be removed (soon?) once Apple drops support for the old WebSockets protocol. * CMakeLists.txt: * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.am: * GNUmakefile.list.am: * Modules/websockets: Copied from Source/WebCore/websockets. * Target.pri: * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * WebCore.pri: * WebCore.vcproj/WebCore.vcproj: * WebCore.vcproj/WebCoreCommon.vsprops: * WebCore.vcproj/copyForwardingHeaders.cmd: * WebCore.xcodeproj/project.pbxproj: * websockets: Removed. * websockets/CloseEvent.h: Removed. * websockets/CloseEvent.idl: Removed. * websockets/DOMWindowWebSocket.idl: Removed. * websockets/ThreadableWebSocketChannel.cpp: Removed. * websockets/ThreadableWebSocketChannel.h: Removed. * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Removed. * websockets/ThreadableWebSocketChannelClientWrapper.h: Removed. * websockets/WebSocket.cpp: Removed. * websockets/WebSocket.h: Removed. * websockets/WebSocket.idl: Removed. * websockets/WebSocketChannel.cpp: Removed. * websockets/WebSocketChannel.h: Removed. * websockets/WebSocketChannelClient.h: Removed. * websockets/WebSocketDeflater.cpp: Removed. * websockets/WebSocketDeflater.h: Removed. * websockets/WebSocketExtensionDispatcher.cpp: Removed. * websockets/WebSocketExtensionDispatcher.h: Removed. * websockets/WebSocketExtensionProcessor.h: Removed. * websockets/WebSocketFrame.h: Removed. * websockets/WebSocketHandshake.cpp: Removed. * websockets/WebSocketHandshake.h: Removed. * websockets/WebSocketHandshakeRequest.cpp: Removed. * websockets/WebSocketHandshakeRequest.h: Removed. * websockets/WebSocketHandshakeResponse.cpp: Removed. * websockets/WebSocketHandshakeResponse.h: Removed. * websockets/WorkerThreadableWebSocketChannel.cpp: Removed. * websockets/WorkerThreadableWebSocketChannel.h: Removed. 2012-02-25 Benjamin Poulain Get rid of KURL::deprecatedString() https://bugs.webkit.org/show_bug.cgi?id=79594 Reviewed by Andreas Kling. The method KURL::deprecatedString() is unused, remove it from WebCore. The last reference to the method was removed in r96779. * platform/KURL.cpp: (WebCore): * platform/KURL.h: (KURL): * platform/KURLGoogle.cpp: (WebCore): * platform/KURLWTFURL.cpp: (WebCore): 2012-02-25 Benjamin Poulain Get rid of copyParsedQueryTo() https://bugs.webkit.org/show_bug.cgi?id=79590 Reviewed by Andreas Kling. The function KURL::copyParsedQueryTo() is unused. Remove it from WebCore. The function was used by HTMLAnchorElement::getParameter() but that feature was removed in r100164. * WebCore.order: * platform/KURL.cpp: (WebCore): * platform/KURL.h: (WebCore): (KURL): * platform/KURLGoogle.cpp: (WebCore): * platform/KURLWTFURL.cpp: (WebCore): 2012-02-25 Sheriff Bot Unreviewed, rolling out r108924. http://trac.webkit.org/changeset/108924 https://bugs.webkit.org/show_bug.cgi?id=79597 broke 4 inspector tests (Requested by kling on #webkit). * dom/StyledElement.cpp: (WebCore::StyledElement::parseAttribute): 2012-02-25 Adam Barth Fix typo in comment. This #endif is for a different ENABLE macro. * page/NavigatorRegisterProtocolHandler.cpp: 2012-02-25 Anders Carlsson Move an ASSERT to avoid it firing due to a race condition https://bugs.webkit.org/show_bug.cgi?id=79596 Reviewed by Andreas Kling. ScrollingThread::isCurrentThread() can return false if called too early. Move it into ScrollingThread::initializeRunLoop where we know that the thread has been set up correctly. * page/scrolling/ScrollingThread.cpp: (WebCore::ScrollingThread::threadBody): * page/scrolling/mac/ScrollingThreadMac.mm: (WebCore::ScrollingThread::initializeRunLoop): 2012-02-25 Andreas Kling Setting style="" should destroy the element's inline style. Reviewed by Anders Carlsson. There's no reason for an element with style="" to have an inline style object. Remove the inline style in that case, just like we do when removing the style attribute altogether. * dom/StyledElement.cpp: (WebCore::StyledElement::parseAttribute): 2012-02-25 Andreas Kling Allow matched property cache for elements with additional attribute style. Reviewed by Antti Koivisto. There's no reason to disallow the matched style property cache for elements that return something from additionalAttributeStyle(). The only requirement for a property set to be cached is that it either doesn't mutate OR that it invalidates the document's CSSStyleSelector when doing so. This allows some more match caching for table-related elements, though we are still held back by explicitly 'inherited' properties in html.css. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::collectMatchingRulesForList): 2012-02-25 Julien Chaffraix Clean-up RenderTableSection::calcRowLogicalHeight https://bugs.webkit.org/show_bug.cgi?id=77705 Reviewed by Nikolas Zimmermann. Refactoring / simplication of the code. This change removes some variables that were unneeded and were hiding what the code was really doing. Also some of the code was split and moved down to RenderTableCell. * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::logicalHeightForRowSizing): * rendering/RenderTableCell.h: (RenderTableCell): Added the previous helper function to calculate the cell's adjusted logical height. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowLogicalHeight): Removed some variables, simplified the rowspan logic to be clearer (and added a comment about how we handle rowspans). 2012-02-25 Benjamin Poulain Add an empty skeleton of KURL for WTFURL https://bugs.webkit.org/show_bug.cgi?id=78990 Reviewed by Adam Barth. Add an empty skeleton of KURL based on WTFURL. With WTFURL, the data of KURL is in an implicitely shared object named KURLWTFURLImpl. In KURLWTFURLImpl, KURL created with invalid URL would be stored as a String. A valid URL would be stored as a ParsedURL. * ForwardingHeaders/wtf/url/ParsedURL.h: Added. * WebCore.exp.in: * WebCore.xcodeproj/project.pbxproj: * platform/KURL.cpp: (WebCore): * platform/KURL.h: (KURL): (WebCore::KURL::KURL): (WebCore::KURL::isHashTableDeletedValue): (WebCore): * platform/KURLWTFURL.cpp: Added. (WebCore): (WebCore::KURL::KURL): (WebCore::KURL::copy): (WebCore::KURL::isNull): (WebCore::KURL::isEmpty): (WebCore::KURL::isValid): (WebCore::KURL::hasPath): (WebCore::KURL::string): (WebCore::KURL::protocol): (WebCore::KURL::host): (WebCore::KURL::port): (WebCore::KURL::hasPort): (WebCore::KURL::user): (WebCore::KURL::pass): (WebCore::KURL::path): (WebCore::KURL::lastPathComponent): (WebCore::KURL::query): (WebCore::KURL::fragmentIdentifier): (WebCore::KURL::hasFragmentIdentifier): (WebCore::KURL::copyParsedQueryTo): (WebCore::KURL::baseAsString): (WebCore::KURL::deprecatedString): (WebCore::KURL::fileSystemPath): (WebCore::KURL::protocolIs): (WebCore::KURL::protocolIsInHTTPFamily): (WebCore::KURL::setProtocol): (WebCore::KURL::setHost): (WebCore::KURL::removePort): (WebCore::KURL::setPort): (WebCore::KURL::setHostAndPort): (WebCore::KURL::setUser): (WebCore::KURL::setPass): (WebCore::KURL::setPath): (WebCore::KURL::setQuery): (WebCore::KURL::setFragmentIdentifier): (WebCore::KURL::removeFragmentIdentifier): (WebCore::KURL::hostStart): (WebCore::KURL::hostEnd): (WebCore::KURL::pathStart): (WebCore::KURL::pathEnd): (WebCore::KURL::pathAfterLastSlash): (WebCore::KURL::invalidate): (WebCore::KURL::isHierarchical): (WebCore::protocolIs): (WebCore::equalIgnoringFragmentIdentifier): (WebCore::protocolHostAndPortAreEqual): (WebCore::encodeWithURLEscapeSequences): (WebCore::decodeURLEscapeSequences): * platform/KURLWTFURLImpl.h: Copied from Source/WebCore/platform/mac/KURLMac.mm. (WebCore): (KURLWTFURLImpl): * platform/cf/KURLCFNet.cpp: (WebCore): (WebCore::KURL::KURL): (WebCore::KURL::createCFURL): * platform/mac/KURLMac.mm: (WebCore): (WebCore::KURL::KURL): (WebCore::KURL::operator NSURL *): 2012-02-25 Anders Carlsson Make the libc++ workaround more targeted https://bugs.webkit.org/show_bug.cgi?id=79578 Reviewed by Sam Weinig. Change the std::move implementation to take a WebCore::TimerHeapReference directly so WebCore still builds with a version of libc++ that has the right std::move function template. * WebCorePrefix.h: (WebCore): (move): 2012-02-25 Andreas Kling Remove HTMLEmbedElement::insertedIntoDocument(). Reviewed by Anders Carlsson. * html/HTMLEmbedElement.cpp: * html/HTMLEmbedElement.h: 2012-02-25 Adrienne Walker Fix unused variable warnings in HarfBuzzShaperBase https://bugs.webkit.org/show_bug.cgi?id=79575 Reviewed by Andreas Kling. In builds where asserts are not enabled, the error variable is unused. * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: (WebCore::normalizeSpacesAndMirrorChars): 2012-02-25 Andreas Kling Remove HTMLTableElement::attach(). Reviewed by Anders Carlsson. Remove this attach() override since it was only used to assert that we're not already attached, and this is already done by Node::attach(). * html/HTMLTableElement.cpp: * html/HTMLTableElement.h: 2012-02-25 Andreas Kling HTMLTableElement: Avoid CSSParser in createSharedCellStyle(). Reviewed by Anders Carlsson. * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::createSharedCellStyle): 2012-02-25 Nikolas Zimmermann Unreviewed, rolling out r108557. http://trac.webkit.org/changeset/108557 https://bugs.webkit.org/show_bug.cgi?id=77705 Broke svg/zoom/page/zoom-replated-intrinsic-ratio-001.htm. * rendering/RenderTableCell.cpp: * rendering/RenderTableCell.h: (RenderTableCell): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowLogicalHeight): 2012-02-25 Andreas Kling HTMLParamElement: Clean up name/value attribute handling. Reviewed by Anders Carlsson. Out-of-line name() and value(), and move the logic from parseAttribute() into them instead. This makes the class a bit simpler and shrinks it by two AtomicStrings. Also reduced isURLAttribute() to a two-liner. * html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::name): (WebCore::HTMLParamElement::value): (WebCore::HTMLParamElement::isURLAttribute): * html/HTMLParamElement.h: 2012-02-24 Tien-Ren Chen [chromium] Replace RefPtr with OwnPtr for CCLayerImpl tree structure https://bugs.webkit.org/show_bug.cgi?id=78404 Reviewed by James Robinson. No new tests. Updated existing test to reflect changes. * platform/graphics/chromium/CanvasLayerChromium.cpp: (WebCore::CanvasLayerChromium::createCCLayerImpl): * platform/graphics/chromium/CanvasLayerChromium.h: (CanvasLayerChromium): * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::createCCLayerImpl): * platform/graphics/chromium/LayerChromium.h: (LayerChromium): * platform/graphics/chromium/PluginLayerChromium.cpp: (WebCore::PluginLayerChromium::createCCLayerImpl): * platform/graphics/chromium/PluginLayerChromium.h: (PluginLayerChromium): * platform/graphics/chromium/SolidColorLayerChromium.cpp: (WebCore::SolidColorLayerChromium::createCCLayerImpl): * platform/graphics/chromium/SolidColorLayerChromium.h: (SolidColorLayerChromium): * platform/graphics/chromium/TiledLayerChromium.cpp: (WebCore::TiledLayerChromium::createCCLayerImpl): * platform/graphics/chromium/TiledLayerChromium.h: (TiledLayerChromium): * platform/graphics/chromium/TreeSynchronizer.cpp: (WebCore::TreeSynchronizer::synchronizeTrees): (WebCore::TreeSynchronizer::collectExistingCCLayerImplRecursive): (WebCore): (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl): (WebCore::TreeSynchronizer::synchronizeTreeRecursive): * platform/graphics/chromium/TreeSynchronizer.h: (TreeSynchronizer): * platform/graphics/chromium/VideoLayerChromium.cpp: (WebCore::VideoLayerChromium::createCCLayerImpl): * platform/graphics/chromium/VideoLayerChromium.h: (VideoLayerChromium): * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: (WebCore::CCCanvasLayerImpl::create): * platform/graphics/chromium/cc/CCDamageTracker.cpp: (WebCore::CCDamageTracker::updateDamageTrackingState): (WebCore::CCDamageTracker::trackDamageFromActiveLayers): * platform/graphics/chromium/cc/CCDamageTracker.h: (CCDamageTracker): * platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::CCLayerImpl): (WebCore::CCLayerImpl::addChild): (WebCore::sortLayers): (WebCore::CCLayerImpl::setMaskLayer): (WebCore::CCLayerImpl::setReplicaLayer): * platform/graphics/chromium/cc/CCLayerImpl.h: (WebCore::CCLayerImpl::create): (WebCore::CCLayerImpl::children): (CCLayerImpl): (WebCore): * platform/graphics/chromium/cc/CCLayerIterator.cpp: (WebCore): (WebCore::CCLayerIteratorActions::BackToFront::begin): (WebCore::CCLayerIteratorActions::BackToFront::end): (WebCore::CCLayerIteratorActions::BackToFront::next): (WebCore::CCLayerIteratorActions::FrontToBack::begin): (WebCore::CCLayerIteratorActions::FrontToBack::end): (WebCore::CCLayerIteratorActions::FrontToBack::next): (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree): * platform/graphics/chromium/cc/CCLayerIterator.h: (WebCore): (CCLayerIterator): (WebCore::CCLayerIterator::begin): (WebCore::CCLayerIterator::end): (WebCore::CCLayerIterator::targetRenderSurfaceLayer): (WebCore::CCLayerIterator::CCLayerIterator): (WebCore::CCLayerIterator::getRawPtr): (WebCore::CCLayerIterator::currentLayer): (WebCore::CCLayerIterator::targetRenderSurfaceChildren): (BackToFront): (FrontToBack): * platform/graphics/chromium/cc/CCLayerSorter.cpp: (WebCore::CCLayerSorter::createGraphNodes): * platform/graphics/chromium/cc/CCLayerSorter.h: (CCLayerSorter): * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::CCLayerTreeHost::finishCommitOnImplThread): (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): (WebCore::CCLayerTreeHost::reserveTextures): (WebCore::CCLayerTreeHost::paintLayerContents): (WebCore::CCLayerTreeHost::updateCompositorResources): * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: (WebCore): (WebCore::calculateDrawTransformsAndVisibilityInternal): (WebCore::walkLayersAndCalculateVisibleLayerRects): (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility): * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: (CCLayerTreeHostCommon): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces): (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): (WebCore::CCLayerTreeHostImpl::drawLayers): (WebCore::CCLayerTreeHostImpl::setRootLayer): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: (CCLayerTreeHostImpl): (WebCore::CCLayerTreeHostImpl::releaseRootLayer): (WebCore::CCLayerTreeHostImpl::scrollLayer): * platform/graphics/chromium/cc/CCPluginLayerImpl.h: (WebCore::CCPluginLayerImpl::create): * platform/graphics/chromium/cc/CCRenderSurface.h: (WebCore::CCRenderSurface::layerList): (CCRenderSurface): * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: (WebCore::CCSolidColorLayerImpl::create): * platform/graphics/chromium/cc/CCTiledLayerImpl.h: (WebCore::CCTiledLayerImpl::create): * platform/graphics/chromium/cc/CCVideoLayerImpl.h: (WebCore::CCVideoLayerImpl::create): 2012-02-24 Andreas Kling Don't pass constant strings to CSSParser for presentation attributes. Reviewed by Anders Carlsson. "both" -> CSSValueBoth. "center" -> CSSValueCenter. * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::collectStyleForAttribute): * html/HTMLElement.cpp: (WebCore::HTMLElement::collectStyleForAttribute): 2012-02-24 Yael Aharon [Texmap] Add const-ness to TextureMapperShaderManager https://bugs.webkit.org/show_bug.cgi?id=79545 Reviewed by Noam Rosenthal. Add const to new methods. No new tests. * platform/graphics/texmap/TextureMapperShaderManager.cpp: (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource): (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource): (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource): (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource): * platform/graphics/texmap/TextureMapperShaderManager.h: (WebCore::TextureMapperShaderProgram::matrixVariable): (WebCore::TextureMapperShaderProgram::sourceMatrixVariable): (WebCore::TextureMapperShaderProgram::sourceTextureVariable): (WebCore::TextureMapperShaderProgram::opacityVariable): (TextureMapperShaderProgram): (TextureMapperShaderProgramSimple): (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable): (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable): (TextureMapperShaderProgramOpacityAndMask): 2012-02-24 Tom Sepez XSS Auditor targeting legitimate frames as false positives. https://bugs.webkit.org/show_bug.cgi?id=79397 Reviewed by Adam Barth. Test: http/tests/security/xssAuditor/script-tag-safe4.html * html/parser/XSSAuditor.cpp: (WebCore::XSSAuditor::filterCharacterToken): (WebCore::XSSAuditor::filterScriptToken): (WebCore::XSSAuditor::filterObjectToken): (WebCore::XSSAuditor::filterEmbedToken): (WebCore::XSSAuditor::filterAppletToken): (WebCore::XSSAuditor::filterIframeToken): (WebCore::XSSAuditor::decodedSnippetForToken): (WebCore): (WebCore::XSSAuditor::decodedSnippetForName): (WebCore::XSSAuditor::decodedSnippetForAttribute): (WebCore::XSSAuditor::decodedSnippetForJavascript): (WebCore::XSSAuditor::isContainedInRequest): (WebCore::XSSAuditor::isSameOriginResource): * html/parser/XSSAuditor.h: 2012-02-24 Ian Vollick [chromium] Plumb animation started notifications from CCLayerTreeHost to GraphicsLayerChromium https://bugs.webkit.org/show_bug.cgi?id=77646 Reviewed by James Robinson. * WebCore.gypi: * platform/graphics/chromium/GraphicsLayerChromium.cpp: (std): (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium): (WebCore::GraphicsLayerChromium::addAnimation): (WebCore::GraphicsLayerChromium::pauseAnimation): (WebCore::GraphicsLayerChromium::removeAnimation): (WebCore::GraphicsLayerChromium::suspendAnimations): (WebCore::GraphicsLayerChromium::resumeAnimations): (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): (WebCore::GraphicsLayerChromium::mapAnimationNameToId): (WebCore): (WebCore::GraphicsLayerChromium::notifyAnimationStarted): (WebCore::GraphicsLayerChromium::notifyAnimationFinished): * platform/graphics/chromium/GraphicsLayerChromium.h: (GraphicsLayerChromium): * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::setAnimationEvent): (WebCore): * platform/graphics/chromium/LayerChromium.h: (WebCore): (LayerChromium): (WebCore::LayerChromium::setLayerAnimationDelegate): * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Added. (WebCore): (WebCore::CCAnimationEvent::CCAnimationEvent): (WebCore::CCAnimationEvent::~CCAnimationEvent): (WebCore::CCAnimationEvent::toAnimationStartedEvent): (WebCore::CCAnimationEvent::toAnimationFinishedEvent): (WebCore::CCAnimationStartedEvent::create): (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent): (WebCore::CCAnimationStartedEvent::~CCAnimationStartedEvent): (WebCore::CCAnimationStartedEvent::type): (WebCore::CCAnimationFinishedEvent::create): (WebCore::CCAnimationFinishedEvent::CCAnimationFinishedEvent): (WebCore::CCAnimationFinishedEvent::~CCAnimationFinishedEvent): (WebCore::CCAnimationFinishedEvent::type): * platform/graphics/chromium/cc/CCAnimationEvents.h: (WebCore): (CCAnimationEvent): (WebCore::CCAnimationEvent::layerId): (CCAnimationStartedEvent): (WebCore::CCAnimationStartedEvent::startTime): (CCAnimationFinishedEvent): (WebCore::CCAnimationFinishedEvent::animationId): * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: (WebCore::CCLayerAnimationControllerImpl::animate): (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick): (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime): (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability): (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations): (WebCore::CCLayerAnimationControllerImpl::tickAnimations): * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: (CCLayerAnimationControllerImpl): * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCAnimationEvents.h. (WebCore): (CCLayerAnimationDelegate): * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::CCLayerTreeHost::setAnimationEvents): (WebCore::CCLayerTreeHost::setAnimationEventsRecursive): (WebCore): * platform/graphics/chromium/cc/CCLayerTreeHost.h: 2012-02-24 Abhishek Arya Regression(r107477): Crash in StaticNodeList::itemWithName. https://bugs.webkit.org/show_bug.cgi?id=79532 Reviewed by Andreas Kling. Make sure that node is an element node before checking its id attribute. Test: fast/mutation/mutation-callback-non-element-crash.html * dom/StaticNodeList.cpp: (WebCore::StaticNodeList::itemWithName): 2012-02-24 Tony Chang More refactoring in RenderFlexibleBox https://bugs.webkit.org/show_bug.cgi?id=79533 Reviewed by Ojan Vafai. No new tests, just refactoring. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutFlexItems): Move the flipping of RTL+column positions to its own method. This might be a tiny bit slower, but it's clearer since it's not related to alignment. (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Move the logical height calculation out of the loop. We only need the final height. (WebCore::RenderFlexibleBox::alignChildren): (WebCore::RenderFlexibleBox::flipForRightToLeftColumn): * rendering/RenderFlexibleBox.h: (RenderFlexibleBox): 2012-02-24 Abhishek Arya Positioned objects not cleared when moving children to clone block in multi-column layout. https://bugs.webkit.org/show_bug.cgi?id=78416 Reviewed by Eric Seidel. Test: fast/multicol/span/positioned-child-not-removed-crash.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::splitBlocks): 2012-02-24 Michael Saboff Unreviewed, Windows build fix. Changed "-1" to newly created constant JSC::Yarr::offsetNoMatch added in r108858. * platform/text/RegularExpression.cpp: (WebCore::RegularExpression::match): 2012-02-24 Eric Carlson Update TextTrackCue API https://bugs.webkit.org/show_bug.cgi?id=79368 Change TextTrackCue.alignment to .align, TextTrackCue.linePosition and .textPosition to .line and .position, and TextTrackCue.direction to .vertical. Change direction values "horizontal" to "","vertical" to "rl", and "vertical-lr" to "lr". Reviewed by Eric Seidel. No new tests, updated existing tests for API changes. * html/track/TextTrackCue.cpp: (WebCore::horizontalKeyword): (WebCore::verticalGrowingLeftKeyword): (WebCore): (WebCore::verticalGrowingRightKeyword): (WebCore::verticalKeywordOLD): (WebCore::verticallrKeywordOLD): (WebCore::TextTrackCue::TextTrackCue): (WebCore::TextTrackCue::vertical): (WebCore::TextTrackCue::setVertical): (WebCore::TextTrackCue::setLine): (WebCore::TextTrackCue::setPosition): (WebCore::TextTrackCue::align): (WebCore::TextTrackCue::setAlign): (WebCore::TextTrackCue::parseSettings): * html/track/TextTrackCue.h: (TextTrackCue): (WebCore::TextTrackCue::line): (WebCore::TextTrackCue::position): * html/track/TextTrackCue.idl: 2012-02-24 Adrienne Walker Fix uninitialized variables in HarfBuzzShaperBase https://bugs.webkit.org/show_bug.cgi?id=79546 Reviewed by Dirk Pranke. These were introduced in r108733. * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: (WebCore::HarfBuzzShaperBase::HarfBuzzShaperBase): 2012-02-24 Noel Gordon [chromium] JPEG RGB image with Adode Marker fails to turbo swizzle decode https://bugs.webkit.org/show_bug.cgi?id=79457 Reviewed by Adam Barth. If a JPEG has no JFIF marker, the Adode Marker must be used to determine the image color space for decoding via that markers transform value. Transform 0 images with 3 color components (RGB) fail to decode with libjpeg-turbo when a swizzle decoding is active. Detect this case and decode using JCS_RGB output color space instead. Test: fast/images/rgb-jpeg-with-abode-marker-only.html * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::JPEGImageReader::decode): 2012-02-24 Joshua Bell [V8] IndexedDB: IDBTransaction objects leak in Workers https://bugs.webkit.org/show_bug.cgi?id=79308 Use a V8RecursionScope whenever Workers call into script, so that post-script side-effects can be executed. Reviewed by Tony Chang. Test: storage/indexeddb/transaction-abort-workers.html * bindings/v8/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): * bindings/v8/V8WorkerContextErrorHandler.cpp: (WebCore::V8WorkerContextErrorHandler::callListenerFunction): * bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::callListenerFunction): * bindings/v8/WorkerContextExecutionProxy.cpp: Replace custom recursion tracking. (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): (WebCore::WorkerContextExecutionProxy::runScript): * bindings/v8/WorkerContextExecutionProxy.h: (WorkerContextExecutionProxy): 2012-02-24 Gregg Tavares Limit WebGL Errors in Console to 10 per context https://bugs.webkit.org/show_bug.cgi?id=79387 Reviewed by Kenneth Russell. Some apps generated enough errors to overload the Dev Tools so limit the number of errors. For a correct app there should never be any errors so seeing the first few should be enough to debug. No new tests as no new functionality * html/canvas/WebGLRenderingContext.cpp: (WebCore): (WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage): (WebCore::WebGLRenderingContext::WebGLRenderingContext): (WebCore::WebGLRenderingContext::initializeNewContext): (WebCore::WebGLRenderingContext::printGLErrorToConsole): (WebCore::WebGLRenderingContext::synthesizeGLError): * html/canvas/WebGLRenderingContext.h: (WebGLRenderingContext): 2012-02-24 Michael Saboff ASSERT(position < 0) in JSC::Yarr::Interpreter::InputStream::readChecked https://bugs.webkit.org/show_bug.cgi?id=73728 Reviewed by Gavin Barraclough. No new tests, refactored usage of JSC::Yarr interpreter. Should be covered by existing tests. Changed WebCore callers of JSC::Yarr:Interpreter::interpret() to match the new signature with unsigned offsets. * inspector/ContentSearchUtils.cpp: (WebCore::ContentSearchUtils::findMagicComment): * platform/text/RegularExpression.cpp: (WebCore::RegularExpression::match): 2012-02-24 Hans Muller onclick is not reliable for transformed SVG elements https://bugs.webkit.org/show_bug.cgi?id=34714 Reviewed by Dirk Schulze. Use FloatPoints in RenderSVGRoot::nodeAtPoint() when converting the incoming point to local coordinates. Test: svg/hittest/svg-small-viewbox.xhtml * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::nodeAtPoint): 2012-02-24 Julien Chaffraix Implement limited parsing of -webkit-grid-column and -webkit-grid-row https://bugs.webkit.org/show_bug.cgi?id=79151 Reviewed by Ojan Vafai. Test: fast/css-grid-layout/grid-item-column-row-get-set.html This change implements a subset of the grammar: -webkit-grid-{row|column} := | 'auto' * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: Added the new files to our build systems. * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForGridPosition): Check that we have the right translated grammar (this function will be more useful once we implement more of the grammar). (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Added handling for the new properties. * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Allow only 'auto' or . * css/CSSProperty.cpp: (WebCore::CSSProperty::isInheritedProperty): grid-colum and grid-row are not inherited. * css/CSSPropertyNames.in: Added the 2 new properties. * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::RenderStyle): (WebCore::RenderStyle::diff): * rendering/style/RenderStyle.h: * rendering/style/StyleGridItemData.cpp: Added. (WebCore::StyleGridItemData::StyleGridItemData): * rendering/style/StyleGridItemData.h: Added. (StyleGridItemData): (WebCore::StyleGridItemData::create): (WebCore::StyleGridItemData::copy): (WebCore::StyleGridItemData::operator==): (WebCore::StyleGridItemData::operator!=): Implemented the minimum working class. * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator==): * rendering/style/StyleRareNonInheritedData.h: (StyleRareNonInheritedData): Added StyleGridItemData to the class StyleRareNonInheritedData. 2012-02-24 Joshua Bell IndexedDB: IDBObjectStore.count() and IDBIndex.count() should accept key argument https://bugs.webkit.org/show_bug.cgi?id=79422 Reviewed by Tony Chang. Tests: storage/indexeddb/index-count.html storage/indexeddb/objectstore-count.html * storage/IDBIndex.cpp: (WebCore::IDBIndex::count): (WebCore): * storage/IDBIndex.h: (WebCore::IDBIndex::count): (IDBIndex): * storage/IDBIndex.idl: * storage/IDBObjectStore.cpp: (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::count): (WebCore): * storage/IDBObjectStore.h: (WebCore::IDBObjectStore::count): (IDBObjectStore): * storage/IDBObjectStore.idl: 2012-02-24 Adam Barth Move mediastream into Modules/mediastream https://bugs.webkit.org/show_bug.cgi?id=79517 Reviewed by Eric Seidel. This patch moves the mediastream directory into Modules. mediastream is a self-contained feature and is a good candidate for being a module. * GNUmakefile.am: * GNUmakefile.list.am: * Modules/mediastream: Copied from Source/WebCore/mediastream. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * mediastream: Removed. * mediastream/DOMWindowMediaStream.idl: Removed. * mediastream/LocalMediaStream.cpp: Removed. * mediastream/LocalMediaStream.h: Removed. * mediastream/LocalMediaStream.idl: Removed. * mediastream/MediaStream.cpp: Removed. * mediastream/MediaStream.h: Removed. * mediastream/MediaStream.idl: Removed. * mediastream/MediaStreamEvent.cpp: Removed. * mediastream/MediaStreamEvent.h: Removed. * mediastream/MediaStreamEvent.idl: Removed. * mediastream/MediaStreamList.cpp: Removed. * mediastream/MediaStreamList.h: Removed. * mediastream/MediaStreamList.idl: Removed. * mediastream/MediaStreamRegistry.cpp: Removed. * mediastream/MediaStreamRegistry.h: Removed. * mediastream/MediaStreamTrack.cpp: Removed. * mediastream/MediaStreamTrack.h: Removed. * mediastream/MediaStreamTrack.idl: Removed. * mediastream/MediaStreamTrackList.cpp: Removed. * mediastream/MediaStreamTrackList.h: Removed. * mediastream/MediaStreamTrackList.idl: Removed. * mediastream/NavigatorMediaStream.cpp: Removed. * mediastream/NavigatorMediaStream.h: Removed. * mediastream/NavigatorMediaStream.idl: Removed. * mediastream/NavigatorUserMediaError.h: Removed. * mediastream/NavigatorUserMediaError.idl: Removed. * mediastream/NavigatorUserMediaErrorCallback.h: Removed. * mediastream/NavigatorUserMediaErrorCallback.idl: Removed. * mediastream/NavigatorUserMediaSuccessCallback.h: Removed. * mediastream/NavigatorUserMediaSuccessCallback.idl: Removed. * mediastream/PeerConnection.cpp: Removed. * mediastream/PeerConnection.h: Removed. * mediastream/PeerConnection.idl: Removed. * mediastream/SignalingCallback.h: Removed. * mediastream/SignalingCallback.idl: Removed. * mediastream/UserMediaClient.h: Removed. * mediastream/UserMediaController.cpp: Removed. * mediastream/UserMediaController.h: Removed. * mediastream/UserMediaRequest.cpp: Removed. * mediastream/UserMediaRequest.h: Removed. 2012-02-24 Abhishek Arya Overhanging floats not removed from new flex box. https://bugs.webkit.org/show_bug.cgi?id=79522 Reviewed by Ojan Vafai. Similar to r69476. Test: fast/flexbox/overhanging-floats-not-removed-crash.html * rendering/RenderBox.cpp: (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): 2012-02-24 Brent Fulgham [WinCairo] Compute more acurate font heights. https://bugs.webkit.org/show_bug.cgi?id=79524 Reviewed by Adam Roben. Adjust font handling as suggested by Lynn Neir to use the proper xHeight value for the font, rather than the fall-back guess used in the current code. css1/text_properties/line_height.html * platform/graphics/win/SimpleFontDataCairoWin.cpp: (WebCore::SimpleFontData::platformInit): Properly initialize a few elements. (WebCore::SimpleFontData::platformWidthForGlyph): Use the Cairo cairo_scaled_font_text_extents call, rather than attempting to compute the value from ::GetGlyphOutline. 2012-02-24 Tim Horton Infinite repaint loop with SVGImageCache and deferred repaint timers https://bugs.webkit.org/show_bug.cgi?id=78315 Reviewed by Dean Jackson. Only defer image redraw on a timer if we're in layout. This breaks the repaint loop while still preventing us from drawing inside layout. No new tests, as the problem only occurs in a nonstandard configuration. * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::draw): (WebCore::SVGImage::frameView): (WebCore): * svg/graphics/SVGImage.h: (WebCore): * svg/graphics/SVGImageCache.cpp: (WebCore::SVGImageCache::imageContentChanged): (WebCore::SVGImageCache::redraw): (WebCore::SVGImageCache::redrawTimerFired): (WebCore): * svg/graphics/SVGImageCache.h: (SVGImageCache): 2012-02-24 Tim Horton SVG should be supported in Dashboard compatibility mode https://bugs.webkit.org/show_bug.cgi?id=78322 Reviewed by Dean Jackson. Enable SVG elements inside Dashboard, more or less reverting r21418. Tests: http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html svg/custom/embedded-svg-allowed-in-dashboard.xml svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html svg/custom/manually-parsed-svg-allowed-in-dashboard.html svg/custom/svg-allowed-in-dashboard-object.html * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): * dom/Document.cpp: (WebCore::Document::importNode): * dom/make_names.pl: (printFactoryCppFile): 2012-02-24 Min Qin Expose a setting to exempt media playback from user gesture requirement after a user gesture is initiated on loading/playing a media https://bugs.webkit.org/show_bug.cgi?id=79167 Reviewed by Adam Barth. Test: media/video-play-require-user-gesture.html * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): (WebCore): * html/HTMLMediaElement.h: (HTMLMediaElement): * testing/Internals.cpp: (WebCore::Internals::setMediaPlaybackRequiresUserGesture): (WebCore): * testing/Internals.h: (Internals): * testing/Internals.idl: 2012-02-24 Adam Barth DOMWindow*.idl should have had the same license block as DOMWindow.idl did originally https://bugs.webkit.org/show_bug.cgi?id=79507 Reviewed by Alexey Proskuryakov. In moving pieces of DOMWindow.idl into separate files, we mistakenly changed some of the license blocks. All these files should have a license block that matches the file that originally contained the code. * Modules/intents/DOMWindowIntents.idl: * fileapi/DOMWindowFileSystem.idl: * html/DOMWindowHTML.idl: * html/canvas/DOMWindowWebGL.idl: * mediastream/DOMWindowMediaStream.idl: * storage/DOMWindowSQLDatabase.idl: * svg/DOMWindowSVG.idl: * webaudio/DOMWindowWebAudio.idl: * websockets/DOMWindowWebSocket.idl: * workers/DOMWindowWorker.idl: * xml/DOMWindowXML.idl: 2012-02-24 David Kilzer Use xcrun to find compiler paths for Generate Derived Sources build phase script Reviewed by Mark Rowe. * WebCore.xcodeproj/project.pbxproj: (Generate Derived Sources): Use xcrun to find the path to the compiler since that works on both iOS and OS X. 2012-02-24 Anders Carlsson Crash in TileCache::revalidateTiles https://bugs.webkit.org/show_bug.cgi?id=79510 Reviewed by Sam Weinig. Handle the tile cache layer's PlatformCALayer going away before the CALayer itself has been deallocated. * platform/graphics/ca/mac/TileCache.mm: (WebCore::TileCache::revalidateTiles): 2012-02-24 Adam Klein Don't notify the inspector of Node insertions initiated by the parser https://bugs.webkit.org/show_bug.cgi?id=79388 Reviewed by Adam Barth. This is part of a series of changes to make ContainerNode's implementation simpler and more internally consistent. I don't know of a way to break on parser-initiated insertions, and the code already doesn't notify on parser-initiated removes (in ContainerNode::parserRemoveChild). No new tests, should already be covered by inspector/debugger/dom-breakpoints.html. * dom/ContainerNode.cpp: (WebCore::ContainerNode::parserInsertBefore): (WebCore::ContainerNode::parserAddChild): 2012-02-24 Daniel Bates Attempt to fix the Windows and WinCE build after changeset r108809 (https://bugs.webkit.org/show_bug.cgi?id=38995) Substitute styleLoadEventSender() for loadEventSender() in HTMLStyleElement.cpp and substitute linkLoadEventSender() for loadEventSender() in HTMLLinkElement.cpp. * html/HTMLLinkElement.cpp: (WebCore::linkLoadEventSender): (WebCore::HTMLLinkElement::~HTMLLinkElement): (WebCore::HTMLLinkElement::dispatchPendingLoadEvents): (WebCore::HTMLLinkElement::dispatchPendingEvent): (WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources): * html/HTMLStyleElement.cpp: (WebCore::styleLoadEventSender): (WebCore::HTMLStyleElement::~HTMLStyleElement): (WebCore::HTMLStyleElement::dispatchPendingLoadEvents): (WebCore::HTMLStyleElement::dispatchPendingEvent): (WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources): 2012-02-24 Peter Beverloo [Chromium] Fix Chromium Android build by building HarfBuzzShaperBase.cpp https://bugs.webkit.org/show_bug.cgi?id=79497 Reviewed by Tony Gentilcore. The Chromium Android build was broken by revision r108733, as the HarfBuzzShaperBase.cpp file also should have been included for Android. Fix the build by including it. * WebCore.gyp/WebCore.gyp: 2012-02-24 Yael Aharon [Texmap] Consolidate the common parts of TextureMapperGL::drawTexture https://bugs.webkit.org/show_bug.cgi?id=79143 Reviewed by Noam Rosenthal. Combine the two drawTexture methods into one, and extract the part that could not be combined into its own method. No new tests. Refactoring only. * platform/graphics/texmap/TextureMapperGL.cpp: (WebCore): (WebCore::TextureMapperGL::drawTexture): * platform/graphics/texmap/TextureMapperGL.h: (WebCore): (BitmapTextureGL): (WebCore::BitmapTextureGL::~BitmapTextureGL): (WebCore::BitmapTextureGL::id): (WebCore::BitmapTextureGL::relativeSize): (WebCore::BitmapTextureGL::setTextureMapper): (WebCore::BitmapTextureGL::BitmapTextureGL): * platform/graphics/texmap/TextureMapperShaderManager.cpp: (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource): (WebCore): (WebCore::TextureMapperShaderProgramOpacityAndMask::prepare): * platform/graphics/texmap/TextureMapperShaderManager.h: (WebCore): (WebCore::TextureMapperShaderProgram::prepare): (WebCore::TextureMapperShaderProgram::matrixVariable): (WebCore::TextureMapperShaderProgram::sourceMatrixVariable): (WebCore::TextureMapperShaderProgram::sourceTextureVariable): (WebCore::TextureMapperShaderProgram::opacityVariable): (TextureMapperShaderProgram): (TextureMapperShaderProgramSimple): (TextureMapperShaderProgramOpacityAndMask): (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable): (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable): 2012-02-24 Daniel Bates style element and link element for CSS stylesheet should emit load/error event when sheet loads/fails to load https://bugs.webkit.org/show_bug.cgi?id=38995 Reviewed by Adam Barth and Nate Chapin. Tests: fast/dom/HTMLLinkElement/link-onerror-stylesheet-with-existent-and-non-existent-import.html fast/dom/HTMLLinkElement/link-onerror-stylesheet-with-non-existent-import.html fast/dom/HTMLLinkElement/link-onerror.html fast/dom/HTMLLinkElement/link-onload-before-page-load.html fast/dom/HTMLLinkElement/link-onload-stylesheet-with-import.html fast/dom/HTMLLinkElement/link-onload.html fast/dom/HTMLLinkElement/link-onload2.html fast/dom/HTMLLinkElement/programmatically-add-link-with-onerror-handler.html fast/dom/HTMLLinkElement/programmatically-add-link-with-onload-handler.html fast/dom/HTMLStyleElement/programmatically-add-style-with-onerror-handler.html fast/dom/HTMLStyleElement/programmatically-add-style-with-onload-handler.html fast/dom/HTMLStyleElement/style-onerror-with-existent-and-non-existent-import.html fast/dom/HTMLStyleElement/style-onerror.html fast/dom/HTMLStyleElement/style-onload-before-page-load.html fast/dom/HTMLStyleElement/style-onload.html fast/dom/HTMLStyleElement/style-onload2.html Implements support for firing Load and Error events at HTML Link and HTML Style elements as per the HTML5 spec. (draft 05/25/2011) section "The link element" and "The style element" , respectively. * css/CSSImportRule.cpp: (WebCore::CSSImportRule::setCSSStyleSheet): Modified to call CSSStyleSheet::notifyLoadedSheet() after the style sheet associated with the @import rule loaded. * css/CSSStyleSheet.cpp: Added instance variable m_didLoadErrorOccur to track whether a network error occurred while loading any @import style sheets. (WebCore::CSSStyleSheet::CSSStyleSheet): (WebCore::CSSStyleSheet::checkLoaded): (WebCore): (WebCore::CSSStyleSheet::notifyLoadedSheet): Added; update m_didLoadErrorOccur to reflect if a network error occurred while loading a style sheet associated with an @import rule. * css/CSSStyleSheet.h: (WebCore): (CSSStyleSheet): * dom/Document.cpp: (WebCore::Document::implicitClose): Call HTML{LinkElement, StyleElement}::dispatchPendingLoadEvents() to ensure that all pending Load events for link and style elements are dispatched before we fire the Load event for the window. * dom/Node.h: (WebCore::Node::notifyLoadedSheetAndAllCriticalSubresources): Added; as stated in its name, this method is called once a style sheet and all its critical subresources (@imports) have loaded. * html/HTMLLinkElement.cpp: (WebCore::loadEventSender): (WebCore): (WebCore::HTMLLinkElement::HTMLLinkElement): (WebCore::HTMLLinkElement::~HTMLLinkElement): Modified to cancel all pending Load events on destruction. (WebCore::HTMLLinkElement::parseAttribute): Register event listeners for Load and Error events regardless of whether we built with link prefetch support. (WebCore::HTMLLinkElement::setCSSStyleSheet): (WebCore::HTMLLinkElement::dispatchPendingLoadEvents): Added; called from Document::implicitClose() to ensure that all pending Load events for link elements have been dispatched before we fire the Load event for the window. (WebCore::HTMLLinkElement::dispatchPendingEvent): Added; called by EventSender. (WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources): Added. * html/HTMLLinkElement.h: (WebCore): (HTMLLinkElement): * html/HTMLStyleElement.cpp: (WebCore::loadEventSender): (WebCore): (WebCore::HTMLStyleElement::HTMLStyleElement): (WebCore::HTMLStyleElement::~HTMLStyleElement): Modified to cancel all pending Load events on destruction. (WebCore::HTMLStyleElement::parseAttribute): Register event listeners for Load and Error events. (WebCore::HTMLStyleElement::dispatchPendingLoadEvents): Added; called from Document::implicitClose() to ensure that all pending Load events for link elements have been dispatched before we fire the Load event for the window. (WebCore::HTMLStyleElement::dispatchPendingEvent): Added; called by EventSender. (WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources): Added. * html/HTMLStyleElement.h: (WebCore): (HTMLStyleElement): 2012-02-24 Adam Roben Mac build fix after r108698 * page/scrolling/mac/ScrollingCoordinatorMac.mm: Added missing #import. 2012-02-24 Csaba Osztrogonác Unreviewed speculative buildfix after r108785 for ENABLE(SVG) && !ENABLE(XSLT) case. * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::canRequest): 2012-02-24 Vsevolod Vlasov Web Inspector: Do not show scripts panel navigator automatically more than once to the same user. https://bugs.webkit.org/show_bug.cgi?id=79489 Reviewed by Pavel Feldman. * inspector/front-end/ScriptsPanel.js: 2012-02-24 Philippe Normand Fix GTK WebAudio build for WebKitGTK 1.7.90. Patch by Priit Laes on 2012-02-24 Rubber-stamped by Philippe Normand. * GNUmakefile.list.am: Add AudioBufferCallback.h and DenormalDisabler.h to the list of files so they get disted in the tarballs. 2012-02-24 Yury Semikhatsky Web Inspector: show all counters on one graph https://bugs.webkit.org/show_bug.cgi?id=79484 Now it is possible to hide any counter. All graphs share the same area. Current values are displayed above that area. Reviewed by Pavel Feldman. * English.lproj/localizedStrings.js: * inspector/front-end/MemoryStatistics.js: (WebInspector.MemoryStatistics.getDocumentCount): (WebInspector.MemoryStatistics.getNodeCount): (WebInspector.MemoryStatistics.getListenerCount): (WebInspector.MemoryStatistics): (WebInspector.SwatchCheckbox): (WebInspector.SwatchCheckbox.prototype.get checked): (WebInspector.SwatchCheckbox.prototype.set checked): (WebInspector.SwatchCheckbox.prototype._toggleCheckbox): (WebInspector.CounterUI): (WebInspector.CounterUI.prototype._toggleCounterGraph): (WebInspector.CounterUI.prototype.setRange): (WebInspector.CounterUI.prototype.updateCurrentValue): (WebInspector.CounterUI.prototype.clearCurrentValueAndMarker): (WebInspector.CounterUI.prototype.get visible): (WebInspector.CounterUI.prototype.saveImageUnderMarker): (WebInspector.CounterUI.prototype.restoreImageUnderMarker): (WebInspector.CounterUI.prototype.discardImageUnderMarker): (WebInspector.MemoryStatistics.prototype._updateSize): (WebInspector.MemoryStatistics.prototype._draw): (WebInspector.MemoryStatistics.prototype._onMouseOut): (WebInspector.MemoryStatistics.prototype._refreshCurrentValues): (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs): (WebInspector.MemoryStatistics.prototype._drawGraph): (WebInspector.MemoryStatistics.prototype._clear): * inspector/front-end/timelinePanel.css: (.memory-counter-sidebar-info): (.memory-counter-sidebar-info .swatch): (.memory-counter-sidebar-info .title): (.memory-counter-value): (#counter-values-bar): 2012-02-24 Pavel Feldman Web Inspector: map Ctrl/Cmd +/- to zoom in hosted mode. https://bugs.webkit.org/show_bug.cgi?id=79475 (In remote front-end mode, default zoom actions are working.) Reviewed by Yury Semikhatsky. * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::setZoomFactor): (WebCore): * inspector/InspectorFrontendHost.h: (InspectorFrontendHost): * inspector/InspectorFrontendHost.idl: * inspector/front-end/InspectorFrontendHostStub.js: (.WebInspector.InspectorFrontendHostStub): (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously): (.WebInspector.InspectorFrontendHostStub.prototype.setZoomFactor): * inspector/front-end/Settings.js: (WebInspector.Settings): * inspector/front-end/inspector.js: (WebInspector._initializeCapability): (WebInspector._zoomIn): (WebInspector._zoomOut): (WebInspector._resetZoom): (WebInspector._requestZoom.set InspectorFrontendHost): (WebInspector._requestZoom): (WebInspector._doLoadedDoneWithCapabilities.get if): (WebInspector.documentKeyDown): 2012-02-24 Allan Sandfeld Jensen Refactor EventHandler::handleGestureEvent. https://bugs.webkit.org/show_bug.cgi?id=79476 Reviewed by Kenneth Rohde Christiansen. No new tests. No behavior change. * page/EventHandler.cpp: (WebCore::EventHandler::handleGestureEvent): (WebCore::EventHandler::handleGestureTap): (WebCore::EventHandler::handleGestureScrollUpdate): * page/EventHandler.h: 2012-02-24 Zoltan Horvath [Qt] Allow to use WebCore imagedecoders https://bugs.webkit.org/show_bug.cgi?id=32410 Add ENABLE(QT_IMAGE_DECODER) guards around Qt imagedecoders and set it to default. By passing ENABLE_QT_IMAGE_DECODER=0 define to the build system, WebKit will build with WebCore's imagedecoders. I added NO_RETURN attribute and PLATFORM(QT) conditionals to 2 functions of PNG and JPEG decoders to avoid compiler warnings because in Qt-port we treat warning as errors (-Werror). I'm continuing the refactoring of this area and try to use Qt imagedecoders only in cases when WebCore doesn't support the image format. Reviewed by Simon Hausmann. No behavior change, no need new tests. * Target.pri: * WebCore.pri: * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding): * platform/image-decoders/ImageDecoder.h: (WebCore::ImageFrame::getAddr): (ImageFrame): * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: NO_RETURN has been added to a function to avoid warning message. * platform/image-decoders/png/PNGImageDecoder.cpp: NO_RETURN has been added to a function to avoid warning message. (WebCore): * platform/image-decoders/qt/ImageFrameQt.cpp: (WebCore): (WebCore::ImageFrame::asNewNativeImage): 2012-02-24 Lynn Neir [Windows, WinCairo] Handle indeterminate checkbox state https://bugs.webkit.org/show_bug.cgi?id=79288 Reviewed by Adam Roben. Tested by fast/forms/indeterminate.html * rendering/RenderThemeWin.cpp: Add code to check for indeterminate state in CheckBox. 2012-02-24 Simon Hausmann [Qt] Font related problem with newer Qt5 https://bugs.webkit.org/show_bug.cgi?id=79402 Reviewed by Kenneth Rohde Christiansen. Apply the descent += 1 workaround needed to produce correct metrics only for Qt 4, because the behaviour has been corrected in Qt 5. * platform/graphics/qt/SimpleFontDataQt.cpp: (WebCore::SimpleFontData::platformInit): 2012-02-24 Kentaro Hara Move XML-related APIs from DOMWindow.idl to DOMWindowXML.idl https://bugs.webkit.org/show_bug.cgi?id=79434 Reviewed by Adam Barth. For WebKit modularization, this patch moves XML-related APIs from DOMWindow.idl to DOMWIndowXML.idl. No tests. No change in behavior. * xml/DOMWindowXML.idl: Added. * page/DOMWindow.idl: * CMakeLists.txt: Added "DOMWindowXML.idl". * DerivedSources.make: Ditto. * DerivedSources.pri: Ditto. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. 2012-02-24 Renata Hodovan External xlink:href references do not work https://bugs.webkit.org/show_bug.cgi?id=12499 Reviewed by Nikolas Zimmermann. Support external references on by introducing CachedSVGDocument. CachedSVGDocument is a CachedResource specialized for SVGDocuments. This CachedSVGDocument will be stored for every use element with external reference. This first patch only contains the new classes to test whether it works on every platform. So they aren't used anywhere and just a follow-up patch will bind them into the caching system. No new tests - no change in functionality. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * loader/cache/CachedResource.cpp: (WebCore::defaultPriorityForResourceType): (WebCore::cachedResourceTypeToTargetType): * loader/cache/CachedResource.h: * loader/cache/CachedResourceClient.h: (CachedResourceClient): * loader/cache/CachedResourceLoader.cpp: (WebCore::createResource): (WebCore::CachedResourceLoader::checkInsecureContent): (WebCore::CachedResourceLoader::canRequest): * loader/cache/CachedSVGDocument.cpp: Added. (WebCore): (WebCore::CachedSVGDocument::CachedSVGDocument): (WebCore::CachedSVGDocument::~CachedSVGDocument): (WebCore::CachedSVGDocument::setEncoding): (WebCore::CachedSVGDocument::encoding): (WebCore::CachedSVGDocument::data): * loader/cache/CachedSVGDocument.h: Added. (WebCore): (CachedSVGDocument): (WebCore::CachedSVGDocument::document): (WebCore::CachedSVGDocument::schedule): (CachedSVGDocumentClient): (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient): (WebCore::CachedSVGDocumentClient::expectedType): (WebCore::CachedSVGDocumentClient::resourceClientType): 2012-02-24 Alexis Menard Little optimization in CSSParser::parseShorthand. https://bugs.webkit.org/show_bug.cgi?id=79356 Reviewed by Tony Chang. Remove one loop by initializing array values at declaration time. Also early return when the number of properties parsed are equals with longhands count of the shorthand. It happens to be very often the case (e.g. border). Instruments shows an improvement from 19ms to 17ms on the time spent in this function for the css-parser-yui benchmark. No new tests : refactor, exisiting ones should cover. * css/CSSParser.cpp: (WebCore::CSSParser::parseShorthand): 2012-02-24 Kentaro Hara Move HTML-related APIs from DOMWindow.idl to DOMWindowHTML.idl https://bugs.webkit.org/show_bug.cgi?id=79436 Reviewed by Adam Barth. For WebKit modularization, this patch moves HTML-related APIs from DOMWindow.idl to DOMWindowHTML.idl. No tests. No change in behavior. * html/DOMWindowHTML.idl: * page/DOMWindow.idl: 2012-02-24 Jochen Eisinger [v8] when a named item on document goes out of scope, actually remove it https://bugs.webkit.org/show_bug.cgi?id=79409 Reviewed by Adam Barth. The original change already included the code, but it led to some problems, so it was reverted in http://trac.webkit.org/changeset/63845. However, not removing the items leaks a considerable amount of memory, so I'm adding the code back. The bug that led to the revert was that the accessor was removed unconditionally. I'm now only removing it, when the last item with that name is removed. Test: fast/dom/HTMLDocument/named-item.html * bindings/v8/V8DOMWindowShell.cpp: (WebCore::V8DOMWindowShell::namedItemRemoved): 2012-02-24 Kentaro Hara Move Worker-related APIs from DOMWindow.idl to DOMWindowWorker.idl https://bugs.webkit.org/show_bug.cgi?id=79442 Reviewed by Adam Barth. For WebKit modularization, this patch moves Worker-related APIs from DOMWindow.idl to DOMWindowWorker.idl. No tests. No change in behavior. * workers/DOMWindowWorker.idl: Added. * page/DOMWindow.idl: * CMakeLists.txt: * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.list.am: * WebCore.gypi: 2012-02-24 Robin Cao [BlackBerry] Upstream helper classes for skia https://bugs.webkit.org/show_bug.cgi?id=79216 Reviewed by Antonio Gomes. Initial upstreaming, no new tests. * platform/graphics/blackberry/skia/ImageBufferData.h: Added. (WebCore): (ImageBufferData): * platform/graphics/blackberry/skia/PlatformSupport.cpp: Added. (WebCore): (WebCore::setFontRenderStyleDefaults): (WebCore::PlatformSupport::getRenderStyleForStrike): (WebCore::PlatformSupport::getFontFamilyForCharacters): * platform/graphics/blackberry/skia/PlatformSupport.h: Added. (WebCore): (PlatformSupport): (FontFamily): 2012-02-24 Robin Cao [BlackBerry] Upstream ImageBlackBerry in platform/graphics/blackberry https://bugs.webkit.org/show_bug.cgi?id=79212 Reviewed by Antonio Gomes. Initial upstreaming, no new tests. * PlatformBlackBerry.cmake: * platform/graphics/blackberry/ImageBlackBerry.cpp: Added. (WebCore): (WebCore::Image::loadPlatformResource): 2012-02-24 Leo Yang [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntSize.h https://bugs.webkit.org/show_bug.cgi?id=79430 Reviewed by Antonio Gomes. Add conversion convenience between WebCore::IntSize and BlackBerry::Platform::IntSize. The porting can't be built yet, no new tests. * platform/graphics/IntSize.h: (Platform): (IntSize): 2012-02-24 Shinya Kawanaka SpellCheckRequest needs to know the context where the spellcheck happened. https://bugs.webkit.org/show_bug.cgi?id=79320 Reviewed by Hajime Morita. WebKit clients should be able to get the context how the spellcheck happended. For example, WebKit clients may want to change the behavior by a spellcheck request is invoked in typing or in pasting. This patch added an enum in SpellCheckRequest so that WebKit clients can understand the context. * editing/Editor.cpp: (WebCore::Editor::replaceSelectionWithFragment): (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): * editing/SpellChecker.cpp: (WebCore::SpellCheckRequest::SpellCheckRequest): (WebCore::SpellCheckRequest::create): (WebCore::SpellChecker::invokeRequest): * editing/SpellChecker.h: (SpellCheckRequest): (WebCore::SpellCheckRequest::textCheckingRequest): (WebCore::SpellCheckRequest::processType): * loader/EmptyClients.h: (WebCore::EmptyTextCheckerClient::requestCheckingOfString): * platform/text/TextCheckerClient.h: (WebCore): (TextCheckerClient): * platform/text/TextChecking.h: (TextCheckingRequest): (WebCore::TextCheckingRequest::TextCheckingRequest): (WebCore::TextCheckingRequest::setSequence): (WebCore::TextCheckingRequest::sequence): (WebCore::TextCheckingRequest::text): (WebCore::TextCheckingRequest::mask): (WebCore::TextCheckingRequest::processType): (WebCore): 2012-02-24 Hayato Ito Make Node::showTreeForThis (and Node::showTreeForThisAcrossFrame) dump multiple shadow roots. https://bugs.webkit.org/show_bug.cgi?id=79351 Reviewed by Dimitri Glazkov. No new tests since these utility functions are only available in debug build. I manually tested in GDB session. * dom/Node.cpp: (WebCore::oldestShadowRootFor): (WebCore::traverseTreeAndMark): (WebCore::parentOrHostOrFrameOwner): (WebCore::showSubTreeAcrossFrame): * dom/ShadowRoot.h: (WebCore::ShadowRoot::youngerShadowRoot): (WebCore::ShadowRoot::olderShadowRoot): (WebCore::toShadowRoot): (WebCore): 2012-02-24 Pavel Feldman Not reviewed: follow up to inspector's r108331, using more general condition. * inspector/front-end/JavaScriptSourceFrame.js: (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor): 2012-02-24 Kentaro Hara Move WebGL APIs from DOMWindow.idl to DOMWindowWebGL.idl https://bugs.webkit.org/show_bug.cgi?id=79432 Reviewed by Adam Barth. For WebKit modularization, this patch moves WebGL-related APIs from DOMWindow.idl to DOMWindowWebGL.idl. No tests. No change in behavior. * html/canvas/DOMWindowWebGL.idl: Added. * page/DOMWindow.idl: * DerivedSources.make: Added DOMWindowWebGL.idl. * DerivedSources.pri: Ditto. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. 2012-02-24 Vsevolod Vlasov Web Inspector: [Regression] network worker tests crash on qt. https://bugs.webkit.org/show_bug.cgi?id=79263 Reviewed by Pavel Feldman. * inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::createDecoder): (WebCore::InspectorPageAgent::cachedResourceContent): 2012-02-24 Andreas Kling Miscellaneous CSSParser dodging in presentation attribute parsing. Reviewed by Antti Koivisto. - Bypass CSSParser when adding constant values to attribute styles. - Added fast paths for the valid HTMLTablePartElement align values. * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::collectStyleForAttribute): * html/HTMLHRElement.cpp: (WebCore::HTMLHRElement::collectStyleForAttribute): * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::collectStyleForAttribute): * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::collectStyleForAttribute): * html/HTMLTablePartElement.cpp: (WebCore::HTMLTablePartElement::collectStyleForAttribute): 2012-02-24 Dana Jansens [chromium] Avoid culling work for fully-non-opaque tiles, and add tracing for draw culling https://bugs.webkit.org/show_bug.cgi?id=79183 Reviewed by James Robinson. Addresses performance issues with draw culling by avoiding the work of mapRect and other function calls when the quad has no opaque area. And adds a TRACE_EVENT to watch the time spent in draw culling. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses): * platform/graphics/chromium/cc/CCQuadCuller.cpp: (WebCore::CCQuadCuller::cullOccludedQuads): 2012-02-24 Vsevolod Vlasov Web Inspector: Scripts panel navigator overlay should be shown automatically only one time. https://bugs.webkit.org/show_bug.cgi?id=79467 Reviewed by Pavel Feldman. * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay): (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide): 2012-02-23 MORITA Hajime Adding a ShadowRoot to image-backed element causes a crash https://bugs.webkit.org/show_bug.cgi?id=78878 Reviewed by Dimitri Glazkov. The crash happened because NodeRenderingContext tried to append a child to a renderer regardless one isn't capable of holding any children if it appears in the shadow attaching phase. RenderImage is one of such renderer classes which aren't capable. NodeRenderingContext decide whether the contextual node as a child can create its renderer based on RenderObject::canHaveChildren() and Node::childShouldCreateRenderer(). But the responsibility between these two methods are getting confused. which results this unfortuante crash path. This change re-aligns the responsibility: - Now canHaveChildren() purely declares the ability of the renderer. If the renderer is capable of having children, it return true regardless of HTML semantics. - On the other hand, childShouldCreateRenderer() cares about the semantics. If the element doesn't allow children to be rendered, this returns false. - Note that these decision on elements are contextual. Each element needs to know which role it is playing in the tree composition algorithm of Shadow DOM. That's why the method parameter is changed from Node* to NodeRenderingContext. - Fixed updateFirstLetter() which relied on this confused assumption. This change introduces RenderDeprecatedFlexibleBox::buttonText() to refine the relying assumption. With this change, some decision points are moved from a renderer to an element. Following renderers no longer stop reject having children: - RenderButton, RenderListBox, RenderMenuList, RenderMeter, RenderProgress, RenderTextControl. Corresponding element for such a render (HTMLProgressElement of RenderProgress for exaple) now cares about that. Reviewed by Dimitri Glazkov. Tests: fast/dom/shadow/shadow-on-image-expected.html fast/dom/shadow/shadow-on-image.html * dom/Element.cpp: (WebCore::Element::childShouldCreateRenderer): * dom/Element.h: (Element): * dom/Node.h: (WebCore::Node::childShouldCreateRenderer): * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::shouldCreateRenderer): * dom/NodeRenderingContext.h: (NodeRenderingContext): (WebCore::NodeRenderingContext::isOnEncapsulationBoundary): (WebCore): * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::childShouldCreateRenderer): * html/HTMLDetailsElement.h: (HTMLDetailsElement): * html/HTMLMediaElement.cpp: (WebCore): (WebCore::HTMLMediaElement::childShouldCreateRenderer): * html/HTMLMediaElement.h: (HTMLMediaElement): * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::childShouldCreateRenderer): (WebCore): * html/HTMLMeterElement.h: (HTMLMeterElement): * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::childShouldCreateRenderer): (WebCore): * html/HTMLProgressElement.h: (HTMLProgressElement): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::childShouldCreateRenderer): (WebCore): * html/HTMLSelectElement.h: (HTMLSelectElement): * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::childShouldCreateRenderer): (WebCore): * html/HTMLSummaryElement.h: (HTMLSummaryElement): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::childShouldCreateRenderer): (WebCore): * html/HTMLTextFormControlElement.h: (HTMLTextFormControlElement): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter): * rendering/RenderButton.cpp: * rendering/RenderButton.h: (RenderButton): * rendering/RenderDeprecatedFlexibleBox.h: (WebCore::RenderDeprecatedFlexibleBox::buttonText): * rendering/RenderListBox.h: (RenderListBox): * rendering/RenderMedia.h: (WebCore::RenderMedia::canHaveChildren): * rendering/RenderMenuList.h: (RenderMenuList): (WebCore::RenderMenuList::hasControlClip): * rendering/RenderMeter.h: * rendering/RenderProgress.h: * rendering/RenderTextControl.h: * rendering/svg/RenderSVGRoot.h: (WebCore::RenderSVGRoot::canHaveChildren): * svg/SVGAElement.cpp: (WebCore::SVGAElement::childShouldCreateRenderer): * svg/SVGAElement.h: (SVGAElement): * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): * svg/SVGAltGlyphElement.h: (SVGAltGlyphElement): * svg/SVGDocument.cpp: (WebCore::SVGDocument::childShouldCreateRenderer): * svg/SVGDocument.h: (SVGDocument): * svg/SVGElement.cpp: (WebCore::SVGElement::childShouldCreateRenderer): * svg/SVGElement.h: (SVGElement): * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): * svg/SVGForeignObjectElement.h: (SVGForeignObjectElement): * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::childShouldCreateRenderer): * svg/SVGSwitchElement.h: (SVGSwitchElement): * svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::childShouldCreateRenderer): * svg/SVGTRefElement.h: (SVGTRefElement): * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::childShouldCreateRenderer): * svg/SVGTSpanElement.h: (SVGTSpanElement): * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::childShouldCreateRenderer): * svg/SVGTextElement.h: (SVGTextElement): * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::childShouldCreateRenderer): * svg/SVGTextPathElement.h: 2012-02-24 Kentaro Hara Support [Supplemental] on static methods https://bugs.webkit.org/show_bug.cgi?id=79357 Reviewed by Adam Barth. [Supplemental] on static methods does not work in CodeGeneratorJS.pm and CodeGeneratorV8.pm due to mis-ordered if-elsif statements. This patch fixes it and supports [Supplemental] on static methods. Test: bindings/scripts/test/TestSupplemental.idl * bindings/scripts/CodeGeneratorJS.pm: Modified as described above. (GenerateParametersCheck): * bindings/scripts/CodeGeneratorV8.pm: Ditto. (GenerateFunctionCallString): * bindings/scripts/test/TestSupplemental.idl: Added a test case. * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated run-bindings-tests results. (WebDOMTestInterface::supplementalMethod4): * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto. * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto. (webkit_dom_test_interface_supplemental_method4): * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto. * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto. (WebCore): (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot): (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): * bindings/scripts/test/JS/JSTestInterface.h: Ditto. (WebCore): * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto. * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto. (-[DOMTestInterface supplementalMethod4]): * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto. (TestInterfaceInternal): (WebCore::TestInterfaceInternal::supplementalMethod4Callback): (WebCore::ConfigureV8TestInterfaceTemplate): 2012-02-24 Tony Chang Small refactor in RenderFlexibleBox::layoutAndPlaceChildren https://bugs.webkit.org/show_bug.cgi?id=79420 Reviewed by Ojan Vafai. No new tests, just a refactor. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Share some of the logic in computing the cross axis length. 2012-02-24 Yury Semikhatsky Web Inspector: cannot drag timeline overview window when clicking inside the window https://bugs.webkit.org/show_bug.cgi?id=79453 Reviewed by Pavel Feldman. * inspector/front-end/timelinePanel.css: (.timeline-overview-window-rulers): 2012-02-24 Sheriff Bot Unreviewed, rolling out r108731. http://trac.webkit.org/changeset/108731 https://bugs.webkit.org/show_bug.cgi?id=79464 Broke Chromium Win tests (Requested by bashi on #webkit). * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * websockets/WebSocket.cpp: (WebCore::WebSocket::didConnect): * websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::connect): (WebCore::WebSocketChannel::fail): (WebCore::WebSocketChannel::processFrame): (WebCore::WebSocketChannel::sendFrame): * websockets/WebSocketChannel.h: * websockets/WebSocketDeflateFramer.cpp: Removed. * websockets/WebSocketDeflateFramer.h: Removed. 2012-02-22 Vsevolod Vlasov Web Inspector: Show scripts panel navigator overlay on the first scripts panel opening. https://bugs.webkit.org/show_bug.cgi?id=79248 Reviewed by Pavel Feldman. * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.wasShown): (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay): (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay): 2012-02-24 Mike Lawther CSS3 calc(): handle non-negative values https://bugs.webkit.org/show_bug.cgi?id=79188 Reviewed by Daniel Bates. Some CSS properties (e.g. padding) are required to be non-negative. These are now restricted to the correct range. Tests: css3/calc/negative-padding-expected.html css3/calc/negative-padding.html * css/CSSCalculationValue.cpp: (WebCore): (WebCore::CSSCalcValue::clampToPermittedRange): Added (WebCore::CSSCalcValue::doubleValue): (WebCore::CSSCalcValue::isNegative): Added (WebCore::CSSCalcValue::computeLengthPx): (WebCore::CSSCalcValue::create): * css/CSSCalculationValue.h: (CSSCalcValue): (WebCore::CSSCalcValue::CSSCalcValue): * css/CSSParser.cpp: (WebCore::CSSParser::validCalculationUnit): (WebCore::CSSParser::parseCalculation): * css/CSSParser.h: * platform/CalculationValue.h: 2012-02-22 Vsevolod Vlasov Web Inspector: [Regression] xhr tests are crashing after r108506. https://bugs.webkit.org/show_bug.cgi?id=79265 Reviewed by Pavel Feldman. * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::setInitialScriptContent): (WebCore::InspectorResourceAgent::setInitialXHRContent): 2012-02-24 Huang Dongsung Rename LocalStorageThread to StorageThread and LocalStorageTask to StorageTask. https://bugs.webkit.org/show_bug.cgi?id=79358 Revision 45124 commented FIXME to rename these classes. Reviewed by Kentaro Hara. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.order: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * storage/LocalStorageTask.h: Removed. * storage/StorageSyncManager.cpp: (WebCore::StorageSyncManager::StorageSyncManager): (WebCore::StorageSyncManager::scheduleImport): (WebCore::StorageSyncManager::scheduleSync): (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase): * storage/StorageSyncManager.h: (WebCore): (StorageSyncManager): * storage/StorageTask.cpp: Renamed from Source/WebCore/storage/LocalStorageTask.cpp. (WebCore): (WebCore::StorageTask::StorageTask): (WebCore::StorageTask::~StorageTask): (WebCore::StorageTask::performTask): * storage/StorageTask.h: Added. (WebCore): (StorageTask): (WebCore::StorageTask::createImport): (WebCore::StorageTask::createSync): (WebCore::StorageTask::createDeleteEmptyDatabase): (WebCore::StorageTask::createOriginIdentifiersImport): (WebCore::StorageTask::createSetOriginDetails): (WebCore::StorageTask::createDeleteOrigin): (WebCore::StorageTask::createDeleteAllOrigins): (WebCore::StorageTask::createTerminate): * storage/StorageThread.cpp: Renamed from Source/WebCore/storage/LocalStorageThread.cpp. (WebCore): (WebCore::StorageThread::create): (WebCore::StorageThread::StorageThread): (WebCore::StorageThread::~StorageThread): (WebCore::StorageThread::start): (WebCore::StorageThread::threadEntryPointCallback): (WebCore::StorageThread::threadEntryPoint): (WebCore::StorageThread::scheduleTask): (WebCore::StorageThread::terminate): (WebCore::StorageThread::performTerminate): * storage/StorageThread.h: Renamed from Source/WebCore/storage/LocalStorageThread.h. (WebCore): (StorageThread): * storage/StorageTracker.cpp: (WebCore::StorageTracker::StorageTracker): (WebCore::StorageTracker::importOriginIdentifiers): (WebCore::StorageTracker::setOriginDetails): (WebCore::StorageTracker::scheduleTask): (WebCore::StorageTracker::deleteAllOrigins): (WebCore::StorageTracker::deleteOrigin): * storage/StorageTracker.h: (WebCore): (StorageTracker): * storage/wince/StorageThreadWinCE.cpp: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.cpp. (WebCore): (WebCore::StorageThread::StorageThread): (WebCore::StorageThread::~StorageThread): (WebCore::StorageThread::start): (WebCore::StorageThread::timerFired): (WebCore::StorageThread::scheduleImport): (WebCore::StorageThread::scheduleSync): (WebCore::StorageThread::terminate): (WebCore::StorageThread::performTerminate): * storage/wince/StorageThreadWinCE.h: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.h. (WebCore): (StorageThread): (WebCore::StorageThread::create): 2012-02-23 Pavel Feldman Web Inspector: prepare border images on timelines to enable zooming. https://bugs.webkit.org/show_bug.cgi?id=79360 Reviewed by Yury Semikhatsky. * inspector/front-end/Images/timelineBarBlue.png: * inspector/front-end/Images/timelineBarGray.png: * inspector/front-end/Images/timelineBarGreen.png: * inspector/front-end/Images/timelineBarOrange.png: * inspector/front-end/Images/timelineBarPurple.png: * inspector/front-end/Images/timelineBarRed.png: * inspector/front-end/Images/timelineBarYellow.png: * inspector/front-end/Images/timelineHollowPillBlue.png: * inspector/front-end/Images/timelineHollowPillGray.png: * inspector/front-end/Images/timelineHollowPillGreen.png: * inspector/front-end/Images/timelineHollowPillOrange.png: * inspector/front-end/Images/timelineHollowPillPurple.png: * inspector/front-end/Images/timelineHollowPillRed.png: * inspector/front-end/Images/timelineHollowPillYellow.png: * inspector/front-end/Images/timelinePillBlue.png: * inspector/front-end/Images/timelinePillGray.png: * inspector/front-end/Images/timelinePillGreen.png: * inspector/front-end/Images/timelinePillOrange.png: * inspector/front-end/Images/timelinePillPurple.png: * inspector/front-end/Images/timelinePillRed.png: * inspector/front-end/Images/timelinePillYellow.png: * inspector/front-end/inspectorCommon.css: (body): * inspector/front-end/networkLogView.css: (.network-graph-bar): (.resource-cached .network-graph-bar): (.network-category-documents .network-graph-bar): (.network-category-documents.resource-cached .network-graph-bar): (.network-category-stylesheets .network-graph-bar): (.network-category-stylesheets.resource-cached .network-graph-bar): (.network-category-images.resource-cached .network-graph-bar): (.network-category-fonts .network-graph-bar): (.network-category-fonts.resource-cached .network-graph-bar): (.network-category-scripts .network-graph-bar): (.network-category-scripts.resource-cached .network-graph-bar): (.network-category-xhr .network-graph-bar): (.network-category-xhr.resource-cached .network-graph-bar): (.network-category-websockets .network-graph-bar): (.network-category-websockets.resource-cached .network-graph-bar): 2012-02-23 Yury Semikhatsky Web Inspector: exception in front-end on selecting an element in heap snapshot https://bugs.webkit.org/show_bug.cgi?id=79447 Fixed a typo in method name and added a check that selected node has corresponding heap snapshot object before adding that object to the console as $0 entry. Reviewed by Pavel Feldman. * inspector/front-end/DetailedHeapshotView.js: (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged): 2012-02-23 Pavel Feldman Web Inspector: hide color picker upon panel switch. https://bugs.webkit.org/show_bug.cgi?id=79355 Reviewed by Vsevolod Vlasov. * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.willHide): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged): (WebInspector.StylesSidebarPane.prototype.willHide): 2012-02-23 Pavel Feldman Web Inspector: make color review larger in the color picker. https://bugs.webkit.org/show_bug.cgi?id=79339 Reviewed by Vsevolod Vlasov. * inspector/front-end/Popover.js: (WebInspector.Popover.prototype.hide): * inspector/front-end/Spectrum.js: * inspector/front-end/elementsPanel.css: (.spectrum-container): (.spectrum-color): (.spectrum-display-value): (.spectrum-hue): (.spectrum-fill): (.spectrum-range-container label): (.spectrum-range-container input): (.spectrum-slider): (.spectrum-container .swatch): * inspector/front-end/inspector.css: (.swatch): 2012-02-23 Kenichi Ishibashi [Chromium] Add HarfBuzzShaperBase class https://bugs.webkit.org/show_bug.cgi?id=79336 Extract a part of ComplexTextControllerHarfBuzz class as HarfBuzzShaperBase class. This patch intends to share the code between old HarfBuzz and HarfBuzz-ng. Reviewed by Tony Chang. No new tests. No behavior change. Existing tests in fast/text should pass. * PlatformBlackBerry.cmake: Added HarfBuzzShaperBase.cpp. * WebCore.gyp/WebCore.gyp: Added HarfBuzzShaperBase.(cpp|h). * WebCore.gypi: Ditto. * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: (WebCore::ComplexTextController::ComplexTextController): Removed redundant arguments. (WebCore::ComplexTextController::nextScriptRun): Use m_normalizedBuffer and m_normalizedBufferLength instead of m_run. (WebCore::ComplexTextController::setupFontForScriptRun): Ditto. (WebCore::ComplexTextController::setGlyphPositions): Ditto. * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h: (ComplexTextController): * platform/graphics/harfbuzz/FontHarfBuzz.cpp: (WebCore::Font::drawComplexText): Removed redundant arguments of ComplexTextController constructor. (WebCore::Font::floatWidthForComplexText): Ditto. (WebCore::Font::offsetForPositionForComplexText): Ditto. (WebCore::Font::selectionRectForComplexText): Ditto. * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: Added. (WebCore): (WebCore::HarfBuzzShaperBase::HarfBuzzShaperBase): (WebCore::normalizeSpacesAndMirrorChars): (WebCore::HarfBuzzShaperBase::setNormalizedBuffer): (WebCore::HarfBuzzShaperBase::isWordEnd): (WebCore::HarfBuzzShaperBase::determineWordBreakSpacing): (WebCore::HarfBuzzShaperBase::setPadding): * platform/graphics/harfbuzz/HarfBuzzShaperBase.h: Added. (WebCore): (HarfBuzzShaperBase): (WebCore::HarfBuzzShaperBase::~HarfBuzzShaperBase): (WebCore::HarfBuzzShaperBase::isCodepointSpace): 2012-02-23 Kenichi Ishibashi Adding WebSocket per-frame DEFLATE extension https://bugs.webkit.org/show_bug.cgi?id=77522 Add WebSocketDeflateFramer class which handles deflate-frame extension. This class encapsulates WebSocketDeflater and WebSocketInflater classes, which depend on zlib, so that WebSocketChannel is not necessary to aware zlib dependency. This is the second patch to land. The previous patch broke Chromium Win release build. r108600 should fix the build failure. I also added zlib entry to |export_dependent_settings| of |webcore_prerequisites| target. Reviewed by Kent Tamura. Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html http/tests/websocket/tests/hybi/deflate-frame-parameter.html * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h) * GNUmakefile.list.am: Ditto. * Target.pri: Ditto. * WebCore.gypi: Ditto. * WebCore.gyp/WebCore.gyp: Added zlib dependency. * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h) * WebCore.xcodeproj/project.pbxproj: Ditto. * websockets/WebSocket.cpp: (WebCore::WebSocket::didConnect): Set m_extensions. * websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use. (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail(). (WebCore::WebSocketChannel::processFrame): Decompress frames if needed. (WebCore::WebSocketChannel::sendFrame): Compress frames if possible. * websockets/WebSocketChannel.h: * websockets/WebSocketDeflateFramer.cpp: Added. (WebCore): (WebSocketExtensionDeflateFrame): (WebCore::WebSocketExtensionDeflateFrame::create): (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame): (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame): (WebCore::WebSocketExtensionDeflateFrame::handshakeString): (WebCore::WebSocketExtensionDeflateFrame::processResponse): (WebCore::DeflateResultHolder::DeflateResultHolder): (WebCore::DeflateResultHolder::~DeflateResultHolder): (WebCore::DeflateResultHolder::fail): (WebCore::InflateResultHolder::InflateResultHolder): (WebCore::InflateResultHolder::~InflateResultHolder): (WebCore::InflateResultHolder::fail): (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer): (WebCore::WebSocketDeflateFramer::createExtensionProcessor): (WebCore::WebSocketDeflateFramer::canDeflate): (WebCore::WebSocketDeflateFramer::enableDeflate): (WebCore::WebSocketDeflateFramer::deflate): (WebCore::WebSocketDeflateFramer::resetDeflateContext): (WebCore::WebSocketDeflateFramer::inflate): (WebCore::WebSocketDeflateFramer::resetInflateContext): (WebCore::WebSocketDeflateFramer::didFail): * websockets/WebSocketDeflateFramer.h: Added. (WebCore): (DeflateResultHolder): (WebCore::DeflateResultHolder::succeeded): (WebCore::DeflateResultHolder::failureReason): (InflateResultHolder): (WebCore::InflateResultHolder::succeeded): (WebCore::InflateResultHolder::failureReason): (WebSocketDeflateFramer): (WebCore::WebSocketDeflateFramer::enabled): 2012-02-23 Andy Estes Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API. https://bugs.webkit.org/show_bug.cgi?id=79433 Reviewed by Dan Bernstein. * dom/Document.cpp: (WebCore::Document::implicitClose): (WebCore::Document::visualUpdatesAllowed): * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: (WebCore::Settings::setSuppressesIncrementalRendering): (WebCore::Settings::suppressesIncrementalRendering): (Settings): 2012-02-23 Erik Arvidsson Rename DOMWindow to Window in the bindings https://bugs.webkit.org/show_bug.cgi?id=78721 Reviewed by Adam Barth. Covered by existing tests. * inspector/front-end/DetailedHeapshotGridNodes.js: (WebInspector.HeapSnapshotGenericObjectNode): (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow): * inspector/front-end/HeapSnapshot.js: (WebInspector.HeapSnapshotNode.prototype.get isWindow): (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance): (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects): * page/DOMWindow.idl: 2012-02-23 Shinya Kawanaka NodeRenderingContext should have ShadowRootList instead of ShadowRoot. https://bugs.webkit.org/show_bug.cgi?id=79079 Reviewed by Dimitri Glazkov. Apparently NodeRenderingContext should have ShadowRootList instead of ShadowRoot. This patch changes it. No new tests. Simple refactoring. * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::NodeRenderingContext): (WebCore::NodeRenderingContext::hostChildrenChanged): (WebCore::NodeRenderingContext::shouldCreateRenderer): * dom/NodeRenderingContext.h: (WebCore): 2012-02-23 Ian Vollick [chromium] Implement keyframed animations for the cc thread. https://bugs.webkit.org/show_bug.cgi?id=77229 Reviewed by James Robinson. * WebCore.gypi: * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::hasActiveAnimation): (WebCore): * platform/graphics/chromium/LayerChromium.h: (LayerChromium): * platform/graphics/chromium/cc/CCActiveAnimation.cpp: (WebCore::CCActiveAnimation::CCActiveAnimation): (WebCore::CCActiveAnimation::isFinishedAt): (WebCore::CCActiveAnimation::trimTimeToCurrentIteration): (WebCore::CCActiveAnimation::cloneForImplThread): * platform/graphics/chromium/cc/CCActiveAnimation.h: (WebCore::CCActiveAnimation::curve): (CCActiveAnimation): * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: Added. (WebCore::CCKeyframedFloatAnimationCurve::create): (WebCore): (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve): (WebCore::CCKeyframedFloatAnimationCurve::~CCKeyframedFloatAnimationCurve): (WebCore::CCKeyframedFloatAnimationCurve::duration): (WebCore::CCKeyframedFloatAnimationCurve::clone): (WebCore::CCKeyframedFloatAnimationCurve::getValue): (WebCore::CCKeyframedTransformAnimationCurve::create): (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve): (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve): (WebCore::CCKeyframedTransformAnimationCurve::duration): (WebCore::CCKeyframedTransformAnimationCurve::clone): (WebCore::CCKeyframedTransformAnimationCurve::getValue): * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: Added. (WebCore): (WebCore::CCFloatKeyframe::CCFloatKeyframe): (CCFloatKeyframe): (WebCore::CCTransformKeyframe::CCTransformKeyframe): (CCTransformKeyframe): (CCKeyframedFloatAnimationCurve): (CCKeyframedTransformAnimationCurve): * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: (WebCore::CCLayerAnimationController::addAnimation): * platform/graphics/chromium/cc/CCLayerAnimationController.h: (WebCore::CCLayerAnimationController::hasActiveAnimation): (CCLayerAnimationController): * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: (WebCore::CCLayerAnimationControllerImpl::tickAnimations): 2012-02-23 Raymond Toy Use MathExtras round() in timeToSampleFrame https://bugs.webkit.org/show_bug.cgi?id=79281 Reviewed by Chris Rogers. No new tests. Existing tests cover this change. * platform/audio/AudioUtilities.cpp: (WebCore::AudioUtilities::timeToSampleFrame): Use round(). 2012-02-23 Greg Billock Don't clear IntentRequest callback pointers on stop() This causes re-entry into ScriptExecutionContext when the ActiveDOMCallback objects get deleted, which crashes. Instead, just de-activate the object and wait for context destruction to clean up. Test crashes consistently without fix and passes with fix. Added some test infrastructure to support this test. https://bugs.webkit.org/show_bug.cgi?id=78638 Reviewed by Adam Barth. * Modules/intents/IntentRequest.cpp: (WebCore::IntentRequest::IntentRequest): (WebCore::IntentRequest::stop): (WebCore::IntentRequest::postResult): (WebCore::IntentRequest::postFailure): * Modules/intents/IntentRequest.h: (IntentRequest): 2012-02-23 Konrad Piascik Upstream BlackBerry Cookie Management Classes https://bugs.webkit.org/show_bug.cgi?id=73654 Reviewed by Rob Buis. Added ManualTests/cookieSpeedTest.html as well as tested functionality on the BlackBerry port with http://testsuites.opera.com/cookies/ Passes all non Cookie 2 tests since Cookie 2 is not implemented/supported at this time. Error handling and extended tests do not all pass and will be updated with future bugs/patches. * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: Added. * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h: Added. * platform/blackberry/CookieJarBlackBerry.cpp: Added. * platform/blackberry/CookieManager.cpp: Added. * platform/blackberry/CookieManager.h: Added. * platform/blackberry/CookieMap.cpp: Added. * platform/blackberry/CookieMap.h: Added. * platform/blackberry/CookieParser.cpp: Added. * platform/blackberry/CookieParser.h: Added. * platform/blackberry/ParsedCookie.cpp: Added. * platform/blackberry/ParsedCookie.h: Added. 2012-02-23 Levi Weintraub Switch drawLineForBoxSide to use integers https://bugs.webkit.org/show_bug.cgi?id=78647 Reviewed by Eric Seidel. drawLineForBoxSide handles painting lines for boxes which must be done on pixel boundaries. Its interface doesn't make it possible to pixel snap properly within the function itself -- it draws one side of the box at a time, and the logical right and bottom lines can only be properly determined using the logical top and left positions -- so it needs to be treated like a graphics context function, whereby the caller handles the proper pixel snapping before passing the values in. No new tests. No change in behavior. * rendering/LayoutTypes.h: (WebCore::pixelSnappedIntRectFromEdges): convenience function for returning a pixel snapped int rect from four LayoutUnits that are its edges (as opposed to position and size). * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintColumnRules): Pixel snapping the column rule rect. * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintOneBorderSide): Side rects are now IntRects by the time they get to paintOneBorderSide. (WebCore::calculateSideRect): Properly use RoundedRect as IntRects instead of LayoutRects. (WebCore::RenderBoxModelObject::paintBorderSides): Ditto. (WebCore::RenderBoxModelObject::paintBorder): Ditto. (WebCore::calculateSideRectIncludingInner): Ditto. * rendering/RenderBoxModelObject.h: (RenderBoxModelObject): * rendering/RenderInline.cpp: (WebCore::RenderInline::paintOutlineForLine): Outline widths are related to borders and stored as ints. Removing an unnecessary conversion to LayoutUnits. Pixel snapping the edges of the box. * rendering/RenderObject.cpp: (WebCore::RenderObject::drawLineForBoxSide): Moving back to integers and removing an unnecessary pixelSnappedIntRect call. (WebCore::RenderObject::paintOutline): Pixel snapping the column rule rect and using an integer for outlineOffset. * rendering/RenderObject.h: (RenderObject): 2012-02-23 Leo Yang [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntPoint.h https://bugs.webkit.org/show_bug.cgi?id=79094 Reviewed by Antonio Gomes. Add conversion convenience between WebCore::IntPoint and BlackBerry::Platform::IntPoint. The porting can't be built yet, no new tests. * platform/graphics/IntPoint.h: (Platform): (IntPoint): 2012-02-23 Justin Novosad [Chromium] Add profiling trace for deferred canvas rendering https://bugs.webkit.org/show_bug.cgi?id=79376 Reviewed by Stephen White. No new tests. * platform/graphics/chromium/Canvas2DLayerChromium.cpp: (WebCore::Canvas2DLayerChromium::paintContentsIfDirty): Profiling trace for the entire method, as well as for calls to canvas flush and context flush, both of which may cause deferred operation to be executed. * platform/graphics/skia/PlatformContextSkia.cpp: (WebCore::PlatformContextSkia::bitmap): Inserting a profiling trace in this method because it may cause deferred draw commands to be executed. 2012-02-23 Shinya Kawanaka ShadowRootList should have recalculation flag instead of ShadowRoot. https://bugs.webkit.org/show_bug.cgi?id=79071 Reviewed by Hajime Morita. When light children or shadow children are changed, we currently re-construct a shadow subtree. However, when supporting multiple shadow subtrees, all shadow subtrees should be re-constructed. So ShadowRootList should have re-construction flag instead of ShadowRoot. Also, re-construction methods in ShadowRoot should be moved to ShadowRootList. No new tests, should be convered by existing tests. * dom/Element.cpp: (WebCore::Element::recalcStyle): (WebCore::Element::childrenChanged): * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::hostChildrenChanged): * dom/ShadowRoot.cpp: (WebCore::ShadowRoot::ShadowRoot): (WebCore::ShadowRoot::list): * dom/ShadowRoot.h: (WebCore): (ShadowRoot): * dom/ShadowRootList.cpp: (WebCore::ShadowRootList::ShadowRootList): (WebCore::ShadowRootList::reattach): (WebCore): (WebCore::ShadowRootList::childNeedsStyleRecalc): (WebCore::ShadowRootList::needsStyleRecalc): (WebCore::ShadowRootList::recalcShadowTreeStyle): (WebCore::ShadowRootList::needsReattachHostChildrenAndShadow): (WebCore::ShadowRootList::hostChildrenChanged): (WebCore::ShadowRootList::setNeedsReattachHostChildrenAndShadow): (WebCore::ShadowRootList::reattachHostChildrenAndShadow): * dom/ShadowRootList.h: (WebCore): (ShadowRootList): (WebCore::ShadowRootList::clearNeedsReattachHostChildrenAndShadow): * html/shadow/HTMLContentElement.cpp: (WebCore::HTMLContentElement::attach): (WebCore::HTMLContentElement::detach): (WebCore::HTMLContentElement::parseAttribute): 2012-02-23 Roland Steiner Unreviewed: add clause in ASSERT missing from r108474. No new tests. (fix) * html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::willRemove): 2012-02-23 Eric Seidel Split out HTML constructors into new DOMWindowHTML suplemental idl https://bugs.webkit.org/show_bug.cgi?id=79377 Reviewed by Adam Barth. * CMakeLists.txt: * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.xcodeproj/project.pbxproj: * html/DOMWindowHTML.idl: Added. * page/DOMWindow.idl: 2012-02-23 Eric Seidel Move SVG element constructors out of DOMWindow.idl into a new DOMWindowSVG.idl suplemental https://bugs.webkit.org/show_bug.cgi?id=79379 Reviewed by Adam Barth. * CMakeLists.txt: * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.xcodeproj/project.pbxproj: * page/DOMWindow.idl: * svg/DOMWindowSVG.idl: Added. 2012-02-23 Jonathan Backer [chromium] Plumb video damage to the damage tracker. https://bugs.webkit.org/show_bug.cgi?id=79373 Reviewed by James Robinson. * platform/graphics/chromium/VideoLayerChromium.cpp: (WebCore::VideoLayerChromium::contentChanged): (WebCore): * platform/graphics/chromium/VideoLayerChromium.h: (VideoLayerChromium): 2012-02-23 MORITA Hajime This test checks select attribute of content element is valid. https://bugs.webkit.org/show_bug.cgi?id=65595 Reviewed by Dimitri Glazkov. This change introduces FrameTree::scopedChild() and FrameTree::scopedChild(), which can be used for scope-aware frame lookup. Using these, the named accessor and the indexed acceccor on Document, and Window.length are now TreeScope aware. They don't count iframes in Shadow DOM. This change also removes FrameTree::m_childCount since Frame::childCount() is no longer in the hot path. m_scopedChildCount is added instead. Test: fast/dom/shadow/iframe-shadow.html * bindings/js/JSDOMWindowCustom.cpp: (WebCore::childFrameGetter): (WebCore::indexGetter): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertyDescriptor): * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::indexedPropertyGetter): (WebCore::V8DOMWindow::namedPropertyGetter): (WebCore::V8DOMWindow::namedSecurityCheck): (WebCore::V8DOMWindow::indexedSecurityCheck): * page/DOMWindow.cpp: (WebCore::DOMWindow::length): * page/Frame.cpp: (WebCore::Frame::inScope): (WebCore): * page/Frame.h: (WebCore): (Frame): * page/FrameTree.cpp: (WebCore::FrameTree::actuallyAppendChild): (WebCore::FrameTree::removeChild): (WebCore::FrameTree::scopedChild): (WebCore): (WebCore::FrameTree::scopedChildCount): (WebCore::FrameTree::childCount): * page/FrameTree.h: (WebCore): (FrameTree): (WebCore::FrameTree::FrameTree): 2012-02-23 Philip Rogers Recompute font metrics on scale changes https://bugs.webkit.org/show_bug.cgi?id=75091 Reviewed by Nikolas Zimmermann. SVG text metrics depend on the transform from renderer to the svg root which requires that we propagate transform changes down to text. This change adds a boolean for tracking transform changes to SVGViewportContainers and SVGTransformableContainers, and updates RenderSVGText::layout() to recalculate text metrics if the transform of an ancestor has changed. Tests: platform/mac/svg/text/text-rescale.html platform/mac/svg/text/text-viewbox-rescale.html svg/text/text-rescale.html svg/text/text-viewbox-rescale.html * rendering/RenderObject.h: (WebCore::RenderObject::isSVGTransformableContainer): (WebCore::RenderObject::isSVGViewportContainer): * rendering/svg/RenderSVGContainer.h: (WebCore::RenderSVGContainer::didTransformToRootUpdate): * rendering/svg/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::RenderSVGText): (WebCore::RenderSVGText::layout): * rendering/svg/RenderSVGText.h: (WebCore::RenderSVGText::setNeedsTextMetricsUpdate): (RenderSVGText): * rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): * rendering/svg/RenderSVGTransformableContainer.h: (WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer): (WebCore::RenderSVGTransformableContainer::didTransformToRootUpdate): (RenderSVGTransformableContainer): * rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): (WebCore::RenderSVGViewportContainer::calcViewport): * rendering/svg/RenderSVGViewportContainer.h: (WebCore::RenderSVGViewportContainer::didTransformToRootUpdate): (RenderSVGViewportContainer): * rendering/svg/SVGRenderSupport.cpp: (WebCore::SVGRenderSupport::transformToRootChanged): (WebCore): (WebCore::SVGRenderSupport::layoutChildren): * rendering/svg/SVGRenderSupport.h: (SVGRenderSupport): 2012-02-21 James Robinson [chromium] Notify compositor of wheel event registration via ScrollingCoordinator https://bugs.webkit.org/show_bug.cgi?id=79133 Reviewed by Dimitri Glazkov. This notifies the chromium compositor of changes to the number of wheel event handlers via ScrollingCoordinator instead of through ChromeClient/WebViewImpl. This is the path we'll use for other properties in the future and is more extensible for handling things other than the root layer. Property behavior is covered by new unit tests in LayerChromiumTests and CCLayerTreeHostImplTest. * page/scrolling/ScrollingCoordinator.cpp: * page/scrolling/ScrollingCoordinator.h: (WebCore): (ScrollingCoordinator): Add a ScrollingCoordinatorPrivate so implementations can tack on additional data without having to #ifdef up ScrollingCoordinator.h/cpp * page/scrolling/ScrollingCoordinatorNone.cpp: (WebCore): (WebCore::ScrollingCoordinator::~ScrollingCoordinator): * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: (ScrollingCoordinatorPrivate): ScrollingCoordinatorPrivate in the chromium implementation keeps a reference to the scroll layer. (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate): (WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate): (WebCore::ScrollingCoordinatorPrivate::setScrollLayer): (WebCore::ScrollingCoordinatorPrivate::scrollLayer): (WebCore): (WebCore::ScrollingCoordinator::create): (WebCore::ScrollingCoordinator::~ScrollingCoordinator): (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::setScrollLayer): (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): (WebCore::ScrollingCoordinator::setScrollParameters): (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): * page/scrolling/mac/ScrollingCoordinatorMac.mm: (WebCore): (WebCore::ScrollingCoordinator::~ScrollingCoordinator): * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::setHaveWheelEventHandlers): (WebCore): (WebCore::LayerChromium::pushPropertiesTo): * platform/graphics/chromium/LayerChromium.h: (LayerChromium): * platform/graphics/chromium/cc/CCInputHandler.h: * platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::CCLayerImpl): * platform/graphics/chromium/cc/CCLayerImpl.h: (WebCore::CCLayerImpl::haveWheelEventHandlers): (WebCore::CCLayerImpl::setHaveWheelEventHandlers): (CCLayerImpl): * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::CCLayerTreeHost::CCLayerTreeHost): (WebCore::CCLayerTreeHost::finishCommitOnImplThread): * platform/graphics/chromium/cc/CCLayerTreeHost.h: (CCLayerTreeHost): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): (WebCore::CCLayerTreeHostImpl::scrollBegin): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: (CCLayerTreeHostImpl): 2012-02-23 No'am Rosenthal [Qt][WK2] Clipping is broken https://bugs.webkit.org/show_bug.cgi?id=78677 Reviewed by Simon Hausmann. Rework the clipping stack in TextureMapperGL. Instead of saving a stack of IntRect scissor clips, we save every clipping change in the stack, and reapply it when we end the clip. Popping the stack is almost free, since we don't reapply the stencil but simply change the stencil test index. In addition, we don't use a special shader for clipping, and we don't apply clipping for masked children, since they're already clipped because they're rendered into an intermediate buffer. This fixes exiting tests in LayoutTests/compositing/overflow. It also fixes asserts in the leaves demo, as well as asserts in nytimes.com and other sites. * page/FrameView.cpp: (WebCore::FrameView::paintContents): * platform/graphics/texmap/TextureMapperGL.cpp: (ClipState): (WebCore::TextureMapperGLData::SharedGLData::ClipState::ClipState): (SharedGLData): (WebCore::TextureMapperGLData::SharedGLData::pushClipState): (WebCore::TextureMapperGLData::SharedGLData::popClipState): (WebCore::TextureMapperGLData::SharedGLData::scissorClip): (WebCore::TextureMapperGLData::SharedGLData::applyCurrentClip): (TextureMapperGLData): (BitmapTextureGL): (WebCore::TextureMapperGLData::initStencil): (WebCore): (WebCore::TextureMapperGL::beginPainting): (WebCore::TextureMapperGL::endPainting): (WebCore::TextureMapperGL::drawTexture): (WebCore::BitmapTextureGL::initStencil): (WebCore::BitmapTextureGL::bind): (WebCore::BitmapTextureGL::destroy): (WebCore::TextureMapperGL::bindSurface): (WebCore::TextureMapperGL::beginScissorClip): (WebCore::TextureMapperGL::beginClip): (WebCore::TextureMapperGL::endClip): * platform/graphics/texmap/TextureMapperLayer.cpp: (WebCore::TextureMapperLayer::paintSelfAndChildren): * platform/graphics/texmap/TextureMapperShaderManager.cpp: * platform/graphics/texmap/TextureMapperShaderManager.h: 2012-02-23 Sheriff Bot Unreviewed, rolling out r108685. http://trac.webkit.org/changeset/108685 https://bugs.webkit.org/show_bug.cgi?id=79414 Broke Chromium builds (Requested by enne on #webkit). * Target.pri: * WebCore.pri: * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding): * platform/image-decoders/ImageDecoder.h: (WebCore::ImageFrame::getAddr): (ImageFrame): * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: * platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore): * platform/image-decoders/qt/ImageFrameQt.cpp: 2012-02-23 Koji Ishii CSS2:text-decoration: element should not inherit text-decoration property https://bugs.webkit.org/show_bug.cgi?id=71266 Reviewed by Kentaro Hara. Tests: fast/ruby/text-decoration-in-descendants-ruby-expected.html fast/ruby/text-decoration-in-descendants-ruby.html The spec says "text decorations are not propagated to any out-of-flow descendants": http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration Floats etc. are fixed in bug 18611, but is not inline either and therefore it should be included; it was confirmed at a discussion at www-style. http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html * rendering/RenderObject.cpp: (WebCore::RenderObject::getTextDecorationColors): 2012-02-23 Zoltan Horvath [Qt] Allow to use WebCore imagedecoders https://bugs.webkit.org/show_bug.cgi?id=32410 Add ENABLE(QT_IMAGE_DECODER) guards around Qt imagedecoders and set it to default. By passing ENABLE_QT_IMAGE_DECODER=0 define to the build system WebKit will build with WebCore's imagedecoders. I added NO_RETURN attribute to 2 functions of PNG and JPEG decoders to avoid compiler warnings because in Qt-port we treat warning as errors (-Werror). I'm continuing the refactoring of this area and try to use Qt imagedecoders only in cases when WebCore doesn't support the image format. Reviewed by Simon Hausmann. No behavior change, no need new tests. * Target.pri: * WebCore.pri: * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding): * platform/image-decoders/ImageDecoder.h: (WebCore::ImageFrame::getAddr): (ImageFrame): * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: NO_RETURN has been added to a function to avoid warning message. * platform/image-decoders/png/PNGImageDecoder.cpp: NO_RETURN has been added to a function to avoid warning message. (WebCore): * platform/image-decoders/qt/ImageFrameQt.cpp: (WebCore): (WebCore::ImageFrame::asNewNativeImage): 2012-02-23 Dana Jansens [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class. https://bugs.webkit.org/show_bug.cgi?id=75864 Reviewed by James Robinson. * platform/graphics/chromium/cc/CCLayerIterator.cpp: (WebCore::CCLayerIteratorActions::BackToFront::begin): (WebCore::CCLayerIteratorActions::BackToFront::end): (WebCore::CCLayerIteratorActions::BackToFront::next): (WebCore::CCLayerIteratorActions::FrontToBack::begin): (WebCore::CCLayerIteratorActions::FrontToBack::end): (WebCore::CCLayerIteratorActions::FrontToBack::next): (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree): * platform/graphics/chromium/cc/CCLayerIterator.h: (WebCore::CCLayerIterator::CCLayerIterator): (WebCore::CCLayerIterator::operator++): (WebCore::CCLayerIterator::operator==): (WebCore::CCLayerIterator::operator->): (WebCore::CCLayerIterator::operator*): (WebCore::CCLayerIterator::representsTargetRenderSurface): (WebCore::CCLayerIterator::representsContributingRenderSurface): (WebCore::CCLayerIterator::currentLayer): (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface): (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface): (WebCore::CCLayerIterator::targetRenderSurfaceLayer): (WebCore::CCLayerIterator::targetRenderSurface): (WebCore::CCLayerIterator::targetRenderSurfaceChildren): * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed. 2012-02-23 Daniel Sievers [Chromium] Add video stream texture support https://bugs.webkit.org/show_bug.cgi?id=78398 This upstreams the abstraction used on Android for hardware video decoding with the compositor. Most of the interfaces are kept generic and the core of this change is to allow texturing from an external texture while receiving notifications (on the compositor thread if we are running it) when there are new frames to be displayed. Reviewed by James Robinson. * platform/graphics/chromium/Extensions3DChromium.h: * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad): (WebCore::LayerRendererChromium::drawRGBA): (WebCore::LayerRendererChromium::drawNativeTexture): (WebCore): (WebCore::LayerRendererChromium::drawStreamTexture): (WebCore::LayerRendererChromium::drawVideoQuad): (WebCore::LayerRendererChromium::streamTextureLayerProgram): (WebCore::LayerRendererChromium::cleanupSharedObjects): * platform/graphics/chromium/LayerRendererChromium.h: (LayerRendererChromium): * platform/graphics/chromium/ShaderChromium.cpp: (WebCore::VertexShaderVideoTransform::VertexShaderVideoTransform): (WebCore): (WebCore::VertexShaderVideoTransform::init): (WebCore::VertexShaderVideoTransform::getShaderString): (WebCore::FragmentShaderOESImageExternal::init): (WebCore::FragmentShaderOESImageExternal::getShaderString): * platform/graphics/chromium/ShaderChromium.h: (VertexShaderVideoTransform): (WebCore::VertexShaderVideoTransform::matrixLocation): (WebCore::VertexShaderVideoTransform::texTransformLocation): (WebCore::VertexShaderVideoTransform::texMatrixLocation): (WebCore): (FragmentShaderOESImageExternal): * platform/graphics/chromium/VideoFrameChromium.h: * platform/graphics/chromium/VideoFrameProvider.h: (Client): (VideoFrameProvider): * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: (WebCore::CCVideoDrawQuad::CCVideoDrawQuad): * platform/graphics/chromium/cc/CCVideoDrawQuad.h: (WebCore::CCVideoDrawQuad::matrix): (CCVideoDrawQuad): (WebCore::CCVideoDrawQuad::setMatrix): * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: (WebCore): (WebCore::CCVideoLayerImpl::CCVideoLayerImpl): (WebCore::convertVFCFormatToGC3DFormat): (WebCore::CCVideoLayerImpl::appendQuads): (WebCore::CCVideoLayerImpl::didReceiveFrame): (WebCore::CCVideoLayerImpl::didUpdateMatrix): (WebCore::CCVideoLayerImpl::setNeedsRedraw): * platform/graphics/chromium/cc/CCVideoLayerImpl.h: (WebCore): (CCVideoLayerImpl): 2012-02-23 Stephen White [chromium] Implement drop-shadow() CSS filter on composited layers. https://bugs.webkit.org/show_bug.cgi?id=79386 Reviewed by James Robinson. Covered by css3/filters/effect-drop-shadow-hw.html * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: (WebCore::CCRenderSurfaceFilters::apply): * platform/graphics/filters/FilterOperation.h: (WebCore::DropShadowFilterOperation::movesPixels): 2012-02-23 Erik Arvidsson Add support for InterfaceName in the bindings https://bugs.webkit.org/show_bug.cgi?id=79384 Reviewed by Adam Barth. This makes the interface name part of the idl file instead of being hard coded into the code generators. * bindings/scripts/CodeGenerator.pm: (GetVisibleInterfaceName): Extracted from CodeGenerator{JS,V8}.pm and changed to look at the extended attribute. * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): (GenerateConstructorDefinition): * bindings/scripts/CodeGeneratorV8.pm: (GenerateImplementation): * bindings/scripts/IDLAttributes.txt: * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/V8/V8TestObj.cpp: (WebCore::ConfigureV8TestObjTemplate): * dom/DOMCoreException.idl: Set the InterfaceName. * html/DOMFormData.idl: Ditto. * plugins/DOMMimeType.idl: Ditto. * plugins/DOMMimeTypeArray.idl: Ditto. * plugins/DOMPlugin.idl: Ditto. * plugins/DOMPluginArray.idl: Ditto. 2012-02-22 Ryosuke Niwa REGRESSION(r99076): WebKit pastes the trailing newline into a single-line text field https://bugs.webkit.org/show_bug.cgi?id=79305 Reviewed by Tony Chang. The bug was caused by ReplacementFragment::m_hasInterchangeNewlineAtEnd not reset even when text field's beforeTextInserted event handler removed interchange new lines at the end. Because the event handler is responsible for trimming new lines, we need to recompute the values for m_hasInterchangeNewlineAt* after the event dispatch. Test: editing/input/paste-text-ending-with-interchange-newline.html * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): 2012-02-23 Andreas Kling Make use of StylePropertySet::setProperty(propertyID, CSSValue). Reviewed by Antti Koivisto. Use the new setProperty() overload that takes a CSSValue in more places. This allows us to get rid of 1/3 setProperty() overloads that don't expand shorthands. * css/StylePropertySet.h: * css/StylePropertySet.cpp: Remove the setProperty() overload for specific primitive value types. StyledElement can take care of this without help from StylePropertySet. * dom/StyledElement.h: * dom/StyledElement.cpp: (WebCore::StyledElement::setInlineStyleProperty): (WebCore::StyledElement::addPropertyToAttributeStyle): Switch some functions over to using the setProperty() overload that takes a CSSValue. * html/HTMLElement.cpp: (WebCore::HTMLElement::applyBorderAttributeToStyle): * html/HTMLHRElement.cpp: (WebCore::HTMLHRElement::collectStyleForAttribute): * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::collectStyleForAttribute): * html/HTMLTablePartElement.cpp: (WebCore::HTMLTablePartElement::collectStyleForAttribute): Use shorthands where possible to shrink the code a bit. Pass border widths as CSS_PX values directly instead of making a CSSParser round-trip. 2012-02-23 Kevin Ollivier [wx] Build fix, use the strings in LocalizedStrings.cpp. * platform/wx/LocalizedStringsWx.cpp: (WebCore::localizedString): (WebCore): 2012-02-23 Alok Priyadarshi Microsoft IE fishtank demo causes assertion in RenderLayer::convertToLayerCoords https://bugs.webkit.org/show_bug.cgi?id=61964 Reviewed by James Robinson. The assertion is caused with the following callstack: WebCore::RenderLayer::convertToLayerCoords WebCore::RenderLayerCompositor::layerWillBeRemoved WebCore::RenderLayer::removeChild WebCore::RenderLayer::removeOnlyThisLayer WebCore::RenderLayer::removeOnlyThisLayer removes itself from the parent before moving its children to its parent. When WebCore::RenderLayer::convertToLayerCoords is called for one of the children, it tries to walk to root only to stop at the immediate parent which was disconnected from the tree in WebCore::RenderLayer::removeOnlyThisLayer. If removal of layer is delayed until the children has been moved, the ASSERT is avoided. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::removeOnlyThisLayer): 2012-02-23 Matthew Delaney Fix for canvas breakage caused by r108597 from the following: https://bugs.webkit.org/show_bug.cgi?id=79317 Reviewed by Oliver Hunt. * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer): 2012-02-23 Pavel Feldman Web Inspector: mad Redo to Cmd+Shift+Z, not Cmd+Y on a Mac. https://bugs.webkit.org/show_bug.cgi?id=79341 Reviewed by Timothy Hatcher. * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.handleShortcut): 2012-02-23 Ryosuke Niwa Mac build fix after 108629. * WebCore.exp.in: 2012-02-23 Tom Sepez [chromium] XSS Auditor bypass via javascript url and control characters https://bugs.webkit.org/show_bug.cgi?id=79154 Reviewed by Adam Barth. Test: http/tests/security/xssAuditor/javascript-link-control-char2.html * html/parser/XSSAuditor.cpp: (WebCore): (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected): 2012-02-23 Patrick Gansterer [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro https://bugs.webkit.org/show_bug.cgi?id=79371 Reviewed by Daniel Bates. * CMakeLists.txt: 2012-02-23 Julien Chaffraix Cleanup RenderBlock::moveChildrenTo https://bugs.webkit.org/show_bug.cgi?id=79319 Reviewed by Eric Seidel. Refactoring, no change in behavior expected. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::moveChildrenTo): Removed inline check that was redundant, switched to |while| to a |for| to show what's going on more closely and adds a call to moveChildTo to share more code between the 2 functions. 2012-02-23 Simon Hausmann [Qt] Add support for touch cancellation https://bugs.webkit.org/show_bug.cgi?id=79348 Reviewed by Kenneth Rohde Christiansen. Map Qt touch cancel events to the WebCore equivalent. No new tests, unskipped existing test for Qt 5. * platform/PlatformTouchPoint.h: (PlatformTouchPoint): * platform/qt/PlatformTouchEventQt.cpp: (WebCore::PlatformTouchEvent::PlatformTouchEvent): * platform/qt/PlatformTouchPointQt.cpp: (WebCore::PlatformTouchPoint::PlatformTouchPoint): 2012-02-23 Erik Arvidsson Unreviewed. Rebaseline binding test files. * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: (webkit_dom_test_interface_supplemental_method1): (webkit_dom_test_interface_supplemental_method2): (webkit_dom_test_interface_get_supplemental_str1): (webkit_dom_test_interface_get_supplemental_str2): (webkit_dom_test_interface_set_supplemental_str2): (webkit_dom_test_interface_get_supplemental_node): (webkit_dom_test_interface_set_supplemental_node): (webkit_dom_test_interface_set_property): (webkit_dom_test_interface_get_property): 2012-02-23 Anders Carlsson Crash in ScrollElasticityController::snapRubberBandTimerFired() https://bugs.webkit.org/show_bug.cgi?id=79372 Reviewed by Andreas Kling. Invalidate the rubber-band timer in the ScrollingTreeNodeMac destructor. * page/scrolling/mac/ScrollingTreeNodeMac.h: (ScrollingTreeNodeMac): * page/scrolling/mac/ScrollingTreeNodeMac.mm: (WebCore::ScrollingTreeNodeMac::~ScrollingTreeNodeMac): (WebCore): 2012-02-23 Pavel Feldman Web Inspector: add experiment that loads stylesheets as links https://bugs.webkit.org/show_bug.cgi?id=79340 Reviewed by Timothy Hatcher. * inspector/front-end/Settings.js: (WebInspector.ExperimentsSettings): * inspector/front-end/View.js: (WebInspector.View.prototype._doLoadCSS): 2012-02-23 Adam Roben Mac build fix after r108615 * WebCore.exp.in: Added a missing export. 2012-02-23 Adam Barth Move MediaStream related declarations from DOMWindow to DOMWindowMediaStream https://bugs.webkit.org/show_bug.cgi?id=79343 Reviewed by Eric Seidel. These declarations belong in the MEDIA_STREAM module. * GNUmakefile.list.am: * WebCore.gypi: * mediastream/DOMWindowMediaStream.idl: Added. * page/DOMWindow.idl: 2012-02-22 Igor Oliveira Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2) https://bugs.webkit.org/show_bug.cgi?id=38025 This patchs implements updateAnimationTimerForRenderer, it just checks the timeToNextService for the current RenderObject reducing the amount of iterations. Reviewed by Simon Fraser. * page/animation/AnimationController.cpp: (WebCore): (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer): (WebCore::AnimationController::updateAnimations): * page/animation/AnimationControllerPrivate.h: (AnimationControllerPrivate): 2012-02-22 Hajime Morrita NOTIFICATIONS should be implemented as PageSupplement https://bugs.webkit.org/show_bug.cgi?id=79052 Reviewed by Adam Barth. Turned NotificationController to a PageSupplement. No new tests. No behavior change. * notifications/NotificationController.cpp: (WebCore::NotificationController::clientFrom): (WebCore): (WebCore::NotificationController::supplementName): (WebCore::provideNotification): * notifications/NotificationController.h: (NotificationController): (WebCore::NotificationController::from): * notifications/NotificationPresenter.h: (WebCore): * page/DOMWindow.cpp: (WebCore::DOMWindow::webkitNotifications): * page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::PageClients::PageClients): * page/Page.h: (WebCore): (PageClients): (Page): 2012-02-22 Dmitry Lomov [Chromium][V8] Support Uint8ClampedArray in postMessage https://bugs.webkit.org/show_bug.cgi?id=79291. Reviewed by Kenneth Russell. Covered by existing tests. * bindings/v8/SerializedScriptValue.cpp: 2012-02-22 Kentaro Hara Enable Geolocation bindings for GObject https://bugs.webkit.org/show_bug.cgi?id=79293 Reviewed by Adam Barth. This patch adds "WebCore::" to supplemental method calls. This will solve the GTK build failure we have observed in the Geolocation API, and thus this patch enables the Geolocation API. * Modules/geolocation/NavigatorGeolocation.idl: * bindings/scripts/CodeGeneratorGObject.pm: (GenerateProperty): (GenerateFunction): 2012-02-22 MORITA Hajime [Refactoring] Align supplementName() values. https://bugs.webkit.org/show_bug.cgi?id=79311 Reviewed by Adam Barth. No new tests. No behavioral change. * dom/DeviceOrientationController.cpp: (WebCore::DeviceOrientationController::supplementName): * mediastream/UserMediaController.cpp: (WebCore::UserMediaController::supplementName): 2012-02-22 Yuta Kitamura Unreviewed, rolling out r108602. http://trac.webkit.org/changeset/108602 https://bugs.webkit.org/show_bug.cgi?id=78878 Caused a couple of layout test failures on Chromium bots. * dom/Element.cpp: (WebCore::Element::childShouldCreateRenderer): * dom/Element.h: (Element): * dom/Node.h: (WebCore::Node::childShouldCreateRenderer): * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::shouldCreateRenderer): * dom/NodeRenderingContext.h: (NodeRenderingContext): * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::childShouldCreateRenderer): * html/HTMLDetailsElement.h: (HTMLDetailsElement): * html/HTMLMediaElement.cpp: (WebCore): * html/HTMLMediaElement.h: (HTMLMediaElement): * html/HTMLMeterElement.cpp: * html/HTMLMeterElement.h: (HTMLMeterElement): * html/HTMLProgressElement.cpp: * html/HTMLProgressElement.h: (HTMLProgressElement): * html/HTMLSelectElement.cpp: * html/HTMLSelectElement.h: (HTMLSelectElement): * html/HTMLSummaryElement.cpp: * html/HTMLSummaryElement.h: (HTMLSummaryElement): * html/HTMLTextFormControlElement.cpp: * html/HTMLTextFormControlElement.h: (HTMLTextFormControlElement): * rendering/RenderButton.cpp: (WebCore::RenderButton::canHaveChildren): (WebCore): * rendering/RenderButton.h: (RenderButton): * rendering/RenderListBox.h: (WebCore::RenderListBox::canHaveChildren): (RenderListBox): * rendering/RenderMedia.h: * rendering/RenderMenuList.h: (WebCore::RenderMenuList::canHaveChildren): * rendering/RenderMeter.h: (WebCore::RenderMeter::canHaveChildren): * rendering/RenderProgress.h: (WebCore::RenderProgress::canHaveChildren): * rendering/RenderTextControl.h: (WebCore::RenderTextControl::canHaveChildren): * rendering/svg/RenderSVGRoot.h: (WebCore::RenderSVGRoot::canHaveChildren): * svg/SVGAElement.cpp: (WebCore::SVGAElement::childShouldCreateRenderer): * svg/SVGAElement.h: (SVGAElement): * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): * svg/SVGAltGlyphElement.h: (SVGAltGlyphElement): * svg/SVGDocument.cpp: (WebCore::SVGDocument::childShouldCreateRenderer): * svg/SVGDocument.h: (SVGDocument): * svg/SVGElement.cpp: (WebCore::SVGElement::childShouldCreateRenderer): * svg/SVGElement.h: (SVGElement): * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): * svg/SVGForeignObjectElement.h: (SVGForeignObjectElement): * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::childShouldCreateRenderer): * svg/SVGSwitchElement.h: (SVGSwitchElement): * svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::childShouldCreateRenderer): * svg/SVGTRefElement.h: (SVGTRefElement): * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::childShouldCreateRenderer): * svg/SVGTSpanElement.h: (SVGTSpanElement): * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::childShouldCreateRenderer): * svg/SVGTextElement.h: (SVGTextElement): * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::childShouldCreateRenderer): * svg/SVGTextPathElement.h: 2012-02-22 Abhishek Arya Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks. https://bugs.webkit.org/show_bug.cgi?id=79043 Reviewed by Julien Chaffraix. Tests: fast/runin/runin-div-before-child.html fast/runin/runin-table-before-child.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): handle the case of run-in elements and strengthen code to handle cases where beforeChild is incorrectly set. * rendering/RenderObject.h: remove anonymousContainer function since the new logic in RenderBlock does not need it. 2012-02-22 Hayato Ito Make ShadowRootList manage a node distribution. https://bugs.webkit.org/show_bug.cgi?id=79008 Reviewed by Dimitri Glazkov. The result of node distributions is currently stored in ShadowRoot. To support multiple ShadowRoots, such node distribution information should be managed in one place per shadow host. Now ShadowRootList takes this responsibility on behalf of owing multiple ShadowRoots. Clients should ask ShadowRootList for such information, not for each ShadowRoot. No tests. No change in behavior. * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::NodeRenderingContext): * dom/ShadowRoot.cpp: (WebCore::ShadowRoot::create): (WebCore::ShadowRoot::attach): * dom/ShadowRoot.h: (ShadowRoot): * dom/ShadowRootList.cpp: (WebCore::ShadowRootList::insertionPointFor): (WebCore): (WebCore::ShadowRootList::isSelectorActive): (WebCore::ShadowRootList::ensureSelector): * dom/ShadowRootList.h: (WebCore): (ShadowRootList): (WebCore::ShadowRootList::hasShadowRoot): (WebCore::ShadowRootList::youngestShadowRoot): (WebCore::ShadowRootList::oldestShadowRoot): (WebCore::ShadowRootList::selector): (WebCore::ShadowRootList::host): * html/shadow/HTMLContentElement.cpp: (WebCore::HTMLContentElement::attach): (WebCore::HTMLContentElement::detach): * html/shadow/HTMLContentSelector.cpp: (WebCore::HTMLContentSelector::willSelectOver): * html/shadow/HTMLContentSelector.h: (HTMLContentSelector): 2012-02-22 Wei James Add multi channels support in AudioBus and AudioBufferSourceNode https://bugs.webkit.org/show_bug.cgi?id=79017 Reviewed by Chris Rogers. Tests: webaudio/up-mixing-mono-51.html webaudio/up-mixing-mono-stereo.html webaudio/up-mixing-stereo-51.html * platform/audio/AudioBus.cpp: (WebCore::AudioBus::copyFrom): (WebCore::AudioBus::sumFrom): (WebCore::AudioBus::processWithGainFromMonoStereo): (WebCore::AudioBus::processWithGainFrom): 2012-02-22 Kentaro Hara [Supplemental] should support constants https://bugs.webkit.org/show_bug.cgi?id=79303 Reviewed by Adam Barth. Given that we have interface [Supplemental=Y] X { constant int A = 123; } then the code generator should generate X::A to refer to the constant. However, the current code generator generates Y::A instead. This patch fixes it. Test: bindings/scripts/test/TestSupplemental.idl * bindings/scripts/CodeGenerator.pm: Modified as described above. (GenerateCompileTimeCheckForEnumsIfNeeded): * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results. (WebCore): * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto. (WebCore): * page/DOMWindow.h: Moved DOMWindow::FileSystemType to DOMWindowFileSystem::FileSystemType. (DOMWindow): * fileapi/DOMWindowFileSystem.h: Ditto. (DOMWindowFileSystem): * fileapi/DOMWindowFileSystem.cpp: Ditto. (WebCore): 2012-02-22 MORITA Hajime Adding a ShadowRoot to image-backed element causes a crash https://bugs.webkit.org/show_bug.cgi?id=78878 Reviewed by Dimitri Glazkov. The crash happened because NodeRenderingContext tried to append a child to a renderer regardless one isn't capable of holding any children if it appears in the shadow attaching phase. RenderImage is one of such renderer classes which aren't capable. NodeRenderingContext decide whether the contextual node as a child can create its renderer based on RenderObject::canHaveChildren() and Node::childShouldCreateRenderer(). But the responsibility between these two methods are getting confused. which results this unfortuante crash path. This change re-aligns the responsibility: - Now canHaveChildren() purely declares the ability of the renderer. If the renderer is capable of having children, it return true regardless of HTML semantics. - On the other hand, childShouldCreateRenderer() cares about the semantics. If the element doesn't allow children to be rendered, this returns false. - Note that these decision on elements are contextual. Each element needs to know which role it is playing in the tree composition algorithm of Shadow DOM. That's why the method parameter is changed from Node* to NodeRenderingContext. With this change, some decision points are moved from a renderer to an element. Following renderers no longer stop reject having children: - RenderButton, RenderListBox, RenderMenuList, RenderMeter, RenderProgress, RenderTextControl. Corresponding element for such a render (HTMLProgressElement of RenderProgress for exaple) now cares about that. Tests: fast/dom/shadow/shadow-on-image-expected.html fast/dom/shadow/shadow-on-image.html * dom/Element.cpp: (WebCore::Element::childShouldCreateRenderer): * dom/Element.h: (Element): * dom/Node.h: * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::shouldCreateRenderer): * dom/NodeRenderingContext.h: (NodeRenderingContext): (WebCore::NodeRenderingContext::isOnEncapsulationBoundary): (WebCore): * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::childShouldCreateRenderer): * html/HTMLDetailsElement.h: (HTMLDetailsElement): * html/HTMLMeterElement.cpp: (WebCore::HTMLMeterElement::childShouldCreateRenderer): (WebCore): * html/HTMLMeterElement.h: (HTMLMeterElement): * html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::childShouldCreateRenderer): * html/HTMLMediaElement.h: * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::childShouldCreateRenderer): (WebCore): * html/HTMLProgressElement.h: (HTMLProgressElement): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::childShouldCreateRenderer): (WebCore): * html/HTMLSelectElement.h: (HTMLSelectElement): * html/HTMLSummaryElement.cpp: * html/HTMLSummaryElement.h: (HTMLSummaryElement): * html/HTMLTextFormControlElement.cpp: * html/HTMLTextFormControlElement.h: (HTMLTextFormControlElement): * rendering/RenderButton.cpp: * rendering/RenderButton.h: (RenderButton): * rendering/RenderListBox.h: (RenderListBox): * rendering/RenderMedia.h: (WebCore::RenderMedia::canHaveChildren): * rendering/RenderMenuList.h: * rendering/RenderMeter.h: * rendering/RenderProgress.h: * rendering/RenderTextControl.h: * rendering/svg/RenderSVGRoot.h: * svg/SVGAElement.cpp: (WebCore::SVGAElement::childShouldCreateRenderer): * svg/SVGAElement.h: (SVGAElement): * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): * svg/SVGAltGlyphElement.h: (SVGAltGlyphElement): * svg/SVGDocument.cpp: (WebCore::SVGDocument::childShouldCreateRenderer): * svg/SVGDocument.h: (SVGDocument): * svg/SVGElement.cpp: (WebCore::SVGElement::childShouldCreateRenderer): * svg/SVGElement.h: (SVGElement): * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): * svg/SVGForeignObjectElement.h: (SVGForeignObjectElement): * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::childShouldCreateRenderer): * svg/SVGSwitchElement.h: (SVGSwitchElement): * svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::childShouldCreateRenderer): * svg/SVGTRefElement.h: (SVGTRefElement): * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::childShouldCreateRenderer): * svg/SVGTSpanElement.h: (SVGTSpanElement): * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::childShouldCreateRenderer): * svg/SVGTextElement.h: (SVGTextElement): * svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::childShouldCreateRenderer): * svg/SVGTextPathElement.h: 2012-02-22 Yong Li [BlackBerry] NetworkJob can access deleted objects. https://bugs.webkit.org/show_bug.cgi?id=79246 Reviewed by Antonio Gomes. When a NetworkJob is created by unload handler, we still need to send the request to the server, but we shouldn't save and keep using the Frame pointer because the frame is being detached. The NetworkJob will be cancelled by PingLoader as soon as it gets first response from host. Also see https://bugs.webkit.org/show_bug.cgi?id=30457. No new tests because existing test case is good enough like LayoutTests/http/tests/navigation/image-load-in-unload-handler.html. * platform/network/blackberry/NetworkJob.cpp: (WebCore::NetworkJob::NetworkJob): (WebCore::NetworkJob::initialize): 2012-02-22 Kenichi Ishibashi [WebSocket] Remove zlib.h from WebSocketDeflater.h https://bugs.webkit.org/show_bug.cgi?id=79298 Use forward declaration and OwnPtr for z_stream to move zlib.h from .h file to .cpp file. Reviewed by Kent Tamura. No new tests. No behavior change. * websockets/WebSocketDeflater.cpp: (WebCore::WebSocketDeflater::WebSocketDeflater): (WebCore::WebSocketDeflater::initialize): (WebCore::WebSocketDeflater::~WebSocketDeflater): (WebCore::setStreamParameter): (WebCore::WebSocketDeflater::addBytes): (WebCore::WebSocketDeflater::finish): (WebCore::WebSocketDeflater::reset): (WebCore::WebSocketInflater::WebSocketInflater): (WebCore::WebSocketInflater::initialize): (WebCore::WebSocketInflater::~WebSocketInflater): (WebCore::WebSocketInflater::addBytes): (WebCore::WebSocketInflater::finish): * websockets/WebSocketDeflater.h: (WebSocketDeflater): Use OwnPtr for m_stream. (WebSocketInflater): Ditto. 2012-02-22 James Robinson Remove GraphicsContext3D::paintsIntoCanvasBuffer and unify WebGL and canvas 2d logic https://bugs.webkit.org/show_bug.cgi?id=79317 Reviewed by Kenneth Russell. HTMLCanvasElement::paint needs to know whether to attempt to paint the canvas buffer for its context. In the case of an accelerated canvas or WebGL context, unless we are printing it is typically the composited layer's responsibility to present the contents and the element itself is only responsible for backgrounds, borders and the like. This removes a rather indirect path that WebGL content used to take to accomplish this and unifies the logic with CanvasRenderingContext2D's, which has the exact same needs. Covered by existing canvas layout tests. * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer): (WebCore): (WebCore::HTMLCanvasElement::paint): * html/HTMLCanvasElement.h: (HTMLCanvasElement): * html/canvas/CanvasRenderingContext.h: * html/canvas/CanvasRenderingContext2D.cpp: * html/canvas/CanvasRenderingContext2D.h: * html/canvas/WebGLRenderingContext.cpp: (WebCore): * html/canvas/WebGLRenderingContext.h: * platform/graphics/GraphicsContext3D.h: 2012-02-22 Pablo Flouret PopStateEvent.state should use the same object as history.state https://bugs.webkit.org/show_bug.cgi?id=77493 Reviewed by Kentaro Hara. Tests: fast/loader/stateobjects/state-attribute-history-getter.html fast/loader/stateobjects/state-attribute-popstate-event.html * bindings/js/JSPopStateEventCustom.cpp: (WebCore): (WebCore::cacheState): (WebCore::JSPopStateEvent::state): * bindings/v8/V8HiddenPropertyName.h: (WebCore): * bindings/v8/custom/V8HistoryCustom.cpp: (WebCore::V8History::stateAccessorGetter): (WebCore::V8History::pushStateCallback): (WebCore::V8History::replaceStateCallback): * bindings/v8/custom/V8PopStateEventCustom.cpp: (WebCore): (WebCore::cacheState): (WebCore::V8PopStateEvent::stateAccessorGetter): * dom/Document.cpp: (WebCore::Document::enqueuePopstateEvent): * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::PopStateEvent): (WebCore::PopStateEvent::create): * dom/PopStateEvent.h: (WebCore): (PopStateEvent): (WebCore::PopStateEvent::history): * dom/PopStateEvent.idl: * page/History.cpp: (WebCore::History::stateChanged): (WebCore): (WebCore::History::isSameAsCurrentState): * page/History.h: (History): 2012-02-22 Adam Klein Remove obsolete FIXMEs from ContainerNode https://bugs.webkit.org/show_bug.cgi?id=79295 Reviewed by Ryosuke Niwa. Each of these three identical FIXMEs has since been fixed by adding "RefPtr protect(this)" at the top of each method. * dom/ContainerNode.cpp: (WebCore::ContainerNode::insertBefore): (WebCore::ContainerNode::replaceChild): (WebCore::ContainerNode::removeChild): 2012-02-22 Dmitry Lomov [JSC] Implement ArrayBuffer and typed array cloning in JSC https://bugs.webkit.org/show_bug.cgi?id=79294 Reviewed by Oliver Hunt. Covered by existing tests. * bindings/js/SerializedScriptValue.cpp: (WebCore::typedArrayElementSize): (WebCore): (WebCore::CloneSerializer::dumpArrayBufferView): (CloneSerializer): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::readArrayBufferViewSubtag): (CloneDeserializer): (WebCore::CloneDeserializer::readArrayBuffer): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readTerminal): 2012-02-22 Adrienne Walker [chromium] Unreviewed speculative chromium-mac build fix. https://bugs.webkit.org/show_bug.cgi?id=75874 This broke in r108581. * platform/graphics/chromium/cc/CCLayerAnimationController.h: (WebCore): 2012-02-22 Raymond Toy exponentialRampToValue doesn't use starting value https://bugs.webkit.org/show_bug.cgi?id=78035 Reviewed by Chris Rogers. Test: webaudio/audioparam-exponentialRampToValueAtTime.html * webaudio/AudioParamTimeline.cpp: (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Set starting value for exponential ramp. 2012-02-22 Andreas Kling Make parsing color presentation attributes do less pointless work. Reviewed by Antti Koivisto. Let HTMLElement::addHTMLColorToStyle() construct the color CSSValue directly rather than passing a string that has to go through CSSParser. * css/StylePropertySet.cpp: (WebCore::StylePropertySet::setProperty): * css/StylePropertySet.h: Added a setProperty(propertyID, CSSValue) overload that expands shorthand properties if necessary. Also added a little comment about the behavior differences between setProperty() overloads. * html/HTMLElement.cpp: (WebCore::parseColorStringWithCrazyLegacyRules): Changed this to return an RGBA32. (WebCore::HTMLElement::addHTMLColorToStyle): Figure out the RGB value and construct a (pooled) CSSValue directly. 2012-02-22 Ian Vollick [chromium] Plumb from GraphicsLayer to the cc thread animation code https://bugs.webkit.org/show_bug.cgi?id=75874 Reviewed by James Robinson. * WebCore.gypi: * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: (WebCore::Settings::setThreadedAnimationEnabled): (WebCore::Settings::threadedAnimationEnabled): (Settings): * platform/graphics/chromium/GraphicsLayerChromium.cpp: (std): (WebCore::GraphicsLayerChromium::addChild): (WebCore::GraphicsLayerChromium::addAnimation): (WebCore): (WebCore::GraphicsLayerChromium::pauseAnimation): (WebCore::GraphicsLayerChromium::removeAnimation): (WebCore::GraphicsLayerChromium::suspendAnimations): (WebCore::GraphicsLayerChromium::resumeAnimations): (WebCore::GraphicsLayerChromium::setContentsToMedia): (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): (WebCore::GraphicsLayerChromium::mapAnimationNameToId): * platform/graphics/chromium/GraphicsLayerChromium.h: (GraphicsLayerChromium): * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::addAnimation): (WebCore): (WebCore::LayerChromium::pauseAnimation): (WebCore::LayerChromium::removeAnimation): (WebCore::LayerChromium::suspendAnimations): (WebCore::LayerChromium::resumeAnimations): (WebCore::LayerChromium::setLayerAnimationController): (WebCore::LayerChromium::pushPropertiesTo): * platform/graphics/chromium/LayerChromium.h: (WebCore): (LayerChromium): (WebCore::LayerChromium::layerAnimationController): (WebCore::LayerChromium::numChildren): * platform/graphics/chromium/cc/CCActiveAnimation.cpp: (WebCore::CCActiveAnimation::create): (WebCore): (WebCore::CCActiveAnimation::CCActiveAnimation): (WebCore::CCActiveAnimation::~CCActiveAnimation): (WebCore::CCActiveAnimation::isWaiting): (WebCore::CCActiveAnimation::isRunningOrHasRun): (WebCore::CCActiveAnimation::cloneForImplThread): (WebCore::CCActiveAnimation::synchronizeProperties): * platform/graphics/chromium/cc/CCActiveAnimation.h: (CCActiveAnimation): (WebCore::CCActiveAnimation::AnimationSignature::AnimationSignature): (AnimationSignature): (WebCore::CCActiveAnimation::id): (WebCore::CCActiveAnimation::group): (WebCore::CCActiveAnimation::signature): * platform/graphics/chromium/cc/CCAnimationCurve.h: (CCAnimationCurve): (CCTransformAnimationCurve): * platform/graphics/chromium/cc/CCAnimationEvents.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCAnimationCurve.h. (WebCore): (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent): (CCAnimationStartedEvent): * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: Added. (WebCore): (WebCore::CCLayerAnimationController::CCLayerAnimationController): (WebCore::CCLayerAnimationController::~CCLayerAnimationController): (WebCore::CCLayerAnimationController::create): (WebCore::CCLayerAnimationController::addAnimation): (WebCore::CCLayerAnimationController::pauseAnimation): (WebCore::CCLayerAnimationController::removeAnimation): (WebCore::CCLayerAnimationController::suspendAnimations): (WebCore::CCLayerAnimationController::resumeAnimations): (WebCore::CCLayerAnimationController::synchronizeAnimations): (WebCore::CCLayerAnimationController::removeCompletedAnimations): (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread): (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread): (WebCore::CCLayerAnimationController::pushAnimationProperties): (WebCore::CCLayerAnimationController::getActiveAnimation): (WebCore::CCLayerAnimationController::remove): * platform/graphics/chromium/cc/CCLayerAnimationController.h: Added. (WebCore): (CCLayerAnimationController): (WebCore::CCLayerAnimationController::activeAnimations): * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: (WebCore::CCLayerAnimationControllerImpl::~CCLayerAnimationControllerImpl): (WebCore): (WebCore::CCLayerAnimationControllerImpl::animate): (WebCore::CCLayerAnimationControllerImpl::add): (WebCore::CCLayerAnimationControllerImpl::getActiveAnimation): (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick): (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime): (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability): (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations): (WebCore::CCLayerAnimationControllerImpl::tickAnimations): * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: (CCLayerAnimationControllerImplClient): (CCLayerAnimationControllerImpl): * platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::CCLayerImpl): * platform/graphics/chromium/cc/CCLayerImpl.h: (CCLayerImpl): (WebCore::CCLayerImpl::id): (WebCore::CCLayerImpl::opacity): (WebCore::CCLayerImpl::transform): (WebCore::CCLayerImpl::bounds): (WebCore::CCLayerImpl::layerAnimationController): * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::CCLayerTreeHost::finishCommitOnImplThread): (WebCore::CCLayerTreeHost::setAnimationEvents): (WebCore): (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): * platform/graphics/chromium/cc/CCLayerTreeHost.h: (WebCore::CCSettings::CCSettings): (CCSettings): (CCLayerTreeHost): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): (WebCore::CCLayerTreeHostImpl::animate): (WebCore::CCLayerTreeHostImpl::animateLayersRecursive): (WebCore): (WebCore::CCLayerTreeHostImpl::animatePageScale): (WebCore::CCLayerTreeHostImpl::animateLayers): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: (CCLayerTreeHostImplClient): (CCLayerTreeHostImpl): (WebCore::CCLayerTreeHostImpl::needsAnimateLayers): (WebCore::CCLayerTreeHostImpl::setNeedsAnimateLayers): * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: (WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread): (WebCore): * platform/graphics/chromium/cc/CCSingleThreadProxy.h: (CCSingleThreadProxy): (WebCore): (DebugScopedSetMainThread): (WebCore::DebugScopedSetMainThread::DebugScopedSetMainThread): (WebCore::DebugScopedSetMainThread::~DebugScopedSetMainThread): * platform/graphics/chromium/cc/CCThreadProxy.cpp: (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread): (WebCore): (WebCore::CCThreadProxy::setAnimationEvents): * platform/graphics/chromium/cc/CCThreadProxy.h: (CCThreadProxy): 2012-02-22 Anders Carlsson Subframes with scrollable areas must be added to the non-fast scrollable region https://bugs.webkit.org/show_bug.cgi?id=79306 Reviewed by Andreas Kling. When computing the non-fast scrollable region, add subframes with scrollable regions to the region. * page/scrolling/ScrollingCoordinator.cpp: (WebCore::computeNonFastScrollableRegion): 2012-02-22 Nate Chapin CachedResourceLoader ignores the Range header in determineRavlidationPolicy(), resulting in incorrect cache hits. Reviewed by Adam Barth. Test: http/tests/xmlhttprequest/range-test.html Test written by Aaron Colwell (acolwell@chromium.org). * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::determineRevalidationPolicy): 2012-02-22 Antti Koivisto REGRESSION (r104060): Web font is not loaded if specified by link element dynamically inserted https://bugs.webkit.org/show_bug.cgi?id=79186 Reviewed by Andreas Kling. Test: fast/css/font-face-insert-link.html If a dynamically inserted stylesheet contains @font-face rules, we may fail to update the rendering. Before r104060 the style selector was destroyed on every style change, and the font selector along with it. This is no longer the case and we can't rely on comparing font selector pointers when comparing Fonts for equality. This patch adds version number to the font selector and checks it in Font::operator==. The version number is incremented when new font-face rules are added to the font selector. FontFallbackList is an object shared between Fonts so the extra field shouldn't matter much in terms of memory. * css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::CSSFontSelector): (WebCore::CSSFontSelector::addFontFaceRule): * css/CSSFontSelector.h: (CSSFontSelector): * platform/graphics/Font.cpp: (WebCore::Font::operator==): * platform/graphics/FontFallbackList.cpp: (WebCore::FontFallbackList::FontFallbackList): (WebCore::FontFallbackList::invalidate): * platform/graphics/FontFallbackList.h: (FontFallbackList): (WebCore::FontFallbackList::fontSelectorVersion): * platform/graphics/FontSelector.h: (FontSelector): 2012-02-22 Nate Chapin Prevent CachedRawResource from sending the same data chunk multiple times. https://bugs.webkit.org/show_bug.cgi?id=78810 Reviewed by Adam Barth. If a CachedRawResource receives data while a CachedRawResourceCallback timer is active, the incremental data will be sent to the client, followed but all data received so far, resulting in invalid data. Resolving this adds complexity to CachedRawResource and requires making a few more CachedResource functions virtual, so push the callback logic into CachedResource where it can be implemented more cleanly. Test: inspector/debugger/script-formatter-console.html should no longer be flaky. * loader/cache/CachedRawResource.cpp: CachedRawResourceCallback renamed and moved to CachedResource. (WebCore::CachedRawResource::didAddClient): More or less the same as sendCallbacks() was. * loader/cache/CachedRawResource.h: * loader/cache/CachedResource.cpp: (WebCore::CachedResource::addClient): Check the return value of addClientToSet() to determine whether or not to call didAddClient. (WebCore::CachedResource::didAddClient): May be called during addClient(), or may be called on a timer. If called on a timer, move the client between sets. (WebCore::CachedResource::addClientToSet): Determine whether didAddClient() can be called synchronously and return true if it can. (WebCore::CachedResource::removeClient): Ensure we cancel pending callbacks if necessary. (WebCore::CachedResource::CachedResourceCallback::CachedResourceCallback): Renamed and moved from CachedRawResource. * loader/cache/CachedResource.h: (WebCore::CachedResource::hasClients): Check m_clientsAwaitingCallback as well as m_clients. (WebCore::CachedResource::CachedResourceCallback::schedule): (WebCore::CachedResource::hasClient): Helper for calling contains() on both m_clientsAwaitingCallback and m_clients. 2012-02-22 Daniel Bates Update change log entry for r108561 to reflect removal of "if (m_dispatchSoonList.isEmpty())". https://bugs.webkit.org/show_bug.cgi?id=78840 Mention removal of unnecessary check for empty list m_dispatchSoonList in EventSender::cancelEvent(). Also, fix the date in the change log entry for changeset r108562 since it landed today (02/22/2012). 2012-02-22 Ryosuke Niwa Remove the remaining uses of CSSStyleDeclaration in Editor https://bugs.webkit.org/show_bug.cgi?id=78939 Reviewed by Enrica Casucci. Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection, applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration to StylePropertySet. * WebCore.exp.in: * WebCore.xcodeproj/project.pbxproj: * editing/Editor.cpp: (WebCore::Editor::applyStyle): (WebCore::Editor::shouldApplyStyle): (WebCore::Editor::applyParagraphStyle): (WebCore::Editor::applyStyleToSelection): (WebCore::Editor::applyParagraphStyleToSelection): (WebCore::Editor::setBaseWritingDirection): (WebCore::Editor::computeAndSetTypingStyle): * editing/Editor.h: (WebCore): (Editor): * editing/EditorCommand.cpp: (WebCore::applyCommandToFrame): (WebCore::executeApplyParagraphStyle): (WebCore::executeMakeTextWritingDirectionLeftToRight): (WebCore::executeMakeTextWritingDirectionNatural): (WebCore::executeMakeTextWritingDirectionRightToLeft): * loader/EmptyClients.h: (WebCore::EmptyEditorClient::shouldApplyStyle): * page/DragController.cpp: (WebCore::DragController::concludeEditDrag): * page/EditorClient.h: (WebCore): (EditorClient): 2012-02-22 Daniel Bates Abstract ImageEventSender into a general purpose EventSender https://bugs.webkit.org/show_bug.cgi?id=78840 Reviewed by Adam Barth. Abstract the functionality in ImageEventSender so that it can be used again. This functionality may be useful in fixing WebKit Bug #38995. No functionality was changed; no new tests. * GNUmakefile.list.am: Added EventSender.h. * Target.pri: Ditto. * WebCore.gypi: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * dom/EventSender.h: Added. (WebCore): (EventSender): (WebCore::EventSender::eventType): (WebCore::EventSender::hasPendingEvents): (WebCore::EventSender::timerFired): (WebCore::::EventSender): (WebCore::::dispatchEventSoon): (WebCore::::cancelEvent): Removed unnecessary check for empty list m_dispatchSoonList; As far as I can tell this is an artifact of using a QPtrList data structure for this functionality when it was originally in DocumentImpl::removeImage() (see ), which actually removed items from a list (as opposed to zeroing them out as we do now). (WebCore::::dispatchPendingEvents): * loader/ImageLoader.cpp: Modified to use EventSender. (WebCore): (WebCore::ImageLoader::dispatchPendingEvent): Added; called by EventSender when the ImageLoader should dispatch a pending BeforeLoad or Load event. * loader/ImageLoader.h: (WebCore): (ImageLoader): 2012-02-22 Max Vujovic Paddings and borders on root SVG element with viewbox causes child SVG elements to be rendered with the incorrect size https://bugs.webkit.org/show_bug.cgi?id=78613 Reviewed by Nikolas Zimmermann. When computing its localToBorderBoxTransform, RenderSVGRoot was using its width and height as the dimensions of the SVG viewport. However, width and height include CSS borders and paddings, which are not part of the SVG viewport area. Now, RenderSVGRoot uses its contentWidth and contentHeight, which correspond to the SVG viewport area. Tests: svg/custom/svg-root-padding-border-margin-expected.html svg/custom/svg-root-padding-border-margin.html * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform): 2012-02-22 Raphael Kubo da Costa [EFL] Get rid of GeolocationServiceEfl https://bugs.webkit.org/show_bug.cgi?id=79270 Reviewed by Adam Barth. These were just a bunch of dummy files with no real functionality, and removing them helps the preparation of bug 78853, which will make client-based geolocation the default. No new tests, this functionality was not used. * PlatformEfl.cmake: * platform/efl/GeolocationServiceEfl.cpp: Removed. * platform/efl/GeolocationServiceEfl.h: Removed. 2012-02-22 Julien Chaffraix Clean-up RenderTableSection::calcRowLogicalHeight https://bugs.webkit.org/show_bug.cgi?id=77705 Reviewed by Eric Seidel. Refactoring / simplication of the code. This change removes some variables that were unneeded and were hiding what the code was really doing. Also some of the code was split and moved down to RenderTableCell. * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::logicalHeightForRowSizing): * rendering/RenderTableCell.h: (RenderTableCell): Added the previous helper function to calculate the cell's adjusted logical height. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowLogicalHeight): Removed some variables, simplified the rowspan logic to be clearer (and added a comment about how we handle rowspans). 2012-02-22 Adam Barth Move FILE_SYSTEM code out of DOMWindow and into the fileapi folder https://bugs.webkit.org/show_bug.cgi?id=79259 Reviewed by Eric Seidel. This patch is part of our ongoing effort to remove ifdefs from code classes. The FILE_SYSTEM code in DOMWindow doesn't really have any necessary connection to DOMWindow. DOMWindow is just the context object that the API hangs off of. This patch moves the FILE_SYSTEM code into the fileapi folder using [Supplemental]. * CMakeLists.txt: * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * fileapi/DOMWindowFileSystem.cpp: Added. (WebCore): (WebCore::DOMWindowFileSystem::DOMWindowFileSystem): (WebCore::DOMWindowFileSystem::~DOMWindowFileSystem): (WebCore::DOMWindowFileSystem::webkitRequestFileSystem): (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL): * fileapi/DOMWindowFileSystem.h: Added. (WebCore): (DOMWindowFileSystem): * fileapi/DOMWindowFileSystem.idl: Added. * page/DOMWindow.cpp: (WebCore): * page/DOMWindow.h: (WebCore): (DOMWindow): * page/DOMWindow.idl: 2012-02-22 Luke Macpherson Re-implement many more HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macros in CSSStyleApplyProperty. https://bugs.webkit.org/show_bug.cgi?id=79200 Reviewed by Andreas Kling. No new tests / refactoring only. * css/CSSStyleApplyProperty.cpp: (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::collectMatchingRulesForList): * rendering/style/RenderStyle.h: 2012-02-22 Tom Sepez XSSAuditor bypass with tags and html-entities. https://bugs.webkit.org/show_bug.cgi?id=78836 Reviewed by Adam Barth. Tests: http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html http/tests/security/xssAuditor/script-tag-inside-svg-tag.html http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html * html/parser/XSSAuditor.cpp: (WebCore::isNonCanonicalCharacter): (WebCore::isTerminatingCharacter): (WebCore): (WebCore::startsHTMLCommentAt): (WebCore::startsSingleLineCommentAt): (WebCore::fullyDecodeString): (WebCore::XSSAuditor::XSSAuditor): (WebCore::XSSAuditor::init): (WebCore::XSSAuditor::filterToken): (WebCore::XSSAuditor::filterStartToken): (WebCore::XSSAuditor::filterEndToken): (WebCore::XSSAuditor::filterCharacterToken): (WebCore::XSSAuditor::filterScriptToken): (WebCore::XSSAuditor::filterObjectToken): (WebCore::XSSAuditor::filterParamToken): (WebCore::XSSAuditor::filterEmbedToken): (WebCore::XSSAuditor::filterAppletToken): (WebCore::XSSAuditor::filterIframeToken): (WebCore::XSSAuditor::filterMetaToken): (WebCore::XSSAuditor::filterBaseToken): (WebCore::XSSAuditor::filterFormToken): (WebCore::XSSAuditor::decodedSnippetForAttribute): (WebCore::XSSAuditor::snippetForJavaScript): * html/parser/XSSAuditor.h: (XSSAuditor): 2012-02-22 Anders Carlsson Crash when marking cached pages for full style recalc https://bugs.webkit.org/show_bug.cgi?id=79276 Reviewed by Beth Dakin. Guard against a null history item. * history/BackForwardController.cpp: (WebCore::BackForwardController::markPagesForFullStyleRecalc): 2012-02-22 Ken Buchanan Crash from empty anonymous block preceding :before content https://bugs.webkit.org/show_bug.cgi?id=78250 Reviewed by David Hyatt. RenderListMarkers getting removed from the tree in updateMarkerLocation() can leave parent anonymous blocks behind with no children. This was confusing updateBeforeAfterContent() because it does not expect an empty block to precede :before content renderers. Fix is to remove the anonymous block if it will lose all of its children. * rendering/RenderListItem.cpp: (WebCore::RenderListItem::updateMarkerLocation): 2012-02-22 Abhishek Arya Crash due to accessing removed parent lineboxes when clearing view selection. https://bugs.webkit.org/show_bug.cgi?id=79264 Reviewed by Eric Seidel. When our block needed a full layout, we were deleting our own lineboxes and letting descendant children (at any level in hierarchy and not just immediate children) clear their own lineboxes as we keep laying them out. This was problematic because those descendant children lineboxes were pointing to removed parent lineboxes in the meantime. An example scenario where this would go wrong is first-letter object removal, which can cause clearing view selection, leading to accessing parent lineboxes. The patch modifies clearing the entire linebox tree upfront. It shouldn't introduce performance issues since it will eventually happen as we are laying out those children. Test: fast/css-generated-content/first-letter-textbox-parent-crash.html * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): 2012-02-22 Abhishek Arya Cloning and linebox issues in multi-column layout. https://bugs.webkit.org/show_bug.cgi?id=78273 Reviewed by Eric Seidel. Tests: fast/multicol/span/clone-flexbox.html fast/multicol/span/clone-summary.html fast/multicol/span/textbox-not-removed-crash.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::clone): Fix cloning algorithm to take care of cloning descendant classes of RenderBlock. (WebCore::RenderBlock::splitBlocks): When we move our inline children to cloneBlock, we need to clear our entire line box tree. Any descendant child in the hierarchy could be a part of our line box tree and will never get cleared since the child has moved to new parent cloneBlock. 2012-02-22 Tim Dresser CCLayerTreeHostImpl calls didDraw more frequently than willDraw https://bugs.webkit.org/show_bug.cgi?id=79139 Reviewed by James Robinson. Ensure that didDraw is called if and only if willDraw was called previously. CCLayerTreeHostImplTest.didDrawNotCalledOnHiddenLayer has been added to ensure that hidden layers, for which willDraw is not called, will also not have didDraw called. * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::drawLayers): * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: (WebCore::CCVideoLayerImpl::didDraw): 2012-02-22 Levi Weintraub ScrollbarThemeComposite::thumbPosition uses the result of a divide by zero https://bugs.webkit.org/show_bug.cgi?id=78910 Reviewed by Eric Seidel. Adding a check to avoid doing a floating point divide by zero and assigning NaN to an integer. This causes problems with our conversion to subpixel layout, which asserts when we overflow. * platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::thumbPosition): 2012-02-22 Raymond Liu Have the DynamicsCompressorNode support multi-channel data https://bugs.webkit.org/show_bug.cgi?id=77856 Reviewed by Chris Rogers. * platform/audio/DynamicsCompressor.cpp: (WebCore::DynamicsCompressor::DynamicsCompressor): (WebCore::DynamicsCompressor::setEmphasisStageParameters): (WebCore::DynamicsCompressor::process): (WebCore::DynamicsCompressor::reset): (WebCore::DynamicsCompressor::setNumberOfChannels): (WebCore): * platform/audio/DynamicsCompressor.h: (DynamicsCompressor): * platform/audio/DynamicsCompressorKernel.cpp: (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel): (WebCore::DynamicsCompressorKernel::setNumberOfChannels): (WebCore): (WebCore::DynamicsCompressorKernel::setPreDelayTime): (WebCore::DynamicsCompressorKernel::process): (WebCore::DynamicsCompressorKernel::reset): * platform/audio/DynamicsCompressorKernel.h: (DynamicsCompressorKernel): * webaudio/DynamicsCompressorNode.cpp: (WebCore::DynamicsCompressorNode::DynamicsCompressorNode): (WebCore::DynamicsCompressorNode::initialize): 2012-02-22 Bear Travis Not correctly recalculating layout for elements within nested SVG elements https://bugs.webkit.org/show_bug.cgi?id=77535 Reviewed by Dirk Schulze. Relatively positioned text is not correctly updating its position when the size of its nearest viewport changes. Updating to mark text for layout when viewPort size changes. Test: svg/repaint/inner-svg-change-viewPort-relative.svg * rendering/svg/SVGRenderSupport.cpp: (WebCore::SVGRenderSupport::layoutChildren): 2012-02-22 Alexei Svitkine [chromium] Fix remaining compositing/rubberbanding test failures https://bugs.webkit.org/show_bug.cgi?id=78008 These were happening due to the fact that ScrollView wasn't updating the overhang layer when the contentsSize was updated. This is necessary because calculateOverhangAreasForPainting() takes the contentsSize into account when determining whether the overhang areas are visible. Reviewed by James Robinson. Re-enabled the following tests with updated baselines: * platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png: * platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png: * platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png: * platform/chromium/test_expectations.txt: * platform/ScrollView.cpp: (WebCore::ScrollView::setContentsSize): (WebCore::ScrollView::scrollContents): (WebCore::ScrollView::updateOverhangAreas): (WebCore): * platform/ScrollView.h: (ScrollView): 2012-02-22 Vsevolod Vlasov Web Inspector: [Regression] network worker tests crash on qt. https://bugs.webkit.org/show_bug.cgi?id=79263 Reviewed by Pavel Feldman. * inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::createDecoder): (WebCore::InspectorPageAgent::cachedResourceContent): 2012-02-22 Adrienne Walker Unreviewed, rolling out r108518. http://trac.webkit.org/changeset/108518 https://bugs.webkit.org/show_bug.cgi?id=75864 Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test. * WebCore.gypi: * platform/graphics/chromium/cc/CCLayerIterator.cpp: (WebCore): (WebCore::CCLayerIteratorActions::BackToFront::begin): (WebCore::CCLayerIteratorActions::BackToFront::end): (WebCore::CCLayerIteratorActions::BackToFront::next): (WebCore::CCLayerIteratorActions::FrontToBack::begin): (WebCore::CCLayerIteratorActions::FrontToBack::end): (WebCore::CCLayerIteratorActions::FrontToBack::next): (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree): * platform/graphics/chromium/cc/CCLayerIterator.h: (WebCore): (WebCore::CCLayerIterator::CCLayerIterator): (WebCore::CCLayerIterator::operator++): (WebCore::CCLayerIterator::operator==): (WebCore::CCLayerIterator::operator->): (WebCore::CCLayerIterator::operator*): (WebCore::CCLayerIterator::representsTargetRenderSurface): (WebCore::CCLayerIterator::representsContributingRenderSurface): (WebCore::CCLayerIterator::targetRenderSurfaceLayer): (CCLayerIterator): (BackToFront): (FrontToBack): * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added. (WebCore): (CCLayerIteratorPositionValue): (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition): (CCLayerIteratorPosition): (WebCore::CCLayerIteratorPosition::currentLayer): (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface): (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface): (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer): (WebCore::CCLayerIteratorPosition::targetRenderSurface): (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren): (WebCore::CCLayerIteratorPosition::operator==): 2012-02-22 Dan Bernstein REGRESSION (r62632): page-break-inside: avoid is ignored https://bugs.webkit.org/show_bug.cgi?id=79262 Reviewed by Adele Peterson. This was disabled in r62632 because of . Changes to the pagination code since then have invalidated that bug, so enabling the feature again does not re-introduce the bug. Updated expected results for printing/page-break-inside-avoid.html. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::adjustForUnsplittableChild): 2012-02-22 Philippe Normand [GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer https://bugs.webkit.org/show_bug.cgi?id=79236 Reviewed by Martin Robinson. Store a pointer to the MediaPlayer object in the private structure of the WebKitWebSrc element so we can call its public methods, like ::referrer(). * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::sourceChanged): * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: (_WebKitWebSrcPrivate): * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: 2012-02-22 Martin Robinson [GTK] Clean build is broken when using make -j https://bugs.webkit.org/show_bug.cgi?id=76388 No new tests. This is just a build fix. Use order-only dependencies to ensure that built sources are built before files that depend on them. * GNUmakefile.am: Establish an order-only dependency on some built sources before starting to build non-generated sources. Rename some temporary files and variables to be more consistent. * bindings/gobject/GNUmakefile.am: Updated to reflect new variable names. 2012-02-22 Dana Jansens [Chromium] New CCOcclusionTracker class with tests https://bugs.webkit.org/show_bug.cgi?id=78549 Reviewed by James Robinson. Adds a CCOcclusionTrackerBase template class that is able to track occlusion of layers while traversing the layer tree from front-to-back, with typedefed versions for the main and impl threads. At each step of the front-to-back traversal, the class should be notified of changes to the current render target, and when done working with a layer, the layer is added the tracked occlusion. The class provides tests for checking if a rect in content space for a layer/surface is occluded by others in front of it. Unit tests: CCOcclusionTrackerTest.cpp * WebCore.gypi: * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added. (WebCore): (WebCore::::enterTargetRenderSurface): (WebCore::::finishedTargetRenderSurface): (WebCore::transformSurfaceOpaqueRegion): (WebCore::::leaveToTargetRenderSurface): (WebCore::contentToScreenSpaceTransform): (WebCore::contentToTargetSurfaceTransform): (WebCore::computeOcclusionBehindLayer): (WebCore::::markOccludedBehindLayer): (WebCore::testContentRectOccluded): (WebCore::::occluded): (WebCore::::surfaceOccluded): (WebCore::rectSubtractRegion): (WebCore::computeUnoccludedContentRect): (WebCore::::unoccludedContentRect): (WebCore::::surfaceUnoccludedContentRect): (WebCore::::currentOcclusionInScreenSpace): (WebCore::::currentOcclusionInTargetSurface): * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added. (WebCore): (CCOcclusionTrackerBase): (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase): (StackObject): 2012-02-22 Joshua Bell [Chromium] IndexedDB: Integrate with about:tracing https://bugs.webkit.org/show_bug.cgi?id=78831 Annotate interesting IDB functions so they show up in the tracing utility included in the Chromium port. Reviewed by Tony Chang. * WebCore.gypi: * WebCore.xcodeproj/project.pbxproj: * bindings/v8/IDBBindingUtilities.cpp: (WebCore::createIDBKeyFromSerializedValueAndKeyPath): (WebCore::injectIDBKeyIntoSerializedValue): * storage/IDBCursor.cpp: (WebCore::IDBCursor::direction): (WebCore::IDBCursor::key): (WebCore::IDBCursor::primaryKey): (WebCore::IDBCursor::value): (WebCore::IDBCursor::update): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * storage/IDBCursorBackendImpl.cpp: (WebCore::IDBCursorBackendImpl::direction): (WebCore::IDBCursorBackendImpl::key): (WebCore::IDBCursorBackendImpl::primaryKey): (WebCore::IDBCursorBackendImpl::value): (WebCore::IDBCursorBackendImpl::update): (WebCore::IDBCursorBackendImpl::continueFunction): (WebCore::IDBCursorBackendImpl::continueFunctionInternal): (WebCore::IDBCursorBackendImpl::deleteFunction): (WebCore::IDBCursorBackendImpl::prefetchContinue): (WebCore::IDBCursorBackendImpl::prefetchContinueInternal): (WebCore::IDBCursorBackendImpl::prefetchReset): (WebCore::IDBCursorBackendImpl::close): * storage/IDBDatabase.cpp: (WebCore::IDBDatabase::dispatchEvent): * storage/IDBIndex.cpp: (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::get): (WebCore::IDBIndex::getKey): * storage/IDBIndexBackendImpl.cpp: (WebCore::IDBIndexBackendImpl::openCursorInternal): (WebCore::IDBIndexBackendImpl::openCursor): (WebCore::IDBIndexBackendImpl::openKeyCursor): (WebCore::IDBIndexBackendImpl::countInternal): (WebCore::IDBIndexBackendImpl::count): (WebCore::IDBIndexBackendImpl::getInternal): (WebCore::IDBIndexBackendImpl::get): (WebCore::IDBIndexBackendImpl::getKey): * storage/IDBObjectStore.cpp: (WebCore::IDBObjectStore::name): (WebCore::IDBObjectStore::keyPath): (WebCore::IDBObjectStore::indexNames): (WebCore::IDBObjectStore::transaction): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::index): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::count): * storage/IDBObjectStoreBackendImpl.cpp: (WebCore::IDBObjectStoreBackendImpl::get): (WebCore::IDBObjectStoreBackendImpl::getInternal): (WebCore::fetchKeyFromKeyPath): (WebCore::injectKeyIntoKeyPath): (WebCore::IDBObjectStoreBackendImpl::put): (WebCore::IDBObjectStoreBackendImpl::putInternal): (WebCore::IDBObjectStoreBackendImpl::deleteFunction): (WebCore::IDBObjectStoreBackendImpl::deleteInternal): (WebCore::IDBObjectStoreBackendImpl::clear): (WebCore::IDBObjectStoreBackendImpl::openCursor): (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): (WebCore::IDBObjectStoreBackendImpl::count): (WebCore::IDBObjectStoreBackendImpl::countInternal): * storage/IDBRequest.cpp: (WebCore::IDBRequest::onSuccess): (WebCore::IDBRequest::onSuccessWithContinuation): (WebCore::IDBRequest::dispatchEvent): * storage/IDBTracing.h: Added. * storage/IDBTransaction.cpp: (WebCore::IDBTransaction::dispatchEvent): * storage/IDBTransactionBackendImpl.cpp: (WebCore::IDBTransactionBackendImpl::abort): (WebCore::IDBTransactionBackendImpl::commit): (WebCore::IDBTransactionBackendImpl::taskTimerFired): (WebCore::IDBTransactionBackendImpl::taskEventTimerFired): 2012-02-22 Dana Jansens [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class. https://bugs.webkit.org/show_bug.cgi?id=75864 Reviewed by James Robinson. * platform/graphics/chromium/cc/CCLayerIterator.cpp: (WebCore::CCLayerIteratorActions::BackToFront::begin): (WebCore::CCLayerIteratorActions::BackToFront::end): (WebCore::CCLayerIteratorActions::BackToFront::next): (WebCore::CCLayerIteratorActions::FrontToBack::begin): (WebCore::CCLayerIteratorActions::FrontToBack::end): (WebCore::CCLayerIteratorActions::FrontToBack::next): (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree): * platform/graphics/chromium/cc/CCLayerIterator.h: (WebCore::CCLayerIterator::CCLayerIterator): (WebCore::CCLayerIterator::operator++): (WebCore::CCLayerIterator::operator==): (WebCore::CCLayerIterator::operator->): (WebCore::CCLayerIterator::operator*): (WebCore::CCLayerIterator::representsTargetRenderSurface): (WebCore::CCLayerIterator::representsContributingRenderSurface): (WebCore::CCLayerIterator::currentLayer): (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface): (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface): (WebCore::CCLayerIterator::targetRenderSurfaceLayer): (WebCore::CCLayerIterator::targetRenderSurface): (WebCore::CCLayerIterator::targetRenderSurfaceChildren): * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed. 2012-02-22 Pavel Feldman Web Inspector: console doesn't show properly arrays from which tail values have been deleted https://bugs.webkit.org/show_bug.cgi?id=79242 Reviewed by Yury Semikhatsky. * English.lproj/localizedStrings.js: * inspector/front-end/ConsoleMessage.js: (WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined): (WebInspector.ConsoleMessageImpl.prototype._printArray): 2012-02-22 Pavel Feldman Web Inspector: warning external font mime (font/font/woff). https://bugs.webkit.org/show_bug.cgi?id=79244 Reviewed by Yury Semikhatsky. * inspector/front-end/Resource.js: 2012-02-22 Yury Semikhatsky Web Inspector: use dots as markers on the counter graphs https://bugs.webkit.org/show_bug.cgi?id=79243 Changed counter graphs marker and counter text styles. Reviewed by Pavel Feldman. * English.lproj/localizedStrings.js: * inspector/front-end/MemoryStatistics.js: (WebInspector.MemoryStatistics): (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement): (WebInspector.MemoryStatistics.prototype.addTimlineEvent): (WebInspector.MemoryStatistics.prototype._draw): (WebInspector.MemoryStatistics.prototype._onMouseOut): (WebInspector.MemoryStatistics.prototype._onMouseOver): (WebInspector.MemoryStatistics.prototype._onMouseMove): (WebInspector.MemoryStatistics.prototype._refreshCurrentValues): (WebInspector.MemoryStatistics.prototype._recordIndexAt): (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs): (WebInspector.MemoryStatistics.prototype._clearMarkers): (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker): (WebInspector.MemoryStatistics.prototype.refresh): (WebInspector.MemoryStatistics.prototype._drawPolyline): (WebInspector.MemoryStatistics.prototype._clear): * inspector/front-end/timelinePanel.css: (.memory-counter-sidebar-info): (.memory-counter-sidebar-info .title): (.memory-counter-sidebar-info .counter-value): 2012-02-22 Pavel Feldman Web Inspector: make 'glue asynchronous events' optional. https://bugs.webkit.org/show_bug.cgi?id=79240 Reviewed by Yury Semikhatsky. * English.lproj/localizedStrings.js: * inspector/front-end/Images/statusbarButtonGlyphs.png: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.get statusBarItems): (WebInspector.TimelinePanel.prototype._createStatusbarButtons): (WebInspector.TimelinePanel.prototype._glueParentButtonClicked): (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked): (WebInspector.TimelinePanel.prototype._repopulateRecords): (WebInspector.TimelinePanel.prototype._findParentRecord): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): (WebInspector.TimelinePanel.prototype.sidebarResized): (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition): (WebInspector.TimelineRecordGraphRow): (WebInspector.TimelineRecordGraphRow.prototype.update): (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats): * inspector/front-end/timelinePanel.css: (.glue-async-status-bar-item .glyph): (.timeline-start-at-zero-status-bar-item .glyph): 2012-02-22 Vsevolod Vlasov Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672. https://bugs.webkit.org/show_bug.cgi?id=79229 Reviewed by Pavel Feldman. Test: http/tests/inspector/console-xhr-logging-async.html * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::setInitialScriptContent): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading): 2012-02-22 Andrey Kosyakov Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely https://bugs.webkit.org/show_bug.cgi?id=79241 Reviewed by Yury Semikhatsky. * inspector/front-end/MemoryStatistics.js: (WebInspector.MemoryStatistics.prototype.addTimlineEvent): * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane): (WebInspector.TimelineOverviewPane.prototype._showTimelines): (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph): (WebInspector.TimelineOverviewPane.prototype.setStartAtZero): (WebInspector.TimelineOverviewPane.prototype._onWindowChanged): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged): 2012-02-22 Andrey Kosyakov Web Inspector: [experimental] add a mode to display timeline events aligned by the start time https://bugs.webkit.org/show_bug.cgi?id=79123 Reviewed by Pavel Feldman. * inspector/front-end/Images/statusbarButtonGlyphs.png: * inspector/front-end/Settings.js: (WebInspector.ExperimentsSettings): * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane): (WebInspector.TimelineOverviewPane.prototype._showTimelines): (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph): (WebInspector.TimelineOverviewPane.prototype._onWindowChanged): (WebInspector.TimelineOverviewPane.prototype.setStartAtZero): (WebInspector.TimelineOverviewPane.prototype.update): (WebInspector.TimelineOverviewPane.prototype.reset): (WebInspector.TimelineOverviewWindow): (WebInspector.TimelineOverviewWindow.prototype.reset): (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition): (WebInspector.TimelineOverviewWindow.prototype.scrollWindow): (WebInspector.TimelineStartAtZeroOverview): (WebInspector.TimelineStartAtZeroOverview.prototype.reset): (WebInspector.TimelineStartAtZeroOverview.prototype.update): (WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords): (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar): (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.get statusBarItems): (WebInspector.TimelinePanel.prototype._createStatusbarButtons): (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked): (WebInspector.TimelinePanel.prototype.get _startAtZero): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): (WebInspector.TimelinePanel.prototype.sidebarResized): (WebInspector.TimelinePanel.prototype._onRecordsCleared): (WebInspector.TimelinePanel.prototype._resetPanel): (WebInspector.TimelinePanel.prototype._scheduleRefresh): (WebInspector.TimelinePanel.prototype._refresh): (WebInspector.TimelinePanel.prototype._filterRecords): (WebInspector.TimelinePanel.prototype._refreshRecords): (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition): (WebInspector.TimelineStartAtZeroCalculator): (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages): (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition): (WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow): (WebInspector.TimelineStartAtZeroCalculator.prototype.reset): (WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries): (WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue): (WebInspector.TimelinePanel.FormattedRecord): (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo): (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats): (WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats): (WebInspector.TimelineModel.prototype.get records): (WebInspector.TimelinePresentationModel): (WebInspector.TimelinePresentationModel.prototype.reset): (WebInspector.TimelinePresentationModel.prototype.setWindowIndices): (WebInspector.TimelineRecordFilter): (WebInspector.TimelineRecordFilter.prototype.accept): (WebInspector.TimelineStartAtZeroRecordFilter): (WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept): * inspector/front-end/timelinePanel.css: (.timeline-start-at-zero #timeline-overview-sidebar): (.timeline-start-at-zero #timeline-overview-grid): (.timeline-overview-window): (.timeline-start-at-zero .timeline-overview-window): (.timeline-start-at-zero .timeline-overview-dividers-background): (.timeline-overview-window-rulers): (.timeline-start-at-zero #timeline-overview-memory): (.popover .timeline-loading): (.popover .timeline-scripting): (.popover .timeline-rendering): (.timeline-start-at-zero-status-bar-item .glyph): (.timeline-start-at-zero-status-bar-item.toggled-on .glyph): (.timeline-overview-start-at-zero): (.timeline-overview-start-at-zero-bars): (.timeline-overview-start-at-zero-bars .padding): (.timeline-overview-start-at-zero-bars .timeline-bar-vertical): (.timeline-bar-vertical div:first-child): (.timeline-bar-vertical .timeline-loading): (.timeline-bar-vertical .timeline-scripting): (.timeline-bar-vertical .timeline-rendering): 2012-02-22 Kenneth Rohde Christiansen [Qt] Disregard previous backing store as soon as possible https://bugs.webkit.org/show_bug.cgi?id=79232 Reviewed by Simon Hausmann and No'am Rosenthal. Make it possible to drop non-visible tiles and to test if the current visible rect is fully covered. * platform/graphics/TiledBackingStore.cpp: (WebCore::TiledBackingStore::visibleContentsRect): (WebCore::TiledBackingStore::coverageRatio): (WebCore::TiledBackingStore::visibleAreaIsCovered): (WebCore): (WebCore::TiledBackingStore::createTiles): (WebCore::TiledBackingStore::removeAllNonVisibleTiles): * platform/graphics/TiledBackingStore.h: (TiledBackingStore): 2012-02-22 Simon Hausmann [Qt] Move QMenu dependant scrollbar context menu handling out of WebCore https://bugs.webkit.org/show_bug.cgi?id=79233 Reviewed by Kenneth Rohde Christiansen. Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from. * Target.pri: Remove ScrollbarQt.cpp from build. * platform/Scrollbar.h: Remove Qt-only context menu handling but make moveThum accessible from the outside. * platform/qt/ScrollbarQt.cpp: Removed. Not needed anymore. 2012-02-22 Vsevolod Vlasov Web Inspector: retrieving content for some XHR requests crashes inspected page renderer https://bugs.webkit.org/show_bug.cgi?id=79026 Reviewed by Pavel Feldman. Fixed loading empty xhr content and xhr content decoding that was broken in r107672. Tests: http/tests/inspector/network/network-cyrillic-xhr.html http/tests/inspector/network/network-empty-xhr.html * inspector/InspectorPageAgent.cpp: (WebCore): (WebCore::InspectorPageAgent::createDecoder): (WebCore::InspectorPageAgent::cachedResourceContent): * inspector/InspectorPageAgent.h: (WebCore): * inspector/NetworkResourcesData.cpp: (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): (WebCore::NetworkResourcesData::responseReceived): * inspector/NetworkResourcesData.h: (WebCore::NetworkResourcesData::ResourceData::decoder): (WebCore::NetworkResourcesData::ResourceData::setDecoder): 2012-02-22 Peter Rybin Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions https://bugs.webkit.org/show_bug.cgi?id=79153 Reviewed by Yury Semikhatsky. CParamType class removed completely, some ("virtual") methods are removed. TypeModel notion is added instead with some minor helper classes and methods. * inspector/CodeGeneratorInspector.py: (DomainNameFixes): (RawTypes.BaseType): (RawTypes.String): (RawTypes.String.get_raw_type_model): (RawTypes.Int): (RawTypes.Int.get_raw_type_model): (RawTypes.Number): (RawTypes.Number.get_raw_type_model): (RawTypes.Bool): (RawTypes.Bool.get_raw_type_model): (RawTypes.Object): (RawTypes.Object.get_raw_type_model): (RawTypes.Any): (RawTypes.Any.get_raw_type_model): (RawTypes.Array): (RawTypes.Array.get_raw_type_model): (replace_right_shift): (CommandReturnPassModel): (CommandReturnPassModel.ByReference): (CommandReturnPassModel.ByReference.__init__): (CommandReturnPassModel.ByReference.get_return_var_type): (CommandReturnPassModel.get_output_argument_prefix): (CommandReturnPassModel.get_output_to_raw_expression): (CommandReturnPassModel.get_output_parameter_type): (CommandReturnPassModel.get_set_return_condition): (CommandReturnPassModel.ByPointer): (CommandReturnPassModel.ByPointer.__init__): (CommandReturnPassModel.ByPointer.get_return_var_type): (TypeModel): (TypeModel.RefPtrBased): (TypeModel.RefPtrBased.__init__): (TypeModel.RefPtrBased.get_optional): (TypeModel.RefPtrBased.get_command_return_pass_model): (TypeModel.RefPtrBased.get_input_param_type_text): (TypeModel.RefPtrBased.get_event_setter_expression_pattern): (TypeModel.Enum): (TypeModel.Enum.__init__): (TypeModel.Enum.get_optional): (TypeModel.Enum.get_optional.EnumOptional): (TypeModel.Enum.get_optional.EnumOptional.get_optional): (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model): (TypeModel.Enum.get_input_param_type_text): (TypeModel.Enum.get_event_setter_expression_pattern): (TypeModel.Enum.get_command_return_pass_model): (TypeModel.ValueType): (TypeModel.ValueType.__init__): (TypeModel.ValueType.get_optional): (TypeModel.ValueType.get_command_return_pass_model): (TypeModel.ValueType.get_input_param_type_text): (TypeModel.ValueType.get_event_setter_expression_pattern): (TypeModel.ValueType.ValueOptional): (TypeModel.ValueType.ValueOptional.__init__): (TypeModel.ValueType.ValueOptional.get_optional): (TypeModel.ValueType.ValueOptional.get_command_return_pass_model): (TypeModel.ValueType.ValueOptional.get_input_param_type_text): (TypeModel.ValueType.ValueOptional.get_event_setter_expression_pattern): (TypeModel.init_class): (TypeBindings.create_ad_hoc_type_declaration.Helper): (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text): (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern): (TypeBindings.create_type_declaration_.EnumBinding): (TypeBindings.create_type_declaration_.EnumBinding.get_type_model): (TypeBindings.create_type_declaration_): (TypeBindings.create_type_declaration_.get_type_model): (TypeBindings.create_type_declaration_.get_array_item_c_type_text): (get_type_model): (AdHocTypeContextImpl.__init__): (PlainObjectBinding): (PlainObjectBinding.get_type_model): (AdHocTypeContext): (ArrayBinding.get_array_item_c_type_text): (ArrayBinding): (ArrayBinding.get_type_model): (RawTypeBinding.get_validator_call_text): (RawTypeBinding.reduce_to_raw_type): (RawTypeBinding): (RawTypeBinding.get_type_model): (MethodGenerateModes.StrictParameterMode.get_c_param_type_text): (MethodGenerateModes.RawParameterMode.get_c_param_type_text): (MethodGenerateModes.CombinedMode.get_c_param_type_text): (Generator.go): (Generator.process_event): (Generator.process_command): (Generator.resolve_type_and_generate_ad_hoc): (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext): * inspector/InspectorDebuggerAgent.cpp: (WebCore::InspectorDebuggerAgent::didParseSource): 2012-02-21 Vsevolod Vlasov Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel. https://bugs.webkit.org/show_bug.cgi?id=79098 Reviewed by Pavel Feldman. * English.lproj/localizedStrings.js: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/InspectorIndexedDBAgent.cpp: (WebCore): * inspector/compile-front-end.sh: * inspector/front-end/IndexedDBModel.js: (WebInspector.IndexedDBModel.prototype._assertFrameId): (WebInspector.IndexedDBModel.prototype.loadObjectStoreData): (WebInspector.IndexedDBModel.prototype.loadIndexData): * inspector/front-end/IndexedDBViews.js: Added. * inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectPropertiesSection): (WebInspector.ObjectPropertiesSection.prototype.updateProperties): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.showIndexedDB): (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB): (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded): (WebInspector.IDBDatabaseTreeElement): (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL): (WebInspector.IDBDatabaseTreeElement.prototype.update): (WebInspector.IDBDatabaseTreeElement.prototype.onselect): (WebInspector.IDBObjectStoreTreeElement): (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL): (WebInspector.IDBObjectStoreTreeElement.prototype.update): (WebInspector.IDBObjectStoreTreeElement.prototype.onselect): (WebInspector.IDBIndexTreeElement): (WebInspector.IDBIndexTreeElement.prototype.get itemURL): (WebInspector.IDBIndexTreeElement.prototype.update): (WebInspector.IDBIndexTreeElement.prototype.onselect): * inspector/front-end/WebKit.qrc: * inspector/front-end/externs.js: * inspector/front-end/indexedDBViews.css: Added. * inspector/front-end/inspector.html: 2012-02-22 Nikolas Zimmermann REGRESSION(58212): html foreignObjects with positions other than static not hidden correctly when parent has display:none https://bugs.webkit.org/show_bug.cgi?id=41386 Reviewed by Zoltan Herczeg. r58212 gave SVGGElements a renderer, regardless if "display: none" was set or not, for various reasons (see change set). The renderer for such cases is a RenderSVGHiddenContainer. We make sure in SVG that such subtrees are never used for painting & hittesting - they only exist for the purpose of SVG DOM (query getCTM, etc..) and to create renderers for child resources, like . This concept still works fine for: Foobar, as RenderSVGForeignObject::paint is never called thus we never paint the subtree of the . If the elements contains "position: relative" a new layer is created for the . When the document paints we have two seperated layers, and the layer doesn't know that it's actually inside a "SVG hidden subtree", and gets painted, where it shouldn't. HTML doesn't have this problems, as a display: none object, never creates a renderer. The fix is to disallow layer creation in hidden SVG subtrees, to mimic what would happen if we'd follow HTML rules to not create renderers for display: none objects. This avoids any indirections - as no layers are created anymore. Tests: svg/foreignObject/fO-display-none-with-relative-pos-content.svg svg/foreignObject/fO-display-none.svg svg/foreignObject/fO-parent-display-changes.svg svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg svg/foreignObject/fO-parent-display-none.svg svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg svg/foreignObject/fO-parent-of-parent-display-none.svg * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::styleDidChange): Only create layers, if its allowed -- layerCreationAllowedForSubtree() will always return true for HTML, and only false for layers inside a hidden SVG subtree. * rendering/RenderObject.cpp: (WebCore::RenderObject::addChild): Only create layers, if its allowed. * rendering/RenderObject.h: Add inline layerCreationAllowedForSubtree() helper, that craws the tree to find a RenderSVGHiddenContainer ancestor, if not present, return true. 2012-02-22 Zoltan Herczeg Drop clipToImageBuffer from RenderBoxModelObject https://bugs.webkit.org/show_bug.cgi?id=79225 Reviewed by Nikolas Zimmermann. -webkit-background-clip: text is a rarely used non-standard feature uses clipToImageBuffer. It is replaced by CompositeDestinationIn on a transparent layer. The new approach has the same speed as the old one. Existing tests cover this issue. * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended): 2012-02-22 Kenneth Rohde Christiansen Merge setVisibleRectTrajectoryVector and adjustVisibleRect to the more descriptive coverWithTilesIfNeeded https://bugs.webkit.org/show_bug.cgi?id=79230 Reviewed by Simon Hausmann. Both setVisibleRectTrajectoryVector and the adjustVisibleRect are used for initiating re-tiling, so make that more obvious and merge the two. * platform/graphics/TiledBackingStore.cpp: (WebCore::TiledBackingStore::coverWithTilesIfNeeded): * platform/graphics/TiledBackingStore.h: (TiledBackingStore): 2012-02-17 Nikolas Zimmermann REGRESSION: unbalanced transparency layers for clipPath https://bugs.webkit.org/show_bug.cgi?id=78074 Reviewed by Zoltan Herczeg. If we're rendering to a mask image buffer, all children are rendered with opacity=1, regardless what their RenderStyles specify. SVGRenderSupport::finishRenderSVGContent() did not take this into account and always called endTransparencyLayer(). Fix that by checking if we're rendering to a mask image buffer, if so don't call endTransparencyLayer(). Add new reftest covering both the visual & logical correctness (no assertion). Tests: svg/clip-path/opacity-assertion-expected.svg svg/clip-path/opacity-assertion.svg * rendering/svg/SVGRenderSupport.cpp: (WebCore::isRenderingMaskImage): Extraced as sharable helper function. (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Factor out isRenderingMaskImage() function. (WebCore::SVGRenderSupport::finishRenderSVGContent): Only call endTransparencyLayer(), if we actually called beginTL() first. 2012-02-22 Kenneth Rohde Christiansen Improve comments in tiling code. Rubberstamped by Simon Hausmann. * platform/graphics/TiledBackingStore.cpp: (WebCore::TiledBackingStore::createTiles): 2012-02-22 'Pavel Feldman' Not reviewed: build fix. * inspector/InspectorController.cpp: * inspector/InspectorController.h: (InspectorController): 2012-02-21 Pavel Feldman Web Inspector: do not filter out requestAnimationFrame from timeline, implement stop on animation events. https://bugs.webkit.org/show_bug.cgi?id=79116 Reviewed by Yury Semikhatsky. * English.lproj/localizedStrings.js: * dom/ScriptedAnimationController.cpp: (WebCore::ScriptedAnimationController::registerCallback): * inspector/InspectorInstrumentation.cpp: (WebCore): (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallbackImpl): (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl): (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl): * inspector/InspectorInstrumentation.h: (InspectorInstrumentation): (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallback): * inspector/InspectorTimelineAgent.cpp: (TimelineRecordType): (WebCore::InspectorTimelineAgent::didRequestAnimationFrameCallback): (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback): (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent): (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent): * inspector/InspectorTimelineAgent.h: (InspectorTimelineAgent): * inspector/front-end/BreakpointsSidebarPane.js: (WebInspector.EventListenerBreakpointsSidebarPane): (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI): * inspector/front-end/TimelineAgent.js: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype.get _recordStyles): (WebInspector.TimelinePanel.prototype._findParentRecord): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): (WebInspector.TimelinePanel.prototype._onRecordsCleared): (WebInspector.TimelinePanel.FormattedRecord): (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 2012-02-22 Changhun Kang Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h https://bugs.webkit.org/show_bug.cgi?id=79175 Reviewed by Kentaro Hara. * page/scrolling/ScrollingCoordinator.h: Remove PlatformGestureEvent class declaration. (WebCore): 2012-02-22 Andras Becsi [Qt][WK2] Fix the N9 build https://bugs.webkit.org/show_bug.cgi?id=79101 Reviewed by Simon Hausmann. Fixed the include order of the rolled out r108359 not to break the build with CONFIG+=force_static_libs_as_shared. * platform/graphics/OpenGLShims.h: Add missing include. 2012-02-22 Shinya Kawanaka firstRendererOf() should also return a fallback element renderer in NodeRenderingContext. https://bugs.webkit.org/show_bug.cgi?id=79180 Reviewed by Hajime Morita. Currently we have handled AttachingFallback in some special mannger, however if firstRendererOf and lastRendererOf return a fallback element renderer, we don't need to handle it in such a manner. We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked. They are used for fallback elements. Added new test cases in: fast/dom/shadow/shadow-contents-fallback.html fast/dom/shadow/shadow-contents-fallback-dynamic.html * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::NodeRenderingContext): (WebCore::firstRendererOf): (WebCore::lastRendererOf): (WebCore::NodeRenderingContext::nextRenderer): (WebCore::NodeRenderingContext::previousRenderer): (WebCore::NodeRenderingContext::shouldCreateRenderer): * dom/NodeRenderingContext.h: * html/shadow/InsertionPoint.h: (WebCore::isInsertionPoint): (WebCore): (WebCore::toInsertionPoint): 2012-02-22 Csaba Osztrogonác [Qt] Unreviewed gardening after r108464. * Target.pri: 2012-02-22 Sheriff Bot Unreviewed, rolling out r108468. http://trac.webkit.org/changeset/108468 https://bugs.webkit.org/show_bug.cgi?id=79219 Broke Chromium Win release build (Requested by bashi on #webkit). * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * websockets/WebSocket.cpp: (WebCore::WebSocket::didConnect): * websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::connect): (WebCore::WebSocketChannel::fail): (WebCore::WebSocketChannel::processFrame): (WebCore::WebSocketChannel::sendFrame): * websockets/WebSocketChannel.h: * websockets/WebSocketDeflateFramer.cpp: Removed. * websockets/WebSocketDeflateFramer.h: Removed. 2012-02-20 Roland Steiner