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 |