2012-02-29 Beth Dakin Speculative build-fix. * rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): 2012-02-29 Beth Dakin https://bugs.webkit.org/show_bug.cgi?id=79705 didNewFirstVisuallyNonEmptyLayout should be enhanced to look at size instead of a raw tally -and corresponding- Reviewed by Dave Hyatt. Instead of firing didNewFirstVisuallyNonEmptyLayout() when a raw tally of relevant painted objects has reached a port-defined threshold, this patch looks at the size of those objects with respect to the view area. The patch also looks at relevant objects that cannot yet be fully painted, such as incrementally loading images. We no longer need a HashSet for the relevant painted objects since Region can do all of the heavy lifting. We now have a Region for the painted and unpainted regions. We do need a HashSet for the unpainted objects though, because we need to know if a painted object needs to be subtracted from the unpainted region before being added to the painted region. * page/Page.cpp: (WebCore): (WebCore::Page::isCountingRelevantRepaintedObjects): (WebCore::Page::startCountingRelevantRepaintedObjects): (WebCore::Page::resetRelevantPaintedObjectCounter): (WebCore::Page::addRelevantRepaintedObject): (WebCore::Page::addRelevantUnpaintedObject): * page/Page.h: (Page): New function on Region iterates through the rects and calculates the total area. * platform/graphics/Region.cpp: (WebCore::Region::totalArea): (WebCore): * platform/graphics/Region.h: (Region): Remove code from these classes since they are not actually relevant objects. * rendering/InlineBox.cpp: (WebCore::InlineBox::paint): * rendering/RenderRegion.cpp: (WebCore::RenderRegion::paintReplaced): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint): All of these other callers send a rect that actually represents their size (usually the visualOverflowRect) instead of the paintInfo's paintRect, and they call addRelevantUnpaintedObject when appropriate. * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::paint): (WebCore::RenderEmbeddedObject::paintReplaced): * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::paintReplaced): * rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): * rendering/RenderVideo.cpp: (WebCore::RenderVideo::paintReplaced): * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::paintReplaced): 2012-02-29 Joshua Bell IndexedDB: Resource leak with IDBObjectStore.openCursor https://bugs.webkit.org/show_bug.cgi?id=79835 IDBCursor object that were never continue()'d to the end would leak due to a reference cycle with IDBRequest. In addition, the IDBRequest would never be marked "finished" which would prevent GC from reclaiming it. IDBTransactions now track and notify IDBCursors to break these references when the transaction can no longer not process requests. Reviewed by Tony Chang. Tests: storage/indexeddb/cursor-continue.html * storage/IDBCursor.cpp: (WebCore::IDBCursor::IDBCursor): Register with IDBTransaction bookkeeping. (WebCore::IDBCursor::continueFunction): Early error if transaction has finished. (WebCore::IDBCursor::close): Break the reference cycle with IDBRequest, and notify it that the cursor is finished. (WebCore): * storage/IDBCursor.h: (WebCore): (IDBCursor): * storage/IDBRequest.cpp: (WebCore::IDBRequest::IDBRequest): (WebCore::IDBRequest::finishCursor): If there is no request in flight, mark itself as finished to allow GC. (WebCore): (WebCore::IDBRequest::dispatchEvent): Once an in-flight request has been processed, mark the request as finished if the cursor is finished, to allow GC. * storage/IDBRequest.h: (IDBRequest): * storage/IDBTransaction.cpp: Track open cursors, close them when finished. (WebCore::IDBTransaction::OpenCursorNotifier::OpenCursorNotifier): (WebCore): (WebCore::IDBTransaction::OpenCursorNotifier::~OpenCursorNotifier): (WebCore::IDBTransaction::registerOpenCursor): (WebCore::IDBTransaction::unregisterOpenCursor): (WebCore::IDBTransaction::closeOpenCursors): (WebCore::IDBTransaction::onAbort): (WebCore::IDBTransaction::onComplete): * storage/IDBTransaction.h: (WebCore): (OpenCursorNotifier): (IDBTransaction): 2012-02-29 David Hyatt https://bugs.webkit.org/show_bug.cgi?id=79940 Add support in WebKit for an intra-line character grid for Japanese text layout. Patch logicalLeftOffsetForLine and logicalRightOffsetForLine in order to get the basic edge snapping grid functionality up and running. See all the FIXMEs in the function for some of the issues that still have to be dealt with for it to really work well. Reviewed by Dan Bernstein. Added new tests in fast/line-grid. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::logicalLeftOffsetForLine): (WebCore::RenderBlock::logicalRightOffsetForLine): 2012-02-29 Anders Carlsson [Chromium] Some Layout Tests in platform/chromium/rubberbanding and platform/chromium/compositing/rubberbanding are failing https://bugs.webkit.org/show_bug.cgi?id=79878 Reviewed by James Robinson. Make sure that ScrollableArea::setScrollOffsetFromAnimation doesn't end up setting the ScrollAnimator's current scroll position by making a new function, scrollPositionChanged, that both notifyScrollPositionChanged and setScrollOffsetFromAnimation call and move the call to update the position to notifyScrollPositionChanged. * platform/ScrollableArea.cpp: (WebCore::ScrollableArea::notifyScrollPositionChanged): (WebCore): (WebCore::ScrollableArea::scrollPositionChanged): (WebCore::ScrollableArea::setScrollOffsetFromAnimation): * platform/ScrollableArea.h: (ScrollableArea): 2012-02-29 Dana Jansens [chromium] Don't let invalidation for next frame prevent tile upload https://bugs.webkit.org/show_bug.cgi?id=79841 Reviewed by James Robinson. We currently don't push dirty tiles to the impl thread so there are no tiles with garbage data on the impl thread. However, this judgement is overzealous and blocks tiles that get invalidated by WebKit for the next frame during the paint of the current frame. Instead, check if a tile is dirty and was not painted for the current frame when deciding to push the tile to the impl thread. This requires that we know if a tile was painted during the current frame, which we can do if we always reset m_updateRect to be empty each frame. New unit tests: TiledLayerChromiumTest.pushTilesMarkedDirtyDuringPaint TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnNextLayer TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnPreviousLayer * platform/graphics/chromium/TiledLayerChromium.cpp: (WebCore::UpdatableTile::isDirtyForCurrentFrame): (WebCore::TiledLayerChromium::pushPropertiesTo): (WebCore::TiledLayerChromium::prepareToUpdateTiles): (WebCore::TiledLayerChromium::resetUpdateState): (WebCore): (WebCore::TiledLayerChromium::prepareToUpdate): * platform/graphics/chromium/TiledLayerChromium.h: (TiledLayerChromium): 2012-02-29 Tommy Widenflycht MediaStream API: MediaStreamTrackList out-of-bounds access fix https://bugs.webkit.org/show_bug.cgi?id=79889 Reviewed by Adam Barth. Out-of-bounds access to MediaStreamTrackList ASSERTS instead of returning 0, this is not according to ecmascript standard. Also fixed a similar issue in MediaStreamList. Test: fast/mediastream/peerconnection-mediastreamlist.html * Modules/mediastream/MediaStreamList.cpp: (WebCore::MediaStreamList::item): * Modules/mediastream/MediaStreamTrackList.cpp: (WebCore::MediaStreamTrackList::item): 2012-02-29 Leo Yang [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatSize.h https://bugs.webkit.org/show_bug.cgi?id=79893 Reviewed by Antonio Gomes. Add conversion convenience between WebCore::FloatSize and BlackBerry::Platform::FloatSize. The porting can't be built yet, no new tests. * platform/graphics/FloatSize.h: (Platform): (FloatSize): 2012-02-29 Leo Yang [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatRect.h https://bugs.webkit.org/show_bug.cgi?id=79891 Reviewed by Antonio Gomes. Add conversion convenience between WebCore::FloatRect and BlackBerry::Platform::FloatRect. The porting can't be built yet, no new tests. * platform/graphics/FloatRect.h: (Platform): (FloatRect): 2012-02-29 Tim Horton Make use of CG rounded-rect primitives https://bugs.webkit.org/show_bug.cgi?id=79932 Reviewed by Simon Fraser. Dispatch to potentially platform-specific rounded rectangle path construction from addPathForRoundedRect. Make use of this to call wkCGPathAddRoundedRect on Lion and above, as long as the rounded corners are all equivalent. No new tests, as this is covered by many that use rounded corners, and is only a performance improvement. * WebCore.exp.in: * platform/graphics/Path.cpp: (WebCore::Path::addRoundedRect): (WebCore): (WebCore::Path::addPathForRoundedRect): * platform/graphics/Path.h: (Path): * platform/graphics/cg/PathCG.cpp: (WebCore::Path::addPathForRoundedRect): (WebCore): * platform/mac/WebCoreSystemInterface.h: * platform/mac/WebCoreSystemInterface.mm: 2012-02-29 Leo Yang [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatPoint.h https://bugs.webkit.org/show_bug.cgi?id=79887 Reviewed by Antonio Gomes. Add conversion convenience between WebCore::FloatPoint and BlackBerry::Platform::FloatPoint. The porting can't be built yet, no new tests. * platform/graphics/FloatPoint.h: (Platform): (FloatPoint): 2012-02-29 Kaustubh Atrawalkar ShadowRoot need innerHTML https://bugs.webkit.org/show_bug.cgi?id=78473 Reviewed by Hajime Morita. Refactor code for sharing common code between HTMLElement & ShadowRoot. Implement innerHTML attribute for ShadowRoot. Test: fast/dom/shadow/shadow-root-innerHTML.html * dom/ShadowRoot.cpp: (WebCore::ShadowRoot::cloneNode): (WebCore): (WebCore::ShadowRoot::innerHTML): (WebCore::ShadowRoot::setInnerHTML): * dom/ShadowRoot.h: (ShadowRoot): * dom/ShadowRoot.idl: * editing/markup.cpp: (WebCore::urlToMarkup): (WebCore): (WebCore::createFragmentFromSource): (WebCore::hasOneChild): (WebCore::hasOneTextChild): (WebCore::replaceChildrenWithFragment): (WebCore::replaceChildrenWithText): * editing/markup.h: * html/HTMLElement.cpp: (WebCore): 2012-02-29 Julien Chaffraix Stop doubling maximalOutlineSize during painting https://bugs.webkit.org/show_bug.cgi?id=79724 Reviewed by Tony Chang. Refactoring only, covered by existing tests (mostly repaint ones). * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::shouldPaint): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paintCollapsedBorders): Introduce a local repaint rectangle that we inflate by the maximalOutlineSize to simplify the comparison logic. Also tried to make it clearer what's going on by tweaking the existing code. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paintObject): Remove the doubling. 2012-02-29 Ken Buchanan Crash when changing list marker locations https://bugs.webkit.org/show_bug.cgi?id=79681 Reviewed by David Hyatt. This fixes a regression crash from r108548. There are some conditions where removing the anonymous block parent at that point can cause problems. One is when there is a continuation from it, and another when it is a sibling of lineBoxParent and it causes lineBoxParent to be deleted incidentally. This patch delays the destruction until after lineBoxParent has been used and makes an exception for continuations. * rendering/RenderListItem.cpp: (WebCore::RenderListItem::updateMarkerLocation) 2012-02-29 Max Feil [BlackBerry] Add support for FLAC audio and OGG/Vorbis audio https://bugs.webkit.org/show_bug.cgi?id=79519 Reviewed by Antonio Gomes. A layout test already exists for OGG. We do not support OGG video at this time, only audio. Test: media/media-can-play-flac-audio.html * platform/blackberry/MIMETypeRegistryBlackBerry.cpp: (WebCore): 2012-02-28 Beth Dakin https://bugs.webkit.org/show_bug.cgi?id=79868 Overlay scrollbars should respond to AppKit's NSEventPhaseMayBegin -and corresponding- Reviewed by Anders Carlsson. Scrollbars are currently drawn on the main thread even when scrolling happens on the scrolling thread, so we have to call back to the main thread for the time being to make the right drawing calls for NSEventPhaseMayBegin. * page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::handleWheelEventPhase): (WebCore): * page/scrolling/ScrollingCoordinator.h: (ScrollingCoordinator): * page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::handleWheelEventPhase): (WebCore): * page/scrolling/ScrollingTree.h: * page/scrolling/mac/ScrollingTreeNodeMac.mm: (WebCore::ScrollingTreeNodeMac::handleWheelEvent): * platform/ScrollAnimator.h: (WebCore::ScrollAnimator::handleWheelEventPhase): (ScrollAnimator): Call into AppKit on NSEventPhaseMayBegin. * platform/mac/ScrollAnimatorMac.h: (ScrollAnimatorMac): * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::mayBeginScrollGesture): (WebCore): (WebCore::ScrollAnimatorMac::handleWheelEventPhase): (WebCore::ScrollAnimatorMac::handleWheelEvent): 2012-02-28 Jer Noble Full screen video volume slider has "progress bar" https://bugs.webkit.org/show_bug.cgi?id=79812 Reviewed by Eric Carlson. No new tests; strictly a platform-specific look-and-feel change. The full-screen volume slider has a "media-slider"" appearance, which is rendering as if the volume slider has a "progress". Make a concrete "media-fullscreen-volume-slider" appearance which has the correct look-and-feel. Add two new appearance keywords, media-fullscreen-volume-slider and thumb, and their associated types and CSS keywords: * css/CSSValueKeywords.in: * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): * html/shadow/MediaControlElements.h: * platform/ThemeTypes.h: Handle the new slider and thumb types when rendering: * rendering/RenderMediaControls.cpp: (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): (WebCore::RenderMediaControls::paintMediaControlsPart): * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack): (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb): * rendering/RenderThemeMac.h: (RenderThemeMac): * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack): (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb): * rendering/RenderMediaControlsChromium.cpp: (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySlider::orientation): Mark the fullscreen volume slider as horizontal. * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderThumb::updateAppearance): Give MediaFullScreenVolumeSliderParts MediaFullScreenVolumeSliderThumbParts. * css/fullscreenQuickTime.css: Change the styles for the fullscreen slider, min, and max buttons. (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-min-button): (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-slider): (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-max-button): * html/shadow/MediaControlRootElement.cpp: (WebCore::MediaControlRootElement::reset): Set the value of the fullscreen volume slider when resetting. 2012-02-29 Antti Koivisto Applying region style should not need to access parent rules https://bugs.webkit.org/show_bug.cgi?id=79910 Reviewed by Andreas Kling. Currently CSSStyleSelector::applyProperties looks into parent rules to see if a rule is part of region style. The plan is to eliminate the rule parent pointer so this needs to be refactored. Add a bit to RuleData to indicate if the StyleRule is part of a region style. * css/CSSStyleSelector.cpp: (RuleData): (WebCore::RuleData::isInRegionRule): (RuleSet): (WebCore::CSSStyleSelector::addMatchedProperties): (WebCore::CSSStyleSelector::sortAndTransferMatchedRules): (WebCore::CSSStyleSelector::collectMatchingRulesForList): * css/CSSStyleSelector.h: (CSSStyleSelector): 2012-02-27 Vsevolod Vlasov Web Inspector: [InspectorIndexedDB] Add refresh to IndexedDB support. https://bugs.webkit.org/show_bug.cgi?id=79695 Reviewed by Pavel Feldman. * inspector/front-end/IndexedDBViews.js: (WebInspector.IDBDataView): (WebInspector.IDBDataView.prototype._refreshButtonClicked): (WebInspector.IDBDataView.prototype.get statusBarItems): * inspector/front-end/ResourcesPanel.js: (WebInspector.IndexedDBTreeElement): (WebInspector.IndexedDBTreeElement.prototype.onattach): (WebInspector.IndexedDBTreeElement.prototype._handleContextMenuEvent): (WebInspector.IDBDatabaseTreeElement.prototype.onattach): (WebInspector.IDBDatabaseTreeElement.prototype._handleContextMenuEvent): (WebInspector.IDBDatabaseTreeElement.prototype._refreshIndexedDB): 2012-02-29 Andrey Kosyakov Web Inspector: timeline markers are not shown on the timeline panel https://bugs.webkit.org/show_bug.cgi?id=79921 Reviewed by Pavel Feldman. * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 2012-02-29 Kenichi Ishibashi Align InlineBox::m_expansion to a byte boundary https://bugs.webkit.org/show_bug.cgi?id=79761 Add a bit to m_expansion to align a byte boundary. This will make valgrind memcheck happy. I confirmed sizeof(InlineBox) is unchanged. Reviewed by Hajime Morita. No new tests. No behavior changes. * rendering/InlineBox.h: (InlineBox): Aligned m_expansion to a byte boundary. 2012-02-28 Kenneth Rohde Christiansen Do not iterate all tiles for resizing when the content didn't change https://bugs.webkit.org/show_bug.cgi?id=79787 Reviewed by Simon Hausmann. * platform/graphics/TiledBackingStore.cpp: (WebCore::TiledBackingStore::createTiles): 2012-02-29 Parag Radke Crash in WebCore::CompositeEditCommand::insertNodeAt https://bugs.webkit.org/show_bug.cgi?id=67764 Reviewed by Ryosuke Niwa. If caret position after deletion and destination position coincides then removing the node will result in removing the destination node also. Hence crash. Test: editing/deleting/delete-block-merge-contents-025.html * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::cleanupAfterDeletion): If the caret position after delete and the destination position renderes at the same place, pruning the node and making an early exit. 2012-02-29 Pavel Feldman Web Inspector: remove calculator's updateBoundaries in the timeline panel. https://bugs.webkit.org/show_bug.cgi?id=79907 Reviewed by Yury Semikhatsky. * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkBaseCalculator.prototype.computeBarGraphLabels): (WebInspector.NetworkBaseCalculator.prototype.formatTime): (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels): (WebInspector.NetworkTimeCalculator.prototype.formatTime): (WebInspector.NetworkTransferTimeCalculator.prototype.formatTime): (WebInspector.NetworkTransferDurationCalculator.prototype.formatTime): * inspector/front-end/TimelineGrid.js: (WebInspector.TimelineGrid.prototype.updateDividers): * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewCalculator.prototype.formatTime): (WebInspector.TimelineStartAtZeroOverview): (WebInspector.TimelineStartAtZeroOverview.prototype.update): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked): (WebInspector.TimelinePanel.prototype._refresh): (WebInspector.TimelinePanel.prototype._refreshRecords): (WebInspector.TimelinePanel.prototype.get timelinePaddingLeft): (WebInspector.TimelineCalculator): (WebInspector.TimelineCalculator.prototype.setWindow): (WebInspector.TimelineCalculator.prototype.setRecords): (WebInspector.TimelineCalculator.prototype.formatTime): (WebInspector.TimelineFitInWindowCalculator): (WebInspector.TimelineFitInWindowCalculator.prototype.setWindow): (WebInspector.TimelineFitInWindowCalculator.prototype.setRecords): * inspector/front-end/TimelinePresentationModel.js: (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent): 2012-02-29 Yury Semikhatsky Web Inspector: enable Profiles panel for workers https://bugs.webkit.org/show_bug.cgi?id=79908 Introduced worker profiler agent. Enabled script profiling for workers. Reviewed by Pavel Feldman. * bindings/js/ScriptProfiler.cpp: (WebCore::ScriptProfiler::startForPage): (WebCore): (WebCore::ScriptProfiler::startForWorkerContext): (WebCore::ScriptProfiler::stopForPage): (WebCore::ScriptProfiler::stopForWorkerContext): * bindings/js/ScriptProfiler.h: (WebCore): (ScriptProfiler): * bindings/v8/ScriptProfiler.cpp: (WebCore::ScriptProfiler::startForPage): (WebCore): (WebCore::ScriptProfiler::startForWorkerContext): (WebCore::ScriptProfiler::stopForPage): (WebCore::ScriptProfiler::stopForWorkerContext): * bindings/v8/ScriptProfiler.h: (WebCore): (ScriptProfiler): * inspector/InspectorProfilerAgent.cpp: (WebCore): (PageProfilerAgent): (WebCore::PageProfilerAgent::PageProfilerAgent): (WebCore::PageProfilerAgent::~PageProfilerAgent): (WebCore::PageProfilerAgent::startProfiling): (WebCore::PageProfilerAgent::stopProfiling): (WebCore::InspectorProfilerAgent::create): (WorkerProfilerAgent): (WebCore::WorkerProfilerAgent::WorkerProfilerAgent): (WebCore::WorkerProfilerAgent::~WorkerProfilerAgent): (WebCore::WorkerProfilerAgent::startProfiling): (WebCore::WorkerProfilerAgent::stopProfiling): (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): (WebCore::InspectorProfilerAgent::start): (WebCore::InspectorProfilerAgent::stop): * inspector/InspectorProfilerAgent.h: (WebCore): (InspectorProfilerAgent): * inspector/WorkerInspectorController.cpp: (WebCore::WorkerInspectorController::WorkerInspectorController): (WebCore::WorkerInspectorController::connectFrontend): (WebCore::WorkerInspectorController::disconnectFrontend): (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie): * inspector/WorkerInspectorController.h: (WebCore): (WorkerInspectorController): * inspector/front-end/ProfilesPanel.js: * inspector/front-end/inspector.js: (WebInspector._createPanels): 2012-02-29 Alexander Pavlov Web Inspector: Clicking relative links fails when query string contains a slash https://bugs.webkit.org/show_bug.cgi?id=79905 Reviewed by Vsevolod Vlasov. * inspector/front-end/ResourceUtils.js: (WebInspector.completeURL): 2012-02-29 Pavel Feldman Web Inspector: Ctrl R should reload page from the console panel as well. https://bugs.webkit.org/show_bug.cgi?id=79883 Reviewed by Vsevolod Vlasov. * inspector/front-end/inspector.js: (WebInspector.documentKeyDown): 2012-02-28 Pavel Podivilov Extended attributes list should go before 'static' and 'const' modifiers in IDLs. https://bugs.webkit.org/show_bug.cgi?id=79807 Reviewed by Kentaro Hara. No new tests. Generated code isn't changed. * bindings/scripts/IDLParser.pm: (ParseInterface): * bindings/scripts/IDLStructure.pm: * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestSupplemental.idl: * html/DOMURL.idl: * html/HTMLMediaElement.idl: * html/HTMLTrackElement.idl: 2012-02-28 Yury Semikhatsky Web Inspector: move DOM counter graphs out of experimental https://bugs.webkit.org/show_bug.cgi?id=79802 Enable DOM counter graphs by default. Reveal nearest record from the left hand side when there is no record containing the point where the user clicked. Reviewed by Pavel Feldman. * inspector/front-end/Settings.js: (WebInspector.ExperimentsSettings): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._endSplitterDragging): (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded): (WebInspector.TimelinePanel.prototype.sidebarResized): (WebInspector.TimelinePanel.prototype._resetPanel): (WebInspector.TimelinePanel.prototype._refresh): (WebInspector.TimelinePanel.prototype.revealRecordAt): 2012-02-28 MORITA Hajime [Refactoring] Shadow related attach paths should be in ShadowTree. https://bugs.webkit.org/show_bug.cgi?id=79854 Reviewed by Ryosuke Niwa. No new tests. No behavior change. This change introduces ShadowTree::attachHost() and ShadowTree::detachHost() and moves shadow-enabled attachment code from Element to ShadowRoot. This also factored out small ContainerNode method to use it from ShadowTree. Even after this change, the traveral order in ShadowTree attachment has some unclear part. Coming changes will clarify these. This change is aimed to be purely textural. * dom/ContainerNode.cpp: (WebCore::ContainerNode::attach): (WebCore::ContainerNode::detach): * dom/ContainerNode.h: (ContainerNode): (WebCore::ContainerNode::attachAsNode): Added. (WebCore::ContainerNode::attachChildren): Added. (WebCore::ContainerNode::attachChildrenIfNeeded): Added. (WebCore::ContainerNode::attachChildrenLazily): Added. (WebCore::ContainerNode::detachAsNode): Added. (WebCore::ContainerNode::detachChildrenIfNeeded): Added. (WebCore::ContainerNode::detachChildren): Added. * dom/Element.cpp: (WebCore::Element::attach): (WebCore::Element::detach): * dom/ShadowTree.cpp: (WebCore::ShadowTree::addShadowRoot): (WebCore::ShadowTree::removeAllShadowRoots): (WebCore::ShadowTree::detachHost): (WebCore): (WebCore::ShadowTree::attachHost): (WebCore::ShadowTree::reattachHostChildrenAndShadow): * dom/ShadowTree.h: (ShadowTree): 2012-02-28 Arko Saha Microdata: Implement HTMLPropertiesCollection collection.namedItem(). https://bugs.webkit.org/show_bug.cgi?id=73156 Reviewed by Kentaro Hara. Tests: fast/dom/MicroData/nameditem-must-be-case-sensitive.html fast/dom/MicroData/nameditem-must-return-correct-item-properties.html fast/dom/MicroData/properties-collection-nameditem-test.html * bindings/scripts/CodeGeneratorJS.pm: Modified code generator to generate JS bindings code for HTMLPropertiesCollection [NamedGetter] property. (GenerateImplementation): * html/HTMLPropertiesCollection.cpp: (WebCore::HTMLPropertiesCollection::names): (WebCore): (WebCore::HTMLPropertiesCollection::namedItem): Returns a NodeList object containing any elements that add a property named name. (WebCore::HTMLPropertiesCollection::hasNamedItem): Checks if the items can be retrieved or not based on the property named name. * html/HTMLPropertiesCollection.h: Added namedItem(), hasProperty(), hasNamedItem() methods. (HTMLPropertiesCollection): * html/HTMLPropertiesCollection.idl: Added namedItem() IDL method. 2012-02-28 Kinuko Yasuda Add size field to Metadata in FileSystem API https://bugs.webkit.org/show_bug.cgi?id=79813 Reviewed by David Levin. Test: fast/filesystem/op-get-metadata.html * fileapi/FileSystemCallbacks.cpp: (WebCore::MetadataCallbacks::didReadMetadata): * fileapi/Metadata.h: (WebCore::Metadata::create): (WebCore::Metadata::modificationTime): (WebCore::Metadata::size): Added. (WebCore::Metadata::Metadata): * fileapi/Metadata.idl: 2012-02-28 Dmitry Lomov [JSC] Implement ArrayBuffer transfer https://bugs.webkit.org/show_bug.cgi?id=73493. Implement ArrayBuffer transfer, per Khronos spec: http://www.khronos.org/registry/typedarray/specs/latest/#9. This brings parity with V8 implementation of transferable typed arrays. Reviewed by Oliver Hunt. Covered by existing tests. * bindings/js/JSDOMWindowCustom.cpp: (WebCore::handlePostMessage): * bindings/js/JSDictionary.cpp: (WebCore::JSDictionary::convertValue): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::pushState): (WebCore::JSHistory::replaceState): * bindings/js/JSMessageEventCustom.cpp: (WebCore::handleInitMessageEvent): * bindings/js/JSMessagePortCustom.cpp: (WebCore::fillMessagePortArray): * bindings/js/JSMessagePortCustom.h: (WebCore): (WebCore::handlePostMessage): * bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::serialize): * bindings/js/SerializedScriptValue.cpp: (WebCore): (WebCore::CloneSerializer::serialize): (CloneSerializer): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readTerminal): (CloneDeserializer): (WebCore::SerializedScriptValue::SerializedScriptValue): (WebCore::SerializedScriptValue::transferArrayBuffers): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: (WebCore): (SerializedScriptValue): 2012-02-28 Kevin Ollivier [wx] Unreviewed. Build fixes after recent bindings changes. * bindings/scripts/CodeGeneratorCPP.pm: (ShouldSkipType): * testing/Internals.idl: 2012-02-28 Yoshifumi Inoue [Forms] Spin button sometimes ignores Indeterminate of m_upDownState https://bugs.webkit.org/show_bug.cgi?id=79754 Reviewed by Kent Tamura. This patch checks enum value Indeterminate before using m_upDownState. This make sure Indeterminate state doesn't act like Down state. m_upDownState can be Indeterminate at mousedown event if mouse pointer is on spin button when it is displayed. Test: fast/forms/number/spin-button-state.html * html/shadow/TextControlInnerElements.cpp: (WebCore::SpinButtonElement::defaultEventHandler): (WebCore::SpinButtonElement::repeatingTimerFired): 2012-02-27 MORITA Hajime [Refactoring] RenderSummary and RenderDetail is no longer needed. https://bugs.webkit.org/show_bug.cgi?id=79641 Reviewed by Kent Tamura. Removed RenderDetails and RenderSummary because its only modification they had is already handled by RenderBlock::styleWillChange(). These are just a historical artifact. We could have removed these classes when they were switched to shadow-based implementations. Tests: fast/html/details-inline-expected.html fast/html/details-inline.html * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * html/HTMLDetailsElement.cpp: (WebCore::HTMLDetailsElement::createRenderer): * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::createRenderer): (WebCore::HTMLSummaryElement::defaultEventHandler): * rendering/RenderDetails.cpp: Removed. * rendering/RenderDetails.h: Removed. * rendering/RenderDetailsMarker.cpp: (WebCore::RenderDetailsMarker::isOpen): * rendering/RenderDetailsMarker.h: (RenderDetailsMarker): * rendering/RenderObject.h: (RenderObject): * rendering/RenderSummary.cpp: Removed. * rendering/RenderSummary.h: Removed. * rendering/RenderingAllInOne.cpp: 2012-02-28 Simon Fraser Optimize the rects being drawn into compositing layers https://bugs.webkit.org/show_bug.cgi?id=79852 Reviewed by Dan Bernstein. Use the newly added WebKitSystemInterface method to limit the area being painted in a CALayer -drawInContext callback. This avoids redundant drawing, for performance. * platform/graphics/mac/WebLayer.mm: (drawLayerContents): 2012-02-28 Simon Fraser Fix the SnowLeopard build. * WebCore.exp.in: 2012-02-28 Anders Carlsson With tiled drawing enabled, pressing Down arrow after scrolling via mouse gesture causes page to jump back up to top https://bugs.webkit.org/show_bug.cgi?id=79249 Reviewed by Sam Weinig. ScrollableArea::notifyScrollPositionChanged must make sure that the scroll animator position is kept up to date. * platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::setCurrentPosition): (WebCore): * platform/ScrollAnimator.h: (ScrollAnimator): * platform/ScrollableArea.cpp: (WebCore::ScrollableArea::notifyScrollPositionChanged): 2012-02-28 Daniel Cheng Unreviewed, rolling out r107894. http://trac.webkit.org/changeset/107894 https://bugs.webkit.org/show_bug.cgi?id=30416 dataTransfer.types should be an Array since DOMStringList is deprecated. * bindings/js/JSClipboardCustom.cpp: (WebCore::JSClipboard::types): (WebCore): * bindings/v8/custom/V8ClipboardCustom.cpp: (WebCore::V8Clipboard::typesAccessorGetter): (WebCore): * dom/Clipboard.cpp: (WebCore::Clipboard::hasStringOfType): * dom/Clipboard.h: (Clipboard): * dom/Clipboard.idl: * platform/blackberry/ClipboardBlackBerry.cpp: (WebCore::ClipboardBlackBerry::types): * platform/blackberry/ClipboardBlackBerry.h: (ClipboardBlackBerry): * platform/chromium/ChromiumDataObject.cpp: (WebCore::ChromiumDataObject::types): * platform/chromium/ChromiumDataObject.h: (ChromiumDataObject): * platform/chromium/ClipboardChromium.cpp: (WebCore::ClipboardChromium::types): (WebCore::ClipboardChromium::mayUpdateItems): * platform/chromium/ClipboardChromium.h: (ClipboardChromium): * platform/chromium/DragDataChromium.cpp: (WebCore::containsHTML): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::containsPlainText): (WebCore::DragData::canSmartReplace): (WebCore::DragData::asFragment): * platform/efl/ClipboardEfl.cpp: (WebCore::ClipboardEfl::types): * platform/efl/ClipboardEfl.h: (ClipboardEfl): * platform/gtk/ClipboardGtk.cpp: (WebCore::ClipboardGtk::types): * platform/gtk/ClipboardGtk.h: (ClipboardGtk): * platform/mac/ClipboardMac.h: (ClipboardMac): * platform/mac/ClipboardMac.mm: (WebCore::addHTMLClipboardTypesForCocoaType): (WebCore::ClipboardMac::types): * platform/qt/ClipboardQt.cpp: (WebCore::ClipboardQt::types): * platform/qt/ClipboardQt.h: (ClipboardQt): * platform/win/ClipboardWin.cpp: (WebCore::addMimeTypesForFormat): (WebCore::ClipboardWin::types): * platform/win/ClipboardWin.h: (ClipboardWin): * platform/wx/ClipboardWx.cpp: (WebCore::ClipboardWx::types): * platform/wx/ClipboardWx.h: (ClipboardWx): 2012-02-28 Simon Fraser Update WebKitSystemInterface. Reviewed by Sam Weinig. * WebCore.exp.in: (drawLayerContents): * platform/mac/WebCoreSystemInterface.h: * platform/mac/WebCoreSystemInterface.mm: 2012-02-27 MORITA Hajime element should behave as HTMLUnknownElement outside of a shadow DOM subtree https://bugs.webkit.org/show_bug.cgi?id=79551 Reviewed by Dimitri Glazkov. The problem happened because HTMLContentElement doesn't create renderer anytime. This change allows it to create a renderer unless the HTMLContentElement is shadowed. Since this could happen not only on but also on upcoming , the corresponding part of the code is pulled up to InsertionPoint. Tests: fast/dom/shadow/content-element-outside-shadow-style-expected.html fast/dom/shadow/content-element-outside-shadow-style.html * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::NodeRenderingContext): * dom/ShadowRoot.h: (WebCore): (WebCore::TreeScope::isShadowRoot): * dom/TreeScope.h: (TreeScope): * html/shadow/HTMLContentElement.h: * html/shadow/InsertionPoint.cpp: (WebCore::InsertionPoint::isShadowBoundary): (WebCore): * html/shadow/InsertionPoint.h: (InsertionPoint): (WebCore::isShadowBoundary): (WebCore): 2012-02-28 Daniel Cheng Clipboard::getData should return an empty string instead of undefined https://bugs.webkit.org/show_bug.cgi?id=79712 Reviewed by Tony Chang. Per the spec, an empty string should be returned when there is no data for the given typestring. Test: fast/events/dataTransfer-getData-returns-empty-string.html * bindings/js/JSClipboardCustom.cpp: * bindings/v8/custom/V8ClipboardCustom.cpp: * dom/Clipboard.h: (Clipboard): * dom/Clipboard.idl: * platform/blackberry/ClipboardBlackBerry.cpp: (WebCore::ClipboardBlackBerry::getData): * platform/blackberry/ClipboardBlackBerry.h: (ClipboardBlackBerry): * platform/chromium/ClipboardChromium.cpp: (WebCore::ClipboardChromium::getData): * platform/chromium/ClipboardChromium.h: (ClipboardChromium): * platform/efl/ClipboardEfl.cpp: (WebCore::ClipboardEfl::getData): * platform/efl/ClipboardEfl.h: (ClipboardEfl): * platform/gtk/ClipboardGtk.cpp: (WebCore::ClipboardGtk::getData): * platform/gtk/ClipboardGtk.h: (ClipboardGtk): * platform/mac/ClipboardMac.h: (ClipboardMac): * platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::getData): * platform/qt/ClipboardQt.cpp: (WebCore::ClipboardQt::getData): * platform/qt/ClipboardQt.h: (ClipboardQt): * platform/win/ClipboardUtilitiesWin.cpp: (WebCore::getFullCFHTML): (WebCore::getURL): (WebCore::getPlainText): (WebCore::getTextHTML): (WebCore::getCFHTML): (WebCore::fragmentFromHTML): * platform/win/ClipboardUtilitiesWin.h: (WebCore): * platform/win/ClipboardWin.cpp: (WebCore::ClipboardWin::getData): * platform/win/ClipboardWin.h: (ClipboardWin): * platform/wx/ClipboardWx.cpp: (WebCore::ClipboardWx::getData): * platform/wx/ClipboardWx.h: (ClipboardWx): 2012-02-28 Kenichi Ishibashi [Chromium] Uninitialized value in LocaleToScriptCodeForFontSelection https://bugs.webkit.org/show_bug.cgi?id=79779 Set USCRIPT_COMMON to scriptCode as the initial value. Reviewed by Kent Tamura. No new tests. No behavior change. * platform/text/LocaleToScriptMappingICU.cpp: (WebCore::localeToScriptCodeForFontSelection): 2012-02-28 Kenneth Russell [chromium] Work around IOSurface-related corruption during readback https://bugs.webkit.org/show_bug.cgi?id=79735 Reviewed by James Robinson. Copy the compositor's IOSurface-backed output into a temporary texture and perform the ReadPixels operation against that texture. It is infeasible to write an automated test for this issue. Tested manually by performing print preview multiple times against pages containing WebGL content on 10.7 and observing that the corruption in the output is no longer present. * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::getFramebufferPixels): 2012-02-28 Adrienne Walker [chromium] Inform v8 about extra memory used for PatternSkia clamp mode https://bugs.webkit.org/show_bug.cgi?id=79846 Reviewed by James Robinson. For large images, creating a non-repeating Pattern in Skia can allocate a lot of memory. Inform v8 about this so that it can potentially garbage collect any Pattern objects that aren't being used and that are holding onto large image copies. * platform/graphics/Pattern.cpp: (WebCore::Pattern::Pattern): * platform/graphics/Pattern.h: (Pattern): * platform/graphics/skia/PatternSkia.cpp: (WebCore::Pattern::platformDestroy): (WebCore::Pattern::platformPattern): 2012-02-28 Jonathan Backer [chromium] Reset damage tracker on visibility change. https://bugs.webkit.org/show_bug.cgi?id=79267 Reviewed by James Robinson. Unit tests: CCLayerTreeHostImplTest.cpp * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::setVisible): 2012-02-28 Sheriff Bot Unreviewed, rolling out r108834. http://trac.webkit.org/changeset/108834 https://bugs.webkit.org/show_bug.cgi?id=79840 Seems to cause a number of crashes under FrameView::doDeferredRepaints (Requested by jamesr__ on #webkit). * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::draw): * svg/graphics/SVGImage.h: * svg/graphics/SVGImageCache.cpp: (WebCore::SVGImageCache::imageContentChanged): (WebCore::SVGImageCache::redrawTimerFired): * svg/graphics/SVGImageCache.h: (SVGImageCache): 2012-02-29 Mario Sanchez Prada [GTK] Add support for nested event loops in RunLoop https://bugs.webkit.org/show_bug.cgi?id=79499 Reviewed by Martin Robinson. Run a new nested mainloop if the main event loop is already running when calling to RunLoop::run(), and take care of stopping the right main loop too when RunLoop::stop() is invoked. * platform/RunLoop.h: (RunLoop): * platform/gtk/RunLoopGtk.cpp: (WebCore::RunLoop::RunLoop): (WebCore::RunLoop::~RunLoop): (WebCore::RunLoop::run): (WebCore::RunLoop::innermostLoop): (WebCore::RunLoop::pushNestedMainLoop): (WebCore::RunLoop::popNestedMainLoop): (WebCore): (WebCore::RunLoop::stop): 2012-02-28 Julien Chaffraix Move RenderLayer::size() calls to a common function https://bugs.webkit.org/show_bug.cgi?id=76972 Reviewed by Simon Fraser. Refactoring only. This change introduces RenderBox::cachedSizeForOverflowClip() that handles all the cached size requests that currently goes through the RenderLayer. This indirection helps to decouple the need for a RenderLayer so that we can lazily allocate RenderLayers as part of bug 75568. * rendering/RenderBox.cpp: (WebCore::RenderBox::cachedSizeForOverflowClip): Added this function to handle the calls to RenderLayer's size(). Unfortunately a lot of the code calls RenderLayer::size() directly so I could not make it private. * rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): * rendering/RenderBox.cpp: (WebCore::RenderBox::computeRectForRepaint): * rendering/RenderBox.h: (RenderBox): * rendering/RenderInline.cpp: (WebCore::RenderInline::clippedOverflowRectForRepaint): (WebCore::RenderInline::computeRectForRepaint): * rendering/RenderObject.cpp: (WebCore::RenderObject::computeRectForRepaint): Fixed the call sites above. 2012-02-28 Tim Dresser Provide DefaultDeviceScaleFactor though WebSettings https://bugs.webkit.org/show_bug.cgi?id=79534 Reviewed by Darin Fisher. * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setDefaultDeviceScaleFactor): (WebCore): * page/Settings.h: (Settings): (WebCore::Settings::defaultDeviceScaleFactor): 2012-02-28 Oliver Hunt Fix build. * mathml/MathMLElement.cpp: (WebCore::MathMLElement::collectStyleForAttribute): 2012-02-28 Dean Jackson https://bugs.webkit.org/show_bug.cgi?id=79824 Unreviewed build fix for when ENABLE(CSS_FILTERS) is on but ENABLE(CSS_SHADERS) is off. * css/WebKitCSSFilterValue.cpp: (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator): 2012-02-28 Dave Moore Slow content causes choppy scrolling https://bugs.webkit.org/show_bug.cgi?id=79403 Reviewed by James Robinson. This code helps make scrolling (via wheel or pad) less choppy when the content takes a long time to respond to the fake mouse moves generated during scrolls. * page/EventHandler.cpp: (WebCore): (MaximumDurationTracker): (WebCore::MaximumDurationTracker::MaximumDurationTracker): (WebCore::MaximumDurationTracker::~MaximumDurationTracker): (WebCore::EventHandler::EventHandler): (WebCore::EventHandler::clear): (WebCore::EventHandler::mouseMoved): (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): * page/EventHandler.h: 2012-02-28 Andreas Kling StyledElement::isPresentationAttribute() only needs the attribute name. Reviewed by Anders Carlsson. Pass the QualifiedName to isPresentationAttribute instead of the whole Attribute. We only need the name to know what kind of attribute it is. This makes the code a little less ugly and makes it possible to use the function without having an Attribute object. * dom/StyledElement.cpp: (WebCore::StyledElement::attributeChanged): * dom/StyledElement.h: (WebCore::StyledElement::isPresentationAttribute): * html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::isPresentationAttribute): * html/HTMLBRElement.h: * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::isPresentationAttribute): * html/HTMLBodyElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::isPresentationAttribute): * html/HTMLButtonElement.h: * html/HTMLDivElement.cpp: (WebCore::HTMLDivElement::isPresentationAttribute): * html/HTMLDivElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::isPresentationAttribute): * html/HTMLElement.h: * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::isPresentationAttribute): * html/HTMLEmbedElement.h: * html/HTMLFontElement.cpp: (WebCore::HTMLFontElement::isPresentationAttribute): * html/HTMLFontElement.h: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::isPresentationAttribute): * html/HTMLFrameSetElement.h: * html/HTMLHRElement.cpp: (WebCore::HTMLHRElement::isPresentationAttribute): * html/HTMLHRElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::isPresentationAttribute): * html/HTMLIFrameElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::isPresentationAttribute): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::isPresentationAttribute): * html/HTMLInputElement.h: * html/HTMLLIElement.cpp: (WebCore::HTMLLIElement::isPresentationAttribute): * html/HTMLLIElement.h: * html/HTMLMarqueeElement.cpp: (WebCore::HTMLMarqueeElement::isPresentationAttribute): * html/HTMLMarqueeElement.h: * html/HTMLOListElement.cpp: (WebCore::HTMLOListElement::isPresentationAttribute): * html/HTMLOListElement.h: * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::isPresentationAttribute): * html/HTMLObjectElement.h: * html/HTMLParagraphElement.cpp: (WebCore::HTMLParagraphElement::isPresentationAttribute): * html/HTMLParagraphElement.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::isPresentationAttribute): * html/HTMLPlugInElement.h: * html/HTMLPreElement.cpp: (WebCore::HTMLPreElement::isPresentationAttribute): * html/HTMLPreElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::isPresentationAttribute): * html/HTMLSelectElement.h: * html/HTMLTableCaptionElement.cpp: (WebCore::HTMLTableCaptionElement::isPresentationAttribute): * html/HTMLTableCaptionElement.h: * html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::isPresentationAttribute): * html/HTMLTableCellElement.h: * html/HTMLTableColElement.cpp: (WebCore::HTMLTableColElement::isPresentationAttribute): * html/HTMLTableColElement.h: * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::isPresentationAttribute): * html/HTMLTableElement.h: * html/HTMLTablePartElement.cpp: (WebCore::HTMLTablePartElement::isPresentationAttribute): * html/HTMLTablePartElement.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::isPresentationAttribute): * html/HTMLTextAreaElement.h: * html/HTMLUListElement.cpp: (WebCore::HTMLUListElement::isPresentationAttribute): * html/HTMLUListElement.h: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::isPresentationAttribute): * html/HTMLVideoElement.h: * mathml/MathMLElement.cpp: (WebCore::MathMLElement::isPresentationAttribute): * mathml/MathMLElement.h: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::isPresentationAttribute): * svg/SVGImageElement.h: * svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::isPresentationAttribute): * svg/SVGStyledElement.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::isPresentationAttribute): * svg/SVGTextContentElement.h: 2012-02-28 Enrica Casucci More Pasteboard code cleanup. https://bugs.webkit.org/show_bug.cgi?id=79816 Removing the last references to NSPasteboard. Reviewed by Alexey Proskuryakov. No new tests. No change in functionality. * WebCore.xcodeproj/project.pbxproj: * editing/mac/EditorMac.mm: (WebCore::Editor::pasteWithPasteboard): (WebCore::Editor::takeFindStringFromSelection): * loader/EmptyClients.h: (WebCore::EmptyEditorClient::setInsertionPasteboard): * page/DragClient.h: * page/EditorClient.h: * platform/DragData.h: * platform/Pasteboard.h: * platform/mac/ClipboardMac.h: * platform/mac/PasteboardHelper.h: Removed. 2012-02-28 Sheriff Bot Unreviewed, rolling out r109137. http://trac.webkit.org/changeset/109137 https://bugs.webkit.org/show_bug.cgi?id=79833 Broke cr-mac build (Requested by aklein on #webkit). * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore): (WebCore::pathFromFont): 2012-02-28 Jungshik Shin Add a fallback path to LineBreakIteratorPoolICU when the locale name from a web page is invalid and ICU fails to get a line break iterator instance. Also add a null check to TextBreakIteratorICU::acquireLineBreakIterator. Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=67640 Test: fast/text/invalid-locale.html * platform/text/LineBreakIteratorPoolICU.h: (WebCore::LineBreakIteratorPool::take): * platform/text/TextBreakIteratorICU.cpp: (WebCore::acquireLineBreakIterator): 2012-02-28 Abhishek Arya Crash due to accessing removed continuation in multi-column layout. https://bugs.webkit.org/show_bug.cgi?id=78417 Reviewed by David Hyatt. This patch addresses two problems: 1. Run-in block got split due to addition of a column-span child. The clone part was incorrectly intruding into the sibling block, even when it was part of the continuation chain. 2. Like r73296, we don't need to set continuation on an anonymous block since we haven't split a real element. Test: fast/multicol/span/runin-continuation-crash.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): (WebCore::RenderBlock::handleRunInChild): 2012-02-28 Abhishek Arya Incorrect before child parent calculation when adding new children to anonymous column blocks. https://bugs.webkit.org/show_bug.cgi?id=79755 Reviewed by David Hyatt. before child can be wrapped in anonymous containers, so need to take care of that in before child parent calculation. Test: fast/multicol/span/before-child-anonymous-column-block.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildToAnonymousColumnBlocks): 2012-02-28 Ned Holbrook Reimplement pathFromFont() in SimpleFontDataMac.mm https://bugs.webkit.org/show_bug.cgi?id=79811 Reviewed by Dan Bernstein. Debug-only function, so no new tests. * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::pathFromFont): Reimplemented. 2012-02-28 Alexis Menard getComputedStyle fails for 'first-line' pseudo-element https://bugs.webkit.org/show_bug.cgi?id=57505 Reviewed by Tony Chang. Querying the selector with a pseudo-element using getComputedStyle should work even if the selector was not declared in the stylesheet. When not declared, we need to use the RenderStyle created to do the rendering as there is no pseudo-style. This match the behavior of Firefox. No new tests : Updated expectation and extended getComputedStyle-with-pseudo-element.html. * dom/Element.cpp: (WebCore::Element::computedStyle): 2012-02-28 Ashod Nakashian Move FILE_SYSTEM code out of WorkerContext and into the fileapi folder https://bugs.webkit.org/show_bug.cgi?id=79449 Reviewed by Adam Barth. This moves FILE_SYSTEM code out of WorkerContext and into the fileapi/WorkerContextFileSystem. None-functional changes, no new tests necessary. * CMakeLists.txt: * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * fileapi/WorkerContextFileSystem.cpp: Added. (WebCore): (WebCore::WorkerContextFileSystem::webkitRequestFileSystem): (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync): (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL): (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL): * fileapi/WorkerContextFileSystem.h: Added. (WebCore): (WorkerContextFileSystem): * fileapi/WorkerContextFileSystem.idl: Added. * workers/WorkerContext.cpp: (WebCore::WorkerContext::ensureEventTargetData): * workers/WorkerContext.h: (WebCore): (WorkerContext): * workers/WorkerContext.idl: 2012-02-28 Alexey Proskuryakov FileReader crashes when file is not readable https://bugs.webkit.org/show_bug.cgi?id=79715 Reviewed by Jian Li. Test: fast/files/file-reader-directory-crash.html * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): Crash early if a caller mixed up in-band error signal with length again. * platform/network/BlobResourceHandle.cpp: (WebCore): Changed errors into an enum. Added a proper domain for blob errors. (WebCore::BlobResourceHandle::didReceiveResponse): There is already a constant for INT_MAX in C/C++. (WebCore::BlobResourceHandle::didRead): Don't send "-1" for failure down the success path. (WebCore::BlobResourceHandle::notifyFail): Use a proper domain for blob errors, and a non- empty message. 2012-02-28 Adam Klein Unreviewed, fix cr-win build after r109119. * platform/graphics/chromium/TransparencyWin.h: (TransparencyWin): 2012-02-28 Mario Sanchez Prada [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr https://bugs.webkit.org/show_bug.cgi?id=79496 Reviewed by Martin Robinson. Updated places where raw pointers to GMainLoop and GMainContext were being used, replacing them with GRefPtr-based code. * platform/RunLoop.h: (RunLoop): * platform/gtk/RunLoopGtk.cpp: (WebCore::RunLoop::RunLoop): (WebCore::RunLoop::~RunLoop): (WebCore::RunLoop::mainLoop): (WebCore::RunLoop::stop): (WebCore::RunLoop::wakeUp): (WebCore::RunLoop::TimerBase::start): * platform/network/soup/ResourceHandleSoup.cpp: (WebCoreSynchronousLoader): (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): (WebCore::WebCoreSynchronousLoader::didFinishLoading): (WebCore::WebCoreSynchronousLoader::run): 2012-02-28 Alok Priyadarshi Heap-use-after-free in WebCore::RenderLayer::addChild https://bugs.webkit.org/show_bug.cgi?id=79698 Reviewed by Simon Fraser. This patch fixes a regression introduced in r108659. The reflection layer was moved to the parent by mistake. It was then deleted and the parent was left holding on to a deleted pointer. This patch restores the location where reflection layer is removed - before moving the child layers. Test: fast/reflections/toggle-reflection-crash.html * rendering/RenderLayer.cpp: (WebCore::RenderLayer::removeOnlyThisLayer): 2012-02-28 Ken Buchanan Crash from list marker having inline and block children https://bugs.webkit.org/show_bug.cgi?id=79793 Reviewed by Julien Chaffraix. Crashing condition in which an anonymous block was being collapsed even though it had a block sibling. removeChild() was not checking for siblings that might precede :before content renderers, such as list items. This patch corrects that. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeChild) 2012-02-28 Adam Klein Unreviewed, speculative test fix after r109016. * platform/graphics/chromium/TransparencyWin.cpp: (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): Explicitly pass a scale of 1 to ImageBuffer::create. * platform/graphics/chromium/TransparencyWin.h: (WebCore): Update names of re-enabled tests. 2012-02-28 Antti Koivisto Give StyleRule files of its own https://bugs.webkit.org/show_bug.cgi?id=79778 Totally rubber-stamped by Andreas Kling. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * css/CSSParser.cpp: * css/CSSStyleRule.cpp: (WebCore): (WebCore::CSSStyleRule::style): * css/CSSStyleRule.h: (WebCore): (CSSStyleRule): * css/CSSStyleSelector.cpp: * css/CSSStyleSheet.cpp: * css/StyleRule.cpp: Copied from Source/WebCore/css/CSSStyleRule.cpp. (WebCore): * css/StyleRule.h: Copied from Source/WebCore/css/CSSStyleRule.h. (WebCore): * editing/EditingStyle.cpp: * inspector/InspectorCSSAgent.cpp: * inspector/InspectorInstrumentation.cpp: * inspector/InspectorStyleSheet.cpp: * page/PageSerializer.cpp: 2012-02-28 Pavel Feldman Web Inspector: remove window aspects from the timeline presentation model. https://bugs.webkit.org/show_bug.cgi?id=79803 Reviewed by Yury Semikhatsky. * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane): (WebInspector.TimelineOverviewPane.prototype.accept): (WebInspector.TimelineOverviewPane.prototype._setWindowIndices): (WebInspector.TimelineOverviewPane.prototype.windowLeft): (WebInspector.TimelineOverviewPane.prototype.windowRight): (WebInspector.TimelineOverviewPane.prototype._fireWindowChanged): (WebInspector.TimelineOverviewWindow.prototype._dragWindow): (WebInspector.TimelineOverviewPane.WindowSelector): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked): (WebInspector.TimelinePanel.prototype._updateBoundaries): * inspector/front-end/TimelinePresentationModel.js: (WebInspector.TimelinePresentationModel.prototype.reset): (WebInspector.TimelineCategory): (WebInspector.TimelineCategory.prototype.get hidden): (WebInspector.TimelineCategory.prototype.set hidden): 2012-02-28 Kenneth Rohde Christiansen Improve the visual of the tiling https://bugs.webkit.org/show_bug.cgi?id=79648 Reviewed by Noam Rosenthal. When we cover the view with tiles[1], we do so from the center and out, in bigger and bigger cicles by finding the current minimum covered distance. This looks like painting a rect, then a cross, then a rect, ... and can be noticed when a page blocks during tiling. We can do this better by only covering with tiles in rects at a time. The original code was done so that it gave preference to tiles in vertical direction due to that being the most common scrolling direction. This is not needed anymore as we are now using the trajectory vector when panning, which always gives preference for creating tiles in the panned direction. [1] It should be noted that we always cover the visibleRect in one go, and that we here are talking about covering the coverRect beyond the visibleRect * platform/graphics/TiledBackingStore.cpp: (WebCore::TiledBackingStore::tileDistance): 2012-02-28 Yury Semikhatsky Web Inspector: preserve memory counters size after frontend reopening https://bugs.webkit.org/show_bug.cgi?id=79792 Clear collected counter values when timeline panel is reset. Persist timeline grid/counters splitter position to restore it when front-end is opened next time. Reviewed by Pavel Feldman. * inspector/front-end/MemoryStatistics.js: (WebInspector.MemoryStatistics.prototype.reset): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._setSplitterPosition): (WebInspector.TimelinePanel.prototype._resetPanel): * inspector/front-end/timelinePanel.css: (#counter-values-bar): 2012-02-28 Pavel Feldman Web Inspector: move filtering of the timeline records into the presentation model. https://bugs.webkit.org/show_bug.cgi?id=79789 Reviewed by Yury Semikhatsky. * inspector/front-end/TimelineModel.js: * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane): (WebInspector.TimelineOverviewPane.prototype.setStartAtZero): (WebInspector.TimelineOverviewPane.prototype.scrollWindow): (WebInspector.TimelineOverviewPane.prototype.accept): (WebInspector.TimelineOverviewPane.prototype._setWindowIndices): (WebInspector.TimelineStartAtZeroOverview): (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._createStatusbarButtons): (WebInspector.TimelinePanel.prototype._updateRecordsCounter): (WebInspector.TimelinePanel.prototype._glueParentButtonClicked): (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): (WebInspector.TimelinePanel.prototype._resetPanel): (WebInspector.TimelinePanel.prototype._refresh): (WebInspector.TimelinePanel.prototype.revealRecordAt): (WebInspector.TimelinePanel.prototype._refreshRecords): (WebInspector.TimelineExpandableElement.prototype._update): (WebInspector.TimelineCategoryFilter): (WebInspector.TimelineCategoryFilter.prototype.accept): (WebInspector.TimelineIsLongFilter): (WebInspector.TimelineIsLongFilter.prototype.accept): * inspector/front-end/TimelinePresentationModel.js: (WebInspector.TimelinePresentationModel): (WebInspector.TimelinePresentationModel.prototype.addFilter): (WebInspector.TimelinePresentationModel.prototype.reset): (WebInspector.TimelinePresentationModel.prototype.minimumRecordTime): (WebInspector.TimelinePresentationModel.prototype.maximumRecordTime): (WebInspector.TimelinePresentationModel.prototype.addRecord): (WebInspector.TimelinePresentationModel.prototype._updateBoundaries): (WebInspector.TimelinePresentationModel.prototype._findParentRecord): (WebInspector.TimelinePresentationModel.prototype.setGlueRecords): (WebInspector.TimelinePresentationModel.prototype.fireWindowChanged): (WebInspector.TimelinePresentationModel.prototype.get _recordStyles): (WebInspector.TimelinePresentationModel.prototype.filteredRecords): (WebInspector.TimelinePresentationModel.prototype._filterRecords): (WebInspector.TimelinePresentationModel.Record.prototype.get visibleChildrenCount): (WebInspector.TimelinePresentationModel.Record.prototype.get invisibleChildrenCount): (WebInspector.TimelinePresentationModel.Filter): (WebInspector.TimelinePresentationModel.Filter.prototype.accept): 2012-02-28 Florin Malita Percent width/height SVG not always scaled on window resize https://bugs.webkit.org/show_bug.cgi?id=79490 Reviewed by Nikolas Zimmermann. Tests: fast/repaint/percent-minheight-resize-expected.html fast/repaint/percent-minheight-resize.html svg/custom/svg-percent-scale-expected.html svg/custom/svg-percent-scale-vonly-expected.html svg/custom/svg-percent-scale-vonly.html svg/custom/svg-percent-scale.html Fix a couple of problems preventing correct SVG scaling on window resize: - RenderReplaced::computePreferredLogicalWidths is not SVG attribute aware and computes a non-zero m_minPreferredLogicalWidth even when the SVG widh/height are percentages. - RenderBlock::layoutInlineChildren is also not SVG attribute aware and does not trigger percent height child layouts on vertical-only resizes. * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): Use hasRelativeDimensions() instead of direct width/height->isPercent tests. This also fixes an HTML issue where percent {min,max}Height inline elements are not updated on vertical-only resizes. * rendering/RenderBox.cpp: (WebCore::RenderBox::hasRelativeDimensions): (WebCore): * rendering/RenderBox.h: (RenderBox): Add virtual hasRelativeDimensions() method. * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::computePreferredLogicalWidths): Use hasRelativeDimensions() instead of direct width/height->isPercent tests. * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): (WebCore::RenderSVGRoot::willBeDestroyed): Register percent-height SVG elements with the gPercentHeightDescendantsMap, and clean-up on destruction or height unit change. (WebCore::RenderSVGRoot::hasRelativeDimensions): (WebCore): * rendering/svg/RenderSVGRoot.h: (RenderSVGRoot): SVG-aware hasRelativeDimensions() override. 2012-02-28 Yury Semikhatsky Web Inspector: show resource dividers on memory counter graphs https://bugs.webkit.org/show_bug.cgi?id=79782 Resource dividers are drawn on the memory counter graphs. Reviewed by Pavel Feldman. * inspector/front-end/MemoryStatistics.js: (WebInspector.MemoryStatistics.prototype.updateDividers): (WebInspector.MemoryStatistics.prototype.setMainTimelineGrid): (WebInspector.MemoryStatistics.prototype._updateSize): (WebInspector.MemoryStatistics.prototype.show): (WebInspector.MemoryStatistics.prototype.refresh): (WebInspector.MemoryStatistics.prototype._refreshDividers): * inspector/front-end/TimelineGrid.js: (WebInspector.TimelineGrid.prototype.get dividersElement): (WebInspector.TimelineGrid.prototype.updateDividers): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged): (WebInspector.TimelinePanel.prototype._refreshRecords): (WebInspector.TimelinePanel.prototype.get timlinePaddingLeft): * inspector/front-end/timelinePanel.css: (#memory-graphs-canvas-container): (#memory-graphs-canvas-container .resources-dividers): 2012-02-28 Nikolas Zimmermann Integrate SVGUseElement within the new shadow root concept https://bugs.webkit.org/show_bug.cgi?id=78902 Reviewed by Zoltan Herczeg. Replace SVG shadow tree implementation with the new, modern #shadow-root implementation. Current situation in trunk: SVGUseElement doesn't create/hold the shadow tree, unlike its expected in the modern #shadow-root concept, but its renderer RenderSVGShadowTreeRootContainer. That creates a cycle, as the actual DOM tree is stored as RefPtr inside a renderer - that's weak conceptually, and has lead to sublte security bugs in the past. Whenever a target element of a element changed, invalidateShadowTree() is called which calls setNeedsStyleRecalc(), and sets m_needsShadodwTreeRecreation to true. Once style recalculation happens, the RenderSVGShadowTreeRootContainer then eventually built the shadow tree, by cloning the target node, building the SVGElementInstance tree etc, -- all within the render tree. To easy reviewing, here's a dump of the current render tree for a simple example: Dump of render tree: RenderSVGHiddenContainer {defs} // (SVGDefsElement) RenderSVGRect {rect} // (SVGRectElement) RenderSVGShadowTreeRootContainer {use} // (SVGUseElement) RenderSVGContainer {g} // (SVGShadowTreeRootElement) RenderSVGRect {rect} // (SVGRectElement, clone of in ) The SVGShadowTreeRootElement is created & stored by RenderSVGShadowTreeRootContainer, the renderer of the element. The RenderSVGTransformableContainer renderer created for the SVGShadowTreeRootElement stores the x/y translation induced by the attributes. There are lots of places all over WebCore that assume the existance of a renderer as first child of the element, representing the "SVG shadow tree root". Summary of this patch: Let SVGUseElement create&maintain a #shadow-root, and append the cloned target elements into this shadow root. We no longer have to take care of attachment/detachment, style recalculation, etc. - that's handled transparenly by ShadowRoot(List) now. This makes SVGShadowTreeElements & RenderSVGShadowTreeRootContainer obsolete. Switch SVGUseElement to create a RenderSVGTransformableContainer as its renderer, and make it respect the translation induced by the x/y attributes, given for a element. Remove all occourences of SVGShadowRoot, remove all special cases it induced. It's all covered by existing tests, took a while to make them all pass again. * CMakeLists.txt: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build. * GNUmakefile.list.am: Ditto. * Target.pri: Ditto. * WebCore.gypi: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::collectMatchingRulesForList): Enable fast path for selector checking, now that special shadow tree rules are gone. * css/SelectorChecker.cpp: (WebCore::linkAttribute): No need to guard this code with ENABLE(SVG). (WebCore::SelectorChecker::checkSelector): Remove obsolete SVG shadow root special case. * dom/EventDispatcher.cpp: (WebCore::eventTargetRespectingSVGTargetRules): Remove loop, simplify & cleanup this code. (WebCore::EventDispatcher::adjustToShadowBoundaries): s/isShadowRootOrSVGShadowRoot/isShadowRoot/. (WebCore::EventDispatcher::adjustRelatedTarget): Ditto. (WebCore::EventDispatcher::ensureEventAncestors): Simplify logic for SVG, fixed a FIXME. * dom/Node.cpp: Remove obsolete svgShadowHost(). (WebCore::Node::shadowTreeRootNode): Remove obsolete isSVGShadowRoot() checks. (WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto. (WebCore::Node::isInShadowTree): Make it const. * dom/Node.h: Remove isSVGShadowRoot/svgShadowHost. (WebCore::Node::isShadowRoot): s/IsShadowRootOrSVGShadowRootFlag/isShadowRoot/. (WebCore::Node::parentNode): Augment comments. (WebCore::Node::parentNodeGuaranteedHostFree): Ditto. * dom/Range.cpp: (WebCore::Range::checkNodeBA): Remove obsolete SVG shadow root special case. * dom/ScriptElement.cpp: (WebCore::ScriptElement::prepareScript): Ditto. * rendering/RenderObject.h: Remove isSVGShadowTreeRootContainer. (WebCore::RenderObject::isSVGTransformableContainer): Added. * rendering/svg/RenderSVGAllInOne.cpp: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build. * rendering/svg/RenderSVGModelObject.cpp: (WebCore::isGraphicsElement): To check for , a tag name comparision is needed now, as it no longer has a special renderer. * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Ditto. (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): Ditto. (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto. * rendering/svg/RenderSVGResourceContainer.cpp: Remove RenderSVGShadowTreeRootContainer.h include. * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Removed. * rendering/svg/RenderSVGShadowTreeRootContainer.h: Removed. * rendering/svg/RenderSVGTransformableContainer.cpp: Keep track of last used additional x/y translation. (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Handle x/y translation for contains here, instead of storing it in the SVGShadowTreeRootElement. * rendering/svg/RenderSVGTransformableContainer.h: Store last used x/y translation. (WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer): Return true. (WebCore::toRenderSVGTransformableContainer): Add conversion helpers. * rendering/svg/RenderSVGViewportContainer.cpp: Ditto. (WebCore::RenderSVGViewportContainer::calcViewport): Handle width/height attributes inheritance from the element, if we're a or replacement in the shadow tree. * rendering/svg/RenderSVGViewportContainer.h: Remove isSVGContainer() override which is not needed here (already present in RenderSVGContainer). * rendering/svg/SVGShadowTreeElements.cpp: Removed. * rendering/svg/SVGShadowTreeElements.h: Removed. * svg/SVGAElement.cpp: (WebCore::SVGAElement::createRenderer): Check if parentNode is really a SVGElement, before casting. * svg/SVGElement.cpp: (WebCore::SVGElement::isOutermostSVGSVGElement): Early exit if tag name isn't , or if we're in a shadow tree (can't be an outermost element then). (WebCore::hasLoadListener): Deploy parentOrHostElement() usage to remove any special cases, related to shadow boundaries. (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto. (WebCore::SVGElement::customStyleForRenderer): Ditto. * svg/SVGElementInstance.cpp: (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Call updateStyleIfNeeded() instead of updateLayoutIgnorePendingStylesheets(). * svg/SVGGElement.cpp: (WebCore::SVGGElement::rendererIsNeeded): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now. * svg/SVGGElement.h: Remove obsolete isShadowTreeContainerElement(). * svg/SVGLocatable.cpp: (WebCore::SVGLocatable::nearestViewportElement): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now. (WebCore::SVGLocatable::farthestViewportElement): Ditto. (WebCore::SVGLocatable::computeCTM): Ditto. * svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::title): Ditto. (+ simplify code a lot, no need to walk the shadow tree to find its root anymore, use isInShadowTree() helper.) (WebCore::SVGStyledElement::rendererIsNeeded): Ditto. * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::SVGUseElement): Remove no longer needed m_updatesBlocked. (WebCore::SVGUseElement::create): Always call ensureShadowRoot(), to create a #shadow-root, upon creating a SVGUseElement. (WebCore::SVGUseElement::insertedIntoDocument): Align with SVGFEImageElement/SVGTRefElement - call buildPendingResource() from insertedIntoDocument(), finally! (no renderer needed anymore to update the SVG shadow subtree). (WebCore::SVGUseElement::removedFromDocument): Align with SVGFEImageElement/SVGTRefElement - immediately release the SVGElementInstance & shadow tree, once we're removed from the document. (WebCore::SVGUseElement::svgAttributeChanged): Simplify code a lot, no longer need to deal with x/y/width/height attributes, the renderes in the shadow tree grab these values from their corresponding elements automatically now. (WebCore::SVGUseElement::willRecalcStyle): New main part of the logic. invalidateShadowTree() calls setNeedsStyleRecalc, and sets m_needsShadowTreeRecreation=true. If we encounter this case, force rebuilding the SVG shadow tree and the SVGElementInstance tree, immediately, before executing the actual style recalc. This allows us to lazily rebuild the SVG shadow tree for the element. Consider: . Now from a script we change the rect x/y/width/height attributes: rect.setAttribute("x", "10"); rect.setAttribute("y", "10")... each call will lead to a SVGUseElement::invalidateShadowTree() call by SVGElementInstance::invalidateAllInstancesOfElement, invoked after the element got parsed. This won't update the shadow tree four times, but only once upon the next style recalculation - otherwise performance is a nightmare. This will serve as future starting point, to explore partial SVG subtree re-clones, which should easily be doable now. (WebCore::dumpInstanceTree): Add a 'static' to allow DUMP_INSTANCE_TREE to be used in clang builds. (WebCore::SVGUseElement::clearResourceReferences): Added helper to release instance & shadow tree. (WebCore::SVGUseElement::buildPendingResource): Modeled exactly like SVGFEImageElement/SVGTRefElement. It's possible to share more code between these in future. (WebCore::SVGUseElement::buildShadowAndInstanceTree): Cleanup code, adapt to new shadow-root concept. (WebCore::SVGUseElement::createRenderer): Create a RenderSVGTransformableContainer, no longer a specific renderer. (WebCore::removeDisallowedElementsFromSubtree): Use new replacedChild/appendChild variants, that don't require a ExceptionCode to be passed in. (WebCore::SVGUseElement::buildShadowTree): Ditto. (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto. (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto. (WebCore::SVGUseElement::invalidateShadowTree): Only trigger style recalculations if needed. * svg/SVGUseElement.h: Remove lots of now unnecessary overrides: attach/detach/didRecalcStyle/updateContainerOffset/updateContainerSizes/etc.. * svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::insertedIntoDocument): No need to walk the shadow tree to find its root anymore, use isInShadowTree() helper. 2012-02-28 Shinya Kawanaka Element should be able to have multiple shadow roots. https://bugs.webkit.org/show_bug.cgi?id=77931 Reviewed by Hajime Morita. This patch enables us to add multiple shadow subtrees into elements. Note that multiple shadow subtrees are enabled only if RuntimeEnabledFeatures::multipleShadowSubtrees is enabled. Since we don't have element yet, only the youngest shadow tree will be rendered. This patch includes tests to confirm adding a new shadow tree dynamically to confirm only the youngest shadow tree is renderered. Tests: fast/dom/shadow/multiple-shadowroot-rendering.html fast/dom/shadow/multiple-shadowroot.html * WebCore.exp.in: * dom/Element.cpp: Uses ShadowRootList interfaces directly instead of ShadowRootList emulation methods. (WebCore::Element::~Element): (WebCore::Element::attach): (WebCore::Element::addShadowRoot): (WebCore::Element::removeShadowRootList): * dom/Element.h: (Element): * dom/NodeRenderingContext.cpp: Makes non-youngest shadow subtrees hidden. (WebCore::NodeRenderingContext::NodeRenderingContext): (WebCore::NodeRenderingContext::hostChildrenChanged): Since non-youngest children may be changed, make sure host children are changed. * dom/ShadowRoot.cpp: (WebCore::ShadowRoot::create): * dom/ShadowRoot.h: Utility methods to make code intention clear are added. (WebCore::ShadowRoot::youngerShadowRoot): (WebCore::ShadowRoot::olderShadowRoot): (ShadowRoot): (WebCore::ShadowRoot::isYoungest): (WebCore::ShadowRoot::isOldest): * dom/ShadowRootList.cpp: (WebCore::ShadowRootList::popShadowRoot): (WebCore::ShadowRootList::attach): (WebCore::ShadowRootList::detach): Detaches shadow subtrees. * testing/Internals.cpp: (WebCore::Internals::address): (WebCore): (WebCore::Internals::youngerShadowRoot): (WebCore::Internals::olderShadowRoot): (WebCore::Internals::removeShadowRoot): * testing/Internals.h: (Internals): * testing/Internals.idl: 2012-02-28 Antti Koivisto Split CSSStyleRule into internal and CSSOM type https://bugs.webkit.org/show_bug.cgi?id=79763 Reviewed by Andreas Kling. - Split the data out as StyleRule - Make CSSStyleSelector operate on StyleRule instead of CSSStyleRule This is an intermediate step. Both CSSStyleRule and StyleRule are still always constructed so the patch increases memory consumption by a few pointers per css rule. Upcoming patches will make CSSStyleRules to be constructed on demand. The patch does not yet move StyleRule to a file of its own. * css/CSSPageRule.cpp: (WebCore::CSSPageRule::CSSPageRule): * css/CSSPageRule.h: (WebCore::CSSPageRule::create): (CSSPageRule): * css/CSSParser.cpp: (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createPageRule): * css/CSSRule.h: (WebCore::CSSRule::CSSRule): (CSSRule): * css/CSSStyleRule.cpp: (WebCore::StyleRule::StyleRule): (WebCore): (WebCore::StyleRule::~StyleRule): (WebCore::StyleRule::addSubresourceStyleURLs): (WebCore::StyleRule::ensureCSSStyleRule): (WebCore::CSSStyleRule::CSSStyleRule): (WebCore::CSSStyleRule::~CSSStyleRule): (WebCore::CSSStyleRule::generateSelectorText): (WebCore::CSSStyleRule::setSelectorText): (WebCore::CSSStyleRule::cssText): * css/CSSStyleRule.h: (WebCore): (StyleRule): (WebCore::StyleRule::selectorList): (WebCore::StyleRule::properties): (WebCore::StyleRule::sourceLine): (WebCore::StyleRule::adoptSelectorVector): (WebCore::StyleRule::adoptSelectorList): (WebCore::StyleRule::setProperties): (WebCore::CSSStyleRule::create): (WebCore::CSSStyleRule::style): (CSSStyleRule): (WebCore::CSSStyleRule::styleRule): * css/CSSStyleSelector.cpp: (RuleData): (WebCore::RuleData::rule): (RuleSet): (WebCore::CSSStyleSelector::addMatchedProperties): (WebCore::CSSStyleSelector::sortAndTransferMatchedRules): (WebCore::CSSStyleSelector::collectMatchingRulesForList): * css/CSSStyleSelector.h: (WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair): (RuleSelectorPair): (MatchResult): (CSSStyleSelector): * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addSubresourceStyleURLs): * editing/EditingStyle.cpp: (WebCore::styleFromMatchedRulesForElement): * inspector/InspectorCSSAgent.cpp: (WebCore::SelectorProfile::startSelector): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::willMatchRuleImpl): (WebCore::InspectorInstrumentation::willProcessRuleImpl): * inspector/InspectorInstrumentation.h: (WebCore): (InspectorInstrumentation): (WebCore::InspectorInstrumentation::willMatchRule): (WebCore::InspectorInstrumentation::willProcessRule): * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyleSheet::buildObjectForRule): (WebCore::InspectorStyleSheet::revalidateStyle): * page/PageSerializer.cpp: (WebCore::PageSerializer::serializeFrame): (WebCore::PageSerializer::serializeCSSStyleSheet): (WebCore::PageSerializer::retrieveResourcesForRule): (WebCore::PageSerializer::retrieveResourcesForProperties): * page/PageSerializer.h: (WebCore): (PageSerializer): 2012-02-28 Roland Steiner RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled should not be inline https://bugs.webkit.org/show_bug.cgi?id=79753 Moved the function implementation to the .cpp file. Reviewed by Hajime Morita. No new tests. (no functional change) * bindings/generic/RuntimeEnabledFeatures.cpp: (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled): (WebCore): * bindings/generic/RuntimeEnabledFeatures.h: (RuntimeEnabledFeatures): 2012-02-28 Noel Gordon Fix comment about RGB swizzle decoding and Adobe transform=0 images https://bugs.webkit.org/show_bug.cgi?id=79457 Unreviewed. No new tests, comment change only. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::JPEGImageReader::decode): 2012-02-27 Shinya Kawanaka Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree. https://bugs.webkit.org/show_bug.cgi?id=78313 Reviewed by Hajime Morita. This patch is for refactoring ShadowTree related code. (1) Element::removeShadowRoot() and Element::setShadowRoot() are moved into ShadowTree. (2) ShadowTree is now put on its own heap. No new tests, no change in behavior. * WebCore.exp.in: * dom/Element.cpp: (WebCore::Element::~Element): (WebCore::Element::shadowTree): (WebCore::Element::ensureShadowTree): Ensure the existence of ShadowTree. This does not ensure ShadowRoot exists. * dom/Element.h: (Element): * dom/ElementRareData.h: Makes ShadowTree on Heap. (ElementRareData): (WebCore::ElementRareData::~ElementRareData): * dom/ShadowRoot.cpp: (WebCore::ShadowRoot::create): * dom/ShadowTree.cpp: (WebCore::validateShadowRoot): (WebCore): (WebCore::ShadowTree::addShadowRoot): (WebCore::ShadowTree::removeAllShadowRoots): * dom/ShadowTree.h: (ShadowTree): * testing/Internals.cpp: (WebCore::Internals::removeShadowRoot): 2012-02-27 David Barton Fix formatting, especially for a tall base, subscript, or superscript https://bugs.webkit.org/show_bug.cgi?id=79274 Reviewed by Julien Chaffraix. Move the formatting code in stretchToHeight() to layout(). Then revise the combined code to produce more vertically accurate results, and without extra white space. Finally, don't multiply msub/msup/msubsup operator stretching by 1.2. Test: Added the bug report's attached test case to mathml/presentation/subsup.xhtml, and it and 5 other test files in mathml/presentation now produce improved results. The integral sign in mo-stretch.html is no longer scaled up by an extra 1.2, and baselines are more accurate so the base is higher in msubsup-sub-changed.png. Several examples are slightly tighter vertically, because their (somewhat) anonymous blocks wrapping subscripts and superscripts now have the correct font size. * rendering/mathml/RenderMathMLSubSup.cpp: (WebCore): (WebCore::RenderMathMLSubSup::addChild): (WebCore::RenderMathMLSubSup::stretchToHeight): (WebCore::RenderMathMLSubSup::layout): * rendering/mathml/RenderMathMLSubSup.h: (RenderMathMLSubSup): * rendering/style/RenderStyle.h: 2012-02-27 Ned Holbrook kCTFontTableOptionExcludeSynthetic is unneeded https://bugs.webkit.org/show_bug.cgi?id=79744 Reviewed by Dan Bernstein. The aforementioned option is a no-op, so no new tests. * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::fontHasVerticalGlyphs): Specify no options. 2012-02-27 Wei James Multi-Channel support in AudioBufferSourceNode https://bugs.webkit.org/show_bug.cgi?id=79202 Reviewed by Chris Rogers. Test: webaudio/audiobuffersource-multi-channels.html * webaudio/AudioBufferSourceNode.cpp: (WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping): (WebCore::AudioBufferSourceNode::renderFromBuffer): (WebCore::AudioBufferSourceNode::setBuffer): * webaudio/AudioBufferSourceNode.h: (AudioBufferSourceNode): 2012-02-27 Leo Yang [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntRect.h https://bugs.webkit.org/show_bug.cgi?id=79732 Reviewed by Antonio Gomes. Add conversion convenience between WebCore::IntRect and BlackBerry::Platform::IntRect. The porting can't be built yet, no new tests. * platform/graphics/IntRect.h: (Platform): (IntRect): 2012-02-27 Emil A Eklund Printed font-size should not be dependant on zoom level https://bugs.webkit.org/show_bug.cgi?id=79717 Reviewed by Adam Barth. Ignore full page zoom level when printing a document. Test: printing/zoomed-document.html * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::collectMatchingRulesForList): 2012-02-27 Kenichi Ishibashi [Chromium] Unreviewed gardening, further compile fixes for TransparencyWinTest. * platform/graphics/chromium/TransparencyWin.h: (WebCore): 2012-02-27 Kenichi Ishibashi [Chromium] Unreviewed gardening, fix compile error after r109043 * platform/graphics/chromium/TransparencyWin.h: (TransparencyWin): 2012-02-27 Adam Barth EventFactory.in should be named EventNames.in https://bugs.webkit.org/show_bug.cgi?id=79727 Reviewed by Kentaro Hara. Originally EventFactory.in was just used to generate EventFactory.cpp, but now we're able to generate a bunch of other Event-related code from this "in" file. In writing some documentation about how to use these mechanisms, the name EventFactory.in didn't seem like the right name. This patch renames EventFactory.in to EventNames.in, which more accurately describes the role of this file (and matches the naming convention of HTMLTagNames.in). * CMakeLists.txt: * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.am: * WebCore.gyp/WebCore.gyp: * WebCore.gyp/scripts/action_makenames.py: (main): * WebCore.xcodeproj/project.pbxproj: * dom/EventNames.in: Copied from Source/WebCore/dom/EventFactory.in. * dom/EventFactory.in: Removed. 2012-02-27 Yoshifumi Inoue [Forms] Make order of attribute/method in HTMLInputElement.idl as same as specification https://bugs.webkit.org/show_bug.cgi?id=79622 For ease of maintainability, this patch reorders attributes and methods declaration matching with specification. Reviewed by Adam Barth. No new tests. No behavior change. * html/HTMLInputElement.idl: Reorder and remove obsolete comments. 2012-02-27 Luke Macpherson Sort CSSStyleSelector property handler constructors by CSS property name. https://bugs.webkit.org/show_bug.cgi?id=79713 Reviewed by Andreas Kling. No new tests / refactoring only. This patch is simply an automated sort of the property constructors. Presently they are all over the place and it is difficult to know where to insert new rules. This patch provides a clear pattern and should reduce future conflicts when adding properties. * css/CSSStyleApplyProperty.cpp: (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 2012-02-27 James Kozianski [chromium] Plumb extensionGroup into didCreateScriptContext(). https://bugs.webkit.org/show_bug.cgi?id=79072 Reviewed by Darin Fisher. * bindings/v8/V8DOMWindowShell.cpp: (WebCore::V8DOMWindowShell::initContextIfNeeded): * bindings/v8/V8IsolatedContext.cpp: (WebCore::V8IsolatedContext::V8IsolatedContext): * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::didCreateScriptContext): * loader/FrameLoaderClient.h: (FrameLoaderClient): 2012-02-27 Huang Dongsung Fixed a typo in CanvasRenderingContext2D::drawImage(HTMLCanvasElement); incorrect source and destination rect used. https://bugs.webkit.org/show_bug.cgi?id=79566 Pass dstRect and bufferSrcRect to CanvasRenderingContext2D::fullCanvasCompositedDrawImage() for the destination and source rect, respectively. Reviewed by Daniel Bates. * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): 2012-02-27 Hyowon Kim [EFL] Initial implementation of GraphicsContext3DPrivate https://bugs.webkit.org/show_bug.cgi?id=62961 Reviewed by Noam Rosenthal. This patch adds the GraphicsContext3DPrivate class using Evas_GL. GraphicsContext3DPrivate delegates all GL function calls to Evas_GL_API. * platform/graphics/efl/GraphicsContext3DPrivate.cpp: Added. (WebCore): (WebCore::GraphicsContext3DPrivate::create): (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate): (WebCore::GraphicsContext3DPrivate::initialize): (WebCore::GraphicsContext3DPrivate::createSurface): (WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D): (WebCore::GraphicsContext3DPrivate::makeContextCurrent): (WebCore::GraphicsContext3DPrivate::isGLES2Compliant): (WebCore::GraphicsContext3DPrivate::activeTexture): (WebCore::GraphicsContext3DPrivate::attachShader): (WebCore::GraphicsContext3DPrivate::bindAttribLocation): (WebCore::GraphicsContext3DPrivate::bindBuffer): (WebCore::GraphicsContext3DPrivate::bindFramebuffer): (WebCore::GraphicsContext3DPrivate::bindRenderbuffer): (WebCore::GraphicsContext3DPrivate::bindTexture): (WebCore::GraphicsContext3DPrivate::blendColor): (WebCore::GraphicsContext3DPrivate::blendEquation): (WebCore::GraphicsContext3DPrivate::blendEquationSeparate): (WebCore::GraphicsContext3DPrivate::blendFunc): (WebCore::GraphicsContext3DPrivate::blendFuncSeparate): (WebCore::GraphicsContext3DPrivate::bufferData): (WebCore::GraphicsContext3DPrivate::bufferSubData): (WebCore::GraphicsContext3DPrivate::checkFramebufferStatus): (WebCore::GraphicsContext3DPrivate::clear): (WebCore::GraphicsContext3DPrivate::clearColor): (WebCore::GraphicsContext3DPrivate::clearDepth): (WebCore::GraphicsContext3DPrivate::clearStencil): (WebCore::GraphicsContext3DPrivate::colorMask): (WebCore::GraphicsContext3DPrivate::compileShader): (WebCore::GraphicsContext3DPrivate::copyTexImage2D): (WebCore::GraphicsContext3DPrivate::copyTexSubImage2D): (WebCore::GraphicsContext3DPrivate::cullFace): (WebCore::GraphicsContext3DPrivate::depthFunc): (WebCore::GraphicsContext3DPrivate::depthMask): (WebCore::GraphicsContext3DPrivate::depthRange): (WebCore::GraphicsContext3DPrivate::detachShader): (WebCore::GraphicsContext3DPrivate::disable): (WebCore::GraphicsContext3DPrivate::disableVertexAttribArray): (WebCore::GraphicsContext3DPrivate::drawArrays): (WebCore::GraphicsContext3DPrivate::drawElements): (WebCore::GraphicsContext3DPrivate::enable): (WebCore::GraphicsContext3DPrivate::enableVertexAttribArray): (WebCore::GraphicsContext3DPrivate::finish): (WebCore::GraphicsContext3DPrivate::flush): (WebCore::GraphicsContext3DPrivate::framebufferRenderbuffer): (WebCore::GraphicsContext3DPrivate::framebufferTexture2D): (WebCore::GraphicsContext3DPrivate::frontFace): (WebCore::GraphicsContext3DPrivate::generateMipmap): (WebCore::GraphicsContext3DPrivate::getActiveAttrib): (WebCore::GraphicsContext3DPrivate::getActiveUniform): (WebCore::GraphicsContext3DPrivate::getAttachedShaders): (WebCore::GraphicsContext3DPrivate::getAttribLocation): (WebCore::GraphicsContext3DPrivate::getBooleanv): (WebCore::GraphicsContext3DPrivate::getBufferParameteriv): (WebCore::GraphicsContext3DPrivate::getContextAttributes): (WebCore::GraphicsContext3DPrivate::getError): (WebCore::GraphicsContext3DPrivate::getFloatv): (WebCore::GraphicsContext3DPrivate::getFramebufferAttachmentParameteriv): (WebCore::GraphicsContext3DPrivate::getIntegerv): (WebCore::GraphicsContext3DPrivate::getProgramiv): (WebCore::GraphicsContext3DPrivate::getProgramInfoLog): (WebCore::GraphicsContext3DPrivate::getRenderbufferParameteriv): (WebCore::GraphicsContext3DPrivate::getShaderiv): (WebCore::GraphicsContext3DPrivate::getShaderInfoLog): (WebCore::GraphicsContext3DPrivate::getShaderSource): (WebCore::GraphicsContext3DPrivate::getString): (WebCore::GraphicsContext3DPrivate::getTexParameterfv): (WebCore::GraphicsContext3DPrivate::getTexParameteriv): (WebCore::GraphicsContext3DPrivate::getUniformfv): (WebCore::GraphicsContext3DPrivate::getUniformiv): (WebCore::GraphicsContext3DPrivate::getUniformLocation): (WebCore::GraphicsContext3DPrivate::getVertexAttribfv): (WebCore::GraphicsContext3DPrivate::getVertexAttribiv): (WebCore::GraphicsContext3DPrivate::getVertexAttribOffset): (WebCore::GraphicsContext3DPrivate::hint): (WebCore::GraphicsContext3DPrivate::isBuffer): (WebCore::GraphicsContext3DPrivate::isEnabled): (WebCore::GraphicsContext3DPrivate::isFramebuffer): (WebCore::GraphicsContext3DPrivate::isProgram): (WebCore::GraphicsContext3DPrivate::isRenderbuffer): (WebCore::GraphicsContext3DPrivate::isShader): (WebCore::GraphicsContext3DPrivate::isTexture): (WebCore::GraphicsContext3DPrivate::lineWidth): (WebCore::GraphicsContext3DPrivate::linkProgram): (WebCore::GraphicsContext3DPrivate::pixelStorei): (WebCore::GraphicsContext3DPrivate::polygonOffset): (WebCore::GraphicsContext3DPrivate::readPixels): (WebCore::GraphicsContext3DPrivate::renderbufferStorage): (WebCore::GraphicsContext3DPrivate::sampleCoverage): (WebCore::GraphicsContext3DPrivate::scissor): (WebCore::GraphicsContext3DPrivate::shaderSource): (WebCore::GraphicsContext3DPrivate::stencilFunc): (WebCore::GraphicsContext3DPrivate::stencilFuncSeparate): (WebCore::GraphicsContext3DPrivate::stencilMask): (WebCore::GraphicsContext3DPrivate::stencilMaskSeparate): (WebCore::GraphicsContext3DPrivate::stencilOp): (WebCore::GraphicsContext3DPrivate::stencilOpSeparate): (WebCore::GraphicsContext3DPrivate::texImage2D): (WebCore::GraphicsContext3DPrivate::texParameterf): (WebCore::GraphicsContext3DPrivate::texParameteri): (WebCore::GraphicsContext3DPrivate::texSubImage2D): (WebCore::GraphicsContext3DPrivate::uniform1f): (WebCore::GraphicsContext3DPrivate::uniform1fv): (WebCore::GraphicsContext3DPrivate::uniform1i): (WebCore::GraphicsContext3DPrivate::uniform1iv): (WebCore::GraphicsContext3DPrivate::uniform2f): (WebCore::GraphicsContext3DPrivate::uniform2fv): (WebCore::GraphicsContext3DPrivate::uniform2i): (WebCore::GraphicsContext3DPrivate::uniform2iv): (WebCore::GraphicsContext3DPrivate::uniform3f): (WebCore::GraphicsContext3DPrivate::uniform3fv): (WebCore::GraphicsContext3DPrivate::uniform3i): (WebCore::GraphicsContext3DPrivate::uniform3iv): (WebCore::GraphicsContext3DPrivate::uniform4f): (WebCore::GraphicsContext3DPrivate::uniform4fv): (WebCore::GraphicsContext3DPrivate::uniform4i): (WebCore::GraphicsContext3DPrivate::uniform4iv): (WebCore::GraphicsContext3DPrivate::uniformMatrix2fv): (WebCore::GraphicsContext3DPrivate::uniformMatrix3fv): (WebCore::GraphicsContext3DPrivate::uniformMatrix4fv): (WebCore::GraphicsContext3DPrivate::useProgram): (WebCore::GraphicsContext3DPrivate::validateProgram): (WebCore::GraphicsContext3DPrivate::vertexAttrib1f): (WebCore::GraphicsContext3DPrivate::vertexAttrib1fv): (WebCore::GraphicsContext3DPrivate::vertexAttrib2f): (WebCore::GraphicsContext3DPrivate::vertexAttrib2fv): (WebCore::GraphicsContext3DPrivate::vertexAttrib3f): (WebCore::GraphicsContext3DPrivate::vertexAttrib3fv): (WebCore::GraphicsContext3DPrivate::vertexAttrib4f): (WebCore::GraphicsContext3DPrivate::vertexAttrib4fv): (WebCore::GraphicsContext3DPrivate::vertexAttribPointer): (WebCore::GraphicsContext3DPrivate::viewport): (WebCore::GraphicsContext3DPrivate::createBuffer): (WebCore::GraphicsContext3DPrivate::createFramebuffer): (WebCore::GraphicsContext3DPrivate::createProgram): (WebCore::GraphicsContext3DPrivate::createRenderbuffer): (WebCore::GraphicsContext3DPrivate::createShader): (WebCore::GraphicsContext3DPrivate::createTexture): (WebCore::GraphicsContext3DPrivate::deleteBuffer): (WebCore::GraphicsContext3DPrivate::deleteFramebuffer): (WebCore::GraphicsContext3DPrivate::deleteProgram): (WebCore::GraphicsContext3DPrivate::deleteRenderbuffer): (WebCore::GraphicsContext3DPrivate::deleteShader): (WebCore::GraphicsContext3DPrivate::deleteTexture): (WebCore::GraphicsContext3DPrivate::synthesizeGLError): (WebCore::GraphicsContext3DPrivate::getExtensions): * platform/graphics/efl/GraphicsContext3DPrivate.h: Added. (WebCore): (GraphicsContext3DPrivate): 2012-02-27 Shawn Singh RenderLayer ClipRect not accounting for transforms https://bugs.webkit.org/show_bug.cgi?id=76486 Reviewed by Simon Fraser. Test: compositing/layer-creation/overlap-transformed-and-clipped.html This patch changes calculateClipRects() so that the clipRect offset is allowed to be converted across layers with transforms. This is necessary because the RenderLayerCompositor needs clipRects in document space, rather than with respect to some local clipping layer. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): * rendering/RenderObject.cpp: (WebCore::RenderObject::localToContainerPoint): (WebCore): * rendering/RenderObject.h: (RenderObject): 2012-02-27 Adam Klein [MutationObservers] Clear pending mutation records on disconnect() https://bugs.webkit.org/show_bug.cgi?id=78639 Reviewed by Ojan Vafai. Test: fast/mutation/disconnect-cancel-pending.html * dom/WebKitMutationObserver.cpp: (WebCore::WebKitMutationObserver::disconnect): Clear pending records. (WebCore::WebKitMutationObserver::deliver): Avoid calling the callback if no records are pending delivery. 2012-02-27 Adam Klein Always notify subtree of removal in ContainerNode::removeChildren https://bugs.webkit.org/show_bug.cgi?id=79316 Reviewed by Ryosuke Niwa. In the inDocument case, Node::removedFromDocument is called. In the out-of-document case, call ContainerNode::removedFromTree to ensure, e.g., form-associated elements are properly disconnected. Test: fast/forms/form-associated-element-removal.html * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): 2012-02-27 Adam Barth Repair license blocks for files created during modularization https://bugs.webkit.org/show_bug.cgi?id=79721 Reviewed by Eric Seidel. We failed to copy the license blocks correctly when moving code into these files. This patch restores the correct license blocks. * Modules/geolocation/NavigatorGeolocation.cpp: * Modules/geolocation/NavigatorGeolocation.h: * Modules/mediastream/NavigatorMediaStream.cpp: * Modules/mediastream/NavigatorMediaStream.h: * bindings/js/JSDOMWindowWebAudioCustom.cpp: * bindings/js/JSDOMWindowWebSocketCustom.cpp: * storage/DOMWindowSQLDatabase.cpp: * storage/DOMWindowSQLDatabase.h: 2012-02-27 Julien Chaffraix Extract the logic for computing the dirty rows / columns out of RenderTableSection::paintObject https://bugs.webkit.org/show_bug.cgi?id=79580 Reviewed by Eric Seidel. Refactoring only. * rendering/RenderTableSection.h: (CellSpan): (WebCore::CellSpan::CellSpan): (WebCore::CellSpan::start): (WebCore::CellSpan::end): Added this class to hold the span information. (WebCore::RenderTableSection::fullTableRowSpan): (WebCore::RenderTableSection::fullTableColumnSpan): Those functions return the span corresponding to the full table. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::dirtiedRows): (WebCore::RenderTableSection::dirtiedColumns): Those functions compute the rows / columns impacted by a |damageRect|. On the slow painting path, they return the full table span. (WebCore::RenderTableSection::paintObject): Updated this function to call the new ones. Also we now inflate the local rectangle with the outlineSize. This wasn't done previously and we had to manually patch some size comparison to account for the outline. 2012-02-27 Kentaro Hara Rename resolve-supplemental.pl to preprocess-idls.pl https://bugs.webkit.org/show_bug.cgi?id=79660 Reviewed by Adam Barth. Due to r108322, resolve-supplemental.pl not only resolves supplemental dependencies but also runs IDL attribute checker. For clarification, this patch renames resolve-supplemental.pl to preprocess-idls.pl. No tests. Confirm that all builds pass. * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.am: * UseJSC.cmake: * UseV8.cmake: * WebCore.gyp/WebCore.gyp: * WebCore.vcproj/MigrateScripts: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/scripts/preprocess-idls.pl: Renamed from Source/WebCore/bindings/scripts/resolve-supplemental.pl. 2012-02-27 Kentaro Hara [JSC] Add [ConstructorParameters=] to all custom constructors https://bugs.webkit.org/show_bug.cgi?id=78221 Reviewed by Adam Barth. This patch adds [ConstructorParameters=X] to IDL files that have custom constructors, where X is the maximum number of arguments of the constructor. [ConstructorParameters=X] is needed for custom constructors, because custom constructors do not have a signature in IDL files and thus CodeGeneratorJS.pm cannot know the number of constructor arguments. Test: fast/js/constructor-length.html * dom/WebKitMutationObserver.idl: * html/DOMFormData.idl: * html/canvas/ArrayBuffer.idl: * html/canvas/DataView.idl: * html/canvas/Float32Array.idl: * html/canvas/Float64Array.idl: * html/canvas/Int16Array.idl: * html/canvas/Int32Array.idl: * html/canvas/Int8Array.idl: * html/canvas/Uint16Array.idl: * html/canvas/Uint32Array.idl: * html/canvas/Uint8Array.idl: * html/canvas/Uint8ClampedArray.idl: * webaudio/AudioContext.idl: * bindings/scripts/test/TestTypedArray.idl: * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results. (WebCore::JSFloat64ArrayConstructor::finishCreation): 2012-02-23 Raphael Kubo da Costa [BlackBerry][EFL] Provide dummy RunLoop implementations. https://bugs.webkit.org/show_bug.cgi?id=79398 Reviewed by Antonio Gomes. r108067 fixed the EFL build by not building RunLoop.cpp on EFL and BlackBerry, as both platforms lack an implementation that provides the missing methods for the RunLoop class. However, RunLoop.cpp is a generic file which should not be included directly in PlatformWinCE.cmake (plus it helps in converting the AppleWin port to CMake). Fix this by providing a dummy implementation of the missing RunLoop methods for both EFL and BlackBerry. * CMakeLists.txt: * PlatformBlackBerry.cmake: * PlatformEfl.cmake: * PlatformWinCE.cmake: * platform/blackberry/RunLoopBlackBerry.cpp: Added. (WebCore): (WebCore::RunLoop::RunLoop): (WebCore::RunLoop::~RunLoop): (WebCore::RunLoop::wakeUp): * platform/efl/RunLoopEfl.cpp: Added. (WebCore): (WebCore::RunLoop::RunLoop): (WebCore::RunLoop::~RunLoop): (WebCore::RunLoop::wakeUp): 2012-02-27 John Sullivan Build fix (on Lion at least). * dom/Attr.cpp: (WebCore::Attr::childrenChanged): Removed names of unused parameters. * dom/ContainerNode.cpp: (WebCore::ContainerNode::childrenChanged): Ditto. 2012-02-27 Kentaro Hara Remove [ConstructorParameters] from IDL files that have [Constructor] https://bugs.webkit.org/show_bug.cgi?id=79643 Reviewed by Adam Barth. This patch removes [ConstructorParameters] from IDL files that have [Constructor], since CodeGeneratorJS.pm can automatically detect the number of constructor arguments by the [Constructor(...)] signature. Test: fast/js/constructor-length.html * Modules/mediastream/PeerConnection.idl: * bindings/scripts/CodeGeneratorJS.pm: (GenerateConstructorDefinition): * css/WebKitCSSMatrix.idl: * page/EventSource.idl: * workers/SharedWorker.idl: * workers/Worker.idl: 2012-02-27 Julien Chaffraix Avoid doing 2 hash lookups if we override RenderBox's logical width / height https://bugs.webkit.org/show_bug.cgi?id=79591 Reviewed by Antonio Gomes. Refactoring only. * rendering/RenderBox.cpp: (WebCore::RenderBox::clearOverrideSize): Instead of doing one hash lookup as part of hasOverride{Height|Width}, let's just directly call HashMap::remove that will do the lookup instead. 2012-02-27 Adam Klein Move WebCore-internal DOM notification methods from Node to ContainerNode where appropriate https://bugs.webkit.org/show_bug.cgi?id=79697 Reviewed by Ryosuke Niwa. insertedIntoTree/removedFromTree are only used by subclasses of ContainerNode. Moreover, attempting to make use of these notifications in a non-container Node would currently not work, because Node::removedFromDocument/insertedIntoDocument do not dispatch to these methods. Rather than adding useless calls to an always-empty virtual method, this patch moves these methods to ContainerNode. Meanwhile, childrenChanged moves to ContainerNode for an obvious reason: non-container Nodes have no children to change. No new tests, refactoring only. * dom/Attr.cpp: (WebCore::Attr::childrenChanged): Remove call to now-nonexistent Node::childrenChanged. * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): Check that the removed child is a container node before notifying it of removal. (WebCore::ContainerNode::parserRemoveChild): ditto. (WebCore::ContainerNode::insertedIntoTree): Remove call to now-nonexistent Node::insertedIntoTree. (WebCore::ContainerNode::removedFromTree): Remove call to now-nonexistent Node::removedFromTree. (WebCore::ContainerNode::childrenChanged): Remove call to now-nonexistent Node::childrenChanged. (WebCore::notifyChildInserted): Check that the inserted child is a container node before notifying it of insertion. * dom/ContainerNode.h: (ContainerNode): Migrate comments from Node.h, point back at it for more notification methods. * dom/Node.h: (Node): Move methods, update comments to point at ContainerNode.h. 2012-02-27 Chris Rogers Implement static compression curve parameters for DynamicsCompressorNode https://bugs.webkit.org/show_bug.cgi?id=78937 Reviewed by Kenneth Russell. Test: webaudio/dynamicscompressor-basic.html * platform/audio/DynamicsCompressor.cpp: (WebCore::DynamicsCompressor::setParameterValue): (WebCore): (WebCore::DynamicsCompressor::initializeParameters): (WebCore::DynamicsCompressor::process): * platform/audio/DynamicsCompressor.h: * platform/audio/DynamicsCompressorKernel.cpp: (WebCore): (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel): (WebCore::DynamicsCompressorKernel::setPreDelayTime): (WebCore::DynamicsCompressorKernel::kneeCurve): (WebCore::DynamicsCompressorKernel::saturate): (WebCore::DynamicsCompressorKernel::slopeAt): (WebCore::DynamicsCompressorKernel::kAtSlope): (WebCore::DynamicsCompressorKernel::updateStaticCurveParameters): (WebCore::DynamicsCompressorKernel::process): * platform/audio/DynamicsCompressorKernel.h: (DynamicsCompressorKernel): (WebCore::DynamicsCompressorKernel::meteringGain): * webaudio/DynamicsCompressorNode.cpp: (WebCore::DynamicsCompressorNode::DynamicsCompressorNode): (WebCore::DynamicsCompressorNode::process): * webaudio/DynamicsCompressorNode.h: (WebCore): (WebCore::DynamicsCompressorNode::create): (DynamicsCompressorNode): (WebCore::DynamicsCompressorNode::threshold): (WebCore::DynamicsCompressorNode::knee): (WebCore::DynamicsCompressorNode::ratio): (WebCore::DynamicsCompressorNode::reduction): * webaudio/DynamicsCompressorNode.idl: 2012-02-27 Enrica Casucci WebKit2: implement platform strategy to access Pasteboard in the UI process. https://bugs.webkit.org/show_bug.cgi?id=79253 Reviewed by Alexey Proskuryakov. No new tests. No behavior change. * platform/mac/PlatformPasteboardMac.mm: (WebCore::PlatformPasteboard::bufferForType): There is no need to create a SharedBuffer object if there is no NSData in the pasteboard for the given pasteboard type. 2012-02-27 Adrienne Walker [chromium] Unreviewed speculative Chromium win build fix. mdelaney's http://trac.webkit.org/changeset/109016 changed the interface on ImageBuffer, but didn't update TransparencyWin. * platform/graphics/chromium/TransparencyWin.cpp: (WebCore::TransparencyWin::OwnedBuffers::canHandleSize): 2012-02-27 Matthew Delaney Add ImageBuffer support for having a hi-res backing store. This allows ImageBuffer clients to specify a scale factor upon creation so that they don't have to maintain that info themselves as they use/pass around the ImageBuffer. https://bugs.webkit.org/show_bug.cgi?id=79395 Reviewed by Dan Bernstein. No new tests. This patch doesn't change behavior. * platform/graphics/ImageBuffer.h: (WebCore::ImageBuffer::create): Scale the backing store by the resolution scale. (WebCore::ImageBuffer::logicalSize): Differentiate the logical size from the backing store's size. (WebCore::ImageBuffer::internalSize): The backing store's size. * platform/graphics/cg/ImageBufferCG.cpp: Prefer the explicit use of logicalSize and internalSize. Explicitly state a 1x scale for all ImageBuffer creation sites since this is what they currently assume. * html/HTMLCanvasElement.cpp: * html/canvas/CanvasRenderingContext2D.cpp: * html/canvas/WebGLRenderingContext.cpp: * page/Frame.cpp: * platform/graphics/CrossfadeGeneratedImage.cpp: * platform/graphics/ShadowBlur.cpp: * platform/graphics/filters/FEColorMatrix.cpp: * platform/graphics/filters/FEDropShadow.cpp: * platform/graphics/filters/FilterEffect.cpp: * platform/mac/ScrollbarThemeMac.mm: * rendering/FilterEffectRenderer.cpp: * rendering/RenderThemeMac.mm: * rendering/svg/SVGImageBufferTools.cpp: * svg/graphics/SVGImage.cpp: * svg/graphics/SVGImageCache.cpp: Update ImageBuffer::size() calls to new versions. * platform/graphics/GraphicsContext.cpp: * platform/graphics/ImageBuffer.cpp: * platform/graphics/skia/PlatformContextSkia.cpp: 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=72440 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