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

Unified Diff: Source/WebCore/ChangeLog

Side-by-side diff isn't available for this file because of its large size.
Issue 10694124: Merge 122082 - Heap-use-after-free in WebCore::RenderObject::destroyAndCleanupAnonymousWrappers (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1180/
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 122284)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,17619 @@
+2012-07-05 MORITA Hajime <morrita@google.com>
+
+ Heap-use-after-free in WebCore::RenderObject::destroyAndCleanupAnonymousWrappers
+ https://bugs.webkit.org/show_bug.cgi?id=90480
+
+ Reviewed by Kent Tamura.
+
+ If <select> has any insertion point, the attachment phase
+ unpextedly creates a renderer for distributed node and added to
+ the renderer of the <select>, which breaks an assumption and
+ results the crash.
+
+ This change tighten the childShouldCreateRenderer() to forbid
+ child renderers even from distributed nodes.
+
+ There is an exception as always: ValidationMessage can create a
+ ShadowRoot to <select>, which generates usually-forbidden child
+ renderers. This change introduces HTMLFormControlElement::validationMessageContains()
+ to let these renderers in.
+
+ Test: fast/dom/shadow/insertion-point-list-menu-crash.html
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::validationMessageContains):
+ (WebCore):
+ * html/HTMLFormControlElement.h:
+ (HTMLFormControlElement):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::childShouldCreateRenderer):
+ * html/ValidationMessage.cpp:
+ (WebCore::ValidationMessage::contains):
+ (WebCore):
+ * html/ValidationMessage.h:
+ (WebCore):
+ (ValidationMessage):
+
+2012-07-07 Kwang Yul Seo <skyul@company100.net>
+
+ Remove unnecessary member HTMLTreeBuilder::m_lastScriptElementStartPosition
+ https://bugs.webkit.org/show_bug.cgi?id=90726
+
+ Reviewed by Adam Barth.
+
+ HTMLTreeBuilder::m_lastScriptElementStartPosition is of no use. Currently,
+ m_lastScriptElementStartPosition is used to store the text position in
+ "script" start tag, and then the stored position is passed to m_scriptToProcessStartPosition
+ later in "script" end tag. Because HTMLTreeBuilder handles one script tag at
+ a time, we can store the text position directly to m_scriptToProcessStartPosition
+ in "script" start tag.
+
+ No behavior change, so no new tests.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
+ (WebCore::HTMLTreeBuilder::processEndTag):
+ (WebCore::HTMLTreeBuilder::processScriptStartTag):
+ * html/parser/HTMLTreeBuilder.h:
+ (HTMLTreeBuilder):
+
+2012-07-08 Philip Rogers <pdr@google.com>
+
+ Refactor RenderSVGShape to not contain fallback code
+ https://bugs.webkit.org/show_bug.cgi?id=90514
+
+ Reviewed by Nikolas Zimmermann.
+
+ The interaction between RenderSVGShape and {RenderSVGEllipse, RenderSVGRect}
+ was too coupled and it was not clear when a path existed or who controlled
+ falling back to path codepaths in RenderSVGShape.
+
+ This patch cleans up RenderSVGShape so that it does not track fallback state
+ and does not have special handling for creating a shape in strokeContains. Because
+ some functions of RenderSVGShape can be called without a path existing, each
+ of these functions has switched to using the path() function which asserts that
+ a path exists.
+
+ There is only one remaining use of hasPath() in RenderSVGShape which I plan
+ to remove in a followup patch.
+
+ This patch also cleans up RenderSVGRect and RenderSVGEllipse. These classes
+ now handle fallback tracking themselves and choose when to use their optimized
+ strokeContains codepaths.
+
+ No new tests as this is just a refactoring.
+
+ * rendering/svg/RenderSVGEllipse.cpp:
+ (WebCore::RenderSVGEllipse::RenderSVGEllipse):
+ (WebCore::RenderSVGEllipse::createShape):
+ (WebCore::RenderSVGEllipse::objectBoundingBox):
+ (WebCore::RenderSVGEllipse::strokeBoundingBox):
+ (WebCore::RenderSVGEllipse::fillShape):
+ (WebCore::RenderSVGEllipse::strokeShape):
+ (WebCore::RenderSVGEllipse::shapeDependentStrokeContains):
+ (WebCore::RenderSVGEllipse::shapeDependentFillContains):
+ * rendering/svg/RenderSVGEllipse.h:
+ (WebCore::RenderSVGEllipse::isEmpty):
+ (RenderSVGEllipse):
+ * rendering/svg/RenderSVGRect.cpp:
+ (WebCore::RenderSVGRect::RenderSVGRect):
+ (WebCore::RenderSVGRect::createShape):
+ (WebCore::RenderSVGRect::objectBoundingBox):
+ (WebCore::RenderSVGRect::strokeBoundingBox):
+ (WebCore::RenderSVGRect::fillShape):
+ (WebCore::RenderSVGRect::strokeShape):
+ (WebCore::RenderSVGRect::shapeDependentStrokeContains):
+ (WebCore::RenderSVGRect::shapeDependentFillContains):
+ * rendering/svg/RenderSVGRect.h:
+ (WebCore::RenderSVGRect::isEmpty):
+ (RenderSVGRect):
+ * rendering/svg/RenderSVGShape.cpp:
+ (WebCore::RenderSVGShape::RenderSVGShape):
+ (WebCore::RenderSVGShape::createShape):
+ (WebCore::RenderSVGShape::isEmpty):
+ (WebCore::RenderSVGShape::objectBoundingBox):
+ (WebCore::RenderSVGShape::shapeDependentStrokeContains):
+ (WebCore::RenderSVGShape::shapeDependentFillContains):
+ (WebCore::RenderSVGShape::strokeContains):
+ (WebCore::RenderSVGShape::layout):
+ (WebCore::RenderSVGShape::hasSmoothStroke):
+ (WebCore):
+ * rendering/svg/RenderSVGShape.h:
+ (RenderSVGShape):
+
+2012-07-08 Kinuko Yasuda <kinuko@chromium.org>
+
+ XHR.send should support ArrayBufferView
+ https://bugs.webkit.org/show_bug.cgi?id=90536
+
+ XHR.send should support ArrayBufferView according to the latest draft
+ and also eventually deprecate ArrayBuffer.
+ Spec: http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-send
+
+ Reviewed by Kenneth Russell.
+
+ Test: http/tests/xmlhttprequest/send-array-buffer.html
+ http/tests/xmlhttprequest/send-data-view.html
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::send):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::sendCallback):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore):
+ (WebCore::XMLHttpRequest::send):
+ * xml/XMLHttpRequest.h:
+ (XMLHttpRequest):
+ * xml/XMLHttpRequest.idl:
+
+2012-07-08 Vivek Galatage <vivekgalatage@gmail.com>
+
+ Web Inspector: CodeGeneratorInspector.py should not generate statements with no effect
+ https://bugs.webkit.org/show_bug.cgi?id=90697
+
+ Reviewed by Vsevolod Vlasov.
+
+ Fix to remove the statements with no effect. The check for errors is added only when some valid
+ statements exist.
+
+ No new tests as generator related patch.
+
+ * inspector/CodeGeneratorInspector.py:
+ (Generator.process_command):
+
+2012-07-06 Lauro Neto <lauro.neto@openbossa.org>
+
+ [Qt] Avoid deep copy of QImage in GraphicsContext3D::getImageData()
+ https://bugs.webkit.org/show_bug.cgi?id=90705
+
+ Reviewed by Noam Rosenthal.
+
+ Use QImage.constBits() as argument to packPixels instead of bits() to avoid
+ deep copying it.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+
+2012-07-06 Andy Estes <aestes@apple.com>
+
+ Fix errors reported by generate-bindings.pl after r121882.
+
+ * DerivedSources.make: Specify the correct path for notifications idl
+ files now that notifications/ lives in WebCore/Modules/.
+
+2012-07-06 Justin Novosad <junov@chromium.org>
+
+ Drawing to accelerated 2D canvas causes compositor to recompute layer tree
+ https://bugs.webkit.org/show_bug.cgi?id=90630
+
+ Reviewed by Simon Fraser.
+
+ No new tests: covered by existing canvas/compositing layout tests
+
+ Before this change, there was no distinction between canvas changes
+ that require recomputing the compositor tree and canvas changes that
+ only require re-display. The new CanvasPixelsChanged member of enum
+ ContentChangeType requests re-display without re-layout.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::didDraw):
+ * rendering/RenderBoxModelObject.h:
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::contentChanged):
+
+2012-07-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: get rid of this._lastMarkedRange in TextEditor.
+ https://bugs.webkit.org/show_bug.cgi?id=90691
+
+ Reviewed by Vsevolod Vlasov.
+
+ We don't need it, should use setSelection instead.
+
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.markAndRevealRange):
+ (WebInspector.TextEditor.prototype._handleSelectionChange):
+ (WebInspector.TextEditor.prototype.setSelection):
+ (WebInspector.TextEditor.prototype._handleFocused):
+
+2012-07-06 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Snippet renaming behavior is not correct.
+ https://bugs.webkit.org/show_bug.cgi?id=90689
+
+ Reviewed by Pavel Feldman.
+
+ Navigator overlay is now not closed when editing is canceled.
+ Esc handler in NavigatorOverlayController is not installed as a shortcut anymore since
+ it should not be called until all underlying DOM elements handled the key down event.
+
+ * inspector/front-end/NavigatorOverlayController.js:
+ (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
+ (WebInspector.NavigatorOverlayController.prototype._keyDown):
+ (WebInspector.NavigatorOverlayController.prototype._innerHideNavigatorOverlay):
+ * inspector/front-end/NavigatorView.js:
+ (WebInspector.NavigatorView.prototype.rename.commitHandler):
+ (WebInspector.NavigatorView.prototype.rename.cancelHandler):
+ (WebInspector.NavigatorView.prototype.rename.afterEditing):
+ * inspector/front-end/ScriptsNavigator.js:
+ (WebInspector.ScriptsNavigator):
+ (WebInspector.ScriptsNavigator.prototype._itemRenamingRequested):
+ (WebInspector.SnippetsNavigatorView.prototype._handleRenameSnippet):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._itemRenamingRequested.callback):
+ (WebInspector.ScriptsPanel.prototype._itemRenamingRequested):
+
+2012-07-06 Andreas Kling <kling@webkit.org>
+
+ Separate mutating CSSStyleDeclaration operations.
+ <http://webkit.org/b/89945>
+
+ Reviewed by Antti Koivisto.
+
+ Use separate paths for mutating the StylePropertySet wrapped by a CSSStyleDeclaration.
+ PropertySetCSSStyleDeclaration now has:
+
+ - propertySet() const
+ - ensureMutablePropertySet()
+
+ This is prep work for supporting immutable ElementAttributeData objects, the idea being
+ that calling ensureMutablePropertySet() may cause the element to convert its internal
+ attribute storage (which also holds the inline StylePropertySet.)
+
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::length):
+ (WebCore::PropertySetCSSStyleDeclaration::item):
+ (WebCore::PropertySetCSSStyleDeclaration::cssText):
+ (WebCore::PropertySetCSSStyleDeclaration::setCssText):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
+ (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
+ (WebCore::PropertySetCSSStyleDeclaration::setProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::copy):
+ (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
+ (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
+ (WebCore::InlineCSSStyleDeclaration::didMutate):
+ (WebCore::InlineCSSStyleDeclaration::ensureMutablePropertySet):
+ * css/PropertySetCSSStyleDeclaration.h:
+ (PropertySetCSSStyleDeclaration):
+ (WebCore::PropertySetCSSStyleDeclaration::propertySet):
+ (WebCore::PropertySetCSSStyleDeclaration::ensureMutablePropertySet):
+
+2012-07-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: text editor scrolls 2px horizontally as one navigates the source code.
+ https://bugs.webkit.org/show_bug.cgi?id=90682
+
+ Reviewed by Vsevolod Vlasov.
+
+ Removing the hack that is glueing the scroller to the left.
+
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype._updatePanelOffsets):
+ (WebInspector.TextEditorChunkedPanel.prototype._scroll):
+ * inspector/front-end/textEditor.css:
+
+2012-07-06 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: get rid of cancellable records in Timeline, manage frame records explicitly
+ https://bugs.webkit.org/show_bug.cgi?id=90684
+
+ Reviewed by Pavel Feldman.
+
+ - drop handling of "cancelable" records;
+ - keep frame record until other records come (or frame is canceled)
+
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::didBeginFrame):
+ (WebCore::InspectorTimelineAgent::didCancelFrame):
+ (WebCore::InspectorTimelineAgent::addRecordToTimeline):
+ (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+ (WebCore::InspectorTimelineAgent::commitFrameRecord):
+ (WebCore::InspectorTimelineAgent::clearRecordStack):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
+ (TimelineRecordEntry):
+ (InspectorTimelineAgent):
+
+2012-07-06 Alexei Filippov <alexeif@chromium.org>
+
+ Web Inspector: Add native memory used by GlyphCache to the snapshot
+ https://bugs.webkit.org/show_bug.cgi?id=90615
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/InspectorMemoryAgent.cpp:
+ (MemoryBlockName):
+ (WebCore):
+ (WebCore::addPlatformComponentsInfo):
+ (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
+ * inspector/front-end/NativeMemorySnapshotView.js:
+ (WebInspector.MemoryBlockViewProperties._initialize):
+ * platform/MemoryUsageSupport.cpp:
+ (WebCore::MemoryUsageSupport::memoryUsageByComponents):
+ (WebCore):
+ * platform/MemoryUsageSupport.h:
+ (MemoryUsageSupport):
+ (ComponentInfo):
+ (WebCore::MemoryUsageSupport::ComponentInfo::ComponentInfo):
+ * platform/chromium/MemoryUsageSupportChromium.cpp:
+ (WebCore::glyphCacheVisitor):
+ (WebCore):
+ (WebCore::MemoryUsageSupport::memoryUsageByComponents):
+
+2012-07-06 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+
+ [Qt] Switch to new-style Qt 5 configure tests
+
+ Use explicit project file action instead of syncqt magic.
+
+ https://bugs.webkit.org/show_bug.cgi?id=90461
+
+ Reviewed by Tor Arne Vestbø.
+
+ * WebCore.pri:
+
+2012-07-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: start searching from the cursor position in the Sources panel.
+ https://bugs.webkit.org/show_bug.cgi?id=90677
+
+ Reviewed by Vsevolod Vlasov.
+
+ Web Inspector: start searching from the cursor position in the Sources panel.
+ Drive-by: select whole match upon search cancel.
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
+ (WebInspector.ScriptsPanel.prototype.performSearch):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
+ (WebInspector.SourceFrame.prototype.performSearch):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.lastSelection):
+ (WebInspector.TextEditor.prototype._handleFocused):
+ * inspector/front-end/TextEditorModel.js:
+ (WebInspector.TextRange.prototype.serializeToObject):
+ (WebInspector.TextRange.prototype.compareTo):
+
+2012-07-06 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Snippets should be correctly (re)loaded when inspector is open and on navigation.
+ https://bugs.webkit.org/show_bug.cgi?id=90672
+
+ Reviewed by Pavel Feldman.
+
+ Snippets are now reloaded from the storage on ScriptSnippetMapping reset.
+ Fixed snippets storage.
+
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel):
+ (WebInspector.ScriptSnippetModel.prototype._loadSnippets):
+ (WebInspector.ScriptSnippetModel.prototype._reset):
+ * inspector/front-end/SnippetStorage.js:
+ (WebInspector.Snippet.fromObject):
+
+2012-07-06 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Implement snippets removing.
+ https://bugs.webkit.org/show_bug.cgi?id=90674
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/NavigatorView.js:
+ (WebInspector.NavigatorView.prototype.rename.afterEditing):
+ * inspector/front-end/ScriptsNavigator.js:
+ (WebInspector.ScriptsNavigator.prototype.removeUISourceCode):
+ (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._addUISourceCode):
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
+ (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
+ * inspector/front-end/TabbedEditorContainer.js:
+
+2012-07-06 'Pavel Feldman' <pfeldman@chromium.org>
+
+ Not reviewed: fix inspector front-end compilation.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ * inspector/front-end/SearchController.js:
+
+2012-07-06 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: add memory reporting routine to Document
+ https://bugs.webkit.org/show_bug.cgi?id=90668
+
+ Reviewed by Pavel Feldman.
+
+ Added methods for reporting HashSet, ListHashSet and Vector memory
+ footprint. Made Document report its size along with its internal
+ collections sizes.
+
+ * dom/Document.cpp:
+ (WebCore::Document::reportMemoryUsage):
+ (WebCore):
+ * dom/Document.h:
+ (Document):
+ * dom/MemoryInstrumentation.h:
+ (MemoryInstrumentation):
+ (MemoryObjectInfo):
+ (WebCore::MemoryObjectInfo::reportHashMap):
+ (WebCore::MemoryObjectInfo::reportHashSet):
+ (WebCore::MemoryObjectInfo::reportListHashSet):
+ (WebCore::MemoryObjectInfo::reportVector):
+ (WebCore::MemoryObjectInfo::memoryInstrumentation):
+ (WebCore::MemoryInstrumentation::reportHashMap):
+ (WebCore):
+ (WebCore::MemoryInstrumentation::reportHashSet):
+ (WebCore::MemoryInstrumentation::reportListHashSet):
+ (WebCore::MemoryInstrumentation::reportVector):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore):
+
+2012-07-06 Gabor Rapcsanyi <rgabor@webkit.org>
+
+ Fixing defines for NEON intrinsics.
+ https://bugs.webkit.org/show_bug.cgi?id=90666
+
+ Reviewed by Zoltan Herczeg.
+
+ Existing tests cover this issue.
+
+ * platform/graphics/filters/FEGaussianBlur.cpp:
+ (WebCore::FEGaussianBlur::platformApplyGeneric):
+ * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
+ * platform/graphics/filters/arm/NEONHelpers.h:
+
+2012-07-05 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Workspace should dispatch WorkspaceReset event on navigation.
+ https://bugs.webkit.org/show_bug.cgi?id=90616
+
+ Reviewed by Pavel Feldman.
+
+ Workspace UISourceCodeProviders are now reset on navigation.
+ UISourceCodeRemoved event is not dispatched from UISourceCodeProviders on reset (page navigation) anymore.
+
+ * inspector/front-end/CompilerScriptMapping.js:
+ (WebInspector.CompilerScriptMapping.prototype.reset):
+ * inspector/front-end/DebuggerScriptMapping.js:
+ (WebInspector.DebuggerScriptMapping):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel.prototype._reset):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
+ (WebInspector.ScriptsPanel.prototype._reset):
+ (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
+ (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
+ (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
+ * inspector/front-end/StylesPanel.js:
+ (WebInspector.StylesUISourceCodeProvider):
+ (WebInspector.StylesUISourceCodeProvider.prototype.reset):
+ * inspector/front-end/Workspace.js:
+ (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodeProviders):
+ (WebInspector.Workspace):
+ (WebInspector.Workspace.prototype.registerUISourceCodeProvider):
+ (WebInspector.Workspace.prototype._reset):
+
+2012-07-05 Arnaud Renevier <arno@renevier.net>
+
+ [GTK] Showing the context menu in the Web Inspector can crash the browser
+ https://bugs.webkit.org/show_bug.cgi?id=88800
+
+ Reviewed by Carlos Garcia Campos.
+
+ Remove ContextMenuItem from its parent before appending it again to a
+ new parent
+
+ No new tests, behavior is unchanged.
+
+ * platform/gtk/ContextMenuGtk.cpp:
+ (WebCore::ContextMenu::appendItem):
+
+2012-07-05 Dongwoo Im <dw.im@samsung.com>
+
+ [EFL] Unreviewed, Fix build break when WEB_AUDIO is enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=90653
+
+ Unreviewed build fix.
+
+ A new file, AudioFIFO.cpp, is added for the Web Audio fearure.
+ This file should be included into the CMakeLists.txt file.
+
+ * CMakeLists.txt: Add the newly created file into the CMakeLists.txt
+
+2012-07-05 Mike West <mkwst@chromium.org>
+
+ Multiple Content Security Policy headers are correctly processed as separate headers.
+ https://bugs.webkit.org/show_bug.cgi?id=90629
+
+ Headers of the same name are normalized into a single, comma-separated
+ string as per RFC2616, section 4.2. We didn't correctly account for this
+ in ContentSecurityPolicy::didReceiveHeader. Now we do by walking through
+ the header string, looking for commas and processing each block in turn.
+
+ This oversight bit Firefox as well, and was patched in February:
+ https://bugzilla.mozilla.org/show_bug.cgi?id=717511
+
+ Reviewed by Adam Barth.
+
+ Test: http/tests/security/contentSecurityPolicy/directive-parsing-multiple-headers.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::didReceiveHeader):
+
+2012-07-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r121921.
+ http://trac.webkit.org/changeset/121921
+ https://bugs.webkit.org/show_bug.cgi?id=90648
+
+ caused hundreds of crashes on Mac (Requested by pizlo on
+ #webkit).
+
+ * editing/SurroundingText.cpp:
+ (WebCore::SurroundingText::SurroundingText):
+ * editing/TextIterator.cpp:
+ (WebCore::CharacterIterator::advance):
+ (WebCore::BackwardsCharacterIterator::advance):
+
+2012-07-05 Anders Carlsson <andersca@apple.com>
+
+ Type-ahead doesn't work in options inside optgroups
+ https://bugs.webkit.org/show_bug.cgi?id=90647
+ <rdar://problem/5604894>
+
+ Reviewed by Dan Bernstein.
+
+ Set the title of the menu item to a string that doesn't contain any leading or trailing whitespace.
+
+ * platform/mac/PopupMenuMac.mm:
+ (WebCore::PopupMenuMac::populate):
+
+2012-07-05 Hayato Ito <hayato@chromium.org>
+
+ [Crash] Click an element which will be 'display: none' on focus.
+ https://bugs.webkit.org/show_bug.cgi?id=90516
+
+ Reviewed by Hajime Morita.
+
+ EventHandler::handleMousePressEventSingleClick checks whether
+ innerNode has a renderer in the beginning of the function. But
+ the renderer may disappear in the middle of the function since its
+ style has just become 'display:none'. As a result, it touches null renderer
+ in EventHandler.cpp:517:
+ VisiblePosition visiblePos(innerNode->renderer()->positionForPoint(event.localPoint()));
+ In the case of 'display:none', we don't have to continue. So call
+ updateLayoutIgnorePendingStylesheets() in the beginning so that we
+ can early exit and do not touch null renderer.
+
+ Test: fast/events/display-none-on-focus-crash.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+
+2012-07-05 Benjamin Poulain <bpoulain@apple.com>
+
+ Double release of resources if the load is canceled in a callback of ResourceLoader::didFinishLoading
+ https://bugs.webkit.org/show_bug.cgi?id=90431
+
+ Reviewed by Anders Carlsson.
+
+ In ResourceLoader::didFinishLoadingOnePart(), we invoke didFinishLoad() on the WebKit client. If WebKit
+ causes the current frame to cancel the load synchronously, the resources are already freed when
+ ResourceLoader::didFinishLoadingOnePart() ends.
+ When ResourceLoader::didFinishLoading() subsequently invokes releaseResources(), we are releasing the
+ resources a second time.
+
+ This patch add a second check for cancellation after invoking ResourceLoader::didFinishLoadingOnePart() to
+ avoid such issues.
+
+ The previous check at the beginning of ResourceLoader::didFinishLoading() has been removed because it is
+ redundant with ResourceLoader::didFinishLoadingOnePart().
+
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::didFinishLoading):
+ (WebCore::ResourceLoader::didFinishLoadingOnePart):
+
+2012-07-05 Simon Fraser <simon.fraser@apple.com>
+
+ Add a utility method for hasOverflowClip() or hasClip()
+ https://bugs.webkit.org/show_bug.cgi?id=90635
+
+ Reviewed by Dean Jackson.
+
+ Add RenderObject::hasClipOrOverflowClip() as a convenience method
+ since we end up calling hasOverfFlowClip() || hasClip() a lot in the layer code.
+
+ No new tests; refactoring only.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::calculateClipRects):
+ (WebCore::RenderLayer::calculateRects):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer):
+ (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::hasClipOrOverflowClip):
+
+2012-07-05 Yongjun Zhang <yongjun_zhang@apple.com>
+
+ Code refactoring: move mimeTypeFromUTITree to a separate file.
+ https://bugs.webkit.org/show_bug.cgi?id=90619
+
+ We should move UTI handling related code to a separate file.
+
+ Reviewed by David Kilzer.
+
+ * WebCore.xcodeproj/project.pbxproj: Add UTIUtilities.h/UTIUtilities.mm to xcode project, and drive-by fix
+ that happened when editing the Xcode project file.
+ * platform/network/mac/UTIUtilities.h: Added.
+ (WebCore):
+ * platform/network/mac/UTIUtilities.mm: Added. move mimeTypeFromUTITree to UTIUtilities.mm.
+ (WebCore):
+ (WebCore::mimeTypeFromUTITree):
+ * platform/network/mac/WebCoreURLResponse.mm: include UTIUtilities.h to use mimeTypeFromUTITree.
+ (WebCore):
+
+2012-07-05 Leandro Gracia Gil <leandrogracia@chromium.org>
+
+ Character iterators should not advance if they are at end
+ https://bugs.webkit.org/show_bug.cgi?id=90560
+
+ Reviewed by Ryosuke Niwa.
+
+ CharacterIterator and BackwardsCharacterIterator try to advance their
+ internal TextIterator without checking if they already are at end.
+ This can cause crashes in TextIterator::advance.
+
+ Test: platform/chromium/editing/surrounding-text/surrounding-text.html
+
+ * editing/SurroundingText.cpp:
+ (WebCore::SurroundingText::SurroundingText):
+ * editing/TextIterator.cpp:
+ (WebCore::CharacterIterator::advance):
+ (WebCore::BackwardsCharacterIterator::advance):
+
+2012-07-05 John Mellor <johnme@chromium.org>
+
+ Text Autosizing: Add basic framework
+ https://bugs.webkit.org/show_bug.cgi?id=88655
+
+ Follow-up patch tweaking method signatures.
+
+ Reviewed by Simon Fraser.
+
+ No functional change, so no new tests.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ * rendering/TextAutosizer.cpp:
+ (WebCore::TextAutosizer::processSubtree):
+ (WebCore::TextAutosizer::processBlock):
+ (WebCore::TextAutosizer::processText):
+ (WebCore):
+ * rendering/TextAutosizer.h:
+ (TextAutosizer):
+
+2012-07-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: move cursor to the current search match.
+ https://bugs.webkit.org/show_bug.cgi?id=90621
+
+ Reviewed by Vsevolod Vlasov.
+
+ After closing the search dialog, the cursor should be at the latest search match location.
+
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.markAndRevealRange):
+ (WebInspector.TextEditor.prototype._handleFocused):
+
+2012-07-05 Behdad Esfahbod <behdad@behdad.org>
+
+ Subpixel layout broken with spans with CSS position other than static
+ https://bugs.webkit.org/show_bug.cgi?id=90097
+
+ Reviewed by Eric Seidel.
+
+ In InlineBox, don't truncate size to integers when returning.
+
+ In RenderBlock, don't round-up width to next integer. Round-up to
+ next LayoutUnit instead.
+
+ Test: Added fast/sub-pixel/size-of-span-with-different-positions.html
+ Adjust expected outputs affected by the rounding changes.
+
+ * platform/FractionalLayoutUnit.h:
+ (WebCore::FractionalLayoutUnit::fromFloatCeil):
+ (FractionalLayoutUnit):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::size):
+ * rendering/RenderBlock.cpp:
+ (WebCore::updatePreferredWidth):
+
+2012-07-05 Nate Chapin <japhet@chromium.org>
+
+ REGRESSION (r115654): Sometimes does not replace content for multipart/x-mixed-replace
+ https://bugs.webkit.org/show_bug.cgi?id=88436
+
+ Reviewed by Brady Eidson.
+
+ Test: http/tests/multipart/multipart-replace-non-html-content.php
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::commitData): We should only send receivedFirstData() once per main resource load,
+ rather than multiple times in a multipart load.
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType): m_gotFirstByte isn't set to true until data is
+ actually committed, and multipart data is often not committed until the part is finished. Check
+ whether the SharedBuffer is non-null instead.
+ * testing/js/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::resetInternalsObject): The JSInternals object my have already been cleared if the window shell
+ was cleared as part of creation of a new Document. Check it before using it.
+
+2012-07-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: move search field to the bottom of the page.
+ https://bugs.webkit.org/show_bug.cgi?id=90610
+
+ Reviewed by Vsevolod Vlasov.
+
+ This is the first step in the Search/replace implementation. This change moves search
+ field from the inspector toolbar to the inspector view footer that is visible upon Cmd/Ctrl+F.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/InspectorView.js:
+ (WebInspector.InspectorView):
+ (WebInspector.InspectorView.prototype._pushToHistory):
+ (WebInspector.InspectorView.prototype.panelsElement):
+ (WebInspector.InspectorView.prototype.setFooterElement):
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel.prototype.show):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._reset):
+ * inspector/front-end/SearchController.js:
+ (WebInspector.SearchController):
+ (WebInspector.SearchController.prototype.updateSearchLabel):
+ (WebInspector.SearchController.prototype.cancelSearch):
+ (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
+ (WebInspector.SearchController.prototype.focusSearchField):
+ (WebInspector.SearchController.prototype._onKeyDown):
+ (WebInspector.SearchController.prototype._onNextButtonSearch):
+ (WebInspector.SearchController.prototype._onPrevButtonSearch):
+ (WebInspector.SearchController.prototype._performSearch):
+ * inspector/front-end/inspector.css:
+ (#search):
+ (.toolbar-search-container):
+ (.toolbar-search-navigation):
+ (.toolbar-search-navigation:hover):
+ (.toolbar-search-navigation.toolbar-search-navigation-prev):
+ (.toolbar-search-navigation.toolbar-search-navigation-next):
+ (.toolbar-search-navigation-hidden):
+ (.status-bar):
+ (.search-drawer-header input[type="search"].search-config-search):
+ (.inspector-footer):
+ (.inspector-footer > div):
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector.get _setCompactMode):
+ (WebInspector.postDocumentKeyDown):
+
+2012-07-05 Sergey Rogulenko <rogulenko@google.com>
+
+ Web Inspector: added low-level instrumentation support for TimelineAgent
+ https://bugs.webkit.org/show_bug.cgi?id=90264
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::timelineAgentForOrphanEvents):
+ (WebCore::InspectorInstrumentation::setTimelineAgentForOrphanEvents):
+ (WebCore::InspectorInstrumentation::threadSpecificTimelineAgentForOrphanEvents):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+ (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+
+2012-07-05 John Mellor <johnme@chromium.org>
+
+ Text Autosizing: Add test framework and simple test.
+ https://bugs.webkit.org/show_bug.cgi?id=90561
+
+ Exposes methods allowing Layout Tests to enable Text Autosizing and
+ get the same results as if they were running on a mobile device.
+
+ Reviewed by Adam Barth.
+
+ Test: fast/text-autosizing/simple-paragraph.html
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore):
+ (WebCore::Settings::setTextAutosizingWindowSizeOverride):
+ * page/Settings.h:
+ (Settings):
+ (WebCore::Settings::textAutosizingWindowSizeOverride):
+ * rendering/TextAutosizer.cpp:
+ (WebCore::TextAutosizer::boostSubtree):
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::InternalSettings):
+ (WebCore::InternalSettings::restoreTo):
+ (WebCore::InternalSettings::setTextAutosizingEnabled):
+ (WebCore):
+ (WebCore::InternalSettings::setTextAutosizingWindowSizeOverride):
+ * testing/InternalSettings.h:
+ (InternalSettings):
+ * testing/InternalSettings.idl:
+
+2012-07-04 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: timeline events in the vicinity of event dividers some times are tricky to expand
+ https://bugs.webkit.org/show_bug.cgi?id=90572
+
+ Reviewed by Pavel Feldman.
+
+ - do not use resources-event-divider-padding;
+ - make dividers larger and use border-color to visualize them;
+ - move resources-<color>-divider to timelinePanel.css, as they're not used outside of timeline;
+
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.createEventDivider):
+ * inspector/front-end/inspectorCommon.css:
+ * inspector/front-end/timelinePanel.css:
+ (.timeline .resources-event-divider):
+ (.resources-red-divider):
+ (.resources-blue-divider):
+ (.resources-orange-divider):
+ (.resources-divider.last):
+ (.timeline .resources-event-divider.timeline-frame-divider):
+
+2012-07-04 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: incorrect height of main timeline pane after switching to memory mode
+ https://bugs.webkit.org/show_bug.cgi?id=90387
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._splitterDragging):
+ (WebInspector.TimelinePanel.prototype.set _setSplitterPosition):
+ (WebInspector.TimelinePanel.prototype._overviewModeChanged):
+
+2012-07-05 Vivek Galatage <vivekgalatage@gmail.com>
+
+ Web Inspector: Add support for keyboard increment / decrement on numbers in attributes in Elements Panel
+ https://bugs.webkit.org/show_bug.cgi?id=89586
+
+ Reviewed by Pavel Feldman
+
+ Refactoring the key events while editing style property values. Migrated the code to UIUtils.js and referred
+ from StylesSidebarPane.js, ElementsTreeOutline.js and MetricsSidebarPane.js.
+
+ No new tests as code refactoring and UI feature added to ElementsTreeOutline.js
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._startEditingAttribute.handleKeyDownEvents):
+ (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
+ * inspector/front-end/MetricsSidebarPane.js:
+ (WebInspector.MetricsSidebarPane.prototype._handleKeyDown.finishHandler):
+ (WebInspector.MetricsSidebarPane.prototype._handleKeyDown.customNumberHandler):
+ (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._handleNameOrValueUpDown.finishHandler):
+ (WebInspector.StylesSidebarPane.prototype._handleNameOrValueUpDown):
+ * inspector/front-end/UIUtils.js:
+ (WebInspector._modifiedHexValue):
+ (WebInspector._modifiedFloatNumber):
+ (WebInspector.handleElementValueModifications):
+
+2012-07-05 Gabor Rapcsanyi <rgabor@webkit.org>
+
+ NEON intrinsics should be used with gaussian blur filter
+ https://bugs.webkit.org/show_bug.cgi?id=90166
+
+ Reviewed by Zoltan Herczeg.
+
+ Rewrite inline assembly to NEON intrinsics for better portabilty
+ and readibility. Remove unnecessary FEGaussianBlurNEON.cpp and add
+ NEONHelpers.h to the project which will contains the shared
+ NEON code of the filters.
+
+ Existing tests cover this issue.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/FEGaussianBlur.cpp:
+ (WebCore::FEGaussianBlur::platformApplyGeneric):
+ (WebCore::FEGaussianBlur::platformApplyWorker):
+ * platform/graphics/filters/FEGaussianBlur.h:
+ (FEGaussianBlur):
+ * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Removed.
+ * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
+ (WebCore::boxBlurNEON):
+ * platform/graphics/filters/arm/NEONHelpers.h: Added.
+ (WebCore):
+ (WebCore::loadRGBA8AsFloat):
+ (WebCore::storeFloatAsRGBA8):
+
+2012-07-05 Sam D <dsam2912@gmail.com>
+
+ Web Inspector: Having a "Scroll into view" for nodes through web inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=89554
+
+ Added options for scrolling-into-view the element node through web
+ inspector.
+
+ Reviewed by Pavel Feldman.
+
+ No new tests. UI change.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
+ (.):
+ * inspector/front-end/RemoteObject.js:
+ (WebInspector.RemoteObject.prototype.callFunction):
+
+2012-07-05 Zan Dobersek <zandobersek@gmail.com>
+
+ Add Gamepad logging channel
+ https://bugs.webkit.org/show_bug.cgi?id=90570
+
+ Reviewed by Carlos Garcia Campos.
+
+ Add a new logging channel for logging significant
+ events that are related to Gamepad API implementation.
+
+ No new tests - no new testable functionality.
+
+ * platform/Logging.cpp:
+ (WebCore):
+ (WebCore::getChannelFromName):
+ * platform/Logging.h:
+ (WebCore):
+ * platform/gtk/GamepadsGtk.cpp: Log when a device is
+ registered or unregistered.
+ (WebCore::GamepadsGtk::registerDevice):
+ (WebCore::GamepadsGtk::unregisterDevice):
+
+2012-07-05 Peter Wang <peter.wang@torchmobile.com.cn>
+
+ Web Inspector: [JSC] support JS execution in the context of an isolated world
+ https://bugs.webkit.org/show_bug.cgi?id=85709
+
+ Reviewed by Gavin Barraclough.
+
+ No new test case for this bug.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::collectIsolatedContexts):
+ (WebCore):
+
+2012-07-04 Huang Dongsung <luxtella@company100.net>
+
+ Add virtual keyword to ~BitmapImage and ~StillImage because ~Image is virtual.
+ https://bugs.webkit.org/show_bug.cgi?id=90447
+
+ Reviewed by Alexey Proskuryakov.
+
+ No new tests. This patch doesn't change behavior.
+
+ * platform/graphics/BitmapImage.h:
+ (BitmapImage):
+ * platform/graphics/qt/StillImageQt.h:
+ (StillImage):
+
+2012-07-04 Mike West <mkwst@chromium.org>
+
+ Implement the script-nonce Content Security Policy directive.
+ https://bugs.webkit.org/show_bug.cgi?id=89577
+
+ Reviewed by Adam Barth.
+
+ This patch implements the (experimental) script-nonce Content Security
+ Policy directive from the 1.1 spec, which allows for selective
+ execution of script by specifying a "nonce" attribute for the
+ script tag. Script is only loaded and executed if it both matches the
+ nonce and matches the script-src whitelist (if present).
+
+ The implementation is gated on the ENABLE_CSP_NEXT flag, which is
+ currently disabled for all ports other than Chromium.
+
+ Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-nonce--experimental
+
+ Tests: http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed.html
+ http/tests/security/contentSecurityPolicy/1.1/scriptnonce-badnonce.html
+ http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html
+ http/tests/security/contentSecurityPolicy/1.1/scriptnonce-emptynonce.html
+ http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked.html
+
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElement::requestScript):
+ (WebCore::ScriptElement::executeScript):
+ Passing the nonce attribute through to check against CSP.
+ * html/HTMLAttributeNames.in:
+ * html/HTMLScriptElement.idl:
+ Adding the `nonce` attribute to the script tag.
+ * page/ContentSecurityPolicy.cpp:
+ (CSPDirectiveList):
+ (WebCore::CSPDirectiveList::logInvalidNonce):
+ (WebCore):
+ (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
+ (WebCore::CSPDirectiveList::allowJavaScriptURLs):
+ (WebCore::CSPDirectiveList::allowInlineEventHandlers):
+ If a nonce is set, deny JavaScript URLs and inline event handlers.
+ (WebCore::CSPDirectiveList::allowScriptNonce):
+ (WebCore::CSPDirectiveList::parseScriptNonce):
+ (WebCore::CSPDirectiveList::addDirective):
+ (WebCore::isAllowedByAllWithNonce):
+ (WebCore::ContentSecurityPolicy::allowScriptNonce):
+ * page/ContentSecurityPolicy.h:
+ (WebCore):
+
+2012-07-04 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Notifications should be in Modules/notifications
+ https://bugs.webkit.org/show_bug.cgi?id=82121
+
+ Reviewed by Adam Barth.
+
+ The notifications directory is now self-contained. This patch moves it to the Modules directory.
+
+ No new tests, covered by existing tests.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * Modules/notifications/DOMWindowNotifications.cpp: Renamed from Source/WebCore/notifications/DOMWindowNotifications.cpp.
+ (WebCore):
+ (WebCore::DOMWindowNotifications::DOMWindowNotifications):
+ (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
+ (WebCore::DOMWindowNotifications::from):
+ (WebCore::DOMWindowNotifications::webkitNotifications):
+ (WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
+ (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
+ (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
+ (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
+ (WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
+ * Modules/notifications/DOMWindowNotifications.h: Renamed from Source/WebCore/notifications/DOMWindowNotifications.h.
+ (WebCore):
+ (DOMWindowNotifications):
+ * Modules/notifications/DOMWindowNotifications.idl: Renamed from Source/WebCore/notifications/DOMWindowNotifications.idl.
+ * Modules/notifications/Notification.cpp: Renamed from Source/WebCore/notifications/Notification.cpp.
+ (WebCore):
+ (WebCore::Notification::Notification):
+ (WebCore::Notification::~Notification):
+ (WebCore::Notification::create):
+ (WebCore::getAndAddEventListener):
+ (WebCore::Notification::interfaceName):
+ (WebCore::Notification::show):
+ (WebCore::Notification::close):
+ (WebCore::Notification::eventTargetData):
+ (WebCore::Notification::ensureEventTargetData):
+ (WebCore::Notification::contextDestroyed):
+ (WebCore::Notification::finalize):
+ (WebCore::Notification::dispatchShowEvent):
+ (WebCore::Notification::dispatchClickEvent):
+ (WebCore::Notification::dispatchCloseEvent):
+ (WebCore::Notification::dispatchErrorEvent):
+ (WebCore::Notification::taskTimerFired):
+ (WebCore::Notification::permissionLevel):
+ (WebCore::Notification::permissionString):
+ (WebCore::Notification::requestPermission):
+ * Modules/notifications/Notification.h: Renamed from Source/WebCore/notifications/Notification.h.
+ (WebCore):
+ (Notification):
+ (WebCore::Notification::cancel):
+ (WebCore::Notification::isHTML):
+ (WebCore::Notification::setHTML):
+ (WebCore::Notification::url):
+ (WebCore::Notification::setURL):
+ (WebCore::Notification::iconURL):
+ (WebCore::Notification::title):
+ (WebCore::Notification::body):
+ (WebCore::Notification::dir):
+ (WebCore::Notification::setDir):
+ (WebCore::Notification::replaceId):
+ (WebCore::Notification::setReplaceId):
+ (WebCore::Notification::tag):
+ (WebCore::Notification::setTag):
+ (WebCore::Notification::direction):
+ (WebCore::Notification::scriptExecutionContext):
+ (WebCore::Notification::detachPresenter):
+ (WebCore::Notification::setBody):
+ (WebCore::Notification::refEventTarget):
+ (WebCore::Notification::derefEventTarget):
+ * Modules/notifications/Notification.idl: Renamed from Source/WebCore/notifications/Notification.idl.
+ * Modules/notifications/NotificationCenter.cpp: Renamed from Source/WebCore/notifications/NotificationCenter.cpp.
+ (WebCore):
+ (WebCore::NotificationCenter::create):
+ (WebCore::NotificationCenter::NotificationCenter):
+ (WebCore::NotificationCenter::checkPermission):
+ (WebCore::NotificationCenter::requestPermission):
+ (WebCore::NotificationCenter::stop):
+ (WebCore::NotificationCenter::requestTimedOut):
+ (WebCore::NotificationCenter::NotificationRequestCallback::createAndStartTimer):
+ (WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback):
+ (WebCore::NotificationCenter::NotificationRequestCallback::startTimer):
+ (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
+ * Modules/notifications/NotificationCenter.h: Renamed from Source/WebCore/notifications/NotificationCenter.h.
+ (WebCore):
+ (NotificationCenter):
+ (WebCore::NotificationCenter::createHTMLNotification):
+ (WebCore::NotificationCenter::createNotification):
+ (WebCore::NotificationCenter::client):
+ (NotificationRequestCallback):
+ * Modules/notifications/NotificationCenter.idl: Renamed from Source/WebCore/notifications/NotificationCenter.idl.
+ * Modules/notifications/NotificationClient.h: Renamed from Source/WebCore/notifications/NotificationClient.h.
+ (WebCore):
+ (NotificationClient):
+ (WebCore::NotificationClient::clearNotifications):
+ (WebCore::NotificationClient::~NotificationClient):
+ * Modules/notifications/NotificationController.cpp: Renamed from Source/WebCore/notifications/NotificationController.cpp.
+ (WebCore):
+ (WebCore::NotificationController::NotificationController):
+ (WebCore::NotificationController::~NotificationController):
+ (WebCore::NotificationController::create):
+ (WebCore::NotificationController::clientFrom):
+ (WebCore::NotificationController::supplementName):
+ (WebCore::provideNotification):
+ * Modules/notifications/NotificationController.h: Renamed from Source/WebCore/notifications/NotificationController.h.
+ (WebCore):
+ (NotificationController):
+ (WebCore::NotificationController::from):
+ (WebCore::NotificationController::client):
+ * Modules/notifications/NotificationPermissionCallback.h: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.h.
+ (WebCore):
+ (NotificationPermissionCallback):
+ (WebCore::NotificationPermissionCallback::~NotificationPermissionCallback):
+ * Modules/notifications/NotificationPermissionCallback.idl: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.idl.
+ * Modules/notifications/WorkerContextNotifications.cpp: Renamed from Source/WebCore/notifications/WorkerContextNotifications.cpp.
+ (WebCore):
+ (WebCore::WorkerContextNotifications::WorkerContextNotifications):
+ (WebCore::WorkerContextNotifications::~WorkerContextNotifications):
+ (WebCore::WorkerContextNotifications::from):
+ (WebCore::WorkerContextNotifications::webkitNotifications):
+ * Modules/notifications/WorkerContextNotifications.h: Renamed from Source/WebCore/notifications/WorkerContextNotifications.h.
+ (WebCore):
+ (WorkerContextNotifications):
+ * Modules/notifications/WorkerContextNotifications.idl: Renamed from Source/WebCore/notifications/WorkerContextNotifications.idl.
+ * Target.pri:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/copyForwardingHeaders.cmd:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-07-04 Hayato Ito <hayato@chromium.org>
+
+ Remove inline keywords from functions which can not be inlined in ComposedShadowTreeWalker
+ https://bugs.webkit.org/show_bug.cgi?id=90432
+
+ Reviewed by Hajime Morita.
+
+ No new tests - no functional changes.
+
+ * dom/ComposedShadowTreeWalker.cpp:
+ (WebCore::ComposedShadowTreeWalker::traverseParent):
+ (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
+
+2012-07-04 Luke Macpherson <macpherson@chromium.org>
+
+ Inspector crashes when trying to inspect a page with CSS variables
+ https://bugs.webkit.org/show_bug.cgi?id=89818
+
+ Reviewed by Antti Koivisto.
+
+ Patch works by fixing treating handling of CSSPropertyID == CSSPropertyVariable as a special case,
+ and looking up the author-defined property name from the CSSValue.
+
+ Added test inspector/styles/variables/css-variables.html that inspects an element using CSS variables.
+ Test is skipped when variables are compiled out.
+
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::cssName):
+ (WebCore):
+ (WebCore::CSSProperty::cssText):
+ * css/CSSProperty.h:
+ (CSSProperty):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::item):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::asText):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::populateAllProperties):
+
+2012-07-04 Anthony Scian <ascian@rim.com>
+
+ Web Inspector [JSC]: Implement ScriptCallStack::stackTrace
+ https://bugs.webkit.org/show_bug.cgi?id=40118
+
+ Reviewed by Yong Li.
+
+ Implemented stub for createScriptCallStack to call into
+ Interpreter and extract the current stack frames, iterate
+ through the frames and create the return result required.
+
+ No new tests, manually tested thrown exception and inspector
+ tracebacks.
+
+ * bindings/js/ScriptCallStackFactory.cpp:
+ (WebCore::createScriptCallStack):
+
+2012-07-04 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Respect memory needed for RenderSurfaces when reserving contents textures
+ https://bugs.webkit.org/show_bug.cgi?id=89901
+
+ Reviewed by Adrienne Walker.
+
+ Treat the memory allocation given to a tab as an allocation for its
+ contents and surfaces. Then only use up contents memory such that
+ the surface textures will still fit within the limit. Report histograms
+ for the amount of contents and surface texture memory used by each
+ frame generated by the main thread.
+
+ In the context of ubercomp, each nested compositor will use less memory
+ for contents ensuring that the root compositor has space for surfaces
+ caused by that nested compositor.
+
+ Since surface memory can no longer be taken by contents, we remove the
+ preferred memory limit from the texture manager.
+
+ Tests: TiledLayerChromiumTest.dontAllocateContentsWhenTargetSurfaceCantBeAllocated
+ CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableOutsideRootSurface
+ CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableForRequestLate
+ CCPrioritizedTextureTest.whenRenderSurfaceNotAvailableTexturesAlsoNotAvailable
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawBackgroundFilters):
+ * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
+ (WebCore::ScrollbarLayerChromium::setTexturePriorities):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
+ * platform/graphics/chromium/TiledLayerChromium.h:
+ (TiledLayerChromium):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::initializeLayerRenderer):
+ (WebCore::CCLayerTreeHost::updateLayers):
+ (WebCore::CCLayerTreeHost::prioritizeTextures):
+ (WebCore::CCLayerTreeHost::paintLayerContents):
+ * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
+ (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
+ (WebCore::CCOverdrawMetrics::didUseContentsTextureMemoryBytes):
+ (WebCore):
+ (WebCore::CCOverdrawMetrics::didUseRenderSurfaceTextureMemoryBytes):
+ (WebCore::CCOverdrawMetrics::recordMetricsInternal):
+ * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
+ (CCOverdrawMetrics):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
+ (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
+ (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
+ (WebCore::CCPrioritizedTextureManager::requestLate):
+ (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
+ (WebCore::CCPrioritizedTextureManager::reduceMemory):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
+ (WebCore::CCPrioritizedTextureManager::create):
+ (WebCore::CCPrioritizedTextureManager::memoryForRenderSurfacesBytes):
+ (CCPrioritizedTextureManager):
+ * platform/graphics/chromium/cc/CCPriorityCalculator.cpp:
+ (WebCore::CCPriorityCalculator::uiPriority):
+ (WebCore::CCPriorityCalculator::visiblePriority):
+ (WebCore):
+ (WebCore::CCPriorityCalculator::renderSurfacePriority):
+ (WebCore::CCPriorityCalculator::priorityFromDistance):
+ (WebCore::CCPriorityCalculator::priorityFromVisibility):
+ * platform/graphics/chromium/cc/CCPriorityCalculator.h:
+ (CCPriorityCalculator):
+
+2012-07-04 John Mellor <johnme@chromium.org>
+
+ Text Autosizing: Add basic framework
+ https://bugs.webkit.org/show_bug.cgi?id=88655
+
+ This adds a highly simplified foundation that subsequent Text Autosizing patches
+ can build upon. I've refactored this code (since the earlier combined diff
+ uploaded to http://webkit.org/b/84186) to touch as few files as possible.
+
+ Reviewed by Adam Barth.
+
+ No new tests. I plan to add a test framework as my next Text Autosizing patch.
+
+ * WebCore.gypi:
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ (WebCore):
+ (Document):
+ (WebCore::Document::textAutosizer):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ * rendering/TextAutosizer.cpp: Added.
+ (WebCore):
+ (WebCore::TextAutosizer::TextAutosizer):
+ (WebCore::TextAutosizer::~TextAutosizer):
+ (WebCore::TextAutosizer::create):
+ (WebCore::TextAutosizer::boostSubtree):
+ (WebCore::TextAutosizer::boostBlock):
+ (WebCore::TextAutosizer::boostText):
+ (WebCore::TextAutosizer::treatAsInline):
+ (WebCore::TextAutosizer::traverseNext):
+ (WebCore::TextAutosizer::cloneRenderStyleWithState):
+ * rendering/TextAutosizer.h: Added.
+ (WebCore):
+ (TextAutosizer):
+
+2012-07-04 Andrey Kosyakov <caseq@chromium.org>
+
+ Unreviewed, rolling out r121767.
+ http://trac.webkit.org/changeset/121767
+ https://bugs.webkit.org/show_bug.cgi?id=89584
+
+ Crashes inspected page while recording timeline due to
+ conflict with BeginFrame in record stack
+
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::willSendResourceRequest):
+ (WebCore::InspectorTimelineAgent::willProcessTask):
+ (WebCore::InspectorTimelineAgent::didProcessTask):
+ (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
+ (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+ * inspector/front-end/MemoryStatistics.js:
+ (WebInspector.MemoryStatistics.prototype._onRecordAdded):
+ * inspector/front-end/TimelineFrameController.js:
+ (WebInspector.TimelineFrameController.prototype._addRecord):
+ * inspector/front-end/TimelineModel.js:
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
+ (WebInspector.TimelineCategoryStrips.prototype.update):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.categories):
+ (WebInspector.TimelinePresentationModel.recordStyle):
+ (WebInspector.TimelinePresentationModel.categoryForRecord):
+ (WebInspector.TimelinePresentationModel.forAllRecords):
+ (WebInspector.TimelinePresentationModel.prototype.addRecord):
+
+2012-07-04 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Clear RenderSurfaces still when no idle paint will be done
+ https://bugs.webkit.org/show_bug.cgi?id=90553
+
+ Reviewed by Adrienne Walker.
+
+ Currently if idle painting is disabled, updateLayers() will early-out.
+ But this prevents it from doing cleanup and clearing all RenderSurface
+ pointers, leaving the layer tree in an unexpected state.
+
+ Tests: CCLayerTreeHostTestCompositeAndReadbackCleanup
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::updateLayers):
+
+2012-07-04 John Mellor <johnme@chromium.org>
+
+ Text Autosizing: Add compile flag and runtime setting
+ https://bugs.webkit.org/show_bug.cgi?id=87394
+
+ This patch renames Font Boosting to Text Autosizing and adds compile guards around the runtime setting.
+
+ Reviewed by Adam Barth.
+
+ No functionality yet, so no new tests.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * Target.pri:
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setTextAutosizingEnabled):
+ * page/Settings.h:
+ (Settings):
+ (WebCore::Settings::textAutosizingEnabled):
+
+2012-07-03 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Emulate pseudo styles (hover etc.) of non-selected elements
+ https://bugs.webkit.org/show_bug.cgi?id=86630
+
+ Reviewed by Pavel Feldman.
+
+ - A map of pseudo-states for all bound DOM nodes is maintained in the backend and queried whenever StyleResolver
+ calculates the effective element style.
+ - In the frontend, markers are introduced to distinguish elements that have forced pseudo styles set for them.
+ Additionally, dimmed markers are added for collapsed nodes, whose descendants have forced pseudo styles.
+ More ElementDecorator subtypes will be added for other types of markers.
+
+ Test: inspector/styles/force-pseudo-state.html
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::InspectorCSSAgent):
+ (WebCore::InspectorCSSAgent::clearFrontend):
+ (WebCore::InspectorCSSAgent::reset):
+ (WebCore::InspectorCSSAgent::forcePseudoState):
+ (WebCore::InspectorCSSAgent::recalcStyleForPseudoStateIfNeeded):
+ (WebCore::InspectorCSSAgent::elementForId):
+ (WebCore::InspectorCSSAgent::didRemoveDocument):
+ (WebCore::InspectorCSSAgent::didRemoveDOMNode):
+ (WebCore::InspectorCSSAgent::resetPseudoStates):
+ * inspector/InspectorCSSAgent.h:
+ (InspectorCSSAgent):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::unbind):
+ (WebCore::InspectorDOMAgent::didRemoveDOMNode):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.get this):
+ (WebInspector.ElementsPanel):
+ (WebInspector.ElementsPanel.prototype._setPseudoClassForNodeId):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline):
+ (WebInspector.ElementsTreeOutline.prototype._createNodeDecorators):
+ (WebInspector.ElementsTreeOutline.prototype.updateOpenCloseTags):
+ (WebInspector.ElementsTreeOutline.ElementDecorator):
+ (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorate):
+ (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorateAncestor):
+ (WebInspector.ElementsTreeOutline.PseudoStateDecorator):
+ (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorate):
+ (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorateAncestor):
+ (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
+ (WebInspector.ElementsTreeElement.prototype._populateForcedPseudoStateItems):
+ (WebInspector.ElementsTreeElement.prototype.updateTitle):
+ (WebInspector.ElementsTreeElement.prototype._createDecoratorElement):
+ (WebInspector.ElementsTreeElement.prototype._updateDecorations):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane):
+ (WebInspector.StylesSidebarPane.prototype.get forcedPseudoClasses):
+ (WebInspector.StylesSidebarPane.prototype._updateForcedPseudoStateInputs):
+ (WebInspector.StylesSidebarPane.prototype.update):
+ (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
+ (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
+ (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
+ (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
+ * inspector/front-end/elementsPanel.css:
+ (#elements-content .elements-gutter-decoration):
+ (#elements-content .elements-gutter-decoration.elements-has-decorated-children):
+
+2012-07-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: fix search on the network panel.
+ https://bugs.webkit.org/show_bug.cgi?id=90557
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
+
+2012-07-04 Kwang Yul Seo <skyul@company100.net>
+
+ Stop tracking line number in tokenizer
+ https://bugs.webkit.org/show_bug.cgi?id=90544
+
+ Reviewed by Adam Barth.
+
+ Because SegmentedString knows how to track the current line and column,
+ a tokenizer does not need to keep track of the current line by itself.
+ No behavior change, so no new tests.
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ (WebCore::HTMLDocumentParser::lineNumber):
+ (WebCore::HTMLDocumentParser::textPosition):
+ * html/parser/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::reset):
+ (WebCore::HTMLTokenizer::flushBufferedEndTag):
+ (WebCore):
+ (WebCore::HTMLTokenizer::nextToken):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processScriptStartTag):
+ * html/track/WebVTTTokenizer.cpp:
+ (WebCore::WebVTTTokenizer::reset):
+ (WebCore::WebVTTTokenizer::nextToken):
+ * platform/text/SegmentedString.cpp:
+ (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase):
+ * platform/text/SegmentedString.h:
+ (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
+ (WebCore::SegmentedString::advanceAndUpdateLineNumber):
+ (SegmentedString):
+ * xml/parser/MarkupTokenizerBase.h:
+ (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
+ (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
+ (WebCore::MarkupTokenizerBase::emitAndResumeIn):
+ (WebCore::MarkupTokenizerBase::emitEndOfFile):
+ (WebCore::MarkupTokenizerBase::reset):
+ (MarkupTokenizerBase):
+ * xml/parser/MarkupTokenizerInlineMethods.h:
+ (WebCore):
+ * xml/parser/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::nextToken):
+
+2012-07-04 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [CMAKE] Add GENERATE_BINDINGS macro to share the codes which use generate-bindings.pl.
+ https://bugs.webkit.org/show_bug.cgi?id=90258
+
+ Reviewed by Rob Buis.
+
+ Use GENERATE_BINDINGS instead of using generate-bindings.pl directly.
+
+ * UseJSC.cmake:
+ * UseV8.cmake:
+ * PlatformBlackBerry.cmake:
+
+2012-07-04 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: UISourceCode should take care of adding revision after committing working copy.
+ https://bugs.webkit.org/show_bug.cgi?id=90549
+
+ Reviewed by Pavel Feldman.
+
+ Revision is now added in UISourceCode.commitWorkingCopy synchronously even if saving to JS VM or CSS model failed.
+
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._handleOpenURL):
+ (WebInspector.ExtensionServer.prototype._onGetResourceContent):
+ (WebInspector.ExtensionServer.prototype._onSetResourceContent):
+ * inspector/front-end/JavaScriptSource.js:
+ (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
+ * inspector/front-end/StylesPanel.js:
+ (WebInspector.StyleSource.prototype._callOrSetTimeout):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode.prototype.commitWorkingCopy):
+ * inspector/front-end/Workspace.js:
+ (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodeForURL):
+
+2012-07-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: move settings button back to the right.
+ https://bugs.webkit.org/show_bug.cgi?id=90552
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/inspector.css:
+ (button.status-bar-item:active, button.status-bar-item.emulate-active):
+ (button.settings-status-bar-item):
+
+2012-07-04 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Get rid of ResourceDomainModelBinding and DebuggerResourceBinding, make Resource.setContent private.
+ https://bugs.webkit.org/show_bug.cgi?id=90531
+
+ Reviewed by Pavel Feldman.
+
+ Resource.setContent made private. It is delegating now to UISourceCodes which take care of domain specific actions.
+ DebuggerResourceBinding was be removed and DebuggerResourceBinding.setScriptSource was moved to JavaScriptSource.
+ ResourceDomainModelBinding was removed as well.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModelResourceBinding):
+ * inspector/front-end/DebuggerResourceBinding.js: Removed.
+ * inspector/front-end/JavaScriptSource.js:
+ (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
+ (WebInspector.JavaScriptSource.prototype._setScriptSource.didEditScriptSource):
+ (WebInspector.JavaScriptSource.prototype._setScriptSource):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._setContent):
+ (WebInspector.Resource.prototype.revertToOriginal):
+ (WebInspector.Resource.prototype.revertAndClearHistory):
+ (WebInspector.ResourceRevision.prototype.revertToThis):
+ * inspector/front-end/StylesPanel.js:
+ (WebInspector.StyleSource.prototype.isEditable):
+ * inspector/front-end/UISourceCode.js:
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/Workspace.js:
+ (WebInspector.Workspace):
+ * inspector/front-end/inspector.html:
+
+2012-07-04 'Pavel Feldman' <pfeldman@chromium.org>
+
+ Not reviewed: follow up to r121843, reduce inspector dock timeout to 200ms.
+
+ * inspector/front-end/StatusBarButton.js:
+ (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
+
+2012-07-04 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Correctly reject accelerated animations with certain rotations.
+ https://bugs.webkit.org/show_bug.cgi?id=89768
+
+ Reviewed by James Robinson.
+
+ UnitTests:
+ GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
+ GraphicsLayerChromiumTest.createTransformAnimationWithRotationInvolvingNegativeAngles
+ GraphicsLayerChromiumTest.createTransformAnimationWithSmallRotationInvolvingLargeAngles
+
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::appendKeyframe):
+ (WebCore::isRotationType):
+ (WebCore):
+ (WebCore::causesRotationOfAtLeast180Degrees):
+ (WebCore::CCKeyframedTransformAnimationCurve):
+ (WebCore::createActiveAnimation):
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::addAnimation):
+
+2012-07-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: "Dock to right" shouldn't be in the settings dialog
+ https://bugs.webkit.org/show_bug.cgi?id=76917
+
+ Reviewed by Vsevolod Vlasov.
+
+ Introduced 'long click-enabled' options for status bar buttons. Made dock/undock one of them.
+
+ * inspector/front-end/Images/statusbarButtonGlyphs.png:
+ * inspector/front-end/StatusBarButton.js:
+ (WebInspector.StatusBarButton.prototype._clicked):
+ (WebInspector.StatusBarButton.prototype.set visible):
+ (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
+ (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseUp):
+ (WebInspector.StatusBarButton.prototype.makeLongClickEnabled):
+ (WebInspector.StatusBarButton.prototype._showOptions.mouseOver):
+ (WebInspector.StatusBarButton.prototype._showOptions.mouseOut):
+ (WebInspector.StatusBarButton.prototype._showOptions.mouseUp):
+ (WebInspector.StatusBarButton.prototype._showOptions):
+ * inspector/front-end/UIUtils.js:
+ (WebInspector.elementDragStart):
+ (WebInspector.elementDragEnd):
+ (WebInspector.GlassPane):
+ (WebInspector.GlassPane.prototype.dispose):
+ * inspector/front-end/inspector.css:
+ (.long-click-glyph):
+ (.long-click-glyph.shadow):
+ (button.status-bar-item:active:not(.emulate-inactive), button.status-bar-item.emulate-active):
+ (.alternate-status-bar-buttons-bar):
+ (.alternate-status-bar-buttons-bar .status-bar-item):
+ * inspector/front-end/inspector.js:
+ (WebInspector._createGlobalStatusBarItems):
+ (WebInspector._createDockOptions.onClick.set else):
+ (WebInspector._createDockOptions.onClick):
+
+2012-07-04 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r121813.
+ http://trac.webkit.org/changeset/121813
+ https://bugs.webkit.org/show_bug.cgi?id=90522
+
+ Causes browser_tests failure:
+ ErrorPageTest.DNSError_GoBack2{Forward2,AndForward} on
+ Chromium {Linux,Mac,Win} (Requested by yosin on #webkit).
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::commitData):
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType):
+ * testing/js/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::resetInternalsObject):
+
+2012-07-04 Kihong Kwon <kihong.kwon@samsung.com>
+
+ [EFL] Change format of return value of navigator.language
+ https://bugs.webkit.org/show_bug.cgi?id=89639
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Remove encoding type from return value of navigator.language.
+ For example, from en-US.UTF-8 to en-US.
+
+ Use exist test case (fast/js/navigator-language.html).
+
+ * platform/efl/LanguageEfl.cpp:
+ (WebCore::platformLanguage):
+
+2012-07-03 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [GTK] Don't show accel labels in context menu items
+ https://bugs.webkit.org/show_bug.cgi?id=90437
+
+ Reviewed by Martin Robinson.
+
+ When a context menu item is created with a GtkMenuItem that has
+ been created from a GtkAction, if the action has an accelerator,
+ it's shown in the menu item label, like menu items in a menu
+ bar. In that case we should reset the accel closure of the menu
+ item label, like GtkUIManager does for popup menus, to make sure
+ the accelerator is not shown. This isn't needed for all other
+ ContextMenuIem constructors, because the GtkAction is created
+ without accelerator by webkit in those cases.
+
+ * platform/gtk/ContextMenuItemGtk.cpp:
+ (WebCore::ContextMenuItem::ContextMenuItem):
+
+2012-07-03 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Move BatteryClientEfl from WebKit to WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=90063
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Move BatteryClientEfl class from WebKit to WebCore
+ so that it can be reused in WebKit2.
+
+ No new tests, no behavior change.
+
+ * PlatformEfl.cmake:
+ * platform/efl/BatteryClientEfl.cpp: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp.
+ (WebCore):
+ (WebCore::BatteryClientEfl::BatteryClientEfl):
+ (WebCore::BatteryClientEfl::setController):
+ (WebCore::BatteryClientEfl::startUpdating):
+ (WebCore::BatteryClientEfl::stopUpdating):
+ (WebCore::BatteryClientEfl::batteryControllerDestroyed):
+ (WebCore::BatteryClientEfl::setBatteryStatus):
+ (WebCore::BatteryClientEfl::timerFired):
+ (WebCore::BatteryClientEfl::getBatteryStatus):
+ (WebCore::BatteryClientEfl::setBatteryClient):
+ * platform/efl/BatteryClientEfl.h: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h.
+ (WebCore):
+ (BatteryClientEfl):
+ (WebCore::BatteryClientEfl::~BatteryClientEfl):
+ (WebCore::BatteryClientEfl::batteryStatus):
+
+2012-07-03 Huang Dongsung <luxtella@company100.net>
+
+ Add a comment in order to clarify why
+ BitmapImage::frameHasAlphaAtIndex returns true as default.
+ https://bugs.webkit.org/show_bug.cgi?id=90445
+
+ Reviewed by Eric Seidel.
+
+ No new tests. This patch doesn't change behavior.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::frameHasAlphaAtIndex):
+ (WebCore):
+
+2012-07-03 Alex Sakhartchouk <alexst@chromium.org>
+
+ [chromium] Avoid calling getUniformLocation??() in the compositor startup
+ https://bugs.webkit.org/show_bug.cgi?id=90217
+
+ Reviewed by Adrienne Walker.
+
+ This change allows chrome compositor to bind uniform locations instead of querying
+ them from the graphics context by using GL_CHROMIUM_bind_uniform_location.
+
+ The extention itself is tested in chromium and the change in webkit simply adds
+ plumbing to allow its usage. Existing pixel tests would be able to verify proper behaviour.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::LayerRendererChromium):
+ (WebCore::LayerRendererChromium::initialize):
+ (WebCore::LayerRendererChromium::initializeSharedObjects):
+ (WebCore::LayerRendererChromium::tileCheckerboardProgram):
+ (WebCore::LayerRendererChromium::solidColorProgram):
+ (WebCore::LayerRendererChromium::headsUpDisplayProgram):
+ (WebCore::LayerRendererChromium::renderPassProgram):
+ (WebCore::LayerRendererChromium::renderPassProgramAA):
+ (WebCore::LayerRendererChromium::renderPassMaskProgram):
+ (WebCore::LayerRendererChromium::renderPassMaskProgramAA):
+ (WebCore::LayerRendererChromium::tileProgram):
+ (WebCore::LayerRendererChromium::tileProgramOpaque):
+ (WebCore::LayerRendererChromium::tileProgramAA):
+ (WebCore::LayerRendererChromium::tileProgramSwizzle):
+ (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
+ (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
+ (WebCore::LayerRendererChromium::textureProgram):
+ (WebCore::LayerRendererChromium::textureProgramFlip):
+ (WebCore::LayerRendererChromium::textureIOSurfaceProgram):
+ (WebCore::LayerRendererChromium::videoYUVProgram):
+ (WebCore::LayerRendererChromium::videoStreamTextureProgram):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (LayerRendererChromium):
+ * platform/graphics/chromium/ProgramBinding.cpp:
+ (WebCore::ProgramBindingBase::ProgramBindingBase):
+ (WebCore::ProgramBindingBase::~ProgramBindingBase):
+ (WebCore::ProgramBindingBase::init):
+ (WebCore::ProgramBindingBase::link):
+ (WebCore):
+ (WebCore::ProgramBindingBase::cleanup):
+ (WebCore::ProgramBindingBase::createShaderProgram):
+ (WebCore::ProgramBindingBase::cleanupShaders):
+ * platform/graphics/chromium/ProgramBinding.h:
+ (ProgramBindingBase):
+ (WebCore::ProgramBinding::initialize):
+ * platform/graphics/chromium/ShaderChromium.cpp:
+ (WebCore::VertexShaderPosTex::init):
+ (WebCore::VertexShaderPosTexYUVStretch::init):
+ (WebCore::VertexShaderPos::init):
+ (WebCore::VertexShaderPosTexTransform::init):
+ (WebCore::VertexShaderQuad::init):
+ (WebCore::VertexShaderTile::init):
+ (WebCore::VertexShaderVideoTransform::init):
+ (WebCore::FragmentTexAlphaBinding::init):
+ (WebCore::FragmentTexOpaqueBinding::init):
+ (WebCore::FragmentShaderOESImageExternal::init):
+ (WebCore::FragmentShaderRGBATexAlphaAA::init):
+ (WebCore::FragmentTexClampAlphaAABinding::init):
+ (WebCore::FragmentShaderRGBATexAlphaMask::init):
+ (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
+ (WebCore::FragmentShaderYUVVideo::init):
+ (WebCore::FragmentShaderColor::init):
+ (WebCore::FragmentShaderCheckerboard::init):
+ * platform/graphics/chromium/ShaderChromium.h:
+ (VertexShaderPosTex):
+ (VertexShaderPosTexYUVStretch):
+ (VertexShaderPos):
+ (WebCore::VertexShaderPosTexIdentity::init):
+ (VertexShaderPosTexTransform):
+ (VertexShaderQuad):
+ (VertexShaderTile):
+ (VertexShaderVideoTransform):
+ (FragmentTexAlphaBinding):
+ (FragmentTexOpaqueBinding):
+ (FragmentShaderOESImageExternal):
+ (FragmentShaderRGBATexAlphaAA):
+ (FragmentTexClampAlphaAABinding):
+ (FragmentShaderRGBATexAlphaMask):
+ (FragmentShaderRGBATexAlphaMaskAA):
+ (FragmentShaderYUVVideo):
+ (FragmentShaderColor):
+ (FragmentShaderCheckerboard):
+ * platform/graphics/chromium/TextureCopier.cpp:
+ (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
+ (WebCore::AcceleratedTextureCopier::copyTexture):
+ * platform/graphics/chromium/TextureCopier.h:
+ (WebCore::AcceleratedTextureCopier::create):
+ (AcceleratedTextureCopier):
+
+2012-07-03 Erik Arvidsson <arv@chromium.org>
+
+ [V8] Remove enableFasterDOMStoreAccess which is never used
+ https://bugs.webkit.org/show_bug.cgi?id=90489
+
+ Reviewed by Adam Barth.
+
+ No new tests. Dead code removal.
+
+ * bindings/v8/V8DOMMap.cpp:
+ * bindings/v8/V8DOMMap.h:
+ (WebCore):
+
+2012-07-03 Joshua Bell <jsbell@chromium.org>
+
+ Binding: IDL type DOMString[] shouldn't match null
+ https://bugs.webkit.org/show_bug.cgi?id=84217
+
+ Reviewed by Kentaro Hara.
+
+ Similar to r121714, IDL overloads with T[] (which is only minimally supported)
+ were being treated as Nullable by default during overloaded method dispatching,
+ which deviates from the WebIDL specification. Extend the previous change to
+ look for Nullable (specified by "?" type suffix in the IDL) for array types.
+
+ Also, after inspection of the spec, use a strict "is this an Array?" test in
+ the JS generator rather than an "inherits from Array.prototype?" test, to
+ match the WebIDL spec.
+
+ IDL files with affected overloads are modified to include the "?" suffix
+ so that no behavior changes are introduced by this patch - the JS and V8
+ generator results before/after the change show no diffs apart from the stricter
+ isJSArray() test.
+
+ Test: bindings/scripts/test/TestObj.idl (a non-Nullable T[] overload)
+
+ * Modules/indexeddb/IDBDatabase.idl: Tag T[] overloads with ? suffix.
+ * Modules/indexeddb/IDBObjectStore.idl: Ditto.
+ * Modules/vibration/NavigatorVibration.idl: Ditto.
+ * bindings/scripts/CodeGeneratorJS.pm: Check isNullable for T[].
+ (GenerateParametersCheckExpression):
+ * bindings/scripts/CodeGeneratorV8.pm: Ditto.
+ (GenerateParametersCheckExpression):
+ * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
+ (WebCore):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
+ * bindings/scripts/test/TestObj.idl: Tag existing T[] with ?, add non-? T[].
+ * bindings/scripts/test/V8/V8TestObj.cpp: Rebaselined.
+ (WebCore::TestObjV8Internal::overloadedMethod9Callback):
+ (TestObjV8Internal):
+ (WebCore::TestObjV8Internal::overloadedMethodCallback):
+
+2012-07-03 Nate Chapin <japhet@chromium.org>
+
+ REGRESSION (r115654): Sometimes does not replace content for multipart/x-mixed-replace
+ https://bugs.webkit.org/show_bug.cgi?id=88436
+
+ Reviewed by Brady Eidson.
+
+ Test: http/tests/multipart/multipart-replace-non-html-content.php
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::commitData): We should only send receivedFirstData() once per main resource load,
+ rather than multiple times in a multipart load.
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType): m_gotFirstByte isn't set to true until data is
+ actually committed, and multipart data is often not committed until the part is finished. Check
+ whether the SharedBuffer is non-null instead.
+ * testing/js/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::resetInternalsObject): The JSInternals object my have already been cleared if the window shell
+ was cleared as part of creation of a new Document. Check it before using it.
+
+2012-07-03 Raymond Toy <rtoy@google.com>
+
+ Add AudioFIFO class and simplify AudioPullFIFO
+ https://bugs.webkit.org/show_bug.cgi?id=90398
+
+ Reviewed by Chris Rogers.
+
+ No new tests. This code will be used in audio back-end implementation.
+
+ Add AudioFIFO class to implement main parts of FIFO. Simplify
+ implementation of AudioPushFIFO by using AudioFIFO.
+
+ * WebCore.gypi: Add new files.
+
+ New AudioFIFO class
+ * platform/audio/AudioFIFO.cpp: Copied from Source/WebCore/platform/audio/AudioPullFIFO.cpp.
+ (WebCore):
+ (WebCore::AudioFIFO::AudioFIFO):
+ (WebCore::AudioFIFO::consume):
+ (WebCore::AudioFIFO::push):
+ (WebCore::AudioFIFO::findWrapLengths):
+ * platform/audio/AudioFIFO.h: Copied from Source/WebCore/platform/audio/AudioPullFIFO.h.
+ (WebCore):
+ (AudioFIFO):
+ (WebCore::AudioFIFO::framesInFifo):
+ (WebCore::AudioFIFO::updateIndex):
+
+ Use AudioFIFO
+ * platform/audio/AudioPullFIFO.cpp:
+ (WebCore::AudioPullFIFO::AudioPullFIFO):
+ (WebCore::AudioPullFIFO::consume):
+ (WebCore::AudioPullFIFO::fillBuffer):
+ * platform/audio/AudioPullFIFO.h:
+ (AudioPullFIFO):
+
+2012-07-03 Nate Chapin <japhet@chromium.org>
+
+ Protect this DocumentThreadableLoader in cancel() to handle reentrancy properly.
+ https://bugs.webkit.org/show_bug.cgi?id=90483
+
+ Reviewed by Abhishek Arya.
+
+ No new tests, covered by http/tests/xmlhttprequest/reentrant-cancel.html
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::cancel):
+
+2012-07-03 Tony Chang <tony@chromium.org>
+
+ [chromium] Unreviewed, update .gitignore to handle VS2010 files.
+
+ * WebCore.gyp/.gitignore:
+
+2012-07-03 Zan Dobersek <zandobersek@gmail.com>
+
+ [Gtk][Gamepads] 'warning: comparison is always true due to limited range of data type [-Wtype-limits]' in GamepadsGtk.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=90477
+
+ Reviewed by Martin Robinson.
+
+ Vector::find() returns value of type size_t, springing errors when
+ assigning the value to a variable of type unsigned. Use size_t type
+ for that variable instead.
+
+ No new tests - no changed functionality.
+
+ * platform/gtk/GamepadsGtk.cpp:
+ (WebCore::GamepadsGtk::unregisterDevice):
+
+2012-07-03 Dominik Röttsches <dominik.rottsches@intel.com>
+
+ Fix LayoutUnit usage in RenderImage::imageDimensionsChanged
+ https://bugs.webkit.org/show_bug.cgi?id=90173
+
+ Reviewed by Eric Seidel.
+
+ The appropriate type should be used for storing width() and height() into local temporary variables.
+
+ No new tests, no change in behavior.
+
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::imageDimensionsChanged):
+
+2012-07-03 Sergio Villar Senin <svillar@igalia.com>
+
+ [TextureMapper] Typo in edge-distance anti-aliasing code
+ https://bugs.webkit.org/show_bug.cgi?id=90475
+
+ Reviewed by Martin Robinson.
+
+ No new tests. This just fixes a typo.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawQuad):
+
+2012-06-27 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: [Extensions API] Resource manipulations should be based on UISourceCode thus extending Sources Panel.
+ https://bugs.webkit.org/show_bug.cgi?id=89868
+
+ Reviewed by Pavel Feldman.
+
+ Extensions API is now based on both ScriptsPanel acting as a UISourceCodeProvider and ResourceTreeModel.
+ Extensions API resource could be for any content provider now.
+ Extensions API resource.setContent implementation is now based on UISourceCode editing methods.
+ Drive-by StyleSource insremental editing timeout fix.
+
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._handleOpenURL):
+ (WebInspector.ExtensionServer.prototype._makeResource):
+ (WebInspector.ExtensionServer.prototype._onGetPageResources):
+ (WebInspector.ExtensionServer.prototype._getResourceContent):
+ (WebInspector.ExtensionServer.prototype._onGetResourceContent):
+ (WebInspector.ExtensionServer.prototype._onSetResourceContent):
+ (WebInspector.ExtensionServer.prototype._notifyResourceAdded):
+ (WebInspector.ExtensionServer.prototype._notifyResourceContentCommitted):
+ * inspector/front-end/JavaScriptSource.js:
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.uiSourceCodes):
+ (WebInspector.ScriptsPanel.prototype.uiSourceCodeForURL):
+ (WebInspector.ScriptsPanel.prototype._addUISourceCode):
+ (WebInspector.ScriptsPanel.prototype._reset):
+ (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
+ * inspector/front-end/StylesPanel.js:
+ (WebInspector.StyleSource.prototype.workingCopyCommitted):
+ (WebInspector.StyleSource.prototype.workingCopyChanged):
+ (WebInspector.StyleSource.prototype._callOrSetTimeout):
+ (WebInspector.StyleSource.prototype._commitIncrementalEdit):
+ (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode.prototype.requestContent):
+ (WebInspector.UISourceCode.prototype.workingCopy):
+ (WebInspector.UISourceCode.prototype.setWorkingCopy):
+ (WebInspector.UISourceCode.prototype.isDirty):
+
+2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Anonymous scripts (evals) should not be added to Workspace.
+ https://bugs.webkit.org/show_bug.cgi?id=90467
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
+
+2012-07-03 Robert Hogan <robert@webkit.org>
+
+ CSS 2.1 failure: floats-wrap-top-below-inline-* fail
+ https://bugs.webkit.org/show_bug.cgi?id=88171
+
+ Reviewed by Eric Seidel.
+
+ When shifting a line or element left or right to avoid a float use the height
+ of the line or element to determine whether the float is inside the element or
+ if it overlaps the bottom of the element.
+
+ Do this by passing the height of the element to the interval tree used to detect
+ the overlap with it's containing block's floats. The height is zero by default so
+ callers to logical[Left|Right]OffsetForLine will need to pass the height if they
+ want to use it to detect floats to avoid.
+
+ Tests: css2.1/20110323/floats-wrap-top-below-bfc-001l.htm
+ css2.1/20110323/floats-wrap-top-below-bfc-001r.htm
+ css2.1/20110323/floats-wrap-top-below-bfc-002l.htm
+ css2.1/20110323/floats-wrap-top-below-bfc-002r.htm
+ css2.1/20110323/floats-wrap-top-below-bfc-003l.htm
+ css2.1/20110323/floats-wrap-top-below-bfc-003r.htm
+ css2.1/20110323/floats-wrap-top-below-inline-001l.htm
+ css2.1/20110323/floats-wrap-top-below-inline-001r.htm
+ css2.1/20110323/floats-wrap-top-below-inline-002l.htm
+ css2.1/20110323/floats-wrap-top-below-inline-002r.htm
+ css2.1/20110323/floats-wrap-top-below-inline-003l.htm
+ css2.1/20110323/floats-wrap-top-below-inline-003r.htm
+ css2.1/20110323/floats-zero-height-wrap-001.htm
+ css2.1/20110323/floats-zero-height-wrap-002.htm
+ fast/block/float/floats-wrap-inside-inline-001.htm
+ fast/block/float/floats-wrap-inside-inline-002.htm
+ fast/block/float/floats-wrap-inside-inline-003.htm
+ fast/block/float/floats-wrap-inside-inline-004.htm
+ fast/block/float/floats-wrap-inside-inline-005.htm
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
+ (WebCore::::collectIfNeeded):
+ (WebCore::RenderBlock::logicalLeftOffsetForLine):
+ (WebCore::RenderBlock::logicalRightOffsetForLine):
+ (WebCore::RenderBlock::getClearDelta):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::availableLogicalWidthForLine):
+ (WebCore::RenderBlock::logicalRightOffsetForLine):
+ (WebCore::RenderBlock::logicalLeftOffsetForLine):
+ (WebCore::RenderBlock::startOffsetForLine):
+ (WebCore::RenderBlock::endOffsetForLine):
+ (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
+ (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
+ (RenderBlock):
+ (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
+ (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
+ (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
+ (FloatIntervalSearchAdapter):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::logicalBottomForLine):
+ (WebCore):
+ (WebCore::LineWidth::updateAvailableWidth):
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
+
+2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Introduce Workspace make it UISourceCode provider for ScriptsPanel.
+ https://bugs.webkit.org/show_bug.cgi?id=90466
+
+ Reviewed by Pavel Feldman.
+
+ Introduced WebInspector.Workspace as a model (UISourceCode provider) behind ScriptsPanel.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/ScriptsPanel.js:
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/Workspace.js: Added.
+ (WebInspector.CompositeUISourceCodeProvider):
+ (WebInspector.CompositeUISourceCodeProvider.prototype._registerUISourceCodeProvider):
+ (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeAdded):
+ (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeReplaced):
+ (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeRemoved):
+ (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodes):
+ (WebInspector.Workspace):
+ (WebInspector.Workspace.prototype.registerUISourceCodeProvider):
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ [Qt] Make use of .qmake.cache for caching features
+
+ Instead of loading() features from the files that need them (and re-running
+ a bunch of checks), we now run feature detection as part of configure.pro,
+ and have build-webkit write the computed feature-defines and CONFIG to
+ .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
+ when building WebKit.pro.
+
+ At some point we'll be able to selectivly prevent running of config tests
+ in configure.pro, which means we don't need a separate code-path for
+ the build-webkit --help case.
+
+ We should also move the code in build-webkit that now uses .webkit.config
+ to detect clean builds, to use .qmake.cache, since we now store the same
+ thing there.
+
+ Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=90461
+
+ Reviewed by Tor Arne Vestbø.
+
+ * DerivedSources.pri:
+ * WebCore.pri:
+
+2012-07-03 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r121766.
+ http://trac.webkit.org/changeset/121766
+ https://bugs.webkit.org/show_bug.cgi?id=90465
+
+ It caused flakey build errors on the bots (Requested by Ossy
+ on #webkit).
+
+ * DerivedSources.pri:
+ * WebCore.pri:
+
+2012-07-03 George Staikos <staikos@webkit.org>
+
+ [BlackBerry] Enable Custom Scheme Handlers for BlackBerry.
+ https://bugs.webkit.org/show_bug.cgi?id=90422
+
+ Reviewed by Rob Buis.
+
+ * page/NavigatorRegisterProtocolHandler.cpp:
+ (WebCore::initProtocolHandlerWhitelist): Disable the overrides as
+ they're undesired by BlackBerry
+
+2012-07-03 Eugene Klyuchnikov <eustas.bug@gmail.com>
+
+ Web Inspector: Forward message loop instrumentation data to frontend.
+ https://bugs.webkit.org/show_bug.cgi?id=89584
+
+ Reviewed by Yury Semikhatsky.
+
+ Transmit collected message loop tasks to inspector frontend.
+ Now "Program" should be a top-level event on browsers that
+ support message loop instrumentation.
+ Frontend was changed so that user will not see any changes.
+
+ * inspector/InspectorTimelineAgent.cpp:
+ (TimelineRecordType):
+ Added new event type - "Program"
+ (WebCore::InspectorTimelineAgent::willProcessTask):
+ Begin "Program" event.
+ (WebCore::InspectorTimelineAgent::didProcessTask):
+ Finish "Program" event.
+ (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
+ Do not add counters to "Program" events.
+ (WebCore):
+ (WebCore::InspectorTimelineAgent::innerSetHeapSizeStatistic):
+ Renamed from "setHeapSizeStatistic"
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+ * inspector/front-end/MemoryStatistics.js:
+ (WebInspector.MemoryStatistics.prototype._onRecordAdded):
+ Unwraps "Program" events.
+ (WebInspector.MemoryStatistics.prototype._innerRecordAdded):
+ Renamed from "_onRecordAdded"
+ * inspector/front-end/TimelineFrameController.js:
+ (WebInspector.TimelineFrameController.prototype._addRecord):
+ Unwraps "Program" events.
+ (WebInspector.TimelineFrameController.prototype._innerAddRecord):
+ Renamed from "_addRecord"
+ * inspector/front-end/TimelineModel.js:
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
+ Filter out "Program" category.
+ (WebInspector.TimelineCategoryStrips.prototype.update):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ Filter out "Program" category.
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ Unwraps "Program" events.
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.categories):
+ Added "Program" category.
+ (WebInspector.TimelinePresentationModel.recordStyle):
+ Ditto.
+ (WebInspector.TimelinePresentationModel.prototype.addRecord):
+ Unwraps "Program" events.
+ (WebInspector.TimelinePresentationModel.prototype._addRecord):
+ Renamed from "addRecord"
+
+2012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ [Qt] Make use of .qmake.cache for caching features
+
+ Instead of loading() features from the files that need them (and re-running
+ a bunch of checks), we now run feature detection as part of configure.pro,
+ and have build-webkit write the computed feature-defines and CONFIG to
+ .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
+ when building WebKit.pro.
+
+ At some point we'll be able to selectivly prevent running of config tests
+ in configure.pro, which means we don't need a separate code-path for
+ the build-webkit --help case.
+
+ We should also move the code in build-webkit that now uses .webkit.config
+ to detect clean builds, to use .qmake.cache, since we now store the same
+ thing there.
+
+ Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=90461
+
+ Reviewed by Tor Arne Vestbø.
+
+ * DerivedSources.pri:
+ * WebCore.pri:
+
+2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
+
+ inspector/debugger/script-snippet-model.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=90385
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ScriptSnippetModel.js:
+
+2012-07-03 Alexander Pavlov <apavlov@chromium.org>
+
+ [REGRESSION] Crash when copying a StyleRuleMedia with a NULL m_mediaQueries
+ https://bugs.webkit.org/show_bug.cgi?id=90459
+
+ Reviewed by Andreas Kling.
+
+ Create StyleRuleMedia with a non-NULL MediaQuerySet. The respective NULL checks for it were all over the code,
+ except the copy constructor. Added the check, just in case.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createMediaRule):
+ * css/StyleRule.cpp:
+ (WebCore::StyleRuleMedia::StyleRuleMedia):
+
+2012-07-03 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: display time intervals measured with console.time() and console.timeEnd() in Timeline
+ https://bugs.webkit.org/show_bug.cgi?id=90442
+
+ Reviewed by Pavel Feldman.
+
+ - added Time and TimeEnd record types produced by console.time() and console.timeEnd()
+ - connect Time to TimeEnd in "glue" mode to better visualize the interval;
+ - always make Time a top-level record;
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
+ (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
+ * inspector/InspectorTimelineAgent.cpp:
+ (TimelineRecordType):
+ (WebCore::InspectorTimelineAgent::didStartTiming):
+ (WebCore):
+ (WebCore::InspectorTimelineAgent::didStopTiming):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+ * inspector/front-end/TimelineModel.js:
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.recordStyle):
+ (WebInspector.TimelinePresentationModel.categoryForRecord):
+ (WebInspector.TimelinePresentationModel.prototype.reset):
+ (WebInspector.TimelinePresentationModel.prototype.addRecord):
+ (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
+ (WebInspector.TimelinePresentationModel.Record):
+ (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
+
+2012-07-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> Joel Dillon <joel.dillon@codethink.co.uk>
+
+ [Qt][Win] Fix broken QtWebKit5.lib linking
+ https://bugs.webkit.org/show_bug.cgi?id=88321
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * platform/PlatformExportMacros.h:
+
+2012-07-03 Philip Rogers <pdr@google.com>
+
+ Fix text positioning with non-bmp characters.
+ https://bugs.webkit.org/show_bug.cgi?id=87681
+
+ Reviewed by Nikolas Zimmermann.
+
+ Previously when constructing metrics for tspans with non-bmp characters,
+ each non-bmp character treated as a skipped character in the same way that
+ spaces are ignored.
+ This made sense because the initial SVGCharacterDataMap for <text> is
+ indexed by character index (not string length) so the high portion of a
+ non-bmp character was treated as a skipped space. Unfortunately, this
+ led to a bug because skipped spaces lead to an offset in the positioning
+ values list but non-bmp characters do not.
+
+ This change switches the code to use a new offset for non-bmp characters,
+ surrogatePairCharacters, which does not affect the positioning values list.
+
+ Tests: svg/text/non-bmp-tspans-expected.svg
+ svg/text/non-bmp-tspans.svg
+
+ * rendering/svg/SVGTextMetricsBuilder.cpp:
+ (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
+
+2012-07-03 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Improve test cases for network information APIs
+ https://bugs.webkit.org/show_bug.cgi?id=90162
+
+ Reviewed by Adam Barth.
+
+ Existing implementation doesn't test port implementation in network info APIs.
+ This patch lets test cases use bandwidth and metered functions implemented by port layer.
+
+ In addition, expected results need to check return type instead of property name.
+
+ No new tests. Covered by existing tests.
+
+ * Modules/networkinfo/NetworkInfoConnection.cpp:
+ (WebCore::NetworkInfoConnection::bandwidth):
+ (WebCore::NetworkInfoConnection::metered):
+
+2012-07-03 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
+
+ [EFL] [WK2] Don't call eina_iterator_free() if iterator is NULL
+ https://bugs.webkit.org/show_bug.cgi?id=90076
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add a null check to prevent calling eina_iterator_free() when
+ iterator is NULL.
+
+ No new tests. This patch doesn't change behavior.
+
+ * platform/efl/FileSystemEfl.cpp:
+ (WebCore::listDirectory): Early return when iterator is NULL.
+
+2012-07-03 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Elements] Text formatting is not retained when editing <script> or <style> contents as text
+ https://bugs.webkit.org/show_bug.cgi?id=90440
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
+
+2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Save scroll selection and cursor position of SourceFrames in sources panel.
+ https://bugs.webkit.org/show_bug.cgi?id=90294
+
+ Reviewed by Yury Semikhatsky.
+
+ Scroll and selection change handling is now delegated from TextViewer to SourceFrame.
+ SourceFrame now dispatches ScrollChanged and SelectionChanged events.
+ TabbedEditorContainer now saves scroll and selection information together
+ with the url history and restores scroll and selection on resource opening.
+
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.wasShown):
+ (WebInspector.SourceFrame.prototype.highlightLine):
+ (WebInspector.SourceFrame.prototype._innerHighlightLineIfNeeded):
+ (WebInspector.SourceFrame.prototype._clearLineHighlight):
+ (WebInspector.SourceFrame.prototype.revealLine):
+ (WebInspector.SourceFrame.prototype._innerRevealLineIfNeeded):
+ (WebInspector.SourceFrame.prototype._clearLineToReveal):
+ (WebInspector.SourceFrame.prototype.scrollToLine):
+ (WebInspector.SourceFrame.prototype._innerScrollToLineIfNeeded):
+ (WebInspector.SourceFrame.prototype._clearLineToScrollTo):
+ (WebInspector.SourceFrame.prototype.setSelection):
+ (WebInspector.SourceFrame.prototype._innerSetSelectionIfNeeded):
+ (WebInspector.SourceFrame.prototype._wasShownOrLoaded):
+ (WebInspector.SourceFrame.prototype.setContent):
+ (WebInspector.SourceFrame.prototype.commitEditing):
+ (WebInspector.SourceFrame.prototype.selectionChanged):
+ (WebInspector.SourceFrame.prototype.scrollChanged):
+ (WebInspector.TextViewerDelegateForSourceFrame.prototype.selectionChanged):
+ (WebInspector.TextViewerDelegateForSourceFrame.prototype.scrollChanged):
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainer):
+ (WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners):
+ (WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners):
+ (WebInspector.TabbedEditorContainer.prototype._scrollChanged):
+ (WebInspector.TabbedEditorContainer.prototype._selectionChanged):
+ (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
+ (WebInspector.TabbedEditorContainer.prototype._tabClosed):
+ (WebInspector.TabbedEditorContainer.HistoryItem):
+ (WebInspector.TabbedEditorContainer.HistoryItem.fromObject):
+ (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
+ (WebInspector.TabbedEditorContainer.History):
+ (WebInspector.TabbedEditorContainer.History.fromObject):
+ (WebInspector.TabbedEditorContainer.History.prototype.index):
+ (WebInspector.TabbedEditorContainer.History.prototype.selectionRange):
+ (WebInspector.TabbedEditorContainer.History.prototype.updateSelectionRange):
+ (WebInspector.TabbedEditorContainer.History.prototype.scrollLineNumber):
+ (WebInspector.TabbedEditorContainer.History.prototype.updateScrollLineNumber):
+ (WebInspector.TabbedEditorContainer.History.prototype.update):
+ (WebInspector.TabbedEditorContainer.History.prototype.remove):
+ (WebInspector.TabbedEditorContainer.History.prototype.save):
+ (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
+ * inspector/front-end/TextEditorModel.js:
+ (WebInspector.TextRange.fromObject):
+ (WebInspector.TextRange.prototype.clone):
+ (WebInspector.TextRange.prototype.serializeToObject):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._handleScrollChanged):
+ (WebInspector.TextViewer.prototype.scrollToLine):
+ (WebInspector.TextViewer.prototype._handleSelectionChange):
+ (WebInspector.TextViewer.prototype.setSelection):
+ (WebInspector.TextViewer.prototype.wasShown):
+ (WebInspector.TextViewer.prototype._handleFocused):
+ (WebInspector.TextViewer.prototype.willHide):
+ (WebInspector.TextViewerDelegate.prototype.selectionChanged):
+ (WebInspector.TextViewerDelegate.prototype.scrollChanged):
+ (WebInspector.TextEditorChunkedPanel.prototype.scrollToLine):
+
+2012-07-03 Taiju Tsuiki <tzik@chromium.org>
+
+ Web Inspector: Make DirectoryContentView sortable
+ https://bugs.webkit.org/show_bug.cgi?id=90361
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/Inspector.json:
+ * inspector/InspectorFileSystemAgent.cpp:
+ (WebCore):
+ * inspector/front-end/DirectoryContentView.js:
+ (WebInspector.DirectoryContentView):
+ (WebInspector.DirectoryContentView.prototype.showEntries):
+ (WebInspector.DirectoryContentView.prototype._sort):
+ (WebInspector.DirectoryContentView.Node.comparator.isDirectoryCompare):
+ (WebInspector.DirectoryContentView.Node.comparator.nameCompare):
+ (WebInspector.DirectoryContentView.Node.comparator.typeCompare):
+ (WebInspector.DirectoryContentView.Node.comparator.sizeCompare):
+ (WebInspector.DirectoryContentView.Node.comparator):
+ (WebInspector.DirectoryContentView.Node.prototype._metadataReceived):
+
+2012-07-03 Jan Keromnes <janx@linux.com>
+
+ Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
+ https://bugs.webkit.org/show_bug.cgi?id=89939
+
+ Reviewed by Vsevolod Vlasov.
+
+ Fixed LayoutTests and PerformanceTests accordingly.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/AdvancedSearchController.js:
+ (WebInspector.SearchView):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame):
+ (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
+ (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
+ (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
+ (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
+ (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
+ (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
+ (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
+ (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
+ (WebInspector.JavaScriptSourceFrame.prototype.toggleBreakpointOnCurrentLine):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ (WebInspector.SourceFrame.prototype.wasShown):
+ (WebInspector.SourceFrame.prototype.willHide):
+ (WebInspector.SourceFrame.prototype.defaultFocusedElement):
+ (WebInspector.SourceFrame.prototype.get textEditor):
+ (WebInspector.SourceFrame.prototype.clearMessages):
+ (WebInspector.SourceFrame.prototype.highlightLine):
+ (WebInspector.SourceFrame.prototype._clearLineHighlight):
+ (WebInspector.SourceFrame.prototype.revealLine):
+ (WebInspector.SourceFrame.prototype.setSelection):
+ (WebInspector.SourceFrame.prototype.setContent):
+ (WebInspector.SourceFrame.prototype.onTextEditorContentLoaded):
+ (WebInspector.SourceFrame.prototype._setTextEditorDecorations):
+ (WebInspector.SourceFrame.prototype.searchCanceled):
+ (WebInspector.SourceFrame.prototype.jumpToSearchResult):
+ (WebInspector.SourceFrame.prototype.addMessageToSource):
+ (WebInspector.SourceFrame.prototype.removeMessageFromSource):
+ (WebInspector.SourceFrame.prototype.inheritScrollPositions):
+ (WebInspector.TextEditorDelegateForSourceFrame):
+ * inspector/front-end/TextViewer.js: Removed.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/textViewer.css: Removed.
+
+2012-07-03 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
+ https://bugs.webkit.org/show_bug.cgi?id=88338
+
+ Reviewed by David Levin.
+
+ If the indexedDB runs in main thread it can access the GroupSettings via the document;
+ otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
+ to the indexedDB running in WorkerContext.
+
+ * Modules/indexeddb/IDBFactory.cpp:
+ (WebCore::IDBFactory::open):
+ * workers/DedicatedWorkerThread.cpp:
+ (WebCore::DedicatedWorkerThread::create):
+ (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
+ * workers/DedicatedWorkerThread.h:
+ (DedicatedWorkerThread):
+ * workers/DefaultSharedWorkerRepository.cpp:
+ (SharedWorkerProxy):
+ (WebCore::SharedWorkerProxy::groupSettings):
+ (WebCore):
+ (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
+ * workers/SharedWorkerThread.cpp:
+ (WebCore::SharedWorkerThread::create):
+ (WebCore::SharedWorkerThread::SharedWorkerThread):
+ * workers/SharedWorkerThread.h:
+ (SharedWorkerThread):
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::WorkerMessagingProxy::startWorkerContext):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThreadStartupData::create):
+ (WorkerThreadStartupData):
+ (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::groupSettings):
+ (WebCore):
+ * workers/WorkerThread.h:
+ (WorkerThread):
+
+2012-07-03 Balazs Kelemen <kbalazs@webkit.org>
+
+ [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
+ https://bugs.webkit.org/show_bug.cgi?id=90376
+
+ Reviewed by Csaba Osztrogonác.
+
+ No new tests, this is only a build alignment.
+
+ Export ViewportArguments::deprecatedTargetDPI since it is used in WebKit2.
+ * WebCore.exp.in:
+
+2012-07-02 Martin Robinson <mrobinson@igalia.com>
+
+ [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
+ https://bugs.webkit.org/show_bug.cgi?id=90308
+
+ Reviewed by Noam Rosenthal.
+
+ Add an edge-distance anti-aliasing implementation for the TextureMapper. Currently
+ this implementation is not active for tiled layers. This implementation is based
+ on the one in the Chromium compositor originally written by David Raveman.
+
+ When a layer is transformed in a way that leaves its edge dimensions across pixel
+ boundaries, edge distance anti-aliasing will do a cheaper form of anti-aliasing
+ than full-scene anti-aliasing to make the transition from the layer pixel
+ to the background pixel smoother.
+
+ No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
+ compositing and 3D transforms, when those test harnesses are capable of
+ producing pixel output (in progress).
+
+ * platform/graphics/texmap/TextureMapper.h: Add an enum which is used to tell
+ the texture mapper what edges of a texture are exposed. This will be used for
+ properly dealing with tiled layers in the future.
+ * platform/graphics/texmap/TextureMapperBackingStore.cpp: Properly pass information
+ about exposed layer edges to the TextureMapper while painting.
+ * platform/graphics/texmap/TextureMapperBackingStore.h:
+ (TextureMapperTile): Modified arguments include exposed edges.
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawQuad): Renamed from drawRect, this method can now
+ draw quads that have non unit-rect texture coordinates. This is necessary because
+ the edge distance approach draws such quad.
+ (WebCore::TextureMapperGL::drawBorder): Call drawQuad now instead of drawRect.
+ (WebCore::TextureMapperGL::drawTexture): Pass the exposedEdges argument down.
+ (WebCore::TextureMapperGL::drawTextureRectangleARB): Call drawQuad now instead of
+ drawRect.
+ (WebCore::viewportMatrix): Added this helper which can calculate the viewport
+ transform based on the current OpenGL viewport settings.
+ (WebCore::scaleLineEquationCoeffecientsToOptimizeDistanceCalculation): Added this
+ helper which optimizes the fragment shader by precalculating some constant parts
+ of the distance calculation.
+ (WebCore::getStandardEquationCoeffecientsForLine): Given two end points of line segment
+ get the coeffecients of the line in the standard form of the line equation.
+ (WebCore::quadToEdgeArray): Converts a FloatQuad to an array of four sets of pre-scaled
+ line coefficients so that they can be passed to OpenGL.
+ (WebCore::scaledVectorDifference): Helper which helps expand a quad of arbitrary
+ orientation.
+ (WebCore::inflateQuad): Inflate a quad of arbitrary orientation. The transform may
+ flip it so we have to look at neighboring points to expand the quad.
+ (WebCore::TextureMapperGL::drawTextureWithAntialiasing): Activate the anti-aliasing
+ program and set up all uniforms.
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): Abstract out common operations
+ from drawTexture to be used with drawTextureWithAntialiasing.
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (WebCore::TextureMapperGL::DrawQuad::DrawQuad): Add this small type which stores information
+ necessary to draw a quad -- it's original destination rect and the final size mapped to
+ texture coordinates.
+ (TextureMapperGL):
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Add the new exposedEdges argument.
+ * platform/graphics/texmap/TextureMapperImageBuffer.h: Ditto.
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp: Add the new fragment shader for
+ doing edge-distance AA and a program which uses that shader.
+ * platform/graphics/texmap/TextureMapperShaderManager.h: Ditto.
+
+2012-07-02 Dan Bernstein <mitz@apple.com>
+
+ Column height and count calculation ignores most overflow
+ https://bugs.webkit.org/show_bug.cgi?id=90392
+
+ Reviewed by Dean Jackson.
+
+ Test: fast/multicol/overflow-content.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::relayoutForPagination): Changed to compute the overflow from children
+ and use the layout overflow height rather the content height.
+
+2012-07-02 Chris Guan <chris.guan@torchmobile.com.cn>
+
+ [BlackBerry] Refactor : move the implementation of getMIMETypeForExtension and getPreferredExtensionForMIMEType into BlackBerry platform
+ https://bugs.webkit.org/show_bug.cgi?id=90360
+
+ Reviewed by Antonio Gomes.
+
+ We should have one implementation for getMIMETypeForExtension
+ and getPreferredExtensionForMIMEType for both webkit and platform,
+ so I move this implementation to BlackBerry platform.
+
+ No new test cases , because no behavior changed.
+
+ * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
+
+2012-07-02 Emil A Eklund <eae@chromium.org>
+
+ Position replaced elements on pixel bounds
+ https://bugs.webkit.org/show_bug.cgi?id=90354
+
+ Reviewed by Eric Seidel.
+
+ To avoid sizing and repaint issues we should layout replaced elements on
+ pixel bounds. We already ensure that replaced elements are sized in full
+ pixels and that they are painted on pixel bounds. By also ensuring that
+ they are placed on pixel bounds we avoid pixel having the size be
+ expanded by pixel snapping and repainting/invalidation rect issues when
+ scrolling.
+
+ Test: fast/repaint/repaint-during-scroll-with-zoom.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
+ (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
+
+2012-07-02 Nico Weber <thakis@chromium.org>
+
+ Fix new -Wunused-private-field violations
+ https://bugs.webkit.org/show_bug.cgi?id=90417
+
+ Reviewed by Ryosuke Niwa.
+
+ No intended behavior change.
+
+ * inspector/InspectorFileSystemAgent.cpp:
+ (WebCore):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
+ (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
+ (CCPrioritizedTextureManager):
+
+2012-07-02 Yoshifumi Inoue <yosin@chromium.org>
+
+ Build fix for Chromimum
+
+ r121710 removed WebCore/platform/qt/GraphicsLayerQt.{cpp,h}.
+ However, that patch didn't remove them from WebCore.gypi.
+
+ * WebCore.gypi: Removed GraphicsLayerQt.{cpp,h}
+
+2012-07-02 Joshua Bell <jsbell@chromium.org>
+
+ IDL overloads should not treat wrapper types as nullable by default
+ https://bugs.webkit.org/show_bug.cgi?id=90218
+
+ Reviewed by Kentaro Hara.
+
+ Wrapper types were being treated as Nullable by default during overloaded
+ method dispatching, which deviates from the WebIDL specification. This change
+ introduces the "?" type suffix into the parser, and treats wrapper types
+ only nullable if specified. (The behavior of array types and other non-wrapper
+ types are not changed, and only overloaded methods are checked.)
+
+ IDL files with affected overloads are modified to include the "?" suffix
+ so that no behavior changes are introduced by this patch - the JS and V8
+ generator results before/after the change show no diffs.
+
+ Test: bindings/scripts/test/TestObj.idl (a non-nullable overload)
+
+ * Modules/indexeddb/IDBDatabase.idl: Added "?" where necessary.
+ * Modules/indexeddb/IDBIndex.idl: Added "?" where necessary.
+ * Modules/indexeddb/IDBObjectStore.idl: Added "?" where necessary.
+ * Modules/webaudio/AudioContext.idl: Added "?" where necessary.
+ * Modules/webaudio/AudioNode.idl: Added "?" where necessary.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateParametersCheckExpression): Add isNullable check.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateParametersCheckExpression): Add isNullable check.
+ * bindings/scripts/IDLParser.pm: Parse/set isNullable.
+ (parseParameters):
+ * bindings/scripts/IDLStructure.pm: Add basic type suffix parsing.
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
+ (WebCore):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
+ * bindings/scripts/test/TestObj.idl: Mark previous overload params with ?, add new one without.
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::overloadedMethod8Callback):
+ (TestObjV8Internal):
+ (WebCore::TestObjV8Internal::overloadedMethodCallback):
+ * dom/DataTransferItemList.idl: Added "?" where necessary.
+ * fileapi/WebKitBlobBuilder.idl: Added "?" where necessary.
+ * html/DOMURL.idl: Added "?" where necessary.
+ * html/canvas/CanvasRenderingContext2D.idl: Added "?" where necessary.
+ * html/canvas/WebGLRenderingContext.idl: Added "?" where necessary.
+
+2012-07-02 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ [Qt] Get rid of GraphicsLayerQt
+ https://bugs.webkit.org/show_bug.cgi?id=78598
+
+ Reviewed by Luiz Agostini.
+
+ Remove GraphicsLayerQt.h/cpp, as well as references to the non-TextureMapper code paths
+ in GraphicsContext3DQt and MediaPlayerPrivateQt.
+
+ No new tests, removing unused code paths.
+
+ * Target.pri:
+ * platform/graphics/PlatformLayer.h:
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (GraphicsContext3DPrivate):
+ (WebCore):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore):
+ * platform/graphics/qt/GraphicsLayerQt.cpp: Removed.
+ * platform/graphics/qt/GraphicsLayerQt.h: Removed.
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore):
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+ (MediaPlayerPrivateQt):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::invalidateRect):
+ (WebCore::PluginView::platformStart):
+
+2012-07-02 Behdad Esfahbod <behdad@behdad.org>
+
+ LayoutUnit::epsilon() is wrong
+ https://bugs.webkit.org/show_bug.cgi?id=90083
+
+ Reviewed by Eric Seidel.
+
+ Do division in floats, not integers.
+
+ No new tests. No code using the affected function.
+
+ * platform/FractionalLayoutUnit.h:
+ (WebCore::FractionalLayoutUnit::epsilon):
+
+2012-07-02 Tim Horton <timothy_horton@apple.com>
+
+ Compositing layer sync should cause deferred repaints to be fired immediately
+ https://bugs.webkit.org/show_bug.cgi?id=90401
+ <rdar://problem/11792028>
+
+ Reviewed by Simon Fraser and Antti Koivisto.
+
+ If we sync compositing layers and allow the repaint to be deferred, there is time for a
+ visible flash to occur. Instead, stop the deferred repaint timer and repaint immediately.
+
+ No new tests, configuration and timing dependent.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::syncCompositingStateForThisFrame):
+ (WebCore::FrameView::checkStopDelayingDeferredRepaints):
+ (WebCore::FrameView::stopDelayingDeferredRepaints): Split off from checkStopDelayingDeferredRepaints.
+ * page/FrameView.h:
+ (FrameView): Add stopDelayingDeferredRepaints.
+
+2012-07-02 Benjamin Poulain <bpoulain@apple.com>
+
+ Do not do any logging initialization when logging is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=90228
+
+ Reviewed by Simon Fraser.
+
+ Initializating of the logging channels was taking time on startup. When logging is disabled
+ (and the LOG macro does nothing), we should aslo disable logging channels and initialization.
+
+ This patch #ifdef the Logging initialization with the macro LOG_DISABLED.
+
+ * WebCore.exp.in:
+ * make-export-file-generator: Explicitely adds Assertions.h so that LOG_DISABLED is defined.
+ * platform/Logging.cpp:
+ * platform/Logging.h:
+ * platform/blackberry/LoggingBlackBerry.cpp:
+ * platform/efl/LoggingEfl.cpp:
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ * platform/gtk/LoggingGtk.cpp:
+ * platform/mac/LoggingMac.mm:
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ensureSessionIsInitialized):
+ * platform/qt/LoggingQt.cpp:
+ * platform/win/LoggingWin.cpp:
+ * platform/wx/LoggingWx.cpp:
+
+2012-07-02 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/11787030> In vertical writing modes, child following float-clearing block has incorrect logical top
+ https://bugs.webkit.org/show_bug.cgi?id=90359
+
+ Reviewed by Anders Carlsson.
+
+ Test: fast/writing-mode/logical-height-after-clear.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::clearFloatsIfNeeded): Changed to use logicalTop() and logicalHeight()
+ instead of y() and height().
+
+2012-07-02 Arko Saha <arko@motorola.com>
+
+ Microdata: Fix build failure after r121580.
+ https://bugs.webkit.org/show_bug.cgi?id=90378
+
+ Reviewed by Ryosuke Niwa.
+
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::properties):
+ * html/HTMLElement.h:
+
+2012-07-02 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Update MediaStreamTrackList to match the specification
+ https://bugs.webkit.org/show_bug.cgi?id=90171
+
+ Reviewed by Adam Barth.
+
+ The latest update to the specification added add and remove methods with corresponding callbacks.
+ The callbacks can be triggered both from JS and from the platform layer.
+
+ Test: fast/mediastream/MediaStreamTrackList.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::MediaStream::MediaStream):
+ (WebCore::MediaStream::~MediaStream):
+ (WebCore::MediaStream::streamEnded):
+ (WebCore::MediaStream::addTrack):
+ (WebCore):
+ (WebCore::MediaStream::removeTrack):
+ * Modules/mediastream/MediaStream.h:
+ (MediaStream):
+ * Modules/mediastream/MediaStreamTrackEvent.cpp: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp.
+ (WebCore):
+ (WebCore::MediaStreamTrackEvent::create):
+ (WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
+ (WebCore::MediaStreamTrackEvent::~MediaStreamTrackEvent):
+ (WebCore::MediaStreamTrackEvent::track):
+ (WebCore::MediaStreamTrackEvent::interfaceName):
+ * Modules/mediastream/MediaStreamTrackEvent.h: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.h.
+ (WebCore):
+ (MediaStreamTrackEvent):
+ * Modules/mediastream/MediaStreamTrackEvent.idl: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.idl.
+ * Modules/mediastream/MediaStreamTrackList.cpp:
+ (WebCore::MediaStreamTrackList::create):
+ (WebCore::MediaStreamTrackList::MediaStreamTrackList):
+ (WebCore::MediaStreamTrackList::detachOwner):
+ (WebCore):
+ (WebCore::MediaStreamTrackList::add):
+ (WebCore::MediaStreamTrackList::remove):
+ (WebCore::MediaStreamTrackList::stop):
+ (WebCore::MediaStreamTrackList::interfaceName):
+ (WebCore::MediaStreamTrackList::scriptExecutionContext):
+ (WebCore::MediaStreamTrackList::eventTargetData):
+ (WebCore::MediaStreamTrackList::ensureEventTargetData):
+ * Modules/mediastream/MediaStreamTrackList.h:
+ (MediaStreamTrackList):
+ * Modules/mediastream/MediaStreamTrackList.idl:
+ * WebCore.gypi:
+ * dom/EventNames.h:
+ (WebCore):
+ * dom/EventNames.in:
+ * dom/EventTargetFactory.in:
+ * platform/mediastream/MediaStreamCenter.cpp:
+ (WebCore::MediaStreamCenter::addMediaStreamTrack):
+ (WebCore):
+ (WebCore::MediaStreamCenter::removeMediaStreamTrack):
+ * platform/mediastream/MediaStreamCenter.h:
+ (MediaStreamCenter):
+ * platform/mediastream/MediaStreamDescriptor.h:
+ (MediaStreamDescriptorOwner):
+ * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
+ (WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
+ (WebCore):
+ (WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):
+ (WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
+ (WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
+ * platform/mediastream/chromium/MediaStreamCenterChromium.h:
+ (WebKit):
+ (MediaStreamCenterChromium):
+ * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
+ (WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
+ (WebCore):
+ (WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):
+ * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
+ (MediaStreamCenterGStreamer):
+
+2012-07-02 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: incorrect height of main timeline pane after switching to memory mode
+ https://bugs.webkit.org/show_bug.cgi?id=90387
+
+ Reviewed by Pavel Feldman.
+
+ - update cached container height when setting vertical splitter position.
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype.set _setSplitterPosition):
+
+2012-07-02 Christophe Dumez <christophe.dumez@intel.com>
+
+ [MICRODATA] Build failure in html/HTMLPropertiesCollection.h
+ https://bugs.webkit.org/show_bug.cgi?id=90379
+
+ Reviewed by Ryosuke Niwa.
+
+ Switch HTMLCollection::append() visibility from private
+ to protected so that HTMLPropertiesCollection subclass
+ can call it. This fixes build when MICRODATA flag is
+ turned on.
+
+ No new tests, build fix.
+
+ * html/HTMLCollection.h:
+ (HTMLCollectionCacheBase):
+
+2012-07-02 Kwang Yul Seo <skyul@company100.net>
+
+ A start "body" tag in the "in body" insertion mode is a parse error
+ https://bugs.webkit.org/show_bug.cgi?id=90373
+
+ Reviewed by Eric Seidel.
+
+ According to HTML5 specification (http://www.w3.org/TR/html5/tree-construction.html#parsing-main-inbody),
+ a start "body" tag in the "in body" insertion mode is a parse error. So parseError(token) is required here.
+ No behavior change because parseError(token) is just a marker.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processStartTagForInBody):
+
+2012-07-02 Raphael Kubo da Costa <rakuco@webkit.org>
+
+ [EFL] Unreviewed build fix with ENABLE_NETSCAPE_PLUGIN_API after r121467.
+
+ * plugins/efl/PluginPackageEfl.cpp:
+ (WebCore::PluginPackage::load): Move the declaration of `err'
+ before the first `goto' statement.
+
+2012-07-02 Alexei Filippov <alexeif@chromium.org>
+
+ Web Inspector: replace recursion with a stack in DOM nodes snapshot traversal.
+ https://bugs.webkit.org/show_bug.cgi?id=89889
+
+ Number of DOM nodes native snapshots can handle was limited
+ by the process stack size because of recursion used to traverse the nodes.
+ The patch changes the recursion to a stack based algorithm.
+
+ Reviewed by Yury Semikhatsky.
+
+ * dom/MemoryInstrumentation.h:
+ (MemoryInstrumentation):
+ (InstrumentedPointerBase):
+ (WebCore::MemoryInstrumentation::InstrumentedPointerBase::~InstrumentedPointerBase):
+ (InstrumentedPointer):
+ (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
+ (WebCore::MemoryInstrumentation::reportInstrumentedPointer):
+ (WebCore):
+ (WebCore::::process):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore):
+
+2012-07-02 Taiju Tsuiki <tzik@chromium.org>
+
+ Web Inspector: Add requestFileContent command and fileContentReceived event
+ https://bugs.webkit.org/show_bug.cgi?id=89642
+
+ Reviewed by Vsevolod Vlasov.
+
+ Test: http/tests/inspector/filesystem/read-file.html
+
+ * inspector/Inspector.json:
+ * inspector/InspectorFileSystemAgent.cpp:
+ (WebCore):
+ (WebCore::InspectorFileSystemAgent::requestFileContent):
+ * inspector/InspectorFileSystemAgent.h:
+ (InspectorFileSystemAgent):
+ * inspector/front-end/FileSystemModel.js:
+ (WebInspector.FileSystemModel.prototype.requestMetadata):
+ (WebInspector.FileSystemModel.prototype.requestFileContent):
+ (WebInspector.FileSystemModel.File.prototype.get resourceType):
+ (WebInspector.FileSystemModel.File.prototype.requestFileContent):
+ (WebInspector.FileSystemRequestManager):
+ (WebInspector.FileSystemRequestManager.prototype._metadataReceived):
+ (WebInspector.FileSystemRequestManager.prototype.requestFileContent.requestAccepted):
+ (WebInspector.FileSystemRequestManager.prototype.requestFileContent):
+ (WebInspector.FileSystemRequestManager.prototype._fileContentReceived):
+ (WebInspector.FileSystemDispatcher.prototype.metadataReceived):
+ (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
+
+2012-07-02 Taiju Tsuiki <tzik@chromium.org>
+
+ Web Inspector: Add refresh button to FileSystemView status bar
+ https://bugs.webkit.org/show_bug.cgi?id=90244
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/FileSystemView.js:
+ (WebInspector.FileSystemView):
+ (WebInspector.FileSystemView.prototype.get statusBarItems):
+ (WebInspector.FileSystemView.prototype.showView):
+ (WebInspector.FileSystemView.prototype._refresh):
+ (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
+
+2012-06-22 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Implement snippets evaluation.
+ https://bugs.webkit.org/show_bug.cgi?id=88707
+
+ Reviewed by Pavel Feldman.
+
+ Implemented snippet evaluation and adjusted breakpoints behavior when editing snippet.
+ Snippets are evaluated using separate compile and run.
+ Breakpoints are updated after compilation (once scriptId is available they can be set in debugger).
+ If separate compile and run is not supported by port or debugger is paused we fall back to evaluation in console.
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.runScript.runCallback):
+ (WebInspector.ConsoleView.prototype.runScript):
+ (WebInspector.ConsoleView.prototype._printResult):
+ * inspector/front-end/JavaScriptSource.js:
+ (WebInspector.JavaScriptSource.prototype.supportsEnabledBreakpointsWhileEditing):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
+ (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
+ (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
+ (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointsBeforeEditing):
+ (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
+ (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
+ (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
+ (WebInspector.ScriptSnippetModel.prototype._setScriptSnippetContent):
+ (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
+ (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
+ (WebInspector.ScriptSnippetModel.prototype._rawLocationToUILocation):
+ (WebInspector.ScriptSnippetModel.prototype._removeBreakpoints):
+ (WebInspector.ScriptSnippetModel.prototype._restoreBreakpoints):
+ (WebInspector.ScriptSnippetModel.prototype._evaluationSourceURL):
+ (WebInspector.SnippetJavaScriptSource.prototype.isDivergedFromVM):
+ (WebInspector.SnippetJavaScriptSource.prototype.workingCopyCommitted):
+ (WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):
+ (WebInspector.SnippetJavaScriptSource.prototype.evaluate):
+ (WebInspector.SnippetJavaScriptSource.prototype.supportsEnabledBreakpointsWhileEditing):
+ (WebInspector.SnippetJavaScriptSource.prototype.breakpointStorageId):
+ * inspector/front-end/ScriptsNavigator.js:
+ (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
+
+2012-06-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: StyleSource should set content using CSSStyleModelResourceBinding directly.
+ https://bugs.webkit.org/show_bug.cgi?id=89891
+
+ Reviewed by Pavel Feldman.
+
+ StyleSource now calls CSS resource binding directly.
+ CSS resource binding now adds resource revision only after setStyleSheetText call returns from backend.
+ Resource.revertAndClearHistory is now clearing history asynchronously
+ since Resource.setContent adds revision that should be removed as well.
+
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule):
+ (WebInspector.CSSStyleModel.prototype.resourceBinding):
+ (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent.innerCallback):
+ (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
+ (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype.revertAndClearHistory):
+ (WebInspector.Resource.prototype.revertAndClearHistory.clearHistory):
+ * inspector/front-end/RevisionHistoryView.js:
+ (WebInspector.RevisionHistoryView.prototype._createResourceItem):
+ * inspector/front-end/StylesPanel.js:
+ (WebInspector.StyleSource.prototype.workingCopyCommitted):
+ (WebInspector.StyleSource.prototype.workingCopyChanged):
+
+2012-07-02 Taiju Tsuiki <tzik@chromium.org>
+
+ Web Inspector: Add DirectoryContentView for FileSystemView
+ https://bugs.webkit.org/show_bug.cgi?id=89961
+
+ Reviewed by Vsevolod Vlasov.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/DirectoryContentView.js: Added.
+ * inspector/front-end/FileSystemView.js:
+ (WebInspector.FileSystemView):
+ (WebInspector.FileSystemView.EntryTreeElement.prototype.onattach):
+ (WebInspector.FileSystemView.EntryTreeElement.prototype.onselect):
+ (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-07-02 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Fix compilation error in GamepadsEfl.cpp in debug mode
+ https://bugs.webkit.org/show_bug.cgi?id=90369
+
+ Unreviewed, EFL build fix.
+
+ * platform/efl/GamepadsEfl.cpp:
+ (WebCore::GamepadsEfl::registerDevice):
+ (WebCore::GamepadsEfl::unregisterDevice):
+
+2012-07-02 Nikita Vasilyev <me@elv1s.ru>
+
+ Web Inspector: Design WebSockets panel
+ https://bugs.webkit.org/show_bug.cgi?id=89461
+
+ Use DataGrid to display the data.
+ Put "Data" column first. Make it wider.
+ Remove "Mask" column since it appears to be always true for outgoing frames,
+ and false for incoming.
+
+ Reviewed by Pavel Feldman.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/NetworkItemView.js:
+ (WebInspector.NetworkItemView): Don't show Preview, Response, Cookies
+ and Timing tabs for succefuly established WebSocket connection.
+
+ * inspector/front-end/ResourceWebSocketFrameView.js:
+ (WebInspector.ResourceWebSocketFrameView):
+ * inspector/front-end/networkPanel.css:
+ (.resource-websocket):
+ (.resource-websocket, .resource-websocket .data-grid):
+ (.resource-websocket .data-grid .data):
+ (.resource-websocket td):
+ (.resource-websocket .data-column div):
+ (.resource-websocket-row-outcoming):
+ (.resource-websocket-row-outcoming:not(.selected) td):
+ (.resource-websocket-row-outcoming:not(.selected) td, .resource-websocket-row-outcoming:not(.selected) + tr td):
+ (.resource-websocket-row-opcode):
+ (.resource-websocket-row-opcode td):
+ (.resource-websocket-row-opcode td, .resource-websocket-row-opcode + tr td):
+ (.resource-websocket-row-error):
+
+2012-07-02 Vineet Chaudhary <rgf748@motorola.com>
+
+ [V8Binding] Merging v8NumberArray()/v8NumberArrayToVector() to v8Array()/toNativeArray() respectively.
+ https://bugs.webkit.org/show_bug.cgi?id=90338
+
+ Reviewed by Kentaro Hara.
+
+ We can remove v8NumberArray() and v8NumberArrayToVector() implementaion
+ merging them to current v8Array() and toNativeArray() traits.
+
+ Tests: TestObj.idl
+ Shouldn't cause any behavioural changes.
+
+ * bindings/scripts/CodeGeneratorV8.pm: Removed float[]/double[] specific binding code.
+ (IsRefPtrType):
+ (GetNativeType):
+ (JSValueToNative):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8TestObj.cpp: Rebased binding test.
+ (WebCore::TestObjV8Internal::floatArrayAttrGetter):
+ (WebCore::TestObjV8Internal::floatArrayAttrSetter):
+ (WebCore::TestObjV8Internal::doubleArrayAttrGetter):
+ (WebCore::TestObjV8Internal::doubleArrayAttrSetter):
+ * bindings/v8/V8Binding.h: Added templates for float and double.
+ (WebCore::v8Array):
+ (WebCore::toNativeArray):
+
+2012-07-02 Konrad Piascik <kpiascik@rim.com>
+
+ [EFL] [GTK] [QT] fast/viewport/viewport-91.html is failing after r121555
+ https://bugs.webkit.org/show_bug.cgi?id=90286
+
+ Reviewed by Daniel Bates.
+
+ Since the deprecatedTargetDPI was an int and the deviceDPI was also an int the result
+ was truncated. Changed deprecatedTargetDPI to a float value. Viewport test 91 now passes.
+
+ * dom/ViewportArguments.h:
+ (ViewportArguments):
+
+2012-06-28 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: add v8 bindings memory info to the native memory graph
+ https://bugs.webkit.org/show_bug.cgi?id=90149
+
+ Reviewed by Pavel Feldman.
+
+ Size of V8 binding maps is now reported on the memory chart.
+
+ * bindings/js/ScriptProfiler.h:
+ (WebCore::ScriptProfiler::collectBindingMemoryInfo):
+ * bindings/v8/DOMDataStore.cpp:
+ (WebCore::DOMDataStore::reportMemoryUsage):
+ (WebCore):
+ * bindings/v8/DOMDataStore.h:
+ (WebCore):
+ (DOMDataStore):
+ * bindings/v8/IntrusiveDOMWrapperMap.h:
+ (WebCore::ChunkedTable::reportMemoryUsage):
+ (ChunkedTable):
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::collectBindingMemoryInfo):
+ (WebCore):
+ * bindings/v8/ScriptProfiler.h:
+ (WebCore):
+ (ScriptProfiler):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
+ (WebCore):
+ (WebCore::StringCache::reportMemoryUsage):
+ * bindings/v8/V8Binding.h:
+ (WebCore):
+ (StringCache):
+ (V8BindingPerIsolateData):
+ * bindings/v8/V8DOMMap.h:
+ (WebCore):
+ (AbstractWeakReferenceMap):
+ * dom/MemoryInstrumentation.h:
+ (MemoryInstrumentation):
+ (WebCore):
+ (WebCore::MemoryInstrumentation::reportHashMap): added a method for reporting
+ size of a HashMap.
+ * inspector/InspectorMemoryAgent.cpp:
+ (MemoryBlockName):
+ (WebCore):
+ (WebCore::domTreeInfo):
+
+2012-07-01 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Add Gamepad support
+ https://bugs.webkit.org/show_bug.cgi?id=90170
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add support for the Gamepad feature on the EFL port.
+
+ The implementation of this class relies on the Linux
+ kernel joystick API.
+
+ Gamepad devices are recognized through the GamepadsEfl
+ class, of which implementation is based on Eeze
+ library. This way devices are properly registered on
+ connection as objects of the GamepadDeviceEfl class
+ which inherits GamepadDeviceLinux. GamepadDeviceEfl
+ reads the joystick data through an Ecore_Fd_Handler
+ and updates the device state accordingly. The
+ GamepadsEfl object is then polled for gamepads data
+ through the sampleGamepads method.
+
+ No new tests - already tested by gamepad/*
+
+ * CMakeLists.txt:
+ * PlatformEfl.cmake:
+ * platform/efl/GamepadsEfl.cpp: Added.
+ (WebCore):
+ (GamepadDeviceEfl):
+ (WebCore::GamepadDeviceEfl::create):
+ (WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
+ (WebCore::GamepadDeviceEfl::~GamepadDeviceEfl):
+ (WebCore::GamepadDeviceEfl::readCallback):
+ (GamepadsEfl):
+ (WebCore::GamepadsEfl::onGamePadChange):
+ (WebCore::GamepadsEfl::GamepadsEfl):
+ (WebCore::GamepadsEfl::~GamepadsEfl):
+ (WebCore::GamepadsEfl::registerDevice):
+ (WebCore::GamepadsEfl::unregisterDevice):
+ (WebCore::GamepadsEfl::updateGamepadList):
+ (WebCore::sampleGamepads):
+
+2012-07-01 James Robinson <jamesr@chromium.org>
+
+ Unreviewed, rolling out r121635.
+ http://trac.webkit.org/changeset/121635
+ https://bugs.webkit.org/show_bug.cgi?id=90286
+
+ Breaks compile on clang error: in-class initializer for static
+ data member of type 'const float' is a GNU extension
+ [-Werror,-Wgnu]
+
+ * dom/ViewportArguments.h:
+ (ViewportArguments):
+
+2012-07-01 Timothy Hatcher <timothy@apple.com>
+
+ Make the "Inspect Element" context menu item appear in nightly builds again.
+
+ rdar://problem/11702613
+ https://webkit.org/b/89323
+
+ Reviewed by Dan Bernstein.
+
+ * platform/ContextMenuItem.h:
+ Fix the order of the ContextMenuAction enum to be binary compatible with
+ older versions of WebKit.
+
+2012-07-01 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/11785743> [mac] Non-BMP characters in vertical text appear as missing glyphs
+ https://bugs.webkit.org/show_bug.cgi?id=90349
+
+ Reviewed by Dean Jackson.
+
+ Test: platform/mac/fast/text/vertical-surrogate-pair.html
+
+ * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
+ (WebCore::GlyphPage::fill): When calling wkGetVerticalGlyphsForCharacters or
+ CTFontGetGlyphsForCharacters with a buffer consisting of surrogate pair, account for those
+ functions’ behavior of placing glyphs at indices corresponding to the first character of
+ each pair.
+
+2012-07-01 Kenichi Ishibashi <bashi@chromium.org>
+
+ Arabic shaping is incorrect if ZWNJ exist
+ https://bugs.webkit.org/show_bug.cgi?id=89843
+
+ Reviewed by Dan Bernstein.
+
+ mac port treats ZWJ (zero-width-joiner) and ZWNJ (zero-width-non-joiner) as a part of combining
+ character sequence. This could cause a problem when the font doesn't have glyph mapping of ZWJ and ZWNJ.
+ Suppose the text to be rendered is "U+0645(MEEM) U+06CC(FARSI YEH) U+200C(ZWNJ)". In this case, U+0645
+ and U+06CC are rendered in isolated form if the font doesn't have a glyph for ZWNJ. They should be joined.
+
+ This patch changes handling of ZWJ and ZWNJ. Treats ZWJ and ZWNJ as base characters so that a complex text
+ run isn't separate at the point of ZWJ and ZWNJ even the font doesn't contain glyphs for them.
+ If ComplexTextController finds ZWJ, it doesn't split the current complex text run.
+
+ Test: platform/mac/fast/text/arabic-zwj-and-zwnj.html
+
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::advanceByCombiningCharacterSequence): Don't treat ZWJ and ZWNJ as a part of combining character sequence.
+ (WebCore::ComplexTextController::collectComplexTextRuns): Set fontData to nextFontData if the baseCharacter is ZWJ.
+
+2012-07-01 Konrad Piascik <kpiascik@rim.com>
+
+ [EFL] [GTK] [QT] fast/viewport/viewport-91.html is failing after r121555
+ https://bugs.webkit.org/show_bug.cgi?id=90286
+
+ Reviewed by Daniel Bates.
+
+ Since the deprecatedTargetDPI was an int and the deviceDPI was also an int the result
+ was truncated. Changed deprecatedTargetDPI to a float value. Viewport test 91 now passes.
+
+ * dom/ViewportArguments.h:
+ (ViewportArguments):
+
+2012-06-30 Ian Vollick <vollick@chromium.org>
+
+ [chromium] CanvasLayerTextureUpdater needs to convert opaque rects back to content space.
+ https://bugs.webkit.org/show_bug.cgi?id=90092
+
+ The CanvasLayerTextureUpdater currently receives its opaque rects in
+ layer space, but is expected to return them in content space and does
+ not convert them. This patch adds this conversion. To avoid numerical
+ errors, this patch also switches to using float rects to store opaque
+ rects where appropriate.
+
+ Reviewed by Adrienne Walker.
+
+ Unit test: ContentLayerTest.ContentLayerPainterWithDeviceScale
+
+ * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
+ (WebCore::CanvasLayerTextureUpdater::paintContents):
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerPainter::ContentLayerPainter):
+ (WebCore::ContentLayerPainter::create):
+ (WebCore::ContentLayerPainter::paint):
+ * platform/graphics/chromium/ContentLayerChromium.h:
+ (WebCore):
+ (ContentLayerDelegate):
+ (ContentLayerPainter):
+ * platform/graphics/chromium/LayerPainterChromium.h:
+ (WebCore):
+ (LayerPainterChromium):
+ * platform/graphics/chromium/LinkHighlight.cpp:
+ (WebCore::LinkHighlight::paintContents):
+ * platform/graphics/chromium/LinkHighlight.h:
+ (LinkHighlight):
+ * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
+ (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
+ * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h:
+ (OpaqueRectTrackingContentLayerDelegate):
+ * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
+
+2012-06-30 Kwang Yul Seo <skyul@company100.net>
+
+ Unreviewed. Remove unused declaration.
+ HTMLDocumentParser::begin() has no method definition.
+
+ * html/parser/HTMLDocumentParser.h:
+
+2012-06-29 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Unreviewed, rolling out r121569.
+ http://trac.webkit.org/changeset/121569
+ https://bugs.webkit.org/show_bug.cgi?id=90082
+
+ It broke a couple of tests in Qt Linux Release
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::fillRect):
+
+2012-06-29 Simon Fraser <simon.fraser@apple.com>
+
+ updateDescendantDependentFlags() is inside #if USE(ACCELERATED_COMPOSITING)
+ https://bugs.webkit.org/show_bug.cgi?id=90245
+
+ Reviewed by Dan Bernstein.
+
+ updateDescendantDependentFlags() and updateTransform() should be
+ outside the USE(ACCELERATED_COMPOSITING) #ifdef. They do work
+ that is needed even if accelerated compositing is disabled.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::styleChanged):
+
+2012-06-29 Erik Arvidsson <arv@chromium.org>
+
+ [V8] HTMLCollection wrappers are not retained
+ https://bugs.webkit.org/show_bug.cgi?id=90208
+
+ Reviewed by Adam Barth.
+
+ Generate visitDOMWrapper for HTMLCollection and HTMLAllCollection so that we add an implicit reference from the owner
+ to the collection.
+
+ Tests: fast/dom/htmlallcollection-reachable.html
+ fast/dom/htmlcollection-reachable.html
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation): Instead of hard coding to use base() for HTMLAllCollection and HTMLCollection we now
+ annotate the IDL file to use GenerateIsReachable=ImplBaseRoot.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateVisitDOMWrapper): Generate visitDOMWrapper if GenerateIsReachable is ImplBaseRoot.
+ * bindings/scripts/IDLAttributes.txt: Added ImplBaseRoot.
+ * html/HTMLAllCollection.idl: Added annotations.
+ * html/HTMLCollection.idl: Ditto.
+
+2012-06-29 Tony Chang <tony@chromium.org>
+
+ All child elements of a flex container should be turned into a flex item
+ https://bugs.webkit.org/show_bug.cgi?id=90323
+
+ Reviewed by Ojan Vafai.
+
+ We used to only convert some elements to blocks, but now we convert everything except text nodes.
+ This was recently changed here:
+ http://wiki.csswg.org/topics/css3-flexbox-flexbox-replaced-children
+
+ Tests: css3/flexbox/anonymous-block.html : Add new test case.
+ css3/flexbox/flexitem.html: Update results.
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+
+2012-06-29 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Keep direction on IDBCursor to avoid calls to back end
+ https://bugs.webkit.org/show_bug.cgi?id=90114
+
+ Reviewed by Tony Chang.
+
+ Let IDBCursor handle direction() accessor locally, without a call to
+ the IDBCursorBackendImpl which (in some ports) may reside in a different
+ process. Not a heavily called function, but further reduces the surface
+ area exposed by the XXXInterface classes.
+
+ No new tests - no functional changes.
+
+ * Modules/indexeddb/IDBCursor.cpp:
+ (WebCore::IDBCursor::create): Accept direction, known at creation time.
+ (WebCore::IDBCursor::IDBCursor): Stash in member.
+ (WebCore::IDBCursor::direction): Use local copy
+ (WebCore::IDBCursor::stringToDirection): Return enum value, not int.
+ * Modules/indexeddb/IDBCursor.h:
+ (IDBCursor):
+ * Modules/indexeddb/IDBCursorBackendImpl.cpp: Remove accessor.
+ * Modules/indexeddb/IDBCursorBackendImpl.h:
+ (IDBCursorBackendImpl):
+ * Modules/indexeddb/IDBCursorBackendInterface.h: Remove accessor.
+ * Modules/indexeddb/IDBCursorWithValue.cpp:
+ (WebCore::IDBCursorWithValue::create):
+ (WebCore::IDBCursorWithValue::IDBCursorWithValue):
+ * Modules/indexeddb/IDBCursorWithValue.h:
+ (IDBCursorWithValue):
+ * Modules/indexeddb/IDBIndex.cpp: Prep IDBRequest with cursor direction too.
+ (WebCore::IDBIndex::openCursor):
+ (WebCore::IDBIndex::openKeyCursor):
+ * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
+ (WebCore::IDBObjectStore::openCursor):
+ * Modules/indexeddb/IDBRequest.cpp: Stash direction for pending cursor too.
+ (WebCore::IDBRequest::IDBRequest):
+ (WebCore::IDBRequest::setCursorDetails):
+ (WebCore::IDBRequest::onSuccess): Apply stashed direction to new cursor.
+ * Modules/indexeddb/IDBRequest.h:
+ (IDBRequest):
+
+2012-06-29 Tony Chang <tony@chromium.org>
+
+ Allow align-self: stretch to cause the item size to shrink below its intrinsic size
+ https://bugs.webkit.org/show_bug.cgi?id=90304
+
+ Reviewed by Ojan Vafai.
+
+ The spec used to say that stretch could only make items grow, but now
+ it allows items to shrink.
+ http://dev.w3.org/csswg/css3-flexbox/#align-items-stretch
+
+ Tests: css3/flexbox/flex-align-stretch.html Updated expectations.
+ css3/flexbox/child-overflow.html Updated expectations.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
+
+2012-06-29 James Weatherall <wez@chromium.org>
+
+ NPObjectWrapper may not address all window script object lifetime issues
+ https://bugs.webkit.org/show_bug.cgi?id=85679
+
+ The ScriptController implementations force-deallocate the window script object to ensure that DOM objects are not leaked if an NPAPI plugin fails to release a reference to it before being destroyed. The NPObjectWrapper was added to ensure that NPAPI scripting could not touch the real window script object after it had been deallocated, by providing the plugin with a small wrapper which will leak if the plugin fails to dereference it.
+
+ This patch removes NPObjectWrapper and instead drops the window script NPObject's reference to the underlying V8Object in ScriptController::clearScriptObjects(). If a plugin fails to dereference the object then the NPV8Object wrapper will be leaked but the DOM objects it references will not.
+
+ Reviewed by Nate Chapin.
+
+ Test: plugins/npruntime/leak-window-scriptable-object.html
+
+ * WebCore.gypi:
+ * bindings/v8/NPObjectWrapper.cpp: Removed.
+ * bindings/v8/NPObjectWrapper.h: Removed.
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::disposeUnderlyingV8Object):
+ (WebCore):
+ (WebCore::freeV8NPObject):
+ (_NPN_Invoke):
+ (_NPN_InvokeDefault):
+ (_NPN_EvaluateHelper):
+ (_NPN_GetProperty):
+ (_NPN_SetProperty):
+ (_NPN_RemoveProperty):
+ (_NPN_HasProperty):
+ (_NPN_HasMethod):
+ (_NPN_Enumerate):
+ (_NPN_Construct):
+ * bindings/v8/NPV8Object.h:
+ (WebCore):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ (WebCore::ScriptController::clearScriptObjects):
+ (WebCore::ScriptController::windowScriptNPObject):
+ * bindings/v8/ScriptController.h:
+ (ScriptController):
+
+2012-06-29 Adam Barth <abarth@webkit.org>
+
+ Update complex fonts on Android to use fonts from a newer SDK
+ https://bugs.webkit.org/show_bug.cgi?id=90296
+
+ Reviewed by Nate Chapin.
+
+ These fonts are available in the Jelly Bean SDK.
+
+ * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
+ (WebCore::ComplexTextController::ComplexTextController):
+ (WebCore::ComplexTextController::getComplexFontPlatformData):
+
+2012-06-29 Ryosuke Niwa <rniwa@webkit.org>
+
+ HTMLCollection's caches should be owned by either ElementRareData or Document
+ https://bugs.webkit.org/show_bug.cgi?id=90322
+
+ Reviewed by Anders Carlsson.
+
+ Removed all instances of OwnPtr<HTMLCollection> except ones on ElementRareData and Document.
+ ElementRareData::ensureCachedHTMLCollection then polymorphically creates HTMLCollection or
+ its subclass as deemed necessary.
+
+ This refactoring allows us to move HTMLCollection to use the same invalidation model as
+ DynamicNodeList (invalidated during DOM mutations) in a follow up.
+
+ * dom/Document.cpp:
+ (WebCore::Document::all):
+ * dom/Document.h:
+ (Document):
+ * dom/Element.cpp:
+ (WebCore::ElementRareData::ensureCachedHTMLCollection):
+ (WebCore):
+ (WebCore::Element::cachedHTMLCollection):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementRareData.h:
+ (WebCore):
+ (ElementRareData):
+ (WebCore::ElementRareData::cachedHTMLCollection):
+ * dom/Node.cpp:
+ (WebCore):
+ * dom/Node.h:
+ (Node):
+ * dom/NodeRareData.h:
+ (WebCore::NodeRareData::setItemType):
+ (NodeRareData):
+ * html/CollectionType.h:
+ * html/HTMLCollection.cpp:
+ (WebCore::shouldIncludeChildren):
+ (WebCore::HTMLCollection::isAcceptableElement):
+ * html/HTMLElement.cpp:
+ (WebCore):
+ (WebCore::HTMLElement::properties):
+ * html/HTMLElement.h:
+ (HTMLElement):
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::elements):
+ * html/HTMLFieldSetElement.h:
+ (HTMLFieldSetElement):
+ * html/HTMLFormCollection.cpp:
+ (WebCore::HTMLFormCollection::HTMLFormCollection):
+ (WebCore::HTMLFormCollection::create):
+ * html/HTMLFormCollection.h:
+ (HTMLFormCollection):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::elements):
+ * html/HTMLFormElement.h:
+ * html/HTMLOptionsCollection.cpp:
+ (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
+ (WebCore::HTMLOptionsCollection::create):
+ * html/HTMLOptionsCollection.h:
+ (HTMLOptionsCollection):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::selectedOptions):
+ (WebCore::HTMLSelectElement::options):
+ (WebCore::HTMLSelectElement::invalidateSelectedItems):
+ (WebCore::HTMLSelectElement::setRecalcListItems):
+ * html/HTMLSelectElement.h:
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::rows):
+ * html/HTMLTableElement.h:
+ * html/HTMLTableRowsCollection.cpp:
+ (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
+ (WebCore::HTMLTableRowsCollection::create):
+ * html/HTMLTableRowsCollection.h:
+ (HTMLTableRowsCollection):
+
+2012-06-29 Ojan Vafai <ojan@chromium.org>
+
+ Add FIXMEs for vertical writing mode and override sizes.
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::overrideLogicalContentWidth):
+ (WebCore::RenderBox::overrideLogicalContentHeight):
+
+2012-06-29 James Robinson <jamesr@chromium.org>
+
+ [chromium] Use CCThread::Task in compositor's RateLimiter instead of Timer
+ https://bugs.webkit.org/show_bug.cgi?id=90300
+
+ Reviewed by Adrienne Walker.
+
+ * platform/graphics/chromium/RateLimiter.cpp:
+ (RateLimiter::Task):
+ (WebCore::RateLimiter::Task::create):
+ (WebCore::RateLimiter::Task::~Task):
+ (WebCore::RateLimiter::Task::Task):
+ (WebCore):
+ (WebCore::RateLimiter::RateLimiter):
+ (WebCore::RateLimiter::start):
+ (WebCore::RateLimiter::stop):
+ (WebCore::RateLimiter::rateLimitContext):
+ * platform/graphics/chromium/RateLimiter.h:
+ (WebCore):
+ (RateLimiter):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
+
+2012-06-29 Tony Payne <tpayne@chromium.org>
+
+ Remove type from screenColorProfile API
+ https://bugs.webkit.org/show_bug.cgi?id=90299
+
+ Reviewed by Adam Barth.
+
+ Covered by existing tests.
+
+ * platform/PlatformScreen.h:
+ (WebCore): Removed type from screenColorProfile().
+ * platform/blackberry/PlatformScreenBlackBerry.cpp:
+ (WebCore::screenColorProfile):
+ * platform/chromium/PlatformScreenChromium.cpp:
+ (WebCore::screenColorProfile):
+ * platform/efl/PlatformScreenEfl.cpp:
+ (WebCore::screenColorProfile):
+ * platform/gtk/PlatformScreenGtk.cpp:
+ (WebCore::screenColorProfile):
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Updated call to
+ screenColorProfile() to not pass type param.
+ * platform/mac/PlatformScreenMac.mm:
+ (WebCore::screenColorProfile):
+ * platform/qt/PlatformScreenQt.cpp:
+ (WebCore::screenColorProfile):
+ * platform/win/PlatformScreenWin.cpp:
+ (WebCore::screenColorProfile):
+
+2012-06-29 Emil A Eklund <eae@chromium.org>
+
+ Allow non-borders to be adjusted to less than 1 when zoomed out
+ https://bugs.webkit.org/show_bug.cgi?id=90104
+
+ Reviewed by Eric Seidel.
+
+ Change CSSPrimitiveValue::computeLengthDouble to allow values to be
+ adjusted to less than 1.0 when zoomed out. This avoids an off by one
+ error for floats with margins when zoomed out that can cause floats to
+ wrap and break pages.
+
+ The logic that prevents the value from being adjusted to less than 1 was
+ added to ensure that borders are still painted even when zoomed out.
+ By moving the logic to ApplyPropertyComputeLength::applyValue, which is
+ used for borders and outlines, that functionality is preserved.
+
+ Test: fast/sub-pixel/float-with-margin-in-container.html
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::computeLengthDouble):
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyComputeLength::applyValue):
+
+2012-06-29 Ryosuke Niwa <rniwa@webkit.org>
+
+ Let Xcode have its own way after r121513.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-06-29 Mihai Balan <mibalan@adobe.com>
+
+ [CSS Regions] Adding feature defines for CSS Regions for Windows
+ https://bugs.webkit.org/show_bug.cgi?id=88645
+
+ Reviewed by Tony Chang.
+
+ Re-trying to enable CSS regions on Windows. This time only enabling
+ regions (not exclusions) because of some strange compilation/linking
+ issues.
+
+ * css/CSSPropertyNames.in: Touched file to make sure property names get properly rebuilt.
+
+2012-06-29 Hanna Ma <Hanma@rim.com>
+
+ Web Inspector: Add data length to resource events on timeline to
+ keep track of the amount of data loaded and the total data length
+ https://bugs.webkit.org/show_bug.cgi?id=89244
+
+ Reviewed by Pavel Feldman.
+
+ Added data length to inspector timeline popup
+ content for resources to keep track of the amount of data loaded.
+ Tests: inspector/timeline/timeline-network-received-data.html
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::willReceiveResourceData):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::willReceiveResourceData):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createReceiveResourceData):
+ * inspector/TimelineRecordFactory.h:
+ (TimelineRecordFactory):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._showPopover):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.prototype.reset):
+ (WebInspector.TimelinePresentationModel.Record):
+ (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::didReceiveData):
+ * inspector/timeline/timeline-network-received-data.html: Added.
+ * inspector/timeline/timeline-network-received-data-expected.txt: Added.
+ * inspector/timeline/timeline-test.js:
+
+2012-06-29 Shawn Singh <shawnsingh@chromium.org>
+
+ Unreviewed build fix after 121580.
+
+ WebKit Linux debug bots was complaining about signed vs unsigned integer comparison.
+
+ * html/HTMLCollection.h:
+ (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
+
+2012-06-28 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove mapRect and mapQuad from WebTransformationMatrix
+ https://bugs.webkit.org/show_bug.cgi?id=90230
+
+ Reviewed by Adrienne Walker.
+
+ Replaces calls to WebTransformationMatrix::mapRect/mapQuad with clipping-aware calls to CCMathUtils. In most
+ cases, we do not expect clipping to happen. For others (such as area calculations in CCOverdrawMetrics) we can
+ handle a clipped quad easily.
+
+ * platform/chromium/support/WebTransformationMatrix.cpp:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawRenderPassQuad):
+ (WebCore::LayerRendererChromium::drawTileQuad):
+ * platform/graphics/chromium/RenderSurfaceChromium.cpp:
+ (WebCore::RenderSurfaceChromium::drawableContentRect):
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ (WebCore::CCLayerImpl::getDrawRect):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::transformSurfaceOpaqueRegion):
+ (WebCore::addOcclusionBehindLayer):
+ * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
+ (WebCore):
+ (WebCore::polygonArea):
+ (WebCore::areaOfMappedQuad):
+ (WebCore::CCOverdrawMetrics::didUpload):
+ (WebCore::CCOverdrawMetrics::didCullForDrawing):
+ (WebCore::CCOverdrawMetrics::didDraw):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::appendQuadsToFillScreen):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::drawableContentRect):
+ * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
+ (WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect):
+
+2012-06-29 Ryosuke Niwa <rniwa@webkit.org>
+
+ Mac build fix after r121575. It rolls out r121547 but didn't roll out the follow up build fix r121553.
+
+ * platform/graphics/mac/FontCustomPlatformData.h:
+ (FontCustomPlatformData):
+
+2012-06-29 Ryosuke Niwa <rniwa@webkit.org>
+
+ Share the same cache in HTMLCollection and DynamicNodeLists
+ https://bugs.webkit.org/show_bug.cgi?id=90118
+
+ Reviewed by Anders Carlsson.
+
+ This patch introduces two new base classes DynamicNodeListCacheBase and HTMLCollectionCacheBase to share
+ the cache object between DynamicNodeList and HTMLCollection. HTMLCollectionCacheBase inherits from
+ DynamicNodeListCacheBase and contains extra caches and bit flags for HTMLCollection. DynamicNodeList::Cache
+ and HTMLCollection::Cache had been removed and flattened into these two classes for the easy inheritance.
+
+ In DynamicNodeList, we have a very straight forward one-to-one mapping from old Caches member variables:
+
+ m_caches.lastItem -> cachedItem()
+ m_caches.lastItemOffset -> cachedItemOffset()
+ m_caches.cachedLength -> cachedLength()
+ m_caches.isItemCacheValid -> isItemCacheValid()
+ m_caches.isLengthCacheValid -> isLengthCacheValid()
+ m_caches.type -> removed because it was never used.
+ m_caches.rootedAtDocument -> isRootedAtDocument()
+ m_caches.shouldInvalidateOnAttributeChange -> shouldInvalidateOnAttributeChange()
+
+ In HTMLCollection, there is one semantic change in the way item cache is managed. Previously, we only had
+ m_cache.current which was used as both cachedItem() and isItemCacheValid() (not valid when current is null).
+ There are some asymmetric code changes due to one-to-many relationship. Also, all method names have been updated
+ to use that of DynamicNodeList terminology. Thus we have the following correspondence:
+
+ m_cache.current -> cachedItem() / isItemCacheValid()
+ m_cache.position -> cachedItemOffset()
+ m_cache.length -> cachedLength()
+ m_cache.elementsArrayPosition -> cachedElementsArrayOffset()
+ m_cache.hasLength -> isLengthCacheValid()
+ m_cache.hasNameCache -> hasNameCache() / setHasNameCache()
+ m_cache.idCache -> idCache() / addIdCache()
+ m_cache.nameCache -> idCache() / addNameCache()
+
+ In addition, we had to rename HTMLCollection::clearCache to invalidateCache to avoid the name collision with
+ HTMLCollectionCacheBase::clearCache.
+
+ * dom/ChildNodeList.cpp:
+ (WebCore::ChildNodeList::length):
+ (WebCore::ChildNodeList::item):
+ * dom/DynamicNodeList.cpp:
+ (WebCore::DynamicSubtreeNodeList::length):
+ (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
+ (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
+ (WebCore::DynamicSubtreeNodeList::item):
+ * dom/DynamicNodeList.h:
+ (DynamicNodeListCacheBase):
+ (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
+ (WebCore::DynamicNodeListCacheBase::isRootedAtDocument):
+ (WebCore::DynamicNodeListCacheBase::shouldInvalidateOnAttributeChange):
+ (WebCore::DynamicNodeListCacheBase::isItemCacheValid):
+ (WebCore::DynamicNodeListCacheBase::cachedItem):
+ (WebCore::DynamicNodeListCacheBase::cachedItemOffset):
+ (WebCore::DynamicNodeListCacheBase::isLengthCacheValid):
+ (WebCore::DynamicNodeListCacheBase::cachedLength):
+ (WebCore::DynamicNodeListCacheBase::setLengthCache):
+ (WebCore::DynamicNodeListCacheBase::setItemCache):
+ (WebCore::DynamicNodeListCacheBase::clearCache):
+ (WebCore):
+ (WebCore::DynamicNodeList::DynamicNodeList):
+ (WebCore::DynamicNodeList::invalidateCache):
+ (WebCore::DynamicNodeList::rootNode):
+ (DynamicNodeList):
+ * html/HTMLAllCollection.cpp:
+ (WebCore::HTMLAllCollection::namedItemWithIndex):
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollection::HTMLCollection):
+ (WebCore::HTMLCollection::invalidateCacheIfNeeded):
+ (WebCore::HTMLCollection::invalidateCache):
+ (WebCore::HTMLCollection::isAcceptableElement):
+ (WebCore::HTMLCollection::itemAfter):
+ (WebCore::HTMLCollection::length):
+ (WebCore::HTMLCollection::item):
+ (WebCore::HTMLCollection::checkForNameMatch):
+ (WebCore::HTMLCollection::namedItem):
+ (WebCore::HTMLCollection::updateNameCache):
+ (WebCore::HTMLCollection::hasNamedItem):
+ (WebCore::HTMLCollection::namedItems):
+ (WebCore::HTMLCollectionCacheBase::append):
+ * html/HTMLCollection.h:
+ (HTMLCollectionCacheBase):
+ (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
+ (WebCore::HTMLCollectionCacheBase::type):
+ (WebCore::HTMLCollectionCacheBase::clearCache):
+ (WebCore::HTMLCollectionCacheBase::setItemCache):
+ (WebCore::HTMLCollectionCacheBase::cachedElementsArrayOffset):
+ (WebCore::HTMLCollectionCacheBase::includeChildren):
+ (WebCore::HTMLCollectionCacheBase::cacheTreeVersion):
+ (WebCore::HTMLCollectionCacheBase::idCache):
+ (WebCore::HTMLCollectionCacheBase::nameCache):
+ (WebCore::HTMLCollectionCacheBase::appendIdCache):
+ (WebCore::HTMLCollectionCacheBase::appendNameCache):
+ (WebCore::HTMLCollectionCacheBase::hasNameCache):
+ (WebCore::HTMLCollectionCacheBase::setHasNameCache):
+ (WebCore):
+ (WebCore::HTMLCollection::isEmpty):
+ (WebCore::HTMLCollection::hasExactlyOneItem):
+ (WebCore::HTMLCollection::base):
+ (HTMLCollection):
+ * html/HTMLFormCollection.cpp:
+ (WebCore::HTMLFormCollection::item):
+ (WebCore::HTMLFormCollection::updateNameCache):
+ * html/HTMLNameCollection.cpp:
+ (WebCore::HTMLNameCollection::itemAfter):
+ * html/HTMLNameCollection.h:
+ (HTMLNameCollection):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::invalidateSelectedItems):
+ * html/HTMLTableRowsCollection.cpp:
+ (WebCore::HTMLTableRowsCollection::itemAfter):
+ * html/HTMLTableRowsCollection.h:
+ (HTMLTableRowsCollection):
+
+2012-06-29 Tony Chang <tony@chromium.org>
+
+ Unreviewed, rolling out r121572.
+ http://trac.webkit.org/changeset/121572
+ https://bugs.webkit.org/show_bug.cgi?id=90249
+
+ Breaks Mac build since it depends on r121547, which was rolled
+ out
+
+ * WebCore.exp.in:
+ * page/AlternativeTextClient.h:
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::populate):
+ * platform/graphics/cg/ImageBufferDataCG.h:
+ * platform/graphics/mac/GraphicsContextMac.mm:
+ (WebCore::GraphicsContext::drawLineForDocumentMarker):
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/network/Credential.h:
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore):
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost):
+ * platform/text/TextChecking.h:
+ (WebCore):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::containsPaintedContent):
+
+2012-06-29 Tony Chang <tony@chromium.org>
+
+ Unreviewed, rolling out r121547.
+ http://trac.webkit.org/changeset/121547
+ https://bugs.webkit.org/show_bug.cgi?id=90256
+
+ Breaks Chromium Mac build
+
+ * platform/LocalizedStrings.cpp:
+ (WebCore::imageTitle):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::setAllowsFontSmoothing):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::Image::drawPattern):
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::clear):
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::Path::boundingRect):
+ * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
+ (WebCore):
+ (WebCore::canSetCascadeListForCustomFont):
+ (WebCore::FontPlatformData::ctFont):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ * platform/graphics/mac/ComplexTextController.cpp:
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore):
+ (WebCore::fontCacheATSNotificationCallback):
+ (WebCore::FontCache::platformInit):
+ * platform/graphics/mac/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
+ (WebCore::createFontCustomPlatformData):
+ * platform/graphics/mac/FontCustomPlatformData.h:
+ (WebCore::FontCustomPlatformData::FontCustomPlatformData):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/mac/WebLayer.h:
+ * platform/mac/CursorMac.mm:
+ (WebCore::Cursor::ensurePlatformCursor):
+ * platform/mac/DisplaySleepDisabler.cpp:
+ (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
+ (WebCore):
+ (WebCore::DisplaySleepDisabler::systemActivityTimerFired):
+ * platform/mac/DisplaySleepDisabler.h:
+ (DisplaySleepDisabler):
+ * platform/mac/HTMLConverter.h:
+ * platform/mac/HTMLConverter.mm:
+ * platform/mac/PopupMenuMac.mm:
+ (WebCore::PopupMenuMac::populate):
+ * platform/mac/ScrollElasticityController.mm:
+
+2012-06-29 Eric Penner <epenner@google.com>
+
+ [chromium] Adding PrioritizedTexture and replacing ContentsTextureManager
+ https://bugs.webkit.org/show_bug.cgi?id=84308
+
+ Reviewed by Adrienne Walker.
+
+ PrioritizedTextures have a priority such that all texture requests can be
+ prioritized. There are three steps involved:
+ - Call setRequestPriority()
+ - Check if the request succeeded with canAcquireBackingTexture()
+ - Call acquireBackingTexture() when uploading a new texture.
+
+ Internally both the texture requests and the backing textures get sorted.
+ Requests are sorted so they can be prioritized. Backing textures are sorted
+ so that they can be recycled/evicted in the right order (lowest priority first).
+
+ Prioritizing textures doesn't assign backing textures to texture requests but
+ rather just marks which textures can have a backing texture "when needed". This
+ allows us to keep the old textures in use as long as possible.
+
+ The unit tests support all the use cases from the original texture manager
+ but also adds assumptions about priority order throughout all the tests. The
+ function assertInvariants() is added to test the validity of the manager
+ and all textures/allocations within it.
+
+ The TiledLayerChromium tests are updated to request textures first with
+ prioritizeTextures(), and update them with the updater (such that allocate
+ gets called) before pushPropertiesTo is called (when they need to be valid).
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
+ (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
+ (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
+ (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
+ * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
+ (WebCore):
+ (Texture):
+ (BitmapCanvasLayerTextureUpdater):
+ * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
+ * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
+ (Texture):
+ (BitmapSkPictureCanvasLayerTextureUpdater):
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerChromium::setTexturePriorities):
+ (WebCore):
+ (WebCore::ContentLayerChromium::update):
+ * platform/graphics/chromium/ContentLayerChromium.h:
+ (ContentLayerChromium):
+ * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
+ (WebCore::createAcceleratedCanvas):
+ (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
+ (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
+ (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
+ * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
+ (Texture):
+ (FrameBufferSkPictureCanvasLayerTextureUpdater):
+ * platform/graphics/chromium/ImageLayerChromium.cpp:
+ (WebCore::ImageLayerTextureUpdater::Texture::Texture):
+ (WebCore::ImageLayerTextureUpdater::createTexture):
+ (WebCore::ImageLayerTextureUpdater::updateTextureRect):
+ (WebCore::ImageLayerChromium::setTexturePriorities):
+ (WebCore):
+ * platform/graphics/chromium/ImageLayerChromium.h:
+ (ImageLayerChromium):
+ * platform/graphics/chromium/LayerChromium.h:
+ (LayerChromium):
+ (WebCore::LayerChromium::setTexturePriorities):
+ * platform/graphics/chromium/LayerTextureUpdater.h:
+ (WebCore::LayerTextureUpdater::Texture::texture):
+ (WebCore::LayerTextureUpdater::Texture::swapTextureWith):
+ (WebCore::LayerTextureUpdater::Texture::Texture):
+ (Texture):
+ * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
+ (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
+ (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
+ (WebCore::ScrollbarLayerChromium::updatePart):
+ (WebCore):
+ (WebCore::ScrollbarLayerChromium::setTexturePriorities):
+ * platform/graphics/chromium/ScrollbarLayerChromium.h:
+ (ScrollbarLayerChromium):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::UpdatableTile::managedTexture):
+ (WebCore::TiledLayerChromium::pushPropertiesTo):
+ (WebCore::TiledLayerChromium::textureManager):
+ (WebCore::TiledLayerChromium::createTile):
+ (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
+ (WebCore::TiledLayerChromium::updateTiles):
+ (WebCore::TiledLayerChromium::setTexturePriorities):
+ (WebCore):
+ (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
+ (WebCore::TiledLayerChromium::resetUpdateState):
+ (WebCore::TiledLayerChromium::updateLayerRect):
+ (WebCore::TiledLayerChromium::idleUpdateLayerRect):
+ (WebCore::TiledLayerChromium::needsIdlePaint):
+ (WebCore::TiledLayerChromium::idlePaintRect):
+ * platform/graphics/chromium/TiledLayerChromium.h:
+ (TiledLayerChromium):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::initializeLayerRenderer):
+ (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
+ (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
+ (WebCore::CCLayerTreeHost::commitComplete):
+ (WebCore::CCLayerTreeHost::evictAllContentTextures):
+ (WebCore::CCLayerTreeHost::contentsTextureManager):
+ (WebCore::CCLayerTreeHost::updateLayers):
+ (WebCore::CCLayerTreeHost::prioritizeTextures):
+ (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (WebCore):
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp: Added.
+ (WebCore):
+ (WebCore::CCPrioritizedTexture::CCPrioritizedTexture):
+ (WebCore::CCPrioritizedTexture::~CCPrioritizedTexture):
+ (WebCore::CCPrioritizedTexture::setTextureManager):
+ (WebCore::CCPrioritizedTexture::setDimensions):
+ (WebCore::CCPrioritizedTexture::requestLate):
+ (WebCore::CCPrioritizedTexture::acquireBackingTexture):
+ (WebCore::CCPrioritizedTexture::textureId):
+ (WebCore::CCPrioritizedTexture::bindTexture):
+ (WebCore::CCPrioritizedTexture::framebufferTexture2D):
+ (WebCore::CCPrioritizedTexture::setCurrentBacking):
+ * platform/graphics/chromium/cc/CCPrioritizedTexture.h: Added.
+ (WebCore):
+ (CCPrioritizedTexture):
+ (WebCore::CCPrioritizedTexture::create):
+ (WebCore::CCPrioritizedTexture::textureManager):
+ (WebCore::CCPrioritizedTexture::format):
+ (WebCore::CCPrioritizedTexture::size):
+ (WebCore::CCPrioritizedTexture::memorySizeBytes):
+ (WebCore::CCPrioritizedTexture::setRequestPriority):
+ (WebCore::CCPrioritizedTexture::requestPriority):
+ (WebCore::CCPrioritizedTexture::canAcquireBackingTexture):
+ (WebCore::CCPrioritizedTexture::haveBackingTexture):
+ (Backing):
+ (WebCore::CCPrioritizedTexture::Backing::size):
+ (WebCore::CCPrioritizedTexture::Backing::format):
+ (WebCore::CCPrioritizedTexture::Backing::memorySizeBytes):
+ (WebCore::CCPrioritizedTexture::Backing::textureId):
+ (WebCore::CCPrioritizedTexture::Backing::currentTexture):
+ (WebCore::CCPrioritizedTexture::Backing::setCurrentTexture):
+ (WebCore::CCPrioritizedTexture::Backing::Backing):
+ (WebCore::CCPrioritizedTexture::Backing::~Backing):
+ (WebCore::CCPrioritizedTexture::isAbovePriorityCutoff):
+ (WebCore::CCPrioritizedTexture::setAbovePriorityCutoff):
+ (WebCore::CCPrioritizedTexture::setManagerInternal):
+ (WebCore::CCPrioritizedTexture::currentBacking):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: Added.
+ (WebCore):
+ (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
+ (WebCore::CCPrioritizedTextureManager::~CCPrioritizedTextureManager):
+ (WebCore::CCPrioritizedTextureManager::setMemoryAllocationLimitBytes):
+ (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
+ (WebCore::CCPrioritizedTextureManager::clearPriorities):
+ (WebCore::CCPrioritizedTextureManager::requestLate):
+ (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
+ (WebCore::CCPrioritizedTextureManager::reduceMemory):
+ (WebCore::CCPrioritizedTextureManager::clearAllMemory):
+ (WebCore::CCPrioritizedTextureManager::allBackingTexturesWereDeleted):
+ (WebCore::CCPrioritizedTextureManager::unlink):
+ (WebCore::CCPrioritizedTextureManager::link):
+ (WebCore::CCPrioritizedTextureManager::registerTexture):
+ (WebCore::CCPrioritizedTextureManager::unregisterTexture):
+ (WebCore::CCPrioritizedTextureManager::returnBackingTexture):
+ (WebCore::CCPrioritizedTextureManager::createBacking):
+ (WebCore::CCPrioritizedTextureManager::destroyBacking):
+ (WebCore::CCPrioritizedTextureManager::assertInvariants):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: Added.
+ (WebCore):
+ (CCPrioritizedTextureManager):
+ (WebCore::CCPrioritizedTextureManager::create):
+ (WebCore::CCPrioritizedTextureManager::createTexture):
+ (WebCore::CCPrioritizedTextureManager::memoryUseBytes):
+ (WebCore::CCPrioritizedTextureManager::memoryAboveCutoffBytes):
+ (WebCore::CCPrioritizedTextureManager::setMaxMemoryLimitBytes):
+ (WebCore::CCPrioritizedTextureManager::maxMemoryLimitBytes):
+ (WebCore::CCPrioritizedTextureManager::setPreferredMemoryLimitBytes):
+ (WebCore::CCPrioritizedTextureManager::preferredMemoryLimitBytes):
+ (WebCore::CCPrioritizedTextureManager::setMaxMemoryPriorityCutoff):
+ (WebCore::CCPrioritizedTextureManager::maxMemoryPriorityCutoff):
+ (WebCore::CCPrioritizedTextureManager::compareTextures):
+ (WebCore::CCPrioritizedTextureManager::compareBackings):
+ * platform/graphics/chromium/cc/CCPriorityCalculator.cpp: Added.
+ (WebCore):
+ (WebCore::CCPriorityCalculator::uiPriority):
+ (WebCore::CCPriorityCalculator::visiblePriority):
+ (WebCore::CCPriorityCalculator::lingeringPriority):
+ (WebCore::CCPriorityCalculator::priorityFromDistance):
+ (WebCore::CCPriorityCalculator::priorityFromVisibility):
+ * platform/graphics/chromium/cc/CCPriorityCalculator.h: Added.
+ (WebCore):
+ (CCPriorityCalculator):
+ (WebCore::CCPriorityCalculator::highestPriority):
+ (WebCore::CCPriorityCalculator::lowestPriority):
+ (WebCore::CCPriorityCalculator::priorityIsLower):
+ (WebCore::CCPriorityCalculator::priorityIsHigher):
+ * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
+
+2012-06-29 Eric Seidel <eric@webkit.org>
+
+ Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=90249
+
+ Reviewed by Ryosuke Niwa.
+
+ I don't think I quite got it all yet, but this is another step towards
+ removing Leopard support in WebCore.
+
+ * WebCore.exp.in:
+ * page/AlternativeTextClient.h:
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::populate):
+ * platform/graphics/cg/ImageBufferDataCG.h:
+ * platform/graphics/mac/GraphicsContextMac.mm:
+ (WebCore::GraphicsContext::drawLineForDocumentMarker):
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/network/Credential.h:
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore):
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost):
+ * platform/text/TextChecking.h:
+ (WebCore):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::containsPaintedContent):
+
+2012-06-29 Andreas Kling <kling@webkit.org>
+
+ Unreviewed, rolling out r121562.
+ http://trac.webkit.org/changeset/121562
+ https://bugs.webkit.org/show_bug.cgi?id=89945
+
+ Broke a couple of editing/pasteboard tests.
+
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::length):
+ (WebCore::PropertySetCSSStyleDeclaration::item):
+ (WebCore::PropertySetCSSStyleDeclaration::cssText):
+ (WebCore::PropertySetCSSStyleDeclaration::setCssText):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
+ (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
+ (WebCore::PropertySetCSSStyleDeclaration::setProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::copy):
+ (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
+ (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
+ (WebCore::InlineCSSStyleDeclaration::didMutate):
+ (WebCore::InlineCSSStyleDeclaration::parentStyleSheet):
+ * css/PropertySetCSSStyleDeclaration.h:
+ (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
+ (PropertySetCSSStyleDeclaration):
+ (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
+ (WebCore::StylePropertySet::clearParentElement):
+ (WebCore):
+ * css/StylePropertySet.h:
+ (StylePropertySet):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::destroyInlineStyle):
+ (WebCore):
+ * dom/ElementAttributeData.h:
+ (ElementAttributeData):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::~StyledElement):
+ (WebCore):
+ (WebCore::StyledElement::styleAttributeChanged):
+ * dom/StyledElement.h:
+ (StyledElement):
+ (WebCore::StyledElement::destroyInlineStyle):
+
+2012-06-29 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
+
+ [Qt] Add missing support for tiled shadow blur on fillRect
+ https://bugs.webkit.org/show_bug.cgi?id=90082
+
+ Reviewed by Noam Rosenthal.
+
+ This overloaded fillRect implementation also supports this optimization in
+ certain situations.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::fillRect):
+
+2012-06-29 Brady Eidson <beidson@apple.com>
+
+ Build fix - These should not be executable!
+
+ Rubberstamped by Jessie Berlin.
+
+ * loader/cache/CachedSVGDocument.cpp: Removed property svn:executable.
+ * loader/cache/CachedSVGDocument.h: Removed property svn:executable.
+
+2012-06-29 Kwang Yul Seo <skyul@company100.net>
+
+ Update FIXME comment in XMLDocumentParser::wellFormed
+ https://bugs.webkit.org/show_bug.cgi?id=90223
+
+ Reviewed by Adam Barth.
+
+ XMLDocumentParser::wellFormed is still used by the XMLHttpRequest to check if the responseXML was well formed.
+ So it can't be removed.
+
+ * xml/parser/XMLDocumentParser.h:
+ (XMLDocumentParser):
+
+2012-06-29 Andreas Kling <kling@webkit.org>
+
+ Separate mutating CSSStyleDeclaration operations.
+ <http://webkit.org/b/89945>
+
+ Reviewed by Antti Koivisto.
+
+ Use separate paths for mutating the StylePropertySet wrapped by a CSSStyleDeclaration.
+ PropertySetCSSStyleDeclaration now has:
+
+ - propertySet() const
+ - ensureMutablePropertySet()
+
+ This is prep work for supporting immutable ElementAttributeData objects, the idea being
+ that calling ensureMutablePropertySet() may cause the element to convert its internal
+ attribute storage (which also holds the inline StylePropertySet.)
+
+ To that end, also removed the weird logic that allowed you to kill the inline style object
+ by removing the 'style' attribute. We now simply clear out all the properties in that case
+ which saves us a bunch of hassle (no need for a ~StyledElement anymore.)
+ Note that InlineCSSStyleDeclaration now refs the element rather than the inline style.
+
+ There should be no web-facing behavior change from any of this.
+
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::length):
+ (WebCore::PropertySetCSSStyleDeclaration::item):
+ (WebCore::PropertySetCSSStyleDeclaration::cssText):
+ (WebCore::PropertySetCSSStyleDeclaration::setCssText):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
+ (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
+ (WebCore::PropertySetCSSStyleDeclaration::setProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::copy):
+ (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
+ (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
+ (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
+ (WebCore::InlineCSSStyleDeclaration::ref):
+ (WebCore::InlineCSSStyleDeclaration::deref):
+ (WebCore::InlineCSSStyleDeclaration::didMutate):
+ (WebCore::InlineCSSStyleDeclaration::parentStyleSheet):
+ (WebCore::InlineCSSStyleDeclaration::ensureMutablePropertySet):
+ * css/PropertySetCSSStyleDeclaration.h:
+ (PropertySetCSSStyleDeclaration):
+ (WebCore::PropertySetCSSStyleDeclaration::propertySet):
+ (WebCore::PropertySetCSSStyleDeclaration::ensureMutablePropertySet):
+ (InlineCSSStyleDeclaration):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
+ * css/StylePropertySet.h:
+ (StylePropertySet):
+ * dom/ElementAttributeData.cpp:
+ * dom/ElementAttributeData.h:
+ (ElementAttributeData):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::styleAttributeChanged):
+ * dom/StyledElement.h:
+ (WebCore::StyledElement::~StyledElement):
+ (StyledElement):
+
+2012-06-29 Kwang Yul Seo <skyul@company100.net>
+
+ Don't call SegmentedString::toString() twice in XMLDocumentParser::append(const SegmentedString&)
+ https://bugs.webkit.org/show_bug.cgi?id=90254
+
+ Reviewed by Adam Barth.
+
+ We can reuse the local variable parseString instead of calling s.toString() again.
+ No behavior change, so no new tests.
+
+ * xml/parser/XMLDocumentParser.cpp:
+ (WebCore::XMLDocumentParser::append):
+
+2012-06-29 Mihnea Ovidenie <mihnea@adobe.com>
+
+ Crash when flowing a fixed positioned element into a region.
+ https://bugs.webkit.org/show_bug.cgi?id=88133
+
+ Reviewed by Julien Chaffraix and Abhishek Arya.
+
+ When a fixed positioned element is collected into a named flow, we have to make sure
+ that such element has the RenderFlowThread as containing block instead of RenderView,
+ so that the fixed positioned element is laid out properly.
+ Making the RenderFlowThread the top most containing block for named flow elements required the
+ modification of RenderLayer::convertToLayerCoords so that the fixed positioned elements inside the
+ named flow take the same code path as the absolute positioned elements inside the named flow.
+ I also added a method, checkBlockPositionedObjectsNeedLayout, in order to verify that a block
+ that is ending its layout, setNeedsLayout(false), has all the positioned children laid out.
+ This way, we will hit an assertion if an out-of-flow positioned child inside a RenderFlowThread
+ is not laid out after the RenderFlowThread is laid out.
+
+ Tests: fast/regions/absolute-pos-elem-in-named-flow.html
+ fast/regions/absolute-pos-elem-in-region.html
+ fast/regions/fixed-pos-elem-in-named-flow.html
+ fast/regions/fixed-pos-elem-in-named-flow2.html
+ fast/regions/fixed-pos-elem-in-region.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::checkPositionedObjectsNeedLayout):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::convertToLayerCoords):
+ * rendering/RenderObject.cpp:
+ (WebCore):
+ (WebCore::RenderObject::checkBlockPositionedObjectsNeedLayout):
+ (WebCore::RenderObject::containingBlock):
+ (WebCore::RenderObject::container):
+ * rendering/RenderObject.h:
+ (RenderObject):
+ (WebCore::RenderObject::setNeedsLayout):
+
+2012-06-29 Konrad Piascik <kpiascik@rim.com>
+
+ Don't hardcode target dpi of 160 (it should be 96 on desktop)
+ https://bugs.webkit.org/show_bug.cgi?id=88114
+
+ Reviewed by Adam Barth.
+
+ No behavioural change, current tests in fast/viewport cover all
+ functionality.
+
+ * WebCore.exp.in: Updated symbol for computeViewportAttributes.
+ * dom/ViewportArguments.cpp: Use new parameter for devicePixelRatio
+ and don't calculate it anymore.
+ (WebCore::computeViewportAttributes):
+ * dom/ViewportArguments.h: Change the deviceDPI parameter to
+ devicePixelRatio and put the onus
+ on the embedder to supply the
+ correct value. Add temporary constant.
+ (WebCore):
+
+2012-06-29 Vineet Chaudhary <rgf748@motorola.com>
+
+ JS binding code generator doesn't handle "attribute unsigned long[]" well.
+ https://bugs.webkit.org/show_bug.cgi?id=84540
+
+ Reviewed by Kentaro Hara.
+
+ In JS/V8 Bindings using traits instead of specialised functions.
+ Also added support for "unsigned long" in JSDOMBinding and V8Binding.
+
+ No new tests, as no behavioural changes.
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::Traits::arrayJSValue):
+ (WebCore::jsArray):
+ * bindings/v8/V8Binding.h:
+ (WebCore::Traits::arrayV8Value):
+ (WebCore::v8Array):
+
+2012-06-29 Andreas Kling <kling@webkit.org>
+
+ Unreviewed mac build fix after r121547.
+ Remove the now-unused FontCustomPlatformData::m_atsContainer.
+
+ * platform/graphics/mac/FontCustomPlatformData.h:
+ (FontCustomPlatformData):
+
+2012-06-29 Kent Tamura <tkent@chromium.org>
+
+ <textarea> unnecessarily saves the value in some cases
+ https://bugs.webkit.org/show_bug.cgi?id=90259
+
+ Reviewed by Hajime Morita.
+
+ Test: fast/forms/textarea/textarea-state-restore.html
+
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::saveFormControlState):
+ We apply EOL normalization to value(), but don't apply it to
+ defaultValue(). Also value() can return a null string, which never
+ equals to any strings. To check m_isDirty is what we need..
+
+2012-06-25 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Provide source data for all known rule types in CSSParser, except "keyframe" and "region"
+ https://bugs.webkit.org/show_bug.cgi?id=88420
+
+ Reviewed by Antti Koivisto.
+
+ This change transitions the CSS source code model from a flat list of style rules to a tree of all types of CSS rules
+ (some of them lack actual source code data), which is crucial to model-based CSS stylesheet source editing
+ (add/remove CSS rule) and navigation.
+ As a side effect, the CSS parsing performance on PerformanceTests/Parser/css-parser-yui.html is improved roughly by 2%:
+ - originally: median= 282.051282051 runs/s, stdev= 1.51236798322 runs/s, min= 278.481012658 runs/s, max= 283.870967742 runs/s
+ - with patch applied: median= 287.206266319 runs/s, stdev= 1.31518320219 runs/s, min= 282.051282051 runs/s, max= 288.713910761 runs/s
+
+ No new tests, as there is no client-visible behavior change. Existing Inspector tests will be modified
+ to test the new data provided, along with the necessary Inspector plumbing.
+
+ * css/CSSGrammar.y:
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::reattach): Check for mediaQueries() validity before reattaching.
+ * css/CSSParser.cpp: Unless explicitly specified below, the method changes are related to the extension of the
+ source-based CSS model provided by the parser.
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::setupParser):
+ (WebCore::CSSParser::parseDeclaration): Accept a CSSRuleSourceData for filling, since it now contains
+ the related style source range.
+ (WebCore::CSSParser::createImportRule):
+ (WebCore::CSSParser::createMediaRule): Create CSSMediaRule even if media and rules are empty,
+ which is consistent with Mozilla.
+ (WebCore::CSSParser::processAndAddNewRuleToSourceTreeIfNeeded):
+ (WebCore):
+ (WebCore::CSSParser::addNewRuleToSourceTree):
+ (WebCore::CSSParser::createKeyframesRule):
+ (WebCore::CSSParser::createStyleRule):
+ (WebCore::CSSParser::createFontFaceRule):
+ (WebCore::CSSParser::createPageRule):
+ (WebCore::CSSParser::createRegionRule):
+ (WebCore::CSSParser::fixUnparsedPropertyRanges):
+ (WebCore::CSSParser::markRuleHeaderStart):
+ (WebCore::CSSParser::markRuleHeaderEnd):
+ (WebCore::CSSParser::markRuleBodyStart):
+ (WebCore::CSSParser::markRuleBodyEnd):
+ (WebCore::CSSParser::markPropertyStart):
+ (WebCore::CSSParser::markPropertyEnd):
+ * css/CSSParser.h:
+ (CSSParser):
+ * css/CSSPropertySourceData.h: Extend the model to handle more types of rules and their containments.
+ (WebCore):
+ (WebCore::CSSRuleSourceData::create):
+ (WebCore::CSSRuleSourceData::createUnknown):
+ (CSSRuleSourceData):
+ (WebCore::CSSRuleSourceData::CSSRuleSourceData):
+ * inspector/InspectorStyleSheet.cpp: Follow the CSSParser API changes but retain the flat stored CSS rules structure.
+ (ParsedStyleSheet):
+ (flattenSourceData): Flatten the rule tree to retain the existing rule-handling code intact.
+ (ParsedStyleSheet::setSourceData):
+ (ParsedStyleSheet::ruleSourceDataAt):
+ (WebCore::InspectorStyle::buildObjectForStyle):
+ (WebCore::InspectorStyle::setPropertyText):
+ (WebCore::InspectorStyle::styleText):
+ (WebCore::InspectorStyleSheet::setRuleSelector):
+ (WebCore::InspectorStyleSheet::deleteRule):
+ (WebCore::InspectorStyleSheet::buildObjectForRule):
+ (WebCore::InspectorStyleSheet::buildObjectForStyle):
+ (WebCore::InspectorStyleSheet::ensureSourceData):
+ (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
+ (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
+ (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
+ * inspector/InspectorStyleSheet.h:
+
+2012-06-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Annotate TextViewer.js
+ https://bugs.webkit.org/show_bug.cgi?id=90266
+
+ Reviewed by Yury Semikhatsky.
+
+ Annotated TextViewer.js and fixed found errors.
+ Drive-by: Fixed NativeMemorySnapshotView.js compilation.
+ Drive-by: Fixed protocol-externs.js compilation.
+ Drive-by: Removed unused platform parameter from TextViewer constructor.
+
+ * inspector/Inspector.json:
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::runScript):
+ * inspector/InspectorDebuggerAgent.h:
+ (InspectorDebuggerAgent):
+ * inspector/front-end/NativeMemorySnapshotView.js:
+ (WebInspector.NativeMemoryBarChart.prototype._updateView):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
+
+2012-06-29 Eric Seidel <eric@webkit.org>
+
+ Remove still more BUILDING_ON_LEOPARD branches now that no port supports leopard
+ https://bugs.webkit.org/show_bug.cgi?id=90256
+
+ Reviewed by Ryosuke Niwa.
+
+ * platform/LocalizedStrings.cpp:
+ (WebCore::imageTitle):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::setAllowsFontSmoothing):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::Image::drawPattern):
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::clear):
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::Path::boundingRect):
+ * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
+ (WebCore::FontPlatformData::ctFont):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ * platform/graphics/mac/ComplexTextController.cpp:
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
+ (WebCore::FontCache::platformInit):
+ * platform/graphics/mac/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
+ (WebCore::createFontCustomPlatformData):
+ * platform/graphics/mac/FontCustomPlatformData.h:
+ (WebCore::FontCustomPlatformData::FontCustomPlatformData):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/mac/WebLayer.h:
+ * platform/mac/CursorMac.mm:
+ (WebCore::Cursor::ensurePlatformCursor):
+ * platform/mac/DisplaySleepDisabler.cpp:
+ (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
+ (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
+ * platform/mac/DisplaySleepDisabler.h:
+ (DisplaySleepDisabler):
+ * platform/mac/HTMLConverter.h:
+ * platform/mac/HTMLConverter.mm:
+ * platform/mac/PopupMenuMac.mm:
+ (WebCore::PopupMenuMac::populate):
+ * platform/mac/ScrollElasticityController.mm:
+
+2012-06-29 Zan Dobersek <zandobersek@gmail.com>
+
+ Unreviewed attempt at a build fix for 64-bit debug build,
+ touch InsertionPoint.cpp to try to get it rebuilt.
+
+ * html/shadow/InsertionPoint.cpp:
+ (WebCore):
+
+2012-06-29 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+
+ [Qt] Don't add Qt module dependencies in features.prf
+
+ The required dependencies are already added in WebCore.pri.
+
+ Reviewed by Tor Arne Vestbø.
+
+ * WebCore.pri:
+
+2012-06-29 Taiju Tsuiki <tzik@chromium.org>
+
+ Web Inspector: Add FileSystemView
+ https://bugs.webkit.org/show_bug.cgi?id=73301
+
+ This patch introduce a split view as FileSystemView. Including directory tree as sidebar tree.
+
+ Reviewed by Vsevolod Vlasov.
+
+ Test: http/tests/inspector/filesystem/directory-tree.html
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/FileSystemModel.js:
+ (WebInspector.FileSystemModel.Entry.compare):
+ * inspector/front-end/FileSystemView.js: Added.
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.showFileSystem):
+ (WebInspector.FileSystemTreeElement.prototype.get itemURL):
+ (WebInspector.FileSystemTreeElement.prototype.onattach):
+ (WebInspector.FileSystemTreeElement.prototype._handleContextMenuEvent):
+ (WebInspector.FileSystemTreeElement.prototype._refreshFileSystem):
+ (WebInspector.FileSystemTreeElement.prototype.onselect):
+ (WebInspector.FileSystemTreeElement.prototype.clear):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-06-29 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Replace v8::Integer::New() with v8Integer() in custom bindings
+ https://bugs.webkit.org/show_bug.cgi?id=90242
+
+ Reviewed by Yury Semikhatsky.
+
+ v8Integer() is a fast wrapper of v8::Integer::New().
+ This patch replaces v8::Integer::New() with v8Integer() in custom bindings,
+ and pass isolates.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator):
+ (WebCore::V8CSSStyleDeclaration::namedPropertyQuery):
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ (WebCore::V8Clipboard::typesAccessorGetter):
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ (WebCore::V8DOMStringMap::namedPropertyQuery):
+ (WebCore::V8DOMStringMap::namedPropertyEnumerator):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::WindowSetTimeoutImpl):
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ (WebCore::V8DataView::getInt8Callback):
+ (WebCore::V8DataView::getUint8Callback):
+ * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
+ (WebCore::V8HTMLInputElement::selectionStartAccessorGetter):
+ (WebCore::V8HTMLInputElement::selectionEndAccessorGetter):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::lengthAccessorGetter):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::functionDetailsCallback):
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ (WebCore::V8MessageEvent::portsAccessorGetter):
+ * bindings/v8/custom/V8MutationCallbackCustom.cpp:
+ (WebCore::V8MutationCallback::handleEvent):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::V8NodeList::namedPropertyGetter):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::V8SQLTransaction::executeSqlCallback):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8StorageCustom.cpp:
+ (WebCore::V8Storage::namedPropertyEnumerator):
+ (WebCore::V8Storage::indexedPropertyGetter):
+ (WebCore::V8Storage::namedPropertyQuery):
+ (WebCore::V8Storage::indexedPropertySetter):
+ (WebCore::V8Storage::indexedPropertyDeleter):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::toV8Object):
+ (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
+ (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+
+2012-06-29 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, rolling out r121520.
+ http://trac.webkit.org/changeset/121520
+ https://bugs.webkit.org/show_bug.cgi?id=90246
+
+ the performance optimization needs more investigation
+
+ * dom/DatasetDOMStringMap.cpp:
+ (WebCore::convertPropertyNameToAttributeName):
+ * dom/Element.cpp:
+ (WebCore::Element::getAttributeNS):
+ (WebCore::Element::removeAttribute):
+ (WebCore::Element::removeAttributeNS):
+ (WebCore::Element::getAttributeNode):
+ (WebCore::Element::getAttributeNodeNS):
+ (WebCore::Element::hasAttribute):
+ (WebCore::Element::hasAttributeNS):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::getAttributeNode):
+ * dom/ElementAttributeData.h:
+ (ElementAttributeData):
+
+2012-06-29 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Replace v8::Integer::New() with v8Integer() in bindings/v8/*.{h,cpp}
+ https://bugs.webkit.org/show_bug.cgi?id=90238
+
+ Reviewed by Yury Semikhatsky.
+
+ v8Integer() is a fast wrapper of v8::Integer::New().
+ We can replace v8::Integer::New() with v8Integer()
+ in bindings/v8/*.{h,cpp}. In addition, we pass isolate
+ to v8Integer() where possible.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/Dictionary.cpp:
+ (WebCore::Dictionary::get):
+ * bindings/v8/NPV8Object.cpp:
+ (_NPN_Enumerate): Changed v8::None to 0, for consistency with other code.
+ * bindings/v8/PageScriptDebugServer.cpp:
+ (WebCore::PageScriptDebugServer::addListener):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::compileScript):
+ * bindings/v8/SerializedScriptValue.cpp:
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::v8Array):
+ (WebCore::v8ValueToWebCoreDOMStringList):
+ * bindings/v8/V8Binding.h:
+ (WebCore::v8Array):
+ (WebCore::v8NumberArrayToVector):
+ * bindings/v8/V8Collection.h:
+ (WebCore::nodeCollectionIndexedPropertyEnumerator):
+ (WebCore::collectionIndexedPropertyEnumerator):
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::prepareListenerObject):
+ * bindings/v8/V8NPObject.cpp:
+ (WebCore::npObjectQueryProperty):
+ (WebCore::npObjectPropertyEnumerator):
+ * bindings/v8/V8NPUtils.cpp:
+ (WebCore::convertNPVariantToV8Object):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::batchConfigureConstants):
+ (WebCore::V8Proxy::compileScript):
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::createHiddenDependency):
+ (WebCore::removeHiddenDependency):
+ * bindings/v8/V8WindowErrorHandler.cpp:
+ (WebCore::V8WindowErrorHandler::callListenerFunction):
+ * bindings/v8/V8WorkerContextErrorHandler.cpp:
+ (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
+ * bindings/v8/WorkerScriptDebugServer.cpp:
+ (WebCore::WorkerScriptDebugServer::addListener):
+
+2012-06-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Resource content is not loaded if Resource.requestContent method is called before network request is finished.
+ https://bugs.webkit.org/show_bug.cgi?id=90153
+
+ Reviewed by Yury Semikhatsky.
+
+ Test: http/tests/inspector/resource-tree/resource-request-content-while-loading.html
+
+ * inspector/front-end/NetworkRequest.js:
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource):
+ (WebInspector.Resource.prototype.requestContent):
+ (WebInspector.Resource.prototype._requestFinished):
+
+2012-06-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r121529.
+ http://trac.webkit.org/changeset/121529
+ https://bugs.webkit.org/show_bug.cgi?id=90260
+
+ Failed to compile on Chromium WebKitMacBuilder (Requested by
+ keishi on #webkit).
+
+ * platform/LocalizedStrings.cpp:
+ (WebCore):
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::Path::platformAddPathForRoundedRect):
+ * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::setFont):
+ * platform/graphics/mac/ComplexTextControllerCoreText.mm:
+ (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
+ * platform/graphics/mac/FontMac.mm:
+ (WebCore::showGlyphsWithAdvances):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore):
+ * platform/mac/CursorMac.mm:
+ (WebCore::Cursor::ensurePlatformCursor):
+ * platform/mac/MemoryPressureHandlerMac.mm:
+ (WebCore):
+ * platform/mac/PlatformEventFactoryMac.mm:
+ (WebCore::momentumPhaseForEvent):
+ (WebCore::phaseForEvent):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ * platform/text/cf/HyphenationCF.cpp:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
+
+2012-06-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Add toggle breakpoint shortcut.
+ https://bugs.webkit.org/show_bug.cgi?id=90188
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
+ (WebInspector.JavaScriptSourceFrame.prototype._toggleBreakpoint):
+ (WebInspector.JavaScriptSourceFrame.prototype.toggleBreakpointOnCurrentLine):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleBreakpoint):
+ (WebInspector.ScriptsPanel.prototype._showOutlineDialog):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype.selection):
+
+2012-06-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Cursor should follow execution line when debugging.
+ https://bugs.webkit.org/show_bug.cgi?id=90184
+
+ Reviewed by Yury Semikhatsky.
+
+ Added TextViewer.setSelection public method to set cursor selection in the editor.
+ Added TextRange.createFromLocation method to create TextRanges with the same start and end points.
+ Drive-by: removed unused _setCaretLocation() method in TextViewer.js
+
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
+ (WebInspector.ScriptsPanel.prototype._editorSelected):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.setSelection):
+ (WebInspector.SourceFrame.prototype.setContent):
+ * inspector/front-end/TextEditorModel.js:
+ (WebInspector.TextRange.createFromLocation):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype.setSelection):
+ (WebInspector.TextEditorMainPanel.prototype.highlightLine):
+
+2012-06-27 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: IDBObjectStore.autoIncrement flag not exposed
+ https://bugs.webkit.org/show_bug.cgi?id=89701
+
+ Reviewed by Yury Semikhatsky.
+
+ Plumbed objectStore.autoIncrement to inspector front-end and added it to tooltip.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/Inspector.json:
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+ * inspector/front-end/IndexedDBModel.js:
+ (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
+ (WebInspector.IndexedDBModel.prototype._loadDatabase):
+ (WebInspector.IndexedDBModel.ObjectStore):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
+
+2012-06-28 Alexander Pavlov <apavlov@chromium.org>
+
+ Use floating keyframe rule list when parsing @-webkit-keyframes and allow abrupt rule termination
+ https://bugs.webkit.org/show_bug.cgi?id=90073
+
+ Reviewed by Antti Koivisto.
+
+ - The grammar is changed to allow abruptly terminated stylesheet in the @-webkit-keyframes (use closing_brace, not '}').
+ - A floating StyleKeyframe vector is introduced to separate the creation and filling of StyleRuleKeyframes, as other rules do.
+
+ Test: fast/css/css-keyframe-unexpected-end.html
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createFloatingKeyframeVector):
+ (WebCore):
+ (WebCore::CSSParser::sinkFloatingKeyframeVector):
+ (WebCore::CSSParser::createKeyframesRule):
+ * css/CSSParser.h:
+
+2012-06-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: add character data to the DOM section of native memory view
+ https://bugs.webkit.org/show_bug.cgi?id=89968
+
+ Reviewed by Vsevolod Vlasov.
+
+ Count strings referenced from CharacterData node and its descendants
+ as part of the DOM tree structures in the native memory view.
+
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::reportMemoryUsage):
+ (WebCore):
+ * dom/CharacterData.h:
+ (CharacterData):
+ * dom/MemoryInstrumentation.h:
+ (MemoryInstrumentation):
+ (WebCore::MemoryObjectInfo::reportString):
+ (MemoryObjectInfo):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore):
+ (WebCore::domTreeInfo):
+ (WebCore::jsExternalResourcesInfo):
+ (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
+ * inspector/front-end/NativeMemorySnapshotView.js:
+ (WebInspector.MemoryBlockViewProperties._initialize):
+
+2012-06-29 Eric Seidel <eric@webkit.org>
+
+ Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=90252
+
+ Reviewed by Ryosuke Niwa.
+
+ * platform/LocalizedStrings.cpp:
+ (WebCore):
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::Path::platformAddPathForRoundedRect):
+ * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::setFont):
+ * platform/graphics/mac/ComplexTextControllerCoreText.mm:
+ (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
+ * platform/graphics/mac/FontMac.mm:
+ (WebCore::showGlyphsWithAdvances):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore):
+ * platform/mac/CursorMac.mm:
+ (WebCore::Cursor::ensurePlatformCursor):
+ * platform/mac/MemoryPressureHandlerMac.mm:
+ (WebCore):
+ * platform/mac/PlatformEventFactoryMac.mm:
+ (WebCore::momentumPhaseForEvent):
+ (WebCore::phaseForEvent):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ * platform/text/cf/HyphenationCF.cpp:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
+
+2012-06-27 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: showConsole() should close previous view in drawer.
+ https://bugs.webkit.org/show_bug.cgi?id=90070
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.showConsole):
+ (WebInspector.showPanel):
+
+2012-06-29 Ryosuke Niwa <rniwa@webkit.org>
+
+ Remove a #include erroneously added in r120896.
+
+ * editing/VisibleSelection.h:
+
+2012-06-29 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Platform] Implement Date Time format parser
+ https://bugs.webkit.org/show_bug.cgi?id=89963
+
+ Reviewed by Kent Tamura.
+
+ This patch introduces Unicode TR35 LDML date time format parser for
+ input type "time" if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.
+
+ Test: WebKit/chromium/tests/DateTimeFormatTest.cpp
+
+ * CMakeLists.txt: Added DateTimeFormat.cpp
+ * GNUmakefile.list.am: Added DateTimeFormat.{cpp,h}
+ * Target.pri: ditto
+ * WebCore.gypi: ditto
+ * WebCore.vcproj/WebCore.vcproj: ditto
+ * WebCore.xcodeproj/product.pbxproj: ditto
+ * platform/text/DateTimeFormat.cpp: Added.
+ (WebCore::mapCharacterToFieldTypeInternal):
+ (WebCore::DateTimeFormat::DateTimeFormat):
+ (WebCore::DateTimeFormat::mapCharacterToFieldType):
+ (WebCore::DateTimeFormat::parse):
+ * platform/text/DateTimeFormat.h: Added.
+ (DateTimeFormat):
+ (TokenHandler):
+ (WebCore::DateTimeFormat::TokenHandler::~TokenHandler):
+
+2012-06-29 Eric Seidel <eric@webkit.org>
+
+ Remove more BUILDING_ON_LEOPARD usage in PLATFORM(MAC) code
+ https://bugs.webkit.org/show_bug.cgi?id=85846
+
+ Reviewed by Adam Barth.
+
+ PLATFORM(MAC) has not supported Leopard for several months now.
+ This change removes about 1/3 of the remaining BUILDING_ON_LEOPARD
+ uses in the PLATFORM(MAC) codepaths. PLATFORM(CHROMIUM) still
+ supports BUILDING_ON_LEOPARD for now.
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ (WebCore::Document::updateRangesAfterChildrenChanged):
+ (WebCore::Document::nodeChildrenWillBeRemoved):
+ (WebCore::Document::nodeWillBeRemoved):
+ (WebCore::Document::textInserted):
+ (WebCore::Document::textRemoved):
+ (WebCore::Document::textNodesMerged):
+ (WebCore::Document::textNodeSplit):
+ * editing/Editor.cpp:
+ (WebCore::Editor::respondToChangedSelection):
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::markMisspellingsAfterTyping):
+ (WebCore::TypingCommand::typingAddedToOpenCommand):
+ * editing/mac/EditorMac.mm:
+ (WebCore::Editor::pasteWithPasteboard):
+ * loader/EmptyClients.h:
+ (EmptyEditorClient):
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::contextMenuItemSelected):
+ (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
+ (WebCore):
+ (WebCore::ContextMenuController::populate):
+ (WebCore::ContextMenuController::checkOrEnableIfNeeded):
+ * page/EditorClient.h:
+ (EditorClient):
+ * platform/LocalizedStrings.cpp:
+ (WebCore::contextMenuItemTagSearchWeb):
+ * platform/MemoryPressureHandler.cpp:
+ (WebCore):
+ * platform/SuddenTermination.h:
+ (WebCore):
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::updateContentsImage):
+ (WebCore::GraphicsLayerCA::constrainedSize):
+ * platform/graphics/ca/PlatformCALayer.h:
+ (PlatformCALayer):
+ * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
+ (fromCAValueFunctionType):
+ (PlatformCAAnimation::valueFunction):
+ (PlatformCAAnimation::setValueFunction):
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+ (toCAFilterType):
+ (PlatformCALayer::anchorPoint):
+ (PlatformCALayer::setAnchorPoint):
+ (PlatformCALayer::contentsTransform):
+ (PlatformCALayer::setContentsTransform):
+ (PlatformCALayer::isGeometryFlipped):
+ (PlatformCALayer::setGeometryFlipped):
+ (PlatformCALayer::acceleratesDrawing):
+ (PlatformCALayer::setAcceleratesDrawing):
+ (PlatformCALayer::setMinificationFilter):
+ (PlatformCALayer::setMagnificationFilter):
+ (PlatformCALayer::contentsScale):
+ (PlatformCALayer::setContentsScale):
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::setScale):
+ (WebCore::TileCache::setAcceleratesDrawing):
+ (WebCore::TileCache::createTileLayer):
+
+2012-06-29 Kwang Yul Seo <skyul@company100.net>
+
+ Use StringBuilder in SegmentedString::toString()
+ https://bugs.webkit.org/show_bug.cgi?id=90247
+
+ Reviewed by Adam Barth.
+
+ Use a StringBuilder instead of String concatenation because StringBuilder is generally faster.
+ No new tests. Covered by existing tests.
+
+ * platform/text/SegmentedString.cpp:
+ (WebCore::SegmentedString::toString):
+ * platform/text/SegmentedString.h:
+ (WebCore::SegmentedSubstring::appendTo):
+
+2012-06-28 Ryosuke Niwa <rniwa@webkit.org>
+
+ Mac build fix after r121518.
+
+ * WebCore.exp.in:
+
+2012-06-28 Ryosuke Niwa <rniwa@webkit.org>
+
+ DOMHTMLCollection::item may return a wrong element after namedItem is called
+ https://bugs.webkit.org/show_bug.cgi?id=90240
+
+ Reviewed by Antti Koivisto.
+
+ The bug was caused by namedItem updating m_cache.current without updating m_cache.position.
+ Fixed the bug by updating both. This is similar to the bug I fixed in r121478.
+
+ WebKit API Test: WebKit1.HTMLCollectionNamedItemTest
+
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollection::namedItem):
+
+2012-06-28 Kentaro Hara <haraken@chromium.org>
+
+ Change argument types of Element::getAttribute*() from String to AtomicString
+ https://bugs.webkit.org/show_bug.cgi?id=90246
+
+ Reviewed by Ryosuke Niwa.
+
+ This is a follow-up patch for r121439. r121439 changed an argument type of
+ Element::getAttribute() from String to AtomicString, which optimized
+ performance of Dromaeo/dom-attr.html. This patch changes other argument types
+ of Element::getAttribute*() from String to AtomicString. See the ChangeLog in
+ http://trac.webkit.org/changeset/121439 for more details about why this change
+ optimizes performance.
+
+ No tests. No change in behavior.
+
+ * dom/DatasetDOMStringMap.cpp:
+ (WebCore::convertPropertyNameToAttributeName):
+ * dom/Element.cpp:
+ (WebCore::Element::getAttributeNS):
+ (WebCore::Element::removeAttribute):
+ (WebCore::Element::removeAttributeNS):
+ (WebCore::Element::getAttributeNode):
+ (WebCore::Element::getAttributeNodeNS):
+ (WebCore::Element::hasAttribute):
+ (WebCore::Element::hasAttributeNS):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::getAttributeNode):
+ * dom/ElementAttributeData.h:
+ (ElementAttributeData):
+
+2012-06-28 Kent Tamura <tkent@chromium.org>
+
+ REGRESSION(r106388): Form hidden element values being restored
+ incorrectly for dynamically generated content
+ https://bugs.webkit.org/show_bug.cgi?id=88685
+
+ Reviewed by Hajime Morita.
+
+ We should not save value attribute updated during parsing.
+
+ Test: fast/forms/state-restore-to-non-edited-controls.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::HTMLInputElement):
+ Initialize m_valueAttributeWasUpdatedAfterParsing.
+ (WebCore::HTMLInputElement::parseAttribute):
+ Set true to m_valueAttributeWasUpdatedAfterParsing if value
+ attribute is updated and it's not in parsing.
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::valueAttributeWasUpdatedAfterParsing):
+ Added for HiddenInputType.
+ * html/HiddenInputType.cpp:
+ (WebCore::HiddenInputType::saveFormControlState):
+ Save the value only if valueAttributeWasUpdatedAfterParsing() is true.
+
+2012-06-28 MORITA Hajime <morrita@google.com>
+
+ [Refactoring] NodeRenderingContext ctor could be built on top of the ComposedShadowTreeWalker
+ https://bugs.webkit.org/show_bug.cgi?id=89732
+
+ Reviewed by Dimitri Glazkov.
+
+ The constructor of NodeRenderingContext implements almost same
+ logic as ComposedShadowTreeWalker::parent(). This change
+ eliminates the duplication by employing ComposedShadowTreeWalker in the constructor.
+
+ ComposedShadowTreeWalker has same difference from
+ NodeRenderingContext though. So this change also extends
+ ComposedShadowTreeWalker to support these missing pieces, which
+ are encapsulated in newly introduced ParentTranversalDetails
+ class where:
+
+ - not only the parent, but also the insertion point of the child is returned,
+ - resetStyleInheritance from the child-parent traversal is computed and
+ - if the starting point is out of the composition, it returns null as a parent.
+
+ This change also inlines some ComposedShadowTreeWalker methods for speed.
+
+ No new tests. Covered by existing tests.
+
+ * WebCore.exp.in:
+ * dom/ComposedShadowTreeWalker.cpp:
+ (WebCore::shadowOfParent):
+ (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didTraverseInsertionPoint):
+ (WebCore):
+ (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didTraverseShadowRoot):
+ (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didFindNode):
+ (WebCore::ComposedShadowTreeWalker::findParent):
+ (WebCore::ComposedShadowTreeWalker::escapeFallbackContentElement):
+ (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
+ (WebCore::ComposedShadowTreeWalker::traverseParent):
+ (WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
+ (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
+ * dom/ComposedShadowTreeWalker.h:
+ (ParentTranversalDetails):
+ (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::ParentTranversalDetails):
+ (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::node):
+ (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::insertionPoint):
+ (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::resetStyleInheritance):
+ (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::outOfComposition):
+ (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::childWasOutOfComposition):
+ (ComposedShadowTreeWalker):
+ (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
+ (WebCore):
+ * dom/NodeRenderingContext.cpp:
+ (WebCore::NodeRenderingContext::NodeRenderingContext):
+ (WebCore::NodeRenderingContext::nextRenderer):
+ (WebCore::NodeRenderingContext::previousRenderer):
+ (WebCore::NodeRenderingContext::parentRenderer):
+ (WebCore::NodeRenderingContext::shouldCreateRenderer):
+ (WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
+ * dom/NodeRenderingContext.h:
+ (NodeRenderingContext):
+ (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
+ (WebCore::NodeRenderingContext::resetStyleInheritance):
+ (WebCore::NodeRenderingContext::insertionPoint):
+
+2012-06-28 Stephen White <senorblanco@chromium.org>
+
+ Implement filter url() function.
+ https://bugs.webkit.org/show_bug.cgi?id=72443
+
+ url() references can be internal, in which case the DOM nodes are
+ retrieved directly from the current document, or external, in which
+ case a CachedSVGDocument request is made, and the filter node build is
+ deferred until the document is loaded. WebKitSVGDocumentValue
+ holds the CachedSVGDocument (if any) and the URL as a CSSValue,
+ and is stored in the CSSValue chain as the argument to the reference
+ filter.
+
+ One notable difference between internal and external references is
+ that internal references will automatically update on an SVG filter node
+ attribute change, while external references will not, since they live
+ in a separate document. This is consistent with the Mozilla
+ implementation. In order to make this work, the RenderLayer is made a
+ client of the RenderSVGResourceContainer, and calls
+ filterNeedsRepaint() when the SVG nodes are invalidated.
+
+ Some plumbing: The CSS StyleResolver was refactored to load all
+ all external resources (images, shaders and (now) SVG filters) in a
+ single function, loadPendingResources(). The PlatformLayer typedef
+ was moved out into its own file, in order to break a cyclic
+ dependency. SVGFilterBuilder was modified to accept the SourceGraphic
+ and SourceAlpha FilterEffects in its constructor and factory function,
+ rather than extracting them from the parent Filter. (This is necessary
+ so that the url() filter can correctly hook up its inputs from
+ previous CSS filters.)
+
+ Reviewed by Dean Jackson.
+
+ Tests: css3/filters/effect-reference-external.html
+ css3/filters/effect-reference-hw.html
+ css3/filters/effect-reference-ordering.html
+ css3/filters/effect-reference.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Add WebKitCSSSVGDocumentValue to the various build files.
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::valueForFilter):
+ Use the reference filter's url when getting the computed style for
+ a reference filter.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseFilter):
+ Create the referenceFilterValue's argument as a
+ WebKitCSSSVGDocumentValue instead of a CSS string.
+ * css/CSSValue.cpp:
+ (WebCore::CSSValue::cssText):
+ Add support for WebKitCSSSVGDocumentValue.
+ (WebCore::CSSValue::destroy):
+ Add support for WebKitCSSSVGDocumentValue.
+ * css/CSSValue.h:
+ (WebCore::CSSValue::isWebKitCSSSVGDocumentValue):
+ Add support for WebKitCSSSVGDocumentValue.
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ Keep track of pending SVG document references, and load them when
+ necessary.
+ * css/StyleResolver.h:
+ * css/WebKitCSSSVGDocumentValue.cpp: Added.
+ New CSSValue subclass for holding SVG document references.
+ (WebCore::WebKitCSSSVGDocumentValue::WebKitCSSSVGDocumentValue):
+ (WebCore::WebKitCSSSVGDocumentValue::~WebKitCSSSVGDocumentValue):
+ (WebCore::WebKitCSSSVGDocumentValue::load):
+ (WebCore::WebKitCSSSVGDocumentValue::customCssText):
+ * css/WebKitCSSSVGDocumentValue.h: Added.
+ (WebCore::WebKitCSSSVGDocumentValue::create):
+ (WebCore::WebKitCSSSVGDocumentValue::cachedSVGDocument):
+ (WebCore::WebKitCSSSVGDocumentValue::url):
+ (WebCore::WebKitCSSSVGDocumentValue::loadRequested):
+ * platform/graphics/GraphicsLayer.h:
+ Refactor PlatformLayer out into its own file, to avoid circular
+ includes.
+ * platform/graphics/ImageBuffer.h:
+ Include PlatformLayer.h instead of GraphicsLayer.h.
+ * platform/graphics/PlatformLayer.h: Added.
+ Refactor PlatformLayer out into its own file, to avoid circular
+ includes.
+ * platform/graphics/filters/FilterOperation.h:
+ (WebCore::ReferenceFilterOperation::create):
+ (WebCore::ReferenceFilterOperation::clone):
+ (WebCore::ReferenceFilterOperation::url):
+ (WebCore::ReferenceFilterOperation::fragment):
+ (ReferenceFilterOperation):
+ (WebCore::ReferenceFilterOperation::data):
+ (WebCore::ReferenceFilterOperation::setData):
+ (WebCore::ReferenceFilterOperation::operator==):
+ (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
+ Augment ReferenceFilterOperation to maintain a data pointer,
+ in order to preserve context while loading external SVG documents.
+ Replace "reference" with "url" and "fragment" members, in order to
+ ease retrieval of the appropriate DOM objects.
+ * platform/graphics/filters/FilterOperations.cpp:
+ (WebCore::FilterOperations::hasReferenceFilter):
+ Convenience function for finding reference filters.
+ * platform/graphics/filters/FilterOperations.h:
+ (FilterOperations):
+ * platform/mac/ScrollbarThemeMac.mm:
+ Include GraphicsLayer.h explicitly, since ImageBuffer.h no longer
+ includes it (and only includes PlatformLayer.h).
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore::FilterEffectRenderer::buildReferenceFilter):
+ Utility function to build a FilterEffect node graph for a
+ ReferenceFilterOperation.
+ (WebCore::FilterEffectRenderer::build):
+ Call the above builder function for ReferenceFilterOperations.
+ * rendering/FilterEffectRenderer.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateOrRemoveFilterEffect):
+ If we have reference filters, update them along with other filters.
+ (WebCore::RenderLayer::filterNeedsRepaint):
+ * rendering/RenderLayerFilterInfo.cpp:
+ (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
+ (WebCore::RenderLayerFilterInfo::notifyFinished):
+ Implement callback function when external SVGDocuments are loaded.
+ (WebCore::RenderLayerFilterInfo::updateReferenceFilterClients):
+ Add the FilterInfo as a client to be called when SVGDocuments are
+ loaded.
+ (WebCore::RenderLayerFilterInfo::removeReferenceFilterClients):
+ Remove this from the list of notified clients.
+ * rendering/RenderLayerFilterInfo.h:
+ Add new member vars for tracking internal and external SVG
+ references, so we can remove ourselves as a client when done.
+ * rendering/svg/RenderSVGResourceContainer.cpp:
+ (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
+ When marking client DOM nodes for repaint, also mark any RenderLayers
+ referring to this DOM tree via filters as needing repaint.
+ (WebCore::RenderSVGResourceContainer::addClientRenderLayer):
+ (WebCore::RenderSVGResourceContainer::removeClientRenderLayer):
+ * rendering/svg/RenderSVGResourceContainer.h:
+ Maintain a list of RenderLayer clients on each SVG resource container,
+ and turn SVG DOM repaint notifications into filter repaint (CSS)
+ notifications.
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::buildPrimitives):
+ Construct a SourceGraphic and SourceAlpha node explicitly for the
+ SVG builder case.
+ * svg/graphics/filters/SVGFilterBuilder.cpp:
+ (WebCore::SVGFilterBuilder::SVGFilterBuilder):
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ (WebCore::SVGFilterBuilder::create):
+ Add the SourceGraphic and SourceAlpha as parameters to the constructor
+ and create() methods, so they can be supplied by the caller.
+
+2012-06-28 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] CTFontCopyTable of MacOSX10.5 SDK doesn't work for layout tables
+ https://bugs.webkit.org/show_bug.cgi?id=90235
+
+ Reviewed by Kent Tamura.
+
+ Use CGFontCopyTableForTag instead.
+
+ No new tests. css3/font-feature-settings-rendering.html should pass. I'll rebase expectations once bots get the result.
+
+ * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp:
+ (WebCore::harfbuzzCoreTextGetTable):
+
+2012-06-28 Philip Rogers <pdr@google.com>
+
+ Add preventative assert in SVGTRefElement
+ https://bugs.webkit.org/show_bug.cgi?id=90203
+
+ Reviewed by Abhishek Arya.
+
+ SVGTRefElement::detachTarget() adds a pending resource via addPendingResource.
+ Due to some recent bugs in this area, an assert is being added to prevent
+ users from calling detachTarget when not in a document. Doing
+ so would create a bug such as in WK90042.
+
+ This assert will not fire currently because detachTarget is only called after
+ a DOMNodeRemovedFromDocumentEvent event fires, which only comes from
+ dispatchChildRemovalEvents when the node is in a document.
+
+ * svg/SVGTRefElement.cpp:
+ (WebCore::SVGTRefElement::detachTarget):
+
+2012-06-28 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
+
+ [Qt] Remove unnecessary AffineTransform calls
+ https://bugs.webkit.org/show_bug.cgi?id=90178
+
+ Reviewed by Noam Rosenthal.
+
+ Qt currently ignores the const AffineTransform& parameter on
+ Pattern::createPlatformPattern, so removing it from all its Qt calls and
+ changing the function signature if platform is Qt.
+
+ * platform/graphics/Pattern.h:
+ (Pattern):
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::fillPenForContext):
+ (WebCore::strokePenForContext):
+ * platform/graphics/qt/FontQt4.cpp:
+ (WebCore::fillPenForContext):
+ (WebCore::strokePenForContext):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::drawRepeatPattern):
+ * platform/graphics/qt/PatternQt.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+
+2012-06-28 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ [Qt] When uploading an opaque image to a texture for TextureMapper, unnecessary alpha operations take place
+ https://bugs.webkit.org/show_bug.cgi?id=90229
+
+ Reviewed by Luiz Agostini.
+
+ For opaque web content in WebKit2, we use the RGB32 image format. When we special-case
+ it in GraphicsContext3DQt, we can avoid any alpha operations and perform a regular copy.
+
+ Covered existing API tests, as this code path is always used when rendering.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+
+2012-06-28 James Robinson <jamesr@chromium.org>
+
+ [chromium] Compile chromium compositor implementation files into separate .lib
+ https://bugs.webkit.org/show_bug.cgi?id=90233
+
+ Reviewed by Adam Barth.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2012-06-28 Erik Arvidsson <arv@chromium.org>
+
+ [V8] NodeList wrappers are not kept alive as needed
+ https://bugs.webkit.org/show_bug.cgi?id=90194
+
+ Reviewed by Ojan Vafai.
+
+ We need to add custom reachability code for DynamicNodeLists. If the owner of
+ a DynamicNodeList is reachable then the DynamicNodeList must also be reachable.
+
+ Test: fast/dom/NodeList/nodelist-reachable.html
+
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::V8NodeList::visitDOMWrapper): AddImplicitReferences from the owner wrapper.
+ (WebCore):
+ * dom/NodeList.idl:
+
+2012-06-28 Elliott Sprehn <esprehn@gmail.com>
+
+ frameborder="no" on frameset is ignored if border attribute set
+ https://bugs.webkit.org/show_bug.cgi?id=17767
+
+ Reviewed by Tony Chang.
+
+ Fixes <frameset> frameborder and border handling. Previously we'd
+ override the frameborder=no setting if border was set. We also
+ treated frameborder="anything" the same as frameborder=0 since we
+ we just converted it to a number so frameborder=yes was incorrectly
+ treated the same as frameborder=no.
+
+ Tests: fast/frames/frameset-frameborder-boolean-values.html
+ fast/frames/frameset-frameborder-inheritance.html
+ fast/frames/frameset-frameborder-overrides-border.html
+
+ * html/HTMLFrameSetElement.cpp: Proper parsing of yes,no,1,0 values.
+ (WebCore::HTMLFrameSetElement::parseAttribute):
+ * html/HTMLFrameSetElement.h:
+ (WebCore::HTMLFrameSetElement::border): Border should be 0 if frameborder=no.
+
+2012-06-28 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Implement IDBTransaction internal active flag
+ https://bugs.webkit.org/show_bug.cgi?id=89379
+
+ Reviewed by Tony Chang.
+
+ IDB transactions should only be "active" during IDB success/error callbacks;
+ attempts to make new requests otherwise (e.g. in a setTimeout callback)
+ should fail even if the transaction has not yet finished. Implement this logic,
+ and the closely related requirement that transactions are deactivated when
+ the context they were created in returns to the event loop, and finally that
+ when so deactivated they should commit rather than abort (as previously
+ implemented) if no requests have been filed.
+
+ Tests: storage/indexeddb/transaction-active-flag.html
+ storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html
+ storage/indexeddb/transaction-complete-with-js-recursion.html
+ storage/indexeddb/transaction-complete-workers.html
+
+ * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: Simplify API.
+ (WebCore::transactions):
+ (WebCore::IDBPendingTransactionMonitor::addNewTransaction):
+ (WebCore::IDBPendingTransactionMonitor::deactivateNewTransactions):
+ * Modules/indexeddb/IDBPendingTransactionMonitor.h:
+ (WebCore):
+ (IDBPendingTransactionMonitor):
+ * Modules/indexeddb/IDBRequest.cpp: Unregisters from transaction when done,
+ not on destruction. No longer responsible for working with the pending monitor.
+ (WebCore::IDBRequest::IDBRequest):
+ (WebCore::IDBRequest::~IDBRequest):
+ (WebCore::IDBRequest::markEarlyDeath):
+ (WebCore::IDBRequest::resetReadyState):
+ (WebCore::IDBRequest::onSuccess):
+ (WebCore::IDBRequest::dispatchEvent): Set active flag on transaction during callback.
+ * Modules/indexeddb/IDBTransaction.cpp: Use state enum to better track lifecycle, and
+ take ownership of relationship with pending monitor.
+ (WebCore::IDBTransaction::IDBTransaction): Special cases for version change
+ transactions.
+ (WebCore::IDBTransaction::~IDBTransaction):
+ (WebCore::IDBTransaction::error):
+ (WebCore::IDBTransaction::setError):
+ (WebCore::IDBTransaction::objectStore):
+ (WebCore::IDBTransaction::objectStoreCreated):
+ (WebCore::IDBTransaction::objectStoreDeleted):
+ (WebCore::IDBTransaction::setActive): Let IDBRequest and IDBPendingTransactionMonitor
+ toggle the active state. Needs some smarts because (1) state may move to Finishing during
+ the request's dispatch phase due to an implicit/explicit abort, and (2) a monitor call
+ will only trigger a commit if the transaction hasn't had any requests filed.
+ (WebCore):
+ (WebCore::IDBTransaction::abort):
+ (WebCore::IDBTransaction::registerRequest):
+ (WebCore::IDBTransaction::unregisterRequest):
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::onComplete):
+ (WebCore::IDBTransaction::hasPendingActivity):
+ (WebCore::IDBTransaction::dispatchEvent):
+ (WebCore::IDBTransaction::canSuspend):
+ (WebCore::IDBTransaction::enqueueEvent):
+ * Modules/indexeddb/IDBTransaction.h:
+ (WebCore::IDBTransaction::isFinished):
+ (IDBTransaction):
+ * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
+ (WebCore::IDBTransactionBackendImpl::commit): Allow explicit commit() calls from the front end
+ if no requests have been filed.
+ * Modules/indexeddb/IDBTransactionBackendInterface.h:
+ (IDBTransactionBackendInterface): Expose commit() method.
+ * bindings/js/JSMainThreadExecState.cpp:
+ (WebCore::JSMainThreadExecState::didLeaveScriptContext): Change target function name.
+ * bindings/v8/V8RecursionScope.cpp:
+ (WebCore::V8RecursionScope::didLeaveScriptContext): Change target function name.
+
+2012-06-28 Philip Rogers <pdr@google.com>
+
+ Prevent crash in animate resource handling
+ https://bugs.webkit.org/show_bug.cgi?id=90042
+
+ Reviewed by Abhishek Arya.
+
+ This patch adds a check that we are in a document before registering animation
+ resources and creating a target element in SVGSMILElement. This prevents a crash where
+ we would register resources and create the target when we were not in a document
+ but fail to deregister / reset the target when we were removed from a document.
+ In failing to reset the target, we can crash when trying to deregister resources that
+ were not created after being inserted into a document and then removed.
+
+ The existence of m_targetResources and registered animation resources is now
+ tied to being in a document.
+
+ Test: svg/custom/animate-reference-crash.html
+
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::targetElement):
+
+2012-06-28 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: IDBDatabase should have a close pending field.
+ https://bugs.webkit.org/show_bug.cgi?id=71129
+
+ Reviewed by Tony Chang.
+
+ Handle the IDB spec case that "versionchange" events should not be fired
+ against connections that have the internal "closePending" flag set but
+ are not yet closed due to running transactions.
+
+ Test: storage/indexeddb/database-closepending-flag.html
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::onVersionChange):
+
+2012-06-28 Adrienne Walker <enne@google.com>
+
+ [chromium] Split WebScrollbar into WebPluginScrollbar and WebScrollbar
+ https://bugs.webkit.org/show_bug.cgi?id=90117
+
+ Reviewed by James Robinson.
+
+ Make WebCore also depend on Platform.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2012-06-28 Hayato Ito <hayato@chromium.org>
+
+ CompositeShadowTreeWalker should use InsertionPoint::hasDistribution() instead of InsertionPoint::isActive().
+ https://bugs.webkit.org/show_bug.cgi?id=89177
+
+ Reviewed by Dimitri Glazkov.
+
+ Prevents ComposedShadowTreeWalker from escaping out of an
+ insertion point (which has distributed nodes) from a non-used
+ fallback element in the insertion point. Such a fallback element
+ should be treated as in an orphaned subtree.
+
+ ComposedShadowTreeParentWalker will be also fixed in a follow-up patch.
+
+ Test: fast/dom/shadow/composed-shadow-tree-walker.html
+
+ * dom/ComposedShadowTreeWalker.cpp:
+ (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
+
+2012-06-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Cleanup HTMLFormCollection
+ https://bugs.webkit.org/show_bug.cgi?id=90111
+
+ Reviewed by Andreas Kling.
+
+ Got rid of getNamedItem and renamed getNamedFormItem to firstNamedItem and got rid of duplicateNumber argument since
+ it's always 0. Also made it a static local function. In addition, removed nextItem() since it's not used anywhere.
+
+ WebKit API Test: WebKit1.HTMLFormCollectionNamedItemTest
+
+ * html/HTMLFormCollection.cpp:
+ (WebCore::firstNamedItem):
+ (WebCore):
+ (WebCore::HTMLFormCollection::namedItem):
+ * html/HTMLFormCollection.h:
+ (HTMLFormCollection):
+
+2012-06-28 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Hook up render-side key ASSERTing for get()
+ https://bugs.webkit.org/show_bug.cgi?id=90001
+
+ Reviewed by Tony Chang.
+
+ Hook up the new onSuccess and add it to the interface. For now,
+ simply assert that the right value is set. Add the same assertion
+ logic in the value-construction logic when the cursor advances.
+
+ No new tests, existing tests verify this refactor is correct.
+
+ * Modules/indexeddb/IDBCallbacks.h:
+ (IDBCallbacks):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::getInternal):
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore):
+ (WebCore::IDBRequest::onSuccess):
+ * Modules/indexeddb/IDBRequest.h:
+ * bindings/v8/IDBBindingUtilities.cpp:
+ (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+
+2012-06-28 Gregg Tavares <gman@google.com>
+
+ Add support for DEPTH_STENCIL to WEBGL_depth_texture
+ https://bugs.webkit.org/show_bug.cgi?id=90109
+
+ Reviewed by Kenneth Russell.
+
+ * html/canvas/WebGLDepthTexture.idl:
+ * html/canvas/WebGLFramebuffer.cpp:
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
+
+2012-06-28 James Robinson <jamesr@chromium.org>
+
+ [chromium] Move chromium compositor implementation files into separate section in WebCore.gypi
+ https://bugs.webkit.org/show_bug.cgi?id=90201
+
+ Reviewed by Adam Barth.
+
+ This moves the chromium compositor implementation files to a separate gyp variable to make future changes
+ easier. The files still all link into webcore_platform.lib, as before.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-06-28 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Use Eina_Module API instead of dlopen in PluginPackageEfl
+ https://bugs.webkit.org/show_bug.cgi?id=89972
+
+ Reviewed by Antonio Gomes.
+
+ Use convenience helpers in Eina_Module to load plugins instead
+ of POSIX dlopen().
+
+ No new tests, behavior has not changed.
+
+ * platform/FileSystem.h:
+ (WebCore):
+ * platform/efl/FileSystemEfl.cpp:
+ (WebCore::unloadModule):
+ * plugins/efl/PluginPackageEfl.cpp:
+ (WebCore::PluginPackage::load):
+
+2012-06-28 Jocelyn Turcotte <turcotte.j@gmail.com>
+
+ [Qt] Fix TextureMapper rendering of GraphicsSurface on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=90154
+
+ Reviewed by Noam Rosenthal.
+
+ Fix a regression introduced in r120608.
+ texture2DRect takes texel coordinates, unlike texture2D which needs normalized coordinates.
+
+ Pass an additional textureSize uniform and multiply it by the normalized coordinates.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawTextureRectangleARB):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (WebCore::TextureMapperShaderProgram::textureSizeLocation):
+ (TextureMapperShaderProgram):
+
+2012-06-28 Simon Fraser <simon.fraser@apple.com>
+
+ Improve compositing logging output
+ https://bugs.webkit.org/show_bug.cgi?id=90199
+
+ Reviewed by Tim Horton (w00t!).
+
+ Improve the compositing logging channel output in a few
+ useful ways:
+ 1. Report memory use, rather than megapixels
+ 2. Show element class names
+
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::backingStoreMemoryEstimate):
+ * platform/graphics/GraphicsLayer.h:
+ (GraphicsLayer):
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::backingStoreMemoryEstimate):
+ * platform/graphics/ca/GraphicsLayerCA.h:
+ (GraphicsLayerCA):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::nameForLayer):
+ (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::RenderLayerCompositor):
+ (WebCore::RenderLayerCompositor::updateCompositingLayers):
+ (WebCore::RenderLayerCompositor::logLayerInfo):
+ (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
+ * rendering/RenderLayerCompositor.h:
+ (RenderLayerCompositor):
+
+2012-06-28 James Robinson <jamesr@chromium.org>
+
+ [chromium] Fix up more includes in compositor code
+ https://bugs.webkit.org/show_bug.cgi?id=90200
+
+ Reviewed by Adrienne Walker.
+
+ Adds includes we are using and removes ones that we aren't using.
+
+ * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ * platform/graphics/chromium/ProgramBinding.cpp:
+ * platform/graphics/chromium/RenderSurfaceChromium.cpp:
+ * platform/graphics/chromium/cc/CCGraphicsContext.h:
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ (WebCore):
+ * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
+
+2012-06-28 Andrei Onea <onea@adobe.com>
+
+ [CSSRegions]Rename NamedFlow::contentNodes to NamedFlow::getContent()
+ https://bugs.webkit.org/show_bug.cgi?id=90163
+
+ Reviewed by Andreas Kling.
+
+ Latest CSS Regions spec defines the NamedFlow interface as having a function named getContent,
+ rather than an attribute named contentNodes.
+ http://www.w3.org/TR/css3-regions/#the-namedflow-interface
+
+ Test: fast/regions/webkit-named-flow-get-content.html
+
+ * dom/WebKitNamedFlow.cpp:
+ (WebCore::WebKitNamedFlow::getContent):
+ * dom/WebKitNamedFlow.h:
+ (WebKitNamedFlow):
+ * dom/WebKitNamedFlow.idl:
+
+2012-06-28 Ryosuke Niwa <rniwa@webkit.org>
+
+ REGRESSION(r121232): named properties on document and window may return wrong object
+ https://bugs.webkit.org/show_bug.cgi?id=90133
+
+ Reviewed by Andreas Kling.
+
+ Fixed the bug. Also replaced hasAnyItem by isEmpty (hasAnyItem() is equivalent to !isEmpty()).
+
+ Test: fast/dom/HTMLDocument/named-item-multiple-match.html
+
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::nameGetter):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::V8HTMLDocument::GetNamedProperty):
+ * html/HTMLCollection.h:
+ (WebCore::HTMLCollection::isEmpty):
+ (WebCore::HTMLCollection::hasExactlyOneItem):
+
+2012-06-28 Zeev Lieber <zlieber@chromium.org>
+
+ [Skia] Computing the resampling mode ignores scale applied to the canvas
+ https://bugs.webkit.org/show_bug.cgi?id=72073
+
+ Reviewed by Stephen White.
+
+ Re-basing earlier patch by Daniel Sievers; updated tests.
+
+ Take into account canvas scale when computing image resampling mode.
+
+ When drawing a bitmap and computing the best resampling mode based
+ on the requested scale, take into account CSS scale and page scale
+ that are applied to the canvas. This allows for single-pass scaling
+ in potentially better quality (RESAMPLE_AWESOME) and also takes
+ better advantage of the scaled image cache in that codepath.
+
+ Existing tests updated to expect different resampling method (and
+ therefore a different image) whenever canvas scaling changes.
+
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::paintSkBitmap):
+
+2012-06-28 James Robinson <jamesr@chromium.org>
+
+ [chromium] Should schedule a commit when dropping contents textures
+ https://bugs.webkit.org/show_bug.cgi?id=90031
+
+ Reviewed by Adrienne Walker.
+
+ If we're dropping contents textures on the impl thread, we need to schedule a commit to pick up new contents at
+ the next commit opportunity. Also adds some traces to make debugging issues like this easier.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::commitComplete):
+ (WebCore::CCLayerTreeHostImpl::canDraw):
+ (WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::processScheduledActions):
+
+2012-06-28 Antti Koivisto <antti@apple.com>
+
+ Don't malloc RenderGeometryMap steps individually
+ https://bugs.webkit.org/show_bug.cgi?id=90074
+
+ Reviewed by Simon Fraser.
+
+ Mallocs and frees for steps under RenderGeometryMap::pus/popMappingsToAncestor can total ~2% of the profile when animating transforms.
+
+ * rendering/RenderGeometryMap.cpp:
+ (WebCore):
+ (WebCore::RenderGeometryMap::absolutePoint):
+ (WebCore::RenderGeometryMap::absoluteRect):
+ (WebCore::RenderGeometryMap::mapToAbsolute):
+ (WebCore::RenderGeometryMap::push):
+ (WebCore::RenderGeometryMap::pushView):
+ (WebCore::RenderGeometryMap::popMappingsToAncestor):
+ * rendering/RenderGeometryMap.h:
+ (WebCore):
+ (WebCore::RenderGeometryMapStep::RenderGeometryMapStep):
+
+ Move to header.
+
+ (RenderGeometryMapStep):
+ (RenderGeometryMap):
+
+ Make the step vector hold RenderGeometryMapSteps instead of RenderGeometryMapStep*'s.
+
+ (WTF):
+
+ Give RenderGeometryMapSteps SimpleClassVectorTraits. This is needed for dealing with OwnPtr in the struct (and makes it faster too).
+ The type is simple enought to move by memcpy.
+
+2012-06-28 Kalev Lember <kalevlember@gmail.com>
+
+ [GTK] Remove Windows support from plugins/gtk/
+ https://bugs.webkit.org/show_bug.cgi?id=89501
+
+ Reviewed by Martin Robinson.
+
+ The GTK+ port now uses plugins/gtk/ on Windows, which leaves
+ PluginPackageGtk.cpp and PluginViewGtk.cpp solely for XP_UNIX platforms.
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+ (WebCore::webkitgtkXError):
+ (WebCore::PluginPackage::load):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::getRootWindow):
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::setXCrossingEventSpecificFields):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::handleFocusOutEvent):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::platformGetValueStatic):
+ (WebCore::PluginView::platformGetValue):
+ (WebCore::getPluginDisplay):
+ (WebCore::getVisualAndColormap):
+ (WebCore::PluginView::platformStart):
+ (WebCore::PluginView::platformDestroy):
+
+2012-06-28 Simon Fraser <simon.fraser@apple.com>
+
+ Change FrameView::scrollContentsFastPath to use m_fixedObjects
+ https://bugs.webkit.org/show_bug.cgi?id=90045
+
+ Reviewed by James Robinson.
+
+ FrameView now has a hash set of fixed-position objects, so use
+ that instead of RenderBlock::positionedObjects(); we'll avoid traversing
+ through absolutely positioned objects, and this will work better for sticky
+ positioning in future.
+
+ No behavior change, so no new tests.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollContentsFastPath):
+
+2012-06-28 Tony Chang <tony@chromium.org>
+
+ Split flex into flex-grow/flex-shrink/flex-basis
+ https://bugs.webkit.org/show_bug.cgi?id=86525
+
+ Reviewed by Ojan Vafai.
+
+ Split flex into 3 separate properties per the spec:
+ http://dev.w3.org/csswg/css3-flexbox/#flex-components
+
+ Tests: css3/flexbox/flex-longhand-parsing.html
+ css3/flexbox/flex-property-parsing.html: Updated test results.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore): -webkit-flex is no longer enumerable.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add new css property names and use
+ getCSSPropertyValuesForShorthandProperties for WebkitFlex. Also sort flex propery names.
+ * css/CSSParser.cpp:
+ (WebCore::isValidKeywordPropertyAndValue): Fix indent.
+ (WebCore::CSSParser::parseValue): Add parsing for new properties and handle -webkit-flex: none.
+ (WebCore::CSSParser::parseFlex): Switch to new names (positive -> grow, negative -> shrink,
+ preferred size -> basis) and assign to longhand properties.
+ * css/CSSParser.h:
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty): Add new properties.
+ * css/CSSPropertyNames.in: Add new properties.
+ * css/StyleBuilder.cpp:
+ (WebCore::StyleBuilder::StyleBuilder): Delete special handling of applying flex and just use shorthand handlers.
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::getPropertyValue): Add new shorthand.
+ (WebCore::StylePropertySet::asText):
+ * css/StylePropertyShorthand.cpp:
+ (WebCore::webkitFlexShorthand): Add new shorthand.
+ (WebCore::shorthandForProperty):
+ * css/StylePropertyShorthand.h:
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList): Add to list of properties applied by StyleBuilder.
+ Handle initial and inherit for flex.
+
+2012-06-28 Kalev Lember <kalevlember@gmail.com>
+
+ [GTK][Win]: Fix plugin drawing to an offscreen buffer
+ https://bugs.webkit.org/show_bug.cgi?id=89499
+
+ Reviewed by Brent Fulgham.
+
+ Take into account that the GTK+ port draws to a backing store and adjust
+ the target rectangle calculation accordingly.
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::setNPWindowRect):
+
+2012-06-28 Kentaro Hara <haraken@chromium.org>
+
+ Optimize Dromaeo/dom-attr.html by speeding up Element::getAttribute()
+ https://bugs.webkit.org/show_bug.cgi?id=90174
+
+ Reviewed by Adam Barth.
+
+ This patch improves performance of Dromaeo/dom-attr.html by 4.0%.
+ The patch improves performance of getAttribute() and JavaScript
+ property setter for DOM objects (e.g. 'div.foo = 123').
+ The performance improvement becomes larger, as the number of
+ attributes defined on the DOM object increases.
+
+ Without the patch in Chromium/Linux (runs/s)
+ 7679.4, 7739.7, 7634.0, 7726.4, 7663.9
+
+ With the patch in Chromium/Linux (runs/s)
+ 7977.7, 8032.2, 8112.8, 7948.1, 7924.5
+
+ This patch just changes a type of 'name' of Element::getAttribute(String& name)
+ from String& to AtomicString&.
+
+ The key observation is that AtomicString(String& x) is faster than
+ operator==(String& x, AtomicString& y). AtomicString(String& x) calculates
+ a hash of a given String and adds it to a hash table. The calculation
+ complexity is O(the length of x). On the other hand,
+ operator==(String& x, AtomicString& y) compares a String and an AtomicString by
+ StringImpl::equal(StringImpl*, StringImpl*), the calculation complexity of
+ which is O(2 * min(the length of x, the length of y)).
+ In addition, the comparison logic is more complicated than the logic
+ of calculating the hash. Consequently, AtomicString(String& x) is
+ faster than operator==(String& x, AtomicString& y).
+
+ Keeping that in mind, let's estimate the performance of
+ Element::getAttribute("class") for <div id="A" lang="B" title="C" class="D" dir="E">.
+ Here "id", "lang", "title", "class" and "dir" are stored as AtomicStrings
+ in QualifiedName::localName(). Initially, "class" in Element::getAttribute("class")
+ is a String.
+
+ If we use Element::getAttribute(String& name) (i.e. without the patch),
+ ElementAttributeData::getAttributeItemIndex() executes four
+ operator==(String&, AtomicString&) by the time it finds the "class" attribute:
+
+ (1) if ("class" == "id") // operator==(String&, AtomicString&)
+ (2) if ("class" == "lang") // operator==(String&, AtomicString&)
+ (3) if ("class" == "title") // operator==(String&, AtomicString&)