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

Unified Diff: Source/WebCore/ChangeLog

Issue 9716016: Merge 110821 - Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query t… (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1025/
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/dom/Document.cpp » ('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 111122)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,4062 @@
+2012-03-14 James Robinson <jamesr@chromium.org>
+
+ Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
+ https://bugs.webkit.org/show_bug.cgi?id=81187
+
+ Reviewed by Simon Fraser.
+
+ * dom/Document.cpp:
+ (WebCore::Document::webkitRequestAnimationFrame):
+
+2012-03-14 Chris Fleizach <cfleizach@apple.com>
+
+ AX: embedded attachments do not report their parents correctly
+ https://bugs.webkit.org/show_bug.cgi?id=80132
+
+ When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
+ It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
+ communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.
+
+ We can fix that by overriding the AXParent in overriden attributes for items that are attachments.
+
+ Reviewed by Beth Dakin.
+
+ Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
+ through the IPC mechanism.
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::detachFromParent):
+ * accessibility/AccessibilityObject.h:
+ (AccessibilityObject):
+ (WebCore::AccessibilityObject::overrideAttachmentParent):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
+ (WebCore::AccessibilityRenderObject::addChildren):
+ * accessibility/AccessibilityRenderObject.h:
+ (AccessibilityRenderObject):
+ * accessibility/mac/AccessibilityObjectMac.mm:
+ (WebCore::AccessibilityObject::overrideAttachmentParent):
+
+2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
+
+ Improve ContainerNode's collectNodes() performance
+ https://bugs.webkit.org/show_bug.cgi?id=80706
+
+ Reviewed by Antti Koivisto.
+
+ Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
+ this would cover 99.5% of all node collection.
+
+ Note: the actual code change was made in r110797 but I somehow mangled my patches.
+
+ * dom/ContainerNode.cpp:
+ (WebCore):
+
+2012-03-14 Seo Sanghyeon <sh4.seo@samsung.com>
+
+ Cleanup semicolons in IDLs
+ https://bugs.webkit.org/show_bug.cgi?id=81129
+
+ Reviewed by Kentaro Hara.
+
+ No tests. No change in behavior.
+
+ * svg/SVGAnimateColorElement.idl:
+ * svg/SVGAnimateElement.idl:
+ * svg/SVGAnimateTransformElement.idl:
+ * svg/SVGAnimatedRect.idl:
+
+2012-03-14 Hayato Ito <hayato@chromium.org>
+
+ Make ShadowRoot.activeElement return null if it does not contain a focused element.
+ https://bugs.webkit.org/show_bug.cgi?id=81097
+
+ Reviewed by Dimitri Glazkov.
+
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::activeElement):
+
+2012-03-14 Matt Falkenhagen <falken@chromium.org>
+
+ Allow per-script font settings to be specified in layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=78184
+
+ Reviewed by Hajime Morita.
+
+ This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
+ the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
+ for Chromium so far.
+
+ Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
+ instead of overridePreference.
+
+ * WebCore.exp.in: Added symbols.
+ * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
+ (WebCore):
+ * platform/text/LocaleToScriptMappingDefault.cpp:
+ (WebCore::scriptNameToCode):
+ (WebCore::localeToScriptCodeForFontSelection):
+ * platform/text/LocaleToScriptMappingICU.cpp:
+ (WebCore::scriptNameToCode):
+ (WebCore):
+ * testing/InternalSettings.cpp: Added per-script font settings.
+ (WebCore):
+ (WebCore::setFontFamily):
+ (WebCore::InternalSettings::setStandardFontFamily):
+ (WebCore::InternalSettings::setSerifFontFamily):
+ (WebCore::InternalSettings::setSansSerifFontFamily):
+ (WebCore::InternalSettings::setFixedFontFamily):
+ (WebCore::InternalSettings::setCursiveFontFamily):
+ (WebCore::InternalSettings::setFantasyFontFamily):
+ (WebCore::InternalSettings::setPictographFontFamily):
+ * testing/InternalSettings.h:
+ (InternalSettings):
+ * testing/InternalSettings.idl:
+
+2012-03-14 Kwonjin Jeong <gram@company100.net>
+
+ Remove obsolete constructors of CSSPrimitiveValue class.
+ https://bugs.webkit.org/show_bug.cgi?id=80971
+
+ Remove constructors of CSSPrimitiveValue that can't be
+ reached.
+
+ Reviewed by Andreas Kling.
+
+ * css/CSSPrimitiveValueMappings.h:
+
+2012-03-14 Igor Oliveira <igor.o@sisa.samsung.com>
+
+ Split the extra logic out of RenderBlock::updateFirstLetter
+ https://bugs.webkit.org/show_bug.cgi?id=80772
+
+ Reviewed by Julien Chaffraix.
+
+ No change in behavior expected.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::updateFirstLetterStyle):
+ (WebCore::RenderBlock::createFirstLetterRenderer):
+ (WebCore::RenderBlock::updateFirstLetter):
+ (WebCore):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+
+2012-03-14 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * html/track/TextTrackList.cpp:
+
+2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
+
+ Build fix.
+
+ * dom/DynamicNodeList.h:
+ (DynamicSubtreeNodeList):
+
+2012-03-14 Ryosuke Niwa <rniwa@webkit.org>
+
+ (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
+ https://bugs.webkit.org/show_bug.cgi?id=80900
+
+ Reviewed by Andreas Kling.
+
+ Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
+ about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
+ are called for all dynamic node lists even though it's only useful for labels and region node lists since
+ it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.
+
+ Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
+ parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
+ able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
+ function in HTMLLabelElement.
+
+ And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
+ functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.
+
+ * dom/DynamicNodeList.cpp:
+ (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
+ useful for labels and region node lists.
+ (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
+ * dom/DynamicNodeList.h:
+ (DynamicSubtreeNodeList):
+ * dom/Node.cpp:
+ (WebCore):
+ (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
+ when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
+ is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
+ to be added to the list, so there's no point in calling InvalidateCaches (no-op).
+ (WebCore::Node::unregisterDynamicSubtreeNodeList):
+ (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
+ Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
+ and never remove entries from NodeListsNodeData in this function.
+ (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
+ is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
+ invalidateCaches via invalidateCachesThatDependOnAttributes.
+ (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
+ done in invalidateCachesThatDependOnAttributes.
+ (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
+ m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
+ (WebCore::NodeListsNodeData::isEmpty):
+ * dom/Node.h:
+ (Node):
+ * dom/NodeRareData.h:
+ (NodeListsNodeData):
+ * html/HTMLLabelElement.cpp:
+ (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
+ invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
+ * html/HTMLLabelElement.h:
+ (HTMLLabelElement):
+ * html/LabelsNodeList.cpp:
+ (WebCore::LabelsNodeList::LabelsNodeList):
+ (WebCore::LabelsNodeList::~LabelsNodeList):
+
+2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110565.
+ http://trac.webkit.org/changeset/110565
+ https://bugs.webkit.org/show_bug.cgi?id=81173
+
+ chromium deps are now far enough along that the original cl
+ should work (Requested by thakis on #webkit).
+
+ * WebCore.gyp/mac/adjust_visibility.sh:
+
+2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110641.
+ http://trac.webkit.org/changeset/110641
+ https://bugs.webkit.org/show_bug.cgi?id=81170
+
+ Causes an ASAN failure (Requested by abarth on #webkit).
+
+ * Target.pri:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHeader):
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (V8Float64Array):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (V8TestActiveDOMObject):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (V8TestCustomNamedGetter):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (V8TestEventConstructor):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (V8TestEventTarget):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (V8TestInterface):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (V8TestMediaQueryListListener):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (V8TestNamedConstructor):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (V8TestSerializedScriptValueInterface):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npObjectTypeInfo):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::GrouperVisitor::visitDOMWrapper):
+ * bindings/v8/WrapperTypeInfo.h:
+ (WebCore):
+ (WrapperTypeInfo):
+ * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
+ (WebCore):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ (WebCore::toV8):
+ (WebCore):
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
+ (WebCore):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::toV8):
+ (WebCore):
+ * bindings/v8/custom/V8StyleSheetCustom.cpp:
+ (WebCore::toV8):
+ * css/CSSStyleSheet.idl:
+ * css/StyleSheet.idl:
+ * dom/DOMStringMap.idl:
+ * dom/NamedNodeMap.idl:
+ * html/DOMTokenList.idl:
+ * html/track/TextTrackList.cpp:
+ * html/track/TextTrackList.idl:
+
+2012-03-13 Jon Lee <jonlee@apple.com>
+
+ Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
+ https://bugs.webkit.org/show_bug.cgi?id=80922
+ <rdar://problem/11035082>
+
+ Reviewed by Jian Li.
+
+ You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
+ LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
+ new API. Therefore, APIs that are common between the two will have:
+ #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+
+ This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
+ the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
+
+ * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
+ (preferredConditional):
+ (conditionalStringFromAttributeValue):
+ (generateInterfacesHeader):
+ (generateHeadersHeader):
+
+ Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ * WebCore.exp.in:
+ * bindings/cpp/WebDOMEventTarget.cpp:
+ (toWebKit):
+ * bindings/js/JSDesktopNotificationsCustom.cpp:
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ * dom/EventTargetFactory.in:
+ * notifications/Notification.cpp:
+ * notifications/Notification.h:
+ * notifications/Notification.idl:
+ * notifications/NotificationCenter.cpp:
+ * notifications/NotificationCenter.h:
+ * notifications/NotificationCenter.idl:
+ * notifications/NotificationContents.h:
+ * notifications/NotificationController.cpp:
+ * notifications/NotificationController.h:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::~DOMWindow):
+ (WebCore::DOMWindow::willDetachPage):
+ (WebCore::DOMWindow::disconnectDOMWindowProperties):
+ (WebCore::DOMWindow::clearDOMWindowProperties):
+ (WebCore):
+ * page/DOMWindow.h:
+ (DOMWindow):
+ * page/DOMWindow.idl:
+ * page/Frame.cpp:
+ (WebCore::Frame::willDetachPage):
+ (WebCore::Frame::transferChildFrameToNewDocument):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::~WorkerContext):
+ (WebCore):
+ * workers/WorkerContext.h:
+ (WorkerContext):
+ * workers/WorkerContext.idl:
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::WorkerThread):
+ * workers/WorkerThread.h:
+ (WorkerThread):
+
+2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110744.
+ http://trac.webkit.org/changeset/110744
+ https://bugs.webkit.org/show_bug.cgi?id=81168
+
+ Causes many WebAudio tests to crash in debug (Requested by
+ abarth on #webkit).
+
+ * platform/audio/Biquad.cpp:
+ (WebCore::Biquad::process):
+
+2012-03-14 Brady Eidson <beidson@apple.com>
+
+ <rdar://problem/11045584> and https://bugs.webkit.org/show_bug.cgi?id=81166
+ Repro crash in compositing/iframes/page-cache-layer-tree.html
+
+ Reviewed by Sam Weinig.
+
+ No new tests. (Discovered from and covered by existing test)
+
+ ScriptCachedFrameData doesn't need to keep a DOMWindow:
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ * bindings/js/ScriptCachedFrameData.h:
+ (ScriptCachedFrameData):
+
+ CachedFrame should grab it off the Frame directly and store it locally:
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrame::CachedFrame):
+ * history/CachedFrame.h:
+ (WebCore::CachedFrameBase::domWindow):
+ (CachedFrameBase):
+
+2012-03-14 Tony Chang <tony@chromium.org>
+
+ fix negative flexing in auto sized columns
+ https://bugs.webkit.org/show_bug.cgi?id=80069
+
+ Reviewed by Ojan Vafai.
+
+ New test cases in css3/flexbox/columns-auto-size.html.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore):
+ (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Properly compute this for auto sizing columns. Previously, we would always return 0.
+ (WebCore::RenderFlexibleBox::layoutFlexItems):
+ (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Drop an unnecessary check against undefined. isSpecified covers this for us.
+ * rendering/RenderFlexibleBox.h:
+ (RenderFlexibleBox):
+
+2012-03-14 Grace Ku <gracek@codeaurora.org>
+
+ Incorrect handling of sizes in "em" when first-line changes font size
+ https://bugs.webkit.org/show_bug.cgi?id=79526
+
+ Reviewed by Eric Seidel.
+
+ When a first-line pseudo class changes the font size, the "em" unit is handled incorrectly.
+ It uses the paragraph's original font size (the size of the rest of the paragraph) rather than
+ the font-size of the first-line of the paragraph.
+
+ This was corrected by checking if the InlineFlowBox was the first line using the existing
+ InlineFlowBox::isFirstLineStyle() function. The corrected behaviour matches Gecko and Presto.
+ Trident seems to get it half-wrong in the use case we are testing, painting the correct width for
+ the border but leaving the wrong amount of space.
+
+ The CSS specification doc at the time of this patch specifies that ':first-line' should only support
+ certain properties, though UAs may choose to apply more properties. Furthermore, the spec does not
+ define the exact rendering of all cases of ':first-line'. It notes that a more precise definition
+ may appear in future revisions.
+
+ Test: fast/css/pseudo-first-line-border-width.html
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ * rendering/InlineFlowBox.h:
+ (WebCore::InlineFlowBox::borderLogicalLeft):
+ (WebCore::InlineFlowBox::borderLogicalRight):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBorder):
+ (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
+ (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
+ (WebCore::RenderBoxModelObject::borderObscuresBackground):
+ * rendering/RenderBoxModelObject.h:
+ (RenderBoxModelObject):
+
+2012-03-14 Martin Robinson <mrobinson@igalia.com>
+
+ Fix the TextureMapper build for GTK+.
+
+ No new tests. This is just a build fix.
+
+ * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
+ * platform/graphics/texmap/TextureMapper.h:
+
+2012-03-12 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Menulist buttons have separators even when the theme turns them off
+ https://bugs.webkit.org/show_bug.cgi?id=80668
+
+ Reviewed by Daniel Bates.
+
+ No new tests. GTK+ theme differences are notoriously difficult
+ to test, because consistent results depend on having certain themes
+ and certain versions of themes installed.
+
+ Instead of using the GTK_TYPE_BUTTON and GTK_TYPE_SEPARATOR tags to get the
+ style context, use GTK_TYPE_COMBO_BOX which should provide more accurate theme settings.
+
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::getComboBoxMetrics): Get metrics from a GTK_TYPE_COMBO_BOX style context.
+ (WebCore::RenderThemeGtk::paintMenuList): Get separator settings from the GTK_TYPE_COMBO_BOX style context.
+
+2012-03-14 Levi Weintraub <leviw@chromium.org>
+
+ Implement proper sub-pixel support in RenderFileUploadControl
+ https://bugs.webkit.org/show_bug.cgi?id=80881
+
+ Reviewed by Dimitri Glazkov.
+
+ Correcting improper usage of LayoutUnits when interacting with the graphics context
+ and platform code. Specifically:
+ - pixel snapping the clip rect and paint offsets before sending values to the
+ graphics context in paintObject.
+ - using on-screen (pixel snapped) values to pass off to platform code to determine
+ the max length of the filename to be drawn.
+
+ No new tests. No change in behavior.
+
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::nodeWidth):
+ (WebCore::RenderFileUploadControl::maxFilenameWidth):
+ (WebCore::RenderFileUploadControl::paintObject):
+
+2012-03-14 Joseph Pecoraro <pecoraro@apple.com>
+
+ [JSC] Web Inspector: CRASH running $0, $1, etc before they are set
+ https://bugs.webkit.org/show_bug.cgi?id=81082
+
+ Don't return an invalid JSValue. Check if the ScriptValue
+ has no value and return undefined in that case.
+
+ Reviewed by Pavel Feldman.
+
+ Updated test: inspector/console/command-line-api.html
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::JSInjectedScriptHost::inspectedObject):
+
+2012-03-14 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove canRecoverFromContextLoss attribute, it's unused
+ https://bugs.webkit.org/show_bug.cgi?id=81158
+
+ Reviewed by Stephen White.
+
+ Canvas accelerated no longer depends on the canRecoverFromContextLoss attribute after r110716.
+
+ * platform/graphics/GraphicsContext3D.h:
+ (WebCore::GraphicsContext3D::Attributes::Attributes):
+ (Attributes):
+ * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
+ (WebCore::SharedGraphicsContext3DImpl::get):
+
+2012-03-14 Jer Noble <jer.noble@apple.com>
+
+ Opening a URL in a MediaDocument does not propagate MIME type info to media element
+ https://bugs.webkit.org/show_bug.cgi?id=81148
+
+ Reviewed by Eric Carlson.
+
+ Test: http/tests/media/media-document.html
+
+ Pass through the mime type from the DocumentLoader into the <source type=""> attribute of the
+ generated video element.
+
+ * html/MediaDocument.cpp:
+ (WebCore::MediaDocumentParser::createDocumentStructure):
+
+2012-03-14 Stephen White <senorblanco@chromium.org>
+
+ [chromium] Fix accelerated Canvas2D with threaded compositing.
+ https://bugs.webkit.org/show_bug.cgi?id=80998
+
+ Reviewed by James Robinson.
+
+ Covered by unit tests Canvas2DLayerChromiumTest and
+ TreeSynchronizerTest.
+
+ * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
+ (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
+ (WebCore):
+ Delay creation of the front texture for double-buffering until the
+ first call to paintContentsIfDirty().
+ * platform/graphics/chromium/Canvas2DLayerChromium.h:
+ (Canvas2DLayerChromium):
+ Remove setTextureManager() and setLayerTreeHost(), since their job
+ has been subsumed by paintContentsIfDirty().
+ * platform/graphics/chromium/TreeSynchronizer.cpp:
+ (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
+ Perform an early-out if the passed-in layer is NULL.
+
+2012-03-14 Mark Pilgrim <pilgrim@chromium.org>
+
+ Move EntriesCallback to Modules/filesystem/
+ https://bugs.webkit.org/show_bug.cgi?id=81032
+
+ Reviewed by Adam Barth.
+
+ No new tests, all existing tests pass.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Modules/filesystem/EntriesCallback.h: Copied from Source/WebCore/fileapi/EntriesCallback.h.
+ * Modules/filesystem/EntriesCallback.idl: Copied from Source/WebCore/fileapi/EntriesCallback.idl.
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * fileapi/EntriesCallback.h: Removed.
+ * fileapi/EntriesCallback.idl: Removed.
+
+2012-03-14 Tony Chang <tony@chromium.org>
+
+ multiline column flexbox with auto height wrap too much
+ https://bugs.webkit.org/show_bug.cgi?id=80929
+
+ Reviewed by David Hyatt.
+
+ Test: css3/flexbox/multiline-column-auto.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeLogicalHeightUsing):
+ (WebCore):
+ (WebCore::RenderBox::computeContentLogicalHeightUsing): Pull out into a separate method.
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::lineBreakLength): Compute the value based on height & max-height for column layout.
+ (WebCore):
+ (WebCore::RenderFlexibleBox::computeNextFlexLine):
+ * rendering/RenderFlexibleBox.h:
+ (RenderFlexibleBox):
+
+2012-03-14 Xingnan Wang <xingnan.wang@intel.com>
+
+ Optimize the multiply-add in Biquad.cpp::process
+ https://bugs.webkit.org/show_bug.cgi?id=75528
+
+ Reviewed by Chris Rogers.
+
+ Pipeline the multiply-add with SSE2 instructions and get about 20% improvement for the function.
+
+ * platform/audio/Biquad.cpp:
+ (WebCore::Biquad::process):
+
+2012-03-14 James Robinson <jamesr@chromium.org>
+
+ [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
+ https://bugs.webkit.org/show_bug.cgi?id=79823
+
+ Reviewed by Adrienne Walker.
+
+ LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
+ using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
+ the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
+ caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
+ actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
+ always set the viewport for the default render surface.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::beginDrawingFrame):
+ (WebCore::LayerRendererChromium::useRenderSurface):
+
+2012-03-14 Zalan Bujtas <zbujtas@gmail.com>
+
+ Frame flattening ASSERT(!needsLayout()) in FrameView::paintContents()
+ https://bugs.webkit.org/show_bug.cgi?id=80155
+
+ Reviewed by Antti Koivisto.
+
+ This patch ensures that an iframe only schedules and calls parent's layout,
+ when it is going to be flattened. Non-flattened iframe does not affect
+ parent's layout, so normal layout flow applies. isInSubframeLayoutWithFrameFlattening()
+ function has been added to test whether a particular child frame is changing
+ parent's layout. This function also ensures that scheduleRelayout() and layout()
+ are in sync of checking againts frame flattening.
+
+ Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::avoidScrollbarCreation):
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::scheduleRelayout):
+ (WebCore::FrameView::isInChildFrameWithFrameFlattening):
+ (WebCore):
+ (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
+ * page/FrameView.h:
+ (FrameView):
+ * rendering/RenderIFrame.h:
+ (RenderIFrame):
+ (WebCore::RenderIFrame::renderName):
+
+2012-03-14 Anders Carlsson <andersca@apple.com>
+
+ Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
+ https://bugs.webkit.org/show_bug.cgi?id=81146
+ <rdar://problem/10850075>
+
+ Reviewed by Beth Dakin.
+
+ If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
+ to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
+ can look really bad if layout happens in response to the page being scrolled.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+
+2012-03-14 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API (JSEP): Introducing IceCandidate
+ https://bugs.webkit.org/show_bug.cgi?id=80699
+
+ Reviewed by Adam Barth.
+
+ Patch #2 in a series of patches to change the PeerConnection from ROAP to JSEP,
+ see bug 80589 for more information.
+ Adding the JS object IceCandidate and its WebCore/platform sibling IceCandidateDescriptor.
+ This object will be created both from JS and the embedder.
+
+ Not possible to test until the entire JSEP feature is commited.
+
+ * GNUmakefile.list.am:
+ * Modules/mediastream/IceCandidate.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
+ (WebCore):
+ (WebCore::IceCandidate::create):
+ (WebCore::IceCandidate::IceCandidate):
+ (WebCore::IceCandidate::~IceCandidate):
+ (WebCore::IceCandidate::label):
+ (WebCore::IceCandidate::candidateLine):
+ (WebCore::IceCandidate::toSdp):
+ (WebCore::IceCandidate::descriptor):
+ * Modules/mediastream/IceCandidate.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
+ (WebCore):
+ (IceCandidate):
+ * Modules/mediastream/IceCandidate.idl: Added.
+ * WebCore.gypi:
+ * platform/mediastream/IceCandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
+ (WebCore):
+ (WebCore::IceCandidateDescriptor::create):
+ (WebCore::IceCandidateDescriptor::IceCandidateDescriptor):
+ (WebCore::IceCandidateDescriptor::~IceCandidateDescriptor):
+ (WebCore::IceCandidateDescriptor::toSdp):
+ * platform/mediastream/IceCandidateDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
+ (WebCore):
+ (IceCandidateDescriptor):
+ (WebCore::IceCandidateDescriptor::label):
+ (WebCore::IceCandidateDescriptor::candidateLine):
+ * platform/mediastream/MediaStreamCenter.cpp:
+ (WebCore::MediaStreamCenter::constructSdp):
+ (WebCore):
+ * platform/mediastream/MediaStreamCenter.h:
+ (WebCore):
+ (MediaStreamCenter):
+
+2012-03-14 Simon Fraser <simon.fraser@apple.com>
+
+ background-visibility:hidden should create a RenderLayer
+ https://bugs.webkit.org/show_bug.cgi?id=81134
+
+ Reviewed by Dean Jackson.
+
+ Background-visibility:hidden has to create RenderLayers, because it's implemented
+ via compositing and/or paint short-circuiting in RenderLayer code.
+
+ Test: transforms/3d/general/background-visibility-layers.html
+
+ * rendering/RenderBox.h:
+ * rendering/RenderBoxModelObject.h:
+ (WebCore::RenderBoxModelObject::requiresLayer):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::hasHiddenBackface):
+ * rendering/RenderTableRow.h:
+
+2012-03-14 Raul Hudea <rhudea@adobe.com>
+
+ [CSSRegions][CSSOM] Implement regionLayoutEvent
+ https://bugs.webkit.org/show_bug.cgi?id=78882
+
+ Reviewed by David Hyatt.
+
+ Adding the regionLayoutEvent that is dispatch for all regions after each flow-thread layout.
+
+ Tests: fast/regions/region-event-add-to-flow.html
+ fast/regions/region-event-remove-from-dom.html
+ fast/regions/region-event-remove-from-flow.html
+ fast/regions/region-event.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::addListenerTypeIfNeeded): Added check for regionLayoutUpdate listeners
+ * dom/Document.h:
+ * dom/EventNames.h:
+ (WebCore):
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchRegionLayoutUpdateEvent):
+ (WebCore):
+ * dom/Node.h:
+ (Node):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::RenderFlowThread):
+ (WebCore::RenderFlowThread::layout): Start the event dispatch timer but only if there are regionLayoutUpdate listeners and there is at least one region that had its layout updated.
+ (WebCore::RenderFlowThread::computeOverflowStateForRegions): Mark regions that might had a layout update
+ (WebCore::RenderFlowThread::regionLayoutUpdateEventTimerFired):
+ (WebCore):
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::RenderRegion):
+ * rendering/RenderRegion.h:
+ (WebCore::RenderRegion::setDispatchRegionLayoutUpdateEvent):
+ (WebCore::RenderRegion::shouldDispatchRegionLayoutUpdateEvent):
+ (RenderRegion):
+
+2012-03-14 Pierre Rossi <pierre.rossi@gmail.com>
+
+ [Qt] Add support for vertical sliders in mobile theme
+ https://bugs.webkit.org/show_bug.cgi?id=80179
+
+ This makes sliders using the "slider-vertical" appearance more sensible.
+
+ Reviewed by Simon Hausmann.
+
+ No new tests, since the mobile theme still isn't used in layout tests.
+
+ * platform/qt/RenderThemeQtMobile.cpp:
+ (WebCore):
+ (WebCore::StylePainterMobile::drawProgress):
+ (WebCore::RenderThemeQtMobile::paintSliderTrack):
+ * platform/qt/RenderThemeQtMobile.h:
+ (StylePainterMobile):
+
+2012-03-14 Jer Noble <jer.noble@apple.com>
+
+ WebProcess spins beneath [QTMovie movieFileTypes:]
+ https://bugs.webkit.org/show_bug.cgi?id=81133
+
+ Reviewed by Eric Carlson.
+
+ No new tests; speculative fix for top WebProcess spin.
+
+ When checking to see if a given mime type is supported by QuickTime,
+ immediately exclude all types that do not begin with 'audio/' or 'video/'.
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivateQTKit::supportsType):
+
+2012-03-14 Zalan Bujtas <zbujtas@gmail.com>
+
+ Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.
+ https://bugs.webkit.org/show_bug.cgi?id=80301
+
+ Reviewed by Antti Koivisto.
+
+ Reorganize RenderIFrame flattenFrame() code, so that it returns
+ earlier for the normal use case, when frame flattening is disabled.
+ It also removes leftover null check.
+
+ No new tests, since there's no new functionality.
+
+ * rendering/RenderIFrame.cpp:
+ (WebCore::RenderIFrame::flattenFrame):
+
+2012-03-14 James Robinson <jamesr@chromium.org>
+
+ [chromium] Provide explicit polling API to check if the platform is capable of accelerated 2d canvas
+ https://bugs.webkit.org/show_bug.cgi?id=80667
+
+ Reviewed by Darin Fisher.
+
+ Query the platform to see if we can instantiate a context suitable for accelerating 2d canvas. If we can't, for
+ instance if we're on a system that can't preserve a context when the screensaver comes up, then immediately fall
+ back to software.
+
+ Covered by canvas layout tests in the virtual-gpu mode.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::shouldAccelerate):
+ * platform/chromium/PlatformSupport.h:
+
+2012-03-14 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [GTK] Handle printing errors in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=77197
+
+ Reviewed by Gustavo Noronha Silva.
+
+ * platform/gtk/ErrorsGtk.cpp:
+ (WebCore::printError): Create a generic print error.
+ (WebCore::printerNotFoundError): Create a print error to notify
+ that the selected printer could not be found.
+ (WebCore::invalidPageRangeToPrint): Create a print error when the
+ selected page range is invalid and there are no pages to print.
+ * platform/gtk/ErrorsGtk.h:
+ (WebCore): Add print error doamin.
+
+2012-03-14 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Make SVGUseElement respect & support externalResourcesRequired
+ https://bugs.webkit.org/show_bug.cgi?id=81109
+
+ Reviewed by Rob Buis.
+
+ Generalize the existing externalResourcesRequired support from SVGScriptElement
+ into SVGExternalResourcesRequired, so it can be shared with SVGUseElement, which
+ was lacking proper externalResourcesRequired support.
+
+ <use xlink:href="external.svg" onload="alert('hi')" externalResourcesRequired="true"/>
+ The onload handler now fires _after_ the external resources loaded, making it possible
+ to write reliable tests that switch from internal to external resources or the other
+ way around. Converted the new tests in svg/dynamic-updates/SVGUseElement* to listen
+ to SVGLoad events, to make them reliable.
+
+ We may be able to generalize this to cover SVGImageElement as well (the only other class which
+ is currently supporting externalResourcesRequired - but that's more involved, so I left it TODO).
+
+ Covered by existing tests and the changes to the new SVGUseElement tests.
+
+ * svg/SVGElement.h:
+ (SVGElement): Make haveLoadedRequiredResources() public so SVGExternalResourcesRequired can call it.
+ * svg/SVGExternalResourcesRequired.cpp: Refactored code from SVGScriptElement, 1:1 copies w/o changes.
+ (WebCore::SVGExternalResourcesRequired::handleAttributeChange):
+ (WebCore::SVGExternalResourcesRequired::dispatchLoadEvent):
+ (WebCore::SVGExternalResourcesRequired::insertedIntoDocument):
+ (WebCore::SVGExternalResourcesRequired::finishParsingChildren):
+ (WebCore::SVGExternalResourcesRequired::haveLoadedRequiredResources):
+ * svg/SVGExternalResourcesRequired.h: Add new virtual functions, that must be available in classes that inherit from SVGExternalResourcesRequired.
+ (WebCore::SVGExternalResourcesRequired::setHaveFiredLoadEvent):
+ (WebCore::SVGExternalResourcesRequired::isParserInserted):
+ (WebCore::SVGExternalResourcesRequired::haveFiredLoadEvent):
+ * svg/SVGScriptElement.cpp: Refactored externalResourcesRequired handling into SVGExternalResourcesRequired.
+ (WebCore::SVGScriptElement::svgAttributeChanged):
+ (WebCore::SVGScriptElement::insertedIntoDocument):
+ (WebCore::SVGScriptElement::finishParsingChildren):
+ * svg/SVGScriptElement.h: Ditto.
+ (WebCore::SVGScriptElement::haveLoadedRequiredResources):
+ (WebCore::SVGScriptElement::dispatchLoadEvent):
+ (WebCore::SVGScriptElement::setHaveFiredLoadEvent):
+ (WebCore::SVGScriptElement::isParserInserted):
+ (WebCore::SVGScriptElement::haveFiredLoadEvent):
+ * svg/SVGTests.cpp: Fix obvious typo, that leads to an assertion. Always return true if we know the attributeName.
+ (WebCore::SVGTests::handleAttributeChange):
+ * svg/SVGTests.h:
+ * svg/SVGTextPathElement.cpp:
+ (WebCore::SVGTextPathElement::insertedIntoDocument): Remove ambigous call warning.
+ * svg/SVGUseElement.cpp: Support externalResourcesRequired="true/false" + dynamic changes of it. Covered by existing tests.
+ (WebCore::SVGUseElement::SVGUseElement):
+ (WebCore::SVGUseElement::create):
+ (WebCore::SVGUseElement::insertedIntoDocument):
+ (WebCore::SVGUseElement::svgAttributeChanged):
+ (WebCore::SVGUseElement::notifyFinished):
+ (WebCore::SVGUseElement::finishParsingChildren):
+ (WebCore):
+ * svg/SVGUseElement.h: Ditto.
+ (WebCore::SVGUseElement::haveLoadedRequiredResources):
+ (WebCore::SVGUseElement::setHaveFiredLoadEvent):
+ (WebCore::SVGUseElement::isParserInserted):
+ (WebCore::SVGUseElement::haveFiredLoadEvent):
+ * svg/svgtags.in: Pass "bool wasInsertedByParser" to SVGUseElement constructor.
+
+2012-03-14 Andrew Lo <anlo@rim.com>
+
+ [BlackBerry] Implement REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR using AnimationFrameRateController
+ https://bugs.webkit.org/show_bug.cgi?id=81000
+
+ Add BlackBerry port for DisplayRefreshMonitor using AnimationFrameRateController.
+ Moved refreshDisplayOnMainThread to platform independant part of header.
+
+ Reviewed by Antonio Gomes.
+
+ requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
+
+ * PlatformBlackBerry.cmake:
+ * platform/graphics/DisplayRefreshMonitor.cpp:
+ (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
+ * platform/graphics/DisplayRefreshMonitor.h:
+ (WebCore):
+ (DisplayAnimationClient):
+ (WebCore::DisplayAnimationClient::~DisplayAnimationClient):
+ (DisplayRefreshMonitor):
+ * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Added.
+ (WebCore):
+ (WebCore::DisplayAnimationClient::DisplayAnimationClient):
+ (WebCore::DisplayAnimationClient::animationFrameChanged):
+ (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
+ (WebCore::DisplayRefreshMonitor::startAnimationClient):
+ (WebCore::DisplayRefreshMonitor::stopAnimationClient):
+ (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
+ (WebCore::DisplayRefreshMonitor::displayLinkFired):
+
+2012-03-14 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: use class name indexes instead of class names when evaluating aggregates
+ https://bugs.webkit.org/show_bug.cgi?id=81100
+
+ Class name and type name indexes are now used when calculating class aggregates
+ in heap snapshots instead of string lookup followed by a string comparison.
+
+ Class names like "Window / www.webkit.org" are now left as is in the UI (it used
+ to be trimed to just "Window").
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotNode.prototype.get classNameIndex):
+ (WebInspector.HeapSnapshotNode.prototype.hasType):
+ (WebInspector.HeapSnapshot.prototype._init):
+ (WebInspector.HeapSnapshot.prototype._buildAggregates):
+
+2012-03-14 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: add didCancelFrame timeline event
+ https://bugs.webkit.org/show_bug.cgi?id=80994
+
+ Reviewed by Pavel Feldman.
+
+ - add an ability to cancel certain timeline events, unless they've been followed by other events.
+ - implement didCancelFrame() event, fired when a platform decides not to render frame after didBeginFrame() was called.
+
+ Test: inspector/timeline/timeline-frames.html
+
+ * WebCore.exp.in:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::didCancelFrameImpl):
+ (WebCore):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didCancelFrame):
+ (WebCore):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::didBeginFrame):
+ (WebCore):
+ (WebCore::InspectorTimelineAgent::didCancelFrame):
+ (WebCore::InspectorTimelineAgent::appendRecord):
+ (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+ (WebCore::InspectorTimelineAgent::pushCancelableRecord):
+ (WebCore::InspectorTimelineAgent::commitCancelableRecords):
+ (WebCore::InspectorTimelineAgent::cancelRecord):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
+ (TimelineRecordEntry):
+ * testing/Internals.cpp:
+ (WebCore::Internals::emitInspectorDidBeginFrame):
+ (WebCore):
+ (WebCore::Internals::emitInspectorDidCancelFrame):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-03-14 Dana Jansens <danakj@chromium.org>
+
+ Region can acquire an empty span by subtracting an empty Region
+ https://bugs.webkit.org/show_bug.cgi?id=81074
+
+ Reviewed by Anders Carlsson.
+
+ Subtracting an empty Region B from a Region A can cause A to end
+ up with an empty span. This violates the rule that two Regions
+ that cover the exact same area should have equal spans and segments.
+
+ Unit test: RegionTest.emptySpan
+
+ * platform/graphics/Region.cpp:
+ (WebCore::Region::subtract):
+
+2012-03-14 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Textmap] Disable driver based BGRA swizzling for OpenGL/ES
+
+ Reviewed by Noam Rosenthal.
+
+ The current way of detecting swizzling support (check for GL_EXT_texture_format_BGRA8888)
+ is unfortunately not reliable. We need a better way of detection that (filed bug 81103).
+ In the meantime this patch reverts back to doing the swizzling in the texture mapper to
+ get pixels back onto the screen.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::driverSupportsBGRASwizzling):
+ (WebCore::BitmapTextureGL::updateContents):
+
+2012-03-14 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ [BlackBerry] Upstream the BlackBerry change to platform/Cursor.h
+ https://bugs.webkit.org/show_bug.cgi?id=81086
+
+ Reviewed by Rob Buis.
+
+ * platform/Cursor.h:
+ (WebCore):
+ (WebCore::Cursor::Cursor):
+ Add the BlackBerry specific PlatformCursor.
+ * platform/blackberry/PageClientBlackBerry.h:
+ There was an alias named PlatformCursorHandle for PlatformCursor
+ in the internal version of Cursor.h. But it's not necessary so it's
+ not included in the upstreaming version of Cursor.h. As a result,
+ use PlatformCursor directly in this file.
+ (PageClientBlackBerry):
+
+2012-03-14 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] RunLoopQt is missing reentrancy guards
+ https://bugs.webkit.org/show_bug.cgi?id=80982
+
+ Reviewed by Tor Arne Vestbø.
+
+ Avoid recursive calls to RunLoop::performWork() with a simple
+ counting mechanism, to avoid out-of-order message dispatching.
+
+ * platform/qt/RunLoopQt.cpp:
+ (WebCore::RunLoop::TimerObject::TimerObject):
+ (WebCore::RunLoop::TimerObject::performWork):
+ (RunLoop::TimerObject):
+
+2012-03-14 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: small improvement for HeapSnapshot performance ~12%.
+ https://bugs.webkit.org/show_bug.cgi?id=81033
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot.prototype.get nodeCount):
+ (WebInspector.HeapSnapshot.prototype.get maxNodeId):
+ (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
+ (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
+ (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
+
+2012-03-14 Kentaro Hara <haraken@chromium.org>
+
+ Return null when shouldAllowAccessToNode() fails
+ https://bugs.webkit.org/show_bug.cgi?id=80205
+
+ Reviewed by Adam Barth.
+
+ shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
+ and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
+ requires that they should return null when the security check fails.
+ Thus this patch changes the return value from undefined to null.
+
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument
+
+ Tests: http/tests/security/local-iFrame-from-remote.html
+ http/tests/security/cross-frame-access-frameelement.html
+ http/tests/security/cross-frame-access-put.html
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrGetter):
+ (GenerateFunctionCallback):
+
+ * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
+ (WebCore::jsTestObjContentDocument):
+ (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::contentDocumentAttrGetter):
+ (WebCore::TestObjInternal::getSVGDocumentCallback):
+
+2012-03-14 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
+
+ Build error: DNSSoup.cpp:30: fatal error: CString.h: No such file or
+ directory
+ https://bugs.webkit.org/show_bug.cgi?id=81093
+
+ Reviewed by Philippe Normand.
+
+ Fix build error introduced by r110669.
+
+ * platform/network/soup/DNSSoup.cpp:
+
+2012-03-14 Marja Hölttä <marja@google.com>
+
+ WebHTTPBody: Keep track of whether the data includes passwords.
+ https://bugs.webkit.org/show_bug.cgi?id=81003
+
+ Reviewed by Darin Fisher.
+
+ This change enables Chrome to save HTTP bodies selectively, only
+ if they don't contain passwords.
+
+ * loader/FormSubmission.cpp:
+ (WebCore::FormSubmission::create): Check if the data contains passwords.
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::FormData): Added containsPasswordData, setContainsPasswordData.
+ * platform/network/FormData.h:
+ (WebCore::FormData::containsPasswordData): Added.
+ (WebCore::FormData::setHasPasswordData): Added.
+ (FormData):
+
+2012-03-14 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Add snippets tab to scripts navigator.
+ https://bugs.webkit.org/show_bug.cgi?id=81018
+
+ Reviewed by Pavel Feldman.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ScriptsNavigator.js:
+ (WebInspector.ScriptsNavigator):
+ (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
+ (WebInspector.ScriptsNavigator.prototype.focus):
+ (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
+ (WebInspector.ScriptsNavigator.prototype.reset):
+ (WebInspector.ScriptsNavigator.prototype._getOrCreateFolderTreeElement):
+ (WebInspector.ScriptsNavigator.prototype._createFolderTreeElement):
+ (WebInspector.ScriptsNavigator.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
+ (WebInspector.ScriptsNavigator.prototype._scriptFolderIdentifier):
+ (WebInspector.NavigatorTreeOutline):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
+ (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
+ * inspector/front-end/SnippetsModel.js:
+
+2012-03-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: Copy on the Console gives a mangled result.
+ https://bugs.webkit.org/show_bug.cgi?id=81091
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/ConsoleMessage.js:
+ (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
+ (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
+
+2012-03-14 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ External <use> xlink:href references do not work
+ https://bugs.webkit.org/show_bug.cgi?id=12499
+
+ Reviewed by Zoltan Herczeg.
+
+ Follow-up fix after r110676.
+ Assertions are firing due last minute changes in isExternalURIReference.
+
+ Fix detecting local resources properly, when the given iri contains a /complex/path.
+ Use document->completeURL() instead, and compare with the document->url() to decide
+ if its a local reference or not.
+
+ If an external document load fails with an error (eg. file missing) don't assert
+ in debug builds, instead handle it gracefully.
+
+ I decided to clean the code up as well, to make it more safe & obvious.
+
+ Test: svg/custom/use-external-crash.svg
+
+ * svg/SVGURIReference.cpp:
+ (WebCore::SVGURIReference::targetElementFromIRIString):
+ * svg/SVGURIReference.h:
+ (WebCore::SVGURIReference::isExternalURIReference):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::externalDocument):
+ (WebCore::SVGUseElement::buildPendingResource):
+
+2012-03-14 Lars Knudsen <lars.knudsen@nokia.com>
+
+ 3D transformed surfaces with z>0 gets cropped
+ https://bugs.webkit.org/show_bug.cgi?id=81009
+
+ Reviewed by Noam Rosenthal.
+
+ The scissor clipping in TextureMapperGL didn't take 3D transforms
+ into account when calculating the clipping region.
+ Now, it will bail out early if the transform is not affine.
+
+ No new tests. Tested by current compositing layout tests.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::beginScissorClip):
+
+2012-03-14 Hajime Morrita <morrita@chromium.org>
+
+ Unreviewed build fix.
+
+ * html/track/TextTrackList.cpp:
+ (TextTrackList::append):
+ (TextTrackList::remove):
+ (TextTrackList::owner): Changed return type from HTMLMediaElement* to Node* and uninlined.
+ * html/track/TextTrackList.h:
+ (TextTrackList):
+
+2012-03-13 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: [InspectorIndexedDB] Remote object should be released when data view is removed/updated.
+ https://bugs.webkit.org/show_bug.cgi?id=81022
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/IndexedDBViews.js:
+ (WebInspector.IDBDataView):
+ (WebInspector.IDBDataView.prototype._updateData.callback):
+ (WebInspector.IDBDataView.prototype._updateData):
+ (WebInspector.IDBDataView.prototype.get statusBarItems):
+ (WebInspector.IDBDataView.prototype.clear):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
+ (WebInspector.IDBDatabaseTreeElement.prototype.update):
+ (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
+ (WebInspector.IDBDatabaseTreeElement.prototype._objectStoreRemoved):
+ (WebInspector.IDBDatabaseTreeElement.prototype.clear):
+ (WebInspector.IDBObjectStoreTreeElement.prototype.update):
+ (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
+ (WebInspector.IDBObjectStoreTreeElement.prototype._indexRemoved):
+ (WebInspector.IDBObjectStoreTreeElement.prototype.clear):
+ (WebInspector.IDBIndexTreeElement.prototype.onselect):
+ (WebInspector.IDBIndexTreeElement.prototype.clear):
+
+2012-03-12 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Introduce SnippetsScriptMapping.
+ https://bugs.webkit.org/show_bug.cgi?id=80890
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ScriptMapping.js:
+ (WebInspector.MainScriptMapping):
+ (WebInspector.MainScriptMapping.prototype.addScript):
+ (WebInspector.MainScriptMapping.prototype._mappingForScript):
+ * inspector/front-end/SnippetsModel.js:
+ (WebInspector.SnippetsModel.prototype.snippetForId):
+ (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
+ (WebInspector.SnippetsScriptMapping):
+ (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
+ (WebInspector.SnippetsScriptMapping.prototype.addScript):
+ (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
+ (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript.get if):
+ (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript):
+ (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted.get this):
+ (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted):
+ (WebInspector.SnippetsScriptMapping.prototype.reset):
+ (WebInspector.SnippetContentProvider):
+
+2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110673.
+ http://trac.webkit.org/changeset/110673
+ https://bugs.webkit.org/show_bug.cgi?id=81090
+
+ "Qt minimal build broken" (Requested by yurys on #webkit).
+
+ * inspector/CodeGeneratorInspector.py:
+ (CommandReturnPassModel.ByPointer.get_set_return_condition):
+ (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
+ (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
+ (Generator.process_event):
+ (Generator.process_command):
+ * inspector/ContentSearchUtils.cpp:
+ (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
+ (WebCore::ContentSearchUtils::searchInTextByLines):
+ * inspector/ContentSearchUtils.h:
+ (ContentSearchUtils):
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::evaluate):
+ (WebCore::InjectedScript::callFunctionOn):
+ (WebCore::InjectedScript::evaluateOnCallFrame):
+ (WebCore::InjectedScript::makeEvalCall):
+ * inspector/InjectedScript.h:
+ (InjectedScript):
+ * inspector/InspectorDOMDebuggerAgent.cpp:
+ (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
+ (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
+ (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
+ (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
+ (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
+ (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
+ (WebCore::InspectorDebuggerAgent::setBreakpoint):
+ (WebCore::InspectorDebuggerAgent::searchInContent):
+ (WebCore::InspectorDebuggerAgent::setScriptSource):
+ (WebCore::InspectorDebuggerAgent::getFunctionDetails):
+ (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
+ (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
+ (WebCore::InspectorDebuggerAgent::didPause):
+ (WebCore::InspectorDebuggerAgent::breakProgram):
+ (WebCore::InspectorDebuggerAgent::clearBreakDetails):
+ * inspector/InspectorDebuggerAgent.h:
+ (InspectorDebuggerAgent):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::buildObjectForCookie):
+ (WebCore::buildArrayForCookies):
+ (WebCore::InspectorPageAgent::getCookies):
+ (WebCore::InspectorPageAgent::getResourceTree):
+ (WebCore::InspectorPageAgent::searchInResource):
+ (WebCore::InspectorPageAgent::searchInResources):
+ (WebCore::InspectorPageAgent::buildObjectForFrame):
+ (WebCore::InspectorPageAgent::buildObjectForFrameTree):
+ * inspector/InspectorPageAgent.h:
+ * inspector/InspectorRuntimeAgent.cpp:
+ (WebCore::InspectorRuntimeAgent::evaluate):
+ (WebCore::InspectorRuntimeAgent::callFunctionOn):
+
+2012-03-14 Renata Hodovan <reni@webkit.org>
+
+ External <use> xlink:href references do not work
+ https://bugs.webkit.org/show_bug.cgi?id=12499
+
+ Reviewed by Nikolas Zimmermann.
+
+ This is a follow-up patch after r108785.
+ In this patch we bind the previously introduced CachedSVGDocument class
+ into the caching mechanism of SVGUseElement. The mode how external resources
+ are handled is similar to the processing of internal ones. We build the instance
+ and shadow tree the same way but we have to keep in mind that the requested resources
+ maybe not loaded yet. We can check it with cachedDocumentIsStillLoading() function.
+
+ SVGURIReference::targetElementFromIRIString() also need to be extended. The baseURI
+ computation needs to take the referenced documents URL into account, instead of the current documents.
+
+ The patch affects a lot of tests which have external resources especially in svg/batik. Because
+ of the size of that test refactor they will be commited in a follow-up patch.
+
+ Tests: svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t.svg
+ svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t.svg
+ svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t.svg
+ svg/custom/use-extern-href.svg
+ svg/custom/use-referencing-an-image-expected.svg
+ svg/custom/use-referencing-an-image.svg
+ svg/custom/use-referencing-indirectly-itself-expected.svg
+ svg/custom/use-referencing-indirectly-itself.svg
+ svg/custom/use-referencing-itself-expected.svg
+ svg/custom/use-referencing-itself.svg
+ svg/dynamic-updates/SVGUseElement-dom-href1-attr.html
+ svg/dynamic-updates/SVGUseElement-dom-href2-attr.html
+ svg/dynamic-updates/SVGUseElement-svgdom-href1-prop.html
+ svg/dynamic-updates/SVGUseElement-svgdom-href2-prop.html
+
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore):
+ (WebCore::CachedResourceLoader::requestSVGDocument):
+ * loader/cache/CachedResourceLoader.h:
+ (WebCore):
+ (CachedResourceLoader):
+ * page/ContentSecurityPolicy.h:
+ * platform/KURL.cpp:
+ (WebCore::equalIgnoringFragmentIdentifier):
+ * platform/network/chromium/ResourceRequest.h:
+ * svg/SVGURIReference.cpp:
+ (WebCore::urlFromIRIStringWithFragmentIdentifier):
+ (WebCore):
+ (WebCore::SVGURIReference::targetElementFromIRIString):
+ * svg/SVGURIReference.h:
+ (SVGURIReference):
+ (WebCore::SVGURIReference::isExternalURIReference):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::SVGUseElement):
+ (WebCore::SVGUseElement::~SVGUseElement):
+ (WebCore):
+ (WebCore::SVGUseElement::referencedDocument):
+ (WebCore::SVGUseElement::externalDocument):
+ (WebCore::SVGUseElement::svgAttributeChanged):
+ (WebCore::dumpInstanceTree):
+ (WebCore::SVGUseElement::buildPendingResource):
+ (WebCore::SVGUseElement::buildShadowAndInstanceTree):
+ (WebCore::SVGUseElement::hasCycleUseReferencing):
+ (WebCore::SVGUseElement::expandUseElementsInShadowTree):
+ (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
+ (WebCore::SVGUseElement::notifyFinished):
+ (WebCore::SVGUseElement::cachedDocumentIsStillLoading):
+ (WebCore::SVGUseElement::instanceTreeIsLoading):
+ * svg/SVGUseElement.h:
+ (WebCore):
+ (SVGUseElement):
+
+2012-03-14 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
+ https://bugs.webkit.org/show_bug.cgi?id=80789
+
+ Reviewed by Yury Semikhatsky.
+
+ OptOutput class is added for optional return parameters.
+
+ Strict mode added to Generator that makes all parameter types strict
+ and drop pre-set default values for return parameters.
+
+ Debugger and Page domain is switched to strict mode.
+
+
+ * inspector/CodeGeneratorInspector.py:
+ (CommandReturnPassModel.ByPointer):
+ (CommandReturnPassModel):
+ (CommandReturnPassModel.OptOutput):
+ (CommandReturnPassModel.OptOutput.__init__):
+ (CommandReturnPassModel.OptOutput.get_return_var_type):
+ (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
+ (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
+ (CommandReturnPassModel.OptOutput.get_output_parameter_type):
+ (CommandReturnPassModel.OptOutput.get_set_return_condition):
+ (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
+ (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
+ (OptOutput):
+ (Generator.process_event):
+ (Generator.process_command):
+ * inspector/ContentSearchUtils.cpp:
+ (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
+ (WebCore::ContentSearchUtils::searchInTextByLines):
+ * inspector/ContentSearchUtils.h:
+ (ContentSearchUtils):
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::evaluate):
+ (WebCore::InjectedScript::callFunctionOn):
+ (WebCore::InjectedScript::evaluateOnCallFrame):
+ (WebCore::InjectedScript::makeEvalCall):
+ * inspector/InjectedScript.h:
+ (InjectedScript):
+ * inspector/InspectorDOMDebuggerAgent.cpp:
+ (WebCore):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
+ (WebCore::InspectorDebuggerAgent::setBreakpoint):
+ (WebCore::InspectorDebuggerAgent::searchInContent):
+ (WebCore::InspectorDebuggerAgent::setScriptSource):
+ (WebCore::InspectorDebuggerAgent::getFunctionDetails):
+ (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
+ (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
+ (WebCore::InspectorDebuggerAgent::didPause):
+ (WebCore::InspectorDebuggerAgent::breakProgram):
+ (WebCore::InspectorDebuggerAgent::clearBreakDetails):
+ * inspector/InspectorDebuggerAgent.h:
+ (InspectorDebuggerAgent):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::buildObjectForCookie):
+ (WebCore::buildArrayForCookies):
+ (WebCore::InspectorPageAgent::getCookies):
+ (WebCore::InspectorPageAgent::getResourceTree):
+ (WebCore::InspectorPageAgent::searchInResource):
+ (WebCore::InspectorPageAgent::searchInResources):
+ (WebCore::InspectorPageAgent::buildObjectForFrame):
+ (WebCore::InspectorPageAgent::buildObjectForFrameTree):
+ * inspector/InspectorPageAgent.h:
+ * inspector/InspectorRuntimeAgent.cpp:
+ (WebCore::InspectorRuntimeAgent::evaluate):
+ (WebCore::InspectorRuntimeAgent::callFunctionOn):
+
+2012-03-14 Sergio Villar Senin <svillar@igalia.com>
+
+ Unreviewed. Build fix for EFL after r110669.
+
+ * PlatformEfl.cmake: added DNSSoup.cpp
+
+2012-03-13 Sergio Villar Senin <svillar@igalia.com>
+
+ [GTK] Use the same DNS prefetching path than the other ports.
+ https://bugs.webkit.org/show_bug.cgi?id=80997
+
+ Reviewed by Martin Robinson.
+
+ This patch basically reverts r56128. There is no need to add an
+ special code path for GTK+ DNS pre-fetching because the main
+ reason to do that (some potential changes in libsoup) is not
+ going to happen. It also reduces the amount of DNS queries by
+ adding a NULL hostname check.
+
+ No need for new tests as this just moves code around.
+
+ * GNUmakefile.list.am:
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::parseAttribute):
+ * html/HTMLLinkElement.cpp:
+ * loader/LinkLoader.cpp:
+ (WebCore::LinkLoader::loadLink):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::mouseDidMoveOverElement):
+ * platform/network/DNS.h:
+ (WebCore):
+ * platform/network/ResourceHandle.cpp:
+ * platform/network/ResourceHandle.h:
+ (ResourceHandle):
+ * platform/network/chromium/DNSChromium.cpp:
+ * platform/network/soup/DNSSoup.cpp: restored.
+ (WebCore):
+ (WebCore::prefetchDNS):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+
+2012-03-14 Kentaro Hara <haraken@chromium.org>
+
+ Return null when shouldAllowAccessToNode() fails
+ https://bugs.webkit.org/show_bug.cgi?id=80205
+
+ Reviewed by Adam Barth.
+
+ shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
+ and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
+ requires that they should return null when the security check fails.
+ Thus this patch changes the return value from undefined to null.
+
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument
+
+ Tests: http/tests/security/local-iFrame-from-remote.html
+ http/tests/security/cross-frame-access-frameelement.html
+ http/tests/security/cross-frame-access-put.html
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrGetter):
+ (GenerateFunctionCallback):
+
+ * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
+ (WebCore::jsTestObjContentDocument):
+ (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::contentDocumentAttrGetter):
+ (WebCore::TestObjInternal::getSVGDocumentCallback):
+
+2012-03-13 Yosifumi Inoue <yosin@chromium.org>
+
+ [Forms] Hidden input element should not have labels.
+ https://bugs.webkit.org/show_bug.cgi?id=80403
+
+ Reviewed by Kent Tamura.
+
+ This patch changes "labels" attribute behavior for hidden input type.
+ It returns null instead of NodeList of labels or empty node list.
+
+ Note: The HTML5 specification isn't clear for non-labelable element's "labels"
+ attribute return value. Firefox and Opera return empty node list. IE returns null.
+
+ No new tests. Existing tests are updated.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::isLabelable): Added. Dispatch to InputType.
+ * html/HiddenInputType.h: Added isLabelable returning false.
+ * html/InputType.cpp:
+ (WebCore::InputType::isLabelable): Added. Returning true for all input types except for "hidden" type.
+ (WebCore):
+ * html/InputType.h:
+ (InputType): Added isLabelable declaration.
+
+2012-03-13 Yosifumi Inoue <yosin@chromium.org>
+
+ [Forms] The "output" element should have labels.
+ https://bugs.webkit.org/show_bug.cgi?id=80466
+
+ Reviewed by Kent Tamura.
+
+ This patch enables functionality of "labels" attribute for
+ HTMLOutputElement implemented in LabelableElement which use
+ isLabelable predicate whether an element can have label or not.
+
+ Update existing tests in fast/forms/label/ directory to cover
+ the "output" element with the "labels" attribute.
+
+ * html/HTMLOutputElement.h: Implement virtual method isLabelable.
+
+2012-03-13 Luke Macpherson <macpherson@chromium.org>
+
+ Move opacity clamping into RenderStyle setter.
+ https://bugs.webkit.org/show_bug.cgi?id=76966
+
+ Reviewed by Eric Seidel.
+
+ Covered by existing tests.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyleBitfields::setOpacity):
+
+2012-03-12 Igor Oliveira <igor.o@sisa.samsung.com>
+
+ Split the extra logic out of RenderObjectChildList::updateBeforeAfterContent
+ https://bugs.webkit.org/show_bug.cgi?id=80856
+
+ Extra part of the generated content handling logic out of RenderObjectChildList::updateBeforeAfterContent
+
+ Reviewed by Julien Chaffraix.
+
+ No change in behavior expected.
+
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::updateBeforeAfterStyle):
+ (WebCore::createRenderForBeforeAfterContent):
+ (WebCore::RenderObjectChildList::updateBeforeAfterContent):
+ * rendering/RenderObjectChildList.h:
+ (WebCore):
+ (RenderObjectChildList):
+
+2012-03-13 Simon Fraser <simon.fraser@apple.com>
+
+ Fix potential crash when loading test results
+ https://bugs.webkit.org/show_bug.cgi?id=81062
+ <rdar://problem/11041732>
+
+ Reviewed by Dean Jackson.
+
+ If RenderLayerBacking::isSimpleContainerCompositingLayer() is called early,
+ before the document has a documentElement(), then it crashes. Fix with
+ a null check on documentElement().
+
+ No test because it's timing dependent.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
+
+2012-03-13 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/11025225> Assertion failure in RenderView::computeRectForRepaint() (!repaintContainer || repaintContainer == this) at store.apple.com
+ https://bugs.webkit.org/show_bug.cgi?id=81051
+
+ Reviewed by Simon Fraser.
+
+ Test: ManualTests/inline-repaint-container.html.
+
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::clippedOverflowRectForRepaint): This function was not handling the
+ case of the repaint container being a descendant of the containing block correctly, leading
+ to the assertion failure, but also to a correctness bug seen in the new test. If the repaint
+ container is a descendant of the containing block, just return the rect in the repaint
+ container coordinates.
+
+2012-03-13 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/11025217> [Mac] Assertion failure in collectComplexTextRunsForCharactersCoreText
+ https://bugs.webkit.org/show_bug.cgi?id=77044
+
+ Reviewed by Sam Weinig.
+
+ Test: platform/mac/fast/text/core-text-fallback-to-unknown-font.html
+
+ Handle the case of Core Text choosing a fallback font that NSFontManager cannot find by name.
+
+ * platform/graphics/FontCache.h:
+ (FontCache): Made ComplexTextController a friend class.
+ * platform/graphics/mac/ComplexTextControllerCoreText.mm:
+ (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Removed the
+ failing assertion, which was not true, and added code to handle the case where a font
+ cannot be found by name by using the font as returned from Core Text.
+
+2012-03-13 Erik Arvidsson <arv@chromium.org>
+
+ [V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue
+ https://bugs.webkit.org/show_bug.cgi?id=80880
+
+ Reviewed by Adam Barth.
+
+ We used to add a hidden property in the getter to the returned wrapper.
+ With this patch we instead handle the liveness of the wrapper in the GC phase by
+ calling v8::V8::AddHiddenReference.
+
+ To reduce the amount of custom code we need, the V8 code generator now supports
+ GenerateIsReachable (as well as CustomIsReachable) which, even though different
+ from the JSC attribute, is used in the same cases and takes the same values (even though
+ at the moment not all JSC values are supported by V8). Interfaces that have *IsReachable
+ also have a dependent life time (just like if V8DependentLifetime was present).
+
+ Second try. This time with an added include in TextTrackList.cpp.
+
+ No new tests. Covered by existing tests.
+
+ * Target.pri:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GetGenerateIsReachable):
+ (GetCustomIsReachable):
+ (GenerateHeader):
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (NeedsToVisitDOMWrapper):
+ (GetGenerateIsReachable):
+ (GetCustomIsReachable):
+ (GenerateVisitDOMWrapper):
+ (GenerateHeader):
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (V8Float64Array):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (V8TestActiveDOMObject):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (V8TestCustomNamedGetter):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (V8TestEventConstructor):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (V8TestEventTarget):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (V8TestInterface):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (V8TestMediaQueryListListener):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (V8TestNamedConstructor):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (V8TestSerializedScriptValueInterface):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npObjectTypeInfo):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::GrouperVisitor::visitDOMWrapper):
+ * bindings/v8/WrapperTypeInfo.h:
+ (WebCore):
+ (WrapperTypeInfo):
+ * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ * bindings/v8/custom/V8StyleSheetCustom.cpp:
+ (WebCore::toV8):
+ * css/CSSStyleSheet.idl:
+ * css/StyleSheet.idl:
+ * dom/DOMStringMap.idl:
+ * dom/NamedNodeMap.idl:
+ * html/DOMTokenList.idl:
+ * html/track/TextTrackList.cpp:
+ * html/track/TextTrackList.idl:
+
+2012-03-13 Jacky Jiang <zhajiang@rim.com>
+
+ MathML crash in WebCore::Node::previousSibling()
+ https://bugs.webkit.org/show_bug.cgi?id=80773
+
+ Reviewed by Julien Chaffraix.
+
+ When adding child for msub render, if the child is mtr or mtd render,
+ we will creat an anonymous render as the container. As the anonymous
+ render's node is 0, accessing it directly can cause crash.
+ We should do a valid check of the node before using. In addition to
+ that, for msub, attach the anonymous render and it's children to render
+ tree. For msubsup, such kind of situation should never happen based on
+ the current codebase.
+
+ Test: mathml/msub-anonymous-child-render-crash.html
+
+ * rendering/mathml/RenderMathMLSubSup.cpp:
+ (WebCore::RenderMathMLSubSup::addChild):
+
+2012-03-13 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSSRegions]NamedFlow::getRegionsByContentNode should not return a live NodeList
+ https://bugs.webkit.org/show_bug.cgi?id=81021
+
+ Reviewed by Ryosuke Niwa.
+
+ Reverting the original patch as we need a better solution.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Node.cpp:
+ (WebCore::NodeListsNodeData::invalidateCaches):
+ (WebCore::NodeListsNodeData::isEmpty):
+ * dom/Node.h:
+ (Node):
+ * dom/NodeRareData.h:
+ (NodeListsNodeData):
+ * dom/RegionNodeList.cpp: Removed.
+ * dom/RegionNodeList.h: Removed.
+ * dom/WebKitNamedFlow.cpp:
+ * dom/WebKitNamedFlow.h:
+ (WebKitNamedFlow):
+ * dom/WebKitNamedFlow.idl:
+ * rendering/RenderFlowThread.cpp:
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+
+2012-03-13 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] wrong transform causing incorrect culling
+ https://bugs.webkit.org/show_bug.cgi?id=80471
+
+ Reviewed by James Robinson.
+
+ Unit test added to CCRenderSurfaceTest.cpp
+
+ In addition to using originTransform() instead of drawTransform(),
+ this patch shuffles a bit of code so that a unit test can be
+ easily added.
+
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::createSharedQuadState):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ (CCRenderSurface):
+
+2012-03-13 Dave Tharp <dtharp@codeaurora.org>
+
+ Alternate xml-stylesheets with no title are loaded, in violation of the CSSOM draft
+ https://bugs.webkit.org/show_bug.cgi?id=77549
+
+ Reviewed by David Hyatt.
+
+ Amended code to ignore alternate stylesheets that do not have a title attribute.
+
+ Test: fast/css/xml-stylesheet-alternate-no-title.xhtml
+
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+
+2012-03-13 Levi Weintraub <leviw@chromium.org>
+
+ Revert RenderLayer::absoluteBoundingBox to an IntRect
+ https://bugs.webkit.org/show_bug.cgi?id=81017
+
+ Reviewed by Eric Seidel.
+
+ Reverting RenderLayer::absoluteBoundingBox to an (pixel snapped) IntRect. Whenever
+ possible, we use integers representing for absolute coordinates. This is especially
+ relevant for methods, such as this one, that are exported and used in platform code.
+
+ No new tests. No change in behavior.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::absoluteBoundingBox):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresCompositingForPosition): This intersects
+ the absolute bounding box with the FrameView, which uses all integer values. It's
+ the only use of absoluteBoundingBox in WebCore.
+
+2012-03-13 Nat Duca <nduca@chromium.org>
+
+ [chromium] vsync ticks are needed in invisible tabs when we are still updating resources
+ https://bugs.webkit.org/show_bug.cgi?id=80910
+
+ Reviewed by James Robinson.
+
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
+ (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
+
+2012-03-13 Dave Tharp <dtharp@codeaurora.org>
+
+ Alternate stylesheets (without title attribute) are loaded on refresh
+ https://bugs.webkit.org/show_bug.cgi?id=24354
+
+ Reviewed by David Hyatt.
+
+ Alternate stylesheets are now ignored in <link> tags if
+ they have no title attribute (per spec).
+
+ Tests: fast/css/link-alternate-stylesheet-1.html
+ fast/css/link-alternate-stylesheet-2.html
+ fast/css/link-alternate-stylesheet-3.html
+ fast/css/link-alternate-stylesheet-4.html
+ fast/css/link-alternate-stylesheet-5.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::collectActiveStylesheets):
+
+2012-03-13 Dana Jansens <danakj@chromium.org>
+
+ Region::contains(IntPoint) is slow
+ https://bugs.webkit.org/show_bug.cgi?id=81008
+
+ Reviewed by Anders Carlsson.
+
+ Speed up Region::contains(IntPoint) by directly testing if the point
+ is inside the Region's shape, rather than using a temporary 1x1 Region
+ for the test.
+
+ Unit test: RegionTest.containsPoint
+
+ * platform/graphics/Region.cpp:
+ (WebCore::Region::contains):
+
+2012-03-13 Adrienne Walker <enne@google.com>
+
+ [chromium] Mark root layer scrollbars as always opaque to disable blending
+ https://bugs.webkit.org/show_bug.cgi?id=79951
+
+ Reviewed by James Robinson.
+
+ Now that scrollbar layers exist, mark non-overlay root scrollbars as
+ opaque. This disables blending for correctness and performance.
+
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::scrollbarLayerDidChange):
+ (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
+ (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawTileQuad):
+
+2012-03-13 Gavin Peters <gavinp@chromium.org>
+
+ Remove vestigal abortEvent from image attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=80795
+
+ Reviewed by Adam Barth.
+
+ It seems we installed a listener for the abort event on images,
+ but never ever raised them. So this patch removes it. This could
+ cause different behaviour if the user sends abort events directly
+ at an image element, although addEventListener will still work.
+
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::parseAttribute):
+
+2012-03-13 Nate Chapin <japhet@chromium.org>
+
+ Rework how a CachedRawResource decides if it can be reused
+ for a given ResourceRequest. Ensure method, body, cookie policy,
+ and all headers match.
+ http://bugs.webkit.org/show_bug.cgi?id=79325
+
+ Reviewed by Oliver Hunt.
+
+ Test: http/tests/cache/xhr-body.html
+
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::canReuse):
+ * loader/cache/CachedRawResource.h: Take a ResourceRequest in canReuse().
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::determineRevalidationPolicy): Remove Range header
+ check, since it is now redundant.
+
+2012-03-13 Rob Buis <rbuis@rim.com>
+
+ Fix cast-align GCC warning
+ https://bugs.webkit.org/show_bug.cgi?id=80790
+
+ Reviewed by Dan Bates.
+
+ This touches unpackOneRowOfBGRA8ToRGBA8.
+
+ * platform/graphics/GraphicsContext3D.cpp:
+ (WebCore):
+
+2012-03-12 Simon Fraser <simon.fraser@apple.com>
+
+ Refactor some code that is used to check whether a layer needs backing store
+ https://bugs.webkit.org/show_bug.cgi?id=80917
+
+ Reviewed by Dean Jackson.
+
+ Move some code out of isSimpleContainerCompositingLayer() in two new
+ methods to make the code more self-descriptive.
+
+ No behavior change, so no tests.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::paintsBoxDecorations):
+ (WebCore::RenderLayerBacking::paintsChildren):
+ (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking):
+
+2012-03-13 Daniel Bates <dbates@webkit.org>
+
+ REGRESSION(r99369): File input button doesn't highlight when pressed
+ https://bugs.webkit.org/show_bug.cgi?id=79385
+
+ Reviewed by Kent Tamura.
+
+ Fixes an issue where the file input button doesn't highlight on mouse press.
+
+ Currently we always override the active state of the button with whether
+ a dragged file is being hovered over the file input control (i.e. can the control
+ receive a dropped file; HTMLInputElement::canReceiveDroppedFiles()).
+ Instead, we should only override the active state of the button when the state
+ changes for whether we can receive dropped files (e.g. during a drag) so that
+ we honor the active state of the button when it is pressed.
+
+ Test: fast/forms/file/file-input-pressed-state.html
+
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::RenderFileUploadControl):
+ (WebCore::RenderFileUploadControl::updateFromElement):
+ * rendering/RenderFileUploadControl.h:
+ (RenderFileUploadControl):
+
+2012-03-13 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Use CCOcclusionTracker for draw culling
+ https://bugs.webkit.org/show_bug.cgi?id=80743
+
+ Reviewed by Adrienne Walker.
+
+ In this CL we enable the use of CCOcclusionTracker for draw-side
+ culling. This means moving from a per-quad culling model to a
+ per-layer model.
+
+ When calculating RenderPasses, we construct the set of passes,
+ then iterate over layers in front-to-back order. We make
+ CCQuadCuller instantiable, and pass it to the layer
+ appendQuads() methods instead of the bare list, where it can
+ filter quads before the end up in the list.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawRenderPass):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
+ (WebCore::CCCanvasLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
+ (CCCanvasLayerImpl):
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ (WebCore::CCLayerImpl::appendQuads):
+ (WebCore::CCLayerImpl::appendGutterQuads):
+ (WebCore::CCLayerImpl::appendDebugBorderQuad):
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ (WebCore):
+ (CCLayerImpl):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ (WebCore::CCLayerTreeHostImpl::drawLayers):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (CCLayerTreeHostImpl):
+ * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
+ (WebCore::CCPluginLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
+ (CCPluginLayerImpl):
+ * platform/graphics/chromium/cc/CCQuadCuller.cpp:
+ (WebCore::CCQuadCuller::CCQuadCuller):
+ (WebCore::CCQuadCuller::append):
+ * platform/graphics/chromium/cc/CCQuadCuller.h:
+ (WebCore):
+ (CCQuadCuller):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::appendQuadsForLayer):
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (WebCore):
+ (CCQuadList):
+ (WebCore::CCQuadList::backToFrontBegin):
+ (WebCore::CCQuadList::backToFrontEnd):
+ (CCRenderPass):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
+ (WebCore::CCScrollbarLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
+ (CCScrollbarLayerImpl):
+ * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
+ (WebCore::CCSolidColorLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
+ (CCSolidColorLayerImpl):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ (WebCore::CCTiledLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
+ (CCTiledLayerImpl):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+ (WebCore::CCVideoLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+ (CCVideoLayerImpl):
+
+2012-03-13 Adam Barth <abarth@webkit.org> && Benjamin Poulain <bpoulain@apple.com>
+
+ Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
+ https://bugs.webkit.org/show_bug.cgi?id=78853
+
+ Reviewed by Adam Barth.
+
+ * CMakeLists.txt:
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore):
+ (WebCore::createPositionError):
+ (WebCore::Geolocation::Geolocation):
+ (WebCore::Geolocation::stop):
+ (WebCore::Geolocation::lastPosition):
+ (WebCore::Geolocation::requestPermission):
+ (WebCore::Geolocation::startUpdating):
+ (WebCore::Geolocation::stopUpdating):
+ * Modules/geolocation/Geolocation.h:
+ (WebCore):
+ (Geolocation):
+ * Modules/geolocation/GeolocationController.cpp:
+ * Modules/geolocation/GeolocationController.h:
+ * Modules/geolocation/GeolocationError.h:
+ * Modules/geolocation/GeolocationPosition.h:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/JSGeolocationCustom.cpp:
+ * loader/EmptyClients.h:
+ (EmptyChromeClient):
+ * page/ChromeClient.h:
+ (ChromeClient):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ * page/Page.h:
+ (Page):
+ * platform/GeolocationService.cpp: Removed.
+ * platform/GeolocationService.h: Removed.
+ * platform/mock/GeolocationClientMock.cpp:
+ * platform/mock/GeolocationClientMock.h:
+ * platform/mock/GeolocationServiceMock.cpp: Removed.
+ * platform/mock/GeolocationServiceMock.h: Removed.
+
+2012-03-12 Antonio Gomes <agomes@rim.com>
+
+ Convert nodesFromRect tests to use Internals interface
+ https://bugs.webkit.org/show_bug.cgi?id=80886
+
+ Reviewed by Ryosuke Niwa.
+
+ Add Internals::nodesFromRect implementation to unify
+ the codepath for testing Document::nodesFromRect in a
+ cross port way.
+
+ No new tests, since we are improving here the infra-structure
+ for testing a specific method.
+
+ * testing/Internals.cpp:
+ (WebCore::Internals::nodesFromRect):
+ (WebCore):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-03-13 Philip Rogers <pdr@google.com>
+
+ Fix the use of stale text fragments
+ https://bugs.webkit.org/show_bug.cgi?id=80729
+
+ Reviewed by Nikolas Zimmermann.
+
+ Previously, we were allowing SVGTextFragments to get out of sync with the
+ actual text in RenderSVGInlineTextBox. This patch reuses the dirty line
+ box code in RenderText::setTextWithOffset to force
+ clearTextFragments() when setTextWithOffset is called, preventing the use
+ of stale SVGTextFragments.
+
+ Test: svg/custom/delete-text-crash.html
+
+ * rendering/InlineBox.h:
+ (InlineBox):
+ * rendering/svg/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::dirtyLineBoxes):
+ (WebCore):
+ * rendering/svg/SVGInlineTextBox.h:
+ (SVGInlineTextBox):
+
+2012-03-13 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ SVG Animations update baseVal instead of animVal
+ https://bugs.webkit.org/show_bug.cgi?id=12437
+
+ Reviewed by Dirk Schulze.
+
+ Blind fix for some GC related assertions firing on v8.
+
+ Assure that animationStarted/animationEnded calls are happening
+ on the same SVGAnimatedProperty. Always call animationEnded(),
+ even if we shouldn't do anything for the target element, as its
+ destructed, as we still have to reset m_isAnimating.
+
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::SVGAnimateElement::SVGAnimateElement):
+ (WebCore::SVGAnimateElement::resetToBaseValue):
+ (WebCore::SVGAnimateElement::targetElementWillChange):
+ * svg/SVGAnimateElement.h:
+ (SVGAnimateElement):
+ * svg/properties/SVGAnimatedPropertyTearOff.h:
+ (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
+
+2012-03-13 Mark Pilgrim <pilgrim@chromium.org>
+
+ Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
+ https://bugs.webkit.org/show_bug.cgi?id=80625
+
+ Reviewed by Adam Barth.
+
+ No new tests, all existing tests pass.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * Modules/filesystem: Added.
+ * Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
+ * Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
+ * Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
+ * Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
+ * Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
+ * Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
+ * Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
+ * Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
+ * Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
+ * Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
+ * Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
+ * Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
+ * Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
+ * Target.pri:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * fileapi/DirectoryEntry.cpp: Removed.
+ * fileapi/DirectoryEntry.h: Removed.
+ * fileapi/DirectoryEntry.idl: Removed.
+ * fileapi/DirectoryEntrySync.cpp: Removed.
+ * fileapi/DirectoryEntrySync.h: Removed.
+ * fileapi/DirectoryEntrySync.idl: Removed.
+ * fileapi/DirectoryReader.cpp: Removed.
+ * fileapi/DirectoryReader.h: Removed.
+ * fileapi/DirectoryReader.idl: Removed.
+ * fileapi/DirectoryReaderBase.h: Removed.
+ * fileapi/DirectoryReaderSync.cpp: Removed.
+ * fileapi/DirectoryReaderSync.h: Removed.
+ * fileapi/DirectoryReaderSync.idl: Removed.
+
+2012-03-13 Igor Oliveira <igor.o@sisa.samsung.com>
+
+ animation-iteration-count does not handle floating point values correctly.
+ https://bugs.webkit.org/show_bug.cgi?id=69531
+
+ Implements support for non-integers animation-iteration-count numbers.
+ Non-integer numbers will cause the animation to end part-way through a cycle.
+
+ Reviewed by Dean Jackson.
+
+ Tests: animations/fill-mode-iteration-count-non-integer.html
+ animations/keyframes-iteration-count-non-integer.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseAnimationIterationCount):
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::fractionalTime):
+ (WebCore::AnimationBase::progress):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::pauseAnimationAtTime):
+ * platform/animation/Animation.h:
+ (WebCore::Animation::iterationCount):
+ (WebCore::Animation::setIterationCount):
+ (Animation):
+ (WebCore::Animation::initialAnimationIterationCount):
+
+2012-03-13 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Rename PeerConnection to DeprecatedPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=80692
+
+ Reviewed by Adam Barth.
+
+ First patch in a series of patches to change the PeerConnection from ROAP to JSEP,
+ see bug 80589 for more information.
+
+ Patch covered by modified existing tests.
+
+ * GNUmakefile.list.am:
+ * Modules/mediastream/DOMWindowMediaStream.idl:
+ * Modules/mediastream/DeprecatedPeerConnection.cpp: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.cpp.
+ (WebCore):
+ (WebCore::DeprecatedPeerConnection::create):
+ (WebCore::DeprecatedPeerConnection::DeprecatedPeerConnection):
+ (WebCore::DeprecatedPeerConnection::~DeprecatedPeerConnection):
+ (WebCore::DeprecatedPeerConnection::processSignalingMessage):
+ (WebCore::DeprecatedPeerConnection::readyState):
+ (WebCore::DeprecatedPeerConnection::send):
+ (WebCore::DeprecatedPeerConnection::addStream):
+ (WebCore::DeprecatedPeerConnection::removeStream):
+ (WebCore::DeprecatedPeerConnection::localStreams):
+ (WebCore::DeprecatedPeerConnection::remoteStreams):
+ (WebCore::DeprecatedPeerConnection::close):
+ (WebCore::DeprecatedPeerConnection::didCompleteICEProcessing):
+ (WebCore::DeprecatedPeerConnection::didGenerateSDP):
+ (WebCore::DeprecatedPeerConnection::didReceiveDataStreamMessage):
+ (WebCore::DeprecatedPeerConnection::didAddRemoteStream):
+ (WebCore::DeprecatedPeerConnection::didRemoveRemoteStream):
+ (WebCore::DeprecatedPeerConnection::interfaceName):
+ (WebCore::DeprecatedPeerConnection::scriptExecutionContext):
+ (WebCore::DeprecatedPeerConnection::stop):
+ (WebCore::DeprecatedPeerConnection::eventTargetData):
+ (WebCore::DeprecatedPeerConnection::ensureEventTargetData):
+ (WebCore::DeprecatedPeerConnection::scheduleInitialNegotiation):
+ (WebCore::DeprecatedPeerConnection::initialNegotiationTimerFired):
+ (WebCore::DeprecatedPeerConnection::ensureStreamChangeScheduled):
+ (WebCore::DeprecatedPeerConnection::streamChangeTimerFired):
+ (WebCore::DeprecatedPeerConnection::scheduleReadyStateChange):
+ (WebCore::DeprecatedPeerConnection::readyStateChangeTimerFired):
+ (WebCore::DeprecatedPeerConnection::changeReadyState):
+ * Modules/mediastream/DeprecatedPeerConnection.h: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.h.
+ (WebCore):
+ (DeprecatedPeerConnection):
+ (WebCore::DeprecatedPeerConnection::didChangeState):
+ (WebCore::DeprecatedPeerConnection::refEventTarget):
+ (WebCore::DeprecatedPeerConnection::derefEventTarget):
+ * Modules/mediastream/DeprecatedPeerConnection.idl: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.idl.
+ * Modules/mediastream/SignalingCallback.h:
+ (WebCore):
+ (SignalingCallback):
+ * Modules/mediastream/SignalingCallback.idl:
+ * WebCore.gypi:
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::webkitDeprecatedPeerConnectionEnabled):
+ * bindings/js/JSDeprecatedPeerConnectionCustom.cpp: Renamed from Source/WebCore/bindings/js/JSPeerConnectionCustom.cpp.
+ (WebCore):
+ (WebCore::JSDeprecatedPeerConnectionConstructor::constructJSDeprecatedPeerConnection):
+ * dom/EventTarget.h:
+ (WebCore):
+ * dom/EventTargetFactory.in:
+ * platform/mediastream/DeprecatedPeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandler.h.
+ (WebCore):
+ (DeprecatedPeerConnectionHandler):
+ * platform/mediastream/DeprecatedPeerConnectionHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h.
+ (WebCore):
+ (DeprecatedPeerConnectionHandlerClient):
+ (WebCore::DeprecatedPeerConnectionHandlerClient::~DeprecatedPeerConnectionHandlerClient):
+ * platform/mediastream/gstreamer/DeprecatedPeerConnectionHandler.cpp: Renamed from Source/WebCore/platform/mediastream/gstreamer/PeerConnectionHandler.cpp.
+ (WebCore):
+ (WebCore::DeprecatedPeerConnectionHandler::create):
+ (WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler):
+ (WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler):
+ (WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer):
+ (WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer):
+ (WebCore::DeprecatedPeerConnectionHandler::processSDP):
+ (WebCore::DeprecatedPeerConnectionHandler::processPendingStreams):
+ (WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage):
+ (WebCore::DeprecatedPeerConnectionHandler::stop):
+
+2012-03-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: front-end compilation was broken while supporting large arrays.
+ https://bugs.webkit.org/show_bug.cgi?id=81013
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/ExtensionPanel.js:
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
+ * inspector/front-end/RemoteObject.js:
+
+2012-03-13 Tony Chang <tony@chromium.org>
+
+ flexbox's computePreferredLogicalWidth needs to take multiline into account
+ https://bugs.webkit.org/show_bug.cgi?id=80931
+
+ Reviewed by Ojan Vafai.
+
+ Tests: css3/flexbox/multiline-shrink-to-fit-expected.html
+ css3/flexbox/multiline-shrink-to-fit.html
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computePreferredLogicalWidths): Set min/max preferredLogicalWidth based on always breaking or never breaking.
+ (WebCore::RenderFlexibleBox::computeNextFlexLine): Add a FIXME.
+ (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Don't change the width after computePreferredWidth has been called.
+
+2012-03-13 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110469.
+ http://trac.webkit.org/changeset/110469
+ https://bugs.webkit.org/show_bug.cgi?id=81010
+
+ This patch still appears to crash (Requested by abarth on
+ #webkit).
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::reset):
+ (WebCore::FrameView::repaintContentRectangle):
+ (WebCore):
+ (WebCore::FrameView::endDeferredRepaints):
+ (WebCore::FrameView::doDeferredRepaints):
+ (WebCore::FrameView::deferredRepaintTimerFired):
+ * page/FrameView.h:
+ (FrameView):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::shouldRepaint):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::drawSVGToImageBuffer):
+ (WebCore::SVGImage::draw):
+ * svg/graphics/SVGImage.h:
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::imageContentChanged):
+ (WebCore::SVGImageCache::redrawTimerFired):
+ * svg/graphics/SVGImageCache.h:
+ (SVGImageCache):
+
+2012-03-13 Max Vujovic <mvujovic@adobe.com>
+
+ Add a method to window.internals to enable testing of inspector highlight rects
+ https://bugs.webkit.org/show_bug.cgi?id=80338
+
+ Reviewed by Pavel Feldman.
+
+ Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
+ positions and sizes of inspector highlight rects.
+
+ Test: inspector/elements/highlight-node.html
+
+ * WebCore.exp.in: Export symbols.
+ * testing/Internals.cpp:
+ (WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
+ return the highlight's quads as a ClientRectList.
+ (WebCore):
+ * testing/Internals.h:
+ (WebCore):
+ (Internals):
+ * testing/Internals.idl:
+
+ Add inspectorHighlightRects to the window.internals interface.
+
+2012-03-13 Konrad Piascik <kpiascik@rim.com>
+
+ [BlackBerry] Remove sublayers before clamping just in case the layer already exists
+ https://bugs.webkit.org/show_bug.cgi?id=80989
+
+ Reviewed by Antonio Gomes.
+
+ Discovered when trying to add a highlight sublayer for web inspector. Since that layer
+ may already exist in the tree we need to see if it will be pruned before we clamp on the
+ size.
+
+ This was manually tested during the writing of another patch to add web inspector highlights
+ to accelrated compositing.
+
+ * platform/graphics/blackberry/LayerWebKitThread.cpp:
+ (WebCore::LayerWebKitThread::insertSublayer):
+
+2012-03-13 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Add snippets model.
+ https://bugs.webkit.org/show_bug.cgi?id=80863
+
+ Reviewed by Yury Semikhatsky.
+
+ Test: inspector/debugger/snippets-model.html
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/Settings.js:
+ (WebInspector.ExperimentsSettings):
+ * inspector/front-end/SnippetsModel.js: Added.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2012-03-13 'Pavel Feldman' <pfeldman@chromium.org>
+
+ Not reviewed: chromium build fix.
+
+ * history/CachedFrame.cpp:
+
+2012-03-13 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: CodeGeneratorInspector.py: refactor copy-paste getter methods
+ https://bugs.webkit.org/show_bug.cgi?id=80923
+
+ Reviewed by Yury Semikhatsky.
+
+ Several methods are combined in one using C++ templates.
+
+ * inspector/CodeGeneratorInspector.py:
+
+2012-03-13 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] Fix cast-align warning in QuotesData.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=80601
+
+ Reviewed by Nikolas Zimmermann.
+
+ Fix warning by adding variable of correct return type.
+
+ * rendering/style/QuotesData.cpp:
+ (WebCore::QuotesData::create):
+
+2012-03-12 Brady Eidson <beidson@apple.com>
+
+ <rdar://problem/7908830> and https://bugs.webkit.org/show_bug.cgi?id=34679
+ Location and other objects are dysfunctional after a document gets restored from page cache
+
+ Reviewed by Adam Barth.
+
+ Test: fast/loader/window-properties-restored-from-page-cache.html
+
+ Give DOMWindowProperties the ability to reconnect to their Frame:
+ * page/DOMWindowProperty.cpp:
+ (WebCore::DOMWindowProperty::reconnectFrame):
+ * page/DOMWindowProperty.h:
+ (DOMWindowProperty):
+
+ Let ApplicationCache do some extra work when reconnecting:
+ * loader/appcache/DOMApplicationCache.cpp:
+ (WebCore::DOMApplicationCache::reconnectFrame):
+ (WebCore):
+ * loader/appcache/DOMApplicationCache.h:
+ (DOMApplicationCache):
+
+ Let IndexDB do some extra work when reconnecting:
+ * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
+ (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
+ (WebCore::DOMWindowIndexedDatabase::reconnectFrame):
+ (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
+ * Modules/indexeddb/DOMWindowIndexedDatabase.h:
+ (DOMWindowIndexedDatabase):
+
+ Tell the DOMWindow to suspend to the page cache:
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrame::CachedFrame):
+
+ Tell the DOMWindow to resume from the page cache:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::open):
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::DOMWindow):
+ (WebCore::DOMWindow::~DOMWindow): Call clearDOMWindowProperties directly instead of clear()
+ (WebCore::DOMWindow::frameDestroyed): Ditto.
+ (WebCore::DOMWindow::clear): Only clear if the DOMWindow is not suspended for the page cache.
+ (WebCore::DOMWindow::suspendForPageCache): Disconnect properties and set the page cache flag.
+ (WebCore::DOMWindow::resumeFromPageCache): Reconnect properties and revert the page cache flag.
+ (WebCore::DOMWindow::disconnectDOMWindowProperties): Only disconnect the registered properties.
+ (WebCore::DOMWindow::reconnectDOMWindowProperties):
+ (WebCore::DOMWindow::clearDOMWindowProperties): Disconnect the registered properties then clear them out.
+
+ For all of the following, if the DOMWindow is not displayed in a frame (i.e., it is suspended), do nothing:
+ (WebCore::DOMWindow::screen):
+ (WebCore::DOMWindow::history):
+ (WebCore::DOMWindow::crypto):
+ (WebCore::DOMWindow::locationbar):
+ (WebCore::DOMWindow::menubar):
+ (WebCore::DOMWindow::personalbar):
+ (WebCore::DOMWindow::scrollbars):
+ (WebCore::DOMWindow::statusbar):
+ (WebCore::DOMWindow::toolbar):
+ (WebCore::DOMWindow::console):
+ (WebCore::DOMWindow::applicationCache):
+ (WebCore::DOMWindow::navigator):
+ (WebCore::DOMWindow::performance):
+ (WebCore::DOMWindow::location):
+ (WebCore::DOMWindow::sessionStorage):
+ (WebCore::DOMWindow::localStorage):
+ (WebCore::DOMWindow::webkitNotifications):
+ (WebCore::DOMWindow::postMessageTimerFired):
+ (WebCore::DOMWindow::getSelection):
+ (WebCore::DOMWindow::styleMedia):
+ (WebCore::DOMWindow::webkitStorageInfo):
+ * page/DOMWindow.h:
+
+2012-03-13 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Use projectQuad to apply inverse mapRect
+ https://bugs.webkit.org/show_bug.cgi?id=80741
+
+ Reviewed by Adrienne Walker.
+
+ Unit test: CCOcclusionTrackerTest3dTransform
+ CCOcclusionTrackerTestPerspectiveTransform
+ CCOcclusionTrackerTestPerspectiveTransformBehindCamera
+
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::projectQuad):
+ (WebCore):
+ (WebCore::computeUnoccludedContentRect):
+
+2012-03-13 Gavin Peters <gavinp@chromium.org>
+
+ New PageCache histogram which counts failures ignoring Settings.
+ https://bugs.webkit.org/show_bug.cgi?id=80864
+
+ Reviewed by Brady Eidson.
+
+ Chrome has a command line switch to turn on the page cache.
+ Currently it doesn't work, but it can cause the PageCache reasons
+ for failure count to read lower than it should. Add a new
+ histogram to report the corrected value.
+
+ * history/PageCache.cpp:
+ (WebCore::logCanCachePageDecision):
+
+2012-03-13 George Staikos <staikos@webkit.org>
+
+ Fix signed/unsigned mismatch compiler warnings.
+ https://bugs.webkit.org/show_bug.cgi?id=80790
+
+ Reviewed by Alexey Proskuryakov.
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
+ * platform/network/MIMESniffing.cpp:
+
+2012-03-13 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110510.
+ http://trac.webkit.org/changeset/110510
+ https://bugs.webkit.org/show_bug.cgi?id=80987
+
+ depends on chromium r 125700, which isn't rolled into webkit
+ yet :-/ (Requested by thakis_ on #webkit).
+
+ * WebCore.gyp/mac/adjust_visibility.sh:
+
+2012-03-13 Gavin Peters <gavinp@chromium.org>
+
+ Make ApplicationCacheHost::canCacheInPageCache() non-const.
+ https://bugs.webkit.org/show_bug.cgi?id=80904
+
+ Reviewed by Alexey Proskuryakov.
+
+ A const pointer to a large object like ApplicationCacheHost is not our standard
+ practice; so remove this (implicit) one. See also https://bugs.webkit.org/show_bug.cgi?id=80898
+
+ * loader/appcache/ApplicationCacheHost.cpp:
+ (WebCore::ApplicationCacheHost::canCacheInPageCache):
+ * loader/appcache/ApplicationCacheHost.h:
+ (ApplicationCacheHost):
+
+2012-03-13 Stephen Chenney <schenney@chromium.org>
+
+ Crash in WebCore::GraphicsContext::paintingDisabled
+ https://bugs.webkit.org/show_bug.cgi?id=80669
+
+ Reviewed by Nikolas Zimmermann.
+
+ The SVGImageBufferTools::clipToImageBuffer method deletes the clip
+ image when it thinks it is not needed. However, there are cases when
+ it is in fact still needed, particularly when the clip buffer is
+ coming from higher up in the stack where it may be needed again.
+
+ So this patch adds a flag to only allow deletion of the image buffer
+ if it was created at the most recent call site.
+
+ Tests: svg/custom/circular-clip-path-references-crash-expected.svg
+ svg/custom/circular-clip-path-references-crash.svg
+
+ * rendering/svg/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::applyClippingToContext):
+ * rendering/svg/RenderSVGResourceGradient.cpp:
+ (WebCore::clipToTextMask):
+ * rendering/svg/RenderSVGResourceMasker.cpp:
+ (WebCore::RenderSVGResourceMasker::applyResource):
+ * rendering/svg/SVGImageBufferTools.cpp:
+ (WebCore::SVGImageBufferTools::clipToImageBuffer):
+ * rendering/svg/SVGImageBufferTools.h:
+ (SVGImageBufferTools):
+
+2012-03-13 Gavin Peters <gavinp@chromium.org>
+
+ Fix an enumeration name in ReasonsFrameCannotBeInPageCache.
+ https://bugs.webkit.org/show_bug.cgi?id=80849
+
+ Reviewed by Brady Eidson.
+
+ It seems that somebody goofed, and named one of the
+ ReasonsFrameCannotBeInPageCache antonymically.
+
+ * history/PageCache.cpp:
+ (WebCore::logCanCacheFrameDecision):
+
+2012-03-12 Kinuko Yasuda <kinuko@chromium.org>
+
+ File upload control should use File.name() rather than File.path() to show chosen filenames
+ https://bugs.webkit.org/show_bug.cgi?id=80970
+
+ In some rare cases (e.g. files from FileSystem API or files created
+ using the newly added WebKit API) File.name has different displayName
+ from the basename of file.path, and in the file uploader controller we
+ should use File.name rather than File.path.
+
+ Reviewed by Kent Tamura.
+
+ No new tests: existing tests should pass as this should not change
+ behavior in regular use cases. (New behavior where File.name differs
+ from File.path can be only tested in chromeos environment, therefore
+ not adding new tests for that)
+
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::RenderThemeGtk::fileListNameForWidth): Updated to handle FileList.
+ * platform/gtk/RenderThemeGtk.h:
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::fileListNameForWidth): Updated to handle FileList.
+ * platform/qt/RenderThemeQt.h:
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::fileTextValue): Changed to pass FileList rather than FileList->paths().
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::fileListNameForWidth): Updated to handle FileList and use File.name for displaying the file name.
+ * rendering/RenderTheme.h:
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::fileListNameForWidth): Updated to handle FileList.
+
+2012-03-13 Kinuko Yasuda <kinuko@chromium.org>
+
+ Allow WebFileChooser to return extra file info (like displayName) in addition to mere file paths
+ https://bugs.webkit.org/show_bug.cgi?id=80719
+
+ Reviewed by Kent Tamura.
+
+ No new tests: this change itself shouldn't change existing behavior.
+
+ * fileapi/File.cpp:
+ (WebCore::createBlobDataForFileWithName): Renamed from createBlobDataForFileSystemFile.
+ * fileapi/File.h:
+ * html/FileInputType.cpp:
+ (WebCore::FileInputType::saveFormControlState): Updated to handle File.name.
+ (WebCore::FileInputType::restoreFormControlState): Ditto.
+ (WebCore::FileInputType::setFileList): Changed the signature to take
+ FileChooserFileInfo.
+ (WebCore::FileInputType::filesChosen): Ditto.
+ (WebCore::FileInputType::receiveDroppedFiles):
+ * html/FileInputType.h:
+ (FileInputType):
+ * platform/FileChooser.cpp:
+ (WebCore::FileChooser::chooseFiles): Added an overloaded method that
+ takes FileChooserFileInfo.
+ (WebCore):
+ * platform/FileChooser.h:
+ (WebCore::FileChooserFileInfo::FileChooserFileInfo): Added.
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Removed surrouonding ifdefs as this function is now used even if FILE_SYSTEM is not enabled.
+ * platform/MIMETypeRegistry.h:
+ (MIMETypeRegistry):
+
+2012-03-13 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Unreviewed inspector compilation module name fix after r110550.
+
+ * inspector/compile-front-end.py:
+
+2012-03-12 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Changes to the list of scripts for front-end compilation should not require update of number of scripts in module.
+ https://bugs.webkit.org/show_bug.cgi?id=80872
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/compile-front-end.py: Added.
+ * inspector/compile-front-end.sh:
+
+2012-03-12 Pavel Podivilov <podivilov@chromium.org>
+
+ Web Inspector: move ResourceScriptMapping to a separate file.
+ https://bugs.webkit.org/show_bug.cgi?id=80859
+
+ Reviewed by Vsevolod Vlasov.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.sh:
+ * inspector/front-end/ResourceScriptMapping.js: Copied from Source/WebCore/inspector/front-end/ScriptMapping.js.
+ (WebInspector.ResourceScriptMapping):
+ (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
+ (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeListChanged):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeListChanged):
+ (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
+ (WebInspector.ResourceScriptMapping.prototype.setFormatSource):
+ (WebInspector.ResourceScriptMapping.prototype.forceUpdateSourceMapping):
+ (WebInspector.ResourceScriptMapping.prototype.reset):
+ * inspector/front-end/ScriptMapping.js:
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-03-12 Kentaro Hara <haraken@chromium.org>
+
+ Rename OptionsObject to Dictionary
+ https://bugs.webkit.org/show_bug.cgi?id=80802
+
+ Reviewed by Adam Barth.
+
+ For clarification, rename OptionsObject.{h,cpp} to Dictionary.{h,cpp}.
+ This patch just renames and sorts alphabetically.
+
+ No tests. No change in behavior.
+
+ * GNUmakefile.list.am:
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::createObjectStore):
+ * Modules/indexeddb/IDBDatabase.h:
+ (WebCore::IDBDatabase::createObjectStore):
+ (IDBDatabase):
+ * Modules/indexeddb/IDBDatabase.idl:
+ * Modules/indexeddb/IDBKeyRange.h:
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::createIndex):
+ * Modules/indexeddb/IDBObjectStore.h:
+ (WebCore::IDBObjectStore::createIndex):
+ (IDBObjectStore):
+ * Modules/indexeddb/IDBObjectStore.idl:
+ * Target.pri:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/Dictionary.h: Renamed from Source/WebCore/bindings/js/OptionsObject.h.
+ (WebCore):
+ (Dictionary):
+ (WebCore::Dictionary::Dictionary):
+ (WebCore::Dictionary::isObject):
+ (WebCore::Dictionary::isUndefinedOrNull):
+ (WebCore::Dictionary::get):
+ (WebCore::Dictionary::getWithUndefinedOrNullCheck):
+ * bindings/js/IDBBindingUtilities.cpp:
+ (WebCore::createDictionaryFromValue):
+ * bindings/js/IDBBindingUtilities.h:
+ (WebCore):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (JSValueToNative):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateParametersCheck):
+ (GenerateEventConstructorCallback):
+ (GetNativeType):
+ (JSValueToNative):
+ * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
+ (WebDOMTestObj::optionsObject):
+ * bindings/scripts/test/CPP/WebDOMTestObj.h:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_options_object):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::jsTestObjPrototypeFunctionIdbKey):
+ (WebCore::jsTestObjPrototypeFunctionOptionsObject):
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj optionsObject:ooo:]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::constructorCallback):
+ (WebCore::fillTestEventConstructorInit):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::optionsObjectCallback):
+ * bindings/v8/Dictionary.cpp: Renamed from Source/WebCore/bindings/v8/OptionsObject.cpp.
+ (WebCore):
+ (WebCore::Dictionary::Dictionary):
+ (WebCore::Dictionary::~Dictionary):
+ (WebCore::Dictionary::operator=):
+ (WebCore::Dictionary::isObject):
+ (WebCore::Dictionary::isUndefinedOrNull):
+ (WebCore::Dictionary::getKey):
+ (WebCore::Dictionary::get):
+ (WebCore::Dictionary::getWithUndefinedOrNullCheck):
+ * bindings/v8/Dictionary.h: Renamed from Source/WebCore/bindings/v8/OptionsObject.h.
+ (WebCore):
+ (Dictionary):
+ * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
+ (WebCore::V8WebKitMutationObserver::observeCallback):
+
+2012-03-12 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ SVG Animations update baseVal instead of animVal
+ https://bugs.webkit.org/show_bug.cgi?id=12437
+
+ Reviewed by Dirk Schulze.
+
+ Begin implementing the last missing core piece of the SVG DOM: proper animVal support.
+ Most SVG DOM interfaces exposing eg. lengths use SVGAnimatedLength. eg. from SVGRectElement:
+ "readonly attribute SVGAnimatedLength x;" SVGAnimatedXXX contains following methods:
+ "readonly attribute SVGLength baseVal; readonly attribute SVGLength animVal;"
+ From SVG DOM perspective, animVal and baseVal are two distinctive objects, animVal != baseVal.
+ Its underlying value is the same though, if no animation is running on that attribute.
+
+ As soon as a SMIL animation starts animating an SVGAnimated* target attribute, its
+ baseVal and animVal may begin to differ. The animVal always reflect the current animated
+ value (including all effects of additive/accumulated animations) which is shown on screen
+ when eg animating the width of a <rect>. The baseVal is is equal to the underlying XML
+ property value / SVG DOM value, but may be influenced through dynamic changes.
+ (Consider changing rect1.width.baseVal.value while 'width' is animated)
+
+ During the last year we prepared our animation code to turn on animVal support.
+ This patch adds the last missing pieces to turn on animVal support for the SVGLength.
+ SVGLengthList and all other types will follow, one after the other.
+
+ I've decided to write an exhaustive ChangeLog, as this as the base for any future
+ work in this area - hopefully making this more reviewable.
+
+ Tests: svg/animations/additive-from-to-width-animation.html
+ svg/animations/additive-values-width-animation.html
+ svg/animations/change-baseVal-while-animating-fill-freeze-2.html
+ svg/animations/change-baseVal-while-animating-fill-freeze.html
+ svg/animations/change-baseVal-while-animating-fill-remove-2.html
+ svg/animations/change-baseVal-while-animating-fill-remove.html
+ svg/animations/change-target-while-animating-SVG-property.html
+ svg/animations/multiple-animations-fill-freeze.html
+ svg/animations/remove-animation-element-while-animation-is-running.html
+ svg/repaint/repainting-after-animation-element-removal.svg
+
+ * svg/SVGAnimateElement.cpp: Remove unnecessary std namespace inclusion.
+ (WebCore::SVGAnimateElement::SVGAnimateElement): Remove now-obsolete m_aboutToStopAnimation.
+ (WebCore::SVGAnimateElement::calculateAnimatedValue): Swap assertion order, to test hasTagName() _before_ casting.
+ (WebCore::SVGAnimateElement::resetToBaseValue):
+ Stop relying on the cached baseValue (breaking additive="sum"+values animation) for SVG DOM primitive animations.
+ Avoid any string roundtrips previously needed to reset the SVGAnimatedType to the base value. Just grab the
+ currentBaseValue() from the associated SVGAnimatedProperty, which includes all dynamic changes to the baseVal
+ either by SVG DOM or setAttribute() calls - this way we don't need to utilize the buggy cache in SMILTimeContainer,
+ which can be removed once all SVG DOM primitive types switched to the new animVal concept.
+
+ NOTE: When multiple animations of the same attribute are applied to a target element, resetToBaseValue() will be called
+ for the highest priority SVGSMILElement, on every animation step! Consider two <animate> elements, applied to a target
+ <rect> which both animate the 'x' attribute, one from 0s to 2s, the other from 4s to 6s. The last <animate> element
+ will reuse the SVGAnimatedType m_animatedType from the first <animate> element, and never create an own m_animatedType.
+ When the animation starts the first time at 0s, we update the rect.x.animVals SVGLength* pointer, to point to the
+ SVGAnimatedType of the first <animate> element, owning the m_animatedType. From that point on each call to rect.x.animVal
+ will always return the same value as the SVGAnimatedType of the first <animate> element holds. Now after 2s the first
+ <animate> element becomes inactive, but its m_animatedType remains alive. The bindings don't notice this change at all.
+ Now at 4s, the second animation element gets active. It reuses the SVGAnimatedType of the first <animate> element, and
+ applies its animation changes to that SVGAnimatedType, which is immediately reflected in the bindings w/o any additional
+ work. It's very important for the understanding when animationStarted/animationEnded need to be called.
+
+ (WebCore::SVGAnimateElement::applyResultsToTarget): Remove now-obsolete m_aboutToStopAnimation logic. No need to know it at this point.
+ (WebCore::SVGAnimateElement::targetElementWillChange):
+ Renamed from targetElementDidChange(). This method is called from SVGSMILElement for following conditions:
+ - animation element is destructed
+ - animation element is removed from document
+ - target element of animation is destructed
+ - target element of animation is removed from document
+ - target element of animation changes id
+
+ Whenever any of this happens, we need to reset the animVal. Resetting the animVal involves resetting the PropertyType* pointer,
+ eg. SVGLength*, from the animVal property tear off, belonging to a certain SVGAnimatedProperty (eg. rect.x) to the initial
+ value again, which is the 'm_x' of the SVGRectElement. This is needed as the SVGAnimatedType the animVal currently points to,
+ if an animation is/was running, is destructed in targetElementWillChange(), to reset the SVGAnimateElement to the initial
+ state before it received a target. This is the only place which destructed the m_animatedType, and thus the only place that
+ needs to take care of resetting the animVal pointers.
+
+ * svg/SVGAnimatedLength.cpp:
+ (WebCore::SVGAnimatedLengthAnimator::constructFromCopy):
+ Add a new constructFromCopy(SVGGenericAnimatedType) function to SVGAnimatedLengthAnimator.
+ It takes a type-unsafe SVGGenericAnimatedType - the caller has to guarantee the type matches.
+ This is strictly enforced for the single caller of constructFromCopy, and guaranteed to be safe.
+
+ * svg/SVGAnimatedLength.h: Add new constructFromCopy method, which is used to avoid string-roundtrips when resetting to base values.
+ * svg/SVGAnimatedType.cpp:
+ (WebCore::SVGAnimatedType::supportsAnimVal): Only returns true for AnimatedLength, for now.
+ (WebCore::SVGAnimatedType::setVariantValue): Takes a SVGGenericAnimatedType, assuming the type matches. Callers have to guarantee type-safety!
+ * svg/SVGAnimatedType.h:
+ (SVGAnimatedType): Add new static supportsAnimVal(AnimatedPropertyType) function.
+ (WebCore::SVGAnimatedType::variantValue): Add a generic accessor for all animated types, called variant(). Only one place uses this.
+ * svg/SVGAnimatedTypeAnimator.h:
+ (WebCore::SVGAnimatedTypeAnimator::constructFromCopy):
+ New method to construct an eg. SVGAnimatedLengthAnimator right from a SVGLength, instead of a String.
+ In that case the SVGAnimatedType just stores a pointer to the underlying SVGLength, no copying and or other roundtrips involved.
+
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::svgAttributeChanged):
+ Implement this instead of attributeChanged. The previous implementation reset the animation state to Inactive, causing a full
+ rebuild, whenever any attribute changes, even though it might not be related for the animation element, eg.
+ animate.setAttribute("stdDeviationX", "foobar"). Fix that by checking if we support the attribute (keyTimes/keySplines/etc..)
+ , if not pass it on to SVGSMILElement (which supports begin/end/etc..) to check if it can handle that.
+
+ (WebCore::SVGAnimationElement::animationAttributeChanged):
+ Called from our svgAttributeChanged, and/or from SVGSMILElement::svgAttributeChanged, whenever a _known_ attribute has changed.
+ This sledgehammer should be used with care, instead of each time attributeChanged() is called :-)
+
+ (WebCore::setTargetAttributeAnimatedCSSValue):
+ Remove support for removing properties from the override style sheet. I've added this optimization too early, we should reevaluate
+ this once more types support animVal. It currently complexifies the logic too much, requiring setAttributeAnimatedValue to know
+ if the animation ends (and that's not easy to figure out, at least not using started/endedActiveInterval, as I anticipated).
+
+ (WebCore::findMatchingAnimatedProperty):
+ Add helper functions which retrieves a SVGAnimatedProperty* for a given SVGElement* targetElement, an attributeName, and an attribute
+ type. eg. findMatchingAnimatedProperty(myRectElement, SVGNames::xAttr, AnimatedLength) returns the SVGAnimatedProperty which is
+ exposed to JS, that holds: SVGProperty* baseVal, and SVGProperty* animVal. (Lazily created if they got accessed from JS.). This is
+ used to update the animVal pointing to a new eg. SVGLength* value, once animation has started, to make rect->x() return that new
+ SVGLength* value (internally), and to reflect the current animated value in rect.x.animVal.value from JS.
+
+ (WebCore::SVGAnimationElement::applyAnimatedValue): Refactored from setTargetAttributeAnimatedValue, to simplify the code.
+ (WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
+ Helper function to share code betweeen animationStarted/animationEnded.
+ It takes a SVGAnimatedProperty* and a SVGAnimatedType* which may be zero, indicating that the animation ended.
+ It calls animationStarted/animationEnded on the given SVGAnimatedProperty, to update the animVal state.
+ It also figures out all instances of the target element, and their SVGAnimatedProperties that may need updating.
+
+ (WebCore::SVGAnimationElement::animationStarted): Uses the helper above, passing on the given animatedType.
+ (WebCore::SVGAnimationElement::animationEnded): Uses the helper above, passing 0 as animatedType.
+ (WebCore::InstanceUpdateBlocker::InstanceUpdateBlocker):
+ Added new helper struct, doing element->setInstancesUpdatedBlock(true) on construction and setInstancesUpdatesBlocked(false) on
+ destruction, making it impossible to forget one. If we ever rewrite svgAttributeChanged & co to auto-update the cloned instances,
+ this can go away.
+
+ (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
+ Now takes an SVGAnimatedType* instead of a String parameter. In order to avoid string-roundtrips for animVal support, let us
+ decide if we need to construct a String out of it, or not. For animations supporting animVal (only SVGLength) we don't need
+ to update any attribute or animVal pointer here, that happens automatically! We only need to notify the targetElement eg,
+ that its xAttr changed! Previously we had to call targetElement->setAttribute("x", "...") on every animation step for
+ SVGLength animations - that's gone now! The SVGAnimatedType pointers remains the same during the whole animation, so there's
+ no need to call animationStarted() at each animated step!
+
+ (WebCore::SVGAnimationElement::animatedPropertyForType):
+ Helper function returning a SVGAnimatedProperty* for the current target element & current target attribute, if the
+ current animation is running on a type supporting animVal (SVGLength), or returning 0. This is needed for SVGAnimateElement.
+ Reuses the existing findMatchingAnimatedProperty code.
+
+ * svg/SVGAnimationElement.h:
+ * svg/animation/SMILTimeContainer.cpp:
+ (WebCore::SMILTimeContainer::updateAnimations):
+ Add comment to clarify why caching baseValues is just wrong. For SVGLength animations the problem is now gone.
+ This is exercised using the new additive-from-to-width-animation.html & additive-values-width-animation.html tests.
+
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::removedFromDocument):
+ Since animVal requires that the SVGAnimatedProperties are correctly reset if an animation element is removed from the document,
+ we have to call targetElementWillChange(0) from here. That requires to move the "m_attributeName = anyQName()" line down,
+ otherwise targetElementWillChange() would early exit, as no valid attributeName was specified.
+
+ This is verified using the new svg/animations/remove-animation-element-while-animation-is-running.html
+ and svg/repaint/repainting-after-animation-element-removal.svg tests.
+
+ (WebCore::SVGSMILElement::isSupportedAttribute): Add function like all SVG*Elements have identifying their supported attributes.
+ (WebCore::SVGSMILElement::svgAttributeChanged):
+ Implement svgAttributeChanged instead of attributeChanged. Only take action if the attribute is actually supported.
+ If one of the common attributes like begin/end/etc. changed, be sure to call animationAttributeChanged() so that our
+ ancestor-classes get notified about this and can take action as well. NOTE: This is not about animating begin/end attributes,
+ but about pure DOM changes. begin/end/et.. are not exposed to the SVG DOM, we still reuse the svgAttributeChanged logic
+ for consistency. (This does NOT make those attributes animatable, nothing this here as it came up while reviewing).
+
+ (WebCore::SVGSMILElement::targetElement): Adapt logic to targetElementDidChange -> targetElementWillChange change.
+ (WebCore::SVGSMILElement::targetElementWillChange):
+ Renamed from targetElementDidChange. Added "oldTarget" as parameter as well. Our ancestor-classes like SVGAnimateElement
+ use this to properly deregister the animVal in the old target, before resetting the SVGAnimatedType, otherwise we'd leave
+ dangling pointers around (verified manually by guard malloc runs, that none of this happens).
+
+ Also add a default implementation here in targetElementWillChange, that ancestor classes have to call.
+ Now we properly call endedActiveInterval() if the m_activeState is currently Active, so that animations are shut-down
+ just like if the animation properly ends (use the same cleanup routines, etc.). Not doing that now leads to assertions.
+
+ (WebCore::SVGSMILElement::resetTargetElement):
+ Instead of forcing m_activeState to be inactive, use the standard methods to end the animation.
+ targetElementWillChange(m_targetElement, 0) and animationAttributeChanged().
+
+ resetTargetElement() is only called by SVGDocumentExtensions::removeAllAnimationElementsFromTarget() for following conditions:
+ - targetElement gets destructed
+ - targetElement gets removed from the document
+ - targetElement id changes
+
+ If the targetElement gets destructed or removed, no actions need to be taken, as the SVGAnimatedPropertys are teared down
+ as well. But if only the id changes, we still have to properly disconnect the animVals - this is all handled through
+ targetElementWillChange now - that's why this has to be called from here as well.
+ That explains why targetElementWillChange() now needs to check if the targetElement is destructing or not.
+
+ * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
+ Pass the AnimatedPropertyType from the SVGPropertyInfo to the SVGAnimatedProperties.
+ Requires mechanic changes in all SVGAnimated* classes. We need acccess to the AnimatedPropertyType
+ to verify the SVGAnimatedType objects, passed to animationStarted, match our type. This is to enforce
+ strict type-checking, whenever SVGGenericAnimatedTypes are passed around.
+
+ (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
+ (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
+ * svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
+ (WebCore::SVGAnimatedListPropertyTearOff::create):
+ (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
+ * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
+ (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
+ (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
+ * svg/properties/SVGAnimatedProperty.h: Store AnimatedPropertyType, add accessors.
+ (WebCore::SVGAnimatedProperty::animatedPropertyType): Add accessor.
+ (WebCore::SVGAnimatedProperty::animationValueChanged): New animVal related functions to be implemented in the animated tear offs.
+ (WebCore::SVGAnimatedProperty::animationStarted): Ditto.
+ (WebCore::SVGAnimatedProperty::animationEnded): Ditto.
+ (WebCore::SVGAnimatedProperty::currentBaseValue):
+ Generic accessor for the baseVal: returns a SVGGenericAnimatedType.
+ It takes an AnimatedPropertyType as input, that's only needed to verify that the type we're returning matches
+ the expectation of the caller. If not, return 0 to avoid any potential casting mistakes, which would lead to crashes.
+
+ (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): Store m_animatedPropertyType.
+ * svg/properties/SVGAnimatedPropertyTearOff.h:
+ (WebCore::SVGAnimatedPropertyTearOff::create): Same changes as in the other tear offs: pass around AnimatedPropertyType.
+ (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue): Returns &m_property, if the type matches (see above).
+ (SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
+ (WebCore::SVGAnimatedPropertyTearOff::animationValueChanged): No-op for non list types, don't need to do anything here.
+ (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
+ (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
+ Store the currently animated value in the animVal() property tear off, that's also re-used as-is for the JS bindings.
+ As this is important, here's an example of how this affects methods like rect->x() used in the renderers.
+
+ Setting m_isAnimating to true, redirects any rect->x() calls that previously returned rect->m_x, to
+ rect->xAnimated()->animVal()->propertyReference() (which returns the same SVGLength& that the SVGAnimatedElement
+ m_animatedType contains). Calling rect->setXBaseValue() still modifies rect->m_x, and is used by all parseAttribute()
+ methods in svg/ as setAttribute() calls only ever modify the "baseValue", never the current animated value.
+ rect.x.baseVal will return a SVGLength object corresponding to rect->m_x.
+ rect.x.animVal will return a SVGLength object corresponding to rect->xAnimated()->animVal()->propertyReference().
+
+ These implementation details are all hidden in the SVGAnimatedPropertyMacros. Here's an example from SVGRectElement:
+ DECLARE_ANIMATED_LENGTH(X, x) -> Replace PropertyType with 'SVGLength', LowerProperty with 'x', and UpperProperty with 'X'.
+
+ PropertyType& LowerProperty() const
+ {
+ if (TearOffType* wrapper = SVGAnimatedProperty::lookupWrapper<UseOwnerType, TearOffType, IsDerivedFromSVGElement<UseOwnerType>::value>(this, LowerProperty##PropertyInfo())) {
+ if (wrapper->isAnimating())
+ return wrapper->currentAnimatedValue();
+ }
+ return m_##LowerProperty.value;
+ }
+
+ PropertyType& LowerProperty##BaseValue() const
+ {
+ return m_##LowerProperty.value;
+ }
+
+ void set##UpperProperty##BaseValue(const PropertyType& type)
+ {
+ m_##LowerProperty.value = type;
+ }
+
+ Any code outside of svg/, eg. in rendering/svg, does not need to care about any baseVal/animVal differences.
+ During layout eg. RenderSVGRect calls rect->x().value(someLengthContext) to get the current 'x' as float. If an animation
+ is running on that rect element it will automatically retrieve the last set animated value here - all under the hood.
+ I hope that sheds some light in those myserious functions, they were designed with animVal in mind, but we never had that until now :-)
+
+ (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
+ (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): Add destructor to debug builds veryifing that m_isAnimating is false.
+ * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.
+ (WebCore::SVGAnimatedStaticPropertyTearOff::create):
+ (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
+ * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
+ (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
+ (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
+ * svg/properties/SVGPropertyInfo.h: Add SVGGenericAnimatedType definition.
+ * svg/properties/SVGPropertyTearOff.h: Remove obsolete updateAnimVal method - switched to using setValue directly.
+
+2012-03-13 Luke Macpherson <macpherson@chromium.org>
+
+ Implement CSSPropertyTextOverflow in CSSStyleApplyProperty.
+ https://bugs.webkit.org/show_bug.cgi?id=80934
+
+ Reviewed by Andreas Kling.
+
+ No new tests / refactoring only.
+
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+
+2012-03-12 Matt Falkenhagen <falken@chromium.org>
+
+ Switch Chromium from LocaleToScriptMappingICU.cpp to LocaleToScriptMappingDefault.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=80935
+
+ Reviewed by Kent Tamura.
+
+ ICU seems to have issues with non-well-formed locale strings.
+ Currently, the only port that uses LocaleToScriptMappingICU.cpp is
+ Chromium.
+
+ No new tests. LocaleToScriptMappingDefault.cpp is already used by
+ other ports and covered by existing tests.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2012-03-12 Benjamin Poulain <bpoulain@apple.com>
+
+ Fix IndexedDB build with JSC
+ https://bugs.webkit.org/show_bug.cgi?id=80207
+
+ Reviewed by Adam Barth.
+
+ This fixes the build of WebKit when IndexedDB is enabled. Most functions were added
+ empty implementation, it compiles but IndexedDB is not working.
+
+ * DerivedSources.make: Added missing IDL files.
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h: Fix warnings and build errors.
+ (IDBDatabaseBackendImpl):
+ * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: ditto.
+ (WebCore::IDBDatabaseCallbacksImpl::unregisterDatabase): ditto.
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp: ditto.
+ (WebCore::IDBFactoryBackendImpl::openBackingStore):
+ * Modules/indexeddb/IDBIndexBackendImpl.cpp: ditto.
+ (WebCore::IDBIndexBackendImpl::countInternal):
+ * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Fix the method signature and add
+ an empty implementation.
+ (WebCore):
+ (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
+ (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Fix warnings.
+ (WebCore::IDBObjectStoreBackendImpl::countInternal):
+ * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: ditto.
+ (WebCore::transactions):
+ * Modules/indexeddb/IDBRequest.cpp: ditto.
+ (WebCore::IDBRequest::resetReadyState):
+ * Modules/indexeddb/IDBRequest.h: ditto.
+ (WebCore::IDBRequest::onSuccessWithPrefetch):
+ (WebCore):
+ (WebCore::JSIDBVersionChangeRequest::visitChildren):
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/IDBBindingUtilities.cpp:
+ (WebCore::createIDBKeyFromValue): Fix the creation of IDBKeys.
+ (WebCore::createOptionsObjectFromValue): Add an empty implementation of
+ the handling of database options (IDBObjectStoreParameters).
+ (WebCore):
+ * bindings/js/IDBBindingUtilities.h:
+ (WebCore):
+ * bindings/js/JSIDBAnyCustom.cpp:
+ (WebCore::toJS): Add the missing IDBAny's types.
+ * bindings/js/JSIDBKeyCustom.cpp:
+ (WebCore::toJS): Add the missing IDBKey's types.
+ * bindings/js/JSIDBVersionChangeRequestCustom.cpp: Added.
+ IDBVersionChangeRequest has the attribute EventTarget so it requires
+ the visitChildren() function. An empty implementation was added.
+ * bindings/js/OptionsObject.h: Add an empty implementation.
+ (WebCore):
+ (OptionsObject):
+ (WebCore::OptionsObject::OptionsObject):
+ (WebCore::OptionsObject::isObject):
+ (WebCore::OptionsObject::isUndefinedOrNull):
+ (WebCore::OptionsObject::get):
+ (WebCore::OptionsObject::getWithUndefinedOrNullCheck):
+ * bindings/js/SerializedScriptValue.cpp: Add the missing functions needed by IndexedDB.
+ (WebCore):
+ (WebCore::SerializedScriptValue::create):
+ (WebCore::SerializedScriptValue::toWireString):
+ (WebCore::SerializedScriptValue::createFromWire):
+ (WebCore::SerializedScriptValue::numberValue):
+ (WebCore::SerializedScriptValue::deserialize):
+ * bindings/js/SerializedScriptValue.h:
+ (SerializedScriptValue):
+ * bindings/scripts/CodeGeneratorJS.pm: Modify the code generator to:
+ -Support the IDBKey type correctly.
+ -Support the OptionsObject type.
+ -Generate valid function call for static functions.
+ (GenerateImplementationFunctionCall):
+ (JSValueToNative):
+ (NativeToJSValue):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+
+2012-03-12 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110529.
+ http://trac.webkit.org/changeset/110529
+ https://bugs.webkit.org/show_bug.cgi?id=80969
+
+ breaks mac build (Requested by morrita on #webkit).
+
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::computeUnoccludedContentRect):
+
+2012-03-12 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110524.
+ http://trac.webkit.org/changeset/110524
+ https://bugs.webkit.org/show_bug.cgi?id=80936
+
+ breaks chromium win build. (Requested by morrita on #webkit).
+
+ * Target.pri:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHeader):
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (V8Float64Array):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (V8TestActiveDOMObject):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (V8TestCustomNamedGetter):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (V8TestEventConstructor):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (V8TestEventTarget):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (V8TestInterface):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (V8TestMediaQueryListListener):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (V8TestNamedConstructor):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (V8TestSerializedScriptValueInterface):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npObjectTypeInfo):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::GrouperVisitor::visitDOMWrapper):
+ * bindings/v8/WrapperTypeInfo.h:
+ (WebCore):
+ (WrapperTypeInfo):
+ * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
+ (WebCore):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ (WebCore::toV8):
+ (WebCore):
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
+ (WebCore):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::toV8):
+ (WebCore):
+ * bindings/v8/custom/V8StyleSheetCustom.cpp:
+ (WebCore::toV8):
+ * css/CSSStyleSheet.idl:
+ * css/StyleSheet.idl:
+ * dom/DOMStringMap.idl:
+ * dom/NamedNodeMap.idl:
+ * html/DOMTokenList.idl:
+ * html/track/TextTrackList.idl:
+
+2012-03-12 Kentaro Hara <haraken@chromium.org>
+
+ [V8][Refactoring] Remove getCachedWrapperSlow() from V8Bindings.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=80924
+
+ Reviewed by Adam Barth.
+
+ getCachedWrapperSlow() is called by getCachedWrapper() only,
+ and getCachedWrapperSlow() just calls getCachedWrapperInline().
+ Thus, this patch expands getCachedWrapperInline() into getCachedWrapper(),
+ and removes getCachedWrapperSlow().
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::getCachedWrapper):
+
+2012-03-12 Kentaro Hara <haraken@chromium.org>
+
+ [V8][Refactoring] Remove existingWrapper() from generated code
+ https://bugs.webkit.org/show_bug.cgi?id=80927
+
+ Reviewed by Adam Barth.
+
+ Currently wrap() calls existingWrapper(), and existingWrapper()
+ just calls getCachedWrapper(). We can remove existingWrapper() from the generated code.
+
+ Test: bindings/scripts/test/*
+
+ * bindings/scripts/CodeGeneratorV8.pm: Removed existingWrapper().
+ (GenerateHeader):
+ (GenerateNormalAttrGetter):
+
+ * bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.
+ (V8Float64Array):
+ (WebCore::V8Float64Array::wrap):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (V8TestActiveDOMObject):
+ (WebCore::V8TestActiveDOMObject::wrap):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (V8TestCustomNamedGetter):
+ (WebCore::V8TestCustomNamedGetter::wrap):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (V8TestEventConstructor):
+ (WebCore::V8TestEventConstructor::wrap):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (V8TestEventTarget):
+ (WebCore::V8TestEventTarget::wrap):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (V8TestInterface):
+ (WebCore::V8TestInterface::wrap):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (V8TestMediaQueryListListener):
+ (WebCore::V8TestMediaQueryListListener::wrap):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (V8TestNamedConstructor):
+ (WebCore::V8TestNamedConstructor::wrap):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
+ (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
+ (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+ (WebCore::V8TestObj::wrap):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (V8TestSerializedScriptValueInterface):
+ (WebCore::V8TestSerializedScriptValueInterface::wrap):
+
+2012-03-12 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Use tileRect instead of pointer derefs
+ https://bugs.webkit.org/show_bug.cgi?id=80919
+
+ Reviewed by Adrienne Walker.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawTileQuad):
+
+2012-03-12 Hans Muller <hmuller@adobe.com>
+
+ SVG should support transform-origin and relative values
+ https://bugs.webkit.org/show_bug.cgi?id=79068
+
+ Reviewed by Dirk Schulze.
+
+ Added SVG support for the CSS 'transform-origin' property and for percentage
+ values in the transform translate function. The changes conform to
+ http://dev.w3.org/csswg/css3-transforms/.
+
+ Tests: svg/transforms/percent-transform-values.xhtml
+ svg/transforms/transform-origin-css-property.xhtml
+
+ * css/svg.css:
+ (*):
+ (html|* > svg):
+ Default transform-origin for SVG elements is 0 0.
+
+ * platform/Length.h:
+ (WebCore::Length::calcFloatValue):
+ Added a calcFloatValue overload whose max parameter (for percent lengths) is a float.
+ The original version will be obsolete when the sub-pixel layout support is completed.
+
+ * rendering/style/RenderStyle.cpp:
+ * rendering/style/RenderStyle.h:
+ (WebCore):
+ (WebCore::requireTransformOrigin):
+ Transforms that only include translations don't depend on the transform-origin.
+
+ (WebCore::RenderStyle::applyTransform):
+ SVG elements interpret non-percentage/keyword transform-origin values relative to their viewport,
+ unlike HTML which interprets all transform-origin values relative to the element's origin.
+ The new FloatRect applyTransform() function handles SVG semantics. Similarly, SVG elements interpret
+ percentage/keyword transform-origin values relative to the origin of their objectBoundingBox(), HTML
+ uses the borderBox. All this per http://dev.w3.org/csswg/css3-transforms/.
+
+ * svg/SVGStyledTransformableElement.cpp:
+ (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
+
+2012-03-12 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Use projectQuad to apply inverse mapRect
+ https://bugs.webkit.org/show_bug.cgi?id=80741
+
+ Reviewed by Adrienne Walker.
+
+ Unit test: CCOcclusionTrackerTest3dTransform
+ CCOcclusionTrackerTestPerspectiveTransform
+ CCOcclusionTrackerTestPerspectiveTransformBehindCamera
+
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::projectQuad):
+ (WebCore):
+ (WebCore::computeUnoccludedContentRect):
+
+2012-03-12 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ [BlackBerry] Upstream the BlackBerry change to platform/graphics/FontPlatformData.h
+ https://bugs.webkit.org/show_bug.cgi?id=80820
+
+ Reviewed by Rob Buis.
+
+ The BlackBerry is using the FontPlatformData from Chromium porting.
+
+ * platform/graphics/FontPlatformData.h:
+
+2012-03-12 Zhenyao Mo <zmo@google.com>
+
+ After webgl canvas resize, bindings might be lost
+ https://bugs.webkit.org/show_bug.cgi?id=80895
+
+ Reviewed by Stephen White.
+
+ Test: fast/canvas/webgl/texture-bindings-uneffected-on-resize.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::reshape): recover bindings after reshape.
+
+2012-03-12 Kentaro Hara <haraken@chromium.org>
+
+ [V8][Refactoring] Remove getWrapper() and getWrapperSlow()
+ https://bugs.webkit.org/show_bug.cgi?id=80920
+
+ Reviewed by Adam Barth.
+
+ Now getWrapper() is the same as getExistingWrapper().
+ getWrapperSlow() is the same as getExistingWrapperSlow().
+ This patch removes getWrapper() and getWrapperSlow().
+ Also this patch renames getExistingWrapper() to getCachedWrapper().
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getWrapperSlow):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::getWrapper):
+ (V8DOMWrapper):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::toV8Slow):
+
+2012-03-12 Erik Arvidsson <arv@chromium.org>
+
+ [V8] Use v8::V8::AddHiddenReferences instead of SetHiddenValue
+ https://bugs.webkit.org/show_bug.cgi?id=80880
+
+ Reviewed by Adam Barth.
+
+ We used to add a hidden property in the getter to the returned wrapper.
+ With this patch we instead handle the liveness of the wrapper in the GC phase by
+ calling v8::V8::AddHiddenReference.
+
+ To reduce the amount of custom code we need, the V8 code generator now supports
+ GenerateIsReachable (as well as CustomIsReachable) which, even though different
+ from the JSC attribute, is used in the same cases and takes the same values (even though
+ at the moment not all JSC values are supported by V8).
+
+ No new tests. Covered by existing tests.
+
+ * Target.pri:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GetGenerateIsReachable):
+ (GetCustomIsReachable):
+ (GenerateHeader):
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (NeedsToVisitDOMWrapper):
+ (GetGenerateIsReachable):
+ (GetCustomIsReachable):
+ (GenerateVisitDOMWrapper):
+ (GenerateHeader):
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (V8Float64Array):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (V8TestActiveDOMObject):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (V8TestCustomNamedGetter):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (V8TestEventConstructor):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (V8TestEventTarget):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (V8TestInterface):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (V8TestMediaQueryListListener):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (V8TestNamedConstructor):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (V8TestSerializedScriptValueInterface):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npObjectTypeInfo):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::GrouperVisitor::visitDOMWrapper):
+ * bindings/v8/WrapperTypeInfo.h:
+ (WebCore):
+ (WrapperTypeInfo):
+ * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ * bindings/v8/custom/V8StyleSheetCustom.cpp:
+ (WebCore::toV8):
+ * css/CSSStyleSheet.idl:
+ * css/StyleSheet.idl:
+ * dom/DOMStringMap.idl:
+ * dom/NamedNodeMap.idl:
+ * html/DOMTokenList.idl:
+ * html/track/TextTrackList.idl:
+
+2012-03-12 Kentaro Hara <haraken@chromium.org>
+
+ [V8][Refactoring] Make getWrapperSlow() and getExistingWrapperSlow() same
+ https://bugs.webkit.org/show_bug.cgi?id=80916
+
+ Reviewed by Adam Barth.
+
+ This is one of the steps for fixing bug 80841.
+ This patch makes getWrapperSlow() and getExistingWrapperSlow() same.
+ In the next patch, we will remove getExistingWrapper() and getExistingWrapperSlow().
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getWrapperSlow):
+
+2012-03-12 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Refactor some header includes in V8 bindings
+ https://bugs.webkit.org/show_bug.cgi?id=80913
+
+ Reviewed by Adam Barth.
+
+ This patch refactors some header includes in V8 bindings
+ required for fixing bug 80841.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/DOMDataStore.h:
+ (DOMDataStore):
+ * bindings/v8/V8DOMMap.h:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8IsolatedContext.cpp:
+ (WebCore::V8IsolatedContext::isolatedContext):
+ * bindings/v8/V8IsolatedContext.h:
+ (WebCore::V8IsolatedContext::getEntered):
+ (V8IsolatedContext):
+ * bindings/v8/WorldContextHandle.cpp:
+
+2012-03-12 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110501.
+ http://trac.webkit.org/changeset/110501
+ https://bugs.webkit.org/show_bug.cgi?id=80908
+
+ Broke the Apple-Win build (Requested by abarth on #webkit).
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.xcodeproj/project.pbxproj:
+ * fileapi/DirectoryEntry.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.cpp.
+ (WebCore):
+ (WebCore::DirectoryEntry::DirectoryEntry):
+ (WebCore::DirectoryEntry::createReader):
+ (WebCore::DirectoryEntry::getFile):
+ (WebCore::DirectoryEntry::getDirectory):
+ (WebCore::DirectoryEntry::removeRecursively):
+ * fileapi/DirectoryEntry.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.h.
+ (WebCore):
+ (DirectoryEntry):
+ (WebCore::DirectoryEntry::create):
+ (WebCore::DirectoryEntry::isDirectory):
+ * fileapi/DirectoryEntry.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.idl.
+ * fileapi/DirectoryEntrySync.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.cpp.
+ (WebCore):
+ (WebCore::DirectoryEntrySync::DirectoryEntrySync):
+ (WebCore::DirectoryEntrySync::createReader):
+ (WebCore::DirectoryEntrySync::getFile):
+ (WebCore::DirectoryEntrySync::getDirectory):
+ (WebCore::DirectoryEntrySync::removeRecursively):
+ * fileapi/DirectoryEntrySync.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.h.
+ (WebCore):
+ (DirectoryEntrySync):
+ (WebCore::DirectoryEntrySync::create):
+ (WebCore::DirectoryEntrySync::isDirectory):
+ * fileapi/DirectoryEntrySync.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.idl.
+ * fileapi/DirectoryReader.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.cpp.
+ (WebCore):
+ (WebCore::DirectoryReader::DirectoryReader):
+ (WebCore::DirectoryReader::readEntries):
+ * fileapi/DirectoryReader.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.h.
+ (WebCore):
+ (DirectoryReader):
+ (WebCore::DirectoryReader::create):
+ (WebCore::DirectoryReader::filesystem):
+ * fileapi/DirectoryReader.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.idl.
+ * fileapi/DirectoryReaderBase.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderBase.h.
+ (WebCore):
+ (DirectoryReaderBase):
+ (WebCore::DirectoryReaderBase::filesystem):
+ (WebCore::DirectoryReaderBase::setHasMoreEntries):
+ (WebCore::DirectoryReaderBase::DirectoryReaderBase):
+ * fileapi/DirectoryReaderSync.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.cpp.
+ (WebCore):
+ (WebCore::DirectoryReaderSync::DirectoryReaderSync):
+ (WebCore::DirectoryReaderSync::readEntries):
+ * fileapi/DirectoryReaderSync.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.h.
+ (WebCore):
+ (DirectoryReaderSync):
+ (WebCore::DirectoryReaderSync::create):
+ * fileapi/DirectoryReaderSync.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.idl.
+
+2012-03-12 Nico Weber <thakis@chromium.org>
+
+ [chromium/mac] Make sure libWebKitSystemInterface.a doesn't contain ppc object files.
+ https://bugs.webkit.org/show_bug.cgi?id=80902
+
+ Reviewed by Adam Barth.
+
+ Follow-up to http://codereview.chromium.org/9638015/
+
+ No intended behavior change.
+
+ * WebCore.gyp/mac/adjust_visibility.sh:
+
+2012-03-12 Jer Noble <jer.noble@apple.com>
+
+ WebCore: Add support for AudioNode "tailTime()" and "latencyTime()"
+ https://bugs.webkit.org/show_bug.cgi?id=74750
+
+ Reviewed by Chris Rogers.
+
+ No new tests; optimization of existing code path, so covered by existing tests.
+
+ To account for AudioNodes which may generate non-silent audio when fed silent input
+ for a certain amount of time after the last non-silent audio data, add two new virtual
+ functions tailTime() and latencyTime().
+
+ * webaudio/AudioNode.h:
+ (WebCore::AudioNode::tailTime): Added. Pure virtual.
+ (WebCore::AudioNode::latencyTime): Added. Pure virtual.
+ * platform/audio/AudioProcessor.h:
+ (WebCore::AudioProcessor::tailTime): Added. Pure virtual.
+ (WebCore::AudioProcessor::latencyTime): Added. Pure virtual.
+ * platform/audio/AudioDSPKernel.h:
+ (WebCore::AudioDSPKernel::tailTime): Added. Pure virtual.
+ (WebCore::AudioDSPKernel::latencyTime): Added. Pure virtual.
+
+ Added tailTime() and latencyTime() overrides to the following classes:
+ * platform/audio/AudioDSPKernelProcessor.cpp:
+ (WebCore::AudioDSPKernelProcessor::tailTime):
+ (WebCore::AudioDSPKernelProcessor::latencyTime):
+ * platform/audio/AudioDSPKernelProcessor.h:
+ * platform/audio/DynamicsCompressor.h:
+ (WebCore::DynamicsCompressor::tailTime):
+ (WebCore::DynamicsCompressor::latencyTime):
+ * platform/audio/EqualPowerPanner.h:
+ * platform/audio/HRTFPanner.cpp:
+ (WebCore::HRTFPanner::tailTime):
+ (WebCore::HRTFPanner::latencyTime):
+ * platform/audio/HRTFPanner.h:
+ * platform/audio/Panner.h:
+ * webaudio/AudioBasicProcessorNode.cpp:
+ (WebCore::AudioBasicProcessorNode::tailTime):
+ (WebCore::AudioBasicProcessorNode::latencyTime):
+ * webaudio/AudioBasicProcessorNode.h:
+ * webaudio/AudioChannelMerger.h:
+ * webaudio/AudioChannelSplitter.h:
+ * webaudio/AudioDestinationNode.h:
+ * webaudio/AudioGainNode.h:
+ * webaudio/AudioPannerNode.h:
+ * webaudio/AudioSourceNode.h:
+ * webaudio/BiquadDSPKernel.cpp:
+ (WebCore::BiquadDSPKernel::tailTime):
+ (WebCore::BiquadDSPKernel::latencyTime):
+ * webaudio/BiquadDSPKernel.h:
+ * webaudio/BiquadFilterNode.h:
+ * webaudio/ConvolverNode.cpp:
+ (WebCore::ConvolverNode::tailTime):
+ (WebCore::ConvolverNode::latencyTime):
+ * webaudio/ConvolverNode.h:
+ * webaudio/DelayDSPKernel.cpp:
+ (WebCore::DelayDSPKernel::tailTime):
+ (WebCore::DelayDSPKernel::latencyTime):
+ * webaudio/DelayDSPKernel.h:
+ * webaudio/DelayProcessor.h:
+ * webaudio/DynamicsCompressorNode.cpp:
+ (WebCore::DynamicsCompressorNode::tailTime):
+ (WebCore::DynamicsCompressorNode::latencyTime):
+ * webaudio/DynamicsCompressorNode.h:
+ * webaudio/JavaScriptAudioNode.cpp:
+ (WebCore::JavaScriptAudioNode::tailTime):
+ (WebCore::JavaScriptAudioNode::latencyTime):
+ * webaudio/JavaScriptAudioNode.h:
+ * webaudio/RealtimeAnalyserNode.h:
+ * webaudio/WaveShaperDSPKernel.h:
+
+ The following functions were added as support for the new AudioNode and AudioProcessor functions:
+ * platform/audio/Biquad.cpp:
+ (WebCore::Biquad::latencyFrames):
+ * platform/audio/Biquad.h:
+ * platform/audio/Reverb.cpp:
+ (WebCore::Reverb::latencyFrames):
+ * platform/audio/ReverbConvolver.h:
+ (WebCore::ReverbConvolver::latencyFrames):
+
+ The following functions were made const-correct:
+ * platform/audio/HRTFPanner.h:
+ (WebCore::HRTFPanner::fftSize):
+ * platform/audio/Reverb.h:
+ (WebCore::Reverb::impulseResponseLength):
+
+2012-03-12 Anders Carlsson <andersca@apple.com>
+
+ WebTileLayers should be opaque
+ https://bugs.webkit.org/show_bug.cgi?id=80907
+ <rdar://problem/11034390>
+
+ Reviewed by Andreas Kling.
+
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::createTileLayer):
+ Call -[CALayer setOpaque:] on the newly created WebTileLayer.
+
+2012-03-12 Emil A Eklund <eae@chromium.org>
+
+ Fix rounding in scrollbar rect calculations
+ https://bugs.webkit.org/show_bug.cgi?id=80894
+
+ Reviewed by Eric Seidel.
+
+ Fix usage of subpixel units in RenderScrollbar::buttonRect and
+ RenderScrollbar::trackRect.
+
+ No new tests, no new functionality.
+
+ * rendering/LayoutTypes.h:
+ (WebCore::isIntegerValue):
+ Add dummy isIntegerValue function, will be replaced with actual
+ implementation once LayoutUnit is remapped to FractionalLayoutUnit.
+
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::buttonRect):
+ (WebCore::RenderScrollbar::trackRect):
+ Change rect calculations to use pixel snapped values.
+
+ * rendering/RenderScrollbarPart.h:
+ (RenderScrollbarPart):
+ (WebCore::RenderScrollbarPart::marginTop):
+ (WebCore::RenderScrollbarPart::marginBottom):
+ (WebCore::RenderScrollbarPart::marginLeft):
+ (WebCore::RenderScrollbarPart::marginRight):
+ Add ASSERT to ensure that scrollbar parts are always aligned to device
+ pixels.
+
+2012-03-12 C Anthony Risinger <anthony@xtfx.me>
+
+ [GObject IDL Parser] STRING argument should be HASHREF
+ https://bugs.webkit.org/show_bug.cgi?id=78877
+
+ Reviewed by Kentaro Hara.
+
+ * bindings/scripts/CodeGeneratorGObject.pm:
+ (GenerateFunctions): extendedAttributes are hashes, not strings
+
+2012-03-12 Jessie Berlin <jberlin@apple.com>
+
+ More Windows build fixing.
+
+ Use fully qualified paths for WTF headers.
+
+ * platform/graphics/cg/ImageSourceCGWin.cpp:
+ * platform/graphics/win/UniscribeController.h:
+ * platform/win/DragImageCGWin.cpp:
+ * platform/win/DragImageCairoWin.cpp:
+ * platform/win/DragImageWin.cpp:
+ * rendering/RenderThemeSafari.cpp:
+
+2012-03-12 Mark Pilgrim <pilgrim@chromium.org>
+
+ Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
+ https://bugs.webkit.org/show_bug.cgi?id=80625
+
+ Reviewed by Adam Barth.
+
+ No new tests, all existing tests pass.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * Modules/filesystem: Added.
+ * Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
+ * Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
+ * Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
+ * Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
+ * Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
+ * Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
+ * Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
+ * Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
+ * Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
+ * Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
+ * Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
+ * Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
+ * Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
+ * Target.pri:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.xcodeproj/project.pbxproj:
+ * fileapi/DirectoryEntry.cpp: Removed.
+ * fileapi/DirectoryEntry.h: Removed.
+ * fileapi/DirectoryEntry.idl: Removed.
+ * fileapi/DirectoryEntrySync.cpp: Removed.
+ * fileapi/DirectoryEntrySync.h: Removed.
+ * fileapi/DirectoryEntrySync.idl: Removed.
+ * fileapi/DirectoryReader.cpp: Removed.
+ * fileapi/DirectoryReader.h: Removed.
+ * fileapi/DirectoryReader.idl: Removed.
+ * fileapi/DirectoryReaderBase.h: Removed.
+ * fileapi/DirectoryReaderSync.cpp: Removed.
+ * fileapi/DirectoryReaderSync.h: Removed.
+ * fileapi/DirectoryReaderSync.idl: Removed.
+
+2012-03-12 Brady Eidson <beidson@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=80903
+ InspectorDOMStorageAgent creates a Storage object which is a DOMWindowProperty - Should use the StorageArea directly
+
+ Reviewed by Tim Hatcher.
+
+ No new tests. (No behavior change)
+
+ Changed to hold the StorageArea directly and added a Frame* accessor:
+ * inspector/InspectorDOMStorageResource.h:
+ (WebCore::InspectorDOMStorageResource::create):
+ (WebCore::InspectorDOMStorageResource::storageArea):
+ (WebCore::InspectorDOMStorageResource::frame):
+ (InspectorDOMStorageResource):
+
+ * inspector/InspectorDOMStorageResource.cpp:
+ (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
+
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
+ (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
+ (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
+ (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
+
2012-03-12 Brian Salomon <bsalomon@google.com>
[Skia] Release CGImage used to apply color space conversion to SkBitmap
« no previous file with comments | « no previous file | Source/WebCore/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698