Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Unified Diff: Source/WebCore/ChangeLog

Issue 9969020: Merge 112568 - [chromium] Ensure framebuffer exists at the start of beginDrawingFrame. (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1084/
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « no previous file | Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 112692)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,2924 @@
+2012-03-29 Michal Mocny <mmocny@google.com>
+
+ [chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
+ https://bugs.webkit.org/show_bug.cgi?id=82569
+
+ Reviewed by James Robinson.
+
+ Updated LayerRendererChromiumTest unittests.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::setVisible):
+ (WebCore::LayerRendererChromium::beginDrawingFrame):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::compositeAndReadback):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::compositeAndReadback):
+ (WebCore::CCThreadProxy::requestReadbackOnImplThread):
+
+2012-03-29 Ryosuke Niwa <rniwa@webkit.org>
+
+ Add a compile assert for the size of RenderBlock
+ https://bugs.webkit.org/show_bug.cgi?id=82586
+
+ Reviewed by Tony Chang.
+
+ Add compile asserts for the size of RenderBlock and RenderBlock::MarginValues.
+ We can't add asserts for FloatingObject and MarginInfo because they're private to RenderBlock.
+
+ * rendering/RenderBlock.cpp:
+ (SameSizeAsRenderBlock):
+ (WebCore):
+ (WebCore::RenderBlock::addOverflowFromFloats):
+ (WebCore::RenderBlock::repaintOverhangingFloats):
+ (WebCore::RenderBlock::paintFloats):
+ (WebCore::RenderBlock::insertFloatingObject):
+ (WebCore::RenderBlock::clearFloats):
+ (WebCore::RenderBlock::addOverhangingFloats):
+ (WebCore::RenderBlock::addIntrudingFloats):
+ (WebCore::RenderBlock::hitTestFloats):
+ (WebCore::RenderBlock::adjustForBorderFit):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::FloatingObject::shouldPaint):
+ (WebCore::RenderBlock::FloatingObject::setShouldPaint):
+ (WebCore::RenderBlock::FloatingObject::isDescendant):
+ (WebCore::RenderBlock::FloatingObject::setIsDescendant):
+ (FloatingObject):
+ (RenderBlock):
+
+2012-03-29 Gavin Barraclough <barraclough@apple.com>
+
+ Template the Yarr::Interpreter on the character type
+ https://bugs.webkit.org/show_bug.cgi?id=82637
+
+ Reviewed by Sam Weinig.
+
+ We should be able to call to the interpreter after having already checked the character type,
+ without having to re-package the character pointer back up into a string!
+
+ * inspector/ContentSearchUtils.cpp:
+ (WebCore::ContentSearchUtils::findMagicComment):
+ * platform/text/RegularExpression.cpp:
+ (WebCore::RegularExpression::match):
+ - Don't pass length.
+
+2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r112553.
+ http://trac.webkit.org/changeset/112553
+ https://bugs.webkit.org/show_bug.cgi?id=82638
+
+ It made all tests crash on Qt WK2 (Requested by Ossy_away on
+ #webkit).
+
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore::Geolocation::stop):
+ (WebCore::Geolocation::lastPosition):
+ (WebCore::Geolocation::requestPermission):
+ (WebCore::Geolocation::startUpdating):
+ (WebCore::Geolocation::stopUpdating):
+ * Modules/geolocation/Geolocation.h:
+ (WebCore):
+ * Modules/geolocation/GeolocationController.cpp:
+ * Modules/geolocation/GeolocationController.h:
+ * WebCore.exp.in:
+ * page/GeolocationClient.h:
+ (WebCore):
+ (GeolocationClient):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::PageClients::PageClients):
+ * page/Page.h:
+ (WebCore):
+ (PageClients):
+ (Page):
+ (WebCore::Page::geolocationController):
+
+2012-03-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ HashMap<>::add should return a more descriptive object
+ https://bugs.webkit.org/show_bug.cgi?id=71063
+
+ Reviewed by Ryosuke Niwa.
+
+ Update code to use AddResult instead of a pair. No new tests, just a refactoring.
+
+ * Modules/webdatabase/SQLTransactionCoordinator.cpp:
+ (WebCore::SQLTransactionCoordinator::acquireLock):
+ * Modules/webdatabase/chromium/QuotaTracker.cpp:
+ (WebCore::QuotaTracker::updateDatabaseSize):
+ * bindings/js/DOMObjectHashTableMap.h:
+ (WebCore::DOMObjectHashTableMap::get):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::cacheDOMStructure):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::cacheWrapper):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::getDOMConstructor):
+ * bindings/js/PageScriptDebugServer.cpp:
+ (WebCore::PageScriptDebugServer::addListener):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneSerializer::startObjectInternal):
+ (WebCore::CloneSerializer::write):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npCreateV8ScriptObject):
+ * bridge/IdentifierRep.cpp:
+ (WebCore::IdentifierRep::get):
+ * bridge/NP_jsobject.cpp:
+ (ObjectMap::add):
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::logUnimplementedPropertyID):
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::addFontFaceRule):
+ (WebCore::CSSFontSelector::getFontData):
+ * css/CSSSegmentedFontFace.cpp:
+ (WebCore::CSSSegmentedFontFace::getFontData):
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyCounter::applyInheritValue):
+ (WebCore::ApplyPropertyCounter::applyValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::appendAuthorStylesheets):
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * css/CSSValuePool.cpp:
+ (WebCore::CSSValuePool::createIdentifierValue):
+ (WebCore::CSSValuePool::createColorValue):
+ (WebCore::CSSValuePool::createValue):
+ (WebCore::CSSValuePool::createFontFamilyValue):
+ (WebCore::CSSValuePool::createFontFaceValue):
+ * dom/CheckedRadioButtons.cpp:
+ (WebCore::RadioButtonGroup::add):
+ (WebCore::CheckedRadioButtons::addButton):
+ * dom/ChildListMutationScope.cpp:
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
+ * dom/Document.cpp:
+ (WebCore::Document::windowNamedItems):
+ (WebCore::Document::documentNamedItems):
+ (WebCore::Document::getCSSCanvasElement):
+ (WebCore::Document::getItems):
+ * dom/DocumentEventQueue.cpp:
+ (WebCore::DocumentEventQueue::enqueueEvent):
+ (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
+ (WebCore::DocumentEventQueue::pendingEventTimerFired):
+ * dom/DocumentOrderedMap.cpp:
+ (WebCore::DocumentOrderedMap::add):
+ * dom/EventListenerMap.cpp:
+ (WebCore::EventListenerMap::add):
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics):
+ (WebCore::Node::getElementsByTagName):
+ (WebCore::Node::getElementsByTagNameNS):
+ (WebCore::Node::getElementsByName):
+ (WebCore::Node::getElementsByClassName):
+ (WebCore::Node::collectMatchingObserversForMutation):
+ * dom/QualifiedName.cpp:
+ (WebCore::QualifiedName::init):
+ * dom/SpaceSplitString.cpp:
+ (WebCore::SpaceSplitStringData::create):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::updateAttributeStyle):
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollection::append):
+ * inspector/DOMPatchSupport.cpp:
+ (WebCore::DOMPatchSupport::diff):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::SelectorProfile::commitSelector):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::performSearch):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
+ * inspector/InspectorValues.h:
+ (WebCore::InspectorObject::setValue):
+ (WebCore::InspectorObject::setObject):
+ (WebCore::InspectorObject::setArray):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::addEntry):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent):
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::pageGroup):
+ (WebCore::PageGroup::addVisitedLink):
+ (WebCore::PageGroup::addUserScriptToWorld):
+ (WebCore::PageGroup::addUserStyleSheetToWorld):
+ * page/SecurityPolicy.cpp:
+ (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
+ * page/TouchAdjustment.cpp:
+ (WebCore::TouchAdjustment::compileSubtargetList):
+ * platform/cf/BinaryPropertyList.cpp:
+ (WebCore::BinaryPropertyListPlan::writeInteger):
+ (WebCore::BinaryPropertyListPlan::writeString):
+ (WebCore::BinaryPropertyListPlan::writeIntegerArray):
+ * platform/graphics/blackberry/LayerTiler.cpp:
+ (WebCore::LayerTiler::addTileJob):
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::findOrMakeClone):
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::revalidateTiles):
+ * platform/graphics/ca/win/LayerChangesFlusher.cpp:
+ (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ (WebCore::getDerivedFontData):
+ * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
+ (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+ (WebCore::initializeATSUStyle):
+ * platform/graphics/mac/SimpleFontDataCoreText.cpp:
+ (WebCore::SimpleFontData::getCFStringAttributes):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
+ * platform/graphics/wince/FontPlatformData.cpp:
+ (WebCore::FixedSizeFontData::create):
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::getStyleContext):
+ * platform/mac/ThreadCheck.mm:
+ (WebCoreReportThreadViolation):
+ * platform/network/HTTPHeaderMap.cpp:
+ (WebCore::HTTPHeaderMap::add):
+ * platform/network/HTTPHeaderMap.h:
+ (HTTPHeaderMap):
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::addHTTPHeaderField):
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::add):
+ (WebCore::PluginDatabase::loadPersistentMetadataCache):
+ * plugins/win/PluginDatabaseWin.cpp:
+ (WebCore::PluginDatabase::getPluginPathsInDirectories):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addPercentHeightDescendant):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::setLogicalWidthForTextRun):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::setRenderBoxRegionInfo):
+ * rendering/svg/RenderSVGResourceGradient.cpp:
+ (WebCore::RenderSVGResourceGradient::applyResource):
+ * rendering/svg/RenderSVGResourcePattern.cpp:
+ (WebCore::RenderSVGResourcePattern::applyResource):
+ * storage/StorageMap.cpp:
+ (WebCore::StorageMap::setItem):
+ (WebCore::StorageMap::importItem):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::addPendingResource):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::setRequestHeaderInternal):
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::FunId::evaluate):
+ * xml/XPathPath.cpp:
+ (WebCore::XPath::LocationPath::evaluate):
+ * xml/XPathPredicate.cpp:
+ (WebCore::XPath::Union::evaluate):
+
+2012-03-29 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: improve window selection accuracy in vertical overview of timeline panel
+ https://bugs.webkit.org/show_bug.cgi?id=82625
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineVerticalOverview):
+ (WebInspector.TimelineVerticalOverview.prototype._renderBars): preserve actual padding used while rendering bars.
+ (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): account for outer and inter-bars padding when calculating bar offsets.
+
+2012-03-29 Mark Pilgrim <pilgrim@chromium.org>
+
+ GEOLOCATION should be implemented as Page Supplement
+ https://bugs.webkit.org/show_bug.cgi?id=82228
+
+ Reviewed by Adam Barth.
+
+ Geolocation now uses the Supplement interface instead of
+ keeping an instance variable on Page. This allows us to
+ remove all geolocation-related functions, variables, and
+ ifdefs out of Page and into Modules/geolocation/.
+
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore::Geolocation::stop):
+ (WebCore::Geolocation::lastPosition):
+ (WebCore::Geolocation::requestPermission):
+ (WebCore::Geolocation::startUpdating):
+ (WebCore::Geolocation::stopUpdating):
+ * Modules/geolocation/Geolocation.h:
+ (WebCore):
+ * Modules/geolocation/GeolocationController.cpp:
+ (WebCore::GeolocationController::supplementName):
+ (WebCore):
+ (WebCore::provideGeolocationTo):
+ * Modules/geolocation/GeolocationController.h:
+ (GeolocationController):
+ (WebCore::GeolocationController::from):
+ * WebCore.exp.in:
+ * page/GeolocationClient.h:
+ (WebCore):
+ (GeolocationClient):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::PageClients::PageClients):
+ * page/Page.h:
+ (WebCore):
+ (PageClients):
+ (Page):
+
+2012-03-29 John Bates <jbates@google.com>
+
+ Sync up WebKit TraceEvent.h with chromium trace_event.h
+ https://bugs.webkit.org/show_bug.cgi?id=82527
+
+ Reviewed by James Robinson.
+
+ * platform/chromium/TraceEvent.h:
+
+2012-03-29 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: subtree disapears from <iframe> after loading
+ https://bugs.webkit.org/show_bug.cgi?id=76552
+
+ Reviewed by Yury Semikhatsky.
+
+ The problem was that content document subtree was not unbound upon iframe re-push.
+ Upon owner element refresh content document was not sent to the frontend
+ since backend assumed that front-end has already had the up-to-date version.
+
+ Test: inspector/elements/iframe-load-event.html
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::loadEventFired):
+
+2012-03-29 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Remove unneeded code+fixmes from CCOcclusionTracker
+ https://bugs.webkit.org/show_bug.cgi?id=82380
+
+ Reviewed by Adrienne Walker.
+
+ The current occlusion was exposed on the occlusion tracker for the
+ transition over to culling 2.0 which has landed, so we can remove
+ it now. It still had one use in unit tests which is moved to a
+ test subclass.
+
+ Above test subclass already existed in the occlusion tracker tests,
+ so pulled it out to a common file CCOcclusionTrackerTestCommon.h
+ so that other unit tests can use it to get at occlusion internals.
+
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.h:
+
+2012-03-29 Joseph Pecoraro <pecoraro@apple.com>
+
+ <http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events
+
+ Test: fast/forms/range/range-drag-when-toggled-disabled.html
+
+ Reviewed by Kent Tamura.
+
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::defaultEventHandler):
+ A slider can toggle its readonly or disabled state while in the middle
+ of dragging, in those cases we should cancel the drag and perform cleanup.
+
+2012-03-29 Adam Klein <adamk@chromium.org>
+
+ Factor out common post-insertion logic in ContainerNode
+ https://bugs.webkit.org/show_bug.cgi?id=82544
+
+ Reviewed by Ryosuke Niwa.
+
+ appendChild, insertBefore, and replaceChild all share a great deal of logic.
+ This patch factors out the "post-insertion" logic that deals with
+ notifying parents that their children changed and notifying children
+ that they've been added to the tree.
+
+ Besides reducing code duplication, this is in preparation for moving
+ this post-insertion notification later in the insertion process.
+
+ No new tests, no change in behavior.
+
+ * dom/ContainerNode.cpp:
+ (WebCore):
+ (WebCore::ContainerNode::insertBefore): Factor out shared logic, remove unnecessary "prev" variable.
+ (WebCore::ContainerNode::replaceChild): ditto.
+ (WebCore::ContainerNode::appendChild): ditto.
+ (WebCore::updateTreeAfterInsertion): New helper method encapsulating shared logic.
+
+2012-03-29 Tony Chang <tony@chromium.org>
+
+ Need to implement flex-line-pack
+ https://bugs.webkit.org/show_bug.cgi?id=70794
+
+ Reviewed by Ojan Vafai.
+
+ Tests: css3/flexbox/multiline-line-pack-horizontal-column.html
+ css3/flexbox/multiline-line-pack.html
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
+ (WebCore::initialLinePackingOffset): Similar to initialPackingOffset.
+ (WebCore):
+ (WebCore::linePackingSpaceBetweenChildren): Similar to packingSpaceBetweenChildren.
+ (WebCore::RenderFlexibleBox::packFlexLines): Move lines based on flex-line-pack.
+ Note that we don't need to relayout on stretch because
+ alignChildren will do that for us (only auto size needs stretching).
+ (WebCore::RenderFlexibleBox::flipForWrapReverse): Pull out the initial
+ cross axis offset before calling packFlexLines because we can
+ move the the line contexts.
+ * rendering/RenderFlexibleBox.h:
+
+2012-03-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: SnippetsScriptMapping should process existing snippets on load.
+ https://bugs.webkit.org/show_bug.cgi?id=82619
+
+ Reviewed by Pavel Feldman.
+
+ SnippetsScriptMapping now loads existing snippets on creation.
+ Otherwise scripts panel shows snippets created during current session only.
+ Drive-by ScriptsNavigator closure compilation fix.
+
+ * inspector/front-end/SnippetsModel.js:
+ (WebInspector.SnippetsModel.prototype.set get snippets):
+ (WebInspector.SnippetsScriptMapping):
+ (WebInspector.SnippetsScriptMapping.prototype._handleSnippetAdded):
+ (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
+
+2012-03-29 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: check more likely condition first in HeapSnapshot._buildAggregates
+ https://bugs.webkit.org/show_bug.cgi?id=82621
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/HeapSnapshot.js: selfSize === 0 is quite rare, moving this condition
+ to the first place saves 1 of 6 secs on the heap profiler perf test.
+ (WebInspector.HeapSnapshot.prototype._buildAggregates):
+ (WebInspector.HeapSnapshot.prototype._buildDominatedNodes): root node is always the first
+ one and is the only one that doesn't have dominator, so we may start iterating nodes from
+ the second node and avoid additional check in the loop.
+
+2012-03-29 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: "go to the previous panel" shortcut is painful to maintain
+ https://bugs.webkit.org/show_bug.cgi?id=82602
+
+ Reviewed by Vsevolod Vlasov.
+
+ Present go to previous panel shortcut "Cmd - Left" is painful to support since we have
+ more and more free flow editing capabilities (where Cmd - Left is handled by the editor).
+ Remaping it to Cmd - Option - [ (]) / (Ctrl - Alt - [ (]) ).
+
+ Drive-by: de-capitalize captions from the settings panel.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._registerShortcuts):
+ * inspector/front-end/InspectorView.js:
+ (WebInspector.InspectorView.prototype._keyDown):
+ * inspector/front-end/ScriptsPanel.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._registerShortcuts):
+ (WebInspector.TimelinePanel.prototype._contextMenu):
+ * inspector/front-end/inspector.js:
+ (WebInspector._registerShortcuts):
+
+2012-03-29 Andrey Kosyakov <caseq@chromium.org>
+
+ Unreviewed, rolling out r112531.
+ http://trac.webkit.org/changeset/112531
+ https://bugs.webkit.org/show_bug.cgi?id=82616
+
+ Broke timeline overview selection
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewWindow):
+
+2012-03-28 Dirk Schulze <krit@webkit.org>
+
+ Introduce CSSParserMode in all classes
+ https://bugs.webkit.org/show_bug.cgi?id=82335
+
+ Reviewed by Ryosuke Niwa.
+
+ Introduce the new CSSParserMode enum to more classes. SVG classes make use of SVGAttributeMode for CSS parsing already.
+ But SVGAttributeMode does not differ from CSSQuirksMode at the moment. This will change with a followup patch on bug 46112.
+
+ No new tests. No change of functionality. Everything gets covered by existing tests.
+
+ * css/CSSImportRule.cpp:
+ (WebCore::CSSImportRule::setCSSStyleSheet):
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::insertRule):
+ * css/CSSParser.cpp: Move private functions away from strict boolean and make use of CSSParserMode instead.
+ (WebCore):
+ (WebCore::parseColorValue):
+ (WebCore::parseSimpleLengthValue):
+ (WebCore::CSSParser::parseFontFaceValue):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseColor):
+ (WebCore::CSSParser::createStyleRule):
+ (WebCore::CSSParser::createFontFaceRule):
+ (WebCore::CSSParser::createPageRule):
+ (WebCore::CSSParser::createKeyframeRule):
+ * css/CSSParser.h: Removed constructor with boolean argument. We just use the CSSParserMode enum now.
+ (CSSParser):
+ * css/CSSParserMode.h:
+ (strictToCSSParserMode): New helper function to convert boolean to CSSParserMode.
+ (isStrictParserMode): Helper function that returns true if argument is CSSStrictMode.
+ * css/CSSRule.h:
+ (WebCore::CSSRule::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::CSSStyleSheet):
+ (WebCore::CSSStyleSheet::insertRule):
+ (WebCore::CSSStyleSheet::parseString):
+ (WebCore::CSSStyleSheet::parseStringAtLine):
+ * css/CSSStyleSheet.h:
+ (CSSStyleSheet):
+ (WebCore::CSSStyleSheet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we set an enum now.
+ (WebCore::CSSStyleSheet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
+ * css/MediaList.cpp:
+ (WebCore::MediaQuerySet::parse):
+ (WebCore::MediaQuerySet::add):
+ (WebCore::MediaQuerySet::remove):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::StylePropertySet):
+ (WebCore::StylePropertySet::setProperty):
+ (WebCore::StylePropertySet::parseDeclaration):
+ * css/StylePropertySet.h: Use unsigned member variables to store the parser mode.
+ (WebCore::StylePropertySet::create):
+ (WebCore::StylePropertySet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we get an enum now. This gets converted to unsigned internally.
+ (WebCore::StylePropertySet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
+ (StylePropertySet):
+ * css/StyleSheet.h:
+ (StyleSheet):
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::WebKitCSSKeyframesRule::insertRule):
+ * css/WebKitCSSMatrix.cpp:
+ (WebCore::WebKitCSSMatrix::setMatrixValue):
+ * dom/Document.cpp:
+ (WebCore::Document::webkitGetFlowByName):
+ (WebCore::Document::pageUserSheet):
+ (WebCore::Document::pageGroupUserSheets):
+ * dom/Element.cpp:
+ (WebCore::Element::webkitMatchesSelector):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::ensureInlineStyle):
+ (WebCore::ElementAttributeData::ensureMutableInlineStyle):
+ (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
+ * dom/Node.cpp:
+ (WebCore::Node::querySelector):
+ (WebCore::Node::querySelectorAll):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::parseStyleSheet):
+ * dom/StyleElement.cpp:
+ (WebCore::StyleElement::createSheet):
+ * html/HTMLElement.cpp:
+ (WebCore::StyledElement::copyNonAttributeProperties):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::setCSSStyleSheet):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setFont):
+ * html/shadow/ContentSelectorQuery.cpp:
+ (WebCore::ContentSelectorQuery::ContentSelectorQuery):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyleSheet::reparseStyleSheet):
+ * svg/SVGElementRareData.h:
+ (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::SVGFontFaceElement):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::getPresentationAttribute):
+ * xml/XSLStyleSheet.h:
+ (XSLStyleSheet):
+ * xml/XSLStyleSheetLibxslt.cpp:
+ (WebCore::XSLStyleSheet::parseString):
+ * xml/XSLStyleSheetQt.cpp:
+ (WebCore::XSLStyleSheet::parseString):
+
+2012-03-29 Sanghyun Park <sh919.park@samsung.com>
+
+ Fix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
+ https://bugs.webkit.org/show_bug.cgi?id=81639
+
+ Reviewed by Eric Carlson.
+
+ Test : LayoutTest/webaudio/audiobuffersource-channels.html
+
+ * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
+
+2012-03-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
+ https://bugs.webkit.org/show_bug.cgi?id=82614
+
+ Reviewed by Pavel Feldman.
+
+ UISourceCode are now loaded from DebuggerPresentationModel on scripts panel creation/reset.
+ This is needed to show snippets that are loaded before scripts panel creation and are not removed on navigation.
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
+ (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
+ (WebInspector.ScriptsPanel.prototype._reset):
+ * inspector/front-end/SnippetsModel.js:
+ (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
+
+2012-03-29 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
+ https://bugs.webkit.org/show_bug.cgi?id=82616
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewWindow): Explicitly handle single click on overview by creating a minimal window around cursor.
+ (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMinimum):
+
+2012-03-29 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ Unavailable pre-processor macro in non-Qt environments
+ https://bugs.webkit.org/show_bug.cgi?id=82042
+
+ Reviewed by Simon Hausmann.
+
+ This patch removes the use of the macro QT_VERSION_CHECK() because, in
+ non-Qt environments, the pre-processors raises an error. Instead of
+ calling the macro to generate the version number, the version is
+ expressed directly.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (SharedGLData): remove pre-processor macro for Qt version check.
+
+2012-03-29 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: event details popover in Timeline panel displays invalid time offset
+ https://bugs.webkit.org/show_bug.cgi?id=82611
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.prototype.addRecord): use time in seconds, not raw model time for minimumRecordTime.
+
+2012-03-29 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: use canvas to render bars in "vertical overview" mode
+ https://bugs.webkit.org/show_bug.cgi?id=82606
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/TimelineOverviewPane.js: Use canvas instead of DOM for rendering vertical overview bars.
+ (WebInspector.TimelineVerticalOverview):
+ (WebInspector.TimelineVerticalOverview.prototype.update):
+ (WebInspector.TimelineVerticalOverview.prototype._renderBars):
+ (WebInspector.TimelineVerticalOverview.prototype._renderBar):
+ (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
+ * inspector/front-end/timelinePanel.css: Drop styles previously used for DOM-based vertical overview rendering.
+ (.timeline-vertical-overview-bars):
+
+2012-03-29 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: timeline overview window selection is not reset upon clear/record
+ https://bugs.webkit.org/show_bug.cgi?id=82603
+
+ Reviewed by Pavel Feldman.
+
+ - TimelineOverviewPane.reset() -> _reset();
+ - perform update() from reset();
+ - perform reset() upon RecordsCleared event from the model.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.TimelineOverviewPane.prototype._reset):
+ (WebInspector.TimelineVerticalOverview):
+ (WebInspector.TimelineVerticalOverview.prototype.update):
+ (WebInspector.TimelineVerticalOverview.prototype._renderBars):
+ (WebInspector.TimelineVerticalOverview.prototype._renderBar):
+ (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
+ * inspector/front-end/timelinePanel.css:
+ (.timeline-vertical-overview-bars):
+
+2012-03-29 Zalan Bujtas <zbujtas@gmail.com>
+
+ Remove redundant updateViewportArguments() call when page is restored from page cache.
+ https://bugs.webkit.org/show_bug.cgi?id=82500
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Document::updateViewportArguments() is called twice, while restoring a page from page cache.
+ First, it is called when the document is set on the mainframe and later, it is called
+ when page cache finished the restoration. Since viewport arguments don't change between
+ the 2 calls, it's safe to remove the second.
+
+ Manual test added. Viewport value updates heavily depend on UI process code.
+
+ * dom/Document.cpp:
+ (WebCore::Document::documentDidResumeFromPageCache):
+
+2012-03-29 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Add Internal test support for blackberry porting.
+ https://bugs.webkit.org/show_bug.cgi?id=82597
+
+ Reviewed by Rob Buis.
+
+ No new tests, just the build system enhancement for BlackBerry porting.
+
+ * UseJSC.cmake:
+
+2012-03-28 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
+ https://bugs.webkit.org/show_bug.cgi?id=82453
+
+ When heap snapshot is completely loaded move nodes and containment edges
+ into two separate arrays. This way we don't need _nodeIndex and _nodePosition
+ maps to go from node offset inside the raw snapshot to its index and back, instead
+ we may just divide node offset by the number of node fields to get node index. After
+ the nodes and containment edges are separated original array (_nodes) is dropped.
+ All front-end code was switched to the new representation.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotRetainerEdge):
+ (WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
+ (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
+ (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
+ (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
+ (WebInspector.HeapSnapshotNode.prototype.get edgesCount):
+ (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
+ (WebInspector.HeapSnapshotNode.prototype.get retainers):
+ (WebInspector.HeapSnapshotNode.prototype.get _nodes):
+ (WebInspector.HeapSnapshotNode.prototype._firstEdgeIndex):
+ (WebInspector.HeapSnapshotNode.prototype._afterLastEdgeIndex):
+ (WebInspector.HeapSnapshotNode.prototype.get _nextNodeIndex):
+ (WebInspector.HeapSnapshot.prototype._init):
+ (WebInspector.HeapSnapshot.prototype._splitNodesAndContainmentEdges):
+ (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
+ (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
+ (WebInspector.HeapSnapshot.prototype._buildRetainers):
+ (WebInspector.HeapSnapshot.prototype.dispose):
+ (WebInspector.HeapSnapshot.prototype.get maxNodeId):
+ (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
+ (WebInspector.HeapSnapshot.prototype._bfs):
+ (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
+ (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
+ (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
+ (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
+
+2012-03-29 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ [BlackBerry] Add m_targetType to WorkerScriptLoader
+ https://bugs.webkit.org/show_bug.cgi?id=82574
+
+ Reviewed by Rob Buis.
+
+ Just as Chromium porting blackberry porting is using m_targetType also.
+
+ * workers/WorkerScriptLoader.h:
+ (WorkerScriptLoader):
+
+2012-03-29 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
+ https://bugs.webkit.org/show_bug.cgi?id=82570
+
+ Reviewed by Rob Buis.
+
+ No new tests, no change in functionality.
+
+ * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
+ (WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
+ (WebCore):
+
+2012-03-29 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Clean up ImageBufferData
+ https://bugs.webkit.org/show_bug.cgi?id=82444
+
+ Reviewed by Rob Buis.
+
+ No behavior changes, no new tests.
+
+ * platform/graphics/blackberry/skia/ImageBufferDataSkia.h:
+ (ImageBufferData): Remove unused member variable m_buffer and change the type
+ of m_platformLayer from LayerWebKitThread to CanvasLayerWebKitThread.
+
+2012-03-28 Antti Koivisto <antti@apple.com>
+
+ Split WebKitCSSKeyframeRule into internal and CSSOM types
+ https://bugs.webkit.org/show_bug.cgi?id=82490
+
+ Reviewed by Andreas Kling.
+
+ WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.
+
+ - Add StyleKeyframe as the internal data structure for keyframes.
+ - WebKitCSSKeyframeRule becomes a wrapper for StyleKeyframe.
+ - Use StyleKeyframe internally so WebKitCSSKeyframeRules are created on CSSOM access only.
+
+ * css/CSSGrammar.y:
+
+ Use StyleKeyframes instead of WebKitCSSKeyframeRules.
+
+ * css/CSSMediaRule.h:
+ (CSSMediaRule):
+ (WebCore::CSSMediaRule::length):
+ (WebCore::CSSMediaRule::item):
+
+ Adapt to LiveCSSRuleList changes.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseKeyframeRule):
+ (WebCore::CSSParser::createKeyframe):
+ * css/CSSParser.h:
+ (WebCore):
+ (CSSParser):
+
+ Construct StyleKeyframes.
+
+ * css/CSSRuleList.h:
+ (WebCore::LiveCSSRuleList::length):
+ (WebCore::LiveCSSRuleList::item):
+
+ Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * css/CSSStyleSelector.h:
+ (CSSStyleSelector):
+ * css/WebKitCSSKeyframeRule.cpp:
+
+ Use StyleKeyframe.
+ Make 0% and 100% keyframes static.
+
+ (WebCore):
+ (WebCore::StyleKeyframe::setProperties):
+ (WebCore::StyleKeyframe::parseKeyString):
+ (WebCore::StyleKeyframe::cssText):
+ (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
+ (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
+ (WebCore::WebKitCSSKeyframeRule::style):
+ * css/WebKitCSSKeyframeRule.h:
+ (WebCore):
+ (WebCore::StyleKeyframe::create):
+ (WebCore::StyleKeyframe::keyText):
+ (WebCore::StyleKeyframe::setKeyText):
+ (StyleKeyframe):
+ (WebCore::StyleKeyframe::properties):
+ (WebCore::StyleKeyframe::StyleKeyframe):
+ (WebKitCSSKeyframeRule):
+ (WebCore::WebKitCSSKeyframeRule::keyText):
+ (WebCore::WebKitCSSKeyframeRule::setKeyText):
+ (WebCore::WebKitCSSKeyframeRule::cssText):
+
+ Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe.
+
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
+ (WebCore::WebKitCSSKeyframesRule::parserAppendKeyframe):
+ (WebCore::WebKitCSSKeyframesRule::insertRule):
+ (WebCore::WebKitCSSKeyframesRule::deleteRule):
+ (WebCore::WebKitCSSKeyframesRule::findRule):
+ (WebCore::WebKitCSSKeyframesRule::findKeyframeIndex):
+ (WebCore::WebKitCSSKeyframesRule::cssText):
+ (WebCore):
+ (WebCore::WebKitCSSKeyframesRule::item):
+ * css/WebKitCSSKeyframesRule.h:
+ (WebCore):
+ (WebCore::WebKitCSSKeyframesRule::keyframes):
+ (WebKitCSSKeyframesRule):
+ (WebCore::WebKitCSSKeyframesRule::length):
+
+ Keep StyleKeyframes and the wrappers (WebKitCSSKeyframeRules) in separate vectors.
+ Construct the wrapper vector and wrappers themselves on demand.
+ Keep the vectors in sync during mutations.
+
+ * css/WebKitCSSRegionRule.h:
+
+ Adapt to LiveCSSRuleList changes.
+
+2012-03-29 Zeno Albisser <zeno@webkit.org>
+
+ Fieldset disabled attribute does not work.
+ https://bugs.webkit.org/show_bug.cgi?id=58837
+
+ Make HTMLFormControlElements inherit the disabled state
+ from HTMLFieldSetElement ancestors. Subordinates of the
+ first HTMLLegendElement in a fieldset will never be disabled.
+
+ Patch by Zeno Albisser <zeno@webkit.org>
+
+ Test: fast/forms/fieldset-disabled.html
+
+ Reviewed by Kent Tamura.
+
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
+ (WebCore):
+ (WebCore::HTMLFieldSetElement::legend):
+ * html/HTMLFieldSetElement.h:
+ (HTMLFieldSetElement):
+ * html/HTMLFieldSetElement.idl:
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::HTMLFormControlElement):
+ (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
+ (WebCore):
+ (WebCore::HTMLFormControlElement::parseAttribute):
+ (WebCore::HTMLFormControlElement::disabledAttributeChanged):
+ (WebCore::HTMLFormControlElement::removedFromTree):
+ (WebCore::HTMLFormControlElement::disabled):
+ * html/HTMLFormControlElement.h:
+ (WebCore):
+ (HTMLFormControlElement):
+
+2012-03-29 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=82584
+
+ Reviewed by Adam Barth.
+
+ No changes that affects functionality.
+
+ * Modules/mediastream/PeerConnection00.cpp:
+ (WebCore::PeerConnection00::createOffer):
+ (WebCore::PeerConnection00::createAnswer):
+
+2012-03-29 Ryosuke Niwa <rniwa@webkit.org>
+
+ Pack bitfields in InlineBox for Windows
+ https://bugs.webkit.org/show_bug.cgi?id=82578
+
+ Reviewed by Kent Tamura.
+
+ Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
+ sturct AB {
+ unsigned m_1 : 31;
+ bool m_2 : 1;
+ }
+ then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang only allocate
+ sizeof(unsigned) * 1 for AB.
+
+ Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.
+
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint):
+ (WebCore::EllipsisBox::selectionRect):
+ (WebCore::EllipsisBox::nodeAtPoint):
+ * rendering/InlineBox.cpp:
+ (WebCore):
+ (SameSizeAsInlineBox):
+ (WebCore::InlineBox::logicalHeight):
+ (WebCore::InlineBox::baselinePosition): Moved from the header file since it's a virtual function.
+ (WebCore::InlineBox::lineHeight): Ditto.
+ (WebCore::InlineBox::deleteLine):
+ (WebCore::InlineBox::extractLine):
+ (WebCore::InlineBox::attachLine):
+ (WebCore::InlineBox::nextOnLineExists):
+ (WebCore::InlineBox::clearKnownToHaveNoOverflow):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox):
+ (WebCore::InlineBox::isText):
+ (WebCore::InlineBox::setIsText):
+ (WebCore::InlineBox::hasVirtualLogicalHeight):
+ (WebCore::InlineBox::setHasVirtualLogicalHeight):
+ (WebCore::InlineBox::isHorizontal):
+ (WebCore::InlineBox::setIsHorizontal):
+ (WebCore::InlineBox::isConstructed):
+ (WebCore::InlineBox::setConstructed):
+ (WebCore::InlineBox::setExtracted):
+ (WebCore::InlineBox::setFirstLineStyleBit):
+ (WebCore::InlineBox::isFirstLineStyle):
+ (InlineBox):
+ (WebCore::InlineBox::bidiLevel):
+ (WebCore::InlineBox::setBidiLevel):
+ (WebCore::InlineBox::direction):
+ (WebCore::InlineBox::isDirty):
+ (WebCore::InlineBox::markDirty):
+ (WebCore::InlineBox::expansion):
+ (WebCore::InlineBox::verticalAlign):
+ (WebCore::InlineBox::knownToHaveNoOverflow):
+ (WebCore::InlineBox::dirOverride):
+ (WebCore::InlineBox::setDirOverride):
+ (InlineBoxBitfields):
+ (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
+ (WebCore::InlineBox::InlineBoxBitfields::bidiEmbeddingLevel):
+ (WebCore::InlineBox::InlineBoxBitfields::setBidiEmbeddingLevel):
+ (WebCore::InlineBox::InlineBoxBitfields::determinedIfNextOnLineExists):
+ (WebCore::InlineBox::InlineBoxBitfields::setDeterminedIfNextOnLineExists):
+ (WebCore::InlineBox::InlineBoxBitfields::nextOnLineExists):
+ (WebCore::InlineBox::InlineBoxBitfields::setNextOnLineExists):
+ (WebCore::InlineBox::InlineBoxBitfields::expansion):
+ (WebCore::InlineBox::InlineBoxBitfields::setExpansion):
+ (WebCore::InlineBox::endsWithBreak):
+ (WebCore::InlineBox::setEndsWithBreak):
+ (WebCore::InlineBox::hasEllipsisBox):
+ (WebCore::InlineBox::hasSelectedChildren):
+ (WebCore::InlineBox::setHasSelectedChildren):
+ (WebCore::InlineBox::setHasEllipsisBox):
+ (WebCore::InlineBox::hasHyphen):
+ (WebCore::InlineBox::setHasHyphen):
+ (WebCore::InlineBox::canHaveLeadingExpansion):
+ (WebCore::InlineBox::setCanHaveLeadingExpansion):
+ (WebCore::InlineBox::setExpansion):
+ (WebCore::InlineBox::extracted):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::addToLine):
+ (WebCore::InlineFlowBox::removeChild):
+ (WebCore::InlineFlowBox::extractLine):
+ (WebCore::InlineFlowBox::attachLine):
+ (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
+ (WebCore::InlineFlowBox::requiresIdeographicBaseline):
+ (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
+ (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
+ (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
+ (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::destroy):
+ (WebCore::InlineTextBox::logicalOverflowRect):
+ (WebCore::InlineTextBox::setLogicalOverflowRect):
+ (WebCore::InlineTextBox::baselinePosition):
+ (WebCore::InlineTextBox::lineHeight):
+ (WebCore::InlineTextBox::localSelectionRect):
+ (WebCore::InlineTextBox::extractLine):
+ (WebCore::InlineTextBox::attachLine):
+ (WebCore::InlineTextBox::placeEllipsisBox):
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::paintDecoration):
+ (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
+ (WebCore::InlineTextBox::paintCompositionUnderline):
+ (WebCore::InlineTextBox::offsetForPosition):
+ (WebCore::InlineTextBox::positionForOffset):
+ (WebCore::InlineTextBox::constructTextRun):
+ * rendering/InlineTextBox.h:
+ (InlineTextBox):
+ (WebCore::InlineTextBox::setExpansion):
+ (WebCore::InlineTextBox::expansionBehavior):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::constructLine):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeTextRun):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::baselinePosition): Moved from the header file since it's a virtual function.
+ (WebCore::RootInlineBox::lineHeight): Ditto.
+ (WebCore::RootInlineBox::paint):
+ (WebCore::RootInlineBox::ascentAndDescentForBox):
+ (WebCore::RootInlineBox::verticalPositionForBox):
+ * rendering/RootInlineBox.h:
+ (RootInlineBox):
+ * rendering/svg/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::constructTextRun):
+ * rendering/svg/SVGRenderTreeAsText.cpp:
+ (WebCore::writeSVGInlineTextBox):
+
+2012-03-29 hayato@chromium.org <hayato@chromium.org>
+
+ Let focus navigation be compliant with Shadow DOM spec.
+ https://bugs.webkit.org/show_bug.cgi?id=78588
+
+ Reviewed by Dimitri Glazkov.
+
+ Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.
+
+ Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
+
+ According to the Shadow DOM spec:
+ The shadow DOM navigation order sequence is inserted into the document navigation order:
+ 1. immediately after the shadow host, if the shadow host is focusable; or
+ 2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
+
+ Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
+ since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
+ Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
+
+ Implementation notes:
+ Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
+ Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
+ To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
+ it does not skip a non-focusable shadow host in current focus scope.
+ After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
+ considering a nested focus scope inside of a shadow host or iframe.
+ To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
+
+ This change does not affect an existing behavior if a shadow dom is not involved.
+
+ Test: fast/dom/shadow/focus-navigation.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::focus):
+ * dom/ReifiedTreeTraversal.cpp:
+ (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
+ * page/FocusController.cpp:
+ (WebCore::isShadowHost):
+ (WebCore):
+ (WebCore::FocusScope::FocusScope):
+ (WebCore::FocusScope::rootNode):
+ (WebCore::FocusScope::owner):
+ (WebCore::FocusScope::focusScopeOf):
+ (WebCore::FocusScope::focusScopeOwnedByShadowHost):
+ (WebCore::FocusScope::focusScopeOwnedByIFrame):
+ (WebCore::hasCustomFocusLogic):
+ (WebCore::isNonFocusableShadowHost):
+ (WebCore::isFocusableShadowHost):
+ (WebCore::adjustedTabIndex):
+ (WebCore::shouldVisit):
+ (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
+ (WebCore::FocusController::advanceFocusInDocumentOrder):
+ (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
+ (WebCore::FocusController::findFocusableNodeRecursively):
+ (WebCore::FocusController::findFocusableNode):
+ (WebCore::FocusController::findNodeWithExactTabIndex):
+ (WebCore::nextNodeWithGreaterTabIndex):
+ (WebCore::previousNodeWithLowerTabIndex):
+ (WebCore::FocusController::nextFocusableNode):
+ (WebCore::FocusController::previousFocusableNode):
+ * page/FocusController.h:
+ (WebCore):
+ (FocusScope):
+ (FocusController):
+
+2012-03-28 Kinuko Yasuda <kinuko@chromium.org>
+
+ [chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and-drop using File/DirectoryEntry.
+ https://bugs.webkit.org/show_bug.cgi?id=76826
+
+ Add two helper methods for creating isolated filesystem to the
+ PlatformSupport interface.
+
+ Reviewed by David Levin.
+
+ No new tests: tests will be added when app-facing code is added.
+
+ * platform/chromium/PlatformSupport.h:
+ (PlatformSupport):
+
+2012-03-29 Vineet Chaudhary <rgf748@motorola.com>
+
+ Remove custom bindings form Internals.idl of attribute type Array.
+ https://bugs.webkit.org/show_bug.cgi?id=82319
+
+ Reviewed by Kentaro Hara.
+
+ Remove custom bindings for Array type and replace Array type with sequence<String>.
+
+ No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
+ even after these changes.
+
+ * Target.pri: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
+ * UseJSC.cmake: Remove JSInternalsCustom.cpp.
+ * UseV8.cmake: Remove V8InternalsCustom.cpp.
+ * WebCore.gypi: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
+ * WebCore.vcproj/WebCoreTestSupport.vcproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
+ * WebCore.xcodeproj/project.pbxproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
+ * bindings/js/JSDOMBinding.h:
+ (WebCore):
+ (WebCore::jsArray): Added new specialize function template for Strings.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (JSValueToNative): Add jsArray<String>() to deduce return type.
+ (NativeToJSValue): Added check for type String.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (JSValueToNative): Add v8Array<String>() to deduce return type.
+ (NativeToJSValue): Added check for type String.
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjSequenceAttr): Modified results from run-binding-tests.
+ * bindings/scripts/test/V8/V8TestObj.cpp: Modified results from run-binding-tests.
+ (WebCore::TestObjInternal::sequenceAttrAttrSetter):
+ * bindings/v8/V8Binding.h: Added new specialize function template for Strings.
+ (WebCore):
+ (WebCore::v8Array):
+ (WebCore::toNativeArray):
+ * testing/Internals.idl: Replace Array type with sequence<String>
+ * testing/js/JSInternalsCustom.cpp: Removed.
+ * testing/v8/V8InternalsCustom.cpp: Removed.
+
+2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r112500.
+ http://trac.webkit.org/changeset/112500
+ https://bugs.webkit.org/show_bug.cgi?id=82576
+
+ assertion failed on fast/events/tab-test-not-visible-
+ imagemap.html on gtk/qt (Requested by hayato on #webkit).
+
+ * dom/Element.cpp:
+ (WebCore::Element::focus):
+ * page/FocusController.cpp:
+ (WebCore):
+ (WebCore::shadowRoot):
+ (WebCore::isTreeScopeOwner):
+ (WebCore::FocusController::transferFocusToElementInShadowRoot):
+ (WebCore::hasCustomFocusLogic):
+ (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
+ (WebCore::FocusController::advanceFocusInDocumentOrder):
+ (WebCore::ownerOfTreeScope):
+ (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
+ (WebCore::FocusController::findFocusableNode):
+ (WebCore::nextNodeWithExactTabIndex):
+ (WebCore::previousNodeWithExactTabIndex):
+ (WebCore::nextNodeWithGreaterTabIndex):
+ (WebCore::previousNodeWithLowerTabIndex):
+ (WebCore::FocusController::nextFocusableNode):
+ (WebCore::FocusController::previousFocusableNode):
+ * page/FocusController.h:
+ (WebCore):
+ (FocusController):
+
+2012-03-28 Kent Tamura <tkent@chromium.org>
+
+ Add TextFieldDecorationElement::decorate()
+ https://bugs.webkit.org/show_bug.cgi?id=82572
+
+ Reviewed by Hajime Morita.
+
+ This change will be needed for Bug 82143.
+ No new tests because of no behavior changes yet. This code change
+ doesn't affect non-Chromium ports for now.
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::create):
+ Remove unnecessary assertion. We should allow multiple UA shadow roots.
+ * html/shadow/TextFieldDecorationElement.cpp:
+ (WebCore::TextFieldDecorationElement::decorate):
+ Added.
+ This function adds another ShadowRoot, and it contains one flexible box container.
+ The container contains existin ShadowRoot content and the decoration element.
+ * html/shadow/TextFieldDecorationElement.h:
+ (TextFieldDecorationElement): Add the declaration of decorate().
+
+2012-03-28 Vineet Chaudhary <rgf748@motorola.com>
+
+ Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=82442
+
+ Reviewed by Kentaro Hara.
+
+ No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
+ even after these changes.
+
+ * testing/js/JSInternalsCustom.cpp: Remove jsNull() if Vector is empty.
+ (WebCore::JSInternals::userPreferredLanguages):
+ * testing/v8/V8InternalsCustom.cpp: Remove v8::Null() if Vector is empty.
+ (WebCore::V8Internals::userPreferredLanguagesAccessorGetter):
+
+2012-03-28 Hayato Ito <hayato@chromium.org>
+
+ Let focus navigation be compliant with Shadow DOM spec.
+ https://bugs.webkit.org/show_bug.cgi?id=78588
+
+ Reviewed by Dimitri Glazkov.
+
+ Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
+
+ According to the Shadow DOM spec:
+ The shadow DOM navigation order sequence is inserted into the document navigation order:
+ 1. immediately after the shadow host, if the shadow host is focusable; or
+ 2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
+
+ Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
+ since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
+ Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
+
+ Implementation notes:
+ Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
+ Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
+ To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
+ it does not skip a non-focusable shadow host in current focus scope.
+ After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
+ considering a nested focus scope inside of a shadow host or iframe.
+ To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
+
+ This change does not affect an existing behavior if a shadow dom is not involved.
+
+ Test: fast/dom/shadow/focus-navigation.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::focus):
+ * page/FocusController.cpp:
+ (WebCore::isShadowHost):
+ (WebCore):
+ (WebCore::FocusScope::FocusScope):
+ (WebCore::FocusScope::rootNode):
+ (WebCore::FocusScope::owner):
+ (WebCore::FocusScope::focusScopeOf):
+ (WebCore::FocusScope::focusScopeOwnedByShadowHost):
+ (WebCore::FocusScope::focusScopeOwnedByIFrame):
+ (WebCore::hasCustomFocusLogic):
+ (WebCore::isNonFocusableShadowHost):
+ (WebCore::isFocusableShadowHost):
+ (WebCore::adjustedTabIndex):
+ (WebCore::shouldVisit):
+ (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
+ (WebCore::FocusController::advanceFocusInDocumentOrder):
+ (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
+ (WebCore::FocusController::findFocusableNodeRecursively):
+ (WebCore::FocusController::findFocusableNode):
+ (WebCore::FocusController::findNodeWithExactTabIndex):
+ (WebCore::nextNodeWithGreaterTabIndex):
+ (WebCore::previousNodeWithLowerTabIndex):
+ (WebCore::FocusController::nextFocusableNode):
+ (WebCore::FocusController::previousFocusableNode):
+ * page/FocusController.h:
+ (WebCore):
+ (FocusScope):
+ (FocusController):
+
+2012-03-28 Li Yin <li.yin@intel.com>
+
+ [WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
+ https://bugs.webkit.org/show_bug.cgi?id=82307
+
+ Reviewed by Kent Tamura.
+
+ From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
+ If the WebSocket openhanding respond included the mismatched
+ Sec-WebSocket-Protocol header field, the client must fail the WebSocket Connection.
+
+ Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html
+
+ * Modules/websockets/WebSocketHandshake.cpp:
+ (WebCore::WebSocketHandshake::checkResponseHeaders):
+
+2012-03-28 Jessie Berlin <jberlin@apple.com>
+
+ Fix Windows build after r112482.
+
+ * platform/network/cf/FormDataStreamCFNet.cpp:
+ (WebCore::formOpen):
+ Do not attempt to use an OS X error code on Windows. Use the POSIX errno instead.
+
+2012-03-28 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
+ https://bugs.webkit.org/show_bug.cgi?id=82524
+
+ Reviewed by Dean Jackson.
+
+ RenderLayer::~RenderLayer is calling clearBacking which updated the m_filter with new filters,
+ even though they were to be deleted a couple of lines below. This change avoids updating the filters,
+ if we are in the "destroyed" state.
+
+ No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::~RenderLayer):
+ (WebCore::RenderLayer::clearBacking):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+
+2012-03-28 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Remove ScriptExecutionContext from NavigatorBattery.idl
+ https://bugs.webkit.org/show_bug.cgi?id=82556
+
+ Reviewed by Adam Barth.
+
+ As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
+ Document can be used instead of ScriptExecutionContext.
+
+ Tests: batterystatus/add-listener-from-callback.html
+ batterystatus/basic-all-types-of-events.html
+ batterystatus/basic-operation.html
+ batterystatus/event-after-navigation.html
+ batterystatus/multiple-frames.html
+ batterystatus/updates.html
+ batterystatus/window-property.html
+
+ * Modules/battery/BatteryManager.cpp:
+ (WebCore::BatteryManager::create):
+ (WebCore::BatteryManager::BatteryManager):
+ * Modules/battery/BatteryManager.h:
+ (BatteryManager):
+ * Modules/battery/NavigatorBattery.cpp:
+ (WebCore::NavigatorBattery::webkitBattery):
+ * Modules/battery/NavigatorBattery.h:
+ (NavigatorBattery):
+ * Modules/battery/NavigatorBattery.idl:
+
+2012-03-28 Jason Liu <jason.liu@torchmobile.com.cn>
+
+ [BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=82041
+
+ We shouldn't overwrite cookies of response if there are more than one
+ header of Set-Cookie.
+
+ Reviewed by Rob Buis.
+
+ Test: http/tests/cookies/resources/setArraycookies.php
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::handleNotifyHeaderReceived):
+
+2012-03-28 Noel Gordon <noel.gordon@gmail.com>
+
+ JPEGImageDecoder: Set frame alpha state before marking a frame complete
+ https://bugs.webkit.org/show_bug.cgi?id=82428
+
+ Reviewed by Kenneth Russell.
+
+ r109779 changed JPEG alpha channel handling by marking a JPEG image frame
+ as having no alpha _after_ setting the image status frame-complete, which
+ prevents the application of image color profiles in some WebGL cases.
+
+ No new tests. The application of the color profile is not guaranteed for
+ images used as textures in WebGL. Refer to http://wkb.ug/76498.
+
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+ (WebCore::JPEGImageDecoder::jpegComplete): Set the image frame alpha state
+ before marking the image frame status as frame-complete.
+
+2012-03-28 Emil A Eklund <eae@chromium.org>
+
+ Fix rounding in RenderInline::paintOutlineForLine
+ https://bugs.webkit.org/show_bug.cgi?id=82540
+
+ Reviewed by Eric Seidel.
+
+ No new tests, no change in functionality.
+
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::paintOutlineForLine):
+ Change paintOutlineForLine to pixel snap the left and right edges of the
+ lines instead of adding the offset to an already rounded number.
+
+2012-03-28 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: don't expose IDBDatabaseError to script
+ https://bugs.webkit.org/show_bug.cgi?id=82280
+
+ It's not used anywhere and firefox doesn't expose it.
+
+ Reviewed by Tony Chang.
+
+ Test: storage/indexeddb/removed.html
+
+ * CMakeLists.txt:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
+ * Modules/indexeddb/IDBDatabaseError.idl: Removed.
+ * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-03-28 Kenichi Ishibashi <bashi@chromium.org>
+
+ Respects font fallback list during webfonts are loading
+ https://bugs.webkit.org/show_bug.cgi?id=76684
+
+ Reviewed by Dimitri Glazkov.
+
+ For layout, use the rest of the fallback list while webfonts are loading.
+ If the webfont is loading, it will be given an invalid Unicode Range so that
+ font selection mechansim doesn't use the webfont for layout.
+
+ Test: http/tests/webfont/fallback-font-while-loading.html
+
+ * css/CSSSegmentedFontFace.cpp:
+ (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): Added.
+ (WebCore):
+ (WebCore::CSSSegmentedFontFace::getFontData):
+
+2012-03-28 Mark Rowe <mrowe@apple.com>
+
+ Update Localizable.strings.
+
+ * English.lproj/Localizable.strings:
+
+2012-03-28 Victor Carbune <vcarbune@adobe.com>
+
+ Removed particular rendering for the volume slider and used
+ css positioning instead (simpler and less prone to errors when
+ changes occur).
+ https://bugs.webkit.org/show_bug.cgi?id=82150
+
+ Reviewed by Eric Carlson.
+
+ Test: media/video-controls-rendering-toggle-display-none.html
+
+ * css/mediaControls.css: Updated css to correctly render controls.
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ * css/mediaControlsChromium.css: Updated css to correctly render controls.
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
+ (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
+ * html/shadow/MediaControlElements.cpp: Removed particular renderer.
+ (WebCore):
+ * html/shadow/MediaControlElements.h: Removed particular renderer.
+ (MediaControlVolumeSliderContainerElement):
+ * html/shadow/MediaControlRootElementChromium.cpp:
+ (WebCore::MediaControlRootElementChromium::create): Added an anonymous div container
+ for the mute button and volume slider (to be displayed on top of each other)
+
+2012-03-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110064.
+ http://trac.webkit.org/changeset/110064
+ https://bugs.webkit.org/show_bug.cgi?id=82537
+
+ The patch leaks the DOM when audio elements are used
+ (Requested by sundiamonde on #webkit).
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::isReachableFromDOM):
+
+2012-03-28 Alexey Proskuryakov <ap@apple.com>
+
+ [Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
+ https://bugs.webkit.org/show_bug.cgi?id=82386
+ <rdar://problem/11121501>
+
+ Reviewed by Brady Eidson.
+
+ Covered by existing tests.
+
+ * platform/network/cf/FormDataStreamCFNet.cpp:
+ * platform/network/cf/FormDataStreamCFNet.h:
+ Moved low level implementation from FormDataStreamMac, and exposed an additional function
+ to implement Foundation-based API on top of this.
+
+ * platform/network/mac/FormDataStreamMac.h:
+ * platform/network/mac/FormDataStreamMac.mm:
+ Rely on toll-free bridging and implementation details to make this work without duplicating
+ code.
+ Note that httpBodyFromStream is confusing - I don't see how it can work when sending serialized
+ requests across process boundary. We probably only get away with this because we don't attempt
+ to send requests to UI process once they already have streams associated with them.
+
+ * WebCore.vcproj/WebCore.vcproj: Added missing platform/cf files.
+
+ * platform/cf/FileSystemCF.cpp: Fixed include style.
+
+ * platform/win/FileSystemWin.cpp: (WebCore::fileSystemRepresentation): Ifdef out a broken
+ implementation.
+
+2012-03-28 Adrienne Walker <enne@google.com>
+
+ [chromium] Fix tiled layer assert for huge layers
+ https://bugs.webkit.org/show_bug.cgi?id=82486
+
+ Reviewed by James Robinson.
+
+ Test: TiledLayerChromiumTest.hugeLayerUpdateCrash
+
+ TilingData::numTiles() is calculated as the product of two ints and so
+ can potentially overflow, causing numTiles() to be incorrect. To avoid
+ calling code accidentally falling into this trap, remove this function
+ and all code that uses tile index from TilingData. This requires
+ fixing up a bunch of callers of TilingData and CCLayerTilingData.
+
+ Additionally, TilingData::numTiles() has long been a confusing
+ function name in some contexts, so rename to bool hasEmptyBounds().
+
+ Also, remove TilingData::intersectDrawQuad because there are no
+ clients of that function.
+
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::drawsContent):
+ (WebCore::TiledLayerChromium::reserveTextures):
+ (WebCore::TiledLayerChromium::prepareToUpdate):
+ (WebCore::TiledLayerChromium::prepareToUpdateIdle):
+ (WebCore::TiledLayerChromium::needsIdlePaint):
+ (WebCore::TiledLayerChromium::idlePaintRect):
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ (WebCore::CCLayerTilingData::tileRect):
+ * platform/graphics/chromium/cc/CCLayerTilingData.h:
+ (WebCore::CCLayerTilingData::hasEmptyBounds):
+ (WebCore::CCLayerTilingData::tileBounds):
+ (WebCore::CCLayerTilingData::isEmpty):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ (WebCore::CCTiledLayerImpl::bindContentsTexture):
+ (WebCore::CCTiledLayerImpl::appendQuads):
+ * platform/graphics/gpu/Texture.cpp:
+ (WebCore::Texture::create):
+ (WebCore::Texture::updateSubRect):
+ * platform/graphics/gpu/TilingData.cpp:
+ (WebCore::TilingData::tileBounds):
+ (WebCore::TilingData::tileBoundsWithBorder):
+ (WebCore::TilingData::tileBoundsNormalized):
+ * platform/graphics/gpu/TilingData.h:
+ (WebCore::TilingData::hasEmptyBounds):
+ (TilingData):
+ (WebCore::TilingData::assertTile):
+
+2012-03-28 Emil A Eklund <eae@chromium.org>
+
+ Change FilterOperations::getOutsets to use integers
+ https://bugs.webkit.org/show_bug.cgi?id=82535
+
+ Reviewed by Eric Seidel.
+
+ FilterOperations::getOutsets calculates the outsets using integers and
+ the values are guranteed to be set to full-pixel values. By changing the
+ function signature we communicate this fact better and avoid unnecessary
+ type conversions in some cases.
+
+ No new tests.
+
+ * platform/graphics/filters/FilterOperations.cpp:
+ (WebCore::FilterOperations::getOutsets):
+ * platform/graphics/filters/FilterOperations.h:
+ (FilterOperations):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeRectForRepaint):
+ (WebCore::RenderBox::addVisualEffectOverflow):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::computeRectForRepaint):
+ * rendering/style/RenderStyle.h:
+
+2012-03-28 Nate Chapin <japhet@chromium.org>
+
+ Remove dispatchDidLoadMainResource callback, since no
+ port implements it.
+ https://bugs.webkit.org/show_bug.cgi?id=82539
+
+ Reviewed by Alexey Proskuryakov.
+
+ No new tests, just deleting dead code.
+
+ * loader/EmptyClients.h:
+ (EmptyFrameLoaderClient):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::finishedLoading):
+ (WebCore::FrameLoader::mainReceivedCompleteError):
+ * loader/FrameLoaderClient.h:
+ (FrameLoaderClient):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::receivedError):
+ (WebCore::MainResourceLoader::didCancel):
+
+2012-03-28 Enrica Casucci <enrica@apple.com>
+
+ REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=82497
+ <rdar://problem/11140334>
+
+ Reviewed by Brady Eidson.
+
+ The revision causing this regression fixed the way data is written to the pasteboard for NSURLPboardType.
+ This change fixes the way data is read from the pasteboard for the same pasteboard type.
+
+ No new tests. Fixes the existing one that fails.
+
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::absoluteURLsFromPasteboard):
+ * platform/mac/PlatformPasteboardMac.mm:
+ (WebCore::PlatformPasteboard::stringForType):
+
+2012-03-28 Joe Thomas <joethomas@motorola.com>
+
+ SL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
+ https://bugs.webkit.org/show_bug.cgi?id=82390
+
+ Reviewed by Simon Fraser.
+
+ This is an attempt to fix the MAC SL/Lion Bot issue as this issue is not reproducible locally.
+ The assertion happened when length type is Undefined in valueForLength() function but the assertion for Undefined length type
+ in RenderBox::computeLogicalWidthInRegionUsing which calls the above said function did not get hit.
+
+ This patch passes Length structure as const reference to Length calculation functions which avoids the call to the copy-constructor.
+ And it ensures that the Length structure is not getting modified during copy-construction.
+
+ * css/LengthFunctions.cpp:
+ (WebCore::minimumValueForLength):
+ (WebCore::valueForLength):
+ (WebCore::floatValueForLength):
+ * css/LengthFunctions.h:
+ (WebCore):
+
+2012-03-28 Gavin Barraclough <barraclough@apple.com>
+
+ Yarr: if we're not using the output array, don't populate it!
+ https://bugs.webkit.org/show_bug.cgi?id=82519
+
+ Reviewed by Sam Weinig.
+
+ * ForwardingHeaders/runtime/MatchResult.h: Added.
+ * ForwardingHeaders/yarr/YarrJIT.h: Added.
+ - Added forwarding headers.
+
+2012-03-23 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=81685
+
+ [New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
+ It derives from RenderFlowThread.
+
+ Refactor RenderFlowThread to split out the stuff related to explicit naming into a subclass, RenderNamedFlowThread.
+ This allows RenderFlowThread to be a simple base class that involves maintaining the regions themselves.
+
+ Reviewed by Julien Chaffraix.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ * dom/NodeRenderingContext.cpp:
+ * dom/NodeRenderingContext.h:
+ (WebCore):
+ (WebCore::NodeRenderingContext::parentFlowRenderer):
+ * dom/WebKitNamedFlow.cpp:
+ (WebCore::WebKitNamedFlow::WebKitNamedFlow):
+ * dom/WebKitNamedFlow.h:
+ (WebCore):
+ (WebCore::WebKitNamedFlow::create):
+ (WebKitNamedFlow):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::collapseAnonymousBoxChild):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::RenderFlowThread):
+ (WebCore):
+ (WebCore::RenderFlowThread::addRegionToThread):
+ (WebCore::RenderFlowThread::removeRegionFromThread):
+ (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
+ * rendering/RenderFlowThread.h:
+ (WebCore):
+ * rendering/RenderMultiColumnFlowThread.cpp: Added.
+ (WebCore):
+ (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
+ (WebCore::RenderMultiColumnFlowThread::renderName):
+ * rendering/RenderMultiColumnFlowThread.h: Added.
+ (WebCore):
+ (RenderMultiColumnFlowThread):
+ * rendering/RenderNamedFlowThread.cpp: Added.
+ (WebCore):
+ (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
+ (WebCore::RenderNamedFlowThread::renderName):
+ (WebCore::RenderNamedFlowThread::nextRendererForNode):
+ (WebCore::RenderNamedFlowThread::previousRendererForNode):
+ (WebCore::RenderNamedFlowThread::addFlowChild):
+ (WebCore::RenderNamedFlowThread::removeFlowChild):
+ (WebCore::RenderNamedFlowThread::dependsOn):
+ (WebCore::compareRenderRegions):
+ (WebCore::RenderNamedFlowThread::addRegionToThread):
+ (WebCore::RenderNamedFlowThread::removeRegionFromThread):
+ (WebCore::RenderNamedFlowThread::checkInvalidRegions):
+ (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
+ (WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
+ (WebCore::RenderNamedFlowThread::pushDependencies):
+ (WebCore::RenderNamedFlowThread::ensureNamedFlow):
+ * rendering/RenderNamedFlowThread.h: Added.
+ (WebCore):
+ (RenderNamedFlowThread):
+ (WebCore::RenderNamedFlowThread::name):
+ (WebCore::RenderNamedFlowThread::hasChildren):
+ (WebCore::RenderNamedFlowThread::hasChild):
+ (WebCore::RenderNamedFlowThread::isRenderNamedFlowThread):
+ (WebCore::toRenderNamedFlowThread):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::willBeDestroyed):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isRenderNamedFlowThread):
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::renderNamedFlowThreadContainer):
+ (WebCore::RenderObjectChildList::removeChildNode):
+ (WebCore::RenderObjectChildList::appendChildNode):
+ (WebCore::RenderObjectChildList::insertChildNode):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::RenderRegion):
+ (WebCore::RenderRegion::attachRegion):
+ * rendering/RenderRegion.h:
+ (WebCore):
+ (WebCore::RenderRegion::parentNamedFlowThread):
+ (RenderRegion):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeRenderNamedFlowThreads):
+ (WebCore::writeLayers):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::RenderView):
+ (WebCore::RenderView::layout):
+ (WebCore::RenderView::styleDidChange):
+ (WebCore::RenderView::ensureRenderFlowThreadWithName):
+ (WebCore::RenderView::layoutRenderNamedFlowThreads):
+ * rendering/RenderView.h:
+ (WebCore):
+ (RenderView):
+ (WebCore::RenderView::hasRenderNamedFlowThreads):
+ (WebCore::RenderView::isRenderNamedFlowThreadOrderDirty):
+ (WebCore::RenderView::setIsRenderNamedFlowThreadOrderDirty):
+ (WebCore::RenderView::renderNamedFlowThreadList):
+
+2012-03-28 Emil A Eklund <eae@chromium.org>
+
+ Remove unnecessary rounding in RenderLayerBacking
+ https://bugs.webkit.org/show_bug.cgi?id=82529
+
+ Reviewed by Eric Seidel.
+
+ Remove rounding that is no longer required now that borderBoxRect returns
+ an IntRect.
+
+ No new tests.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+ (WebCore::RenderLayerBacking::startAnimation):
+ (WebCore::RenderLayerBacking::startTransition):
+
+2012-03-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r112432.
+ http://trac.webkit.org/changeset/112432
+ https://bugs.webkit.org/show_bug.cgi?id=82536
+
+ Causes ccs3 layout test asserts (Requested by enne on
+ #webkit).
+
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::drawsContent):
+ (WebCore::TiledLayerChromium::reserveTextures):
+ (WebCore::TiledLayerChromium::prepareToUpdate):
+ (WebCore::TiledLayerChromium::prepareToUpdateIdle):
+ (WebCore::TiledLayerChromium::needsIdlePaint):
+ (WebCore::TiledLayerChromium::idlePaintRect):
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ (WebCore::CCLayerTilingData::tileRect):
+ * platform/graphics/chromium/cc/CCLayerTilingData.h:
+ (WebCore::CCLayerTilingData::numTiles):
+ (WebCore::CCLayerTilingData::tileBounds):
+ (WebCore::CCLayerTilingData::isEmpty):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ (WebCore::CCTiledLayerImpl::bindContentsTexture):
+ (WebCore::CCTiledLayerImpl::appendQuads):
+ * platform/graphics/filters/FECustomFilter.cpp:
+ (WebCore::FECustomFilter::platformApplySoftware):
+ * platform/graphics/gpu/Texture.cpp:
+ (WebCore::Texture::create):
+ (WebCore::Texture::updateSubRect):
+ * platform/graphics/gpu/TilingData.cpp:
+ (WebCore::TilingData::tileBounds):
+ (WebCore::TilingData::tileBoundsWithBorder):
+ (WebCore::TilingData::tileBoundsNormalized):
+ (WebCore::TilingData::intersectDrawQuad):
+ (WebCore):
+ * platform/graphics/gpu/TilingData.h:
+ (WebCore::TilingData::numTiles):
+ (WebCore::TilingData::tileIndex):
+ (WebCore::TilingData::tileXIndex):
+ (WebCore::TilingData::tileYIndex):
+ (TilingData):
+ (WebCore::TilingData::assertTile):
+
+2012-03-27 Daniel Cheng <dcheng@chromium.org>
+
+ [chromium] Merge ChromiumDataObject and DataTransferItemListChromium.
+ https://bugs.webkit.org/show_bug.cgi?id=82407
+
+ Reviewed by Tony Chang.
+
+ Since ChromiumDataObject is just a very thin wrapper for DataTransferItemListChromium now,
+ combine the two and remove a layer of indirection.
+
+ No functionality change, should be covered by existing tests.
+
+ * WebCore.gypi:
+ * platform/chromium/ChromiumDataObject.cpp: Replacing DataTransferItemListChromium.
+ (WebCore::ChromiumDataObject::createFromPasteboard):
+ (WebCore::ChromiumDataObject::create):
+ (WebCore::ChromiumDataObject::length):
+ (WebCore):
+ (WebCore::ChromiumDataObject::item):
+ (WebCore::ChromiumDataObject::deleteItem):
+ (WebCore::ChromiumDataObject::clearAll):
+ (WebCore::ChromiumDataObject::add):
+ (WebCore::ChromiumDataObject::clearData):
+ (WebCore::ChromiumDataObject::clearAllExceptFiles):
+ (WebCore::ChromiumDataObject::types):
+ (WebCore::ChromiumDataObject::getData):
+ (WebCore::ChromiumDataObject::setData):
+ (WebCore::ChromiumDataObject::urlAndTitle):
+ (WebCore::ChromiumDataObject::setURLAndTitle):
+ (WebCore::ChromiumDataObject::htmlAndBaseURL):
+ (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
+ (WebCore::ChromiumDataObject::containsFilenames):
+ (WebCore::ChromiumDataObject::filenames):
+ (WebCore::ChromiumDataObject::addFilename):
+ (WebCore::ChromiumDataObject::addSharedBuffer):
+ (WebCore::ChromiumDataObject::ChromiumDataObject):
+ (WebCore::ChromiumDataObject::findStringItem):
+ (WebCore::ChromiumDataObject::internalAddStringItem):
+ (WebCore::ChromiumDataObject::internalAddFileItem):
+ * platform/chromium/ChromiumDataObject.h:
+ (WebCore):
+ (ChromiumDataObject):
+ * platform/chromium/ChromiumDataObjectItem.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.cpp.
+ (WebCore):
+ (WebCore::ChromiumDataObjectItem::createFromString):
+ (WebCore::ChromiumDataObjectItem::createFromFile):
+ (WebCore::ChromiumDataObjectItem::createFromURL):
+ (WebCore::ChromiumDataObjectItem::createFromHTML):
+ (WebCore::ChromiumDataObjectItem::createFromSharedBuffer):
+ (WebCore::ChromiumDataObjectItem::createFromPasteboard):
+ (WebCore::ChromiumDataObjectItem::ChromiumDataObjectItem):
+ (WebCore::ChromiumDataObjectItem::getAsString):
+ (WebCore::ChromiumDataObjectItem::getAsFile):
+ (WebCore::ChromiumDataObjectItem::internalGetAsString):
+ (WebCore::ChromiumDataObjectItem::isFilename):
+ * platform/chromium/ChromiumDataObjectItem.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.h.
+ (WebCore):
+ (ChromiumDataObjectItem):
+ (WebCore::ChromiumDataObjectItem::kind):
+ (WebCore::ChromiumDataObjectItem::type):
+ (WebCore::ChromiumDataObjectItem::sharedBuffer):
+ (WebCore::ChromiumDataObjectItem::title):
+ (WebCore::ChromiumDataObjectItem::baseURL):
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::files):
+ (WebCore::ClipboardChromium::hasData):
+ (WebCore::ClipboardChromium::items):
+ * platform/chromium/DataTransferItemListChromium.cpp: Removed.
+ * platform/chromium/DataTransferItemListChromium.h: Removed.
+
+2012-03-28 Nat Duca <nduca@chromium.org>
+
+ [chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap
+ https://bugs.webkit.org/show_bug.cgi?id=82516
+
+ Reviewed by James Robinson.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::swapBuffers):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (LayerRendererChromium):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::swapBuffers):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (CCLayerTreeHostImpl):
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::processScheduledActions):
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult):
+ (CCScheduledActionDrawAndSwapResult):
+ (WebCore):
+ (CCSchedulerClient):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
+ (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
+ (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (CCThreadProxy):
+
+2012-03-26 Eric Uhrhane <ericu@chromium.org>
+
+ FileWriter has two race conditions
+ https://bugs.webkit.org/show_bug.cgi?id=81861
+
+ Reviewed by David Levin.
+
+ Should make current tests less flaky.
+
+ * Modules/filesystem/FileWriter.h:
+ * Modules/filesystem/FileWriter.cpp:
+ Track the in-flight operation, whether it be an abort/write/truncate.
+ Whether an abort comes back as didWrite, didTruncate, or didFail, handle
+ it appropriately. Before this fix, the Chromium implementation would
+ assert in two cases:
+
+ If the user calls abort, then write, then abort before the backend
+ catches up, we'd send both aborts to the backend, even though it hadn't
+ received the write yet. Chromium's backend asserts if there's an abort
+ with no write in progress. We now record that we've sent an abort and
+ are waiting for the response.
+
+ If the user calls abort while a write/truncate is just finishing, on the
+ Chromium worker implementation, the completion message could be
+ thread-hopping back to WebCore at the
+ WorkerAsyncFileWriterCallbacksBridge while the abort is thread-hopping
+ in the other direction. Again, this leads to an abort call to the
+ backend with no write in progress, and an assert. We're now robust to
+ completions coming back when we're expecting an abort, and
+ https://chromiumcodereview.appspot.com/9764018/ will make the backend
+ robust to extra abort calls.
+
+2012-03-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Deleting a paragraph of text should not add elements for typing style
+ https://bugs.webkit.org/show_bug.cgi?id=82401
+
+ Reviewed by Enrica Casucci.
+
+ This behavior was explicitly supported by DeleteSelectionCommand but it doesn't match TextEdit or Firefox.
+ We're changing our behavior to match TextEdit and Firefox in this patch.
+
+ The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style.html in this patch.
+
+ Test: editing/execCommand/deleting-text-rests-typing-style.html
+
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
+
+2012-03-28 Michal Mocny <mmocny@google.com>
+
+ [chromium] Add tracing events around CCLayerTreeHostImpl visibility.
+ https://bugs.webkit.org/show_bug.cgi?id=82501
+
+ Reviewed by James Robinson.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
+ (WebCore::CCLayerTreeHostImpl::setVisible):
+
+2012-03-28 Florin Malita <fmalita@google.com>
+
+ Incorrect foreignObject hit test results when overlapping other SVG elements
+ https://bugs.webkit.org/show_bug.cgi?id=82059
+
+ Reviewed by Nikolas Zimmermann.
+
+ Test: svg/hittest/foreign-object-background.svg
+
+ Foreign content needs to be hit-tested atomically due to the (pseudo)
+ stacking context established by FOs.
+
+ * rendering/svg/RenderSVGForeignObject.cpp:
+ (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
+ Hit test all phases on FO HitTestForeground.
+
+2012-03-26 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] layer->clipRect() is not initialized for layers that create a renderSurface.
+ https://bugs.webkit.org/show_bug.cgi?id=74147
+
+ Reviewed by Adrienne Walker.
+
+ Added 3 additional unit tests; Modified existing unit tests and layout tests.
+
+ The layer's clipRect and usesLayerClipping information was not
+ being initialized for layers that created a renderSurface. (It
+ was, however, being initialized for the renderSurface itself.)
+ This patch adds a unit test that reproduces that this is an error,
+ other unit tests to tightly test the value of clipRect being
+ initialized, and adds the logic to properly initialize the
+ clipRect.
+
+ Before this patch, this bug was causing flashing on tab-switch on
+ the apple iphone page. Even worse, with partial swap enabled, the
+ layers would simply disappear, because the first frame the
+ clipRect is uninitialized and the layer is not drawn, and the
+ second frame onwards, the damage tracker correctly things nothing
+ is damaged, so it doesn't draw that layer again until other damage
+ causes it to be redrawn.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ (WebCore::calculateDrawTransformsAndVisibilityInternal):
+
+2012-03-28 Anders Carlsson <andersca@apple.com>
+
+ "Sticky" or slow scrolling on some sites
+ https://bugs.webkit.org/show_bug.cgi?id=82512
+ <rdar://problem/11000372>
+
+ Reviewed by Andreas Kling.
+
+ When we're in the slow mode and have to update the scroll layer position on the main thread,
+ get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy.
+
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
+ * page/scrolling/ScrollingCoordinator.h:
+ (ScrollingCoordinator):
+ * page/scrolling/ScrollingTree.cpp:
+ (WebCore::ScrollingTree::mainFrameScrollPosition):
+ (WebCore):
+ (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
+ * page/scrolling/ScrollingTree.h:
+
+2012-03-28 Adrienne Walker <enne@google.com>
+
+ [chromium] Fix tiled layer assert for huge layers
+ https://bugs.webkit.org/show_bug.cgi?id=82486
+
+ Reviewed by James Robinson.
+
+ Test: TiledLayerChromiumTest.hugeLayerUpdateCrash
+
+ TilingData::numTiles() is calculated as the product of two ints and so
+ can potentially overflow, causing numTiles() to be incorrect. To avoid
+ calling code accidentally falling into this trap, remove this function
+ and all code that uses tile index from TilingData. This requires
+ fixing up a bunch of callers of TilingData and CCLayerTilingData.
+
+ Additionally, TilingData::numTiles() has long been a confusing
+ function name in some contexts, so rename to bool hasEmptyBounds().
+
+ Also, remove TilingData::intersectDrawQuad because there are no
+ clients of that function.
+
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::drawsContent):
+ (WebCore::TiledLayerChromium::reserveTextures):
+ (WebCore::TiledLayerChromium::prepareToUpdate):
+ (WebCore::TiledLayerChromium::prepareToUpdateIdle):
+ (WebCore::TiledLayerChromium::needsIdlePaint):
+ (WebCore::TiledLayerChromium::idlePaintRect):
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ (WebCore::CCLayerTilingData::tileRect):
+ * platform/graphics/chromium/cc/CCLayerTilingData.h:
+ (WebCore::CCLayerTilingData::hasEmptyBounds):
+ (WebCore::CCLayerTilingData::tileBounds):
+ (WebCore::CCLayerTilingData::isEmpty):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ (WebCore::CCTiledLayerImpl::bindContentsTexture):
+ (WebCore::CCTiledLayerImpl::appendQuads):
+ * platform/graphics/gpu/Texture.cpp:
+ (WebCore::Texture::create):
+ (WebCore::Texture::updateSubRect):
+ * platform/graphics/gpu/TilingData.cpp:
+ (WebCore::TilingData::tileBounds):
+ (WebCore::TilingData::tileBoundsWithBorder):
+ (WebCore::TilingData::tileBoundsNormalized):
+ * platform/graphics/gpu/TilingData.h:
+ (WebCore::TilingData::hasEmptyBounds):
+ (TilingData):
+ (WebCore::TilingData::assertTile):
+
+2012-03-28 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains to typed API
+ https://bugs.webkit.org/show_bug.cgi?id=81558
+
+ Reviewed by Pavel Feldman.
+
+ Client code is switched to typed API (all InspectorObject and InspectorArray types are
+ replaced with generated types from TypeBuilder according to Inspector.json).
+
+ Missing array of int specialization is added. Code generator now has a check against
+ misspelled (non-existing) domain names.
+
+ * inspector/CodeGeneratorInspector.py:
+ (Generator.go): check against misspelled domain names added.
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::evaluate):
+ (WebCore::InjectedScript::callFunctionOn):
+ (WebCore::InjectedScript::evaluateOnCallFrame):
+ (WebCore::InjectedScript::getProperties):
+ (WebCore::InjectedScript::wrapObject):
+ (WebCore::InjectedScript::wrapNode):
+ (WebCore::InjectedScript::wrapSerializedObject):
+ (WebCore::InjectedScript::makeEvalCall):
+ * inspector/InjectedScript.h:
+ (InjectedScript):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::getDocument):
+ (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
+ (WebCore::InspectorDOMAgent::querySelectorAll):
+ (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
+ (WebCore::InspectorDOMAgent::getEventListenersForNode):
+ (WebCore::InspectorDOMAgent::getSearchResults):
+ (WebCore::InspectorDOMAgent::resolveNode):
+ (WebCore::InspectorDOMAgent::getAttributes):
+ (WebCore::InspectorDOMAgent::buildObjectForNode):
+ (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
+ (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
+ (WebCore::InspectorDOMAgent::loadEventFired):
+ (WebCore::InspectorDOMAgent::didInsertDOMNode):
+ (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
+ (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
+ * inspector/InspectorDOMAgent.h:
+ (InspectorDOMAgent):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::resourceTypeJson):
+ (WebCore::InspectorPageAgent::cachedResourceTypeJson):
+ (WebCore::InspectorPageAgent::buildObjectForFrameTree):
+ * inspector/InspectorPageAgent.h:
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForResourceRequest):
+ (WebCore::buildObjectForResourceResponse):
+ (WebCore::buildObjectForCachedResource):
+ (WebCore::InspectorResourceAgent::willSendRequest):
+ (WebCore::InspectorResourceAgent::didReceiveResponse):
+ (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
+ (WebCore::InspectorResourceAgent::buildInitiatorObject):
+ (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
+ (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
+ * inspector/InspectorResourceAgent.h:
+ (InspectorResourceAgent):
+ * inspector/InspectorRuntimeAgent.cpp:
+ (WebCore::InspectorRuntimeAgent::evaluate):
+ (WebCore::InspectorRuntimeAgent::callFunctionOn):
+ (WebCore::InspectorRuntimeAgent::getProperties):
+ * inspector/InspectorRuntimeAgent.h:
+ (InspectorRuntimeAgent):
+ * inspector/InspectorValues.h:
+ (InspectorArray):
+ (WebCore::InspectorArray::pushInt):
+ (WebCore):
+ * inspector/ScriptCallFrame.cpp:
+ (WebCore::ScriptCallFrame::buildInspectorObject):
+ * inspector/ScriptCallFrame.h:
+ (ScriptCallFrame):
+ * inspector/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::buildInspectorArray):
+ * inspector/ScriptCallStack.h:
+ (ScriptCallStack):
+
+2012-03-28 Eric Seidel <eric@webkit.org>
+
+ setNeedsLayout(true, false) is super confusing to read and should use an enum instead
+ https://bugs.webkit.org/show_bug.cgi?id=82369
+
+ Reviewed by Julien Chaffraix.
+
+ I replaced all uses of the markParents bool with a MarkingBehavior
+ enum (which has two values: MarkContainingBlockChain and MarkOnlyThis).
+ I'm not sure the naming is perfect (as it's not clear to me if markParents is
+ used to mean the same thing in these 3 functions), but hopefully this code is more
+ clear. I welcome further suggested adjustment from layout experts.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scheduleRelayout):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+ (WebCore::RenderBlock::adjustPositionedBlock):
+ (WebCore::RenderBlock::layoutBlockChildren):
+ (WebCore::RenderBlock::layoutBlockChild):
+ (WebCore::RenderBlock::layoutPositionedObjects):
+ (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
+ (WebCore::RenderBlock::removePositionedObjects):
+ (WebCore::RenderBlock::insertFloatingObject):
+ (WebCore::RenderBlock::positionNewFloats):
+ (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
+ (WebCore::RenderBlock::adjustBlockChildForPagination):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutRunsAndFloats):
+ (WebCore::RenderBlock::layoutInlineChildren):
+ (WebCore::RenderBlock::positionNewFloatOnLine):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::positionLineBox):
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
+ (WebCore::gatherFlexChildrenInfo):
+ (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
+ (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
+ (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::layout):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
+ * rendering/RenderObject.h:
+ (RenderObject):
+ (WebCore::RenderObject::setNeedsLayout):
+ (WebCore::RenderObject::setChildNeedsLayout):
+ * rendering/RenderRubyRun.cpp:
+ (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::layout):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::layout):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::calcRowLogicalHeight):
+ (WebCore::RenderTableSection::layoutRows):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::layoutSpecialExcludedChild):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::layout):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::RenderView):
+ (WebCore::RenderView::layout):
+ * rendering/mathml/RenderMathMLRoot.cpp:
+ (WebCore::RenderMathMLRoot::layout):
+ * rendering/mathml/RenderMathMLRow.cpp:
+ (WebCore::RenderMathMLRow::layout):
+ * rendering/mathml/RenderMathMLSubSup.cpp:
+ (WebCore::RenderMathMLSubSup::layout):
+ * rendering/svg/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderSupport::layoutChildren):
+
+2012-03-28 Joseph Pecoraro <pecoraro@apple.com>
+
+ <http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL
+
+ Instead of manually creating the method in DOM.mm we can specify it in
+ Node.idl and autogenerate part of the interface.
+
+ Reviewed by Timothy Hatcher.
+
+ * bindings/objc/DOM.mm:
+ * bindings/objc/DOMPrivate.h:
+ Move the call to InspectorController::inspect from here ...
+
+ * dom/Node.h:
+ * dom/Node.idl: IDL only in an ObjC block.
+ * dom/Node.cpp:
+ (WebCore::Node::inspect):
+ ... to here.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ Add the new generated file so we can Copy it in the build phase.
+
+2012-03-28 Tommy Widenflycht <tommyw@google.com>
+
+ [chromium] MediaStream API (JSEP): Introducing WebPeerConnection00Handler
+ https://bugs.webkit.org/show_bug.cgi?id=82450
+
+ Reviewed by Adam Barth.
+
+ This change removes the default PeerConnection00Handler.cpp from the Chromium build.
+
+ A major overhaul of the existing layout tests is forthcoming.
+
+ * WebCore.gypi:
+ * platform/mediastream/PeerConnection00Handler.h:
+ (WebCore):
+ (PeerConnection00Handler):
+
+2012-03-28 Robert Hogan <robert@webkit.org>
+
+ [REGRESSION] Web Inspector: column caption delimiters are misaligned in DataGrid
+ https://bugs.webkit.org/show_bug.cgi?id=82193
+
+ Reviewed by Yury Semikhatsky.
+
+ Since r111742 column width in fixed layout tables is set to the width of the cell plus its left padding plus its right padding
+ plus half its left border plus half its right border in the collapsing border model. The layout of the panel
+ headers in the inspector depended on pre-r111742 behaviour, so ended up misaligned with the content below. To cater for the
+ new method of calculating column width enforce a fixed width for the corner column by removing padding and borders (except collapsed
+ borders from adjacent cells) and specify the expected width (15px) minus the expected width of the collapsed borders (1px).
+
+ * inspector/front-end/dataGrid.css:
+ (.data-grid th.corner):
+
+2012-03-28 Alexis Menard <alexis.menard@openbossa.org>
+
+ Increase code sharing between CSSProperty and CSSPropertyLonghand.
+ https://bugs.webkit.org/show_bug.cgi?id=82479
+
+ Reviewed by Antti Koivisto.
+
+ Use longhands declarations from CSSPropertyLonghand in CSSProperty to avoid
+ code duplication.
+
+ No new tests : refactoring only, we shouldn't have any behavior difference.
+
+ * css/CSSProperty.cpp:
+ (WebCore::resolveToPhysicalProperty):
+ (WebCore::borderDirections):
+ (WebCore):
+ (WebCore::CSSProperty::resolveDirectionAwareProperty):
+
+2012-03-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Implement snippets renaming in scripts navigator.
+ https://bugs.webkit.org/show_bug.cgi?id=82477
+
+ Reviewed by Pavel Feldman.
+
+ Snippets renaming is implemented as editing of snippet name in scripts navigator.
+
+ * inspector/front-end/ScriptsNavigator.js:
+ (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
+ (WebInspector.ScriptsNavigator.prototype._fileRenamed):
+ (WebInspector.ScriptsNavigator.prototype.rename.commitHandler):
+ (WebInspector.ScriptsNavigator.prototype.rename.cancelHandler):
+ (WebInspector.ScriptsNavigator.prototype.rename.afterEditing):
+ (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
+ * inspector/front-end/scriptsPanel.css:
+ (#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing):
+
+2012-03-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Add context menu for snippets control.
+ https://bugs.webkit.org/show_bug.cgi?id=82475
+
+ Reviewed by Pavel Feldman.
+
+ This is a preliminary implementation of snippets control using context menu.
+ We might want to add a more discoverable one before taking snippets out of experiments.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ScriptsNavigator.js:
+ (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
+ (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
+ (WebInspector.ScriptsNavigator.prototype._handleSnippetContextMenuEvent):
+ (WebInspector.ScriptsNavigator.prototype._showSnippetContextMenu):
+ (WebInspector.ScriptsNavigator.prototype._handleEvaluateSnippet):
+ (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
+ (WebInspector.ScriptsNavigator.prototype._handleRemoveSnippet):
+ (WebInspector.ScriptsNavigator.prototype._handleCreateSnippet):
+ (WebInspector.NavigatorScriptTreeElement.prototype.get navigator):
+ (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
+ (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
+ (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):
+
+2012-03-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: ScriptsNavigator should save scroll position when switching tabs.
+ https://bugs.webkit.org/show_bug.cgi?id=82472
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector.View provides save/restore scroll position capabilities.
+ This patch makes them used in ScriptsNavigator.
+
+ * inspector/front-end/ScriptsNavigator.js:
+ (WebInspector.ScriptsNavigator):
+ (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
+ * inspector/front-end/scriptsPanel.css:
+ (#scripts-navigator-tabbed-pane .tabbed-pane-content):
+ (#scripts-navigator-tabbed-pane .navigator-container):
+
+2012-03-28 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: only update Timeline overview when really needed
+ https://bugs.webkit.org/show_bug.cgi?id=81909
+
+ Reviewed by Pavel Feldman.
+
+ Switch timeline overview to using raw records, thus removing dependency on instance members of
+ TimelinePresentationModel. This requires moving record styles/categories to static getters.
+
+ * inspector/front-end/TimelineModel.js:
+ (WebInspector.TimelineModel):
+ (WebInspector.TimelineModel.startTime):
+ (WebInspector.TimelineModel.endTime):
+ (WebInspector.TimelineModel.duration):
+ (WebInspector.TimelineModel.prototype._addRecord):
+ (WebInspector.TimelineModel.prototype.reset):
+ (WebInspector.TimelineModel.prototype.minimumRecordTime):
+ (WebInspector.TimelineModel.prototype.maximumRecordTime):
+ (WebInspector.TimelineModel.prototype._updateBoundaries):
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.TimelineOverviewPane.prototype._showTimelines):
+ (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
+ (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
+ (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
+ (WebInspector.TimelineOverviewPane.prototype._update):
+ (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips.markPercentagesForRecord):
+ (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
+ (WebInspector.TimelineOverviewPane.prototype.windowStartTime):
+ (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
+ (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
+ (WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
+ (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh):
+ (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
+ (WebInspector.TimelineOverviewCalculator.prototype.setWindow):
+ (WebInspector.TimelineOverviewCalculator.prototype.reset):
+ (WebInspector.HeapGraph):
+ (WebInspector.HeapGraph.prototype.update):
+ (WebInspector.TimelineVerticalOverview):
+ (WebInspector.TimelineVerticalOverview.prototype.reset):
+ (WebInspector.TimelineVerticalOverview.prototype.update):
+ (WebInspector.TimelineVerticalOverview.prototype.wasShown):
+ (WebInspector.TimelineVerticalOverview.prototype.willHide):
+ (WebInspector.TimelineVerticalOverview.prototype._aggregateFrameStatistics):
+ (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
+ (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
+ (WebInspector.TimelineVerticalOverview.prototype._onRecordAdded):
+ (WebInspector.TimelineAggregatedRecord):
+ (WebInspector.TimelineAggregatedRecord.prototype._aggregateStatistics):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
+ (WebInspector.TimelinePanel.prototype._resetPanel):
+ (WebInspector.TimelinePanel.prototype._refresh):
+ (WebInspector.TimelineCalculator):
+ (WebInspector.TimelineCalculator.prototype.formatTime):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel):
+ (WebInspector.TimelinePresentationModel.categories):
+ (WebInspector.TimelinePresentationModel.recordStyle):
+ (WebInspector.TimelinePresentationModel.categoryForRecord):
+ (WebInspector.TimelinePresentationModel.prototype.reset):
+ (WebInspector.TimelinePresentationModel.prototype.addRecord):
+ (WebInspector.TimelinePresentationModel.Record):
+ (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
+
+2012-03-28 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Plumb through GraphicsLayer::contentsOpaque() to LayerTiler
+ https://bugs.webkit.org/show_bug.cgi?id=82457
+
+ Reviewed by Rob Buis.
+
+ The LayerTiler already knows not to turn on GL_BLEND for opaque layers.
+ However, it only ever sets the opaque flag for image layers and color
+ layers, never for content layers.
+
+ This was no big deal, because contentsOpaque() is currently false for
+ all layers except the root layer, which we always drew using the
+ BlackBerry::WebKit::BackingStore anyway.
+
+ When we start using RenderLayerBacking::m_usingTiledCacheLayer=true on
+ the root layer in situations where the BackingStore is unavailable, we
+ can speed up rendering of the root layer by honouring the opaque flag.
+
+ Fixed by plumbing through the GraphicsLayer::contentsOpaque() flag all
+ the way to LayerTiler and on to Texture.
+
+ * platform/graphics/blackberry/LayerData.h:
+ (WebCore::LayerData::LayerData):
+ (WebCore::LayerData::isOpaque):
+ (LayerData):
+ * platform/graphics/blackberry/LayerTile.cpp:
+ (WebCore::LayerTile::updateContents):
+ * platform/graphics/blackberry/LayerTile.h:
+ (LayerTile):
+ * platform/graphics/blackberry/LayerTiler.cpp:
+ (WebCore::LayerTiler::updateTextureContentsIfNeeded):
+ (WebCore::LayerTiler::performTileJob):
+ * platform/graphics/blackberry/LayerTiler.h:
+ (WebCore::LayerTiler::TextureJob::TextureJob):
+ (WebCore::LayerTiler::TextureJob::updateContents):
+ * platform/graphics/blackberry/LayerWebKitThread.h:
+ (WebCore::LayerWebKitThread::setOpaque):
+ * platform/graphics/blackberry/Texture.h:
+ (Texture):
+ * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
+ (WebCore::TextureCacheCompositingThread::updateContents):
+ * platform/graphics/blackberry/TextureCacheCompositingThread.h:
+ (TextureCacheCompositingThread):
+
+2012-03-28 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: nuke HeapGraph.setSize(), do it automagically on update
+ https://bugs.webkit.org/show_bug.cgi?id=82471
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane.prototype.update):
+ (WebInspector.HeapGraph.prototype.update):
+
+2012-03-28 Pavel Podivilov <podivilov@chromium.org>
+
+ Web Inspector: dispatch console-message-added and console-messages-cleared events on UISourceCode.
+ https://bugs.webkit.org/show_bug.cgi?id=82463
+
+ Reviewed by Vsevolod Vlasov.
+
+ Those events are related to specific UISourceCode. See bug 82224 for more details.
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel):
+ (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
+ (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
+ (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
+ (WebInspector.UISourceCodeImpl):
+ (WebInspector.UISourceCodeImpl.prototype.consoleMessages):
+ (WebInspector.UISourceCodeImpl.prototype.consoleMessageAdded):
+ (WebInspector.UISourceCodeImpl.prototype.consoleMessagesCleared):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame):
+ (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
+ (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
+ (WebInspector.JavaScriptSourceFrame.prototype._consoleMessagesCleared):
+ (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode.prototype.breakpoints):
+ (WebInspector.UISourceCode.prototype.consoleMessages):
+
+2012-03-28 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [GTK] Implement PlatformStrategies
+ https://bugs.webkit.org/show_bug.cgi?id=82454
+
+ Reviewed by Xan Lopez.
+
+ * GNUmakefile.list.am: Remove PluginDataGtk.cpp. The same
+ functionality is now implemented using platform strategies.
+ * plugins/gtk/PluginDataGtk.cpp: Removed.
+
+2012-03-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: [Regression] TabIndex is not correctly restored after editing.
+ https://bugs.webkit.org/show_bug.cgi?id=82464
+
+ Reviewed by Pavel Feldman.
+
+ This fixes incorrect usage of isNaN that returns false for null value.
+ Drive-by javascript compilation fix.
+
+ * inspector/front-end/CompilerScriptMapping.js:
+ (WebInspector.CompilerScriptMapping.prototype.addScript): compilation fix.
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged): compilation fix.
+ * inspector/front-end/SnippetsModel.js:
+ (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript): compilation fix.
+ * inspector/front-end/UIUtils.js:
+ (WebInspector.startEditing.cleanUpAfterEditing): incorrect usage of isNaN fix.
+
+2012-03-28 Yi Shen <yi.4.shen@nokia.com>
+
+ An extra line break is inserted when pasting into a font element.
+ https://bugs.webkit.org/show_bug.cgi?id=71207
+
+ Reviewed by Ryosuke Niwa.
+
+ Fix an editing bug where inserting text into a font element would
+ create an extra div element in the dom tree. The
+ WebCore::positionAvoidingPrecedingNodes() tries to set the correct
+ destination position by checking the next visible position, however,
+ it causes the position moves into the child element in somecase.
+ Instead, we should only check the position in parent after node.
+
+ Test: editing/inserting/insert-text-into-font.html
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::positionAvoidingPrecedingNodes):
+
+2012-03-28 Sergio Villar Senin <svillar@igalia.com>
+
+ [Soup] DNS prefetching spams resolver, shoots self in the foot
+ https://bugs.webkit.org/show_bug.cgi?id=41630
+
+ Reviewed by Martin Robinson.
+
+ Added generic DNSResolveQueue class to throttle DNS
+ prefetches. It's an abstract refactoring of CFNET's
+ DNSResolveQueue. Platform specific methods implemented for soup
+ and CFNET backends.
+
+ No new tests required as we're just refactoring existing code to
+ be used by two different ports.
+
+ * CMakeLists.txt: added new file.
+ * GNUmakefile.list.am: ditto.
+ * WebCore.vcproj/WebCore.vcproj: ditto.
+ * WebCore.xcodeproj/project.pbxproj: ditto.
+ * platform/network/DNSResolveQueue.cpp: Added.
+ (WebCore):
+ (WebCore::DNSResolveQueue::add): adds a new host to be prefetched.
+ (WebCore::DNSResolveQueue::fired): by using a delay we coalesce
+ several prefetch requests and try to resolve them all here.
+ * platform/network/DNSResolveQueue.h: Added.
+ (WebCore):
+ (DNSResolveQueue): class that implements DNS prefetch
+ throttling using a template pattern.
+ (WebCore::DNSResolveQueue::shared):
+ (WebCore::DNSResolveQueue::decrementRequestCount):
+ * platform/network/cf/DNSCFNet.cpp:
+ (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
+ (WebCore::DNSResolveQueue::platformResolve):
+ * platform/network/soup/DNSSoup.cpp:
+ (WebCore):
+ (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
+ (WebCore::resolvedCallback):
+ (WebCore::DNSResolveQueue::platformResolve):
+ (WebCore::prefetchDNS):
+
+2012-03-28 Eugene Girard <girard@chromium.org>
+
+ window.scrollBy() scrolls incorrectly when zoomed in/out
+ https://bugs.webkit.org/show_bug.cgi?id=45228
+
+ Reviewed by Simon Fraser.
+
+ scrollBy now uses layout (not CSS) units. (As scrollTo does.)
+
+ Test: fast/dom/zoom-scroll-page-test.html
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::scrollBy):
+
+2012-03-28 Stephen Chenney <schenney@chromium.org>
+
+ Null dereference in SVGTextElement::animatedLocalTransform()
+ https://bugs.webkit.org/show_bug.cgi?id=82375
+
+ Reviewed by Nikolas Zimmermann.
+
+ A poorly structured SVG file with a text element inside an
+ animatedTransform element leaves the text element placed outside of
+ the SVG root and it has no renderer(). Later attempts to use the
+ renderer in animatedLocalTransform fail.
+
+ Test: svg/custom/get-text-element-transform-crash.html
+
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::animatedLocalTransform): Added a check for null renderer, and do not check
+ for style transform if there is no renderer.
+
+2012-03-27 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Enable animVal support for SVGAnimatedPreserveAspectRatio
+ https://bugs.webkit.org/show_bug.cgi?id=82326
+
+ Reviewed by Zoltan Herczeg.
+
+ Enable animVal support for SVGAnimatedPreserveAspectRatio. Very simple now that everything is prepared.
+ All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedPreserveAspectRatioAnimator.
+
+ Modernize SVGPreserveAspectRatio, align parsing this object from String, with the other SVG DOM primitives,
+ who supply a "void parse(const String&)" method, for this task.
+
+ Extended existing tests to cover this.
+
+ * svg/SVGAnimatedPreserveAspectRatio.cpp:
+ (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
+ (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
+ (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
+ (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
+ (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValWillChange):
+ (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValDidChange):
+ * svg/SVGAnimatedPreserveAspectRatio.h:
+ (SVGAnimatedPreserveAspectRatioAnimator):
+ * svg/SVGAnimatedType.cpp:
+ (WebCore::SVGAnimatedType::valueAsString):
+ (WebCore::SVGAnimatedType::setValueAsString):
+ (WebCore::SVGAnimatedType::supportsAnimVal):
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::parseAttribute):
+ * svg/SVGFitToViewBox.cpp:
+ (WebCore::SVGFitToViewBox::parseAttribute):
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::parseAttribute):
+ * svg/SVGPreserveAspectRatio.cpp:
+ (WebCore::SVGPreserveAspectRatio::parse):
+ (WebCore):
+ * svg/SVGPreserveAspectRatio.h:
+ (SVGPreserveAspectRatio):
+ * svg/SVGViewSpec.cpp:
+ (WebCore::SVGViewSpec::setPreserveAspectRatioString):
+ (WebCore::SVGViewSpec::parseViewSpec):
+
+2012-03-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: [v8] inspection of CanvasPixelArray is slow.
+ https://bugs.webkit.org/show_bug.cgi?id=82455
+
+ Reviewed by Vsevolod Vlasov.
+
+ Added CanvasPixelArray to the list of classes that we consider
+ arrays.
+
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::typeCallback):
+
+2012-03-28 Leandro Gracia Gil <leandrogracia@chromium.org>
+
+ Selectively retrieve text content around a given position.
+ https://bugs.webkit.org/show_bug.cgi?id=78361
+
+ Reviewed by Ryosuke Niwa.
+
+ Tests: a new layout test will be introduced once the required WebKit API code is ready.
+
+ Introduce the DOMTextContentWalker class to selectively retrieve content
+ around a given VisiblePosition into a string in such a way that a text
+ Range can be extracted later from a pair of the string's positions.
+
+ A new boolean called m_shouldStop is also introduced in the TextIterator to force
+ it advancing under certain conditions. Although this is usually done by setting
+ m_positionNode to zero, it can't be applied in this case since by doing so the
+ iterator's range is lost.
+
+ * WebCore.gypi:
+ * editing/SurroundingText.cpp: Added.
+ (WebCore):
+ (WebCore::SurroundingText::SurroundingText):
+ (WebCore::SurroundingText::rangeFromContentOffsets):
+ (WebCore::SurroundingText::content):
+ (WebCore::SurroundingText::positionOffsetInContent):
+ * editing/SurroundingText.h: Added.
+ (WebCore):
+ (SurroundingText):
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::TextIterator):
+ (WebCore::TextIterator::advance):
+ (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
+ (WebCore::SimplifiedBackwardsTextIterator::advance):
+ * editing/TextIterator.h:
+ (WebCore::TextIterator::atEnd):
+ (TextIterator):
+ (WebCore::SimplifiedBackwardsTextIterator::atEnd):
+ (SimplifiedBackwardsTextIterator):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::enclosingFormControlElement):
+ (WebCore):
+ * html/HTMLFormControlElement.h:
+ (HTMLFormControlElement):
+
+2012-03-28 Alexis Menard <alexis.menard@openbossa.org>
+
+ Speed up updates of existing CSS properties from JS.
+ https://bugs.webkit.org/show_bug.cgi?id=82235
+
+ Reviewed by Andreas Kling.
+
+ Improve the way we handle updating an existing CSS property by replacing its value
+ by the new one rather than removing the old value and then adding the new one. This
+ speed up by 35% PerformanceTests/CSS/CSSPropertyUpdateValue.html.
+
+ No new tests : Updating existing tests that were relying on the order of the properties
+ after modification. Each updated property is not appended to the list of properties of the
+ style therefore the cssText value is slightly different. It matches Firefox behavior but not
+ Opera.
+
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::addParsedProperty):
+
+2012-03-28 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ [BlackBerry] Remove PlatformMouseEvent::setClickCount for BlackBerry
+ https://bugs.webkit.org/show_bug.cgi?id=82422
+
+ Reviewed by Rob Buis.
+
+ PlatformMouseEvent::setClickCount() is never used by BlackBerry.
+ The declaration was added in PlatformMouseEvent.h internally for
+ BlackBerry porting, but it has not been upstreamed yet.
+
+ * platform/blackberry/PlatformMouseEventBlackBerry.cpp:
+
+2012-03-27 Antti Koivisto <antti@apple.com>
+
+ Separate @import rules from other rules in CSSStyleSheet
+ https://bugs.webkit.org/show_bug.cgi?id=82384
+
+ Reviewed by Andreas Kling.
+
+ Import rules always come before all other rules (except @charset). They currently live
+ in the generic child rule vector. They can be moved to a vector of their own for stronger
+ typing and more focused traversal. This will also make future refactoring easier.
+
+ - @import rules go to m_importRules
+ - the rest go to m_childRules
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::parserAppendRule):
+ (WebCore::CSSStyleSheet::length):
+ (WebCore::CSSStyleSheet::item):
+ (WebCore::CSSStyleSheet::clearRules):
+ (WebCore::CSSStyleSheet::rules):
+ (WebCore::CSSStyleSheet::insertRule):
+ (WebCore::CSSStyleSheet::deleteRule):
+ (WebCore::CSSStyleSheet::isLoading):
+ (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
+ * css/CSSStyleSheet.h:
+ (WebCore):
+ (CSSStyleSheet):
+ (WebCore::CSSStyleSheet::childRules):
+ (WebCore::CSSStyleSheet::importRules):
+
+2012-03-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: REGRESSION: Stack overflow on the page with > 100kloc
+ https://bugs.webkit.org/show_bug.cgi?id=82436
+
+ Reviewed by Yury Semikhatsky.
+
+ This change migrates to manual splice implementation that uses additional
+ information about the range being inserted to make it work faster / allocate
+ less memory.
+
+ * inspector/front-end/TextEditorModel.js:
+ (WebInspector.TextEditorModel.endsWithBracketRegex.):
+
+2012-03-28 Pavel Podivilov <podivilov@chromium.org>
+
+ Web Inspector: breakpoints are not shown in sidebar pane after reload.
+ https://bugs.webkit.org/show_bug.cgi?id=82351
+
+ Reviewed by Pavel Feldman.
+
+ When UISourceCode is added to ScriptsPanel, it could already have breakpoints.
+ We should iterate over existing breakpoints and add them to sidebar pane.
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
+
+2012-03-28 Li Yin <li.yin@intel.com>
+
+ [WebSocket]The Sec-WebSocket-Protocol must not appear more than once in an HTTP response
+ https://bugs.webkit.org/show_bug.cgi?id=82432
+
+ Reviewed by Kent Tamura.
+
+ From RFC6455: http://tools.ietf.org/html/rfc6455#section-11.3.4
+ The |Sec-WebSocket-Protocol| header field must not appear
+ more than once in an HTTP response.
+
+ Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header.html
+
+ * Modules/websockets/WebSocketHandshake.cpp:
+ (WebCore::WebSocketHandshake::readHTTPHeaders):
+
2012-03-27 James Robinson <jamesr@chromium.org>
[chromium] Transfer wheel fling via WebCompositorInputHandlerClient
« no previous file with comments | « no previous file | Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698