diff options
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r-- | Source/WebCore/ChangeLog | 21802 |
1 files changed, 21802 insertions, 0 deletions
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 138082037..dde6e7578 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,21805 @@ +2012-09-10 Mike West <mkwst@chromium.org> + + Clarify the cause of console warnings generated by "cross-origin" access to sandboxed iframes. + https://bugs.webkit.org/show_bug.cgi?id=64079 + + Reviewed by Adam Barth. + + The error message generated when accessing cross-origin content is a bit + too generic at the moment, which is misleading when the "cross-origin" + nature of an access attempt isn't visible in the URLs that the error + displays. Sandboxed iframes, for example, are put into unique origins by + default, meaning that all access in or out are subject to cross-origin + restrictions, even if the resources would otherwise be same-origin. + + This patch improces the error message to explicitly point to sandboxing + as the core of cross-origin requests when relevant. It adds a single new + test to check access from parents to children, and relies on existing + tests for access in the other direction. + + Test: http/tests/security/sandboxed-iframe-blocks-access-from-parent.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::crossDomainAccessErrorMessage): + Check 'isSandboxed(SandboxOrigin)' against the document and + activeWindow when generating the error message. If one or the other + is sandboxed, make that clear in the console warning. + +2012-09-10 Tommy Widenflycht <tommyw@google.com> + + [chromium] MediaStream API: Remove the Descriptor postfix + https://bugs.webkit.org/show_bug.cgi?id=96268 + + Reviewed by Adam Barth. + + After consideration I realized that there is no need whatsoever in using the Descriptor prefix + in the WekKit embedder API. Removed from WebRTCSessionDescription and WebRTCICECandidate to start with. + + No code changes that affects functionality. + + * WebCore.gypi: + * platform/chromium/support/WebRTCICECandidate.cpp: Renamed from Source/WebCore/platform/chromium/support/WebRTCICECandidateDescriptor.cpp. + (WebKit): + (WebKit::WebRTCICECandidate::WebRTCICECandidate): + (WebKit::WebRTCICECandidate::assign): + (WebKit::WebRTCICECandidate::reset): + (WebKit::WebRTCICECandidate::initialize): + (WebKit::WebRTCICECandidate::operator PassRefPtr<WebCore::RTCIceCandidateDescriptor>): + (WebKit::WebRTCICECandidate::candidate): + (WebKit::WebRTCICECandidate::sdpMid): + (WebKit::WebRTCICECandidate::sdpMLineIndex): + * platform/chromium/support/WebRTCSessionDescription.cpp: Renamed from Source/WebCore/platform/chromium/support/WebRTCSessionDescriptionDescriptor.cpp. + (WebKit): + (WebKit::WebRTCSessionDescription::WebRTCSessionDescription): + (WebKit::WebRTCSessionDescription::assign): + (WebKit::WebRTCSessionDescription::reset): + (WebKit::WebRTCSessionDescription::operator WTF::PassRefPtr<WebCore::RTCSessionDescriptionDescriptor>): + (WebKit::WebRTCSessionDescription::initialize): + (WebKit::WebRTCSessionDescription::type): + (WebKit::WebRTCSessionDescription::setType): + (WebKit::WebRTCSessionDescription::sdp): + (WebKit::WebRTCSessionDescription::setSDP): + * platform/chromium/support/WebRTCSessionDescriptionRequest.cpp: + (WebKit::WebRTCSessionDescriptionRequest::requestSucceeded): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + (WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (WebKit): + (RTCPeerConnectionHandlerChromium): + +2012-09-10 Pavel Podivilov <podivilov@chromium.org> + + Web Inspector: support empty entries in source maps. + https://bugs.webkit.org/show_bug.cgi?id=96088 + + Reviewed by Vsevolod Vlasov. + + Empty entries should be mapped to the compiled script. + + * inspector/front-end/CompilerScriptMapping.js: + (WebInspector.CompilerScriptMapping): + (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation): + (WebInspector.CompilerScriptMapping.prototype._reset): + (WebInspector.SourceMapParser.prototype._parseMap): + +2012-09-07 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: only display heap size statistics for timeline records when it makes sense + https://bugs.webkit.org/show_bug.cgi?id=96119 + + Reviewed by Yury Semikhatsky. + + - drop totalHeapSize from timeline records; + - add usedHeapSizeDelta (not set if 0), for heap delta between start and end of the event; + - only display memory details for events of scriping category or when delta is not 0; + + * English.lproj/localizedStrings.js: + * inspector/InspectorTimelineAgent.cpp: + (WebCore::getUsedHeapSize): + (WebCore): + (WebCore::InspectorTimelineAgent::setHeapSizeStatistics): + (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): + (WebCore::InspectorTimelineAgent::pushCurrentRecord): + * inspector/InspectorTimelineAgent.h: + (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry): + (TimelineRecordEntry): + * inspector/front-end/TimelinePresentationModel.js: + (WebInspector.TimelinePresentationModel.Record.prototype.get usedHeapSizeDelta): + (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview): + +2012-09-10 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Drastically shorten length of commandline needed for JS bindings generator + https://bugs.webkit.org/show_bug.cgi?id=96266 + + Reviewed by Kenneth Rohde Christiansen. + + The generate-bindings script supports the SOURCE_ROOT environment variable for IDL include file + lookups, which allows specifying relative include search directories. + + * DerivedSources.pri: + +2012-09-10 Kevin Funk <kevin.funk@kdab.com> + + [Qt] Fix deprecation failures if QT_NO_DEPRECATED enabled + https://bugs.webkit.org/show_bug.cgi?id=96258 + + Reviewed by Simon Hausmann. + + Sync with latest changes in Qt5. + + * platform/qt/RenderThemeQt.cpp: + * platform/qt/SharedTimerQt.cpp: + +2012-09-10 Christophe Dumez <christophe.dumez@intel.com> + + [EFL] Create a toggle button for closed captions + https://bugs.webkit.org/show_bug.cgi?id=96259 + + Reviewed by Kenneth Rohde Christiansen. + + Add toggle button for closed captions to EFL's + RenderTheme. + + Test: media/video-controls-captions.html + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::edjeGroupFromFormType): + (WebCore::RenderThemeEfl::emitMediaButtonSignal): + (WebCore): + (WebCore::RenderThemeEfl::supportsClosedCaptioning): + (WebCore::RenderThemeEfl::paintMediaToggleClosedCaptionsButton): + * platform/efl/RenderThemeEfl.h: + (RenderThemeEfl): + +2012-09-10 Simon Hausmann <simon.hausmann@nokia.com> + + [TexMap] Fix compilation on Windows + https://bugs.webkit.org/show_bug.cgi?id=96257 + + Reviewed by Noam Rosenthal. + + TextureMapperGL uses near and far as variable names and unfortunately + WinDefs.h on Windows has the nasty habit of unconditionally(!) defining + near and far as empty macros. There's no way to prevent WinDefs.h from + doing so. Instead we rename the variables. (Another option would've been to + #undef) + + * platform/graphics/texmap/TextureMapperGL.cpp: + +2012-09-10 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: [Elements] Poor performance upon continuous attribute changes + https://bugs.webkit.org/show_bug.cgi?id=96252 + + Reviewed by Vsevolod Vlasov. + + The DOM tree is now updated after a non-zero timeout, and same node updates are coalesced rather than added into an array + as many times as the DOM node has been tampered with during the update interval. + + * inspector/front-end/ElementsTreeOutline.js: + * inspector/front-end/utilities.js: Implement Map.prototype.size + +2012-09-10 Mike West <mkwst@chromium.org> + + Warn authors about CSP directives ignored due to non-ASCII values. + https://bugs.webkit.org/show_bug.cgi?id=96061 + + Reviewed by Adam Barth. + + CSP defines directive values as VCHAR minus ';' and ','. Currently, we + ignore these directives completely in CSPDirectiveList::parseDirective, + but we don't warn authors. We ought to set their expectations correctly, + and help them fix issues in their policy. + + This patch adds a console warning for directives that are ignored, and + points authors to the wonderful world of percent-encoding for situations + where high-ASCII or Unicode (or whatever) characters are required. + + Test: http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii.html + + * page/ContentSecurityPolicy.cpp: + (WebCore::CSPDirectiveList::parseDirective): + Call ContentSecurityPolicy::reportInvalidDirectiveValueCharacter in + order to report ignored directives. + (WebCore::ContentSecurityPolicy::reportInvalidDirectiveValueCharacter): + (WebCore): + * page/ContentSecurityPolicy.h: + Add new error message. + +2012-09-10 Carlos Garcia Campos <cgarcia@igalia.com> + + Unreviewed. Fix make distcheck. + + * GNUmakefile.list.am: Add missing header files. + +2012-09-10 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Fix linking of QtWebKit.dll on Windows + https://bugs.webkit.org/show_bug.cgi?id=96250 + + Reviewed by Kenneth Rohde Christiansen. + + On Windows when using ANGLE, the DLL import library of EGL is called libEGL.lib instead of EGL.lib. + However as it turns out we do not need to explicitly link against EGL, because when Qt is configured with ANGLE + support it will do that automatically for us. + + * WebCore.pri: + +2012-09-10 Christophe Dumez <christophe.dumez@intel.com> + + [EFL] fast/forms/menulist-restrict-line-height.html is failing + https://bugs.webkit.org/show_bug.cgi?id=94878 + + Reviewed by Kenneth Rohde Christiansen. + + <select> element's text is no longer clipped when a CSS + line-height is specified. The fix is the same as for + Mac port in r24886. + + Test: fast/forms/menulist-restrict-line-height.html + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::adjustMenuListStyle): + +2012-09-10 Kevin Funk <kevin.funk@kdab.com> + + Replace calls to QString::fromAscii which is deprecated in Qt5 + https://bugs.webkit.org/show_bug.cgi?id=96242 + + Reviewed by Simon Hausmann. + + Replace with QString::fromLatin1 which does the same. + + * bridge/qt/qt_runtime.cpp: + +2012-09-09 Taiju Tsuiki <tzik@chromium.org> + + successCallback of ResolveLocalFileSystemURL should not be optional. + https://bugs.webkit.org/show_bug.cgi?id=94802 + + Reviewed by Kent Tamura. + + Spec says it should not optional. + http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURL-void-DOMString-url-EntryCallback-successCallback-ErrorCallback-errorCallback + + Tests: fast/filesystem/entry-points-missing-arguments.html + + * Modules/filesystem/DOMWindowFileSystem.idl: + * Modules/filesystem/WorkerContextFileSystem.idl: + +2012-09-09 Patrick Gansterer <paroga@webkit.org> + + Add StringBuilder::appendNumber() and use it + https://bugs.webkit.org/show_bug.cgi?id=96030 + + Reviewed by Eric Seidel. + + Also fix a bunch of append() vs. appendLiteral() issues in the surrounding code. + + * Modules/websockets/WebSocketHandshake.cpp: + (WebCore::hostName): + * bindings/v8/ScriptController.cpp: + (WebCore::resourceString): + * css/FontFeatureValue.cpp: + (WebCore::FontFeatureValue::customCssText): + * dom/Position.cpp: + (WebCore::Position::formatForDebugger): + * dom/Range.cpp: + (WebCore::Range::formatForDebugger): + * html/FormController.cpp: + (WebCore::FormKeyGenerator::formKey): + * html/HTMLAnchorElement.cpp: + (WebCore::appendServerMapMousePosition): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::font): + * inspector/IdentifiersFactory.cpp: + (WebCore::IdentifiersFactory::addProcessIdPrefixTo): + * page/FrameTree.cpp: + (WebCore::FrameTree::uniqueChildName): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::toRawString): + * platform/Decimal.cpp: + (WebCore::Decimal::toString): + * platform/network/ProxyServer.cpp: + (WebCore::appendProxyServerString): + * platform/text/TextStream.cpp: + (WebCore::TextStream::operator<<): + * platform/text/TextStream.h: + * rendering/RenderTreeAsText.cpp: + (WebCore::nodePosition): + * xml/XMLErrors.cpp: + (WebCore::XMLErrors::appendErrorMessage): + +2012-09-09 KyungTae Kim <ktf.kim@samsung.com> + + [EFL] Wrong rendering results for square-button-appearance.html + https://bugs.webkit.org/show_bug.cgi?id=85493 + + Reviewed by Gyuyoung Kim. + + A square-button is an element that has '-webkit-appearance: square-button' style. + + If it is a block element, + the RenderBlock::recomputeLogicalWidth recalculate the width from the padding values. + + But the recalculated width became wrong because the RenderThemeEfl::adjustSizeConstraints + called from RenderThemeEfl::adjustButtonStyle adds padding values for a button. + + So, the adjustSizeConstraints must not be called for a square-button(SquareButtonPart). + + Test : fast/css/square-button-appearance.html + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::adjustButtonStyle): Call adjustSizeConstrains only for PushButtonPart and ButtonPart + +2012-09-09 Jinwoo Song <jinwoo7.song@samsung.com> + + [EFL][WK2] Minibrowser locks up when right clicking editable filed + https://bugs.webkit.org/show_bug.cgi?id=96074 + + Reviewed by Gyuyoung Kim. + + WebProcess crashes when the context menu type is SubmenuType and non-CROSS_PLATFORM_CONTEXT_MENUS is used. + It is because platformSubMenu() in the ContextMenuItemEfl.cpp returns null. This patch implements the setSubMenu() + and platformSubMenu() to set and return the subMenuItems. + + * platform/efl/ContextMenuItemEfl.cpp: + (WebCore::ContextMenuItem::setSubMenu): + (WebCore::ContextMenuItem::platformSubMenu): + (WebCore): + +2012-09-09 Kangil Han <kangil.han@samsung.com> + + Pass full target idl file path to CodeGenerator as a constructor argument. + https://bugs.webkit.org/show_bug.cgi?id=96190 + + Reviewed by Kentaro Hara. + + Passing idl file path to CodeGenerator would be useful because CodeGenerator* family could manipulate it when creating derived header and cpp files. + + * bindings/scripts/CodeGenerator.pm: + (new): + (ProcessDocument): + * bindings/scripts/generate-bindings.pl: + +2012-09-09 Dan Bernstein <mitz@apple.com> + + Try to fix the build after r128006. + + * dom/Element.cpp: + (WebCore::Element::boundsInRootViewSpace): Updated for rename. + (WebCore::Element::getBoundingClientRect): Ditto. + * svg/SVGElement.cpp: + (WebCore::SVGElement::getBoundingBox): Renamed boundingBox() to this, to avoid clashing + with the virtual function on Node. The 'get' prefix also indicates that the result is + returned in an out parameter. + * svg/SVGElement.h: + (SVGElement): + +2012-09-09 Patrick Gansterer <paroga@webkit.org> + + Replace WTF::numberToString() with String::numberToStringECMAScript() + https://bugs.webkit.org/show_bug.cgi?id=96130 + + Reviewed by Benjamin Poulain. + + The String class provides a nice wrapper for this function + in the meantime, so just use it to avoid code duplication. + + * html/parser/HTMLParserIdioms.cpp: + (WebCore::serializeForNumberType): + * platform/Decimal.cpp: + (WebCore::Decimal::fromDouble): + +2012-09-09 Emil A Eklund <eae@chromium.org> + + Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect + https://bugs.webkit.org/show_bug.cgi?id=81413 + + Reviewed by David Hyatt. + + Rename Node::getRect and getPixelSnappedRect to boundingBox and + pixelSnappedBoundingBox respectively. + + Remove overridden getRect method from ContainerNode as it calculates the + same rect as the Node implementation but in a more complicated and + error-prone way. Also remove the getUpperLeftCorner/getLowerRightCorner + support functions as they are no longer needed. + + No new tests, no change in functionality. + + * accessibility/AccessibilitySlider.cpp: + (WebCore::AccessibilitySliderThumb::elementRect): + Update to call boundingBox. + + * dom/ContainerNode.cpp: + * dom/ContainerNode.h: + Remove overridden getRect method and the getUpperLeftCorner/ + getLowerRightCorner support methods . + + * dom/Element.cpp: + (WebCore::Element::scrollIntoView): + (WebCore::Element::scrollIntoViewIfNeeded): + (WebCore::Element::updateFocusAppearance): + Update to call boundingBox. + + * dom/Node.h: + * dom/Node.cpp: + (WebCore::Node::boundingBox): + Rename getRect to boundingBox. + + (WebCore::Node::pixelSnappedBoundingBox): + Rename getPixelSnappedRect to pixelSnappedBoundingBox. + + * html/ColorInputType.cpp: + (WebCore::ColorInputType::elementRectRelativeToRootView): + * html/ValidationMessage.cpp: + (WebCore::ValidationMessage::buildBubbleTree): + * html/shadow/CalendarPickerElement.cpp: + (WebCore::CalendarPickerElement::openPopup): + * html/shadow/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::startSpeechInput): + * page/FrameView.cpp: + (WebCore::FrameView::scrollElementToRect): + (WebCore::FrameView::scrollToAnchor): + * page/SpatialNavigation.cpp: + (WebCore::nodeRectInAbsoluteCoordinates): + Update to call boundingBox/pixelSnappedBoundingBox. + +2012-09-09 Christopher Cameron <ccameron@chromium.org> + + [chromium] Do not delete texture backing structures on the main thread + https://bugs.webkit.org/show_bug.cgi?id=96018 + + Reviewed by James Robinson. + + Do not delete CCPrioritizedTexture::Backing structures on the main + thread. Instead, unlink them from their owning CCPrioritizedTexture + in the main thread, and have the impl thread then delete all unlinked + textures. + + This is towards having the main thread not access the m_backings set, + which will allow the impl thread to traverse that set when deleting + resources in response to GPU memory management events. + + Tested by existing eviction tests (CCLayerTreeHostTest's + TestEvictTextures, LostContextAfterEvictTextures) + + Fix a place where single thread proxy wasn't setting the main thread + blocked state correctly. + + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::unlinkAllContentTextures): + (WebCore): + (WebCore::CCLayerTreeHost::deleteUnlinkedTextures): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (CCLayerTreeHost): + * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: + (WebCore::CCPrioritizedTextureManager::clearAllMemory): + (WebCore::CCPrioritizedTextureManager::unlinkAllBackings): + (WebCore): + (WebCore::CCPrioritizedTextureManager::deleteAllUnlinkedBackings): + * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: + (CCPrioritizedTextureManager): + * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: + (WebCore::CCSingleThreadProxy::commitAndComposite): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::beginFrame): + (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread): + +2012-09-09 Andreas Kling <kling@webkit.org> + + EventListenerMap: Use Vector instead of HashMap as backend. + <http://webkit.org/b/77982> + + Reviewed by Geoff Garen. + + Refactor EventListenerMap to store pair<AtomicString, EventListenerVector> in a Vector + instead of using key/value HashMap stores. This is much more space efficient and actually + faster since we were spending more time/effort managing the hash map than it costs us + to iterate over and compare a couple of pointers. (It's very rare to have more than + 4 different event types registered in a single EventListenerMap.) + + This gets rid of the slightly hacky optimization for nodes with listeners of a single type, + reducing the complexity of EventListenerMap greatly. + + ~1.1MB progression on Membuster. Also strong (20+ MB on larger patches) savings on WebKit + bugzilla review pages, though they don't necessarily represent a common usecase. + + * dom/EventListenerMap.cpp: + (WebCore::EventListenerMap::contains): + (WebCore::EventListenerMap::clear): + (WebCore::EventListenerMap::eventTypes): + (WebCore::EventListenerMap::add): + (WebCore::EventListenerMap::remove): + (WebCore::EventListenerMap::find): + (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup): + (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget): + (WebCore::EventListenerIterator::EventListenerIterator): + (WebCore::EventListenerIterator::nextListener): + * dom/EventListenerMap.h: + (WebCore::EventListenerMap::isEmpty): + (WebCore::EventListenerMapEntry::EventListenerMapEntry): + (EventListenerMapEntry): + (EventListenerMap): + (EventListenerIterator): + +2012-09-09 Lucas Forschler <lforschler@apple.com> + + Build Fix. <rdar://problem/12260893> + + * platform/graphics/mac/WebGLLayer.mm: + +2012-09-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127979. + http://trac.webkit.org/changeset/127979 + https://bugs.webkit.org/show_bug.cgi?id=96217 + + Appears to have broken the windows and linux builds (Requested + by jamesr_ on #webkit). + + * bindings/scripts/CodeGeneratorV8.pm: + (NativeToJSValue): + * bindings/v8/V8DOMWrapper.h: + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + (V8DOMWrapper): + +2012-09-09 James Robinson <jamesr@chromium.org> + + [chromium] webkit_platform should only be linked into the webkit target + https://bugs.webkit.org/show_bug.cgi?id=96213 + + Reviewed by Adrienne Walker. + + The Platform.gyp:webkit_platform target provides the implementation of several WEBKIT_EXPORTed symbols. It only + makes sense as a target of WebKit.gyp:webkit, other targets shouldn't directly depend on it. + + * WebCore.gyp/WebCore.gyp: + +2012-09-09 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + [EFL] Fix build break when MEDIA_STREAM is enabled. + https://bugs.webkit.org/show_bug.cgi?id=96063 + + Unreviewed. Fix build break when MEDIA_STREAM is enabled. + + * CMakeLists.txt: + +2012-09-09 Adam Barth <abarth@webkit.org> + + [V8] convertEventTargetToV8Object doesn't need to be overloaded + https://bugs.webkit.org/show_bug.cgi?id=96195 + + Reviewed by Kentaro Hara. + + WTF::getPtr solves this problem for us. + + * bindings/scripts/CodeGeneratorV8.pm: + (NativeToJSValue): + * bindings/v8/V8DOMWrapper.h: + (V8DOMWrapper): + +2012-09-09 Adam Barth <abarth@webkit.org> + + [V8] V8PerContextData holds m_context using a v8::Handle rather than a v8::Persistent + https://bugs.webkit.org/show_bug.cgi?id=96193 + + Reviewed by Kentaro Hara. + + There are two types of handles in V8: Local and Persistent. We are now + permitted to keep Local handles in the heap because they get + deallocated when the C++ stack unwinds and v8::HandleScope objects are + destructed. + + V8PerContextData holds its m_context using the non-specific v8::Handle + type. If we used a Local handle here, we'd have a memory safety + problem. Thankfully, we use a Persistent handle, which need to be + allocated and freed manually. + + This patch makes the type of V8PerContextData::m_context more specific + to ensure that we never try to store a local handle in this variable. + This patch should not have any behavior change because we were already + storing a Persistent handle. + + * bindings/v8/V8PerContextData.h: + (WebCore::V8PerContextData::create): + (WebCore::V8PerContextData::V8PerContextData): + (V8PerContextData): + +2012-09-09 Adam Barth <abarth@webkit.org> + + [V8] V8DOMWindowShell does not need to be RefCounted + https://bugs.webkit.org/show_bug.cgi?id=96192 + + Reviewed by Kentaro Hara. + + V8DOMWindowShell holds a raw Frame pointer, which would point to + unallocated memory if any object that wasn't owned by the frame took a + reference to a V8DOMWindowShell. Thankfully, the only object that takes + a reference to the V8DOMWindowShell is ScriptController, which is owned + by the Frame. + + This patch stops V8DOMWindowShell from being RefCounted so that no + other objects are tempted to take a reference to it in the future. + + * bindings/v8/ScriptController.h: + (ScriptController): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::create): + * bindings/v8/V8DOMWindowShell.h: + (V8DOMWindowShell): + +2012-09-08 Adam Barth <abarth@webkit.org> + + [V8] unsafeHandleToCurrentWorldContext doesn't need to exist + https://bugs.webkit.org/show_bug.cgi?id=96191 + + Reviewed by Kentaro Hara. + + Previously, we used this function when instantiating DOM wrappers. Now + we get the context from the creationContext, so we don't need access to + this unsafe handle. This patch inlines the function into its one other + caller. + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::currentWorldContext): + * bindings/v8/ScriptController.h: + (ScriptController): + +2012-09-08 Benjamin Poulain <bpoulain@apple.com> + + Specialize nextBreakablePosition depending on breakNBSP + https://bugs.webkit.org/show_bug.cgi?id=96042 + + Reviewed by Eric Seidel. + + The speed of isBreakableSpace() is limited by the speed of the inner loop of nextBreakablePosition(). + The branches done to handle noBreakSpace can be simplified outside the loop + to reduce the number of tests inside the loop. + + This patch split the code of nextBreakablePosition() in two function, depending if breakNBSP is true + or false. + + If breakNBSP is true, isBreakableSpace() would return true on noBreakSpace. + ->There is no need to test that value again for needsLineBreakIterator(). + ->There is no need to special case the switch() of isBreakableSpace() for noBreakSpace. + + If breakNBSP is false: + ->isBreakableSpace() does not need to test for noBreakSpace. + + On x86_64, this improves PerformanceTests/Layout/line-layout.html by 2.8%. + + * rendering/break_lines.cpp: + (WebCore::isBreakableSpace): + (WebCore::nextBreakablePositionIgnoringNBSP): + (WebCore::nextBreakablePosition): + * rendering/break_lines.h: + (WebCore::isBreakable): Remove the default value for breakNBSP, no caller is using it. + +2012-09-08 Adam Barth <abarth@chromium.org> + + [V8] DOM wrapper creation involves a bunch of sketchy code related to finding the Frame + https://bugs.webkit.org/show_bug.cgi?id=96147 + + Reviewed by Eric Seidel. + + Previously, we used the Frame when instantiating DOM wrappers. That's + sketchy because not all DOM wrappers know how to find their Frame, and + the Frame might be displaying a different document now anyway. This + patch now gets all the information directly from the creation context. + + In addition, this patch gets the proper creation context in a few more + cases, including Location. + + * bindings/scripts/CodeGeneratorV8.pm: + (GetInternalFields): + (GenerateNormalAttrGetter): + (GenerateToV8Converters): + (GenerateFunctionCallString): + (NativeToJSValue): + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::Float64ArrayV8Internal::fooCallback): + (WebCore::V8Float64Array::wrapSlow): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::wrapSlow): + * bindings/scripts/test/V8/V8TestCallback.cpp: + (WebCore::V8TestCallback::callbackWithClass1Param): + (WebCore::V8TestCallback::callbackWithClass2Param): + (WebCore::V8TestCallback::callbackWithStringList): + (WebCore::V8TestCallback::callbackRequiresThisToPass): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: + (WebCore::V8TestCustomNamedGetter::wrapSlow): + * bindings/scripts/test/V8/V8TestEventConstructor.cpp: + (WebCore::V8TestEventConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestEventTarget.cpp: + (WebCore::TestEventTargetV8Internal::itemCallback): + (WebCore::V8TestEventTarget::wrapSlow): + * bindings/scripts/test/V8/V8TestException.cpp: + (WebCore::V8TestException::wrapSlow): + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter): + (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback): + (WebCore::V8TestInterface::wrapSlow): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::wrapSlow): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::wrapSlow): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjV8Internal::testObjAttrAttrGetter): + (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter): + (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter): + (WebCore::TestObjV8Internal::contentDocumentAttrGetter): + (WebCore::TestObjV8Internal::objMethodCallback): + (WebCore::TestObjV8Internal::objMethodWithArgsCallback): + (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback): + (WebCore::TestObjV8Internal::withScriptStateObjCallback): + (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback): + (WebCore::TestObjV8Internal::getSVGDocumentCallback): + (WebCore::TestObjV8Internal::strictFunctionCallback): + (WebCore::V8TestObj::wrapSlow): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::disposeContext): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::instantiateV8Object): + * bindings/v8/V8DOMWrapper.h: + (V8DOMWrapper): + * bindings/v8/V8PerContextData.cpp: + (WebCore): + (WebCore::V8PerContextData::current): + (WebCore::V8PerContextData::dispose): + (WebCore::V8PerContextData::init): + * bindings/v8/V8PerContextData.h: + (V8PerContextData): + +2012-09-08 Arvid Nilsson <anilsson@rim.com> + + [CSS Shaders] [BlackBerry] Refactor CustomFilterMesh and CustomFilter*Program + https://bugs.webkit.org/show_bug.cgi?id=94725 + + Reviewed by George Staikos. + + Separate the MeshGenerator from the CustomFilterMesh into + CustomFilterMeshGenerator.h/cpp. This allows the BlackBerry port to + reuse the mesh generator in its accelerated compositing implementation. + + Also add support for creating a "PlatformCompiledProgram" from a + CustomFilterValidatedProgram, so the BlackBerry port can reuse the + shader validation code in its accelerated compositing implementation. + + It turns out the GraphicsContext3D is not needed for ANGLE to function, + so this patch removes an ASSERT that required a context before + validating the shaders using ANGLE. This allows the BlackBerry port to + reuse the validation code without triggering the assert. In the future, + the validation code could be moved to a separate class to make it more + obvious that it isn't really related to GraphicsContext3D. + + In general, this refactoring can be useful for any port that uses + OpenGL to implement accelerated compositing. + + Inspired by an original patch by Joshua Netterfield. + + No new tests, because this patch implements no new functionality. + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/filters/CustomFilterGlobalContext.cpp: + (WebCore::CustomFilterGlobalContext::getValidatedProgram): + * platform/graphics/filters/CustomFilterMesh.cpp: + (WebCore::CustomFilterMesh::CustomFilterMesh): + * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Added. + (WebCore): + (WebCore::CustomFilterMeshGenerator::CustomFilterMeshGenerator): + (WebCore::CustomFilterMeshGenerator::addAttachedMeshIndex): + (WebCore::CustomFilterMeshGenerator::generateAttachedMesh): + (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAndIndex): + (WebCore::CustomFilterMeshGenerator::generateDetachedMesh): + (WebCore::CustomFilterMeshGenerator::addPositionAttribute): + (WebCore::CustomFilterMeshGenerator::addTexCoordAttribute): + (WebCore::CustomFilterMeshGenerator::addMeshCoordAttribute): + (WebCore::CustomFilterMeshGenerator::addTriangleCoordAttribute): + (WebCore::CustomFilterMeshGenerator::addAttachedMeshVertexAttributes): + (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAttributes): + (WebCore::CustomFilterMeshGenerator::dumpBuffers): + * platform/graphics/filters/CustomFilterMeshGenerator.h: Added. + (WebCore): + (CustomFilterMeshGenerator): + (WebCore::CustomFilterMeshGenerator::vertices): + (WebCore::CustomFilterMeshGenerator::indices): + (WebCore::CustomFilterMeshGenerator::points): + (WebCore::CustomFilterMeshGenerator::pointsCount): + (WebCore::CustomFilterMeshGenerator::tiles): + (WebCore::CustomFilterMeshGenerator::tilesCount): + (WebCore::CustomFilterMeshGenerator::indicesCount): + (WebCore::CustomFilterMeshGenerator::floatsPerVertex): + (WebCore::CustomFilterMeshGenerator::verticesCount): + (WebCore::CustomFilterMeshGenerator::addTile): + * platform/graphics/filters/CustomFilterValidatedProgram.cpp: + (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram): + (WebCore::CustomFilterValidatedProgram::compiledProgram): + (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram): + (WebCore): + (WebCore::CustomFilterValidatedProgram::platformCompiledProgram): + (WebCore::CustomFilterValidatedProgram::platformDestroy): + * platform/graphics/filters/CustomFilterValidatedProgram.h: + (WebCore): + (CustomFilterValidatedProgram): + * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Added. + (WebCore): + (WebCore::CustomFilterValidatedProgram::platformCompiledProgram): + (WebCore::CustomFilterValidatedProgram::platformDestroy): + +2012-09-07 Simon Hausmann <simon.hausmann@nokia.com> + + Fix the build of OpenGLShims on Windows + https://bugs.webkit.org/show_bug.cgi?id=96123 + + Reviewed by Kenneth Rohde Christiansen. + + OpenGL functions on Windows are generally defined as __stdcall, so we need to make sure + that we declare our own "copies" of those functions with the same calling convention. + + This is also required for the situation where we build against ANGLE, because then we + initialize the function table entries with a direct assignment (entry = ::glMyFunction()) + and the assignment does not compile if the types don't match, i.e. if RHS has a different + calling convention than LHS. + + The approach chosen is basically the same as in the Khronos headers, + using a GLAPIENTRY macro. + + * platform/graphics/OpenGLShims.h: + +2012-09-07 Benjamin Poulain <bpoulain@apple.com> + + Rename the ustring() accessor to string() + https://bugs.webkit.org/show_bug.cgi?id=95919 + + Reviewed by Geoffrey Garen. + + * bindings/js/Dictionary.cpp: + (WebCore::Dictionary::getOwnPropertiesAsStringHashMap): + (WebCore::Dictionary::getOwnPropertyNames): + * bindings/js/SerializedScriptValue.cpp: + Simplify a few String constructions which were still using type conversion + through StringImpl. + + (WebCore::CloneSerializer::write): + (WebCore::CloneDeserializer::CachedString::string): + (WebCore::CloneDeserializer::readFile): + (WebCore::CloneDeserializer::readTerminal): + (WebCore::CloneDeserializer::deserialize): + * bridge/NP_jsobject.cpp: + (_NPN_Enumerate): + +2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127955. + http://trac.webkit.org/changeset/127955 + https://bugs.webkit.org/show_bug.cgi?id=96174 + + Hits an ASSERT (Requested by abarth on #webkit). + + * bindings/scripts/CodeGeneratorV8.pm: + (GetInternalFields): + (GenerateNormalAttrGetter): + (GenerateToV8Converters): + (GenerateFunctionCallString): + (NativeToJSValue): + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::Float64ArrayV8Internal::fooCallback): + (WebCore::V8Float64Array::wrapSlow): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::wrapSlow): + * bindings/scripts/test/V8/V8TestCallback.cpp: + (WebCore::V8TestCallback::callbackWithClass1Param): + (WebCore::V8TestCallback::callbackWithClass2Param): + (WebCore::V8TestCallback::callbackWithStringList): + (WebCore::V8TestCallback::callbackRequiresThisToPass): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: + (WebCore::V8TestCustomNamedGetter::wrapSlow): + * bindings/scripts/test/V8/V8TestEventConstructor.cpp: + (WebCore::V8TestEventConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestEventTarget.cpp: + (WebCore::TestEventTargetV8Internal::itemCallback): + (WebCore::V8TestEventTarget::wrapSlow): + * bindings/scripts/test/V8/V8TestException.cpp: + (WebCore::V8TestException::wrapSlow): + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter): + (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback): + (WebCore::V8TestInterface::wrapSlow): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::wrapSlow): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::wrapSlow): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjV8Internal::testObjAttrAttrGetter): + (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter): + (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter): + (WebCore::TestObjV8Internal::contentDocumentAttrGetter): + (WebCore::TestObjV8Internal::objMethodCallback): + (WebCore::TestObjV8Internal::objMethodWithArgsCallback): + (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback): + (WebCore::TestObjV8Internal::withScriptStateObjCallback): + (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback): + (WebCore::TestObjV8Internal::getSVGDocumentCallback): + (WebCore::TestObjV8Internal::strictFunctionCallback): + (WebCore::V8TestObj::wrapSlow): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::disposeContext): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::instantiateV8Object): + * bindings/v8/V8DOMWrapper.h: + (V8DOMWrapper): + * bindings/v8/V8PerContextData.cpp: + (WebCore::V8PerContextData::dispose): + (WebCore::V8PerContextData::init): + * bindings/v8/V8PerContextData.h: + (V8PerContextData): + +2012-09-06 Jeffrey Pfau <jpfau@apple.com> + + Extend third-party storage blocking API to optionally allow blocking all storage + https://bugs.webkit.org/show_bug.cgi?id=95915 + + Reviewed by Brady Eidson. + + Replace boolean API with tri-state API that allows for blocking no, third-party, or all storage. + + Tests: http/tests/security/same-origin-shared-worker-blocked.html + http/tests/security/same-origin-storage-blocked.html + http/tests/security/same-origin-websql-blocked.html + + * dom/Document.cpp: + (WebCore::Document::initSecurityContext): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::SecurityOrigin): + (WebCore::SecurityOrigin::canAccessStorage): + * page/SecurityOrigin.h: + (WebCore::SecurityOrigin::setStorageBlockingPolicy): + (SecurityOrigin): + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setStorageBlockingPolicy): + (WebCore::Settings::storageBlockingPolicy): + (Settings): + * testing/InternalSettings.cpp: + (WebCore::InternalSettings::setStorageBlockingPolicy): + * testing/InternalSettings.h: + (InternalSettings): + * testing/InternalSettings.idl: + +2012-09-07 Adam Barth <abarth@chromium.org> + + [V8] DOM wrapper creation involves a bunch of sketchy code related to finding the Frame + https://bugs.webkit.org/show_bug.cgi?id=96147 + + Reviewed by Eric Seidel. + + Previously, we used the Frame when instantiating DOM wrappers. That's + sketchy because not all DOM wrappers know how to find their Frame, and + the Frame might be displaying a different document now anyway. This + patch now gets all the information directly from the creation context. + + In addition, this patch gets the proper creation context in a few more + cases, including Location. + + * bindings/scripts/CodeGeneratorV8.pm: + (GetInternalFields): + (GenerateNormalAttrGetter): + (GenerateToV8Converters): + (GenerateFunctionCallString): + (NativeToJSValue): + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::Float64ArrayV8Internal::fooCallback): + (WebCore::V8Float64Array::wrapSlow): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::wrapSlow): + * bindings/scripts/test/V8/V8TestCallback.cpp: + (WebCore::V8TestCallback::callbackWithClass1Param): + (WebCore::V8TestCallback::callbackWithClass2Param): + (WebCore::V8TestCallback::callbackWithStringList): + (WebCore::V8TestCallback::callbackRequiresThisToPass): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: + (WebCore::V8TestCustomNamedGetter::wrapSlow): + * bindings/scripts/test/V8/V8TestEventConstructor.cpp: + (WebCore::V8TestEventConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestEventTarget.cpp: + (WebCore::TestEventTargetV8Internal::itemCallback): + (WebCore::V8TestEventTarget::wrapSlow): + * bindings/scripts/test/V8/V8TestException.cpp: + (WebCore::V8TestException::wrapSlow): + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter): + (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback): + (WebCore::V8TestInterface::wrapSlow): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::wrapSlow): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::wrapSlow): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjV8Internal::testObjAttrAttrGetter): + (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter): + (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter): + (WebCore::TestObjV8Internal::contentDocumentAttrGetter): + (WebCore::TestObjV8Internal::objMethodCallback): + (WebCore::TestObjV8Internal::objMethodWithArgsCallback): + (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback): + (WebCore::TestObjV8Internal::withScriptStateObjCallback): + (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback): + (WebCore::TestObjV8Internal::getSVGDocumentCallback): + (WebCore::TestObjV8Internal::strictFunctionCallback): + (WebCore::V8TestObj::wrapSlow): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::disposeContext): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::instantiateV8Object): + * bindings/v8/V8DOMWrapper.h: + (V8DOMWrapper): + * bindings/v8/V8PerContextData.cpp: + (WebCore): + (WebCore::V8PerContextData::current): + (WebCore::V8PerContextData::dispose): + (WebCore::V8PerContextData::init): + * bindings/v8/V8PerContextData.h: + (V8PerContextData): + +2012-09-07 James Robinson <jamesr@chromium.org> + + [chromium] Remove transitional WebCompositorSupport fallback code + https://bugs.webkit.org/show_bug.cgi?id=96155 + + Reviewed by Adrienne Walker. + + The implementation of WebCompositorSupport has rolled out everywhere and the static ::create() functions are + going way. + + * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: + (WebCore::createScrollbarLayer): + * platform/graphics/chromium/AnimationTranslationUtil.cpp: + (WebCore::createWebAnimation): + * platform/graphics/chromium/Canvas2DLayerBridge.cpp: + (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBufferPrivate::DrawingBufferPrivate): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): + (WebCore::GraphicsLayerChromium::setContentsToImage): + (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): + +2012-09-07 Simon Hausmann <simon.hausmann@nokia.com> + + Fix compilation of TextureMapperShaderManager.cpp with MSVC + https://bugs.webkit.org/show_bug.cgi?id=96121 + + Reviewed by Kenneth Rohde Christiansen. + + Named variadic parameters in macros appear to be a GCC extension. Fortunately __VA_ARGS__ seems + to work with GCC and MSVC here. + + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore): + (WebCore::StandardFilterProgram::StandardFilterProgram): + +2012-09-07 Victoria Kirst <vrk@chromium.org> + + Seek to end after duration change in HTMLMediaElement + https://bugs.webkit.org/show_bug.cgi?id=95986 + + Reviewed by Eric Carlson. + + This seeks the media element to the end of the media resource if the current playback + position has become greater than the duration after a duration change. + http://dev.w3.org/html5/spec/media-elements.html#durationChange + + Test: http/tests/media/media-source/seek-to-end-after-duration-change.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): After firing the duration change event, checks to see if current time exceeds duration and if so, seeks to duration. + +2012-09-07 James Robinson <jamesr@chromium.org> + + [chromium] Implement WebCompositorInputHandlerImpl on top of exposed API instead of CC internals + https://bugs.webkit.org/show_bug.cgi?id=96151 + + Reviewed by Adrienne Walker. + + Reworks the CC hookup for input handling to be more similar to the OutputSurface handling. If on compositor + startup we want to initialize threaded input handling, we ask the embedder for a CCInputHandler implementation + via CCLayerTreeHostClient. If the client provides one, we later bind this to a CCInputHandlerClient (actually + CCLayerTreeHostImpl) from the compositor thread. + + * platform/graphics/chromium/cc/CCInputHandler.h: + (WebCore): + (CCInputHandler): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::CCLayerTreeHost): + (WebCore::CCLayerTreeHost::initialize): + (WebCore::CCLayerTreeHost::createInputHandler): + (WebCore): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (CCLayerTreeHost): + * platform/graphics/chromium/cc/CCLayerTreeHostClient.h: + (WebCore): + (CCLayerTreeHostClient): + * platform/graphics/chromium/cc/CCProxy.h: + (CCProxy): + * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: + (WebCore::CCSingleThreadProxy::CCSingleThreadProxy): + * platform/graphics/chromium/cc/CCSingleThreadProxy.h: + (CCSingleThreadProxy): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::CCThreadProxy): + (WebCore::CCThreadProxy::start): + (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal): + (WebCore::CCThreadProxy::initializeImplOnImplThread): + * platform/graphics/chromium/cc/CCThreadProxy.h: + (CCThreadProxy): + +2012-09-07 Adam Barth <abarth@chromium.org> + + [V8] Use a v8::Object rather than a v8::Context to represent the creationContext + https://bugs.webkit.org/show_bug.cgi?id=96154 + + Reviewed by Eric Seidel. + + This patch is a mechanical search-and-replace. Using a v8::Object + rather than a v8::Context lets us delay the call to CreationContext() + until we actually need to call it. This should not affect behavior. + + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateHeader): + (GenerateNormalAttrGetter): + (GenerateNamedConstructorCallback): + (GenerateImplementation): + (GenerateToV8Converters): + (GenerateFunctionCallString): + (NativeToJSValue): + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::Float64ArrayV8Internal::fooCallback): + (WebCore::toV8): + (WebCore::V8Float64Array::wrapSlow): + * bindings/scripts/test/V8/V8Float64Array.h: + (V8Float64Array): + (WebCore::V8Float64Array::wrap): + (WebCore): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::wrapSlow): + * bindings/scripts/test/V8/V8TestActiveDOMObject.h: + (V8TestActiveDOMObject): + (WebCore::V8TestActiveDOMObject::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestCallback.cpp: + (WebCore::V8TestCallback::callbackWithClass1Param): + (WebCore::V8TestCallback::callbackWithClass2Param): + (WebCore::V8TestCallback::callbackWithStringList): + (WebCore::V8TestCallback::callbackRequiresThisToPass): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: + (WebCore::V8TestCustomNamedGetter::wrapSlow): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: + (V8TestCustomNamedGetter): + (WebCore::V8TestCustomNamedGetter::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestEventConstructor.cpp: + (WebCore::V8TestEventConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestEventConstructor.h: + (V8TestEventConstructor): + (WebCore::V8TestEventConstructor::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestEventTarget.cpp: + (WebCore::TestEventTargetV8Internal::itemCallback): + (WebCore::V8TestEventTarget::wrapSlow): + * bindings/scripts/test/V8/V8TestEventTarget.h: + (V8TestEventTarget): + (WebCore::V8TestEventTarget::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestException.cpp: + (WebCore::V8TestException::wrapSlow): + * bindings/scripts/test/V8/V8TestException.h: + (V8TestException): + (WebCore::V8TestException::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter): + (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback): + (WebCore::V8TestInterface::wrapSlow): + * bindings/scripts/test/V8/V8TestInterface.h: + (V8TestInterface): + (WebCore::V8TestInterface::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::wrapSlow): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: + (V8TestMediaQueryListListener): + (WebCore::V8TestMediaQueryListListener::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructorConstructorCallback): + (WebCore::V8TestNamedConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestNamedConstructor.h: + (V8TestNamedConstructor): + (WebCore::V8TestNamedConstructor::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::wrapSlow): + * bindings/scripts/test/V8/V8TestNode.h: + (V8TestNode): + (WebCore::V8TestNode::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter): + (WebCore::TestObjV8Internal::testObjAttrAttrGetter): + (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter): + (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter): + (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter): + (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter): + (WebCore::TestObjV8Internal::contentDocumentAttrGetter): + (WebCore::TestObjV8Internal::mutablePointAttrGetter): + (WebCore::TestObjV8Internal::immutablePointAttrGetter): + (WebCore::TestObjV8Internal::objMethodCallback): + (WebCore::TestObjV8Internal::objMethodWithArgsCallback): + (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback): + (WebCore::TestObjV8Internal::withScriptStateObjCallback): + (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback): + (WebCore::TestObjV8Internal::getSVGDocumentCallback): + (WebCore::TestObjV8Internal::mutablePointFunctionCallback): + (WebCore::TestObjV8Internal::immutablePointFunctionCallback): + (WebCore::TestObjV8Internal::strictFunctionCallback): + (WebCore::V8TestObj::wrapSlow): + * bindings/scripts/test/V8/V8TestObj.h: + (V8TestObj): + (WebCore::V8TestObj::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter): + (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: + (V8TestSerializedScriptValueInterface): + (WebCore::V8TestSerializedScriptValueInterface::wrap): + (WebCore::toV8): + * bindings/v8/DOMTransaction.cpp: + (WebCore::DOMTransaction::callFunction): + * bindings/v8/IDBCustomBindings.cpp: + (WebCore::V8IDBCursorWithValue::valueAccessorGetter): + * bindings/v8/SerializedScriptValue.cpp: + * bindings/v8/V8Binding.h: + (WebCore::V8ValueTraits::arrayV8Value): + * bindings/v8/V8Collection.h: + (WebCore::getV8Object): + (WebCore::getNamedPropertyOfCollection): + (WebCore::collectionNamedPropertyGetter): + (WebCore::getIndexedPropertyOfCollection): + (WebCore::collectionIndexedPropertyGetter): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::getter): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + * bindings/v8/V8DOMWrapper.h: + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + (V8DOMWrapper): + * bindings/v8/V8ThrowException.cpp: + (WebCore): + * bindings/v8/custom/V8BlobCustom.cpp: + (WebCore::toV8): + (WebCore::V8Blob::constructorCallback): + * bindings/v8/custom/V8CSSRuleCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8CSSValueCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + (WebCore::toV8Object): + (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter): + (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter): + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::memoryAccessorGetter): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::openCallback): + (WebCore::V8DOMWindow::indexedPropertyGetter): + (WebCore::V8DOMWindow::namedPropertyGetter): + (WebCore::toV8): + * bindings/v8/custom/V8DataViewCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::V8Document::evaluateCallback): + (WebCore::V8Document::getCSSCanvasContextCallback): + (WebCore::toV8): + (WebCore::V8Document::createTouchListCallback): + * bindings/v8/custom/V8DocumentLocationCustom.cpp: + (WebCore::V8Document::locationAccessorGetter): + * bindings/v8/custom/V8EntryCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8EntrySyncCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8EventCustom.cpp: + (WebCore::V8Event::dataTransferAccessorGetter): + (WebCore::V8Event::clipboardDataAccessorGetter): + (WebCore::toV8): + * bindings/v8/custom/V8FileReaderCustom.cpp: + (WebCore::V8FileReader::resultAccessorGetter): + * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: + (WebCore::getNamedItems): + (WebCore::getItem): + (WebCore::V8HTMLAllCollection::namedPropertyGetter): + (WebCore::V8HTMLAllCollection::itemCallback): + (WebCore::V8HTMLAllCollection::namedItemCallback): + (WebCore::V8HTMLAllCollection::callAsFunctionCallback): + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::V8HTMLCanvasElement::getContextCallback): + * bindings/v8/custom/V8HTMLCollectionCustom.cpp: + (WebCore::getNamedItems): + (WebCore::V8HTMLCollection::namedPropertyGetter): + (WebCore::V8HTMLCollection::namedItemCallback): + (WebCore::toV8): + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: + (WebCore::V8HTMLDocument::getNamedProperty): + (WebCore::V8HTMLDocument::allAccessorGetter): + (WebCore::toV8): + * bindings/v8/custom/V8HTMLElementCustom.cpp: + (WebCore::toV8): + (WebCore::V8HTMLElement::itemValueAccessorGetter): + * bindings/v8/custom/V8HTMLFormElementCustom.cpp: + (WebCore::V8HTMLFormElement::indexedPropertyGetter): + (WebCore::V8HTMLFormElement::namedPropertyGetter): + * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: + (WebCore::V8HTMLFrameSetElement::namedPropertyGetter): + * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: + (WebCore::v8HTMLImageElementConstructorCallback): + * bindings/v8/custom/V8HTMLLinkElementCustom.cpp: + (WebCore::V8HTMLLinkElement::sizesAccessorGetter): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter): + * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: + (WebCore::V8HTMLOutputElement::htmlForAccessorGetter): + * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: + (WebCore::V8HTMLSelectElement::indexedPropertyGetter): + * bindings/v8/custom/V8IDBAnyCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8IDBKeyCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8ImageDataCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8MessageChannelConstructor.cpp: + (WebCore::V8MessageChannel::constructorCallback): + * bindings/v8/custom/V8MessageEventCustom.cpp: + (WebCore::V8MessageEvent::dataAccessorGetter): + (WebCore::V8MessageEvent::portsAccessorGetter): + * bindings/v8/custom/V8MicroDataItemValueCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8NamedNodeMapCustom.cpp: + (WebCore::V8NamedNodeMap::indexedPropertyGetter): + (WebCore::V8NamedNodeMap::namedPropertyGetter): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::toV8Slow): + * bindings/v8/custom/V8NodeListCustom.cpp: + (WebCore::V8NodeList::namedPropertyGetter): + * bindings/v8/custom/V8NotificationCenterCustom.cpp: + (WebCore::V8NotificationCenter::createHTMLNotificationCallback): + (WebCore::V8NotificationCenter::createNotificationCallback): + * bindings/v8/custom/V8PerformanceCustom.cpp: + (WebCore::V8Performance::memoryAccessorGetter): + * bindings/v8/custom/V8PerformanceEntryCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8PopStateEventCustom.cpp: + (WebCore::V8PopStateEvent::stateAccessorGetter): + * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: + (WebCore::V8SQLTransactionSync::executeSqlCallback): + * bindings/v8/custom/V8SVGDocumentCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8SVGElementCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8SVGPathSegCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8ScriptProfileCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8StyleSheetCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8StyleSheetListCustom.cpp: + (WebCore::V8StyleSheetList::namedPropertyGetter): + * bindings/v8/custom/V8TrackEventCustom.cpp: + (WebCore::V8TrackEvent::trackAccessorGetter): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::toV8Object): + (WebCore::getObjectParameter): + (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback): + (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback): + (WebCore::V8WebGLRenderingContext::getParameterCallback): + (WebCore::V8WebGLRenderingContext::getProgramParameterCallback): + (WebCore::V8WebGLRenderingContext::getShaderParameterCallback): + (WebCore::V8WebGLRenderingContext::getUniformCallback): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::V8XMLHttpRequest::responseAccessorGetter): + * dom/make_names.pl: + (printWrapperFunctions): + (printWrapperFactoryCppFile): + (printWrapperFactoryHeaderFile): + +2012-09-07 John Bauman <jbauman@chromium.org> + + Check objects for null when recreating context + https://bugs.webkit.org/show_bug.cgi?id=95926 + + Reviewed by Dean Jackson. + + Upon navigation the FrameViwe and other objects may go null, so detect + that and return rather than try to dereference them. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore): + (WebCore::WebGLRenderingContext::maybeRestoreContext): + +2012-09-07 Simon Fraser <simon.fraser@apple.com> + + box-shadow causes overlay scrollbars to be in the wrong position when element is composited + https://bugs.webkit.org/show_bug.cgi?id=85647 + + Reviewed by James Robinson. + + The code that positioned the GraphicsLayers for scrollbars failed to take + into account any offset between the origin of the compositing layer, + and the renderer. This caused scrollbar layers to be misplaced or hidden + on layers with, for example, box-shadows. + + Also moved the code that positions the scrollbar layers into RendderLayerBacking, + since this is where all the rest of the GraphicsLayer-positioning code lives. + + Renamed an "offsetFromLayer" param to "offsetFromRoot" which is more accurate. + + Manual test, since overlay scrollbars are not enabled in DRT/WTR: + ManualTests/scrollbars/scrollbars-in-composited-layers.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::positionOverflowControls): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::positionOverflowControlsLayers): + * rendering/RenderLayerBacking.h: + (RenderLayerBacking): + +2012-09-07 David Reveman <reveman@chromium.org> + + [Chromium] Multiple commits without invalidation allowed per redraw. + https://bugs.webkit.org/show_bug.cgi?id=95661 + + Reviewed by James Robinson. + + Always enter COMMIT_STATE_WAITING_FOR_FIRST_DRAW after commit. This + ensures we draw before beginning a new frame. + + Unit tests: CCLayerTreeHostTestContinuousCommit.runMultiThread + CCLayerTreeHostTestContinuousInvalidate.runMultiThread + CCLayerTreeHostTestContinuousAnimate.runMultiThread + + * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: + (WebCore::CCSchedulerStateMachine::updateState): + +2012-09-07 Tony Chang <tony@chromium.org> + + Add OVERRIDE to computeLogical{Width,Height} overrides + https://bugs.webkit.org/show_bug.cgi?id=96153 + + Reviewed by Ojan Vafai. + + I plan on renaming these functions to updateLogical{Width,Height} and + I want to be extra sure that I don't mess up. + + No new tests, this is just a refactoring. + + * rendering/RenderFlowThread.h: Also mark the functions virtual! + * rendering/RenderListBox.h: + (RenderListBox): + * rendering/RenderMeter.h: + (RenderMeter): + * rendering/RenderTable.h: + (RenderTable): + * rendering/RenderTableCell.h: + (RenderTableCell): + * rendering/RenderTextControl.h: + (RenderTextControl): + * rendering/svg/RenderSVGForeignObject.h: + (RenderSVGForeignObject): + +2012-09-07 Dominic Mazzoni <dmazzoni@google.com> + + AX: WebCore accessibility roles should be cross-platform + https://bugs.webkit.org/show_bug.cgi?id=94870 + + Reviewed by Chris Fleizach. + + Make 5 accessibility roles cross-platform rather than GTK-only. + + Instead of mapping the HR tag to SplitterRole (which is an interactive + splitter control on Mac), create a new role HorizontalRuleRole. + + Map all of the new roles to AXGroup on Mac, which matches the existing + behavior. Add a new test for these roles on Chromium. + + Test: platform/chromium/accessibility/chromium-only-roles.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::supportsARIAAttributes): + * accessibility/AccessibilityObject.h: + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): + * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: + (atkRole): + * accessibility/mac/WebAccessibilityObjectWrapper.mm: + (createAccessibilityRoleMap): + +2012-09-07 Simon Hausmann <simon.hausmann@nokia.com> + + Fix build of GraphicsContext3DOpenGLCommon.cpp with MSVC + https://bugs.webkit.org/show_bug.cgi?id=96120 + + Reviewed by Noam Rosenthal. + + Variable stack arrays are a GCC extension. Replace their use with OwnArrayPtr, similar to + other functions in the same file. + + * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: + (WebCore::GraphicsContext3D::getActiveAttrib): + +2012-09-07 Emil A Eklund <eae@chromium.org> + + Prevent overflows in FractionalLayoutUnit + https://bugs.webkit.org/show_bug.cgi?id=95883 + + Reviewed by Eric Seidel. + + Avoid overflow in snapSizeToPixel by using the fraction of the + location instead of the full value. + + Add safe versions of min/max, adjusted by half a pixel to allow + round to allow rounding without overflowing. + + Avoid overflow when snapping a FractionalLayoutRect by using the + safe versions of min/max in infiniteRect. + + Avoid overflow when converting from a Length to a LayoutUnit by + limiting the value to FractionalLayoutUnit min/max. This matches + the behavior of the non-subpixel code path where the values are + similarly limited. + + Test: fast/sub-pixel/large-sizes.html + + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::computeLength): + Limit to FractionalLayoutUnit min/max. + + * platform/FractionalLayoutUnit.h: + (FractionalLayoutUnit): + (WebCore::FractionalLayoutUnit::nearlyMax): + (WebCore::FractionalLayoutUnit::nearlyMin): + Reduce max/increase min by 1/2 to allow round to operate + without overflowing. + + (WebCore::snapSizeToPixel): + * platform/graphics/FractionalLayoutRect.h: + (WebCore::FractionalLayoutRect::infiniteRect): + Use nearlyMin/nearlyMax. + + (WebCore::pixelSnappedIntRect): + Change pixelSnappedIntRect to use snapSizeToPixel. + +2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127920 and r127926. + http://trac.webkit.org/changeset/127920 + http://trac.webkit.org/changeset/127926 + https://bugs.webkit.org/show_bug.cgi?id=96152 + + billions and billions of assertion failures on mac debug + builds (Requested by thorton on #webkit). + + * WebCore.exp.in: + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::getFontData): + * dom/Document.cpp: + (WebCore::Document::~Document): + (WebCore::Document::registerCustomFont): + (WebCore): + (WebCore::Document::deleteCustomFonts): + (WebCore::Document::reportMemoryUsage): + * dom/Document.h: + (WebCore): + (Document): + * platform/graphics/FontData.h: + * platform/graphics/FontFallbackList.cpp: + (WebCore::FontFallbackList::releaseFontData): + (WebCore::FontFallbackList::fontDataAt): + (WebCore::FontFallbackList::setPlatformFont): + * platform/graphics/FontFallbackList.h: + (FontFallbackList): + (WebCore::FontFallbackList::setGlyphPageZero): + (WebCore::FontFallbackList::setGlyphPages): + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::pruneFontData): + +2012-09-07 Arvid Nilsson <anilsson@rim.com> + + [CSS Shaders] WebKitCSSMixFunctionValue.h needs forward declaration of MemoryObjectInfo + https://bugs.webkit.org/show_bug.cgi?id=96150 + + Reviewed by George Staikos. + + Otherwise files that include it may fail to compile. + + No new tests, because this patch implements no new functionality. + + * css/WebKitCSSMixFunctionValue.h: + (WebCore): + +2012-09-07 Stephen Chenney <schenney@chromium.org> + + Mac build fix. + https://bugs.webkit.org/show_bug.cgi?id=93640 + + Reviewed by Abhishek Arya. + + The original patch for this bug broke the mac builds. + + * WebCore.exp.in: Adding const marker + +2012-09-07 Robert Kroeger <rjkroege@chromium.org> + + [chromium] Add touchscreen specific fling curve parametrization + https://bugs.webkit.org/show_bug.cgi?id=95997 + + Reviewed by James Robinson. + + Added a new set of fling curve parameters with a good feel for touchscreen + initiated flings. Renamed TouchpadFlingPlatformGestureCurve to + TouchFlingPlatformGestureCurve to better reflect that the class + can serve for both touchscreen and touchpad flings when appropriately + parametrized. Updated build files as necessary for the rename. + + No new tests - existing tests apply. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * WebCore.gypi: + * platform/ScrollAnimatorNone.cpp: + (WebCore::ScrollAnimatorNone::fireUpAnAnimation): + * platform/TouchFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.cpp. + (WebCore): + (WebCore::TouchFlingPlatformGestureCurve::createForTouchPad): + (WebCore::TouchFlingPlatformGestureCurve::createForTouchScreen): + Added with touchscreen parameters. + (WebCore::TouchFlingPlatformGestureCurve::create): + (WebCore::position): + (WebCore::velocity): + (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve): + (WebCore::TouchFlingPlatformGestureCurve::~TouchFlingPlatformGestureCurve): + (WebCore::TouchFlingPlatformGestureCurve::debugName): + (WebCore::TouchFlingPlatformGestureCurve::apply): + * platform/TouchFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.h. + (WebCore): + (TouchFlingPlatformGestureCurve): + * platform/chromium/support/PlatformGestureCurveFactory.cpp: invokes + createForTouchPad or createForTouchScreen as appropriate. + (WebKit::PlatformGestureCurveFactory::createCurve): + +2012-09-07 Adam Barth <abarth@chromium.org> + + Enter the creationContext before creating DOM wrappers + https://bugs.webkit.org/show_bug.cgi?id=96044 + + Reviewed by Eric Seidel. + + Now that we have the creationContext available when instantiating DOM + wrappers, we should use it! After this patch, we enter the creation + context so that the DOM wrapper is created in the right context (and + therefore has the right prototype chain). + + This patch would have been tested by + fast/dom/prototype-inheritance.html, but that test was removed because + it was too much work to maintain. I'll post what the diff would have + been to the results for that test as an attachment to this bug. + + Note: After this patch there are a number of cleanup patches to write, + but I'll do those separately. + + * bindings/js/JSGeolocationCustom.cpp: + (WebCore::JSGeolocation::getCurrentPosition): + (WebCore::JSGeolocation::watchPosition): + - This patch also includes a minor bug fix to the JSC implementations + of Geolocation and Notifications. Previously, JSC was using the + current lexical context for the callback object, which makes very + little sense as it neither cooresponds to the Geolocation (or + Notification) object or the functions being used for the callback. + + To be consistent with how we do callbacks elsewhere in WebKit, we + should use the context that corresponds to the Geolocation (or + Notification) object. This change happened automatically for V8 + when this patch fixed the Geolocation (and Notifications) wrapper + to use the right context, but for JSC we need to change these lines + of code explicitly. + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateToV8Converters): + +2012-09-07 Leo Yang <leoyang@rim.com> + + Appcache fallback URL match should use the longest candidate + https://bugs.webkit.org/show_bug.cgi?id=96126 + + Reviewed by Alexey Proskuryakov. + + Test: http/tests/appcache/multi-fallback.html + + * loader/appcache/ApplicationCache.cpp: + (WebCore::fallbackURLLongerThan): + (WebCore::ApplicationCache::setFallbackURLs): + +2012-09-07 Stephen Chenney <schenney@chromium.org> + + Font data is purged while fonts are still using it + https://bugs.webkit.org/show_bug.cgi?id=93640 + + Reviewed by Eric Seidel. + + Move the handling of custom font pruning from Document to FontFallbackList. + The previous inplementation allowed fonts to be removed before all their + clients were done. This change moves handling of custom font purging to the + FontFallbackList class, which is the shared object that is only removed + when all clients of a font are done with it. This fixes a crash in Angry + Birds due to a seamless iframe and some failing tests in fast/frames/seamless. + + The specific element that causes problems is: + <iframe id="ingame_frame0" name="ingame_frame0" frameborder="0" seamless="true" + src="http://chrome.angrybirds.com/ingame_graphic.html" + onload="this.style.opacity = 1; parent.adLoaded();" scrolling="no" + style="opacity: 1; -webkit-transition: opacity 1s ease-in-out 0s; + position: absolute; border: 0px; width: 312px; height: 320px; z-index: + 300; overflow: hidden; visibility: visible;"></iframe> + The source document uses the same font as the embedding document. + + Tests: fast/frames/seamless/seamless-custom-font-pruning-crash.html + fast/frames/seamless/seamless-nested-crash.html + + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): Remove code to register the + font with the document. + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::getFontData): Remove code to register + the font with the document. + * dom/Document.cpp: + (WebCore::Document::~Document): Remove code that records and purges + custom fonts. + (WebCore): + (WebCore::Document::reportMemoryUsage): Remove reference to removed + object. + * dom/Document.h: + (Document): Remove method declarations for custom font handling. + * platform/graphics/FontData.h: Add RefCounted to FontData. Previously, FontData + for custom fonts was owned by a Vector<OwnPtr<FontData>> in Document. Now it + is owned by FontFallbackList, and ref counting is required. A future patch will + add RefPtr code for all FontData use cases. + * platform/graphics/FontFallbackList.cpp: + (WebCore): Add global custom font data cache, which owns the FontData pointers + used as keys. + (WebCore::FontFallbackList::appendFontData): Helper method increments + the ref count on custom FontData. + (WebCore::FontFallbackList::releaseFontData): Helper method decrements + the ref count on custom FontData. + (WebCore::FontFallbackList::fontDataAt): Add calls to register the + FontFallbackList as a client of custom fonts. + * platform/graphics/FontFallbackList.h: + (WebCore::FontFallbackList::setGlyphPageZero): Moved this declaration. + (WebCore::FontFallbackList::setGlyphPages): Moved this declaration. + (FontFallbackList): + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::pruneFontData): Removed unnecessary null check. + +2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127911. + http://trac.webkit.org/changeset/127911 + https://bugs.webkit.org/show_bug.cgi?id=96146 + + Patch breaks build with clang (Requested by rbuis on #webkit). + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/filters/CustomFilterGlobalContext.cpp: + (WebCore::CustomFilterGlobalContext::getValidatedProgram): + * platform/graphics/filters/CustomFilterMesh.cpp: + (WebCore): + (MeshGenerator): + (WebCore::MeshGenerator::MeshGenerator): + (WebCore::MeshGenerator::vertices): + (WebCore::MeshGenerator::indices): + (WebCore::MeshGenerator::points): + (WebCore::MeshGenerator::pointsCount): + (WebCore::MeshGenerator::tiles): + (WebCore::MeshGenerator::tilesCount): + (WebCore::MeshGenerator::indicesCount): + (WebCore::MeshGenerator::floatsPerVertex): + (WebCore::MeshGenerator::verticesCount): + (WebCore::MeshGenerator::addTile): + (WebCore::MeshGenerator::addAttachedMeshIndex): + (WebCore::MeshGenerator::generateAttachedMesh): + (WebCore::MeshGenerator::addDetachedMeshVertexAndIndex): + (WebCore::MeshGenerator::generateDetachedMesh): + (WebCore::MeshGenerator::addPositionAttribute): + (WebCore::MeshGenerator::addTexCoordAttribute): + (WebCore::MeshGenerator::addMeshCoordAttribute): + (WebCore::MeshGenerator::addTriangleCoordAttribute): + (WebCore::MeshGenerator::addAttachedMeshVertexAttributes): + (WebCore::MeshGenerator::addDetachedMeshVertexAttributes): + (WebCore::MeshGenerator::dumpBuffers): + (WebCore::CustomFilterMesh::CustomFilterMesh): + * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed. + * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed. + * platform/graphics/filters/CustomFilterValidatedProgram.cpp: + (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram): + (WebCore::CustomFilterValidatedProgram::compiledProgram): + (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram): + * platform/graphics/filters/CustomFilterValidatedProgram.h: + (CustomFilterValidatedProgram): + * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Removed. + +2012-09-07 Ojan Vafai <ojan@chromium.org> + + Fix RenderBox::availableHeight to subtract scrollbars in the right places + https://bugs.webkit.org/show_bug.cgi?id=96031 + + Reviewed by Tony Chang. + + This matches Firefox 15 and IE9 rendering for the two new tests. + + Tests: fast/block/positioning/percent-top-left-on-relative-position.html + fast/css/nested-percent-height-on-replaced.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computePercentageLogicalHeight): + Subtract scrollbars when recurring on percentage heights. + (WebCore::RenderBox::computeReplacedLogicalHeightUsing): + This is the wrong place to subtract scrollbars. availableLogicalHeight + should return a value that doesn't include scrollbars. + (WebCore::RenderBox::availableLogicalHeightUsing): + Subtract scrollbars from specified heights. Also, consolidate the code to + use computeContentLogicalHeightUsing. This makes percentage heights use + the right containingBlock in quirks mode and makes viewport percentage heights work. + +2012-09-07 Tony Chang <tony@chromium.org> + + Make RenderBox::computeLogicalWidthInRegion const + https://bugs.webkit.org/show_bug.cgi?id=96129 + + Reviewed by Ojan Vafai. + + Making computeLogicalWidthInRegion const allows us to get rid of the gross hack in + RenderBox::renderBoxRegionInfo. + + No new tests, this is covered by existing layout tests. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax): Make const. + (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Make const. + (WebCore::RenderBox::computeLogicalWidth): Use a LogicalExtentComputedValues when calling computeLogicalWidthInRegion. + (WebCore::RenderBox::computeLogicalWidthInRegion): Make const. Fill in a LogicalExtentComputedValues struct instead. + (WebCore::RenderBox::computeLogicalWidthInRegionUsing): Make const. + (WebCore::RenderBox::renderBoxRegionInfo): Remove hack and get region width values in a LogicalExtentComputedValues struct. + * rendering/RenderBox.h: + (RenderBox): + +2012-09-07 Dana Jansens <danakj@chromium.org> + + [chromium] Remove bad assert in CCRenderPass::Id + https://bugs.webkit.org/show_bug.cgi?id=96138 + + Reviewed by James Robinson. + + The assert prevents HashMap from creating "deleted" and "empty" ids. We + assert that RenderPasses have correct ids already, and don't need to + assert inside the Id structure itself. + + * platform/graphics/chromium/cc/CCRenderPass.h: + (WebCore::CCRenderPass::Id::Id): + +2012-09-07 Arvid Nilsson <anilsson@rim.com> + + [CSS Shaders] [BlackBerry] Refactor CustomFilterMesh and CustomFilter*Program + https://bugs.webkit.org/show_bug.cgi?id=94725 + + Reviewed by Rob Buis. + + Separate the MeshGenerator from the CustomFilterMesh into + CustomFilterMeshGenerator.h/cpp. This allows the BlackBerry port to + reuse the mesh generator in its accelerated compositing implementation. + + Also add support for creating a "PlatformCompiledProgram" from a + CustomFilterValidatedProgram, so the BlackBerry port can reuse the + shader validation code in its accelerated compositing implementation. + + It turns out the GraphicsContext3D is not needed for ANGLE to function, + so this patch removes an ASSERT that required a context before + validating the shaders using ANGLE. This allows the BlackBerry port to + reuse the validation code without triggering the assert. In the future, + the validation code could be moved to a separate class to make it more + obvious that it isn't really related to GraphicsContext3D. + + In general, this refactoring can be useful for any port that uses + OpenGL to implement accelerated compositing. + + Inspired by an original patch by Joshua Netterfield. + + No new tests, because this patch implements no new functionality. + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/filters/CustomFilterGlobalContext.cpp: + (WebCore::CustomFilterGlobalContext::getValidatedProgram): + * platform/graphics/filters/CustomFilterMesh.cpp: + (WebCore::CustomFilterMesh::CustomFilterMesh): + * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Added. + (WebCore): + (WebCore::CustomFilterMeshGenerator::CustomFilterMeshGenerator): + (WebCore::CustomFilterMeshGenerator::addAttachedMeshIndex): + (WebCore::CustomFilterMeshGenerator::generateAttachedMesh): + (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAndIndex): + (WebCore::CustomFilterMeshGenerator::generateDetachedMesh): + (WebCore::CustomFilterMeshGenerator::addPositionAttribute): + (WebCore::CustomFilterMeshGenerator::addTexCoordAttribute): + (WebCore::CustomFilterMeshGenerator::addMeshCoordAttribute): + (WebCore::CustomFilterMeshGenerator::addTriangleCoordAttribute): + (WebCore::CustomFilterMeshGenerator::addAttachedMeshVertexAttributes): + (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAttributes): + (WebCore::CustomFilterMeshGenerator::dumpBuffers): + * platform/graphics/filters/CustomFilterMeshGenerator.h: Added. + (WebCore): + (CustomFilterMeshGenerator): + (WebCore::CustomFilterMeshGenerator::vertices): + (WebCore::CustomFilterMeshGenerator::indices): + (WebCore::CustomFilterMeshGenerator::points): + (WebCore::CustomFilterMeshGenerator::pointsCount): + (WebCore::CustomFilterMeshGenerator::tiles): + (WebCore::CustomFilterMeshGenerator::tilesCount): + (WebCore::CustomFilterMeshGenerator::indicesCount): + (WebCore::CustomFilterMeshGenerator::floatsPerVertex): + (WebCore::CustomFilterMeshGenerator::verticesCount): + (WebCore::CustomFilterMeshGenerator::addTile): + * platform/graphics/filters/CustomFilterValidatedProgram.cpp: + (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram): + (WebCore::CustomFilterValidatedProgram::compiledProgram): + (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram): + (WebCore): + (WebCore::CustomFilterValidatedProgram::platformCompiledProgram): + (WebCore::CustomFilterValidatedProgram::platformDestroy): + * platform/graphics/filters/CustomFilterValidatedProgram.h: + (WebCore): + (CustomFilterValidatedProgram): + * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Added. + (WebCore): + (WebCore::CustomFilterValidatedProgram::platformCompiledProgram): + (WebCore::CustomFilterValidatedProgram::platformDestroy): + +2012-09-07 Dana Jansens <danakj@chromium.org> + + [chromium] Make RenderPass ids hold both generating layer id and an index + https://bugs.webkit.org/show_bug.cgi?id=95500 + + Reviewed by Adrienne Walker. + + This change allows us to avoid complex renderPassId mappings between + compositors for ubercomp. The ubercomp layer needs to add a number + of RenderPasses to the frame, and these must not conflict with other + RenderPasses in the frame. By using its layer id along with an extra + value it determines, the layer can create a unique id without needing + access to any global state or id generator. + + Covered by existing tests. + + * platform/graphics/chromium/cc/CCDirectRenderer.cpp: + (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame): + (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId): + * platform/graphics/chromium/cc/CCDirectRenderer.h: + (CCDirectRenderer): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): + (WebCore::findRenderPassById): + (WebCore::removeRenderPassesRecursive): + * platform/graphics/chromium/cc/CCRenderPass.cpp: + (WebCore::CCRenderPass::create): + (WebCore::CCRenderPass::CCRenderPass): + * platform/graphics/chromium/cc/CCRenderPass.h: + (Id): + (WebCore::CCRenderPass::Id::Id): + (WebCore::CCRenderPass::Id::operator==): + (WebCore::CCRenderPass::Id::operator!=): + (WebCore::CCRenderPass::Id::operator<): + (CCRenderPass): + (WebCore::CCRenderPass::id): + (WebCore): + * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: + (WebCore::CCRenderPassDrawQuad::create): + (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad): + * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: + (CCRenderPassDrawQuad): + (WebCore::CCRenderPassDrawQuad::renderPassId): + * platform/graphics/chromium/cc/CCRenderSurface.cpp: + (WebCore::CCRenderSurface::renderPassId): + (WebCore): + (WebCore::CCRenderSurface::appendRenderPasses): + (WebCore::CCRenderSurface::appendQuads): + * platform/graphics/chromium/cc/CCRenderSurface.h: + (WebCore): + (CCRenderSurface): + * platform/graphics/chromium/cc/CCRenderer.h: + (WebCore::CCRenderer::haveCachedResourcesForRenderPassId): + +2012-09-07 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: add RTCPeerConnection::createAnswer + https://bugs.webkit.org/show_bug.cgi?id=96092 + + Reviewed by Adam Barth. + + Test: fast/mediastream/RTCPeerConnection-createAnswer.html + + * Modules/mediastream/RTCPeerConnection.cpp: + (WebCore::RTCPeerConnection::createAnswer): + (WebCore): + * Modules/mediastream/RTCPeerConnection.h: + (RTCPeerConnection): + * Modules/mediastream/RTCPeerConnection.idl: + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (RTCPeerConnectionHandlerDummy): + (WebCore::RTCPeerConnectionHandlerDummy::createAnswer): + (WebCore): + * platform/mediastream/RTCPeerConnectionHandler.h: + (RTCPeerConnectionHandler): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + (WebCore::RTCPeerConnectionHandlerChromium::createAnswer): + (WebCore): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (RTCPeerConnectionHandlerChromium): + +2012-09-06 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: [REGRESSION] Content is not available for dynamically loaded script sometimes. + https://bugs.webkit.org/show_bug.cgi?id=95954 + + Reviewed by Yury Semikhatsky. + + Resource now loads content from request when it is available. + Content was loaded from PageAgent before where it might be not available if the resource was already GCed. + + Test: http/tests/inspector/resource-tree/resource-request-content-after-loading-and-clearing-cache.html + + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype._innerRequestContent.contentLoaded): + (WebInspector.Resource.prototype._innerRequestContent.resourceContentLoaded): + (WebInspector.Resource.prototype._innerRequestContent): + +2012-09-07 Adam Barth <abarth@webkit.org> + + HTMLTokenizer should use the latest EfficientStrings hotness + https://bugs.webkit.org/show_bug.cgi?id=95276 + + Reviewed by Benjamin Poulain. + + Using ASCIILiteral avoids memcpying the string into the heap and + therefore uses less total memory. + + * html/parser/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + +2012-09-07 James Robinson <jamesr@chromium.org> + + [chromium] Remove dead CCActiveGestureAnimation code and related classes + https://bugs.webkit.org/show_bug.cgi?id=96075 + + Reviewed by Adrienne Walker. + + The CCGestureCurve / CCActiveGestureAnimation code isn't used and never has been used. Gesture curves are + evaluated by the CCInputHandlerClient (WebCompositorInputHandlerImpl), CC itself logically doesn't know anything + about gestures. + + * WebCore.gypi: + * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp: Removed. + * platform/graphics/chromium/cc/CCActiveGestureAnimation.h: Removed. + * platform/graphics/chromium/cc/CCGestureCurve.h: Removed. + * platform/graphics/chromium/cc/CCInputHandler.h: + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::animate): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: + (CCLayerTreeHostImpl): + +2012-09-07 Martin Robinson <mrobinson@igalia.com> + + [GTK] Move user agent helpers to WebCore + https://bugs.webkit.org/show_bug.cgi?id=95745 + + Reviewed by Carlos Garcia Campos. + + Moved the user agent determination code from WebKit1 to WebCore so that it can + be shared with WebKit2. Also add a method for creating the user agent given + a non-default application name. + + * GNUmakefile.list.am: Add new files to the list. + * platform/gtk/UserAgentGtk.cpp: Added. + * platform/gtk/UserAgentGtk.h.in: Added. + +2012-09-07 Adam Barth <abarth@webkit.org> + + Update bindings results after https://bugs.webkit.org/show_bug.cgi?id=96039 + + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::Float64ArrayV8Internal::fooCallback): + (WebCore::toV8): + (WebCore::V8Float64Array::wrapSlow): + * bindings/scripts/test/V8/V8Float64Array.h: + (V8Float64Array): + (WebCore::V8Float64Array::wrap): + (WebCore): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::wrapSlow): + * bindings/scripts/test/V8/V8TestActiveDOMObject.h: + (V8TestActiveDOMObject): + (WebCore::V8TestActiveDOMObject::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestCallback.cpp: + (WebCore::V8TestCallback::callbackWithClass1Param): + (WebCore::V8TestCallback::callbackWithClass2Param): + (WebCore::V8TestCallback::callbackWithStringList): + (WebCore::V8TestCallback::callbackRequiresThisToPass): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: + (WebCore::V8TestCustomNamedGetter::wrapSlow): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: + (V8TestCustomNamedGetter): + (WebCore::V8TestCustomNamedGetter::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestEventConstructor.cpp: + (WebCore::V8TestEventConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestEventConstructor.h: + (V8TestEventConstructor): + (WebCore::V8TestEventConstructor::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestEventTarget.cpp: + (WebCore::TestEventTargetV8Internal::itemCallback): + (WebCore::V8TestEventTarget::wrapSlow): + * bindings/scripts/test/V8/V8TestEventTarget.h: + (V8TestEventTarget): + (WebCore::V8TestEventTarget::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestException.cpp: + (WebCore::V8TestException::wrapSlow): + * bindings/scripts/test/V8/V8TestException.h: + (V8TestException): + (WebCore::V8TestException::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter): + (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback): + (WebCore::V8TestInterface::wrapSlow): + * bindings/scripts/test/V8/V8TestInterface.h: + (V8TestInterface): + (WebCore::V8TestInterface::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::wrapSlow): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: + (V8TestMediaQueryListListener): + (WebCore::V8TestMediaQueryListListener::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructorConstructorCallback): + (WebCore::V8TestNamedConstructor::wrapSlow): + * bindings/scripts/test/V8/V8TestNamedConstructor.h: + (V8TestNamedConstructor): + (WebCore::V8TestNamedConstructor::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::wrapSlow): + * bindings/scripts/test/V8/V8TestNode.h: + (V8TestNode): + (WebCore::V8TestNode::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter): + (WebCore::TestObjV8Internal::testObjAttrAttrGetter): + (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter): + (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter): + (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter): + (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter): + (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter): + (WebCore::TestObjV8Internal::contentDocumentAttrGetter): + (WebCore::TestObjV8Internal::mutablePointAttrGetter): + (WebCore::TestObjV8Internal::immutablePointAttrGetter): + (WebCore::TestObjV8Internal::objMethodCallback): + (WebCore::TestObjV8Internal::objMethodWithArgsCallback): + (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback): + (WebCore::TestObjV8Internal::withScriptStateObjCallback): + (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback): + (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback): + (WebCore::TestObjV8Internal::getSVGDocumentCallback): + (WebCore::TestObjV8Internal::mutablePointFunctionCallback): + (WebCore::TestObjV8Internal::immutablePointFunctionCallback): + (WebCore::TestObjV8Internal::strictFunctionCallback): + (WebCore::V8TestObj::wrapSlow): + * bindings/scripts/test/V8/V8TestObj.h: + (V8TestObj): + (WebCore::V8TestObj::wrap): + (WebCore::toV8): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter): + (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: + (V8TestSerializedScriptValueInterface): + (WebCore::V8TestSerializedScriptValueInterface::wrap): + (WebCore::toV8): + +2012-09-07 Lianghui Chen <liachen@rim.com> + + [BlackBerry] when one of multiple tabs uses authentication, user can get the auth dialog while the other tab has focus. + https://bugs.webkit.org/show_bug.cgi?id=95488 + PR: 186597. + + Internally reviewed by Joe Mason. + Reviewed by Yong Li. + + The fix for this PR will come as 2 patches. This is the first patch which + will make the authentication challenge asynchronous inside WebKit. The + bext patch will add an AuthenticationChallengeManager that manages these + authentication requests asynchronously. + + This patch add AuthenticationChallengeClient interface to define asynchronous + authentication challenge callback. And MediaPlayerPrivateBlackBerry and + NetworkJob are changed to inherit from AuthenticationChallengeClient to + support asynchronous authentication challenge. + + Note: there is also an accompanying platform patch to make our PlatformPlayer + to support asychronous authentication, see PR 186597 for details. + + No new tests as this is platform specific change. + + * platform/blackberry/AuthenticationChallengeManager.h: Added. + (WebCore): + (AuthenticationChallengeClient): + * platform/blackberry/PageClientBlackBerry.h: + (WebCore): + * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: + (WebCore::MediaPlayerPrivate::onAuthenticationNeeded): + (WebCore::MediaPlayerPrivate::notifyChallengeResult): + * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: + (MediaPlayerPrivate): + * platform/network/blackberry/NetworkJob.cpp: + (WebCore::NetworkJob::sendRequestWithCredentials): + (WebCore::NetworkJob::notifyChallengeResult): + (WebCore): + * platform/network/blackberry/NetworkJob.h: + (WebCore): + (NetworkJob): + +2012-09-07 Dominic Mazzoni <dmazzoni@google.com> + + AX: ARIA spin button should support range value attributes + https://bugs.webkit.org/show_bug.cgi?id=96076 + + Reviewed by Chris Fleizach. + + Make an ARIA spin button support ARIA range attributes like + aria-valuenow, aria-valuemin, etc. - just like slider, progressbar, + and scrollbar. + + Test: accessibility/spinbutton-value.html + + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isSpinButton): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::valueDescription): + (WebCore): + (WebCore::AccessibilityRenderObject::isAriaRange): + (WebCore::AccessibilityRenderObject::valueForRange): + (WebCore::AccessibilityRenderObject::maxValueForRange): + (WebCore::AccessibilityRenderObject::minValueForRange): + (WebCore::AccessibilityRenderObject::stringValue): + (WebCore::AccessibilityRenderObject::title): + (WebCore::AccessibilityRenderObject::isGenericFocusableElement): + (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren): + * accessibility/AccessibilityRenderObject.h: + (AccessibilityRenderObject): + * accessibility/mac/WebAccessibilityObjectWrapper.mm: + (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): + +2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127820. + http://trac.webkit.org/changeset/127820 + https://bugs.webkit.org/show_bug.cgi?id=96117 + + Introduces crashes in Chromium compositing tests (Requested by + fsamuel on #webkit). + + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::evictAllContentTextures): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (CCLayerTreeHost): + * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: + (WebCore::CCPrioritizedTextureManager::clearAllMemory): + (WebCore::CCPrioritizedTextureManager::allBackingTexturesWereDeleted): + * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: + (CCPrioritizedTextureManager): + * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: + (WebCore::CCSingleThreadProxy::commitAndComposite): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::beginFrame): + (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread): + +2012-09-07 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Add another all-in-one source + + Rubber-stamped by Tor Arne Vestbø. + + * Target.pri: We can safely add platform/text/TextAllInOne.cpp to ALL_IN_ONE_SOURCES for + even smaller combined builds. + +2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com> + + Simplify hitTestResultAtPoint and nodesFromRect APIs + https://bugs.webkit.org/show_bug.cgi?id=95720 + + Reviewed by Antonio Gomes. + + The existing API was overloaded and could be simplified by passing all the bool arguments in + a HitTestRequest argument. This should also help clarify the call as the enum values explicitely + state what they do. + + * WebCore.exp.in: + * WebCore.order: + * dom/Document.cpp: + (WebCore::Document::nodesFromRect): + * dom/Document.h: + (Document): + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::createContextMenu): + * page/DragController.cpp: + (WebCore::DragController::canProcessDrag): + (WebCore::DragController::startDrag): + * page/EventHandler.cpp: + (WebCore::EventHandler::updateAutoscrollRenderer): + (WebCore::EventHandler::hitTestResultAtPoint): + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::handleGestureEvent): + (WebCore::EventHandler::bestClickableNodeForTouchPoint): + (WebCore::EventHandler::bestContextMenuNodeForTouchPoint): + (WebCore::EventHandler::bestZoomableAreaForTouchPoint): + (WebCore::EventHandler::handleTouchEvent): + * page/EventHandler.h: + (EventHandler): + * page/FocusController.cpp: + (WebCore::updateFocusCandidateIfNeeded): + * page/Frame.cpp: + (WebCore::Frame::visiblePositionForPoint): + (WebCore::Frame::documentAtPoint): + * page/TouchDisambiguation.cpp: + (WebCore::findGoodTouchTargets): + * rendering/HitTestRequest.h: + (HitTestRequest): + * testing/Internals.cpp: + (WebCore::Internals::nodesFromRect): + +2012-09-07 Simon Hausmann <simon.hausmann@nokia.com> + + Build of OpenGLShims.cpp against EGL/GLES2 platforms is broken + https://bugs.webkit.org/show_bug.cgi?id=95556 + + Reviewed by Jocelyn Turcotte. + + There were a few problems: + + 1) GL_ANGLE_framebuffer_blit is the name of the macro indicating the + availability of the _declaration_ of that ANGLE extension. It is not the + name of the actual function, which is glBlitFramebufferANGLE. + + 2) The presence of the preprocessor macros indicating the availability + of the declaration of the extension does not imply presence of the extension + prototypes at link time. Instead extensions need to be looked up dynamically + at run-time. + + 3) dlfcn.h was unconditionally included. We do not need it when building against + Qt (and there it breaks the Windows build) + + This patch implements the dynamic lookup of glBlitFramebufferANGLE + (used in GraphicsContext3DOpenGLES.cpp) as well as the dynamic lookup of the + Angle and Apple renderbuffer multisampling extensions. + + * platform/graphics/OpenGLShims.cpp: + (WebCore): + (WebCore::initializeOpenGLShims): + +2012-09-07 Zan Dobersek <zandobersek@gmail.com> + + [GTK] Multiple feature defines in webcore_cppflags can occur + https://bugs.webkit.org/show_bug.cgi?id=95942 + + Reviewed by Martin Robinson. + + Any feature define that guards a feature deemed currently unstable (is intended + to be enabled in developer builds but not in release builds) should be added to the + newly-added feature_defines_unstable variable. + + This moves away from adding such feature defines to the feature_defines_overrides variable + as this can cause duplicates in the later-generated feature_defines and webcore_cppflags + variables and further warnings of duplicate macros when generating bindings. + + The feature_defines generation is now done by first checking if the bare feature define + is present in feature_defines_unstable, if not then feature_defines_overrides is also + checked before using the value from feature_defines_defaults. + + No new tests - no new functionality. + + * GNUmakefile.am: + +2012-09-07 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: NMI: move WebCore specific code to separate header + https://bugs.webkit.org/show_bug.cgi?id=96101 + + Reviewed by Yury Semikhatsky. + + I extracted WebCore related code from MemoryInstrumentation.h to WebCoreMemoryInstrumentation.h + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/ScriptWrappable.h: + * bindings/v8/DOMDataStore.cpp: + * bindings/v8/IntrusiveDOMWrapperMap.h: + * bindings/v8/ScriptProfiler.cpp: + * bindings/v8/ScriptWrappable.h: + * bindings/v8/V8Binding.cpp: + * bindings/v8/V8DOMMap.h: + * css/CSSAspectRatioValue.cpp: + * css/CSSBorderImageSliceValue.cpp: + * css/CSSCalculationValue.cpp: + * css/CSSCanvasValue.cpp: + * css/CSSCharsetRule.cpp: + * css/CSSComputedStyleDeclaration.cpp: + * css/CSSCrossfadeValue.cpp: + * css/CSSCursorImageValue.cpp: + * css/CSSFontFaceRule.cpp: + * css/CSSFontFaceSrcValue.cpp: + * css/CSSFunctionValue.cpp: + * css/CSSGradientValue.cpp: + * css/CSSImageGeneratorValue.cpp: + * css/CSSImageSetValue.cpp: + * css/CSSImageValue.cpp: + * css/CSSImportRule.cpp: + * css/CSSInheritedValue.cpp: + * css/CSSInitialValue.cpp: + * css/CSSLineBoxContainValue.cpp: + * css/CSSMediaRule.cpp: + * css/CSSPrimitiveValue.cpp: + * css/CSSProperty.cpp: + * css/CSSReflectValue.cpp: + * css/CSSRuleList.h: + * css/CSSSelectorList.cpp: + * css/CSSStyleRule.cpp: + * css/CSSStyleSheet.cpp: + * css/CSSTimingFunctionValue.cpp: + * css/CSSUnicodeRangeValue.cpp: + * css/CSSUnknownRule.h: + * css/CSSValue.cpp: + * css/CSSValueList.cpp: + * css/CSSVariableValue.h: + * css/FontFeatureValue.cpp: + * css/FontValue.cpp: + * css/MediaList.cpp: + * css/MediaQuery.cpp: + * css/MediaQueryExp.cpp: + * css/PropertySetCSSStyleDeclaration.cpp: + * css/ShadowValue.cpp: + * css/StyleResolver.cpp: + * css/StyleRule.cpp: + * css/StyleSheetContents.cpp: + * css/WebKitCSSArrayFunctionValue.cpp: + * css/WebKitCSSFilterValue.cpp: + * css/WebKitCSSKeyframeRule.cpp: + * css/WebKitCSSKeyframesRule.cpp: + * css/WebKitCSSMixFunctionValue.cpp: + * css/WebKitCSSSVGDocumentValue.cpp: + * css/WebKitCSSShaderValue.cpp: + * css/WebKitCSSTransformValue.cpp: + * dom/CharacterData.cpp: + * dom/Document.cpp: + * dom/DocumentEventQueue.cpp: + * dom/ElementAttributeData.cpp: + * dom/Event.cpp: + * dom/MemoryInstrumentation.h: + * dom/Node.cpp: + * dom/QualifiedName.h: + * dom/WebCoreMemoryInstrumentation.cpp: Renamed from Source/WebCore/dom/MemoryInstrumentation.cpp. + (WebCore): + (WebCore::String): + (WebCore::StringImpl): + (WebCore::KURL): + (WebCore::AtomicString): + * dom/WebCoreMemoryInstrumentation.h: Added. + (WebCore): + (WebCoreMemoryTypes): + * loader/DocumentLoader.cpp: + * loader/FrameLoader.cpp: + * loader/SubresourceLoader.cpp: + * loader/SubstituteData.cpp: + * loader/cache/CachedCSSStyleSheet.cpp: + * loader/cache/CachedFont.cpp: + * loader/cache/CachedRawResource.cpp: + * loader/cache/CachedResource.cpp: + * loader/cache/CachedResourceHandle.cpp: + * loader/cache/CachedScript.cpp: + * loader/cache/CachedShader.cpp: + * loader/cache/CachedXSLStyleSheet.cpp: + * loader/cache/MemoryCache.cpp: + * platform/SharedBuffer.cpp: + * platform/graphics/BitmapImage.cpp: + * platform/graphics/CrossfadeGeneratedImage.cpp: + * platform/graphics/GeneratedImage.cpp: + * platform/graphics/GeneratorGeneratedImage.h: + * platform/graphics/Image.cpp: + * platform/network/FormData.cpp: + * platform/network/ResourceRequestBase.cpp: + * platform/network/ResourceResponseBase.cpp: + * rendering/style/RenderStyle.cpp: + * rendering/style/StyleRareInheritedData.cpp: + * rendering/style/StyleRareNonInheritedData.cpp: + * svg/SVGColor.cpp: + * svg/SVGPaint.cpp: + +2012-09-07 Ian Vollick <vollick@chromium.org> + + [chromium] We should accelerate all transformations, except when we must blend matrices that cannot be decomposed. + https://bugs.webkit.org/show_bug.cgi?id=95855 + + Reviewed by James Robinson. + + WebTransformOperations are now able to report if they can successfully blend. + WebTransformationMatrix::blend now returns a bool if blending would fail. + + Unit tests: + AnimationTranslationUtilTest.createTransformAnimationWithNonDecomposableMatrix + AnimationTranslationUtilTest.createTransformAnimationWithNonInvertibleTransform + + * platform/chromium/support/WebTransformOperations.cpp: + (WebKit::blendTransformOperations): + (WebKit::WebTransformOperations::blend): + (WebKit::WebTransformOperations::canBlendWith): + (WebKit): + (WebKit::WebTransformOperations::blendInternal): + * platform/chromium/support/WebTransformationMatrix.cpp: + (WebKit::WebTransformationMatrix::blend): + * platform/graphics/chromium/AnimationTranslationUtil.cpp: + (WebCore::WebTransformAnimationCurve): + +2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127780 and r127859. + http://trac.webkit.org/changeset/127780 + http://trac.webkit.org/changeset/127859 + https://bugs.webkit.org/show_bug.cgi?id=96102 + + "inspector/styles/protocol-css-regions-commands.html crashing + on Chromium Linux Debug and timing out flakily on Release" + (Requested by apavlov on #webkit). + + * dom/NamedFlowCollection.cpp: + (WebCore::NamedFlowCollection::ensureFlowWithName): + (WebCore::NamedFlowCollection::discardNamedFlow): + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::reset): + (WebCore::InspectorCSSAgent::didCreateNamedFlow): + (WebCore::InspectorCSSAgent::didRemoveNamedFlow): + (WebCore::InspectorCSSAgent::getNamedFlowCollection): + (WebCore::InspectorCSSAgent::getFlowByName): + (WebCore): + * inspector/InspectorCSSAgent.h: + (WebCore): + (InspectorCSSAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore): + (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): + (WebCore::InspectorInstrumentation::didRemoveNamedFlowImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::didCreateNamedFlow): + (WebCore::InspectorInstrumentation::didRemoveNamedFlow): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel): + (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync): + (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync): + (WebInspector.CSSStyleModel.prototype._namedFlowCreated.callback): + (WebInspector.CSSStyleModel.prototype._namedFlowCreated): + (WebInspector.CSSStyleModel.prototype._namedFlowRemoved.callback): + (WebInspector.CSSStyleModel.prototype._namedFlowRemoved): + (WebInspector.CSSDispatcher.prototype.namedFlowCreated): + (WebInspector.CSSDispatcher.prototype.namedFlowRemoved): + (WebInspector.NamedFlow): + (WebInspector.NamedFlow.parsePayloadArray): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent): + +2012-09-07 Sami Kyostila <skyostil@google.com> + + [chromium] Dynamically removing preserve-3d from a layer has no effect + https://bugs.webkit.org/show_bug.cgi?id=95732 + + Reviewed by James Robinson. + + Fix removal of preserve-3d CSS attribute from a GraphicsLayerChromium. + It was broken by a refactor in http://trac.webkit.org/changeset/126378. + + Test: platform/chromium/compositing/preserve-3d-toggle.html + + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): + +2012-09-06 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: Implement SCSS source highlighter + https://bugs.webkit.org/show_bug.cgi?id=95585 + + Reviewed by Vsevolod Vlasov. + + This change modifies the existing CSS highlighter to support SCSS as well. The "text/x-scss" mime-type is assigned to SASSSource. + + * inspector/front-end/CSSCompletions.js: + (WebInspector.CSSCompletions.cssPropertiesMetainfoKeySet): + * inspector/front-end/ContentProviders.js: + (WebInspector.StaticContentProvider): Enabled clients to supply the content mime-type. + (WebInspector.StaticContentProvider.prototype.mimeType): + (WebInspector.StaticContentProvider.prototype.requestContent): Use client-supplied content mime-type, if any. + * inspector/front-end/SASSSourceMapping.js: + (WebInspector.SASSSource): Construct StaticContentProvider with the "text/x-scss" mime-type. + * inspector/front-end/SourceCSSTokenizer.js: + (WebInspector.SourceCSSTokenizer): + (WebInspector.SourceCSSTokenizer.prototype.nextToken): + * inspector/front-end/SourceCSSTokenizer.re2js: Extended with the SCSS syntax. + * inspector/front-end/SourceTokenizer.js: + (WebInspector.SourceTokenizer.Registry): + * inspector/front-end/inspectorSyntaxHighlight.css: + (.webkit-css-bang-keyword): + +2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com> + + X11 Global Selection + https://bugs.webkit.org/show_bug.cgi?id=88238 + + Reviewed by Tony Chang. + + In X11 global selection is the ability to share the active selection + between applications and pasting with middle mouse-button. + + This patch moves the implementations of global selection from the + separate implementations in Qt WebKit, Chromium and GTK to WebCore, + by implementing a new EditorCommand for pasting the global selection. + + Test: editing/pasteboard/paste-global-selection.html + + * editing/EditorCommand.cpp: + (WebCore::executePasteGlobalSelection): + (WebCore::createCommandMap): + * page/EditorClient.h: + (EditorClient): + (WebCore::EditorClient::supportsGlobalSelection): + * platform/Pasteboard.h: + (WebCore::Pasteboard::isSelectionMode): + (WebCore::Pasteboard::setSelectionMode): + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writeURL): + (WebCore::Pasteboard::isSelectionMode): + (WebCore::Pasteboard::setSelectionMode): + +2012-09-06 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Migrate Database to async protocol commands + https://bugs.webkit.org/show_bug.cgi?id=95983 + + Reviewed by Alexander Pavlov. + + * English.lproj/localizedStrings.js: + * inspector/Inspector.json: + * inspector/InspectorDatabaseAgent.cpp: + (WebCore): + (WebCore::InspectorDatabaseAgent::didOpenDatabase): + (WebCore::InspectorDatabaseAgent::setFrontend): + (WebCore::InspectorDatabaseAgent::clearFrontend): + (WebCore::InspectorDatabaseAgent::enable): + (WebCore::InspectorDatabaseAgent::executeSQL): + * inspector/InspectorDatabaseAgent.h: + (InspectorDatabaseAgent): + * inspector/front-end/Database.js: + (WebInspector.Database.prototype.executeSql): + (WebInspector.DatabaseDispatcher.prototype.addDatabase): + +2012-09-07 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed single line follow-up change for r127856. + + * dom/MemoryInstrumentation.h: + (WebCore::MemoryClassInfo::MemoryClassInfo): + +2012-09-07 Vsevolod Vlasov <vsevik@chromium.org> + + Unreviewed inspector closure compilation errors fix. + + * inspector/front-end/CSSStyleModel.js: + (WebInspector.NamedFlowCollection): + +2012-09-06 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Migrate FileSystem to async protocol commands. + https://bugs.webkit.org/show_bug.cgi?id=95985 + + Reviewed by Alexander Pavlov. + + Migrated FileSystem domain to async protocol commands and removed boilerplate code. + + * inspector/Inspector.json: + * inspector/InspectorFileSystemAgent.cpp: + (WebCore): + (WebCore::InspectorFileSystemAgent::~InspectorFileSystemAgent): + (WebCore::InspectorFileSystemAgent::requestFileSystemRoot): + (WebCore::InspectorFileSystemAgent::requestDirectoryContent): + (WebCore::InspectorFileSystemAgent::requestMetadata): + (WebCore::InspectorFileSystemAgent::requestFileContent): + (WebCore::InspectorFileSystemAgent::deleteEntry): + (WebCore::InspectorFileSystemAgent::clearFrontend): + (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent): + (WebCore::InspectorFileSystemAgent::assertEnabled): + * inspector/InspectorFileSystemAgent.h: + (InspectorFileSystemAgent): + * inspector/front-end/FileSystemModel.js: + (WebInspector.FileSystemModel): + (WebInspector.FileSystemModel.prototype._originAdded): + (WebInspector.FileSystemModel.prototype._requestFileSystemRoot): + (WebInspector.FileSystemModel.prototype.requestDirectoryContent): + (WebInspector.FileSystemModel.prototype._requestDirectoryContent): + (WebInspector.FileSystemModel.prototype._directoryContentReceived): + (WebInspector.FileSystemModel.prototype.requestMetadata): + (WebInspector.FileSystemModel.prototype.requestFileContent): + (WebInspector.FileSystemModel.prototype._requestFileContent): + (WebInspector.FileSystemModel.prototype._deleteEntry): + +2012-09-07 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: NMI: remove DataRef instrumentation from the core NMI code. + https://bugs.webkit.org/show_bug.cgi?id=96086 + + Reviewed by Yury Semikhatsky. + + This patch is removing the last WebCore specific methods from core memory instrumentation code. + + It is covered by webkit_unit_tests. + + * dom/MemoryInstrumentation.h: + (WebCore): + (MemoryObjectInfo): + (WebCore::MemoryClassInfo::MemoryClassInfo): + * rendering/style/DataRef.h: + (DataRef): + (WebCore::DataRef::reportMemoryUsage): + +2012-09-06 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Migrate IndexedDB to async protocol commands. + https://bugs.webkit.org/show_bug.cgi?id=95978 + + Reviewed by Alexander Pavlov. + + IndexedDB is now implemented using async protocol commands. + Removed boilerplate code used to emulate async commands before. + + * inspector/Inspector.json: + * inspector/InspectorIndexedDBAgent.cpp: + (WebCore): + (WebCore::InspectorIndexedDBAgent::clearFrontend): + (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame): + (WebCore::InspectorIndexedDBAgent::requestDatabase): + (WebCore::InspectorIndexedDBAgent::requestData): + * inspector/InspectorIndexedDBAgent.h: + (InspectorIndexedDBAgent): + * inspector/front-end/IndexedDBModel.js: + (WebInspector.IndexedDBModel): + (WebInspector.IndexedDBModel.prototype._frameDetached): + (WebInspector.IndexedDBModel.prototype._reset): + (WebInspector.IndexedDBModel.prototype._databaseRemoved): + (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame): + (WebInspector.IndexedDBModel.prototype._loadDatabase.callback): + (WebInspector.IndexedDBModel.prototype._loadDatabase): + (WebInspector.IndexedDBModel.prototype.loadObjectStoreData): + (WebInspector.IndexedDBModel.prototype.loadIndexData): + (WebInspector.IndexedDBModel.prototype._requestData.innerCallback): + (WebInspector.IndexedDBModel.prototype._requestData): + +2012-09-07 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Add *explicit* keyword to constructors in WebCore/xml + https://bugs.webkit.org/show_bug.cgi?id=96071 + + Reviewed by Kentaro Hara. + + As a step to let *explicit* add to constructors which have only one parameter, + *explicit* is added to Source/WebCore/xml in order to avoid implicit type conversion. + + No new tests. Covered by existing tests. + + * xml/NativeXPathNSResolver.h: + (NativeXPathNSResolver): + * xml/XMLHttpRequestException.h: + (WebCore::XMLHttpRequestException::XMLHttpRequestException): + * xml/XMLHttpRequestProgressEventThrottle.h: + (XMLHttpRequestProgressEventThrottle): + * xml/XMLHttpRequestUpload.h: + (XMLHttpRequestUpload): + * xml/XPathException.h: + (WebCore::XPathException::XPathException): + * xml/XPathPredicate.h: + (Number): + (StringExpression): + (Predicate): + * xml/XPathValue.h: + (WebCore::XPath::ValueData::ValueData): + * xml/XPathVariableReference.h: + (VariableReference): + +2012-09-07 Yoshifumi Inoue <yosin@chromium.org> + + We should have a localized string of empty for date time field + https://bugs.webkit.org/show_bug.cgi?id=96081 + + Reviewed by Kent Tamura. + + This patch add a declaration of function for getting localized string + of empty field value date time field for accessibility inside + ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. + + These functions will be used by derived classes of DateTimeFieldElement. + + Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name + to support "date", "datetime", "month" and "week" multiple fields input + UI. + + No new tests. This patch doesn't change behavior. + + * platform/LocalizedStrings.h: + (WebCore): Added a declaration of AXDateTimeFieldEmptyValueText(). + +2012-09-07 Ryuan Choi <ryuan.choi@samsung.com> + + [EFL] Use ASCIILiteral for cursorStringMap. + https://bugs.webkit.org/show_bug.cgi?id=96072 + + Reviewed by Gyuyoung Kim. + + This patch converts static strings of cursorStringMap to use ASCIILiteral + as recommended by http://trac.webkit.org/wiki/EfficientStrings. + + * platform/efl/EflScreenUtilities.cpp: + (WebCore::CursorMap::CursorMap): + +2012-09-07 Tim Horton <timothy_horton@apple.com> + + Scrolling performance logging should use WTFLogAlways instead of printf + https://bugs.webkit.org/show_bug.cgi?id=96080 + + Reviewed by Dan Bernstein. + + Use WTF logging facilities instead of printf() for scrolling performance logging. + + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore::ScrollingTreeNodeMac::logExposedUnfilledArea): + * platform/graphics/ca/mac/WebTileLayer.mm: + (-[WebTileLayer logFilledFreshTile]): + +2012-09-07 Luke Macpherson <macpherson@chromium.org> + + Make CSSPrimitiveValue::cleanup() handle all UnitTypes, fixing memory leak in the process. + https://bugs.webkit.org/show_bug.cgi?id=95938 + + Reviewed by Andreas Kling. + + Several unit types have been added without updating the cleanup function, including CSS_VARIABLE_NAME. + I've added all the existing unit types back in and cast m_primitiveUnitType (a bitfield in CSSValue) + to the enum type to ensure the compiler catches any future errors. + + No test added, but switch made to use enum type so we can't accidentally fail to update this function again. + + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::cleanup): + +2012-09-07 Tim Horton <timothy_horton@apple.com> + + Add optional debug logging when we fall into/out of threaded scrolling + https://bugs.webkit.org/show_bug.cgi?id=93898 + <rdar://problem/12089098> + + Reviewed by Simon Fraser. + + Add logging when we enter and exit the threaded scrolling mode, and logs the reasons we + fall into main-thread scrolling. + + The logging output looks like this: + SCROLLING: Switching to main-thread scrolling mode. Time: 15843.554718 Reason(s): viewport-constrained objects + SCROLLING: Switching to threaded scrolling mode. Time: 15844.550866 + SCROLLING: Switching to main-thread scrolling mode. Time: 15845.551214 Reason(s): viewport-constrained objects + SCROLLING: Switching to threaded scrolling mode. Time: 15846.552619 + SCROLLING: Switching to main-thread scrolling mode. Time: 15847.553587 Reason(s): viewport-constrained objects + SCROLLING: Switching to threaded scrolling mode. Time: 15848.554084 + + No new tests, as this is just debugging logging. + + * WebCore.xcodeproj/project.pbxproj: + Expose ScrollingTreeState.h as a private header. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange): + (WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange): + (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange): + (WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates): + (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason): + * page/scrolling/ScrollingCoordinator.h: + (ScrollingCoordinator): + * page/scrolling/ScrollingCoordinatorNone.cpp: + (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason): + * page/scrolling/ScrollingTreeNode.cpp: + (WebCore::ScrollingTreeNode::ScrollingTreeNode): + (WebCore::ScrollingTreeNode::update): + * page/scrolling/ScrollingTreeNode.h: + (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThreadReason): + (ScrollingTreeNode): + * page/scrolling/ScrollingTreeState.cpp: + (WebCore::ScrollingTreeState::ScrollingTreeState): + (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThreadReason): + * page/scrolling/ScrollingTreeState.h: + (WebCore::ScrollingTreeState::shouldUpdateScrollLayerPositionOnMainThreadReason): + * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: + (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason): + Rename updateShouldUpdateScrollLayerPositionOnMainThread to updateShouldUpdateScrollLayerPositionOnMainThreadReason (and related). + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::hasNonLayerViewportConstrainedObjects): + Renamed from hasNonLayerFixedObjects to match the rest of the renames going on. + (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThreadReason): + Construct a bitfield describing the reasons we fall into main-thread scrolling mode. + + * page/scrolling/ScrollingTreeState.h: + (ScrollingTreeState): + Add ReasonsForUpdatingScrollLayerPositionOnMainThread enum, with the current reasons that we might fallback to main-thread scrolling. + + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore): + (WebCore::ScrollingTreeNodeMac::update): Log every time scrolling mode changes. + (WebCore::ScrollingTreeNodeMac::scrollPosition): + (WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints): + (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition): + (WebCore::logThreadedScrollingMode): Pretty-print the scrolling mode and shouldUpdateScrollLayerPositionOnMainThreadReason. + +2012-09-06 Patrick Gansterer <paroga@webkit.org> + + Build fix for WinCE after r127801. + + * platform/graphics/wince/FontWinCE.cpp: + (WebCore::generateComponents): + +2012-09-06 Alexander Pavlov <apavlov@chromium.org> + + [Chromium] Regression: Web Inspector tool-tips pixellated with --force-device-scale-factor=2 + https://bugs.webkit.org/show_bug.cgi?id=95875 + + Reviewed by Vsevolod Vlasov. + + The overlay canvas is scaled according to the actual devicePixelRatio of the inspected page, while retaining its original CSS size. + + * inspector/InspectorOverlay.cpp: + (WebCore::InspectorOverlay::reset): + * inspector/InspectorOverlayPage.html: + +2012-09-06 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127822. + http://trac.webkit.org/changeset/127822 + https://bugs.webkit.org/show_bug.cgi?id=96073 + + It broke compilation on chromium debug bots (Requested by + loislo on #webkit). + + * platform/graphics/chromium/cc/CCDirectRenderer.cpp: + (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame): + (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId): + * platform/graphics/chromium/cc/CCDirectRenderer.h: + (CCDirectRenderer): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): + (WebCore::findRenderPassById): + (WebCore::removeRenderPassesRecursive): + * platform/graphics/chromium/cc/CCRenderPass.cpp: + (WebCore::CCRenderPass::create): + (WebCore::CCRenderPass::CCRenderPass): + (WebCore::CCRenderPass::copy): + * platform/graphics/chromium/cc/CCRenderPass.h: + (CCRenderPass): + (WebCore::CCRenderPass::id): + (WebCore): + * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: + (WebCore::CCRenderPassDrawQuad::create): + (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad): + (WebCore::CCRenderPassDrawQuad::copy): + * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: + (WebCore): + (CCRenderPassDrawQuad): + (WebCore::CCRenderPassDrawQuad::renderPassId): + * platform/graphics/chromium/cc/CCRenderSurface.cpp: + (WebCore::CCRenderSurface::appendRenderPasses): + (WebCore::CCRenderSurface::appendQuads): + * platform/graphics/chromium/cc/CCRenderSurface.h: + (WebCore): + (CCRenderSurface): + * platform/graphics/chromium/cc/CCRenderer.h: + (WebCore::CCRenderer::haveCachedResourcesForRenderPassId): + +2012-09-06 Anna Cavender <annacc@chromium.org> + + The CC button should have chrome-specific rendering for Mac. + https://bugs.webkit.org/show_bug.cgi?id=95981 + + Reviewed by Eric Carlson. + + This patch allows RenderThemeChromiumMac to define its own behavior for the CC button. + + No new tests. Button should display graphics from chromium resources. + + * css/mediaControlsChromium.css: + (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): + Adjust styling for the chromium graphics. + * rendering/RenderMediaControlsChromium.cpp: + (WebCore::paintMediaClosedCaptionsButton): + Check whether closed captions are visible to decide how to draw the button. + * rendering/RenderThemeChromiumMac.h: + (RenderThemeChromiumMac): + Override the paint function for the CC button. + * rendering/RenderThemeChromiumMac.mm: + (WebCore): + (WebCore::RenderThemeChromiumMac::paintMediaToggleClosedCaptionsButton): + Call the chromium-specific painting function. + +2012-09-06 Elliott Sprehn <esprehn@chromium.org> + + Add methods to CounterDirectives to clean up StyleBuilder and RenderCounter. + https://bugs.webkit.org/show_bug.cgi?id=94587 + + Reviewed by Julien Chaffraix. + + Adds several methods to CounterDirectives and an accessor method to RenderStyle for + getting the CounterDirectives by idenfitier and uses those methods to clean up + the code in StyleBuilder and RenderCounter. This also switches to using AtomicString + directly instead of AtomicStringImpl and calling get() everywhere. + + The refactor fixes the unitialized read in WKBug 94642. + + Test: fast/css/counters/counter-reset-inherit-bug-94642.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::counterToCSSValue): Use new accessors. + * css/StyleBuilder.cpp: + (WebCore::ApplyPropertyCounter::applyInheritValue): Use new inherit methods. + (WebCore::ApplyPropertyCounter::applyValue): Use new setters. + * rendering/RenderCounter.cpp: + (WebCore): + (WebCore::planCounter): + (WebCore::makeCounterNode): + (WebCore::destroyCounterNodeWithoutMapRemoval): + (WebCore::RenderCounter::destroyCounterNodes): + (WebCore::RenderCounter::destroyCounterNode): + (WebCore::updateCounters): + (WebCore::RenderCounter::rendererStyleChanged): + (showCounterRendererTree): + * rendering/style/CounterDirectives.cpp: + (WebCore::operator==): + * rendering/style/CounterDirectives.h: Added new accessors and switched to using AtomicString directly. + (CounterDirectives): + (WebCore::CounterDirectives::CounterDirectives): + (WebCore::CounterDirectives::isReset): + (WebCore::CounterDirectives::resetValue): + (WebCore::CounterDirectives::setResetValue): + (WebCore::CounterDirectives::clearReset): + (WebCore::CounterDirectives::inheritReset): + (WebCore::CounterDirectives::isIncrement): + (WebCore::CounterDirectives::incrementValue): + (WebCore::CounterDirectives::addIncrementValue): + (WebCore::CounterDirectives::clearIncrement): + (WebCore::CounterDirectives::inheritIncrement): + (WebCore::CounterDirectives::isDefined): If either reset or increment is used. + (WebCore::CounterDirectives::combinedValue): Combined local value of the counter. + (WebCore): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::getCounterDirectives): New method which always returns a CounterDirectives instance by identifier. + (WebCore): + * rendering/style/RenderStyle.h: + +2012-09-06 Joanmarie Diggs <jdiggs@igalia.com> + + [Gtk] accessibility/canvas-description-and-role expected results needed + https://bugs.webkit.org/show_bug.cgi?id=95644 + + Reviewed by Martin Robinson. + + The new accessibility CanvasRole should be mapped to ATK_ROLE_CANVAS + rather than ATK_ROLE_IMAGE. + + No new test because the CanvasRole came with a new layout test lacking + expected results for Gtk. The generated expected results for that test + reflect the revised mapping to ATK_ROLE_CANVAS. + + * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: + (atkRole): + +2012-09-06 Hironori Bono <hbono@chromium.org> + + A build fix for Chromium Windows + https://bugs.webkit.org/show_bug.cgi?id=96062 + + Reviewed by James Robinson. + + This change fixes a build break on Chromium Windows caused by r127801 + <http://trac.webkit.org/changeset/127801>. It replaces characters() with + characters16(). + + No new tests because this change is a build fix. + + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): + +2012-09-06 Dana Jansens <danakj@chromium.org> + + [chromium] Make RenderPass ids hold both generating layer id and an index + https://bugs.webkit.org/show_bug.cgi?id=95500 + + Reviewed by Adrienne Walker. + + This change allows us to avoid complex renderPassId mappings between + compositors for ubercomp. The ubercomp layer needs to add a number + of RenderPasses to the frame, and these must not conflict with other + RenderPasses in the frame. By using its layer id along with an extra + value it determines, the layer can create a unique id without needing + access to any global state or id generator. + + Covered by existing tests. + + * platform/graphics/chromium/cc/CCDirectRenderer.cpp: + (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame): + (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId): + * platform/graphics/chromium/cc/CCDirectRenderer.h: + (CCDirectRenderer): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): + (WebCore::findRenderPassById): + (WebCore::removeRenderPassesRecursive): + * platform/graphics/chromium/cc/CCRenderPass.cpp: + (WebCore::CCRenderPass::create): + (WebCore::CCRenderPass::CCRenderPass): + * platform/graphics/chromium/cc/CCRenderPass.h: + (Id): + (WebCore::CCRenderPass::Id::Id): + (WebCore::CCRenderPass::Id::operator==): + (WebCore::CCRenderPass::Id::operator!=): + (WebCore::CCRenderPass::Id::operator<): + (CCRenderPass): + (WebCore::CCRenderPass::id): + (WebCore): + * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: + (WebCore::CCRenderPassDrawQuad::create): + (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad): + * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: + (CCRenderPassDrawQuad): + (WebCore::CCRenderPassDrawQuad::renderPassId): + * platform/graphics/chromium/cc/CCRenderSurface.cpp: + (WebCore::CCRenderSurface::renderPassId): + (WebCore): + (WebCore::CCRenderSurface::appendRenderPasses): + (WebCore::CCRenderSurface::appendQuads): + * platform/graphics/chromium/cc/CCRenderSurface.h: + (WebCore): + (CCRenderSurface): + * platform/graphics/chromium/cc/CCRenderer.h: + (WebCore::CCRenderer::haveCachedResourcesForRenderPassId): + +2012-09-06 Christopher Cameron <ccameron@chromium.org> + + [chromium] Do not delete texture backing structures on the main thread + https://bugs.webkit.org/show_bug.cgi?id=96018 + + Reviewed by James Robinson. + + Do not delete CCPrioritizedTexture::Backing structures on the main + thread. Instead, unlink them from their owning CCPrioritizedTexture + in the main thread, and have the impl thread then delete all unlinked + textures. + + This is towards having the main thread not access the m_backings set, + which will allow the impl thread to traverse that set when deleting + resources in response to GPU memory management events. + + Tested by existing eviction tests (CCLayerTreeHostTest's + TestEvictTextures, LostContextAfterEvictTextures) + + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::unlinkAllContentTextures): + (WebCore): + (WebCore::CCLayerTreeHost::deleteUnlinkedTextures): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (CCLayerTreeHost): + * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: + (WebCore::CCPrioritizedTextureManager::clearAllMemory): + (WebCore::CCPrioritizedTextureManager::unlinkAllBackings): + (WebCore): + (WebCore::CCPrioritizedTextureManager::deleteAllUnlinkedBackings): + * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h: + (CCPrioritizedTextureManager): + * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: + (WebCore::CCSingleThreadProxy::commitAndComposite): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::beginFrame): + (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread): + +2012-09-06 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Fix debug Windows build + https://bugs.webkit.org/show_bug.cgi?id=96008 + + Reviewed by Tor Arne Vestbø. + + Add a few more files to the AllInOne configuration to reduce the number of object files + and their total size, allowing a debug build with MSVC again. + + * Target.pri: + +2012-09-06 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Fix text encoding detecting + https://bugs.webkit.org/show_bug.cgi?id=96014 + + Reviewed by Kenneth Rohde Christiansen. + + Since we rely on ICU now, we might as well use the actually implemented text encoding + detector instead of the dummy "none" one. + + I could not locate any layout tests that actually cover this :( + + * Target.pri: + +2012-09-06 Yoshifumi Inoue <yosin@chromium.org> + + We should have localized strings of date time fields for accessibility + https://bugs.webkit.org/show_bug.cgi?id=96050 + + Reviewed by Kent Tamura. + + This patch adds declarations of function for getting localized string + of date time field for accessibility inside ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. + + These functions will be used by derived classes of DateTimeFieldElement. + + Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name + to support "date", "datetime", "month" and "week" multiple fields input + UI. + + No new tests. This patch doesn't change behavior. + + * platform/LocalizedStrings.h: + (WebCore): Added declarations of AXAMPMFieldText(), AXDayOfMonthFieldText(), + AXHourFieldText(), AXMillisecondFieldText(), AXMinuteFieldText(), AXMonthFieldText(), + AXSecondFieldText(), AXWeekOfYearFieldText(), and AXYearFieldText(). + +2012-09-06 Tony Chang <tony@chromium.org> + + Make computePositionedLogicalWidth and computePositionedLogicalWidthReplaced const + https://bugs.webkit.org/show_bug.cgi?id=95907 + + Reviewed by Ojan Vafai. + + This is refactoring to make RenderBox::computeLogicalWidth const. Make some methods that + get called by computeLogicalWidth const. We path in a struct that we populate with values. + + No new tests, this is just a refactoring. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeLogicalWidthInRegion): Make a LogicalExtentComputedValues to + hold results. + (WebCore::RenderBox::computePositionedLogicalWidth): Make const. + (WebCore::RenderBox::computePositionedLogicalWidthUsing): Change output to use LogicalExtentComputedValues + instead of 4 separate params. + (WebCore::RenderBox::computePositionedLogicalWidthReplaced): Make const. + * rendering/RenderBox.h: + (RenderBox): Add const and change out params to LogicalExtentComputedValues. + * rendering/RenderTable.cpp: + (WebCore::RenderTable::computeLogicalWidth): Make a LogicalExtentComputedValues to + hold results. + +2012-09-06 MORITA Hajime <morrita@google.com> + + [Shadow DOM][Refactoring] Element subclasses should have a way to reject author shadows. + https://bugs.webkit.org/show_bug.cgi?id=95831 + + Reviewed by Dimitri Glazkov. + + Originally, the availability of author shadows was decided by ShadowRoot class. + This change moves that responsibility to each Element subclasses to make future + author shadow support improvement local to each replaced elements, rather than + touching ShadowRoot.cpp for reach. + + No new tests. Should have no behavioral change. + + * dom/Element.h: + * dom/ShadowRoot.cpp: + (WebCore::allowsAuthorShadowRoot): + * html/HTMLTextFormControlElement.h: + (HTMLTextFormControlElement): + * svg/SVGElement.h: + (SVGElement): + +2012-09-06 Adam Barth <abarth@chromium.org> + + [V8] Weave creationContext through toV8 and related functions + https://bugs.webkit.org/show_bug.cgi?id=96039 + + Reviewed by Eric Seidel. + + In order to give DOM wrappers the correct prototype chain, we need to + know what the creationContext ought to be for each wrapper. This patch + weaves that information through toV8 and related functions. + + This patch doesn't yet use the information. That will take place in a + separate patch. For that reason, this patch should not have any + behavior change. + + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateHeader): + (GenerateNormalAttrGetter): + (GenerateNamedConstructorCallback): + (GenerateImplementation): + (GenerateToV8Converters): + (GenerateFunctionCallString): + (NativeToJSValue): + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::Float64ArrayV8Internal::fooCallback): + * bindings/v8/DOMTransaction.cpp: + (WebCore::DOMTransaction::callFunction): + * bindings/v8/IDBCustomBindings.cpp: + (WebCore::V8IDBCursorWithValue::valueAccessorGetter): + * bindings/v8/SerializedScriptValue.cpp: + * bindings/v8/V8Binding.h: + (WebCore::V8ValueTraits::arrayV8Value): + * bindings/v8/V8Collection.h: + (WebCore::getV8Object): + (WebCore::getNamedPropertyOfCollection): + (WebCore::collectionNamedPropertyGetter): + (WebCore::getIndexedPropertyOfCollection): + (WebCore::collectionIndexedPropertyGetter): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::getter): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore): + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + * bindings/v8/V8DOMWrapper.h: + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + (V8DOMWrapper): + * bindings/v8/V8ThrowException.cpp: + (WebCore): + * bindings/v8/custom/V8BlobCustom.cpp: + (WebCore::toV8): + (WebCore::V8Blob::constructorCallback): + * bindings/v8/custom/V8CSSRuleCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8CSSValueCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + (WebCore::toV8Object): + (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter): + (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter): + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::memoryAccessorGetter): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::openCallback): + (WebCore::V8DOMWindow::indexedPropertyGetter): + (WebCore::V8DOMWindow::namedPropertyGetter): + (WebCore::toV8): + * bindings/v8/custom/V8DataViewCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::V8Document::evaluateCallback): + (WebCore::V8Document::getCSSCanvasContextCallback): + (WebCore::toV8): + (WebCore::V8Document::createTouchListCallback): + * bindings/v8/custom/V8DocumentLocationCustom.cpp: + (WebCore::V8Document::locationAccessorGetter): + * bindings/v8/custom/V8EntryCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8EntrySyncCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8EventCustom.cpp: + (WebCore::V8Event::dataTransferAccessorGetter): + (WebCore::V8Event::clipboardDataAccessorGetter): + (WebCore): + (WebCore::toV8): + * bindings/v8/custom/V8FileReaderCustom.cpp: + (WebCore::V8FileReader::resultAccessorGetter): + * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: + (WebCore::getNamedItems): + (WebCore::getItem): + (WebCore::V8HTMLAllCollection::namedPropertyGetter): + (WebCore::V8HTMLAllCollection::itemCallback): + (WebCore::V8HTMLAllCollection::namedItemCallback): + (WebCore::V8HTMLAllCollection::callAsFunctionCallback): + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::V8HTMLCanvasElement::getContextCallback): + * bindings/v8/custom/V8HTMLCollectionCustom.cpp: + (WebCore::getNamedItems): + (WebCore::V8HTMLCollection::namedPropertyGetter): + (WebCore::V8HTMLCollection::namedItemCallback): + (WebCore::toV8): + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: + (WebCore::V8HTMLDocument::getNamedProperty): + (WebCore::V8HTMLDocument::allAccessorGetter): + (WebCore::toV8): + * bindings/v8/custom/V8HTMLElementCustom.cpp: + (WebCore::toV8): + (WebCore::V8HTMLElement::itemValueAccessorGetter): + * bindings/v8/custom/V8HTMLFormElementCustom.cpp: + (WebCore::V8HTMLFormElement::indexedPropertyGetter): + (WebCore::V8HTMLFormElement::namedPropertyGetter): + * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: + (WebCore::V8HTMLFrameSetElement::namedPropertyGetter): + * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: + (WebCore::v8HTMLImageElementConstructorCallback): + * bindings/v8/custom/V8HTMLLinkElementCustom.cpp: + (WebCore::V8HTMLLinkElement::sizesAccessorGetter): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter): + * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: + (WebCore::V8HTMLOutputElement::htmlForAccessorGetter): + * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: + (WebCore::V8HTMLSelectElement::indexedPropertyGetter): + * bindings/v8/custom/V8IDBAnyCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8IDBKeyCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8ImageDataCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8MessageChannelConstructor.cpp: + (WebCore::V8MessageChannel::constructorCallback): + * bindings/v8/custom/V8MessageEventCustom.cpp: + (WebCore::V8MessageEvent::dataAccessorGetter): + (WebCore::V8MessageEvent::portsAccessorGetter): + * bindings/v8/custom/V8MicroDataItemValueCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8NamedNodeMapCustom.cpp: + (WebCore::V8NamedNodeMap::indexedPropertyGetter): + (WebCore::V8NamedNodeMap::namedPropertyGetter): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::toV8Slow): + * bindings/v8/custom/V8NodeListCustom.cpp: + (WebCore::V8NodeList::namedPropertyGetter): + * bindings/v8/custom/V8NotificationCenterCustom.cpp: + (WebCore::V8NotificationCenter::createHTMLNotificationCallback): + (WebCore::V8NotificationCenter::createNotificationCallback): + * bindings/v8/custom/V8PerformanceCustom.cpp: + (WebCore): + (WebCore::V8Performance::memoryAccessorGetter): + * bindings/v8/custom/V8PerformanceEntryCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8PopStateEventCustom.cpp: + (WebCore::V8PopStateEvent::stateAccessorGetter): + * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: + (WebCore::V8SQLTransactionSync::executeSqlCallback): + * bindings/v8/custom/V8SVGDocumentCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8SVGElementCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8SVGPathSegCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8ScriptProfileCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8StyleSheetCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8StyleSheetListCustom.cpp: + (WebCore::V8StyleSheetList::namedPropertyGetter): + * bindings/v8/custom/V8TrackEventCustom.cpp: + (WebCore::V8TrackEvent::trackAccessorGetter): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: + (WebCore::toV8Object): + (WebCore::getObjectParameter): + (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback): + (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback): + (WebCore::V8WebGLRenderingContext::getParameterCallback): + (WebCore::V8WebGLRenderingContext::getProgramParameterCallback): + (WebCore::V8WebGLRenderingContext::getShaderParameterCallback): + (WebCore::V8WebGLRenderingContext::getUniformCallback): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::V8XMLHttpRequest::responseAccessorGetter): + * dom/make_names.pl: + (printWrapperFunctions): + (printWrapperFactoryCppFile): + (printWrapperFactoryHeaderFile): + +2012-09-06 Lauro Neto <lauro.neto@openbossa.org> + + [Qt] Deprecate String += operator + https://bugs.webkit.org/show_bug.cgi?id=95895 + + Reviewed by Benjamin Poulain. + + Replaced String +=() with append. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::extraMediaControlsStyleSheet): + +2012-09-06 Michael Saboff <msaboff@apple.com> + + Add 8 bit string data path to TextRun + https://bugs.webkit.org/show_bug.cgi?id=95812 + + Reviewed by Dan Bernstein. + + Added 8 bit string path to TextRun. Refactored TextRun::data() and ::characters into + 8 and 16 bit versions. Made corresponding changes to users of TextRun. + For efl, gtk, qt and win platform specific code using TextRun, only the methods have + been renamed and the creation of 8 bit TextRuns has been disabled via compilation + flags. Someone knowledgeable in those platforms will need to make corresponding changes + to enable 8 bit processing of TextRuns. + + No changes to functionality - behavior covered by existing tests. + + * platform/graphics/Font.cpp: + (WebCore::normalizeSpacesInternal): + (WebCore::Font::normalizeSpaces): + (WebCore::Font:normalizeSpaces): + (WebCore::Font::codePath): + (WebCore::Font::expansionOpportunityCount): + * platform/graphics/Font.h: + (WebCore::Font::characterRangeCodePath): + (WebCore::Font::normalizeSpaces): + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawBidiText): + * platform/graphics/TextRun.cpp: + (ExpectedTextRunSize): + * platform/graphics/TextRun.h: + (WebCore::TextRun::TextRun): + (WebCore::TextRun::subRun): + (WebCore::TextRun::operator[]): + (WebCore::TextRun::data8): + (WebCore::TextRun::data16): + (WebCore::TextRun::characters8): + (WebCore::TextRun::characters16): + (WebCore::TextRun::is8Bit): + (WebCore::TextRun::setText): + (WebCore::TextRun::setCharactersLength): + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::WidthIterator): + (WebCore::WidthIterator::advance): + * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: + (WebCore::HarfBuzzShaperBase::setNormalizedBuffer): + * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: + (WebCore::HarfBuzzShaper::HarfBuzzShaper): + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::ComplexTextController): + (WebCore::ComplexTextController::collectComplexTextRuns): + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): + * platform/graphics/pango/FontPango.cpp: + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/win/UniscribeController.cpp: + (WebCore::UniscribeController::advance): + (WebCore::UniscribeController::shapeAndPlaceItem): + * rendering/RenderText.cpp: + (WebCore::RenderText::computeCanUseSimpleFontCodePath): + * rendering/svg/SVGTextMetrics.cpp: + (WebCore::SVGTextMetrics::SVGTextMetrics): + * rendering/svg/SVGTextMetricsBuilder.cpp: + (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder): + (WebCore::SVGTextMetricsBuilder::measureTextRenderer): + * svg/SVGFontData.cpp: + (WebCore::SVGFontData::applySVGGlyphSelection): + +2012-09-06 James Robinson <jamesr@chromium.org> + + [chromium] Don't link cc in to WebKit.dll when use_libcc_for_compositor=1 + https://bugs.webkit.org/show_bug.cgi?id=96024 + + Reviewed by Adam Barth. + + When use_libcc_for_compositor=1, the implementation of the compositor guts are provided through PlatformSupport. + We don't need to link anything in to WebKit.dll. + + * WebCore.gyp/WebCore.gyp: + +2012-09-06 Simon Fraser <simon.fraser@apple.com> + + Parcel up logic related to sticky positioning into a Constraints class that will later be used for threaded scrolling + https://bugs.webkit.org/show_bug.cgi?id=96026 + + Reviewed by James Robinson. + + Lay some groundwork for threaded scrolling with fixed position and sticky + position objects, by packaging up logic related to how to reposition + fixed and sticky things on viewport changes into "constraints" classes. + + ScrollingConstraints contains a 'ViewportConstraints' base class + that is subclassed for sticky position. These classes store + data about the constraints that govern the position of an object outside + of the render tree, and know how to compute a new position when the + viewport changes using only data in the class. + + This patch changes RenderBoxModelObject to use the StickyPositionViewportConstraints + class for computing stick offsets at layout time. In the future, we'll have + the scrolling tree store copies of the constraint data for threaded scrolling. + + * CMakeLists.txt: Add ScrollingConstraints.* to the build. + * GNUmakefile.list.am: Ditto + * Target.pri: Ditto + * WebCore.gypi: Ditto + * WebCore.vcproj/WebCore.vcproj: Ditto + * WebCore.xcodeproj/project.pbxproj: Ditto + * page/scrolling/ScrollingConstraints.cpp: Added. + (WebCore::StickyPositionViewportConstraints::computeStickyOffset): + (WebCore::StickyPositionViewportConstraints::layerPositionForViewportRect): + * page/scrolling/ScrollingConstraints.h: Added. + (WebCore::ViewportConstraints::ViewportConstraints): + (WebCore::ViewportConstraints::~ViewportConstraints): + (WebCore::ViewportConstraints::anchorEdges): + (WebCore::ViewportConstraints::hasAnchorEdge): + (WebCore::ViewportConstraints::addAnchorEdge): + (WebCore::ViewportConstraints::alignmentOffset): + (WebCore::ViewportConstraints::setAlignmentOffset): + (StickyPositionViewportConstraints): + (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints): + (WebCore::StickyPositionViewportConstraints::stickyOffsetAtLastLayout): + (WebCore::StickyPositionViewportConstraints::setStickyOffsetAtLastLayout): + (WebCore::StickyPositionViewportConstraints::layerPositionAtLastLayout): + (WebCore::StickyPositionViewportConstraints::setLayerPositionAtLastLayout): + (WebCore::StickyPositionViewportConstraints::leftOffset): + (WebCore::StickyPositionViewportConstraints::rightOffset): + (WebCore::StickyPositionViewportConstraints::topOffset): + (WebCore::StickyPositionViewportConstraints::bottomOffset): + (WebCore::StickyPositionViewportConstraints::setLeftOffset): + (WebCore::StickyPositionViewportConstraints::setRightOffset): + (WebCore::StickyPositionViewportConstraints::setTopOffset): + (WebCore::StickyPositionViewportConstraints::setBottomOffset): + (WebCore::StickyPositionViewportConstraints::setAbsoluteContainingBlockRect): + (WebCore::StickyPositionViewportConstraints::setAbsoluteStickyBoxRect): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::computeStickyPositionConstraints): Fill out + data in the supplied StickyPositionViewportConstraints instance. + (WebCore::RenderBoxModelObject::stickyPositionOffset): Create a + StickyPositionViewportConstraints object on the stack and use it to + compute the sticky offset. + * rendering/RenderBoxModelObject.h: + (RenderBoxModelObject): + +2012-09-06 James Robinson <jamesr@chromium.org> + + [chromium] Use WebCompositorSupport functions instead of WebCompositor statics + https://bugs.webkit.org/show_bug.cgi?id=96007 + + Reviewed by Adrienne Walker. + + Calls WebCompositorSupport functions instead of WebCompositor statics. + + * platform/graphics/chromium/Canvas2DLayerBridge.cpp: + (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + +2012-09-06 Alec Flett <alecflett@chromium.org> + + IndexedDB: make IDBKeyPath's string and array constructors explicit + https://bugs.webkit.org/show_bug.cgi?id=96004 + + Reviewed by Tony Chang. + + Making these explicit to avoid accidental implicit conversions. + + No new tests, existing tests cover correctness. + + * Modules/indexeddb/IDBKeyPath.h: + (IDBKeyPath): + +2012-09-06 Jeff Timanus <twiz@chromium.org> + + [Chromium] Remove contentsScale and related logic from GraphicsLayerChromium. + https://bugs.webkit.org/show_bug.cgi?id=95094 + + Reviewed by Adrienne Walker. + + In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class. This is a first pass to + try to remove the page-scale logic from GraphicsLayerChromium. This change should be a no-op in terms of + contentsScale behaviour. + + Testing covered by existing compositor layout and unit tests. + + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::setAppliesPageScale): + (WebCore::GraphicsLayer::appliesPageScale): + These routines are now virtual, so that they can push the notification to setDisregardsContentsScale in + LayerChromium. + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): + (WebCore::GraphicsLayerChromium::setSize): + (WebCore::GraphicsLayerChromium::setTransform): + (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): + (WebCore): + (WebCore::GraphicsLayerChromium::setAppliesPageScale): + (WebCore::GraphicsLayerChromium::appliesPageScale): + Now forwards the appliesPageScaleStatus to the owned layer. + * platform/graphics/chromium/GraphicsLayerChromium.h: + (GraphicsLayerChromium): + (WebCore::GraphicsLayerChromium::contentsLayer): + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::LayerChromium): + (WebCore::LayerChromium::setContentsScale): + (WebCore): + (WebCore::LayerChromium::setBoundsContainPageScale): + setAppliesPageScale is renamed to setBoundsContainPageScale in LayerChromium. + * platform/graphics/chromium/LayerChromium.h: + (LayerChromium): + (WebCore::LayerChromium::boundsContainPageScale): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore): + (WebCore::setScale): + (WebCore::updateLayerScale): + (WebCore::CCLayerTreeHost::updateLayers): + The contents scale of a layer is now applied in this routine. + +2012-09-06 James Robinson <jamesr@chromium.org> + + [chromium] Split platform geometry types into separate static target + https://bugs.webkit.org/show_bug.cgi?id=96021 + + Reviewed by Tony Chang. + + This moves several WebCore/platform geometry classes out of webcore_platform into a separate static library. + This library is relatively standalone and useful to statically link against in other contexts. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + +2012-09-06 Kenneth Rohde Christiansen <kenneth@webkit.org> + + [EFL] Fuzzy load the Edje theme for HTML forms + https://bugs.webkit.org/show_bug.cgi?id=95832 + + Reviewed by Antonio Gomes. + + Change the theme so that it is first loaded when actually used. + This also fixed the case that it was impossible to change theme + a second time. + + Tested by current tests. API unit test coming in separate patch. + + * platform/efl/RenderThemeEfl.cpp: + (WebCore): + + Add some convenience macros. + + (WebCore::applyColorCallback): + + Use just one callback from the edje theme, which just calls + setColorFromThemeClass. + + (WebCore::fillColorsFromEdjeClass): + + Add convenience method for receiving colors from Edje and + storing them in Color's. + + (WebCore::RenderThemeEfl::setColorFromThemeClass): + + Set the class Color variabled with the values from the theme + color class. + + (WebCore::RenderThemeEfl::setThemePath): + + Don't apply the theme immediately. + + (WebCore::RenderThemeEfl::loadTheme): + + Load the new theme and free the current one. If it fails, + it will continue using the old one, if exists. + + (WebCore::RenderThemeEfl::adjustSizeConstraints): + (WebCore::RenderThemeEfl::themePartCacheEntryReset): + (WebCore::RenderThemeEfl::cacheThemePartNew): + (WebCore::RenderThemeEfl::paintThemePart): + (WebCore::RenderThemeEfl::applyPartDescriptionsFrom): + (WebCore::RenderThemeEfl::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeEfl::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeEfl::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeEfl::platformInactiveSelectionForegroundColor): + (WebCore::RenderThemeEfl::platformFocusRingColor): + + Ensure the theme is loaded. + + (WebCore::RenderThemeEfl::adjustCheckboxStyle): + (WebCore::RenderThemeEfl::adjustRadioStyle): + (WebCore::RenderThemeEfl::emitMediaButtonSignal): + + Ensure the theme is loaded. + + * platform/efl/RenderThemeEfl.h: + (RenderThemeEfl): + (WebCore::RenderThemeEfl::loadThemeIfNeeded): + + Remove unneeded methods and add a method for loading a theme + in the case it is not loaded yet. + +2012-09-06 Simon Fraser <simon.fraser@apple.com> + + Move RenderView::setFixedPositionedObjectsNeedLayout to FrameView + https://bugs.webkit.org/show_bug.cgi?id=96017 + + Reviewed by James Robinson. + + FrameView already has a HashSet of RenderObjects whose position + is affected by the viewport rect; this contains fixed and sticky-postion + objects. RenderView::setFixedPositionedObjectsNeedLayout() was using + the RenderView's list of postioned objects, but this omitted sticky-position + objects whose container was not the RenderView. So it's simpler to use + FrameView's set of fixed/sticky objects. + + Changed the terminology from "fixed" to "viewport-constrained" for this set + of objects. + + * page/FrameView.cpp: + (WebCore::FrameView::useSlowRepaints): + (WebCore::FrameView::addViewportConstrainedObject): + (WebCore::FrameView::removeViewportConstrainedObject): + (WebCore::FrameView::scrollContentsFastPath): + (WebCore::FrameView::setFixedVisibleContentRect): + (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout): + (WebCore::FrameView::repaintFixedElementsAfterScrolling): + (WebCore::FrameView::updateFixedElementsAfterScrolling): + * page/FrameView.h: + (WebCore::FrameView::viewportConstrainedObjects): + (WebCore::FrameView::hasViewportConstrainedObjects): + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::ScrollingCoordinator::hasNonLayerFixedObjects): + (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::willBeDestroyed): + (WebCore::RenderBoxModelObject::styleDidChange): + * rendering/RenderView.cpp: + * rendering/RenderView.h: + +2012-09-06 Andrei Poenaru <poenaru@adobe.com> + + Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event + https://bugs.webkit.org/show_bug.cgi?id=93443 + + Reviewed by Alexander Pavlov. + + Added "regionLayoutUpdate" event to the protocol. + + Removed "getFlowByName" from protocol. + + The front-end keeps in sync the requested Named Flow Collections. + + Modified existing test: inspector/styles/protocol-css-regions-commands.html + + * dom/NamedFlowCollection.cpp: + (WebCore::NamedFlowCollection::ensureFlowWithName): + (WebCore::NamedFlowCollection::discardNamedFlow): + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (UpdateRegionLayoutTask): + (WebCore::UpdateRegionLayoutTask::reset): + (WebCore): + (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask): + (WebCore::UpdateRegionLayoutTask::scheduleFor): + (WebCore::UpdateRegionLayoutTask::onTimer): + (WebCore::InspectorCSSAgent::reset): + (WebCore::InspectorCSSAgent::didCreateNamedFlow): + (WebCore::InspectorCSSAgent::willRemoveNamedFlow): + (WebCore::InspectorCSSAgent::didUpdateRegionLayout): + (WebCore::InspectorCSSAgent::regionLayoutUpdated): + (WebCore::InspectorCSSAgent::getNamedFlowCollection): + (WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId): + * inspector/InspectorCSSAgent.h: + (WebCore): + (InspectorCSSAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore): + (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): + (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): + (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::didCreateNamedFlow): + (WebCore::InspectorInstrumentation::willRemoveNamedFlow): + (WebCore): + (WebCore::InspectorInstrumentation::didUpdateRegionLayout): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel): + (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback): + (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync): + (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback): + (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync): + (WebInspector.CSSStyleModel.prototype._namedFlowCreated): + (WebInspector.CSSStyleModel.prototype._namedFlowRemoved): + (WebInspector.CSSStyleModel.prototype._regionLayoutUpdated): + (WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections): + (WebInspector.CSSDispatcher.prototype.namedFlowCreated): + (WebInspector.CSSDispatcher.prototype.namedFlowRemoved): + (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated): + (WebInspector.NamedFlow): + (WebInspector.NamedFlowCollection): + (WebInspector.NamedFlowCollection.prototype.appendNamedFlow): + (WebInspector.NamedFlowCollection.prototype.removeNamedFlow): + (WebInspector.NamedFlowCollection.prototype.flowByName): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent): + +2012-09-06 Anna Cavender <annacc@chromium.org> + + ASSERT reached when TextTrack.mode is set to DISABLED. + https://bugs.webkit.org/show_bug.cgi?id=94651 + + Reviewed by Eric Carlson. + + This patch ensures that cues that have already been added to the + cueTree in HTMLMediaElement, are not added again. + + Test: media/track/track-mode-disabled-crash.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::textTrackAddCue): Do not add the cue if it already + exists in m_cueTree. + +2012-09-06 Zan Dobersek <zandobersek@gmail.com> + + Another unreviewed GTK build fix. + + The ENABLE_DATALIST_ELEMENT should default to 0, as it did in stable + release versions before r127760. The feature define can be switched + on later, when its stability is determined and the test results are + rebaselined. + + * GNUmakefile.features.am: + +2012-09-06 David Barton <dbarton@mathscribe.com> + + mathml.css: Add more { white-space: nowrap } declarations + https://bugs.webkit.org/show_bug.cgi?id=95404 + + Reviewed by Eric Seidel. + + mathml.css declared { white-space: nowrap } for mrow, mfenced, msqrt. It is also needed + for other tags such as msub, msup, msubsup. + + Added a test to mathml/presentation/sup.xhtml, and a regression test to roots.xhtml. + + * css/mathml.css: + (mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot): + +2012-09-06 Robert Kroeger <rjkroege@chromium.org> + + [chromium] Enable different fling behaviour for touchscreen and touchpad + https://bugs.webkit.org/show_bug.cgi?id=95756 + + Reviewed by James Robinson. + + Add support for a flag on WebGestureEvents that differentiates GestureFlingStart + events by their originating device and pass this flag to a factory that produces + different device specific fling curves based on the value of the flag. + + Covered by existing layout and unit tests. + + * platform/chromium/support/PlatformGestureCurveFactory.cpp: Modified factory + entry point for constructing fling curve for different devices. + (WebKit::PlatformGestureCurveFactory::createCurve): + * platform/chromium/support/PlatformGestureCurveFactory.h: + (PlatformGestureCurveFactory): + +2012-09-06 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Add the local and remote description functionality to RTCPeerConnection + https://bugs.webkit.org/show_bug.cgi?id=95839 + + Reviewed by Adam Barth. + + As well as adding the local/remote descriptions stuff, I removed the source attribute from + RTCSessionDescriptionCallback and RTCErrorCallback since it has been removed from the draft. + + Tests: fast/mediastream/RTCPeerConnection-localDescription.html + fast/mediastream/RTCPeerConnection-remoteDescription.html + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Modules/mediastream/RTCErrorCallback.h: + (RTCErrorCallback): + * Modules/mediastream/RTCErrorCallback.idl: + * Modules/mediastream/RTCPeerConnection.cpp: + (WebCore::RTCPeerConnection::createOffer): + (WebCore::RTCPeerConnection::setLocalDescription): + (WebCore): + (WebCore::RTCPeerConnection::localDescription): + (WebCore::RTCPeerConnection::setRemoteDescription): + (WebCore::RTCPeerConnection::remoteDescription): + * Modules/mediastream/RTCPeerConnection.h: + (WebCore): + (RTCPeerConnection): + * Modules/mediastream/RTCPeerConnection.idl: + * Modules/mediastream/RTCSessionDescriptionCallback.h: + (RTCSessionDescriptionCallback): + * Modules/mediastream/RTCSessionDescriptionCallback.idl: + * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp: + (WebCore::RTCSessionDescriptionRequestImpl::create): + (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl): + (WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded): + (WebCore::RTCSessionDescriptionRequestImpl::requestFailed): + (WebCore::RTCSessionDescriptionRequestImpl::clear): + * Modules/mediastream/RTCSessionDescriptionRequestImpl.h: + (RTCSessionDescriptionRequestImpl): + * Modules/mediastream/RTCVoidRequestImpl.cpp: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp. + (WebCore): + (WebCore::RTCVoidRequestImpl::create): + (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl): + (WebCore::RTCVoidRequestImpl::~RTCVoidRequestImpl): + (WebCore::RTCVoidRequestImpl::requestSucceeded): + (WebCore::RTCVoidRequestImpl::requestFailed): + (WebCore::RTCVoidRequestImpl::stop): + (WebCore::RTCVoidRequestImpl::clear): + * Modules/mediastream/RTCVoidRequestImpl.h: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h. + (WebCore): + (RTCVoidRequestImpl): + * WebCore.gypi: + * platform/chromium/support/WebRTCVoidRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h. + (WebKit): + (WebKit::WebRTCVoidRequest::WebRTCVoidRequest): + (WebKit::WebRTCVoidRequest::assign): + (WebKit::WebRTCVoidRequest::reset): + (WebKit::WebRTCVoidRequest::requestSucceeded): + (WebKit::WebRTCVoidRequest::requestFailed): + (ExtraDataContainer): + (WebKit::ExtraDataContainer::ExtraDataContainer): + (WebKit::ExtraDataContainer::extraData): + (WebKit::WebRTCVoidRequest::extraData): + (WebKit::WebRTCVoidRequest::setExtraData): + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (RTCPeerConnectionHandlerDummy): + (WebCore::RTCPeerConnectionHandlerDummy::setLocalDescription): + (WebCore): + (WebCore::RTCPeerConnectionHandlerDummy::setRemoteDescription): + (WebCore::RTCPeerConnectionHandlerDummy::localDescription): + (WebCore::RTCPeerConnectionHandlerDummy::remoteDescription): + * platform/mediastream/RTCPeerConnectionHandler.h: + (WebCore): + (RTCPeerConnectionHandler): + * platform/mediastream/RTCVoidRequest.h: Copied from Source/WebCore/Modules/mediastream/RTCErrorCallback.h. + (WebCore): + (RTCVoidRequest): + (ExtraData): + (WebCore::RTCVoidRequest::ExtraData::~ExtraData): + (WebCore::RTCVoidRequest::~RTCVoidRequest): + (WebCore::RTCVoidRequest::extraData): + (WebCore::RTCVoidRequest::setExtraData): + (WebCore::RTCVoidRequest::RTCVoidRequest): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + (WebCore::RTCPeerConnectionHandlerChromium::setLocalDescription): + (WebCore): + (WebCore::RTCPeerConnectionHandlerChromium::setRemoteDescription): + (WebCore::RTCPeerConnectionHandlerChromium::localDescription): + (WebCore::RTCPeerConnectionHandlerChromium::remoteDescription): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (RTCPeerConnectionHandlerChromium): + +2012-09-06 Sam Weinig <sam@webkit.org> + + Fix one of the Qt builds. + + * dom/TransformSource.h: + +2012-09-06 Zan Dobersek <zandobersek@gmail.com> + + Unreviewed GTK build fix. + + CSS Compositing is not currently supported on the GTK port, so + the feature define should default to 0. + + * GNUmakefile.features.am: + +2012-09-05 James Robinson <jamesr@chromium.org> + + SharedGraphicsContext3D shouldn't depend on CCProxy + https://bugs.webkit.org/show_bug.cgi?id=95921 + + Reviewed by Adrienne Walker. + + This class just wants to ASSERT() that we're on or not on the main thread. There's perfectly fine cross-platform + code in WTF to do that. + + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::getForImplThread): + (WebCore::SharedGraphicsContext3D::haveForImplThread): + (WebCore::SharedGraphicsContext3D::createForImplThread): + +2012-09-06 Zan Dobersek <zandobersek@gmail.com> + + [Gtk] Remove configuration options for features that are not supported by the Gtk port + https://bugs.webkit.org/show_bug.cgi?id=87664 + + Reviewed by Martin Robinson. + + Remove addition of macros to feature_defines for features that are completely + unsupported by the Gtk port. They're not required anymore since the accompanying + configuration flags are also being removed. + + No new tests - no new functionality. + + * GNUmakefile.am: + * bindings/gobject/GNUmakefile.am: + +2012-09-06 Max Vujovic <mvujovic@adobe.com> + + [CSS Shaders] Vertex attributes should be unbound after a custom filter is applied + https://bugs.webkit.org/show_bug.cgi?id=95891 + + Reviewed by Dean Jackson. + + Now we unbind the vertex attributes after a custom filter is applied. + + Before this patch, Chromium's GPU process would sometimes print the following error message: + "ERROR:gles2_cmd_decoder.cc(5142)] 002CA47B: GL ERROR :GL_INVALID_OPERATION : + glDrawElements: attempt to render with no buffer attached to enabled attribute 2" + + This would happen in the following situation: + 1) There are two FECustomFilters on the page. + 2) One FECustomFilter has a detached mesh. One FECustomFilter has an attached mesh. The + detached FECustomFilter has one more vertex attribute (a_triangleCoord) than the attached + FECustomFilter. + 3) The detached FECustomFilter is destroyed, but a_triangleCoord remains bound. + 4) The attached FECustomFilter tries to render, but Chromium notices that there is no buffer + attached to the a_triangleCoord attribute. + + No new tests. We can't create an automated test for this because it only reproduces using + Chromium's GPU process. DRT does not use Chromium's GPU process. + + * platform/graphics/filters/FECustomFilter.cpp: + (WebCore::FECustomFilter::applyShader): + Unbind the vertex attributes after the drawElements call. + (WebCore::FECustomFilter::unbindVertexAttribute): + (WebCore): + (WebCore::FECustomFilter::unbindVertexAttributes): + Unbind all of the attributes that we bound earlier. + * platform/graphics/filters/FECustomFilter.h: + (FECustomFilter): + +2012-09-05 Sam Weinig <sam@webkit.org> + + Part 2 of removing PlatformString.h, remove PlatformString.h + https://bugs.webkit.org/show_bug.cgi?id=95931 + + Reviewed by Adam Barth. + + Remove PlatformString.h + + * GNUmakefile.list.am: + * Modules/filesystem/AsyncFileWriter.h: + * Modules/filesystem/DOMFilePath.h: + * Modules/filesystem/DOMFileSystemBase.h: + * Modules/filesystem/DirectoryEntry.h: + * Modules/filesystem/DirectoryEntrySync.h: + * Modules/filesystem/DirectoryReader.h: + * Modules/filesystem/DirectoryReaderBase.h: + * Modules/filesystem/DirectoryReaderSync.h: + * Modules/filesystem/EntryBase.cpp: + * Modules/filesystem/EntrySync.h: + * Modules/filesystem/FileEntrySync.h: + * Modules/filesystem/FileSystemCallbacks.h: + * Modules/filesystem/LocalFileSystem.h: + * Modules/geolocation/GeolocationError.h: + * Modules/geolocation/Geoposition.h: + * Modules/geolocation/PositionError.h: + * Modules/indexeddb/IDBAny.h: + * Modules/indexeddb/IDBDatabaseBackendInterface.h: + * Modules/indexeddb/IDBDatabaseCallbacks.h: + * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: + * Modules/indexeddb/IDBDatabaseError.h: + * Modules/indexeddb/IDBFactory.h: + * Modules/indexeddb/IDBFactoryBackendInterface.h: + * Modules/indexeddb/IDBIndex.h: + * Modules/indexeddb/IDBIndexBackendInterface.h: + * Modules/indexeddb/IDBKey.h: + * Modules/indexeddb/IDBKeyPath.h: + * Modules/indexeddb/IDBMetadata.h: + * Modules/indexeddb/IDBObjectStore.h: + * Modules/indexeddb/IDBObjectStoreBackendInterface.h: + * Modules/indexeddb/IDBTransactionBackendInterface.h: + * Modules/indexeddb/IDBUpgradeNeededEvent.h: + * Modules/indexeddb/IDBVersionChangeEvent.h: + * Modules/mediastream/MediaStreamTrack.h: + * Modules/networkinfo/NetworkInfoConnection.h: + * Modules/notifications/DOMWindowNotifications.h: + * Modules/speech/SpeechGrammar.h: + * Modules/speech/SpeechRecognition.h: + * Modules/speech/SpeechRecognitionAlternative.h: + * Modules/speech/SpeechRecognitionClient.h: + * Modules/speech/SpeechRecognitionError.h: + * Modules/webaudio/AudioContext.cpp: + * Modules/webaudio/AudioParam.h: + * Modules/webdatabase/AbstractDatabase.h: + * Modules/webdatabase/ChangeVersionWrapper.h: + * Modules/webdatabase/DOMWindowWebDatabase.h: + * Modules/webdatabase/Database.h: + * Modules/webdatabase/DatabaseAuthorizer.cpp: + * Modules/webdatabase/DatabaseAuthorizer.h: + * Modules/webdatabase/DatabaseDetails.h: + * Modules/webdatabase/DatabaseSync.h: + * Modules/webdatabase/DatabaseTask.h: + * Modules/webdatabase/DatabaseTracker.h: + * Modules/webdatabase/OriginUsageRecord.h: + * Modules/webdatabase/SQLError.h: + * Modules/webdatabase/SQLStatement.h: + * Modules/webdatabase/SQLStatementSync.h: + * Modules/webdatabase/SQLTransaction.cpp: + * Modules/webdatabase/SQLTransactionSync.cpp: + * Modules/webdatabase/SQLTransactionSync.h: + * Modules/webdatabase/WorkerContextWebDatabase.h: + * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: + * Modules/webdatabase/chromium/QuotaTracker.h: + * Modules/websockets/ThreadableWebSocketChannel.cpp: + * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h: + * Modules/websockets/WebSocketHandshake.h: + * Modules/websockets/WebSocketHandshakeResponse.h: + * Modules/websockets/WorkerThreadableWebSocketChannel.cpp: + * Modules/websockets/WorkerThreadableWebSocketChannel.h: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/gobject/ConvertToUTF8String.cpp: + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + * bindings/js/JSClipboardCustom.cpp: + * bindings/js/JSImageDataCustom.cpp: + * bindings/js/JSInspectorFrontendHostCustom.cpp: + * bindings/js/JSLazyEventListener.h: + * bindings/js/JSStorageCustom.cpp: + * bindings/js/JSXSLTProcessorCustom.cpp: + * bindings/js/JavaScriptCallFrame.cpp: + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptDebugServer.h: + * bindings/js/ScriptHeapSnapshot.h: + * bindings/js/ScriptValue.h: + * bindings/js/SerializedScriptValue.h: + * bindings/objc/DOMCustomXPathNSResolver.mm: + * bindings/objc/DOMXPath.mm: + * bindings/objc/WebScriptObject.mm: + * bindings/scripts/CodeGeneratorJS.pm: + (AddIncludesForTypeInImpl): + (AddIncludesForSVGAnimatedType): + * bindings/scripts/CodeGeneratorV8.pm: + (AddIncludesForType): + * bindings/v8/Dictionary.h: + * bindings/v8/JavaScriptCallFrame.h: + * bindings/v8/NPV8Object.cpp: + * bindings/v8/ScriptDebugServer.h: + * bindings/v8/ScriptFunctionCall.h: + * bindings/v8/ScriptHeapSnapshot.h: + * bindings/v8/ScriptProfile.h: + * bindings/v8/ScriptProfileNode.h: + * bindings/v8/ScriptProfiler.h: + * bindings/v8/ScriptSourceCode.h: + * bindings/v8/V8Binding.cpp: + * bindings/v8/V8DOMWrapper.h: + * bindings/v8/V8LazyEventListener.h: + * bindings/v8/V8NPUtils.cpp: + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: + * bindings/v8/custom/V8LocationCustom.cpp: + * bridge/IdentifierRep.cpp: + * bridge/NP_jsobject.cpp: + * bridge/c/c_utility.cpp: + * css/CSSBasicShapes.h: + * css/CSSBorderImageSliceValue.cpp: + * css/CSSCharsetRule.h: + * css/CSSCursorImageValue.cpp: + * css/CSSFontFaceSrcValue.h: + * css/CSSGradientValue.cpp: + * css/CSSInheritedValue.cpp: + * css/CSSInitialValue.cpp: + * css/CSSLineBoxContainValue.cpp: + * css/CSSMediaRule.h: + * css/CSSProperty.cpp: + * css/CSSPropertySourceData.cpp: + * css/CSSPropertySourceData.h: + * css/CSSReflectValue.cpp: + * css/CSSTimingFunctionValue.cpp: + * css/CSSUnicodeRangeValue.cpp: + * css/CSSValueList.cpp: + * css/Counter.h: + * css/FontFeatureValue.h: + * css/FontValue.cpp: + * css/MediaQuery.h: + * css/MediaQueryEvaluator.h: + * css/MediaQueryListListener.h: + * css/ShadowValue.cpp: + * css/StyleMedia.h: + * css/StyleSheet.h: + * css/StyleSheetList.cpp: + * css/WebKitCSSMatrix.h: + * css/WebKitCSSTransformValue.cpp: + * dom/DOMStringList.h: + * dom/DOMStringMap.h: + * dom/DocumentMarker.h: + * dom/ErrorEvent.h: + * dom/ExceptionBase.h: + * dom/MessagePortChannel.h: + * dom/MutationRecord.h: + * dom/TransformSource.h: + * dom/ViewportArguments.cpp: + * editing/DOMTransactionStep.h: + * editing/EditingStyle.h: + * editing/MarkupAccumulator.h: + * editing/SmartReplaceICU.cpp: + * editing/SpellChecker.h: + * editing/SurroundingText.h: + * fileapi/AsyncFileStream.cpp: + * fileapi/Blob.h: + * fileapi/BlobURL.cpp: + * fileapi/File.h: + * history/HistoryItem.h: + * history/blackberry/HistoryItemViewState.h: + * history/cf/HistoryPropertyList.h: + * html/DOMFormData.cpp: + * html/DOMURL.h: + * html/MicroDataItemValue.h: + * html/PublicURLManager.h: + * html/canvas/CanvasPattern.cpp: + * html/canvas/CanvasRenderingContext2D.h: + * html/canvas/CanvasStyle.h: + * html/canvas/WebGLActiveInfo.h: + * html/canvas/WebGLGetInfo.h: + * html/canvas/WebGLRenderingContext.h: + * html/parser/CSSPreloadScanner.h: + * html/parser/HTMLEntitySearch.h: + * html/parser/HTMLEntityTable.h: + * html/parser/HTMLMetaCharsetParser.cpp: + * inspector/CodeGeneratorInspector.py: + (InspectorFrontend_h): + * inspector/ContentSearchUtils.h: + * inspector/InjectedScript.cpp: + * inspector/InjectedScriptBase.cpp: + * inspector/InjectedScriptManager.h: + * inspector/InjectedScriptModule.h: + * inspector/InjectedScriptWebGLModule.h: + * inspector/InspectorAgent.h: + * inspector/InspectorCSSAgent.h: + * inspector/InspectorController.h: + * inspector/InspectorDOMDebuggerAgent.h: + * inspector/InspectorDOMStorageAgent.h: + * inspector/InspectorDatabaseAgent.h: + * inspector/InspectorDatabaseResource.h: + * inspector/InspectorFrontendClientLocal.cpp: + * inspector/InspectorFrontendClientLocal.h: + * inspector/InspectorFrontendHost.h: + * inspector/InspectorIndexedDBAgent.h: + * inspector/InspectorPageAgent.h: + * inspector/InspectorProfilerAgent.h: + * inspector/InspectorResourceAgent.h: + * inspector/InspectorState.h: + * inspector/InspectorStyleSheet.h: + * inspector/InspectorStyleTextEditor.h: + * inspector/InspectorValues.h: + * inspector/InspectorWebGLAgent.h: + * inspector/InspectorWorkerResource.h: + * inspector/ScriptArguments.h: + * inspector/ScriptBreakpoint.h: + * inspector/ScriptCallFrame.h: + * inspector/ScriptDebugListener.h: + * inspector/TimelineRecordFactory.h: + * inspector/generate-inspector-protocol-version: + (main): + * loader/DocumentLoader.cpp: + * loader/DocumentWriter.h: + * loader/FTPDirectoryParser.h: + * loader/FormState.h: + * loader/HistoryController.h: + * loader/PolicyChecker.h: + * loader/ResourceLoadScheduler.h: + * loader/SubframeLoader.h: + * loader/SubstituteData.h: + * loader/WorkerThreadableLoader.h: + * loader/appcache/ApplicationCache.h: + * loader/appcache/ApplicationCacheGroup.h: + * loader/archive/ArchiveFactory.cpp: + * loader/archive/ArchiveResourceCollection.h: + * loader/cache/CachedResource.h: + * loader/cache/MemoryCache.h: + * loader/icon/IconRecord.h: + * loader/icon/PageURLRecord.h: + * loader/mac/LoaderNSURLExtras.mm: + * loader/win/DocumentLoaderWin.cpp: + * page/Console.cpp: + * page/Coordinates.h: + * page/DOMSelection.cpp: + * page/EventSource.cpp: + * page/GroupSettings.h: + * page/NavigatorBase.cpp: + * page/OriginAccessEntry.h: + * page/Page.h: + * page/SecurityOrigin.h: + * page/SpeechInputResult.h: + * page/UserContentURLPattern.h: + * page/WindowFeatures.cpp: + * page/WindowFeatures.h: + * page/WorkerNavigator.h: + * page/animation/AnimationControllerPrivate.h: + * platform/AsyncFileSystem.h: + * platform/AsyncFileSystemCallbacks.h: + * platform/ContentType.h: + * platform/ContextMenu.h: + * platform/ContextMenuItem.h: + * platform/Cookie.h: + * platform/CrossThreadCopier.cpp: + * platform/DateComponents.cpp: + * platform/FileChooser.h: + * platform/FileStream.cpp: + * platform/FileSystem.h: + * platform/KURL.cpp: + (WebCore): + * platform/KURL.h: + * platform/KURLHash.h: + * platform/KillRing.h: + * platform/Language.cpp: + * platform/Length.cpp: + * platform/LinkHash.cpp: + * platform/Logging.cpp: + * platform/MIMETypeRegistry.h: + * platform/SSLKeyGenerator.h: + * platform/SchemeRegistry.h: + * platform/SharedBuffer.h: + * platform/Theme.h: + * platform/UUID.h: + * platform/animation/Animation.h: + * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h: + * platform/blackberry/CookieManager.h: + * platform/blackberry/CookieMap.h: + * platform/blackberry/DragDataBlackBerry.cpp: + * platform/blackberry/KURLBlackBerry.cpp: + * platform/blackberry/LocalizedStringsBlackBerry.cpp: + * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp: + * platform/blackberry/TemporaryLinkStubs.cpp: + * platform/cf/FileSystemCF.cpp: + * platform/cf/SchedulePair.h: + * platform/chromium/ChromiumDataObject.h: + * platform/chromium/ClipboardUtilitiesChromium.cpp: + * platform/chromium/DragDataChromium.cpp: + * platform/chromium/FileSystemChromium.cpp: + * platform/chromium/FileSystemChromiumMac.mm: + * platform/chromium/LanguageChromium.cpp: + * platform/chromium/SSLKeyGeneratorChromium.cpp: + * platform/cocoa/KeyEventCocoa.mm: + * platform/efl/ErrorsEfl.h: + * platform/efl/LanguageEfl.cpp: + * platform/efl/LocalizedStringsEfl.cpp: + * platform/efl/LoggingEfl.cpp: + * platform/efl/PasteboardEfl.cpp: + * platform/efl/PlatformScreenEfl.cpp: + * platform/graphics/ANGLEWebKitBridge.h: + * platform/graphics/BitmapImage.cpp: + * platform/graphics/FontPlatformData.cpp: + * platform/graphics/GlyphPageTreeNode.cpp: + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/GraphicsTypes.cpp: + * platform/graphics/SegmentedFontData.cpp: + * platform/graphics/blackberry/IconBlackBerry.cpp: + * platform/graphics/blackberry/LayerData.h: + * platform/graphics/blackberry/LayerFilterRenderer.cpp: + * platform/graphics/blackberry/LayerRenderer.cpp: + * platform/graphics/blackberry/skia/PlatformSupport.h: + * platform/graphics/ca/PlatformCALayer.h: + * platform/graphics/ca/PlatformCALayerClient.h: + * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: + * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: + * platform/graphics/cairo/ImageBufferCairo.cpp: + * platform/graphics/cairo/PathCairo.cpp: + * platform/graphics/cg/ImageSourceCGMac.mm: + * platform/graphics/cg/PathCG.cpp: + * platform/graphics/chromium/FontUtilsChromiumWin.cpp: + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + * platform/graphics/chromium/IconChromium.cpp: + * platform/graphics/chromium/IconChromiumAndroid.cpp: + * platform/graphics/cocoa/FontPlatformDataCocoa.mm: + * platform/graphics/efl/IconEfl.cpp: + * platform/graphics/filters/FEComposite.h: + * platform/graphics/filters/FEDisplacementMap.h: + * platform/graphics/filters/SourceAlpha.cpp: + * platform/graphics/filters/SourceAlpha.h: + * platform/graphics/filters/SourceGraphic.cpp: + * platform/graphics/filters/SourceGraphic.h: + * platform/graphics/freetype/FontPlatformDataFreeType.cpp: + * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: + * platform/graphics/mac/IconMac.mm: + * platform/graphics/mac/ImageMac.mm: + * platform/graphics/opentype/OpenTypeUtilities.h: + * platform/graphics/openvg/PathOpenVG.cpp: + * platform/graphics/pango/FontPlatformDataPango.cpp: + * platform/graphics/qt/FontCacheQt.cpp: + * platform/graphics/qt/FontPlatformDataQt.cpp: + * platform/graphics/qt/IconQt.cpp: + * platform/graphics/qt/ImageQt.cpp: + * platform/graphics/qt/PathQt.cpp: + * platform/graphics/skia/FontCustomPlatformData.h: + * platform/graphics/skia/ImageSkia.cpp: + * platform/graphics/win/FontCustomPlatformData.h: + * platform/graphics/win/FontPlatformDataCGWin.cpp: + * platform/graphics/win/FontPlatformDataCairoWin.cpp: + * platform/graphics/win/FontPlatformDataWin.cpp: + * platform/graphics/win/IconWin.cpp: + * platform/graphics/win/ImageCGWin.cpp: + * platform/graphics/win/ImageCairoWin.cpp: + * platform/graphics/win/SimpleFontDataCGWin.cpp: + * platform/graphics/wince/FontCustomPlatformData.h: + * platform/graphics/wince/FontPlatformData.cpp: + * platform/graphics/wince/ImageWinCE.cpp: + * platform/graphics/wince/MediaPlayerProxy.cpp: + * platform/graphics/wince/PathWinCE.cpp: + * platform/graphics/wince/PlatformPathWinCE.cpp: + * platform/graphics/wx/FontCacheWx.cpp: + * platform/graphics/wx/FontPlatformDataWx.cpp: + * platform/graphics/wx/IconWx.cpp: + * platform/graphics/wx/PathWx.cpp: + * platform/gtk/ErrorsGtk.h: + * platform/gtk/FileSystemGtk.cpp: + * platform/gtk/GtkPopupMenu.h: + * platform/gtk/KeyBindingTranslator.h: + * platform/gtk/LanguageGtk.cpp: + * platform/gtk/LocalizedStringsGtk.cpp: + * platform/gtk/LoggingGtk.cpp: + * platform/gtk/PasteboardGtk.cpp: + * platform/image-decoders/ImageDecoder.h: + * platform/leveldb/LevelDBSlice.h: + * platform/mac/FileSystemMac.mm: + * platform/mediastream/MediaStreamSource.h: + * platform/mock/GeolocationClientMock.h: + * platform/network/BlobData.h: + * platform/network/BlobRegistryImpl.h: + * platform/network/BlobResourceHandle.h: + * platform/network/Credential.h: + * platform/network/FormData.h: + * platform/network/FormDataBuilder.h: + * platform/network/HTTPParsers.cpp: + * platform/network/HTTPRequest.h: + * platform/network/HTTPValidation.cpp: + * platform/network/ProtectionSpace.h: + * platform/network/ResourceErrorBase.h: + * platform/network/SocketStreamErrorBase.h: + * platform/network/blackberry/DNSBlackBerry.cpp: + * platform/network/blackberry/DeferredData.h: + * platform/network/blackberry/NetworkJob.h: + * platform/network/cf/CookieJarCFNet.cpp: + * platform/network/curl/CookieJarCurl.cpp: + * platform/network/curl/ResourceHandleManager.h: + * platform/network/qt/DnsPrefetchHelper.cpp: + * platform/network/soup/ResourceRequestSoup.cpp: + * platform/network/soup/ResourceResponseSoup.cpp: + * platform/network/win/CookieJarWin.cpp: + * platform/posix/FileSystemPOSIX.cpp: + * platform/qt/ClipboardQt.cpp: + * platform/qt/CookieJarQt.cpp: + * platform/qt/FileSystemQt.cpp: + * platform/qt/LanguageQt.cpp: + * platform/qt/LocalizedStringsQt.cpp: + * platform/qt/LoggingQt.cpp: + * platform/qt/PlatformSupport.h: + * platform/sql/SQLValue.h: + * platform/sql/SQLiteDatabase.h: + * platform/sql/SQLiteFileSystem.h: + * platform/text/DecodeEscapeSequences.h: + * platform/text/LineEnding.cpp: + * platform/text/ParserUtilities.h: + * platform/text/PlatformString.h: Removed. + * platform/text/RegularExpression.h: + * platform/text/SegmentedString.h: + * platform/text/StringWithDirection.h: + * platform/text/SuffixTree.h: + * platform/text/TextBreakIteratorICU.cpp: + * platform/text/TextCodec.cpp: + * platform/text/TextCodec.h: + * platform/text/TextCodecLatin1.cpp: + * platform/text/TextCodecUTF16.cpp: + * platform/text/TextCodecUserDefined.cpp: + * platform/text/TextEncoding.cpp: + * platform/text/blackberry/StringBlackBerry.cpp: + * platform/text/cf/StringCF.cpp: + * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: + * platform/text/gtk/TextCodecGtk.cpp: + * platform/text/mac/StringMac.mm: + * platform/text/mac/TextCodecMac.cpp: + * platform/text/qt/TextCodecQt.cpp: + * platform/text/win/TextCodecWin.h: + * platform/text/wince/TextBreakIteratorWinCE.cpp: + * platform/win/BString.cpp: + * platform/win/DragDataWin.cpp: + * platform/win/GDIObjectCounter.h: + * platform/win/LoggingWin.cpp: + * platform/win/WCDataObject.cpp: + * platform/wince/DragDataWinCE.cpp: + * platform/wx/ClipboardWx.cpp: + * platform/wx/FileSystemWx.cpp: + * platform/wx/LanguageWx.cpp: + * platform/wx/LocalizedStringsWx.cpp: + * platform/wx/LoggingWx.cpp: + * platform/wx/PasteboardWx.cpp: + * platform/wx/PopupMenuWx.cpp: + * plugins/PluginData.h: + * plugins/PluginDatabase.h: + * plugins/PluginDebug.cpp: + * plugins/PluginPackage.h: + * plugins/PluginStream.h: + * rendering/style/StyleDashboardRegion.h: + * storage/Storage.cpp: + * storage/StorageArea.h: + * storage/StorageEvent.h: + * storage/StorageEventDispatcher.h: + * storage/StorageMap.h: + * storage/StorageNamespace.h: + * storage/StorageNamespaceImpl.h: + * storage/StorageSyncManager.h: + * storage/StorageTask.h: + * storage/StorageTracker.h: + * svg/SVGPathByteStreamBuilder.h: + * svg/SVGPathParser.h: + * svg/SVGPathStringSource.h: + * svg/SVGStyledElement.cpp: + * svg/animation/SMILTimeContainer.h: + * svg/graphics/filters/SVGFilterBuilder.cpp: + * svg/graphics/filters/SVGFilterBuilder.h: + * testing/Internals.h: + * workers/DefaultSharedWorkerRepository.cpp: + * workers/WorkerLocation.cpp: + * workers/WorkerThread.cpp: + * xml/DOMParser.cpp: + * xml/NativeXPathNSResolver.cpp: + * xml/XMLSerializer.cpp: + * xml/XMLSerializer.h: + * xml/XPathExpression.cpp: + * xml/XPathValue.h: + * xml/XSLTUnicodeSort.cpp: + +2012-09-06 Dana Jansens <danakj@chromium.org> + + [chromium] Add a customized copy() method to CCRenderPassDrawQuad + https://bugs.webkit.org/show_bug.cgi?id=95871 + + Reviewed by Adrienne Walker. + + CCRenderPassDrawQuad is special because a copied quad will need to + point to a different RenderPass id, since new ids are given to copied + RenderPasses. Add a custom copy() method to CCRenderPassDrawQuad that + takes as input the new RenderPass id that should appear in the copied + quad. + + Test: CCDrawQuad.copyRenderPassDrawQuad + + * platform/graphics/chromium/cc/CCDrawQuad.cpp: + (WebCore::CCDrawQuad::copy): + * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: + (WebCore::CCRenderPassDrawQuad::copy): + (WebCore): + * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: + (CCRenderPassDrawQuad): + +2012-09-06 Nikhil Bhargava <nbhargava@google.com> + + Remove extraneous includes (HTMLElement, SVGElement, GlyphBuffer, Clipboard) + https://bugs.webkit.org/show_bug.cgi?id=95780 + + Reviewed by Eric Seidel. + + Removes extraneous includes of type HTMLElement, SVGElement, GlyphBuffer, + and Clipboard. There is a minor compile-time performance boost. + + * Modules/mediastream/MediaStreamEvent.h: + * dom/Event.cpp: + * dom/Event.h: + (WebCore): + * dom/EventDispatchMediator.cpp: + * dom/EventListenerMap.cpp: + * dom/MouseRelatedEvent.h: + * dom/UIEvent.cpp: + * html/FormAssociatedElement.h: + (WebCore): + * inspector/TimelineRecordFactory.cpp: + * platform/graphics/FontPlatformData.h: + * rendering/RenderLineBoxList.h: + * rendering/style/RenderStyle.h: + (WebCore): + * svg/SVGAnimatedType.h: + * svg/SVGExternalResourcesRequired.cpp: + * svg/SVGExternalResourcesRequired.h: + (WebCore): + * svg/SVGURIReference.h: + (WebCore): + +2012-09-06 Dan Bernstein <mitz@apple.com> + + REGRESSION(r127712): It broke http/tests/xmlhttprequest/basic-auth.html on JSC platforms + https://bugs.webkit.org/show_bug.cgi?id=95972 + + Reverted r127712, because it was based on the false premise that “[Optional] works the way + XMLHttpRequest expects”. + + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::open): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::V8XMLHttpRequest::openCallback): + (WebCore): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::open): + (WebCore): + * xml/XMLHttpRequest.h: + (XMLHttpRequest): + * xml/XMLHttpRequest.idl: + +2012-09-06 Keishi Hattori <keishi@webkit.org> + + Use native function bind in page popups + https://bugs.webkit.org/show_bug.cgi?id=95976 + + Reviewed by Kent Tamura. + + We should be using Function.prototype.bind instead of our own bind implementation. + + No new tests. No behavior change. + + * Resources/pagepopups/calendarPicker.js: + (CalendarPicker): + (CalendarPicker.prototype._layoutButtons): + (YearMonthController.prototype.attachTo): + (YearMonthController.prototype._attachLeftButtonsTo): + (YearMonthController.prototype._attachRightButtonsTo): + (DaysTable.prototype.attachTo): + * Resources/pagepopups/colorSuggestionPicker.js: + (ColorPicker): + (ColorPicker.prototype._layout): + * Resources/pagepopups/pickerCommon.js: + +2012-09-06 Eugene Klyuchnikov <eustas.bug@gmail.com> + + Web Inspector: Timeline: cache "filteredRecords" for better scrolling performance. + https://bugs.webkit.org/show_bug.cgi?id=95731 + + Reviewed by Yury Semikhatsky. + + Now scrolling is sluggish on large datasets. + Performance degrades, because each refresh causes DFS on all recorded items. + Solution: caching/invalidation of DFS (filtering) results. + + Also fixed "truncate selected record range on mode change" glitch. + + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelinePanel.prototype._scheduleRefresh): + Add flag for cache invalidation. + * inspector/front-end/TimelinePresentationModel.js: + (WebInspector.TimelinePresentationModel.prototype.invalidateFilteredRecords): + Added. + (WebInspector.TimelinePresentationModel.prototype.filteredRecords): + Caching/using cached results. + +2012-09-06 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: NMI: switch to hierarchical identifiers of MemoryBlockTypes and use these identifiers in protocol. + https://bugs.webkit.org/show_bug.cgi?id=95957 + + Reviewed by Yury Semikhatsky. + + Now when we use string identifiers as MemoryObjectType we can use them as the identifiers for the protocol + instead of MemoryBlockNames hardcoded in InspectorMemoryAgent.. + At a later stage, when each type of memory will be counted in MemoryInstrumentation + we will build the blocks hierarchy for the front-end automatically. + + * dom/MemoryInstrumentation.cpp: + (WebCore): + * dom/MemoryInstrumentation.h: + (GenericMemoryTypes): + (WebCore::MemoryInstrumentation::addRootObject): + (WebCore::MemoryObjectInfo::reportObjectInfo): + (WebCoreMemoryTypes): + * inspector/InspectorMemoryAgent.cpp: + (MemoryBlockName): + (WebCore): + * inspector/MemoryInstrumentationImpl.cpp: + (WebCore::MemoryInstrumentationImpl::countObjectSize): + * inspector/front-end/NativeMemorySnapshotView.js: + (WebInspector.MemoryBlockViewProperties._initialize): + * loader/cache/CachedRawResource.cpp: + (WebCore::CachedRawResource::reportMemoryUsage): + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::reportMemoryUsage): + * loader/cache/CachedResourceHandle.cpp: + (WebCore::CachedResourceHandleBase::reportMemoryUsage): + * platform/SharedBuffer.cpp: + (WebCore::SharedBuffer::reportMemoryUsage): + +2012-09-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> + + CSS 3 'overflow-wrap' property implementation + https://bugs.webkit.org/show_bug.cgi?id=94475 + + Reviewed by Ojan Vafai. + + Added 'overflow-wrap' property implementation according to + http://www.w3.org/TR/2012/WD-css3-text-20120814/#overflow-wrap. + The specification declares that 'word-wrap' as a shorthand + for the 'overflow-wrap' property. So what was basically done + is declaring of new 'overflow-wrap' property and renaming + of the internal data structures from 'WordWrap' to 'OverflowWrap'. + Both 'overflow-wrap' and 'word-wrap' properties share the same + handlers and thus have the same behaviour. + + Test: fast/text/overflow-wrap.html + + * WebCore.order: Rename exported setWordWrap to setOverflowWrap. + * css/CSSComputedStyleDeclaration.cpp: Add CSSPropertyOverflowWrap to computedProperties. + (WebCore): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: Validation for the 'overflow-wrap' property. + (WebCore::isValidKeywordPropertyAndValue): + (WebCore::isKeywordPropertyID): + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator EOverflowWrap): + * css/CSSProperty.cpp: + (WebCore::CSSProperty::isInheritedProperty): CSSPropertyOverflowWrap is inherited. + * css/CSSPropertyNames.in: Declare new 'overflow-wrap' property. + * css/StyleBuilder.cpp: Assign property handler (same as for 'word-wrap'). + (WebCore::StyleBuilder::StyleBuilder): + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectMatchingRulesForList): Renaming. + * rendering/RenderTextControl.cpp: Ditto. + (WebCore::RenderTextControl::computeLogicalHeight): + * rendering/RenderTextControlSingleLine.cpp: Ditto. + (WebCore::RenderTextControlSingleLine::createInnerTextStyle): + * rendering/style/RenderStyle.cpp: Ditto. + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyle.h: Ditto. + * rendering/style/RenderStyleConstants.h: Ditto. + * rendering/style/StyleRareInheritedData.cpp: Ditto. + (WebCore::StyleRareInheritedData::StyleRareInheritedData): + (WebCore::StyleRareInheritedData::operator==): + * rendering/style/StyleRareInheritedData.h: Ditto. + (StyleRareInheritedData): + +2012-09-06 Arvid Nilsson <anilsson@rim.com> + + [BlackBerry] Always log shader compilation failure + https://bugs.webkit.org/show_bug.cgi?id=95948 + + Reviewed by George Staikos. + + Also add shader source to the logs. In addition, don't bail on the + first failure, run through all shaders so we get a complete set of + logs. + + No new tests: no change in functionality. + + * platform/graphics/blackberry/LayerRenderer.cpp: + (WebCore::LayerRenderer::loadShader): + (WebCore::LayerRenderer::initializeSharedGLObjects): + +2012-09-06 Patrick Gansterer <paroga@webkit.org> + + Remove String::operator+=() from windows platform code + https://bugs.webkit.org/show_bug.cgi?id=95904 + + Reviewed by Benjamin Poulain. + + Use StringBuilder and operator+() to concatenate strings instead of operator+=(). + + * platform/win/ClipboardWin.cpp: + (WebCore::filesystemPathFromUrlOrTitle): + +2012-09-06 Keishi Hattori <keishi@webkit.org> + + Refactor CalendarPicker to not use global variables. + https://bugs.webkit.org/show_bug.cgi?id=95830 + + Reviewed by Kent Tamura. + + Introduce CalendarPicker so we can have multiple Pickers in one page + popup in the future. + + No new tests. No behavior change. + + * Resources/pagepopups/calendarPicker.js: + (initialize): + (resetMain): + (openCalendarPicker): + (CalendarPicker): + (CalendarPicker.prototype._layout): + (CalendarPicker.prototype.handleToday): + (CalendarPicker.prototype.handleClear): + (CalendarPicker.prototype.fixWindowSize): + (CalendarPicker.prototype._layoutButtons): + (YearMonthController): + (YearMonthController.prototype.attachTo): + (YearMonthController.prototype._redraw): + (YearMonthController.prototype._handleYearMonthChange): + (YearMonthController.prototype.moveRelatively): + (DaysTable): + (DaysTable.prototype.attachTo): + (CalendarPicker.prototype.stepMismatch): + (CalendarPicker.prototype.outOfRange): + (CalendarPicker.prototype.isValidDate): + (DaysTable.prototype._renderMonth): + (DaysTable.prototype._navigateToMonth): + (DaysTable.prototype._maybeSetPreviousMonth): + (DaysTable.prototype._maybeSetNextMonth): + (DaysTable.prototype._handleDayClick): + (DaysTable.prototype._handleKey): + (CalendarPicker.prototype._handleBodyKeyDown): + * Resources/pagepopups/colorSuggestionPicker.js: + (ColorPicker): + (ColorPicker.prototype._layout): + (ColorPicker.prototype._handleKeyDown): + (ColorPicker.prototype._handleSwatchClick): + * Resources/pagepopups/pickerCommon.js: + (Picker): + (Picker.prototype.submitValue): + (Picker.prototype.handleCancel): + (Picker.prototype.chooseOtherColor): + +2012-09-06 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2 + https://bugs.webkit.org/show_bug.cgi?id=95965 + + Reviewed by Tor Arne Vestbø. + + Moved all ANGLE build rules from here to Source/Thirty/ANGLE and + instead depend on the new library with a simple WEBKIT += ANGLE. + + * DerivedSources.pri: + * Target.pri: + * platform/graphics/ANGLEWebKitBridge.h: Simplify the include statement + for the internal shader compiler API, aligned with the other platforms. + +2012-09-06 Kangil Han <kangil.han@samsung.com> + + [EFL] Keep placeholder text visible until first input from user. + https://bugs.webkit.org/show_bug.cgi?id=95851 + + Reviewed by Gyuyoung Kim. + + Current specification, http://dev.w3.org/html5/spec/single-page.html#attr-input-placeholder, has allowed user agent to keep placeholder text until first input. + Therefore, this patch enabled it. + + * platform/efl/RenderThemeEfl.h: + (WebCore::RenderThemeEfl::shouldShowPlaceholderWhenFocused): + +2012-09-06 Elliott Sprehn <esprehn@chromium.org> + + Add new V8DependentRetained that allows keeping a v8::Object alive as long as another v8::Object is alive + https://bugs.webkit.org/show_bug.cgi?id=95519 + + Reviewed by Adam Barth. + + Add new V8DependentRetained that allows keeping a v8::Object alive as long as another + v8::Object is alive. This is useful for keeping callbacks attached to wrappers without + keeping strong references to v8::Objects in the C++ side which can result in leaks + when cycles are created. + + No new tests needed, this will be used to fix MutationObservers which will have tests. + + * WebCore.gypi: + * bindings/v8/V8DependentRetained.h: Added. + (WebCore): + (V8DependentRetained): + (WebCore::V8DependentRetained::V8DependentRetained): + (WebCore::V8DependentRetained::~V8DependentRetained): + (WebCore::V8DependentRetained::get): Gets the v8::Object value. + (WebCore::V8DependentRetained::isEmpty): Checks if the value is still alive. + (WebCore::V8DependentRetained::createPropertyName): + (WebCore::V8DependentRetained::ownerWeakCallback): Clear the value when the owner is released. + (WebCore::V8DependentRetained::valueWeakCallback): + (WebCore::V8DependentRetained::release): + * bindings/v8/V8HiddenPropertyName.cpp: + (WebCore::V8HiddenPropertyName::hiddenReferenceName): Modified to allow creating hidden String or Symbol names. + * bindings/v8/V8HiddenPropertyName.h: + (V8HiddenPropertyName): + * bindings/v8/V8PerIsolateData.cpp: + (WebCore::V8PerIsolateData::V8PerIsolateData): + * bindings/v8/V8PerIsolateData.h: + (WebCore::V8PerIsolateData::nextDependentRetainedId): Returns the next available hidden property index. + (V8PerIsolateData): + +2012-09-06 Otto Derek Cheung <otcheung@rim.com> + + [BlackBerry] Removing String operator += uses in Cookie Files + https://bugs.webkit.org/show_bug.cgi?id=95884 + + Reviewed by Rob Buis. + + Replacing all usages of String operator += in the Cookie code because it is being deprecated. + String concats are now done using + or StringBuilder. + + PR 203054 + + Tested using Browser Test Cookie suite on browsertest01.rim.net/networking/cookies. + + * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: + (WebCore::CookieDatabaseBackingStore::upgradeTableIfNeeded): + (WebCore::CookieDatabaseBackingStore::invokeOpen): + (WebCore::CookieDatabaseBackingStore::invokeRemoveAll): + * platform/blackberry/CookieManager.cpp: + (WebCore::CookieManager::getRawCookies): + +2012-09-06 Dana Jansens <danakj@chromium.org> + + [chromium] Add a copy() method to CCRenderPass + https://bugs.webkit.org/show_bug.cgi?id=95485 + + Reviewed by Adrienne Walker. + + This method allows the ubercomp layer to make a clone of its delegated + RenderPasses to insert into the current frame. + + Tests: CCRenderPassTest.copyShouldBeIdenticalExceptIdAndQuads + + * platform/graphics/chromium/cc/CCRenderPass.cpp: + (WebCore::CCRenderPass::copy): + (WebCore): + * platform/graphics/chromium/cc/CCRenderPass.h: + (CCRenderPass): + +2012-09-06 Adam Barth <abarth@chromium.org> + + XMLHttpRequest.open does not need custom bindings + https://bugs.webkit.org/show_bug.cgi?id=95903 + + Reviewed by Kentaro Hara. + + There doesn't appear to be any reason that XMLHttpRequest.open needs + custom bindings now that [Optional] works the way XMLHttpRequest + expects. + + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::open): + (WebCore): + (WebCore::XMLHttpRequest::internalOpen): + * xml/XMLHttpRequest.h: + (XMLHttpRequest): + * xml/XMLHttpRequest.idl: + +2012-09-06 Adam Barth <abarth@chromium.org> + + Three XSLTProcessor functions don't need to be [Custom] + https://bugs.webkit.org/show_bug.cgi?id=95899 + + Reviewed by Kentaro Hara. + + These functions are marked [Custom] because they predate our + improvements to [Optional]. Now that we have + [Optional=DefaultIsUndefined], we can autogenerate these functions. + + There is a (slight!) difference in behavior. Now, in the case of a type + error, we return null instead of undefined. This change is unlikely to + cause compatibility problems because the vast majority of folks will + pass the correct arguments, and, in the few cases where folks pass the + wrong argument types, null and undefined will likely work similarly + (e.g., they're both falsy and throw when you try to access properties). + + * bindings/js/JSXSLTProcessorCustom.cpp: + * bindings/v8/custom/V8XSLTProcessorCustom.cpp: + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::transformToDocument): + (WebCore::XSLTProcessor::transformToFragment): + * xml/XSLTProcessor.h: + (WebCore::XSLTProcessor::importStylesheet): + * xml/XSLTProcessor.idl: + +2012-09-06 Patrick Gansterer <paroga@webkit.org> + + Remove String::operator+=() from plugin code + https://bugs.webkit.org/show_bug.cgi?id=95896 + + Reviewed by Adam Barth. + + Use operator+() to concatenate strings instead of operator+=(). + + * plugins/PluginView.cpp: + (WebCore::parseRFC822HeaderFields): + +2012-09-06 Patrick Gansterer <paroga@webkit.org> + + More fixes for String::operator+=() in Debug mode + https://bugs.webkit.org/show_bug.cgi?id=95888 + + Reviewed by Adam Barth. + + Use StringBuilder to concatenate strings instead of operator+=(). + + * dom/Element.cpp: + (WebCore::Element::formatForDebugger): + * dom/Node.cpp: + (WebCore::appendAttributeDesc): + (WebCore::Node::showNode): + (WebCore::traverseTreeAndMark): + (WebCore::Node::formatForDebugger): + * dom/Position.cpp: + (WebCore::Position::formatForDebugger): + * dom/Range.cpp: + (WebCore): + (WebCore::Range::formatForDebugger): + * dom/Text.cpp: + (WebCore::Text::formatForDebugger): + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::formatForDebugger): + +2012-09-04 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Fix inconsistencies in NetworkUISourceCodeProvider implementation. + https://bugs.webkit.org/show_bug.cgi?id=95752 + + Reviewed by Alexander Pavlov. + + NetworkUISourceCodeProvider does not receive ResourceAdded event until resource is finished anymore. + StylesSourceMapping now listens for workspace event instead of being called directly by NetworkUISourceCodeProvider. + StylesSourceMapping is now created from inspector.js. + ProjectDidReset event introduced instead of setTimeout hacks in mappings. + + * inspector/front-end/NetworkUISourceCodeProvider.js: + (WebInspector.NetworkUISourceCodeProvider): + (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded): + (WebInspector.NetworkUISourceCodeProvider.prototype._projectWillReset): + (WebInspector.NetworkUISourceCodeProvider.prototype._projectDidReset): + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel): + (WebInspector.ResourceTreeModel.prototype._onRequestFinished): + * inspector/front-end/ScriptSnippetModel.js: + (WebInspector.ScriptSnippetModel): + (WebInspector.ScriptSnippetModel.prototype._projectWillReset): + (WebInspector.ScriptSnippetModel.prototype._projectDidReset): + * inspector/front-end/StylesSourceMapping.js: + (WebInspector.StylesSourceMapping): + (WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace): + (WebInspector.StylesSourceMapping.prototype._addUISourceCode): + (WebInspector.StylesSourceMapping.prototype._reset): + * inspector/front-end/Workspace.js: + (WebInspector.WorkspaceController.prototype._mainFrameNavigated): + (WebInspector.Project.prototype.reset): + * inspector/front-end/inspector.js: + +2012-09-06 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127700. + http://trac.webkit.org/changeset/127700 + https://bugs.webkit.org/show_bug.cgi?id=95941 + + Breaks inspector closure compilation, uses not defined + variables. (Requested by vsevik on #webkit). + + * dom/NamedFlowCollection.cpp: + (WebCore::NamedFlowCollection::ensureFlowWithName): + (WebCore::NamedFlowCollection::discardNamedFlow): + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::reset): + (WebCore::InspectorCSSAgent::didCreateNamedFlow): + (WebCore::InspectorCSSAgent::didRemoveNamedFlow): + (WebCore::InspectorCSSAgent::getNamedFlowCollection): + (WebCore::InspectorCSSAgent::getFlowByName): + (WebCore): + * inspector/InspectorCSSAgent.h: + (WebCore): + (InspectorCSSAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore): + (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): + (WebCore::InspectorInstrumentation::didRemoveNamedFlowImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::didCreateNamedFlow): + (WebCore::InspectorInstrumentation::didRemoveNamedFlow): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel): + (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync): + (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync): + (WebInspector.CSSStyleModel.prototype._namedFlowCreated.callback): + (WebInspector.CSSStyleModel.prototype._namedFlowCreated): + (WebInspector.CSSStyleModel.prototype._namedFlowRemoved.callback): + (WebInspector.CSSStyleModel.prototype._namedFlowRemoved): + (WebInspector.CSSDispatcher.prototype.namedFlowCreated): + (WebInspector.CSSDispatcher.prototype.namedFlowRemoved): + (WebInspector.NamedFlow): + (WebInspector.NamedFlow.parsePayloadArray): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent): + +2012-09-06 Adam Barth <abarth@chromium.org> + + [V8] V8HTMLDocument has two out-of-style function names + https://bugs.webkit.org/show_bug.cgi?id=95893 + + Reviewed by Kentaro Hara. + + Just a simple style cleanup. + + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateHeader): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::getter): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::instantiateV8Object): + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: + (WebCore::V8HTMLDocument::wrapInShadowObject): + (WebCore::V8HTMLDocument::getNamedProperty): + +2012-09-05 Andrei Poenaru <poenaru@adobe.com> + + Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event + https://bugs.webkit.org/show_bug.cgi?id=93443 + + Reviewed by Alexander Pavlov. + + Added "regionLayoutUpdate" event to the protocol. + + Removed "getFlowByName" from protocol. + + The front-end keeps in sync the requested Named Flow Collections. + + Modified existing test: inspector/styles/protocol-css-regions-commands.html + + * dom/NamedFlowCollection.cpp: + (WebCore::NamedFlowCollection::ensureFlowWithName): + (WebCore::NamedFlowCollection::discardNamedFlow): + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (UpdateRegionLayoutTask): + (WebCore::UpdateRegionLayoutTask::reset): + (WebCore): + (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask): + (WebCore::UpdateRegionLayoutTask::scheduleFor): + (WebCore::UpdateRegionLayoutTask::onTimer): + (WebCore::InspectorCSSAgent::reset): + (WebCore::InspectorCSSAgent::didCreateNamedFlow): + (WebCore::InspectorCSSAgent::willRemoveNamedFlow): + (WebCore::InspectorCSSAgent::didUpdateRegionLayout): + (WebCore::InspectorCSSAgent::regionLayoutUpdated): + (WebCore::InspectorCSSAgent::getNamedFlowCollection): + (WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId): + * inspector/InspectorCSSAgent.h: + (WebCore): + (InspectorCSSAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore): + (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): + (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): + (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::didCreateNamedFlow): + (WebCore::InspectorInstrumentation::willRemoveNamedFlow): + (WebCore): + (WebCore::InspectorInstrumentation::didUpdateRegionLayout): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel): + (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback): + (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync): + (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback): + (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync): + (WebInspector.CSSStyleModel.prototype._namedFlowCreated): + (WebInspector.CSSStyleModel.prototype._namedFlowRemoved): + (WebInspector.CSSStyleModel.prototype._regionLayoutUpdated): + (WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections): + (WebInspector.CSSDispatcher.prototype.namedFlowCreated): + (WebInspector.CSSDispatcher.prototype.namedFlowRemoved): + (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated): + (WebInspector.NamedFlow): + (WebInspector.NamedFlowCollection): + (WebInspector.NamedFlowCollection.prototype.appendNamedFlow): + (WebInspector.NamedFlowCollection.prototype.removeNamedFlow): + (WebInspector.NamedFlowCollection.prototype.flowByName): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent): + +2012-09-05 Dana Jansens <danakj@chromium.org> + + [chromium] Add a copy() method to CCDrawQuad and CCSharedQuadState + https://bugs.webkit.org/show_bug.cgi?id=95374 + + Reviewed by Adrienne Walker. + + The ubercomp layer will hold a RenderPass full of DrawQuads, and needs + to add quads to the current frame in appendQuads(). It will do this by + copying the quads it has in its RenderPass into the frame's RenderPass. + + These methods allows it to make a clone of its quads. + + Test: CCDrawQuadTest.copySharedQuadState + CCDrawQuadTest.copyCheckerboardDrawQuad + CCDrawQuadTest.copyDebugBorderDrawQuad + CCDrawQuadTest.copyIOSurfaceDrawQuad + CCDrawQuadTest.copyRenderPassDrawQuad + CCDrawQuadTest.copySolidColorDrawQuad + CCDrawQuadTest.copyStreamVideoDrawQuad + CCDrawQuadTest.copyTextureDrawQuad + CCDrawQuadTest.copyTileDrawQuadcopy + CCDrawQuadTest.copyYUVVideoDrawQuad + + * platform/graphics/chromium/cc/CCDrawQuad.cpp: + (WebCore::CCDrawQuad::copy): + (WebCore): + * platform/graphics/chromium/cc/CCDrawQuad.h: + (CCDrawQuad): + * platform/graphics/chromium/cc/CCSharedQuadState.cpp: + (WebCore::CCSharedQuadState::copy): + (WebCore): + * platform/graphics/chromium/cc/CCSharedQuadState.h: + (CCSharedQuadState): + +2012-09-05 Tim Horton <timothy_horton@apple.com> + + Unreviewed; revert a change to ScrollingTreeNodeMac which accidentally + slipped into http://trac.webkit.org/changeset/127474. + + This change will be properly landed shortly as part of + https://bugs.webkit.org/show_bug.cgi?id=93898. + + * page/scrolling/mac/ScrollingTreeNodeMac.mm: + (WebCore::ScrollingTreeNodeMac::update): + +2012-09-05 Nate Chapin <japhet@chromium.org> + + Remove duplicate error() impls in CachedResource subclasses + https://bugs.webkit.org/show_bug.cgi?id=81161 + + Reviewed by Antti Koivisto. + + No new tests, refactor only. + + * loader/cache/CachedCSSStyleSheet.cpp: + * loader/cache/CachedCSSStyleSheet.h: + * loader/cache/CachedFont.cpp: + * loader/cache/CachedFont.h: + * loader/cache/CachedImage.cpp: + * loader/cache/CachedResource.h: Make checkNotify() + virtual, so the right checkNotify() gets called in error(). + * loader/cache/CachedScript.cpp: + * loader/cache/CachedScript.h: + * loader/cache/CachedXSLStyleSheet.cpp: + * loader/cache/CachedXSLStyleSheet.h: + +2012-09-05 James Robinson <jamesr@chromium.org> + + Unreviewed chromium windows build fix. + + Some of the rules in webcore_remaining only apply to files under WebCore/platform/. Since r127687 moved all such + files from the webcore_files variable to webcore_platform_files, these rules have to be applied to + webcore_platform instead. This also means that these files link into webcore_platform instead of + webcore_remaining, which makes a lot more sense, and we can delete several redundant rules. + + * WebCore.gyp/WebCore.gyp: + +2012-09-05 Nate Chapin <japhet@chromium.org> + + [chromium] Some SubstituteData loads broken after r121912 + https://bugs.webkit.org/show_bug.cgi?id=91685 + + Reviewed by Adam Barth. + + Test: WebFrameTest.ReplaceNavigationAfterHistoryNavigation in chromium's webkit_unit_tests. + + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::commitData): receivedFirstData() should be called exactly once per load, + on the first commit. I had mistakely assumed in r121912 that isReplacing() was true only for multipart + loads, and only after the first commit (chromium uses it for some SubstituteData loads to ensure the error page + replaces the failed load). We need to check whether we are loading multipart content before assuming isReplacing() + will tell us what we need to know. + +2012-09-05 James Robinson <jamesr@chromium.org> + + [chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns + https://bugs.webkit.org/show_bug.cgi?id=95876 + + Reviewed by Tony Chang. + + This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by + path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + +2012-09-05 Joshua Bell <jsbell@chromium.org> + + IndexedDB: Large integer versions not persisted correctly + https://bugs.webkit.org/show_bug.cgi?id=95873 + + Reviewed by Tony Chang. + + Correctly encode AND decode integer versions numbers as VarInts. + + Test: storage/indexeddb/intversion-encoding.html + + * Modules/indexeddb/IDBLevelDBBackingStore.cpp: + (WebCore::getVarInt): + (WebCore): + (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData): + +2012-09-05 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127596. + http://trac.webkit.org/changeset/127596 + https://bugs.webkit.org/show_bug.cgi?id=95928 + + newly added tests are failing (Requested by bashi1 on + #webkit). + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computePositionedLogicalWidth): + * rendering/RenderRegion.cpp: + * rendering/RenderRegion.h: + (RenderRegion): + +2012-09-05 Arnaud Renevier <a.renevier@sisa.samsung.com> + + Build failure with accelerated compositing disabled + https://bugs.webkit.org/show_bug.cgi?id=95872 + + Reviewed by James Robinson. + + Define DrawingBuffer::markContextChanged even when accelerated + compositing is not used. + + No functional change, so no new tests. + + * platform/graphics/gpu/DrawingBuffer.h: + (WebCore::DrawingBuffer::markContentsChanged): + (DrawingBuffer): + +2012-09-05 Michelangelo De Simone <michelangelo@webkit.org> + + Parse the array() function for custom filters + https://bugs.webkit.org/show_bug.cgi?id=94226 + + Reviewed by Dirk Schulze. + + The patch adds the support for the array() function parsing; + according to the specs this function - to be used within custom + filters - accepts number (float) values. This patch parses array() + arguments using comma as separator: the spec will be updated + accordingly shortly. + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSParser.cpp: + (WebCore::CSSParser::parseCustomFilterArrayFunction): New method to + parse the content of array() function. + (WebCore): + (WebCore::CSSParser::parseCustomFilter): parseCustomFilterArrayFunction is + called whenever a "array(" function is encountered. + * css/CSSParser.h: + (WebCore): + * css/CSSValue.cpp: + (WebCore::CSSValue::reportMemoryUsage): + (WebCore::CSSValue::cssText): + (WebCore::CSSValue::destroy): + (WebCore::CSSValue::cloneForCSSOM): + * css/CSSValue.h: + (WebCore::CSSValue::isWebKitCSSArrayFunctionValue): + * css/WebKitCSSArrayFunctionValue.cpp: Added. + (WebCore): + (WebCore::WebKitCSSArrayFunctionValue::WebKitCSSArrayFunctionValue): + (WebCore::WebKitCSSArrayFunctionValue::customCssText): + (WebCore::WebKitCSSArrayFunctionValue::cloneForCSSOM): + (WebCore::WebKitCSSArrayFunctionValue::reportDescendantMemoryUsage): + * css/WebKitCSSArrayFunctionValue.h: Added. + (WebCore): + (WebKitCSSArrayFunctionValue): + (WebCore::WebKitCSSArrayFunctionValue::create): + +2012-09-05 Matt Falkenhagen <falken@chromium.org> + + Vertically center non-anchored <dialog> elements + https://bugs.webkit.org/show_bug.cgi?id=90670 + + Reviewed by Ojan Vafai. + + This adjusts the static default position of non-anchored + dialog elements so they are vertically centered in or at the top of + the viewport, as per the spec. + + The approach is to add a RenderDialog class whose layout() + function adjusts the position after normal RenderBlock::layout runs. + + Test: fast/dom/HTMLDialogElement/non-anchored-dialog-positioning.html + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * html/HTMLDialogElement.cpp: + (WebCore::HTMLDialogElement::createRenderer): + (WebCore): + * html/HTMLDialogElement.h: + (HTMLDialogElement): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::mapAbsoluteToLocalPoint): Remove assertion since now absoluteToLocal is called during layout. + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): Ditto. + * rendering/RenderDialog.cpp: Added. + (WebCore): + (WebCore::RenderDialog::layout): Compute the desired top position in the absolute coordinate system, and then set top to the + corresponding local coordinate. + * rendering/RenderDialog.h: Added. + (WebCore): + (RenderDialog): + (WebCore::RenderDialog::RenderDialog): + (WebCore::RenderDialog::~RenderDialog): + (WebCore::RenderDialog::renderName): + * rendering/RenderObject.h: + (RenderObject): + (WebCore::RenderObject::isDialog): + * rendering/RenderingAllInOne.cpp: + +2012-09-05 Kenichi Ishibashi <bashi@chromium.org> + + Unreviewed, rolling out r127612, r127660, and r127664. + http://trac.webkit.org/changeset/127612 + http://trac.webkit.org/changeset/127660 + http://trac.webkit.org/changeset/127664 + https://bugs.webkit.org/show_bug.cgi?id=95920 + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Modules/mediastream/RTCErrorCallback.h: + (WebCore): + (RTCErrorCallback): + * Modules/mediastream/RTCErrorCallback.idl: + * Modules/mediastream/RTCPeerConnection.cpp: + (WebCore::RTCPeerConnection::createOffer): + * Modules/mediastream/RTCPeerConnection.h: + (WebCore): + (RTCPeerConnection): + * Modules/mediastream/RTCPeerConnection.idl: + * Modules/mediastream/RTCSessionDescriptionCallback.h: + (WebCore): + (RTCSessionDescriptionCallback): + * Modules/mediastream/RTCSessionDescriptionCallback.idl: + * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp: + (WebCore::RTCSessionDescriptionRequestImpl::create): + (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl): + (WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded): + (WebCore::RTCSessionDescriptionRequestImpl::requestFailed): + (WebCore::RTCSessionDescriptionRequestImpl::clear): + * Modules/mediastream/RTCSessionDescriptionRequestImpl.h: + (RTCSessionDescriptionRequestImpl): + * Modules/mediastream/RTCVoidRequestImpl.cpp: Removed. + * Modules/mediastream/RTCVoidRequestImpl.h: Removed. + * WebCore.gypi: + * platform/chromium/support/WebRTCVoidRequest.cpp: Removed. + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (RTCPeerConnectionHandlerDummy): + (WebCore::RTCPeerConnectionHandlerDummy::RTCPeerConnectionHandlerDummy): + * platform/mediastream/RTCPeerConnectionHandler.h: + (WebCore): + (WebCore::RTCPeerConnectionHandler::~RTCPeerConnectionHandler): + (RTCPeerConnectionHandler): + (WebCore::RTCPeerConnectionHandler::RTCPeerConnectionHandler): + * platform/mediastream/RTCVoidRequest.h: Removed. + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (RTCPeerConnectionHandlerChromium): + +2012-09-05 Victoria Kirst <vrk@chromium.org> + + Add the duration attribute to MediaSource + https://bugs.webkit.org/show_bug.cgi?id=95149 + + Reviewed by Eric Carlson. + + Add support for the duration attribute recently added to the MediaSource spec. + http://dev.w3.org/html5/spec/media-elements.html#dom-media-duration + + Test: http/tests/media/media-source/video-media-source-duration-changed.html + + * Modules/mediasource/MediaSource.cpp: + (WebCore::MediaSource::duration): Added duration method. + (WebCore): + (WebCore::MediaSource::setDuration): Added duration setter. + * Modules/mediasource/MediaSource.h: + (MediaSource): + * Modules/mediasource/MediaSource.idl: + * platform/graphics/MediaPlayer.cpp: + (WebCore::NullMediaPlayerPrivate::sourceSetDuration): Add empty definition. + (WebCore::MediaPlayer::sourceSetDuration): Forward call to m_private. + (WebCore): + * platform/graphics/MediaPlayer.h: + * platform/graphics/MediaPlayerPrivate.h: + (WebCore::MediaPlayerPrivateInterface::sourceSetDuration): Add empty definition. + +2012-09-05 Mihai Parparita <mihaip@chromium.org> + + [Chromium] history.{push,replace}State should no longer be V8EnabledAtRuntime + https://bugs.webkit.org/show_bug.cgi?id=95865 + + Reviewed by Darin Fisher. + + r55549 made them be runtime-enabled (since the Chromium implementation + was not complete at the time), but they've been enabled by default + since http://crrev.com/41850 + + * bindings/generic/RuntimeEnabledFeatures.cpp: + (WebCore): + * bindings/generic/RuntimeEnabledFeatures.h: + (RuntimeEnabledFeatures): + * page/History.idl: + +2012-09-05 Joshua Bell <jsbell@chromium.org> + + IndexedDB: Integer version lost after first open/close/open cycle + https://bugs.webkit.org/show_bug.cgi?id=95864 + + Reviewed by Tony Chang. + + New backing stores were being created with an old schema version, causing migration + to occur when the backing store was re-opened, which would overwrite valid integer + version metadata. New backing stores should be created with the latest schema version + since no migration is desired. + + Test: storage/indexeddb/intversion-persistence.html + + * Modules/indexeddb/IDBLevelDBBackingStore.cpp: + (WebCore::setUpMetadata): + +2012-09-05 Kenichi Ishibashi <bashi@chromium.org> + + [Chromium] Unreviewed, build fix attempt after r127660 + + Make clang happy. + + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (WebCore::RTCPeerConnectionHandlerDummy::RTCPeerConnectionHandlerDummy): + Use ASSERT_UNUSED() to suppress -Wunused-private-field warning + +2012-09-05 Patrick Gansterer <paroga@webkit.org> + + Build fix for Windows. + + * rendering/RenderThemeWin.cpp: Added missing header include. + +2012-09-05 Kenichi Ishibashi <bashi@chromium.org> + + [Chromium] Unreviewed, build fix attempt on win + + r127612 breaks chromium win build. + + * WebCore.gypi: + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (WebCore::RTCPeerConnectionHandler::RTCPeerConnectionHandler): + (WebCore): + (WebCore::RTCPeerConnectionHandler::~RTCPeerConnectionHandler): + * platform/mediastream/RTCPeerConnectionHandler.h: + (RTCPeerConnectionHandler): + +2012-09-05 Christophe Dumez <christophe.dumez@intel.com> + + [EFL][WK2] Provide implementation for WebProcess functions + https://bugs.webkit.org/show_bug.cgi?id=95857 + + Reviewed by Kenneth Rohde Christiansen. + + Add implementation for getVolumeFreeSizeForPath() + in FileSystem which is required by soup-related + code in WebKit2. + + No new tests, no behavior change. + + * platform/FileSystem.h: + (WebCore): + * platform/efl/FileSystemEfl.cpp: + (WebCore::getVolumeFreeSizeForPath): + (WebCore): + +2012-09-05 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127635. + http://trac.webkit.org/changeset/127635 + https://bugs.webkit.org/show_bug.cgi?id=95905 + + breaks chromium win and mac build (Requested by bashi1 on + #webkit). + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + +2012-09-05 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> + + Make RenderStyle::colorIncludingFallback use private getters + https://bugs.webkit.org/show_bug.cgi?id=95863 + + Reviewed by Eric Seidel. + + For readibility and maintanability reasons, it is better to use getters for + visited* color variables than accessing them directly. + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::colorIncludingFallback): + +2012-09-05 Benjamin Poulain <bpoulain@apple.com> + + More fixes for String::operator+=() on Mac + https://bugs.webkit.org/show_bug.cgi?id=95880 + + Reviewed by Adam Barth. + + Followup for r127574, I forgot some use of strings. + + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::getShorthandValue): Use String builder to construct the shorthand. + +2012-09-05 James Robinson <jamesr@chromium.org> + + [chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns + https://bugs.webkit.org/show_bug.cgi?id=95876 + + Reviewed by Tony Chang. + + This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by + path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + +2012-09-05 James Robinson <jamesr@chromium.org> + + Unreviewed, rolling out r127629. + http://trac.webkit.org/changeset/127629 + https://bugs.webkit.org/show_bug.cgi?id=95876 + + Broke build + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + +2012-09-05 James Robinson <jamesr@chromium.org> + + [chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns + https://bugs.webkit.org/show_bug.cgi?id=95876 + + Reviewed by Tony Chang. + + This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by + path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + +2012-09-05 Thiago Marcos P. Santos <thiago.santos@intel.com> + + [EFL] Slider progress bar goes crazy with negative ranges + https://bugs.webkit.org/show_bug.cgi?id=95753 + + Reviewed by Kenneth Rohde Christiansen. + + Now the calculation of what the current value represents in terms + of progress (from 0 to 1) is correctly done. + + Test: fast/forms/range/input-range-progress-indicator.html + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::paintThemePart): + +2012-09-05 Mark Pilgrim <pilgrim@chromium.org> + + [Chromium] Remove getRenderStyleForStrike from PlatformSupport + https://bugs.webkit.org/show_bug.cgi?id=95363 + + Reviewed by Adam Barth. + + Part of a refactoring series. See tracking bug 82948. + + * platform/chromium/PlatformSupport.h: + (PlatformSupport): + * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: + (WebCore::FontPlatformData::operator==): + (WebCore::FontPlatformData::getRenderStyleForStrike): + (WebCore): + (WebCore::FontPlatformData::querySystemForRenderStyle): + * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: + (FontPlatformData): + +2012-09-05 Sami Kyostila <skyostil@google.com> + + Enable/disable composited scrolling based on overflow + https://bugs.webkit.org/show_bug.cgi?id=95323 + + Reviewed by Simon Fraser. + + When an overflow:{auto,overlay} and -webkit-overflow-scrolling:touch + element gains or loses overflow, we should correspondingly enable and + disable composited scrolling depending on whether the element can be + scrolled or not. + + The previous logic in RenderLayer::usesCompositedScrolling() already + checked for actual overflow, but we also need to recompute the + compositing requirements when the amount of overflow changes during + layout. Additionally, layers using composited scrolling are marked as + self-painting to ensure they are always promoted to composited layers + when needed. + + Test: compositing/overflow/overflow-auto-with-touch-toggle.html + + Note that the behavior for maintaining a stacking context even without + the presense of overflow is covered by platform/chromium/compositing/overflow/overflow-scrolling-touch-stacking-context.html. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + (WebCore::RenderLayer::shouldBeSelfPaintingLayer): + +2012-09-05 Mike Fenton <mifenton@rim.com> + + [BlackBerry] PlatformKeyboardEvent::getCurrentModifierState should initialize values. + https://bugs.webkit.org/show_bug.cgi?id=95773 + + Reviewed by Rob Buis. + + Properly initialize the passed variables even + though we haven't implemented the modifier state + to ensure the values are deterministic. + + * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp: + (WebCore::PlatformKeyboardEvent::getCurrentModifierState): + +2012-09-05 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Add the local and remote description functionality to RTCPeerConnection + https://bugs.webkit.org/show_bug.cgi?id=95839 + + Reviewed by Adam Barth. + + As well as adding the local/remote descriptions stuff, I removed the source attribute from + RTCSessionDescriptionCallback and RTCErrorCallback since it has been removed from the draft. + + Tests: fast/mediastream/RTCPeerConnection-localDescription.html + fast/mediastream/RTCPeerConnection-remoteDescription.html + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Modules/mediastream/RTCErrorCallback.h: + (RTCErrorCallback): + * Modules/mediastream/RTCErrorCallback.idl: + * Modules/mediastream/RTCPeerConnection.cpp: + (WebCore::RTCPeerConnection::createOffer): + (WebCore::RTCPeerConnection::setLocalDescription): + (WebCore): + (WebCore::RTCPeerConnection::localDescription): + (WebCore::RTCPeerConnection::setRemoteDescription): + (WebCore::RTCPeerConnection::remoteDescription): + * Modules/mediastream/RTCPeerConnection.h: + (WebCore): + (RTCPeerConnection): + * Modules/mediastream/RTCPeerConnection.idl: + * Modules/mediastream/RTCSessionDescriptionCallback.h: + (RTCSessionDescriptionCallback): + * Modules/mediastream/RTCSessionDescriptionCallback.idl: + * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp: + (WebCore::RTCSessionDescriptionRequestImpl::create): + (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl): + (WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded): + (WebCore::RTCSessionDescriptionRequestImpl::requestFailed): + (WebCore::RTCSessionDescriptionRequestImpl::clear): + * Modules/mediastream/RTCSessionDescriptionRequestImpl.h: + (RTCSessionDescriptionRequestImpl): + * Modules/mediastream/RTCVoidRequestImpl.cpp: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp. + (WebCore): + (WebCore::RTCVoidRequestImpl::create): + (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl): + (WebCore::RTCVoidRequestImpl::~RTCVoidRequestImpl): + (WebCore::RTCVoidRequestImpl::requestSucceeded): + (WebCore::RTCVoidRequestImpl::requestFailed): + (WebCore::RTCVoidRequestImpl::stop): + (WebCore::RTCVoidRequestImpl::clear): + * Modules/mediastream/RTCVoidRequestImpl.h: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h. + (WebCore): + (RTCVoidRequestImpl): + * WebCore.gypi: + * platform/chromium/support/WebRTCVoidRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h. + (WebKit): + (WebKit::WebRTCVoidRequest::WebRTCVoidRequest): + (WebKit::WebRTCVoidRequest::assign): + (WebKit::WebRTCVoidRequest::reset): + (WebKit::WebRTCVoidRequest::requestSucceeded): + (WebKit::WebRTCVoidRequest::requestFailed): + (ExtraDataContainer): + (WebKit::ExtraDataContainer::ExtraDataContainer): + (WebKit::ExtraDataContainer::extraData): + (WebKit::WebRTCVoidRequest::extraData): + (WebKit::WebRTCVoidRequest::setExtraData): + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (RTCPeerConnectionHandlerDummy): + (WebCore::RTCPeerConnectionHandlerDummy::setLocalDescription): + (WebCore): + (WebCore::RTCPeerConnectionHandlerDummy::setRemoteDescription): + (WebCore::RTCPeerConnectionHandlerDummy::localDescription): + (WebCore::RTCPeerConnectionHandlerDummy::remoteDescription): + * platform/mediastream/RTCPeerConnectionHandler.h: + (WebCore): + (RTCPeerConnectionHandler): + * platform/mediastream/RTCVoidRequest.h: Copied from Source/WebCore/Modules/mediastream/RTCErrorCallback.h. + (WebCore): + (RTCVoidRequest): + (ExtraData): + (WebCore::RTCVoidRequest::ExtraData::~ExtraData): + (WebCore::RTCVoidRequest::~RTCVoidRequest): + (WebCore::RTCVoidRequest::extraData): + (WebCore::RTCVoidRequest::setExtraData): + (WebCore::RTCVoidRequest::RTCVoidRequest): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + (WebCore::RTCPeerConnectionHandlerChromium::setLocalDescription): + (WebCore): + (WebCore::RTCPeerConnectionHandlerChromium::setRemoteDescription): + (WebCore::RTCPeerConnectionHandlerChromium::localDescription): + (WebCore::RTCPeerConnectionHandlerChromium::remoteDescription): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (RTCPeerConnectionHandlerChromium): + +2012-09-01 Dirk Schulze <krit@webkit.org> + + Use -webkit-clip-path shapes to clip HTML elements + https://bugs.webkit.org/show_bug.cgi?id=95646 + + Reviewed by Dean Jackson. + + -webkit-clip-path creates a new layer for HTML elements now. The border, + background and content gets clipped by the clip path after any filter was + applied. + + Tests: css3/masking/clip-path-circle-filter.html + css3/masking/clip-path-circle-overflow.html + css3/masking/clip-path-circle-overflow-hidden.html + css3/masking/clip-path-circle-relative-overflow.html + css3/masking/clip-path-circle.html + css3/masking/clip-path-ellipse.html + css3/masking/clip-path-polygon-evenodd.html + css3/masking/clip-path-polygon-nonzero.html + css3/masking/clip-path-polygon.html + css3/masking/clip-path-rectangle.html + + * rendering/RenderBox.h: Create new layer on clip-path. + * rendering/RenderBoxModelObject.h: + (WebCore::RenderBoxModelObject::requiresLayer): Create new layer on clip-path. + * rendering/RenderInline.h: + (WebCore::RenderInline::requiresLayer): Create new layer on clip-path. + * rendering/RenderLayer.cpp: Apply clip-path on context of object. + (WebCore::RenderLayer::paintLayerContents): Create new layer on clip-path. + * rendering/RenderObject.h: + (WebCore::RenderObject::hasClipPath): Indicates that renderer needs to be clipped by clip-path. + * rendering/RenderTableRow.h: Create new layer on clip-path. + +2012-09-05 Kangil Han <kangil.han@samsung.com> + + [EFL] Use explicit constructor in RenderThemeEfl. + https://bugs.webkit.org/show_bug.cgi?id=95853 + + Reviewed by Kentaro Hara. + + Added explicit keyword in constructor of RenderThemeEfl in order to avoid implicit type conversion. + + * platform/efl/RenderThemeEfl.h: + (RenderThemeEfl): + +2012-09-05 Vincent Scheib <scheib@chromium.org> + + webkitPointerLockElement returns null when pointer lock request is pending. + https://bugs.webkit.org/show_bug.cgi?id=91186 + + Reviewed by Dimitri Glazkov. + + Script should wait for a pointerlockchange event before detecting + if it has acquired lock. However, if a script attempted to poll + pointerLockElement it could be confused when lock was still pending. + This change ensures that if lock is not yet acquired then + pointerLockElement will return null. + + Test: pointer-lock/pointerlockelement-null-when-pending.html + + * dom/Document.cpp: + (WebCore::Document::webkitPointerLockElement): + * page/PointerLockController.cpp: + (WebCore::PointerLockController::requestPointerLock): + (WebCore::PointerLockController::elementRemoved): + (WebCore::PointerLockController::documentDetached): + (WebCore::PointerLockController::lockPending): + (WebCore): + (WebCore::PointerLockController::didAcquirePointerLock): + (WebCore::PointerLockController::didNotAcquirePointerLock): + (WebCore::PointerLockController::didLosePointerLock): + (WebCore::PointerLockController::clearElement): + * page/PointerLockController.h: + (PointerLockController): + +2012-09-05 Sami Kyostila <skyostil@chromium.org> + + [chromium] Wire up scrollable sublayers in ScrollingCoordinatorChromium + https://bugs.webkit.org/show_bug.cgi?id=95679 + + Reviewed by James Robinson. + + Implement scrollable sublayers in ScrollingCoordinatorChromium and introduce a + WebLayerScrollClient which is notified of scroll events on its associated + scroll layer. GraphicsLayerChromium uses it to apply scroll events targeted to + its platform layer to a ScrollableArea, i.e., the RenderLayer corresponding to + the scrollable element. + + Tests: GraphicsLayerChromiumTest.applyScrollToScrollableArea + WebLayerTest.ScrollClient + + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): + (WebCore::GraphicsLayerChromium::didScroll): + (WebCore): + * platform/graphics/chromium/GraphicsLayerChromium.h: + (WebCore): + (WebCore::GraphicsLayerChromium::setScrollableArea): + (WebCore::GraphicsLayerChromium::scrollableArea): + (GraphicsLayerChromium): + * platform/graphics/chromium/LayerChromium.cpp: + * platform/graphics/chromium/LayerChromium.h: + (WebKit): + (WebCore): + (WebCore::LayerChromium::setLayerScrollClient): + (LayerChromium): + +2012-09-05 Peter Rybin <peter.rybin@gmail.com> + + Web Inspector: CodeGeneratorInspector.py: support asynchronous command implementation + https://bugs.webkit.org/show_bug.cgi?id=95649 + + Reviewed by Yury Semikhatsky. + + Generator is extended to generate callback object for each asynchronous command. + + * inspector/CodeGeneratorInspector.py: + (Writer.append_multiline): + (Writer): + (Writer.get_indent): + (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData): + (InspectorBackendDispatcherImpl): + (CallbackBase): + (Generator.process_event): + (Generator): + (Generator.EventMethodStructTemplate): + (Generator.EventMethodStructTemplate.append_prolog): + (Generator.EventMethodStructTemplate.append_epilog): + (Generator.process_command): + (Generator.CallbackMethodStructTemplate): + (Generator.CallbackMethodStructTemplate.append_prolog): + (Generator.CallbackMethodStructTemplate.append_epilog): + (Generator.generate_send_method): + +2012-09-05 Kevin Ellis <kevers@chromium.org> + + [chromium] Unify size of popup menu for touch and non-touch. + https://bugs.webkit.org/show_bug.cgi?id=95606 + + Reviewed by Adam Barth. + + Use minimum height for popup menus entries regardless of whether the + popup menu is displayed on a touch screen. Replaces use of touch + padding. Height meets minimum size requirement for a low error rate + while still looking aesthetic for non-touch. + + Covered by existing tests. + + * platform/chromium/PopupListBox.cpp: + (WebCore::PopupListBox::getRowHeight): + * platform/chromium/PopupMenuChromium.cpp: + (WebCore): + * platform/chromium/PopupMenuChromium.h: + (PopupMenuChromium): + +2012-09-05 Mihnea Ovidenie <mihnea@adobe.com> + + [CSS Regions] Auto width is not working for Regions + https://bugs.webkit.org/show_bug.cgi?id=74135 + + Reviewed by Julien Chaffraix. + + It was not possible to flow content into a region having { width: auto; } since in such case, the region width was computed to 0. + Now, a region having auto width, will have its width computed following the rules for calculation of widths and margins + (http://www.w3.org/TR/CSS2/visudet.html#Computing_widths_and_margins). + For those cases in which resolving the width requires measuring of content's min/max-content values, we use the associated named flow min/max-content + values (the same for all regions with width auto in a region chain). + When a region has width:auto, the computation of width should be done using normal block/box sizing code, instead of replaced element code. + Contains code contributed by Alexandru Chiculita(achicu@adobe.com). + + Tests: fast/regions/autowidth-abspos-regionchain.html + fast/regions/autowidth-abspos.html + fast/regions/autowidth-float.html + fast/regions/autowidth-inlineblock.html + fast/regions/autowidth-nonreplaced-abspos.html + fast/regions/autowidth-nonreplacedblock-normalflow.html + fast/regions/autowidth-normalflow-maxwidth.html + fast/regions/autowidth-normalflow-minmaxwidth.html + fast/regions/autowidth-normalflow-minwidth.html + fast/regions/autowidth-normalflow-vertrl.html + fast/regions/autowidth-normalflow.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computePositionedLogicalWidth): For positioned auto-width regions, skip the code path for replaced elements. + * rendering/RenderRegion.cpp: + (WebCore): Override min/maxPreferredLogicalWidth as they are used in the process of computing width for regions with auto width. + As this moment, a region is still a RenderReplaced element, so this code needs to be revisited when the region will become a RenderBlock. + Also, for min/max-width, we support only <length> values. We will extend support for other values in a following patch. + (WebCore::RenderRegion::minPreferredLogicalWidth): + (WebCore::RenderRegion::maxPreferredLogicalWidth): + * rendering/RenderRegion.h: + (RenderRegion): + Override isInlineBlockOrInlineTable() and shouldComputeSizeAsReplaced() to ensure that computation for width auto follows the normal + block/box sizing code. + +2012-09-05 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: NMI: extract MemoryObjectType constants from MemoryInstrumentation. + https://bugs.webkit.org/show_bug.cgi?id=95850 + + Reviewed by Yury Semikhatsky. + + I'd like to extract MemoryObjectTypes into separate classes. + After that we will be able to move core NMI instrumentation code to WTF. + + * bindings/js/ScriptWrappable.h: + (WebCore::ScriptWrappable::reportMemoryUsage): + * bindings/v8/DOMDataStore.cpp: + (WebCore::DOMDataStore::reportMemoryUsage): + * bindings/v8/IntrusiveDOMWrapperMap.h: + (WebCore::ChunkedTable::reportMemoryUsage): + * bindings/v8/ScriptWrappable.h: + (WebCore::ScriptWrappable::reportMemoryUsage): + * bindings/v8/V8Binding.cpp: + (WebCore::StringCache::reportMemoryUsage): + * bindings/v8/V8DOMMap.h: + * bindings/v8/V8PerIsolateData.cpp: + (WebCore::V8PerIsolateData::reportMemoryUsage): + * css/CSSAspectRatioValue.cpp: + (WebCore::CSSAspectRatioValue::reportDescendantMemoryUsage): + * css/CSSBorderImageSliceValue.cpp: + (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage): + * css/CSSCalculationValue.cpp: + (WebCore::CSSCalcValue::reportDescendantMemoryUsage): + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::reportDescendantMemoryUsage): + * css/CSSCharsetRule.cpp: + (WebCore::CSSCharsetRule::reportDescendantMemoryUsage): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage): + * css/CSSCrossfadeValue.cpp: + (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage): + * css/CSSCursorImageValue.cpp: + (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage): + * css/CSSFontFaceRule.cpp: + (WebCore::CSSFontFaceRule::reportDescendantMemoryUsage): + * css/CSSFontFaceSrcValue.cpp: + (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage): + * css/CSSFunctionValue.cpp: + (WebCore::CSSFunctionValue::reportDescendantMemoryUsage): + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientColorStop::reportMemoryUsage): + (WebCore::CSSGradientValue::reportBaseClassMemoryUsage): + (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage): + (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage): + * css/CSSImageGeneratorValue.cpp: + (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage): + * css/CSSImageSetValue.cpp: + (WebCore::CSSImageSetValue::reportDescendantMemoryUsage): + (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage): + * css/CSSImageValue.cpp: + (WebCore::CSSImageValue::reportDescendantMemoryUsage): + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::reportDescendantMemoryUsage): + * css/CSSInheritedValue.cpp: + (WebCore::CSSInheritedValue::reportDescendantMemoryUsage): + * css/CSSInitialValue.cpp: + (WebCore::CSSInitialValue::reportDescendantMemoryUsage): + * css/CSSLineBoxContainValue.cpp: + (WebCore::CSSLineBoxContainValue::reportDescendantMemoryUsage): + * css/CSSMediaRule.cpp: + (WebCore::CSSMediaRule::reportDescendantMemoryUsage): + * css/CSSPageRule.cpp: + (WebCore::CSSPageRule::reportDescendantMemoryUsage): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage): + * css/CSSProperty.cpp: + (WebCore::CSSProperty::reportMemoryUsage): + * css/CSSReflectValue.cpp: + (WebCore::CSSReflectValue::reportDescendantMemoryUsage): + * css/CSSRule.cpp: + (WebCore::CSSRule::reportBaseClassMemoryUsage): + * css/CSSRuleList.cpp: + (WebCore::StaticCSSRuleList::reportMemoryUsage): + * css/CSSRuleList.h: + * css/CSSSelectorList.cpp: + (WebCore::CSSSelectorList::reportMemoryUsage): + * css/CSSStyleRule.cpp: + (WebCore::CSSStyleRule::reportDescendantMemoryUsage): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::reportMemoryUsage): + * css/CSSTimingFunctionValue.cpp: + (WebCore::CSSLinearTimingFunctionValue::reportDescendantMemoryUsage): + (WebCore::CSSCubicBezierTimingFunctionValue::reportDescendantMemoryUsage): + (WebCore::CSSStepsTimingFunctionValue::reportDescendantMemoryUsage): + * css/CSSUnicodeRangeValue.cpp: + (WebCore::CSSUnicodeRangeValue::reportDescendantMemoryUsage): + * css/CSSUnknownRule.h: + (WebCore::CSSUnknownRule::reportDescendantMemoryUsage): + * css/CSSValue.cpp: + (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage): + * css/CSSValueList.cpp: + (WebCore::CSSValueList::reportDescendantMemoryUsage): + * css/CSSVariableValue.h: + (WebCore::CSSVariableValue::reportDescendantMemoryUsage): + * css/FontFeatureValue.cpp: + (WebCore::FontFeatureValue::reportDescendantMemoryUsage): + * css/FontValue.cpp: + (WebCore::FontValue::reportDescendantMemoryUsage): + * css/MediaList.cpp: + (WebCore::MediaQuerySet::reportMemoryUsage): + (WebCore::MediaList::reportMemoryUsage): + * css/MediaQuery.cpp: + (WebCore::MediaQuery::reportMemoryUsage): + * css/MediaQueryExp.cpp: + (WebCore::MediaQueryExp::reportMemoryUsage): + * css/PropertySetCSSStyleDeclaration.cpp: + (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage): + (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage): + (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage): + * css/ShadowValue.cpp: + (WebCore::ShadowValue::reportDescendantMemoryUsage): + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::reportMemoryUsage): + * css/StyleResolver.cpp: + (WebCore::StyleResolver::Features::reportMemoryUsage): + (WebCore::StyleResolver::collectMatchingRulesForList): + * css/StyleRule.cpp: + (WebCore::StyleRuleBase::reportMemoryUsage): + (WebCore::StyleRule::reportDescendantMemoryUsage): + (WebCore::StyleRulePage::reportDescendantMemoryUsage): + (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage): + (WebCore::StyleRuleBlock::reportDescendantMemoryUsage): + (WebCore::StyleRuleMedia::reportDescendantMemoryUsage): + (WebCore::StyleRuleRegion::reportDescendantMemoryUsage): + * css/StyleRuleImport.cpp: + (WebCore::StyleRuleImport::reportDescendantMemoryUsage): + * css/StyleSheetContents.cpp: + (WebCore::StyleSheetContents::reportMemoryUsage): + * css/WebKitCSSFilterValue.cpp: + (WebCore::WebKitCSSFilterValue::reportDescendantMemoryUsage): + * css/WebKitCSSKeyframeRule.cpp: + (WebCore::StyleKeyframe::reportMemoryUsage): + (WebCore::WebKitCSSKeyframeRule::reportDescendantMemoryUsage): + * css/WebKitCSSKeyframesRule.cpp: + (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage): + (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage): + * css/WebKitCSSMixFunctionValue.cpp: + (WebCore::WebKitCSSMixFunctionValue::reportDescendantMemoryUsage): + * css/WebKitCSSRegionRule.cpp: + (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage): + * css/WebKitCSSSVGDocumentValue.cpp: + (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage): + * css/WebKitCSSShaderValue.cpp: + (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage): + * css/WebKitCSSTransformValue.cpp: + (WebCore::WebKitCSSTransformValue::reportDescendantMemoryUsage): + * dom/Attribute.h: + (WebCore::Attribute::reportMemoryUsage): + * dom/CharacterData.cpp: + (WebCore::CharacterData::reportMemoryUsage): + * dom/ContainerNode.h: + (WebCore::ContainerNode::reportMemoryUsage): + * dom/Document.cpp: + (WebCore::Document::reportMemoryUsage): + * dom/DocumentEventQueue.cpp: + (WebCore::DocumentEventQueue::reportMemoryUsage): + * dom/Element.h: + (WebCore::Element::reportMemoryUsage): + * dom/ElementAttributeData.cpp: + (WebCore::ElementAttributeData::reportMemoryUsage): + * dom/Event.cpp: + (WebCore::Event::reportMemoryUsage): + * dom/MemoryInstrumentation.cpp: + (WebCore): + * dom/MemoryInstrumentation.h: + (WebCore): + (GenericMemoryTypes): + (WebCore::MemoryInstrumentation::addRootObject): + (WebCore::MemoryObjectInfo::reportObjectInfo): + (WebCoreMemoryTypes): + * dom/Node.cpp: + (WebCore::Node::reportMemoryUsage): + * dom/QualifiedName.h: + (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage): + (WebCore::QualifiedName::reportMemoryUsage): + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::reportMemoryUsage): + * inspector/InspectorMemoryAgent.cpp: + (WebCore): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::reportMemoryUsage): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::reportMemoryUsage): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::reportMemoryUsage): + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::reportMemoryUsage): + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::reportMemoryUsage): + * loader/SubstituteData.cpp: + (WebCore::SubstituteData::reportMemoryUsage): + * loader/cache/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::reportMemoryUsage): + * loader/cache/CachedFont.cpp: + (WebCore::CachedFont::reportMemoryUsage): + * loader/cache/CachedImage.cpp: + (WebCore::CachedImage::reportMemoryUsage): + * loader/cache/CachedRawResource.cpp: + (WebCore::CachedRawResource::reportMemoryUsage): + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::reportMemoryUsage): + * loader/cache/CachedResourceHandle.cpp: + (WebCore::CachedResourceHandleBase::reportMemoryUsage): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::reportMemoryUsage): + * loader/cache/CachedSVGDocument.cpp: + (WebCore::CachedSVGDocument::reportMemoryUsage): + * loader/cache/CachedScript.cpp: + (WebCore::CachedScript::reportMemoryUsage): + * loader/cache/CachedShader.cpp: + (WebCore::CachedShader::reportMemoryUsage): + * loader/cache/CachedXSLStyleSheet.cpp: + (WebCore::CachedXSLStyleSheet::reportMemoryUsage): + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::reportMemoryUsage): + * page/Frame.cpp: + (WebCore::Frame::reportMemoryUsage): + * platform/SharedBuffer.cpp: + (WebCore::SharedBuffer::reportMemoryUsage): + * platform/TreeShared.h: + (WebCore::TreeShared::reportMemoryUsage): + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::reportMemoryUsage): + * platform/graphics/CrossfadeGeneratedImage.cpp: + (WebCore::CrossfadeGeneratedImage::reportMemoryUsage): + * platform/graphics/GeneratedImage.cpp: + (WebCore::GeneratedImage::reportMemoryUsage): + * platform/graphics/GeneratorGeneratedImage.cpp: + (WebCore::GeneratorGeneratedImage::reportMemoryUsage): + * platform/graphics/Image.cpp: + (WebCore::Image::reportMemoryUsage): + * platform/network/FormData.cpp: + (WebCore::FormData::reportMemoryUsage): + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::reportMemoryUsage): + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::reportMemoryUsage): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::reportMemoryUsage): + * rendering/style/StyleRareInheritedData.cpp: + (WebCore::StyleRareInheritedData::reportMemoryUsage): + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::reportMemoryUsage): + * svg/SVGColor.cpp: + (WebCore::SVGColor::reportDescendantMemoryUsage): + * svg/SVGPaint.cpp: + (WebCore::SVGPaint::reportDescendantMemoryUsage): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::reportMemoryUsage): + +2012-09-05 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: NMI: extract overloaded instrumentation members for WebCore classes from core NMI code. + https://bugs.webkit.org/show_bug.cgi?id=95834 + + Reviewed by Yury Semikhatsky. + + I'd like to remove custom instrumentation methods from MemoryInstrumentation class + before upstreaming it to WTF. I've done it with help of MemoryInstrumentationTraits template helper. + + Unfortunately it is not possible to use template class because mac-ews bot reports warning: redundant redeclaration of 'something' in same scope. + I've found that it is an old problem in gcc that is forced by -Wredundant-decls flag on the bot. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15867 + + * dom/MemoryInstrumentation.cpp: + (WebCore::::addInstrumentedObject): + (WebCore): + * dom/MemoryInstrumentation.h: + (WebCore): + (MemoryInstrumentationTraits): + (MemoryInstrumentation): + (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer): + (InstrumentedPointer): + (WebCore::MemoryInstrumentation::addObject): + (WebCore::MemoryInstrumentation::addInstrumentedObject): + (WebCore::MemoryInstrumentation::addRawBuffer): + (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject): + (WebCore::MemoryInstrumentation::OwningTraits::addObject): + (WebCore::::addInstrumentedObject): + (WebCore::::addObject): + (WebCore::MemoryObjectInfo::MemoryObjectInfo): + (WebCore::MemoryObjectInfo::objectType): + (WebCore::MemoryObjectInfo::reportObjectInfo): + (MemoryObjectInfo): + (WebCore::MemoryClassInfo::MemoryClassInfo): + (MemoryClassInfo): + (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl): + (WebCore::MemoryInstrumentation::addObjectImpl): + (WebCore::MemoryInstrumentation::addHashMap): + (WebCore::MemoryInstrumentation::addHashSet): + (WebCore::MemoryInstrumentation::addInstrumentedCollection): + (WebCore::MemoryInstrumentation::addInstrumentedMapEntries): + (WebCore::MemoryInstrumentation::addInstrumentedMapValues): + (WebCore::MemoryInstrumentation::addListHashSet): + (WebCore::MemoryInstrumentation::addVector): + * inspector/MemoryInstrumentationImpl.cpp: + (WebCore::MemoryInstrumentationImpl::countObjectSize): + * inspector/MemoryInstrumentationImpl.h: + (WebCore::MemoryInstrumentationImpl::totalSize): + (MemoryInstrumentationImpl): + +2012-09-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + [Qt] Build fix on OS X + + Copy/paste-error resulted in us compiling InspectorPageOverlay.h + + Reviewed by Ossy. + + * DerivedSources.pri: + +2012-09-05 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127573. + http://trac.webkit.org/changeset/127573 + https://bugs.webkit.org/show_bug.cgi?id=95844 + + Breaks EFL Debug bot tests. (Requested by drott on #webkit). + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::themePartCacheEntryReset): + (WebCore::RenderThemeEfl::cacheThemePartNew): + (WebCore::RenderThemeEfl::paintThemePart): + (WebCore::RenderThemeEfl::setThemePath): + (WebCore::RenderThemeEfl::createCanvas): + (WebCore::RenderThemeEfl::createEdje): + (WebCore::RenderThemeEfl::applyPartDescriptions): + (WebCore::RenderThemeEfl::themeChanged): + (WebCore): + * platform/efl/RenderThemeEfl.h: + (RenderThemeEfl): + +2012-09-05 MORITA Hajime <morrita@google.com> + + ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception. + https://bugs.webkit.org/show_bug.cgi?id=91704 + + Reviewed by Kentaro Hara. + + This change implement ShadowRoot::cloneNode() which throws an exception. + This also adds an overloaded version cloneNode() to ShadowRoot.idl + which is enabled only for JavaScript instead of changing the + signature of Node::cloneNode(). + + Note that changing the existing signature can break GObject bindings + compatibility. + + Test: fast/dom/shadow/shadowroot-clonenode.html + + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::cloneNode): + (WebCore): + * dom/ShadowRoot.h: + (ShadowRoot): + * dom/ShadowRoot.idl: + +2012-09-05 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Unreviewed trivial build fix: Use DOMAllInOne.cpp only if we have xslt available. + + * Target.pri: + +2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com> + + [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals + https://bugs.webkit.org/show_bug.cgi?id=92735 + + Reviewed by Hajime Morita. + + Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner. + + Covered by existing test cases. + + * testing/Internals.cpp: + (WebCore::Internals::numberOfPages): + (WebCore): + (WebCore::Internals::pageProperty): + (WebCore::Internals::pageSizeAndMarginsInPixels): + * testing/Internals.h: + (Internals): + * testing/Internals.idl: + +2012-09-05 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Automate the use of AllInOne files in the Qt build + https://bugs.webkit.org/show_bug.cgi?id=95837 + + Reviewed by Tor Arne Vestbø. + + Replace the manual use of SVGAllInOne.cpp with automated use through + the ALL_IN_ONE_SOURCES variable. This adds a few more all-in-one sources + to the build and leaves out some that do not compile yet due to various + platform-dependant pre-processor macro issues. + + * Target.pri: + +2012-09-05 Benjamin Poulain <bpoulain@apple.com> + + Fix the uses of String::operator+=() for Mac + https://bugs.webkit.org/show_bug.cgi?id=95818 + + Reviewed by Dan Bernstein. + + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::JSCSSStyleDeclaration::putDelegate): + This is a legitimate use of String::append(), it is the only + concatenation in this function. + + * loader/appcache/ManifestParser.cpp: + (WebCore::parseManifest): Ditto. + +2012-09-05 Kenneth Rohde Christiansen <kenneth@webkit.org> + + [EFL] Fuzzy load the Edje theme for HTML forms + https://bugs.webkit.org/show_bug.cgi?id=95832 + + Reviewed by Gyuyoung Kim. + + Change the theme so that it is first loaded when actually used. + This also fixed the case that it was impossible to change theme + a second time. + + Tested by current tests. API unit test coming in separate patch. + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::themePartCacheEntryReset): + (WebCore::RenderThemeEfl::cacheThemePartNew): + (WebCore::RenderThemeEfl::paintThemePart): + (WebCore::RenderThemeEfl::setThemePath): + (WebCore::RenderThemeEfl::edje): + (WebCore::RenderThemeEfl::applyPartDescriptions): + * platform/efl/RenderThemeEfl.h: + (RenderThemeEfl): + +2012-09-05 Chris Guan <chris.guan@torchmobile.com.cn> + + [Blackberry] Add document url and securityOrigin to platform request. + https://bugs.webkit.org/show_bug.cgi?id=95822 + + Reviewed by George Staikos. + Internally Reviewed by Joe Mason. + + It is a webworks requirement. + + * platform/network/blackberry/NetworkManager.cpp: + (WebCore::NetworkManager::startJob): + +2012-09-04 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: NMI: replace ObjectType enum with static const char* string identifiers. + https://bugs.webkit.org/show_bug.cgi?id=95739 + + Reviewed by Yury Semikhatsky. + + When we go deeper into different parts of browser like skia, chromium itself etc. + we can't use a single enum for all reported object types. + The current idea is to use plain simple strings as ObjectType identifiers. + In the future patches we will extract these identifiers into separate class or namespace + and and split it between components. + + * dom/MemoryInstrumentation.cpp: + (WebCore): + * dom/MemoryInstrumentation.h: + (MemoryInstrumentation): + * inspector/InspectorMemoryAgent.cpp: + (WebCore::addMemoryBlockFor): + (WebCore): + * inspector/MemoryInstrumentationImpl.cpp: + (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl): + (WebCore::MemoryInstrumentationImpl::countObjectSize): + * inspector/MemoryInstrumentationImpl.h: + (WebCore::MemoryInstrumentationImpl::totalSize): + (WebCore::MemoryInstrumentationImpl::reportedSizeForAllTypes): + (MemoryInstrumentationImpl): + +2012-09-05 Patrick Gansterer <paroga@webkit.org> + + Build fix for WinCE after r127525. + + * platform/graphics/wince/FontCustomPlatformData.h: + (WebCore): + +2012-09-04 Keishi Hattori <keishi@webkit.org> + + Move PagePopupClient implementation for input[type=date] to Chromium WebKit layer + https://bugs.webkit.org/show_bug.cgi?id=95681 + + Reviewed by Kent Tamura. + + We are moving calendar picker PagePopupClient to WebKit layer so ports + can use their platform native chooser UI if they have one. + DateTimeChooser, DateTimeChooserClient etc. will be reused when we + implement the week picker and month picker. + + No new tests. No behavior change. Covered by existing calendar picker tests. + + * WebCore.gypi: + * html/shadow/CalendarPickerElement.cpp: + (WebCore::CalendarPickerElement::CalendarPickerElement): + (WebCore::CalendarPickerElement::~CalendarPickerElement): + (WebCore::CalendarPickerElement::didChooseValue): Called when user chose a value. + (WebCore): + (WebCore::CalendarPickerElement::didEndChooser): Called when chooser has ended. + (WebCore::CalendarPickerElement::openPopup): + (WebCore::CalendarPickerElement::closePopup): + * html/shadow/CalendarPickerElement.h: + (CalendarPickerElement): + * loader/EmptyClients.cpp: + (WebCore): + (WebCore::EmptyChromeClient::openDateTimeChooser): + * loader/EmptyClients.h: + (EmptyChromeClient): + * page/ChromeClient.h: + (WebCore): + (ChromeClient): + * platform/DateTimeChooser.h: + (WebCore): + (DateTimeChooserParameters): Contains information needed to open the DateTimeChooser. + (DateTimeChooser): + (WebCore::DateTimeChooser::~DateTimeChooser): + * platform/DateTimeChooserClient.h: + (WebCore): + (DateTimeChooserClient): + (WebCore::DateTimeChooserClient::~DateTimeChooserClient): + +2012-09-04 Mike Lawther <mikelawther@chromium.org> + + CSS3 calc: expressions with 'em' units do not zoom correctly. + https://bugs.webkit.org/show_bug.cgi?id=95705 + + Reviewed by Ojan Vafai. + + Each primitive value in a CSS calc expression now has (zoom) multiplier and scale factor applied + independently. Previously the multiplier and a single scale factor was applied to the expression + as a whole, but this failed to account for expressions involving font relative units. This is + because the multiplier should not be applied to font relative units. + + Test: css3/calc/zoom-with-em.html + + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::computeLengthDouble): + +2012-09-04 Brian Anderson <brianderson@chromium.org> + + [chromium] Prevent compositor ticking if it can't draw + https://bugs.webkit.org/show_bug.cgi?id=95399 + + Reviewed by James Robinson. + + Background extensions had an always ticking compositor even though + they couldn't draw. This patch disables the ticks when canDraw is false + and adds a notification mechanism for when canDraw changes states so + we can recover properly. + + Tests updated for new interfaces. + Regression test added to make sure ticking stops when canDraw is false. + notifyIfCanDrawChanged test added to make sure notifications are sent + for any changes that might affect canDraw. + + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): + (WebCore::CCLayerTreeHostImpl::notifyIfCanDrawChanged): + (WebCore): + (WebCore::CCLayerTreeHostImpl::releaseContentsTextures): + (WebCore::CCLayerTreeHostImpl::setRootLayer): + (WebCore::CCLayerTreeHostImpl::initializeRenderer): + (WebCore::CCLayerTreeHostImpl::setViewportSize): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: + (CCLayerTreeHostImplClient): + (WebCore::CCLayerTreeHostImpl::resetContentsTexturesPurged): + (CCLayerTreeHostImpl): + * platform/graphics/chromium/cc/CCScheduler.cpp: + (WebCore::CCScheduler::setCanDraw): + (WebCore): + (WebCore::CCScheduler::processScheduledActions): + * platform/graphics/chromium/cc/CCScheduler.h: + (CCScheduler): + * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: + (WebCore::CCSchedulerStateMachine::toString): + (WebCore): + (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded): + * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: + (CCSchedulerStateMachine): + * platform/graphics/chromium/cc/CCSingleThreadProxy.h: + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::onCanDrawStateChanged): + (WebCore): + (WebCore::CCThreadProxy::beginFrame): + (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread): + * platform/graphics/chromium/cc/CCThreadProxy.h: + +2012-09-04 Adam Barth <abarth@chromium.org> + + Remove WTF_DEPRECATED_STRING_OPERATORS from StylePropertySet.cpp + https://bugs.webkit.org/show_bug.cgi?id=95800 + + Reviewed by Benjamin Poulain. + + This patch is a re-spin of part of the patch from + https://bugs.webkit.org/show_bug.cgi?id=95502, but with the tests + fixed. :) + + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::get4Values): + (WebCore::StylePropertySet::getLayeredShorthandValue): + +2012-09-04 Keishi Hattori <keishi@webkit.org> + + REGRESSION(r126132): MediaSlider and MediaVolumeSlider thumbs don't match mouse when dragged + https://bugs.webkit.org/show_bug.cgi?id=95701 + + Reviewed by Kent Tamura. + + MediaSlider and MediaVolumeSlider thumbs didn't match mouse when dragged because of the negative margin applied to the thumb. + + Test: platform/chromium/media/media-volume-slider-hit-test.html + + * html/shadow/SliderThumbElement.cpp: + (WebCore::SliderThumbElement::setPositionFromPoint): Account for margins when calculating the position. + +2012-09-04 Tony Chang <tony@chromium.org> + + Add a const version of RenderBox::computeLogicalHeight + https://bugs.webkit.org/show_bug.cgi?id=95787 + + Reviewed by Ojan Vafai. + + After this, we can rename the old computeLogicalHeight to computeAndSetLogicalHeight + to make it clear that it is modifying values. + + No new tests, this should just be a refactor. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::constrainLogicalHeightByMinMax): Make const. + (WebCore::RenderBox::computeLogicalHeight): Add a const version that takes a LogicalExtentComputedValues struct for out values. + (WebCore::RenderBox::computeLogicalHeightUsing): Make const. + (WebCore::RenderBox::computeContentLogicalHeightUsing): Make const. + (WebCore::RenderBox::computePercentageLogicalHeight): Add a const cast. I tried to + convert everything below to const, but that's not a simple task. Also, computeReplacedLogicalHeightUsing + is already using a const_cast. + * rendering/RenderBox.h: + (RenderBox): Add const to method signatures. + +2012-09-04 Dirk Schulze <krit@webkit.org> + + -webkit-clip-path does not apply origin for polygon() + https://bugs.webkit.org/show_bug.cgi?id=95656 + + Reviewed by Tim Horton. + + The polygon() shape function did not apply origin of bouding box on created path. The shape was + not moved to the correct position. + + Tests: svg/clip-path/clip-path-shape-polygon-relative-expected.svg + svg/clip-path/clip-path-shape-polygon-relative.svg + + * rendering/style/BasicShapes.cpp: + (WebCore::BasicShapePolygon::path): Apply origin of bounding box. + +2012-09-04 Adam Barth <abarth@chromium.org> + + Make chromium-linux build without WTF_DEPRECATED_STRING_OPERATORS + https://bugs.webkit.org/show_bug.cgi?id=95798 + + Reviewed by Eric Seidel. + + This patch makes the chromium-linux port build without + WTF::String::operator+=. There are a couple places that require some + more careful study, and I've whitelisted those uses by defining + WTF_DEPRECATED_STRING_OPERATORS at the top of the files. (See + https://bugs.webkit.org/show_bug.cgi?id=95797 for an explanation of + WTF_DEPRECATED_STRING_OPERATORS.) + + * css/StylePropertySet.cpp: + * inspector/InspectorOverlay.cpp: + (WebCore::InspectorOverlay::drawNodeHighlight): + * platform/graphics/filters/CustomFilterValidatedProgram.cpp: + (WebCore::CustomFilterValidatedProgram::rewriteMixVertexShader): + +2012-09-04 Tony Chang <tony@chromium.org> + + Use TrackedRendererListHashSet typedef for percentHeightDescendants() + https://bugs.webkit.org/show_bug.cgi?id=95791 + + Reviewed by Ojan Vafai. + + There were a couple callers that were using ListHashSet<RenderBox*> instead of the typedef. + + No new tests, this is just a refactor. + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + * rendering/RenderView.cpp: + (WebCore::RenderView::setFixedPositionedObjectsNeedLayout): + +2012-09-04 Alec Flett <alecflett@chromium.org> + + IndexedDB: remove final createIndex backend glue + https://bugs.webkit.org/show_bug.cgi?id=95385 + + Reviewed by Adam Barth. + + Remove all code that created index keys in the IndexedDB backend. + + No new tests, this is just removal of dead code. + + * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Removed. + * Modules/indexeddb/IDBKeyPathBackendImpl.h: Removed. + * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: + (WebCore): + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * storage/chromium/IDBKeyPathBackendImpl.cpp: Removed. + +2012-09-04 Sergey Glazunov <serg.glazunov@gmail.com> + + Frame element doesn't always unload its child frame. + https://bugs.webkit.org/show_bug.cgi?id=94717 + + Reviewed by Hajime Morita. + + It's possible for a frame element that has been removed from the document + to retain an active child frame. This inconsistent state may become a source + of security vulnerabilities. + + The patch adds a global HashSet to store the nodes currently processed by + ChildFrameDisconnector. Insertion into these nodes' subtrees is not allowed until + the processing is complete. + + Also, the ChildFrameDisconnector call in removeChild(ren) is now immediately + followed by the actual removal. + + Test: fast/frames/out-of-document-iframe-has-child-frame.html + + * dom/ContainerNode.cpp: + (WebCore::willRemoveChildren): Move the ChildFrameDisconnector call out of a loop. + (WebCore::ContainerNode::removeChild): Rearrange some event firing code. + (WebCore::ContainerNode::removeChildren): Ditto. + * dom/ContainerNodeAlgorithms.cpp: + (WebCore::ChildFrameDisconnector::collectDescendant): Pass a new parameter to collectDescendant(Node*). + * dom/ContainerNodeAlgorithms.h: + (WebCore::ChildFrameDisconnector::ChildFrameDisconnector): + (ChildFrameDisconnector): Maintain a list of nodes that have an active ChildFrameDisconnector. + (WebCore::ChildFrameDisconnector::~ChildFrameDisconnector): + (WebCore::ChildFrameDisconnector::rootNodes): + (WebCore::ChildFrameDisconnector::collectDescendant): Add ShouldIncludeRoot parameter. + (WebCore::ChildFrameDisconnector::nodeHasDisconnector): + (WebCore): + * dom/Node.cpp: + (WebCore::checkAcceptChild): Reject a parent node if it or one of its parents has an active ChildFrameDisconnector. + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Check if an element is still in the document. + +2012-09-03 Sam Weinig <sam@webkit.org> + + Part 1 of removing PlatformString.h, move remaining functions to new homes + https://bugs.webkit.org/show_bug.cgi?id=95702 + + Reviewed by Beth Dakin. + + Move utf8Buffer() to SharedBuffer.h/cpp + Move numGraphemeClusters() and numCharactersInGraphemeClusters() to TextBreakIterator.h/cpp + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + Update projects. + + * platform/text/TextAllInOne.cpp: + Add TextBreakIterator.cpp. + + * editing/Editor.h: + Forward declare SharedBuffer, now that PlatformString.h doesn't. + + * html/InputType.cpp: + #include TextBreakIterator.h. + + * loader/appcache/ApplicationCacheStorage.h: + Replace inclusion of PlatformString.h with WTFString.h and forward declare SharedBuffer. + + * platform/LocalizedStrings.cpp: + Replace inclusion of PlatformString.h with TextBreakIterator.h + + * platform/SharedBuffer.cpp: + * platform/SharedBuffer.h: + Move utf8Buffer() here. + + * platform/text/PlatformString.h: + Remove everything except the #include of WTFString.h. + + * platform/text/TextBreakIterator.cpp: Renamed from Source/WebCore/platform/text/String.cpp. + (WebCore::numGraphemeClusters): + (WebCore::numCharactersInGraphemeClusters): + * platform/text/TextBreakIterator.h: + Move numGraphemeClusters() and numCharactersInGraphemeClusters() here. + +2012-09-04 Julien Chaffraix <jchaffraix@webkit.org> + + REGRESSION(r120832): RenderLayer::clampScrollOffset doesn't properly clamp + https://bugs.webkit.org/show_bug.cgi?id=95776 + + Reviewed by Simon Fraser. + + r120832 consolidated the clamping logic into RenderLayer::clampScrollOffset. The existing code wouldn't properly ensure that + the offset were positive which got exposed to other code paths, leading to the regression. + + Tested by ManualTests/select-menu-list-wrongly-positioned.html as I didn't find a way to create a reliable layout test. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::clampScrollOffset): + Fixed the clamping logic to ensure that the scroll offset's dimensions are positive. + +2012-09-04 Joshua Bell <jsbell@chromium.org> + + IndexedDB: IDBRequest leaks if IDBCursor closes and no further events fired + https://bugs.webkit.org/show_bug.cgi?id=95777 + + Reviewed by Tony Chang. + + IDBRequests are kept alive as long as they may fire events, which includes + if the associated IDBCursor object can be advanced. When the transaction + is finished the IDBCursor is notified which in turn tells the IDBRequest + that the cursor won't be the source of more events. However, if this occurs + and no further events fire the IDBRequest doesn't clear it's "has pending + activity flag". Clear the flag on the notification if the request is + otherwise complete. + + No new tests - ActiveDOMObjects and leaks are persnickety. + + * Modules/indexeddb/IDBRequest.cpp: + (WebCore::IDBRequest::finishCursor): + +2012-09-04 Max Vujovic <mvujovic@adobe.com> + + [CSS Shaders] Implement multiply, screen, darken, lighten, difference, exclusion blend modes. + https://bugs.webkit.org/show_bug.cgi?id=93870 + + Reviewed by Dirk Schulze. + + Add expressions for the aforementioned blend modes. The expressions are lifted directly + from the CSS Compositing and Blending spec [1]. WebKit adds these blending expressions to + the author's shader. + + [1]: https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnormal + + Test: css3/filters/custom/custom-filter-blend-modes.html + + * platform/graphics/filters/CustomFilterValidatedProgram.cpp: + (WebCore::CustomFilterValidatedProgram::blendFunctionString): + +2012-09-04 Nikhil Bhargava <nbhargava@google.com> + + Fix style for Event.h + https://bugs.webkit.org/show_bug.cgi?id=95779 + + Reviewed by Eric Seidel. + + Changes indenting for Event.h to match style guidelines for namespaces + + * dom/Event.h: + +2012-09-04 Jeffrey Pfau <jpfau@apple.com> + + Make plugins respect third-party storage blocking setting + https://bugs.webkit.org/show_bug.cgi?id=94888 + + Reviewed by Brady Eidson. + + Added functions for discerning if a plugin should be able to access its storage in its current origin. + + Tests: http/tests/security/cross-origin-plugin-allowed.html + http/tests/security/cross-origin-plugin.html + + * WebCore.exp.in: Export FrameTree::top and SecurityOrigin::canAccessStorage + * page/SecurityOrigin.h: Added canAccessPluginStorage + (WebCore::SecurityOrigin::canAccessPluginStorage): + +2012-09-04 Robert Hogan <robert@webkit.org> + + Regression(r127163): Heap-use-after-free in WebCore::RenderBoxModelObject::hasSelfPaintingLayer + https://bugs.webkit.org/show_bug.cgi?id=95632 + + Reviewed by Abhishek Arya. + + Don't add floats to the floating object set of blocks that avoid floats. There's no point in doing that + and they will never get cleared out during relayout. + + Tests: fast/css/intruding-floats-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clearFloatsIfNeeded): + +2012-09-04 Michael Saboff <msaboff@apple.com> + + equal() in CSSParser.cpp should check the length of characters + https://bugs.webkit.org/show_bug.cgi?id=95706 + + Reviewed by Abhishek Arya. + + Pass the length of string literals to CSSParser static functions equal() and + equalIgnoringCase() so that checks won't access out of bounds memory. + + Added test fast/css/crash-comparing-equal.html. + + * css/CSSParser.cpp: + (WebCore::equal): Use template to retrieve the length of string literal. + (WebCore::equalIgnoringCase): Ditto. + (WebCore::CSSParser::parseDashboardRegions): Use const char[] instead of const char* + +2012-09-04 Antonio Gomes <agomes@rim.com> + + [BlackBerry] Use child/ScrollableContent layer's position instead of parent/ScrollLayer's boundsOrigin + https://bugs.webkit.org/show_bug.cgi?id=95778 + PR #202252 + + Reviewed by Rob Buis. + Internally reviewed by Arvid Nilsson. + + Upstream has switch away from using the parent scroll layer's bounds origin + in order to translate contents of all its child layers. Instead now, it directly + sets the scroll position of the child scrollable contents layer. + + No new tests, since it is a catch-up with upstreaming code. + + Source/WebCore: + * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp: + (WebCore): + * platform/graphics/blackberry/GraphicsLayerBlackBerry.h: + (GraphicsLayerBlackBerry): + * platform/graphics/blackberry/LayerCompositingThread.cpp: + (WebCore::LayerCompositingThread::updateAnimations): + * platform/graphics/blackberry/LayerCompositingThread.h: + (WebCore::LayerOverride::LayerOverride): + (LayerOverride): + * platform/graphics/blackberry/LayerData.h: + (LayerData): + * platform/graphics/blackberry/LayerRenderer.cpp: + (WebCore::LayerRenderer::updateLayersRecursive): + * platform/graphics/blackberry/LayerWebKitThread.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + +2012-09-04 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Add the async createOffer functionality to RTCPeerConnection + https://bugs.webkit.org/show_bug.cgi?id=95734 + + Reviewed by Adam Barth. + + createOffer sends a request to the platform implementer requesting it to gather up all candidates. + This can take some time, therefore the request is async. + + Test: fast/mediastream/RTCPeerConnection-createOffer.html + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Modules/mediastream/RTCErrorCallback.h: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h. + (WebCore): + (RTCErrorCallback): + (WebCore::RTCErrorCallback::~RTCErrorCallback): + * Modules/mediastream/RTCErrorCallback.idl: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h. + * Modules/mediastream/RTCPeerConnection.cpp: + (WebCore::RTCPeerConnection::createOffer): + (WebCore): + * Modules/mediastream/RTCPeerConnection.h: + (WebCore): + (RTCPeerConnection): + * Modules/mediastream/RTCPeerConnection.idl: + * Modules/mediastream/RTCSessionDescriptionCallback.h: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h. + (WebCore): + (RTCSessionDescriptionCallback): + (WebCore::RTCSessionDescriptionCallback::~RTCSessionDescriptionCallback): + * Modules/mediastream/RTCSessionDescriptionCallback.idl: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h. + * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp: Added. + (WebCore): + (WebCore::RTCSessionDescriptionRequestImpl::create): + (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl): + (WebCore::RTCSessionDescriptionRequestImpl::~RTCSessionDescriptionRequestImpl): + (WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded): + (WebCore::RTCSessionDescriptionRequestImpl::requestFailed): + (WebCore::RTCSessionDescriptionRequestImpl::stop): + (WebCore::RTCSessionDescriptionRequestImpl::clear): + * Modules/mediastream/RTCSessionDescriptionRequestImpl.h: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h. + (WebCore): + (RTCSessionDescriptionRequestImpl): + * WebCore.gypi: + * platform/chromium/support/WebRTCSessionDescriptionDescriptor.cpp: Copied from Tools/DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h. + (WebKit): + (WebKit::WebRTCSessionDescriptionDescriptor::WebRTCSessionDescriptionDescriptor): + (WebKit::WebRTCSessionDescriptionDescriptor::assign): + (WebKit::WebRTCSessionDescriptionDescriptor::reset): + (WebKit::WebRTCSessionDescriptionDescriptor::operator WTF::PassRefPtr<WebCore::RTCSessionDescriptionDescriptor>): + (WebKit::WebRTCSessionDescriptionDescriptor::initialize): + (WebKit::WebRTCSessionDescriptionDescriptor::type): + (WebKit::WebRTCSessionDescriptionDescriptor::setType): + (WebKit::WebRTCSessionDescriptionDescriptor::sdp): + (WebKit::WebRTCSessionDescriptionDescriptor::setSDP): + * platform/chromium/support/WebRTCSessionDescriptionRequest.cpp: Added. + (WebKit): + (WebKit::WebRTCSessionDescriptionRequest::WebRTCSessionDescriptionRequest): + (WebKit::WebRTCSessionDescriptionRequest::assign): + (WebKit::WebRTCSessionDescriptionRequest::reset): + (WebKit::WebRTCSessionDescriptionRequest::requestSucceeded): + (WebKit::WebRTCSessionDescriptionRequest::requestFailed): + (ExtraDataContainer): + (WebKit::ExtraDataContainer::ExtraDataContainer): + (WebKit::ExtraDataContainer::extraData): + (WebKit::WebRTCSessionDescriptionRequest::extraData): + (WebKit::WebRTCSessionDescriptionRequest::setExtraData): + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (RTCPeerConnectionHandlerDummy): + (WebCore::RTCPeerConnectionHandlerDummy::createOffer): + (WebCore): + * platform/mediastream/RTCPeerConnectionHandler.h: + (WebCore): + (RTCPeerConnectionHandler): + * platform/mediastream/RTCSessionDescriptionDescriptor.h: + (WebCore::RTCSessionDescriptionDescriptor::type): + (WebCore::RTCSessionDescriptionDescriptor::sdp): + * platform/mediastream/RTCSessionDescriptionRequest.h: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h. + (WebCore): + (RTCSessionDescriptionRequest): + (ExtraData): + (WebCore::RTCSessionDescriptionRequest::ExtraData::~ExtraData): + (WebCore::RTCSessionDescriptionRequest::~RTCSessionDescriptionRequest): + (WebCore::RTCSessionDescriptionRequest::extraData): + (WebCore::RTCSessionDescriptionRequest::setExtraData): + (WebCore::RTCSessionDescriptionRequest::RTCSessionDescriptionRequest): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + (WebCore::RTCPeerConnectionHandlerChromium::createOffer): + (WebCore): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (RTCPeerConnectionHandlerChromium): + +2012-09-04 Dan Bernstein <mitz@apple.com> + + Reverted r127468 (the fix for <http://webkit.org/b/93443>) because the test it included caused + an assertion failure in Document::updateStyleIfNeeded(). + + * dom/NamedFlowCollection.cpp: + (WebCore::NamedFlowCollection::ensureFlowWithName): + (WebCore::NamedFlowCollection::discardNamedFlow): + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::didCreateNamedFlow): + (WebCore::InspectorCSSAgent::didRemoveNamedFlow): + (WebCore::InspectorCSSAgent::getNamedFlowCollection): + (WebCore::InspectorCSSAgent::getFlowByName): + (WebCore): + * inspector/InspectorCSSAgent.h: + (InspectorCSSAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore): + (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): + (WebCore::InspectorInstrumentation::didRemoveNamedFlowImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::didCreateNamedFlow): + (WebCore::InspectorInstrumentation::didRemoveNamedFlow): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel): + (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync): + (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync): + (WebInspector.CSSStyleModel.prototype._namedFlowCreated.callback): + (WebInspector.CSSStyleModel.prototype._namedFlowCreated): + (WebInspector.CSSStyleModel.prototype._namedFlowRemoved.callback): + (WebInspector.CSSStyleModel.prototype._namedFlowRemoved): + (WebInspector.CSSDispatcher.prototype.namedFlowCreated): + (WebInspector.CSSDispatcher.prototype.namedFlowRemoved): + (WebInspector.NamedFlow): + (WebInspector.NamedFlow.parsePayloadArray): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent): + +2012-09-04 Simon Fraser <simon.fraser@apple.com> + + Regression: Heap-use-after-free in WebCore::FrameView::scrollContentsFastPath + https://bugs.webkit.org/show_bug.cgi?id=95754 + + Reviewed by Dave Hyatt. + + It's possible to have a renderer with position:fixed or sticky style, + but no layer, for example a RenderScrollBarPart. Don't register such + renderers with the FrameView. + + Moved the code that registers/unregisters with the FrameView from + styleWillChange() to styleDidChange(), since in the latter case + we can check if we have a RenderLayer. Only register renderers with layers. + We always unregister, which required removing an assertion in + FrameView::removeFixedObject(), and replacing it with a null check of m_fixedObjects. + + Test: fast/css/remove-fixed-resizer-crash.html + + * page/FrameView.cpp: + (WebCore::FrameView::removeFixedObject): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::styleWillChange): + (WebCore::RenderBoxModelObject::styleDidChange): + +2012-09-04 Dominik Röttsches <dominik.rottsches@intel.com> + + ResourceErrorBase needs to identify timeouts + https://bugs.webkit.org/show_bug.cgi?id=95755 + + Reviewed by Alexey Proskuryakov. + + Adding a property to check whether this ResourceError was raised due to a timeout. + This is preparatory work for bug 74802. In order to implement XHR2 timeout functionality, + I need to identify some layers up whether the original network problem has been a timeout. + + No new tests, no change in behavior yet. + + * platform/network/ResourceErrorBase.cpp: + (WebCore::ResourceErrorBase::copy): Copying new member. + (WebCore::ResourceErrorBase::compare): Comparing new member. + * platform/network/ResourceErrorBase.h: + (WebCore::ResourceErrorBase::setIsTimeout): New setter. + (WebCore::ResourceErrorBase::isTimeout): New getter. + (ResourceErrorBase), + (WebCore::ResourceErrorBase::ResourceErrorBase): Adding m_isTimeout member. + +2012-09-04 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Change the MediaStreamTrackList track added/removed signaling + https://bugs.webkit.org/show_bug.cgi?id=95721 + + Reviewed by Adam Barth. + + This allows the platform implementor to throw an NOT_SUPPORTED_ERR exception if it doesn support these methods. + + Patch covered by expanded existing test. + + * Modules/mediastream/MediaStreamTrackList.cpp: + (WebCore::MediaStreamTrackList::add): + (WebCore::MediaStreamTrackList::remove): + * platform/mediastream/MediaStreamCenter.h: + (MediaStreamCenter): + * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp: + (WebCore::MediaStreamCenterBlackBerry::didAddMediaStreamTrack): + (WebCore): + (WebCore::MediaStreamCenterBlackBerry::didRemoveMediaStreamTrack): + * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h: + (MediaStreamCenterBlackBerry): + * platform/mediastream/chromium/MediaStreamCenterChromium.cpp: + (WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack): + (WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack): + * platform/mediastream/chromium/MediaStreamCenterChromium.h: + (MediaStreamCenterChromium): + * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp: + (WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack): + (WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack): + * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h: + (MediaStreamCenterGStreamer): + +2012-09-04 Joanmarie Diggs <jdiggs@igalia.com> + + [GTK] Crash in AccessibilityObject::accessibilityPlatformIncludesObject() + https://bugs.webkit.org/show_bug.cgi?id=95740 + + Reviewed by Martin Robinson. + + Added sanity check to be sure we have a render object prior to seeing if + said object is an anonymous block. + + Testing via unit test because a non-flaky layout test crasher could not + be found. + + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): + Sanity check for render object added. + +2012-09-04 Christophe Dumez <christophe.dumez@intel.com> + + Automatic features should work in sandboxed iframes if "allow-scripts" flag is set + https://bugs.webkit.org/show_bug.cgi?id=93961 + + Reviewed by Adam Barth. + + Allow automatic features (video autoplay and form control + autofocus) in a sandboxed iframe that has "allow-scripts" + flag set. This behavior is according to the latest + specification at: + http://dev.w3.org/html5/spec/browsers.html#attr-iframe-sandbox-allow-same-origin + + This sandboxed automatic features browsing context flag is + relaxed by the same keyword as scripts, because when + scripts are enabled these features are trivially possible + anyway, and it would be unfortunate to force authors to + use script to do them when sandboxed rather than allowing + them to use the declarative features. + + Tests: fast/forms/autofocus-in-sandbox-with-allow-scripts.html + media/auto-play-in-sandbox-with-allow-scripts.html + + * dom/SecurityContext.cpp: + (WebCore::SecurityContext::parseSandboxPolicy): + +2012-09-04 Sami Kyostila <skyostil@google.com> + + Register scrolling layers with ScrollingCoordinator + https://bugs.webkit.org/show_bug.cgi?id=78862 + + Reviewed by James Robinson. + + In order to allow scrollable child layers to be scrolled off the main + thread, register them with the ScrollingCoordinator. These layers are + also removed from the non-fast scrollable region. + + Whenever the scroll offset or other scroll geometry related attribute of + a compositor scrolled layer changes, the ScrollingCoordinator is + informed to allow it to update its internal representation of the + scrollable layer. + + No tests because the ScrollingCoordinator is currently not testable. + + * page/scrolling/ScrollingCoordinator.cpp: + (WebCore::computeNonFastScrollableRegion): Composited scrolling layers + can be scrolled off the main thread. + (WebCore): + (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange): + Callback to ScrollingCoordinator about changes the composited scrolling layers. + * page/scrolling/ScrollingCoordinator.h: + (WebCore): + (ScrollingCoordinator): + * page/scrolling/ScrollingCoordinatorNone.cpp: + (WebCore): + (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange): + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::usesCompositedScrolling): + * rendering/RenderLayer.cpp: + (WebCore): + (WebCore::RenderLayer::usesCompositedScrolling): + * rendering/RenderLayer.h: + (RenderLayer): + (WebCore::RenderLayer::usesCompositedScrolling): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + (WebCore::RenderLayerBacking::updateScrollingLayers): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::scrollingLayerDidChange): + (WebCore): + * rendering/RenderLayerCompositor.h: + (RenderLayerCompositor): + +2012-09-04 Brian Anderson <brianderson@chromium.org> + + [chromium] Do not allow infinite pending frames in CCFrameRateController + https://bugs.webkit.org/show_bug.cgi?id=94254 + + Reviewed by James Robinson. + + Removes support for infinite pending frames in CCFrameRateController + if swap acks are available. + + Functionality covered by existing tests. + + * platform/graphics/chromium/cc/CCFrameRateController.cpp: + (WebCore::CCFrameRateController::CCFrameRateController): + (WebCore::CCFrameRateController::setMaxFramesPending): + (WebCore::CCFrameRateController::setSwapBuffersCompleteSupported): + (WebCore): + (WebCore::CCFrameRateController::onTimerTick): + (WebCore::CCFrameRateController::didBeginFrame): + (WebCore::CCFrameRateController::didFinishFrame): + * platform/graphics/chromium/cc/CCFrameRateController.h: + (CCFrameRateController): + * platform/graphics/chromium/cc/CCScheduler.cpp: + (WebCore::CCScheduler::setSwapBuffersCompleteSupported): + (WebCore): + * platform/graphics/chromium/cc/CCScheduler.h: + (CCScheduler): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::initializeRendererOnImplThread): + +2012-09-04 Tim Horton <timothy_horton@apple.com> + + ASSERTion failure when SVG element is removed from document and readded + https://bugs.webkit.org/show_bug.cgi?id=95517 + <rdar://problem/12175583> + + Reviewed by Brady Eidson. + + Previously, SVG animations would cease to animate when their parent + <svg> element was removed and re-added to the document. + + Instead, to match Firefox and Opera, we should continue the animation + with the same beginTime (i.e. the animation continues as if it had never + been removed from the document). + + Test: svg/animations/reinserting-svg-into-document.html + + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::insertedInto): Don't call begin() on an already-started SMILTimeContainer(). + * svg/animation/SMILTimeContainer.cpp: + (WebCore::SMILTimeContainer::isStarted): Added. + * svg/animation/SMILTimeContainer.h: Add isStarted(). + * svg/animation/SVGSMILElement.cpp: + (WebCore::SVGSMILElement::insertedInto): Always reschedule SVGSMILElements with + their parent SMILTimeContainer when they are inserted into the document, otherwise + they are lost (and never again update) when their subtree is removed and then + readded to the document. + +2012-09-04 Andrei Bucur <abucur@adobe.com> + + [CSS Regions] Destroying a render named flow thread without unregistering left-over content nodes triggered an assertion. + https://bugs.webkit.org/show_bug.cgi?id=95645 + + Reviewed by Abhishek Arya. + + This patch cleans up the render named flow thread before destruction by unregistering left-over content nodes. + + Tests: fast/regions/moved-content-node-crash.html + + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::~RenderNamedFlowThread): + +2012-09-04 Koji Ishii <kojiishi@gmail.com> + + [chromium] OpenTypeVerticalData.cpp in both webcore_remaining and webcore_platform seems to break incremental linking on Windows Chromium + https://bugs.webkit.org/show_bug.cgi?id=95744 + + Patch by Koji Ishii <kojiishi@gmail.com> on 2012-09-04 + Unreviewed build fix, verified by Scott Graham. + + The addition of 'platform/graphics/opentype/*' to webcore_platform in WebCore.gyp was redundant + because '/opentype/' was already included to webcore_remaining. + It was not only redundant but also breaks incremental linking. + + No new tests are required because no behavior changes. + + * WebCore.gyp/WebCore.gyp: Removed platform/graphics/opentype/* from webcore_platform. + +2012-09-04 Otto Derek Cheung <otcheung@rim.com> + + [BlackBerry] Browser is not sending secured Cookie back to server over HTTPS connection + https://bugs.webkit.org/show_bug.cgi?id=95747 + + PR199729 + + Reviewed by Rob Buis. + Internally Reviewed by Joe Mason. + + If the browser has never saved a secure protocol cookie in its mapping before, + and it tries to set and retreive a secure cookie over a non-secure + protocol, it will not show up because the link between the secure and + non-secure mapping isn't created until a cookie (sent through secure) is set. + + The fix is to also check for the linkage in getRawCookies. Note that we cannot + map the secure CookieMap to the non-secure one because getRawCookies is a const + function. + + Manually tested using our Browser Test suite. + + * platform/blackberry/CookieManager.cpp: + (WebCore::CookieManager::getRawCookies): + +2012-09-04 Philippe Normand <pnormand@igalia.com> + + [GStreamer] 0.11 build breaks due to rename of gst_message_new_duration + https://bugs.webkit.org/show_bug.cgi?id=95751 + + Reviewed by Martin Robinson. + + In gstreamer commit f712a9596c2bc1863edf9b816d9854eefca9ba45 + gst_message_new_duration was renamed to + gst_message_new_duration_changed. + + However the only place where we used this is in the HTTP source + element and only if appsrc < 0.10.27 is used at runtime. In the + case of GStreamer 1.0 this condition will be always false so we + can disable this code at build time. + + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (StreamingClient::didReceiveResponse): + +2012-09-04 Andrei Poenaru <poenaru@adobe.com> + + Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event + https://bugs.webkit.org/show_bug.cgi?id=93443 + + Reviewed by Pavel Feldman. + + Added "regionLayoutUpdate" event to the protocol. + + Removed "getFlowByName" from protocol. + + The front-end keeps in sync the requested Named Flow Collections. + + Modified existing test: inspector/styles/protocol-css-regions-commands.html + + * dom/NamedFlowCollection.cpp: + (WebCore::NamedFlowCollection::ensureFlowWithName): + (WebCore::NamedFlowCollection::discardNamedFlow): + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::didCreateNamedFlow): + (WebCore::InspectorCSSAgent::willRemoveNamedFlow): + (WebCore): + (WebCore::InspectorCSSAgent::didUpdateRegionLayout): + (WebCore::InspectorCSSAgent::getNamedFlowCollection): + (WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId): + * inspector/InspectorCSSAgent.h: + (InspectorCSSAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore): + (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): + (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): + (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::didCreateNamedFlow): + (WebCore::InspectorInstrumentation::willRemoveNamedFlow): + (WebCore): + (WebCore::InspectorInstrumentation::didUpdateRegionLayout): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel): + (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback): + (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync): + (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback): + (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync): + (WebInspector.CSSStyleModel.prototype._namedFlowCreated): + (WebInspector.CSSStyleModel.prototype._namedFlowRemoved): + (WebInspector.CSSStyleModel.prototype._regionLayoutUpdated): + (WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections): + (WebInspector.CSSDispatcher.prototype.namedFlowCreated): + (WebInspector.CSSDispatcher.prototype.namedFlowRemoved): + (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated): + (WebInspector.NamedFlow): + (WebInspector.NamedFlowCollection): + (WebInspector.NamedFlowCollection.prototype.appendNamedFlow): + (WebInspector.NamedFlowCollection.prototype.removeNamedFlow): + (WebInspector.NamedFlowCollection.prototype.flowByName): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent): + +2012-09-04 Jonathan Liu <net147@gmail.com> + + Fix IDL dependency generation correctly + https://bugs.webkit.org/show_bug.cgi?id=95730 + + Reviewed by Csaba Osztrogonác. + + IDL dependency generation is still not working after + https://bugs.webkit.org/show_bug.cgi?id=88304. This is because spaces + added after the filename in an echo command end up being added to the + file which isn't handled correctly by preprocess-idls.pl. The problem + is fixed by removing the space after the filename. + + * DerivedSources.pri: + +2012-09-04 Mario Sanchez Prada <msanchez@igalia.com> + + [Stable] [GTK] Crash in WebCore::HTMLSelectElement::selectedIndex + https://bugs.webkit.org/show_bug.cgi?id=95618 + + Reviewed by Martin Robinson. + + Make sure we only emit the the signal for menu lists and list + boxes rendered from actual HTML select elements. + + * accessibility/gtk/AXObjectCacheAtk.cpp: + (WebCore::notifyChildrenSelectionChange): We support accessibility + ListBoxes and MenuLists only here, assuming they represent HTML + select elements, which might be not always true (e.g. ARIA). Thus, + check if that condition is true, early returning in other case. + +2012-09-04 Martin Robinson <mrobinson@igalia.com> + + [Cairo] [TextureMapper] Assertion failure in TextureMapperGL + https://bugs.webkit.org/show_bug.cgi?id=95713 + + Reviewed by Noam Rosenthal. + + Fix an assertion failure by returning a valid context always for GraphicsContext3D::platformContext. + This is important because TextureMapperGL uses the platform context to perform hashing. + + No new tests. This is covered by existing accelerated compositing tests. + + * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: + (WebCore::GraphicsContext3DPrivate::platformContext): Return the current GLContext + when getting the platform context for private GraphicsContext3DPrivates that render + to the currently active context. + +2012-09-04 Alexander Shalamov <alexander.shalamov@intel.com> + + [EFL] Check if ecore_x is initialised before calling ecore_x_bell to avoid crash + https://bugs.webkit.org/show_bug.cgi?id=86961 + + Reviewed by Kenneth Rohde Christiansen. + + Add ecore_x initialisation check before calling ecore_x_bell + to avoid crashes when X server is not running. + + * platform/efl/SoundEfl.cpp: + (WebCore::systemBeep): + +2012-09-04 Alexander Shalamov <alexander.shalamov@intel.com> + + [EFL] Check if ecore_x is initialised before calling ecore_x_bell to avoid crash + https://bugs.webkit.org/show_bug.cgi?id=86961 + + Reviewed by Kenneth Rohde Christiansen. + + Add ecore_x initialisation check before calling ecore_x_bell + to avoid crashes when X server is not running. + + * platform/efl/SoundEfl.cpp: + (WebCore::systemBeep): + +2012-09-04 Alexander Shalamov <alexander.shalamov@intel.com> + + [EFL][WK2] CSS3 Media Queries functionality is broken + https://bugs.webkit.org/show_bug.cgi?id=95680 + + Reviewed by Kenneth Rohde Christiansen. + + In WK2, WebProcess doesn't have access to ewk_view evas object. + Methods that get screen rect or screen depth either return incorrect value or crash. + This patch removes dependency to ewk_view evas object and relies on ecore_x_* functions + to get screen rectangle or color depth of the screen. + + * platform/efl/EflScreenUtilities.cpp: removed unused getPixelDepth method definition + * platform/efl/EflScreenUtilities.h: removed unsused getPixelDepth method declaration + (WebCore): + * platform/efl/PlatformScreenEfl.cpp: + (WebCore): + (WebCore::screenHorizontalDPI): + (WebCore::screenVerticalDPI): + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + +2012-09-04 Michał Pakuła vel Rutka <m.pakula@samsung.com> + + [EFL] Context menu restore. + https://bugs.webkit.org/show_bug.cgi?id=74179 + + Reviewed by Gyuyoung Kim. + + Adds context menu support for EFL port using non-CROSS_PLATFORM_CONTEXT_MENUS + approach, the same as used in WebKit2. + + * PlatformEfl.cmake: Removed -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1 + +2012-09-04 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: [WebGL] Bugfix: wrong texture binding target in replay for 3D textures + https://bugs.webkit.org/show_bug.cgi?id=95687 + + Reviewed by Vsevolod Vlasov. + + gl.bindTexture accepts either TEXTURE_2D or TEXTURE_CUBE_MAP targets, but we tried to replay with TEXTURE_CUBE_MAP_POSITIVE_X and others for 3D textures. + + * inspector/InjectedScriptWebGLModuleSource.js: + (.): + +2012-09-04 Allan Sandfeld Jensen <allan.jensen@nokia.com> + + Allow child-frame content in hit-tests. + https://bugs.webkit.org/show_bug.cgi?id=95204 + + Reviewed by Antonio Gomes. + + Refactors how EventHandler::hitTestResultAtPoint handles child-frame content, + it is now handled by the hit test itself controlled by the AllowChildFrameContent + flag in HitTestRequest. + + Tests: fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html + touchadjustment/iframe-boundary.html + + * WebCore.exp.in: + * WebCore.order: + * dom/Document.cpp: + (WebCore::Document::nodesFromRect): + * dom/Document.h: + (Document): + * page/EventHandler.cpp: + (WebCore::EventHandler::hitTestResultAtPoint): + * rendering/HitTestRequest.h: + (WebCore::HitTestRequest::allowChildFrameContent): + (WebCore::HitTestRequest::childFrameHitTest): + (WebCore::HitTestRequest::testChildFrameScrollBars): + * rendering/RenderFrameBase.cpp: + (WebCore::RenderFrameBase::nodeAtPoint): + (WebCore): + * rendering/RenderFrameBase.h: + (RenderFrameBase): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTest): + * testing/Internals.cpp: + (WebCore::Internals::nodesFromRect): + * testing/Internals.h: + (Internals): + * testing/Internals.idl: + +2012-09-04 Christophe Dumez <christophe.dumez@intel.com> + + [EFL] Fix build error in NetworkStateNotifierEfl.cpp + https://bugs.webkit.org/show_bug.cgi?id=95724 + + Unreviewed EFL build fix. + + Make sure <sys/socket.h> is included before + <linux/netlink.h> to fix build errors on some + systems (e.g. Ubuntu 11.10). + + No new tests, no behavior change. + + * platform/network/efl/NetworkStateNotifierEfl.cpp: + +2012-09-04 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Create JavaScriptSources based on network resources. + https://bugs.webkit.org/show_bug.cgi?id=95352 + + Reviewed by Pavel Feldman. + + Introduced NetworkUISourceCodeProvider that is listening for ResourceTreeModel and creates UISourceCodes for them. + RawSourceCode does not create uiSourceCodes based on resource anymore (this is done by NetworkUISourceCodeProvider instead). + Moved script <-> uiSourceCode binding logic from RawSourceCode to ResourceScriptMapping. + Removed rawSourceCode as it was not needed anymore. + + Tests: inspector/debugger/network-uisourcecode-provider.html + inspector/debugger/resource-script-mapping.html + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/compile-front-end.py: + * inspector/front-end/CompilerScriptMapping.js: + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerDispatcher.prototype.scriptFailedToParse): + * inspector/front-end/JavaScriptSource.js: + (WebInspector.JavaScriptSource): + * inspector/front-end/NetworkUISourceCodeProvider.js: Renamed from Source/WebCore/inspector/front-end/StylesUISourceCodeProvider.js. + (WebInspector.NetworkUISourceCodeProvider): + (WebInspector.NetworkUISourceCodeProvider.prototype._populate): + (WebInspector.NetworkUISourceCodeProvider.prototype._styleResourceAdded): + (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded.resourceFinished): + (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded): + (WebInspector.NetworkUISourceCodeProvider.prototype._addJavaScriptSource): + (WebInspector.NetworkUISourceCodeProvider.prototype._addUISourceCode): + (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded): + (WebInspector.NetworkUISourceCodeProvider.prototype._reset): + * inspector/front-end/RawSourceCode.js: + * inspector/front-end/ResourceScriptMapping.js: + (WebInspector.ResourceScriptMapping): + (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation): + (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts): + (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL): + (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode.get var): + (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode): + (WebInspector.ResourceScriptMapping.prototype.get _uiSourceCodeReplaced): + (WebInspector.ResourceScriptMapping.prototype._reset): + * inspector/front-end/ScriptSnippetModel.js: + (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet): + (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript): + (WebInspector.SnippetJavaScriptSource): + * inspector/front-end/UISourceCode.js: + (WebInspector.UISourceCode): + (WebInspector.UISourceCode.prototype.uiLocationToRawLocation): + (WebInspector.UISourceCode.prototype.setSourceMapping): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/Workspace.js: Drive-by: fixed duplicating uiSourceCodes in workspace. + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + +2012-09-04 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: [WebGL] Save gl.getError() status before taking a WebGL state snapshot and restore it afterwards + https://bugs.webkit.org/show_bug.cgi?id=95443 + + Reviewed by Vsevolod Vlasov. + + Save gl.getError() status before taking the GL snapshot and restore it afterwards. + + * inspector/InjectedScriptWebGLModuleSource.js: + (.): + +2012-09-04 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: More directional control characters for debugging in inspector + https://bugs.webkit.org/show_bug.cgi?id=95696 + + Reviewed by Vsevolod Vlasov. + + Entities for text directionality-related characters added (LRE, RLE, LRO, RLO, PDF). + + * inspector/front-end/ElementsTreeOutline.js: + +2012-09-04 Yury Semikhatsky <yurys@chromium.org> + + Web Inspector: new CPU Profiles are not shown after reattach + https://bugs.webkit.org/show_bug.cgi?id=95686 + + Reviewed by Vsevolod Vlasov. + + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::restore): set m_headersRequested flags + to true and clear all profiles on the front-end since there are no + collected profiles yet immediately after render process sitching. + +2012-09-04 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: NMI: cosmetic change, rename m_domMemoryUsage to m_memoryInstrumentation. + https://bugs.webkit.org/show_bug.cgi?id=95716 + + Also m_memoryInstrumentation became a reference to external object because it has other life time than domNodeVisitor. + + Reviewed by Yury Semikhatsky. + + * inspector/InspectorMemoryAgent.cpp: + (WebCore): + (WebCore::collectDomTreeInfo): + +2012-08-31 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Port the Qt pixmap JS bindings to use the JSC C API + https://bugs.webkit.org/show_bug.cgi?id=94702 + + Reviewed by Kenneth Rohde Christiansen. + + Based on patch by Noam Rosenthal. + + The conversion uses a simple JSClassRef based binding and only a few + uses of private JSC API for the HTML element DOM bindings remain. + + This is essentially used for wrapping QPixmap and QImage types in + JavaScript and the other way around, for retrieving the image data + out of a HTML image element when converting from JS/DOM to Qt. + + * bridge/qt/qt_pixmapruntime.cpp: + (JSC::Bindings::copyPixels): + (JSC::Bindings::toPixmap): + (JSC::Bindings::toImage): + (JSC::Bindings::imageSizeForVariant): + (JSC::Bindings::getPixmapWidth): + (JSC::Bindings::getPixmapHeight): + (JSC::Bindings::assignToHTMLImageElement): + (JSC::Bindings::pixmapToImageData): + (JSC::Bindings::pixmapToDataUrl): + (JSC::Bindings::pixmapToString): + (JSC::Bindings::QtPixmapRuntime::toJS): + (JSC::Bindings::QtPixmapRuntime::toQt): + (JSC::Bindings::QtPixmapRuntime::canHandle): + (JSC::Bindings::QtPixmapRuntime::getClassRef): + * bridge/qt/qt_pixmapruntime.h: + (QtPixmapRuntime): + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertValueToQVariant): + (JSC::Bindings::convertQVariantToValue): + +2012-09-03 Andreas Kling <kling@webkit.org> + + Share immutable ElementAttributeData between elements with identical attributes. + <http://webkit.org/b/94990> + + Reviewed by Antti Koivisto. + + Keep a cache of ElementAttributeData objects for a given set of attributes and reuse + them in elements with identical attribute maps. ElementAttributeData is made ref-counted + to facilitate this. A copy-on-write mechanism is already in place, since mutating call + sites have to go via Element::mutableAttributeData(). + + The cache is held by Document and cleared in Document::finishedParsing() since the vast + majority of immutable ElementAttributeData will be constructed during parsing. + + On the HTML5 spec at <http://whatwg.org/c/>, we get a cache hit rate of nearly 80%, + translating into a 3.5MB reduction in memory use. + + * dom/Document.cpp: + (WebCore::Document::finishedParsing): + (ImmutableAttributeDataCacheKey): + (WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey): + (WebCore::ImmutableAttributeDataCacheKey::operator!=): + (WebCore::ImmutableAttributeDataCacheKey::hash): + (ImmutableAttributeDataCacheEntry): + (WebCore::Document::cachedImmutableAttributeData): + * dom/Document.h: + * dom/Element.cpp: + (WebCore::Element::parserSetAttributes): + * dom/Element.h: + * dom/ElementAttributeData.cpp: + (WebCore::ElementAttributeData::createImmutable): + (WebCore::ElementAttributeData::ElementAttributeData): + * dom/ElementAttributeData.h: + (WebCore::ElementAttributeData::create): + (ElementAttributeData): + (WebCore::ElementAttributeData::makeMutable): + +2012-09-03 Peter Wang <peter.wang@torchmobile.com.cn> + + Web Inspector: the URL of worker inspector window sometimes is invalid + https://bugs.webkit.org/show_bug.cgi?id=95334 + + Reviewed by Pavel Feldman. + + In "_openInspectorWindow", before "&dedicatedWorkerId=" should have a '?' to make the whole URL valid. + + No new tests case for this bug. + + * inspector/front-end/WorkerManager.js: + (WebInspector.WorkerManager.prototype._openInspectorWindow): + +2012-09-03 Jinwoo Song <jinwoo7.song@samsung.com> + + [EFL] Fix e_dbus_shutdown() error when exiting the Minibrowser + https://bugs.webkit.org/show_bug.cgi?id=95636 + + Reviewed by Gyuyoung Kim. + + Check if the m_timer is active in stopUpdating() + to know the BatteryProvider is updating or not. + By checking the timer, stopUpdating() will be called + only BatteryProviderEfl is updating. + + * platform/efl/BatteryProviderEfl.cpp: + (WebCore::BatteryProviderEfl::stopUpdating): + +2012-09-03 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127427. + http://trac.webkit.org/changeset/127427 + https://bugs.webkit.org/show_bug.cgi?id=95695 + + Breaks some inspector/debugger tests on JSC (Requested by + vsevik on #webkit). + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/compile-front-end.py: + * inspector/front-end/CompilerScriptMapping.js: + * inspector/front-end/JavaScriptSource.js: + (WebInspector.JavaScriptSource): + * inspector/front-end/NetworkUISourceCodeProvider.js: Removed. + * inspector/front-end/RawSourceCode.js: + (WebInspector.RawSourceCode): + (WebInspector.RawSourceCode.prototype.addScript): + (WebInspector.RawSourceCode.prototype.rawLocationToUILocation): + (WebInspector.RawSourceCode.prototype._createUISourceCode): + (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation): + (WebInspector.RawSourceCode.prototype.uiSourceCode): + (WebInspector.RawSourceCode.prototype._finishedLoading): + * inspector/front-end/ResourceScriptMapping.js: + (WebInspector.ResourceScriptMapping): + (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation): + (WebInspector.ResourceScriptMapping.prototype.addScript): + (WebInspector.ResourceScriptMapping.prototype._shouldBindScriptToContentProvider): + (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged): + (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded): + (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced): + (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved): + (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode): + (WebInspector.ResourceScriptMapping.prototype._reset): + * inspector/front-end/ScriptSnippetModel.js: + (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet): + (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript): + (WebInspector.SnippetJavaScriptSource): + * inspector/front-end/StylesUISourceCodeProvider.js: Added. + (WebInspector.StylesUISourceCodeProvider): + (WebInspector.StylesUISourceCodeProvider.prototype._populate): + (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded): + (WebInspector.StylesUISourceCodeProvider.prototype._reset): + * inspector/front-end/UISourceCode.js: + (WebInspector.UISourceCode): + (WebInspector.UISourceCode.prototype.uiLocationToRawLocation): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + +2012-09-03 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Create JavaScriptSources based on network resources. + https://bugs.webkit.org/show_bug.cgi?id=95352 + + Reviewed by Pavel Feldman. + + Introduced NetworkUISourceCodeProvider that is listening for ResourceTreeModel and creates UISourceCodes for them. + RawSourceCode does not create uiSourceCodes based on resource anymore (this is done by NetworkUISourceCodeProvider instead). + Moved script <-> uiSourceCode binding logic from RawSourceCode to ResourceScriptMapping. + Removed rawSourceCode as it was not needed anymore. + + Tests: inspector/debugger/network-uisourcecode-provider.html + inspector/debugger/resource-script-mapping.html + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/compile-front-end.py: + * inspector/front-end/CompilerScriptMapping.js: + * inspector/front-end/JavaScriptSource.js: + (WebInspector.JavaScriptSource): + * inspector/front-end/NetworkUISourceCodeProvider.js: Renamed from Source/WebCore/inspector/front-end/StylesUISourceCodeProvider.js. + (WebInspector.NetworkUISourceCodeProvider): + (WebInspector.NetworkUISourceCodeProvider.prototype._populate): + (WebInspector.NetworkUISourceCodeProvider.prototype._styleResourceAdded): + (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded.resourceFinished): + (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded): + (WebInspector.NetworkUISourceCodeProvider.prototype._addJavaScriptSource): + (WebInspector.NetworkUISourceCodeProvider.prototype._addUISourceCode): + (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded): + (WebInspector.NetworkUISourceCodeProvider.prototype._reset): + * inspector/front-end/RawSourceCode.js: + * inspector/front-end/ResourceScriptMapping.js: + (WebInspector.ResourceScriptMapping): + (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation): + (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts): + (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL): + (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode.get var): + (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode): + (WebInspector.ResourceScriptMapping.prototype.get _uiSourceCodeReplaced): + (WebInspector.ResourceScriptMapping.prototype._reset): + * inspector/front-end/ScriptSnippetModel.js: + (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet): + (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript): + (WebInspector.SnippetJavaScriptSource): + * inspector/front-end/UISourceCode.js: + (WebInspector.UISourceCode): + (WebInspector.UISourceCode.prototype.uiLocationToRawLocation): + (WebInspector.UISourceCode.prototype.setSourceMapping): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + +2012-09-03 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: [WebGL] Make the injected __resourceObject property non-enumerable + https://bugs.webkit.org/show_bug.cgi?id=95682 + + Reviewed by Pavel Feldman. + + Make the injected auxiliary property __resourceObject non-enumerable to hide it from for..in iterations. + Ideally this property should be completely hidden from the user's code. + Drive-by: Fix couple of small FIXME's. + + * inspector/InjectedScriptWebGLModuleSource.js: + (.): + +2012-09-03 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Add Ice-related functionality to RTCPeerConnection + https://bugs.webkit.org/show_bug.cgi?id=95565 + + Reviewed by Adam Barth. + + Adds all Ice-related functionality to RTCPeerConnection, including + events, callbacks and methods. + + Test: fast/mediastream/RTCPeerConnection-ice.html + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Modules/mediastream/RTCIceCandidateEvent.cpp: Added. + (WebCore): + (WebCore::RTCIceCandidateEvent::create): + (WebCore::RTCIceCandidateEvent::RTCIceCandidateEvent): + (WebCore::RTCIceCandidateEvent::~RTCIceCandidateEvent): + (WebCore::RTCIceCandidateEvent::candidate): + (WebCore::RTCIceCandidateEvent::interfaceName): + * Modules/mediastream/RTCIceCandidateEvent.h: Added. + (WebCore): + (RTCIceCandidateEvent): + * Modules/mediastream/RTCIceCandidateEvent.idl: Added. + * Modules/mediastream/RTCPeerConnection.cpp: + (WebCore::RTCPeerConnection::RTCPeerConnection): + (WebCore::RTCPeerConnection::updateIce): + (WebCore): + (WebCore::RTCPeerConnection::addIceCandidate): + (WebCore::RTCPeerConnection::iceState): + (WebCore::RTCPeerConnection::close): + (WebCore::RTCPeerConnection::didGenerateIceCandidate): + (WebCore::RTCPeerConnection::didChangeIceState): + (WebCore::RTCPeerConnection::stop): + (WebCore::RTCPeerConnection::changeIceState): + * Modules/mediastream/RTCPeerConnection.h: + (RTCPeerConnection): + * Modules/mediastream/RTCPeerConnection.idl: + * WebCore.gypi: + * dom/EventNames.h: + (WebCore): + * dom/EventNames.in: + * platform/chromium/support/WebRTCICECandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp. + (WebKit): + (WebKit::WebRTCICECandidateDescriptor::WebRTCICECandidateDescriptor): + (WebKit::WebRTCICECandidateDescriptor::assign): + (WebKit::WebRTCICECandidateDescriptor::reset): + (WebKit::WebRTCICECandidateDescriptor::initialize): + (WebKit::WebRTCICECandidateDescriptor::operator PassRefPtr<WebCore::RTCIceCandidateDescriptor>): + (WebKit::WebRTCICECandidateDescriptor::candidate): + (WebKit::WebRTCICECandidateDescriptor::sdpMid): + (WebKit::WebRTCICECandidateDescriptor::sdpMLineIndex): + * platform/mediastream/RTCIceCandidateDescriptor.h: + (WebCore::RTCIceCandidateDescriptor::candidate): + (WebCore::RTCIceCandidateDescriptor::sdpMid): + (WebCore::RTCIceCandidateDescriptor::sdpMLineIndex): + * platform/mediastream/RTCPeerConnectionHandler.h: + (WebCore): + (RTCPeerConnectionHandler): + * platform/mediastream/RTCPeerConnectionHandlerClient.h: + (WebCore): + (RTCPeerConnectionHandlerClient): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + (WebCore::RTCPeerConnectionHandlerChromium::updateIce): + (WebCore): + (WebCore::RTCPeerConnectionHandlerChromium::addIceCandidate): + (WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate): + (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEState): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (WebKit): + (RTCPeerConnectionHandlerChromium): + +2012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com> + + Unreviewed build fix after r127421 + + * rendering/HitTestResult.cpp: + (WebCore::HitTestLocation::HitTestLocation): + +2012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com> + + Move AllowShadowContent flag to HitTestRequest + https://bugs.webkit.org/show_bug.cgi?id=95685 + + Reviewed by Antonio Gomes. + + Moves the flag and updates the interface for HitTestResult::addNodeToRectBasedTestResult so that + it can read the flag from HitTestRequest instead of from HitTestResult. + + No change in functionality. No new tests. + + * dom/Document.cpp: + (WebCore::Document::nodesFromRect): + * page/EventHandler.cpp: + (WebCore::EventHandler::hitTestResultAtPoint): + * rendering/HitTestRequest.h: + * rendering/HitTestResult.cpp: + (WebCore::HitTestLocation::HitTestLocation): + (WebCore::HitTestResult::HitTestResult): + (WebCore::HitTestResult::operator=): + (WebCore::HitTestResult::addNodeToRectBasedTestResult): + * rendering/HitTestResult.h: + (HitTestLocation): + (HitTestResult): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::nodeAtPoint): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::nodeAtPoint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::nodeAtPoint): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::nodeAtPoint): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::nodeAtPoint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::hitTestList): + * rendering/RenderMultiColumnSet.cpp: + (WebCore::RenderMultiColumnSet::nodeAtPoint): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::nodeAtPoint): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::nodeAtPoint): + * rendering/svg/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::nodeAtPoint): + * rendering/svg/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::nodeAtPoint): + +2012-09-03 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: Unhide hidden characters + https://bugs.webkit.org/show_bug.cgi?id=93888 + + Reviewed by Pavel Feldman. + + Certain invisible characters will be rendered as HTML entity references in the DOM tree to make them visible to the user. + + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._startEditingTextNode): + +2012-09-03 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: rename JavaScriptContextManager to RuntimeModel for consistency. + https://bugs.webkit.org/show_bug.cgi?id=95677 + + Reviewed by Yury Semikhatsky. + + - renamed the file and the usages + - renamed isolatedContextCreated to executionContextCreated for consistency. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/Inspector.json: + * inspector/PageRuntimeAgent.cpp: + (WebCore::PageRuntimeAgent::notifyContextCreated): + * inspector/compile-front-end.py: + * inspector/front-end/RuntimeModel.js: Renamed from Source/WebCore/inspector/front-end/JavaScriptContextManager.js. + (WebInspector.RuntimeModel): + (WebInspector.RuntimeModel.prototype._frameAdded): + (WebInspector.RuntimeModel.prototype._frameDetached): + (WebInspector.RuntimeModel.prototype._executionContextCreated): + (WebInspector.RuntimeDispatcher): + (WebInspector.RuntimeDispatcher.prototype.executionContextCreated): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2012-09-03 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: use linkifyResourceAsNode, not linkifyLocation when linkifying resources in Timeline + https://bugs.webkit.org/show_bug.cgi?id=95540 + + Reviewed by Pavel Feldman. + + Linkify recource details using WebInspector.linkifyResourceAsNode(), so these bypass linkifier. Also + fix closure compiler warning. + + * inspector/front-end/TimelinePresentationModel.js: + (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview): + (WebInspector.TimelinePresentationModel.Record.prototype._linkifyLocation): + +2012-09-03 'Pavel Feldman' <pfeldman@chromium.org> + + Web Inspector: fixed front-end compilation warnings. + Not reviewed. + + * inspector/front-end/FilteredItemSelectionDialog.js: + * inspector/front-end/HeapSnapshotView.js: + +2012-09-03 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: paint grid on top of box highlight. + https://bugs.webkit.org/show_bug.cgi?id=95676 + + Reviewed by Alexander Pavlov. + + Otherwise, ruler numbers are not visible when selecting body. + + * inspector/InspectorOverlayPage.html: + +2012-08-31 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: get rid of context execution id fallback. + https://bugs.webkit.org/show_bug.cgi?id=95567 + + Reviewed by Yury Semikhatsky. + + We now assign execution context id upon changes in the UI. + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.get statusBarItems): + (WebInspector.ConsoleView.prototype._contextAdded): + (WebInspector.ConsoleView.prototype._addContextList): + (WebInspector.ConsoleView.prototype._contextListRemoved): + (WebInspector.ConsoleView.prototype._updateExecutionContextSelector): + (WebInspector.ConsoleView.prototype._appendExecutionContextOption): + (WebInspector.ConsoleView.prototype._executionContextChanged): + (WebInspector.ConsoleView.prototype._contextListUpdated): + (WebInspector.ConsoleView.prototype._addedExecutionContext): + (WebInspector.ConsoleView.prototype.evalInInspectedWindow.evalCallback): + (WebInspector.ConsoleView.prototype.evalInInspectedWindow): + (WebInspector.ConsoleView.prototype._enterKeyPressed): + * inspector/front-end/JavaScriptContextManager.js: + (WebInspector.JavaScriptContextManager): + (WebInspector.JavaScriptContextManager.prototype.contextLists): + (WebInspector.JavaScriptContextManager.prototype.contextByFrameAndSecurityOrigin): + (WebInspector.JavaScriptContextManager.prototype._frameAdded): + (WebInspector.JavaScriptContextManager.prototype._frameNavigated): + (WebInspector.JavaScriptContextManager.prototype._frameDetached): + (WebInspector.JavaScriptContextManager.prototype.isolatedContextCreated): + (WebInspector.FrameExecutionContextList): + (WebInspector.FrameExecutionContextList.prototype._frameNavigated): + (WebInspector.FrameExecutionContextList.prototype._addExecutionContext): + (WebInspector.FrameExecutionContextList.prototype.executionContexts): + (WebInspector.FrameExecutionContextList.prototype.contextBySecurityOrigin): + +2012-09-03 Grzegorz Czajkowski <g.czajkowski@samsung.com> + + [GTK][EFL] 'dictIter' iterator is not initialized for an inner loop + https://bugs.webkit.org/show_bug.cgi?id=95436 + + Reviewed by Gustavo Noronha Silva. + + The 'checkSpellingOfString' method assumes that the given string is concatenation of words. + To properly handle spellchecking of each word we need to iterate over the all available + dictionaries ('dictIter'). + + To allow spellchecking for multiple words, 'dictIter' should be initialized at the beginning + of vector while spellchecking of the word. This ensures performing of spelling for word based on + at least one dictionary. + + * platform/text/enchant/TextCheckerEnchant.cpp: + (TextCheckerEnchant::checkSpellingOfString): Moved initialization of 'dictIter' to an inner loop. + +2012-09-02 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] Empty visible value of AM/PM field of multiple fields time input UI should display variable number of "-" based on maximum number of labels + https://bugs.webkit.org/show_bug.cgi?id=95660 + + Reviewed by Kent Tamura. + + This patch changes visible empty value of AM/PM field in multiple + fields time input UI to "-", "--", "---", and so on based on maximum + length of AM/PM labels. In current implementation, it is always "--" + regardless locale, although on Arabic, AM/PM are represented in one + character. + + This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and + ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. + + No new tests. Once multiple field time input UI uses "lang" HTML + attribute to take time format, we can write a test for this patch. + + * html/shadow/DateTimeSymbolicFieldElement.cpp: + (makeVisibleEmptyValue): Build visible empty value from maximum length + of labels. + (WebCore::DateTimeSymbolicFieldElement::visibleEmptyValue): Changed to + use m_visibleEmptyValue. + * html/shadow/DateTimeSymbolicFieldElement.h: + (WebCore::DateTimeSymbolicFieldElement): Added new member variable + m_visibleEmptyValue to hold visible empty value. + +2012-09-02 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] AM/PM field of multiple fields time input UI should be fixed width + https://bugs.webkit.org/show_bug.cgi?id=95542 + + Reviewed by Kent Tamura. + + This patch changes width of AM/PM field of multiple field time input + UI fixed as maximum width of labels or "--". + + This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and + ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. + + No new tests. Once multiple field time input UI uses "lang" HTML + attribute to take time format, we can write a test for this patch. + + * css/html.css: + (input::-webkit-datetime-edit-ampm-field): Added "display" property to "inline-block" for setting width. + Added "text-align" property to "center". + * html/shadow/DateTimeSymbolicFieldElement.cpp: + (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement): Changed to call setHasCustomCallback(). + (WebCore::DateTimeSymbolicFieldElement::customStyleForRenderer): Added for setting field with from maximum width of labels. + * html/shadow/DateTimeSymbolicFieldElement.h: + (WebCore::DateTimeSymbolicFieldElement::visibleEmptyValue): Added for using visible empty value in customStyleForRenderer() and visibleValue(). + (WebCore::DateTimeSymbolicFieldElement::visibleValue): Changed to call visibleEmptyValue() instead of using literal "--". + (DateTimeSymbolicFieldElement): Added a declaration of customStyleForRenderer(). + +2012-09-02 Benjamin Poulain <bpoulain@apple.com> + + Improve the way we use convertedSpaceString() in convertHTMLTextToInterchangeFormat() + https://bugs.webkit.org/show_bug.cgi?id=95301 + + Reviewed by Darin Adler. + + The static string convertedSpaceString() had a couple of annoying side effects: + -The string was 16bits due to noBreakSpace, which forced any input to be converted to 16bits. + -The string was kept in the heap for no particular reason. + + This patch redefines convertedSpaceString as a constant literal so that we can use it efficiently. + + The patch also make the binary a tiny bit smaller (700 bytes). + + * editing/HTMLInterchange.cpp: + (WebCore::convertHTMLTextToInterchangeFormat): + +2012-09-02 Mike West <mkwst@chromium.org> + + Build is broken when SVG is disabled. + https://bugs.webkit.org/show_bug.cgi?id=95653 + + Reviewed by Dirk Schulze. + + Adding CSSPropertyWebkitClipPath to the massive switch statement in StyleResolver. + + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectMatchingRulesForList): + +2012-08-31 Antti Koivisto <antti@apple.com> + + Repaints should not be deferred after initial page load is complete + https://bugs.webkit.org/show_bug.cgi?id=95480 + + Reviewed by Simon Fraser + + Any dynamically triggered resource loading currently sends us back to deferred paint mode, making animation choppy. + This is not the intention of this code. + + This patch adds an additional condition that prevents page from re-entering deferred repaint mode after the initial + load has completed. It also cleans up the code slightly. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::checkCompleted): + + Add additional call to checkStopDelayingDeferredRepaints() after a frame load completes as the + new condition in shouldUseLoadTimeDeferredRepaintDelay() looks for this change too. + + * page/FrameView.cpp: + (WebCore): + + Reduced the normal delay from 25ms to 16ms to not interfere with full framerate animation. + + (WebCore::FrameView::syncCompositingStateForThisFrame): + (WebCore::FrameView::checkFlushDeferredRepaintsAfterLoadComplete): + + Ensure the repaint delay is reset after load completes even if we don't currently need a repaint. + + (WebCore::FrameView::flushDeferredRepaints): + + We had to identical functions, flushDeferredRepaints() and stopDelayingDeferredRepaints(). Remove + the latter. + + (WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay): + + Factor the test for using load time repaint timings to a functions. The test for + initial page load having completed is new. + + (WebCore::FrameView::updateDeferredRepaintDelay): + (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): + (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay): + * page/FrameView.h: + (FrameView): + +2012-09-02 Filip Pizlo <fpizlo@apple.com> + + Don't create access error strings if there is no access error + https://bugs.webkit.org/show_bug.cgi?id=95652 + + Reviewed by Adam Barth. + + This undoes the 50% performance regression in pdfjs caused by + http://trac.webkit.org/changeset/126165 + + No new tests because behavior is unchanged. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::shouldAllowAccessToFrame): + (WebCore::shouldAllowAccessToDOMWindow): + +2012-08-31 Dirk Schulze <krit@webkit.org> + + Use -webkit-clip-path shapes to clip SVG elements + https://bugs.webkit.org/show_bug.cgi?id=95620 + + Reviewed by Rob Buis. + + This patch adds a path segment for a BasicShape to a given Path object. This + path and it's wind rule are used to clip the context of the SVG element. + + Tests: svg/clip-path/clip-path-shape-circle-1-expected.svg + svg/clip-path/clip-path-shape-circle-1.svg + svg/clip-path/clip-path-shape-circle-2-expected.svg + svg/clip-path/clip-path-shape-circle-2.svg + svg/clip-path/clip-path-shape-ellipse-1-expected.svg + svg/clip-path/clip-path-shape-ellipse-1.svg + svg/clip-path/clip-path-shape-ellipse-2-expected.svg + svg/clip-path/clip-path-shape-ellipse-2.svg + svg/clip-path/clip-path-shape-polygon-1-expected.svg + svg/clip-path/clip-path-shape-polygon-1.svg + svg/clip-path/clip-path-shape-polygon-2-expected.svg + svg/clip-path/clip-path-shape-polygon-2.svg + svg/clip-path/clip-path-shape-polygon-3-expected.svg + svg/clip-path/clip-path-shape-polygon-3.svg + svg/clip-path/clip-path-shape-rounded-rect-1-expected.svg + svg/clip-path/clip-path-shape-rounded-rect-1.svg + svg/clip-path/clip-path-shape-rounded-rect-2-expected.svg + svg/clip-path/clip-path-shape-rounded-rect-2.svg + + * rendering/style/BasicShapes.cpp: Added helper functions that apply path segments to a given path. + (WebCore::BasicShapeRectangle::path): + (WebCore::BasicShapeCircle::path): + (WebCore::BasicShapeEllipse::path): + (WebCore::BasicShapePolygon::path): + * rendering/style/BasicShapes.h: Make BasicShape virtualized again, since new virtual functions were added. + (WebCore::BasicShape::~BasicShape): + (BasicShape): + (WebCore::BasicShape::windRule): Will return the wind rule of the shape - nonzero by default. + (WebCore::BasicShape::BasicShape): + (BasicShapeRectangle): + (WebCore::BasicShapeRectangle::type): Removed member variable and return type per inheriting class directly. + (WebCore::BasicShapeRectangle::BasicShapeRectangle): + (BasicShapeCircle): + (WebCore::BasicShapeCircle::type): Ditto. + (WebCore::BasicShapeCircle::BasicShapeCircle): + (BasicShapeEllipse): + (WebCore::BasicShapeEllipse::type): Ditto. + (WebCore::BasicShapeEllipse::BasicShapeEllipse): + (BasicShapePolygon): + (WebCore::BasicShapePolygon::windRule): + (WebCore::BasicShapePolygon::type): Ditto. + (WebCore::BasicShapePolygon::BasicShapePolygon): + * rendering/svg/SVGRenderingContext.cpp: If -webkit-clip-path was defined, clip the context to the shape. + Right now -webkit-clip-path overrides clip-path, so that people don't use both at the same time. Current + clip-path property will be replaced, once -webkit-clip-path gets unprefixed. + (WebCore::SVGRenderingContext::prepareToRenderSVGContent): + +2012-09-01 Ned Holbrook <nholbrook@apple.com> + + Regression(r126763): Heap-use-after-free in WebCore::nextBreakablePosition + https://bugs.webkit.org/show_bug.cgi?id=95229 + + Reviewed by Dan Bernstein. + + TextLayout and LazyLineBreakIterator cache a RenderText's string during line breaking but RenderCounter + and RenderQuote can replace that string during preferred width calculation. This patch adds a non-virtual member + function to RenderText named updateTextIfNeeded() that triggers immediate string replacement by calling + the new virtual updateText() if necessary, which in turn calls computePreferredLogicalWidths(). In this way + RenderBlock::LineBreaker::nextLineBreak() can ensure a RenderText's string is current before caching it. + + Test: fast/css/content/content-quotes-crash.html + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::dirtyLineBoxesForRenderer): Drive-by: replace existing code with the equivalent updateTextIfNeeded(). + (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use updateTextIfNeeded() prior to caching RenderText string. + * rendering/RenderCounter.cpp: + (WebCore::RenderCounter::updateText): Call computePreferredLogicalWidths(). + (WebCore): + * rendering/RenderCounter.h: + (RenderCounter): + * rendering/RenderQuote.cpp: + (WebCore::RenderQuote::updateText): Call computePreferredLogicalWidths(). + (WebCore): + * rendering/RenderQuote.h: + (RenderQuote): + * rendering/RenderText.h: + (WebCore::RenderText::updateTextIfNeeded): Only call virtual updateText() if necessary. + (RenderText): + (WebCore::RenderText::updateText): Add no-op default implementation for new virtual member function. + +2012-09-01 Li Yin <li.yin@intel.com> + + fast/events/message-port-clone.html hits ASSERT in Debug (usually in later tests) + https://bugs.webkit.org/show_bug.cgi?id=85811 + + Reviewed by Kenneth Rohde Christiansen. + + When MessagePort invoked close function, the close status is needed to set, + regardless of whether the port is cloned or not. + + Tests: fast/events/message-port-clone.html + fast/events/message-port-close.html + + * dom/MessagePort.cpp: + (WebCore::MessagePort::close): Must set m_closed to be true. + +2012-09-01 Andreas Kling <kling@webkit.org> + + Share inline style between cloned Nodes (copy on write.) + <http://webkit.org/b/95451> + + Reviewed by Antti Koivisto. + + When cloning a Node, use an immutable StylePropertySet for the new Node's inline style. + If the old Node already had an immutable inline style, we now reuse that, avoiding a copy. + Copying is deferred until mutation (either via CSSOM or setting of the style attribute.) + + * dom/ElementAttributeData.cpp: + (WebCore::ElementAttributeData::cloneDataFrom): + * css/StylePropertySet.h: + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::immutableCopyIfNeeded): + + Added. Simply returns 'this' if the object is already immutable, otherwise creates a new one. + +2012-09-01 Dirk Schulze <krit@webkit.org> + + [Qt] Fix the --minimal build after r127327 + https://bugs.webkit.org/show_bug.cgi?id=95639 + + Unreviewed attempt to fix Qt minimal build. + + * css/StyleBuilder.cpp: + +2012-09-01 Joanmarie Diggs <jdiggs@igalia.com> + + [Gtk] No accessible caret-moved events found in certain content + https://bugs.webkit.org/show_bug.cgi?id=72811 + + Part of the bug was due to expected accessible objects of DivRole + and ParagraphRole being ignored, in favor of including child blocks. + + Reviewed by Chris Fleizach. + + Test: platform/gtk/accessibility/spans-paragraphs-and-divs.html + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::firstAnonymousBlockChild): + (WebCore): + * accessibility/AccessibilityObject.h: + (AccessibilityObject): + New method to return the first child which is an anonymous block. + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): + Include paragraphs and divs which contain a non-nested anonymous block. + +2012-09-01 Joanmarie Diggs <jdiggs@igalia.com> + + [Gtk] No accessible caret-moved events found in certain content + https://bugs.webkit.org/show_bug.cgi?id=72811 + + Part of the bug was due to extraneous accessible objects resulting + from unignored inline and block spans. + + Reviewed by Chris Fleizach. + + Test: platform/gtk/accessibility/spans.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Ignore objects that have spanTag tag name. + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore most anonymous blocks. + * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: + (roleIsTextType): Add ListItem to the roles which should implement AtkText. + +2012-09-01 Joanmarie Diggs <jdiggs@igalia.com> + + [Gtk] Incorrect/unexpected characters in the text of certain accessibles + https://bugs.webkit.org/show_bug.cgi?id=95180 + + Reviewed by Chris Fleizach. + + The bug was caused by failing to properly handle anonymous block text + which had object replacement characters (multibyte) in it. Calculating + the string length based on the UTF-8 string meant that we were returning + more characters than were there and in danger of splitting a multibyte + character. + + Tests: platform/gtk/accessibility/entry-and-password.html + platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html + + * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: + (webkitAccessibleTextGetText): Convert the text returned by textForObject() + to Unicode before calculating its length. + +2012-09-01 Adam Barth <abarth@webkit.org> + + Remove all-but-one use of WTF::String::operator+= from WebCore + https://bugs.webkit.org/show_bug.cgi?id=95508 + + Reviewed by Benjamin Poulain. + + This patch removes all the uses of WTF::String::operator+= from + WebCore, except those in WorkerScriptLoader (which need a more delicate + patch). There were actually a handful of legitimate use cases for += in + this group. I've replaced them with calls to String::append rather than + += so that we can remove += and encourage most contributors to use + more efficient string idioms. + + (There are likely some more uses in WebCore hiding in port-specific + code---this patch covers only those call sites found when compiling the + chromium-mac port.) + + * inspector/InspectorStyleTextEditor.cpp: + (WebCore::InspectorStyleTextEditor::insertProperty): + - This complicated function looks really inefficient, but I didn't + have the heart to rewrite it. + * inspector/NetworkResourcesData.cpp: + (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): + * loader/cache/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::sheetText): + (WebCore::CachedCSSStyleSheet::data): + * loader/cache/CachedFont.cpp: + (WebCore::CachedFont::ensureSVGFontData): + * loader/cache/CachedScript.cpp: + (WebCore::CachedScript::script): + * loader/cache/CachedXSLStyleSheet.cpp: + (WebCore::CachedXSLStyleSheet::data): + - This decoder/flush pattern can probably be improved by combining + the decode and flush operations, but I didn't do that in this + patch. + * page/FrameTree.cpp: + (WebCore::FrameTree::uniqueChildName): + - I found this code very amusing. It's worried enough about + efficiency to give a big speech about why snprintf is safe, but + then it implicitly performs a large number of mallocs and memcpy + operations. + * page/Page.cpp: + (WebCore::Page::userStyleSheet): + * platform/chromium/support/WebHTTPLoadInfo.cpp: + (WebKit::addHeader): + * platform/chromium/support/WebURLResponse.cpp: + (WebKit::WebURLResponse::addHTTPHeaderField): + - This header-appending idiom looks like a reasonable use case for + String::append. + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::send): + (WebCore::XMLHttpRequest::setRequestHeaderInternal): + * xml/XPathFunctions.cpp: + (WebCore::XPath::FunTranslate::evaluate): + - Fixes 6 year old FIXME. + * xml/parser/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::append): + * xml/parser/XMLDocumentParser.h: + (XMLDocumentParser): + * xml/parser/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::doEnd): + * xml/parser/XMLDocumentParserQt.cpp: + (WebCore::XMLDocumentParser::doEnd): + - Changed m_originalSourceForTransform to a SegmentedString so that + we don't need to malloc and copy the entire document every time + we get more data from the network. + +2012-09-01 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Add MediaStream management to RTCPeerConnection + https://bugs.webkit.org/show_bug.cgi?id=95543 + + Reviewed by Adam Barth. + + This includes addStream/removeStream to RTCPeerConnection, + as well as didAddRemoteStream/didRemoveRemoteStream to RTCPeerConnectionHandlerClient. + + Test: fast/mediastream/RTCPeerConnection-AddRemoveStream.html + + * Modules/mediastream/RTCPeerConnection.cpp: + (WebCore::RTCPeerConnection::parseConfiguration): + (WebCore::RTCPeerConnection::RTCPeerConnection): + (WebCore::RTCPeerConnection::addStream): + (WebCore): + (WebCore::RTCPeerConnection::removeStream): + (WebCore::RTCPeerConnection::localStreams): + (WebCore::RTCPeerConnection::remoteStreams): + (WebCore::RTCPeerConnection::didAddRemoteStream): + (WebCore::RTCPeerConnection::didRemoveRemoteStream): + * Modules/mediastream/RTCPeerConnection.h: + (RTCPeerConnection): + * Modules/mediastream/RTCPeerConnection.idl: + * bindings/js/Dictionary.cpp: + (WebCore::Dictionary::getOwnPropertiesAsStringHashMap): + (WebCore::Dictionary::getOwnPropertyNames): + * bindings/v8/Dictionary.cpp: + (WebCore::Dictionary::getOwnPropertiesAsStringHashMap): + (WebCore::Dictionary::getOwnPropertyNames): + * bindings/v8/Dictionary.h: + (Dictionary): + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (RTCPeerConnectionHandlerDummy): + (WebCore::RTCPeerConnectionHandlerDummy::addStream): + (WebCore): + (WebCore::RTCPeerConnectionHandlerDummy::removeStream): + * platform/mediastream/RTCPeerConnectionHandler.h: + (RTCPeerConnectionHandler): + * platform/mediastream/RTCPeerConnectionHandlerClient.h: + (WebCore): + (RTCPeerConnectionHandlerClient): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + (WebCore::RTCPeerConnectionHandlerChromium::addStream): + (WebCore): + (WebCore::RTCPeerConnectionHandlerChromium::removeStream): + (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteStream): + (WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (WebKit): + (RTCPeerConnectionHandlerChromium): + +2012-09-01 Kent Tamura <tkent@chromium.org> + + Touch a file so that Chromium-win bots correctly re-build for OPENTYPE_VERTICAL + https://bugs.webkit.org/show_bug.cgi?id=51450 + + * platform/graphics/opentype/OpenTypeVerticalData.cpp: + +2012-08-31 Kent Tamura <tkent@chromium.org> + + Touch some files so that Chromium-win bots correctly re-build + files for OPENTYPE_VERTICAL. + https://bugs.webkit.org/show_bug.cgi?id=51450 + + * platform/graphics/FontCache.h: + * platform/graphics/SimpleFontData.h: + * platform/graphics/opentype/OpenTypeTypes.h: + +2012-08-31 Chris Hutten-Czapski <chutten@rim.com> + + -webkit-flex: 0 in inspector.css is confusing + https://bugs.webkit.org/show_bug.cgi?id=95568 + + Reviewed by Tony Chang. + + The initial value of -webkit-flex results in the same layout as + -webkit-flex: 0; but does not depend on the new initial value of auto + for min-width. + + This increases the support for the new Web Inspector style to renderers + built before rev 122264 but after 117385. + + No new tests (has no effect except to out-of-date renderers) + + * inspector/front-end/inspector.css: + (.status-bar-item): + +2012-08-31 Filip Pizlo <fpizlo@apple.com> + + JSArray::putDirectIndex should by default behave like JSObject::putDirect + https://bugs.webkit.org/show_bug.cgi?id=95630 + + Reviewed by Gavin Barraclough. + + No new tests because no change in behavior. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::putProperty): + +2012-08-31 Nate Chapin <japhet@chromium.org> + + fast/loader/document-destruction-within-unload.html causes assertion failures on mac and qt. + https://bugs.webkit.org/show_bug.cgi?id=66783 + + Reviewed by Darin Adler. + + This was a not-quite-regression from trac.webkit.org/changeset/93521, in that we hit asserts + in a case where we previously were use-after-freeing. Tweak how we handle cases where a Document + is cleared from within an unload handler. + + No new tests, fixing fast/loader/document-destruction-within-unload.html on mac and qt. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::setDocumentLoader): Instead of trying to reattach a partially removed + DocumentLoader if it is detached before being fully added, leave the old one in place, completed. + (WebCore::FrameLoader::transitionToCommitted): + +2012-08-31 Tony Chang <tony@chromium.org> + + Make computeBlockDirectionMargins const + https://bugs.webkit.org/show_bug.cgi?id=95595 + + Reviewed by Ojan Vafai. + + This is a step in making computeLogicalHeight const. + Refactor RenderBox::computeBlockDirectionMargins and make it const. + Add a helper method computeAndSetBlockDirectionMargins for the callers outside of + computeLogicalHeight that are calling this. + + No new tests, this is already covered by tests in fast/writing-mode and fast/multicol. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::marginBeforeEstimateForChild): Switch to computeAndSetBlockDirectionMargins + (WebCore::RenderBlock::layoutBlockChild): Switch to computeAndSetBlockDirectionMargins + (WebCore::RenderBlock::insertFloatingObject): Switch to computeAndSetBlockDirectionMargins + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeLogicalHeight): Use const version and fill in a MarginValues struct (to be merged in the next patch). + (WebCore::RenderBox::computeBlockDirectionMargins): Pass in out params. + (WebCore): + (WebCore::RenderBox::computeAndSetBlockDirectionMargins): Does the same as the old computeBlockDirectionMargins. + * rendering/RenderBox.h: + (RenderBox): + * rendering/RenderDeprecatedFlexibleBox.cpp: + (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): Switch to computeAndSetBlockDirectionMargins + (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Switch to computeAndSetBlockDirectionMargins + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::layout): Switch to computeAndSetBlockDirectionMargins + +2012-08-30 Dirk Schulze <krit@webkit.org> + + Introduce new CSS property for clip-path + https://bugs.webkit.org/show_bug.cgi?id=95474 + + Reviewed by Tim Horton. + + This path introduces the new, prefixed CSS property 'clip-path' from the + CSS Masking specification. In a first step the property just accepts + 'none' and the the basic shapes from CSS Exclusion. Later it will also be + possible to reference SVG 'clipPath' elements - like Firefox already does. + To enable the parsing of the shapes, the exclusion compiler flags + around the shape parser were removed. + + http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html + + Test: fast/masking/parsing-clip-path-shape.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return CSSValue for CSSPropertyWebkitClipPath. + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Add CSSPropertyWebkitClipPath. + (WebCore::CSSParser::parseBasicShape): Modify parser function to accept CSSPropertyWebkitClipPath as well. + * css/CSSParser.h: + * css/CSSProperty.cpp: + (WebCore::CSSProperty::isInheritedProperty): + * css/CSSPropertyNames.in: Added property name -webkit-clip-path. + * css/StyleBuilder.cpp: + (ApplyPropertyClipPath): New property applier just for -webkit-clip-path. + (WebCore::ApplyPropertyClipPath::setValue): + (WebCore::ApplyPropertyClipPath::applyValue): + (WebCore::ApplyPropertyClipPath::createHandler): + (WebCore::StyleBuilder::StyleBuilder): + * rendering/style/RenderStyle.cpp: Repaint if there is a difference between two BasicShapes. + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyle.h: + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): + (WebCore::StyleRareNonInheritedData::operator==): + (WebCore::StyleRareNonInheritedData::reportMemoryUsage): + * rendering/style/StyleRareNonInheritedData.h: Add new member variable for clip shape. + (StyleRareNonInheritedData): + +2012-08-31 Joshua Netterfield <jnetterfield@rim.com> + + [BlackBerry] Eliminate WebGL IT policy + https://bugs.webkit.org/show_bug.cgi?id=95604 + Internal RIM PR #198764 + + Reviewed by Rob Buis. + + This is no longer a requirement for the BlackBerry port. + + No new tests, because this introduces no new functionality. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore): + (WebCore::WebGLRenderingContext::create): + +2012-08-31 Jon Lee <jonlee@apple.com> + + ondisplay event handlers are not called + https://bugs.webkit.org/show_bug.cgi?id=95263 + <rdar://problem/12193359> + + Reviewed by Alexey Proskuryakov. + + To support the legacy API, we conflate ondisplay and onshow. + + * Modules/notifications/Notification.h: + (WebCore::Notification::ondisplay): Use display event as an alias for the show event. + (WebCore::Notification::setOndisplay): + +2012-08-31 Tony Chang <tony@chromium.org> + + Remove ENABLE_CSS3_FLEXBOX compile time flag + https://bugs.webkit.org/show_bug.cgi?id=95382 + + Reviewed by Ojan Vafai. + + Everyone is already enabling this by default and the spec has stablized. + + No new tests, shouldn't change anything. + + * Configurations/FeatureDefines.xcconfig: + * GNUmakefile.am: + * GNUmakefile.features.am: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::isValidKeywordPropertyAndValue): Expand check range to include flex and inline-flex. + (WebCore::isKeywordPropertyID): + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + * css/CSSProperty.cpp: + (WebCore::CSSProperty::isInheritedProperty): + * css/CSSPropertyNames.in: + * css/CSSValueKeywords.in: + * css/StyleBuilder.cpp: + (WebCore::StyleBuilder::StyleBuilder): + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::getPropertyValue): + (WebCore::StylePropertySet::asText): + * css/StylePropertyShorthand.cpp: + (WebCore::webkitFlexShorthand): + (WebCore::shorthandForProperty): + * css/StylePropertyShorthand.h: + (WebCore): + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectMatchingRulesForList): + * page/animation/CSSPropertyAnimation.cpp: + (WebCore::CSSPropertyAnimation::ensurePropertyMap): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createObject): + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: + +2012-08-31 Christopher Cameron <ccameron@chromium.org> + + [chromium] Add main versus impl thread asserts + https://bugs.webkit.org/show_bug.cgi?id=95596 + + Reviewed by James Robinson. + + Add asserts to prioritized texture manager that specify that a + function be called on the main or impl thread. + + Add debug signs that the main thread is blocked to the threaded + proxy. + + Add a mechanism to simultaneously set the thread to the impl thread + and indicate that the main thread is blocked. + + Update tests that hit asserts in the prioritized texture manager to + set their impl thread and main thread blocked state correctly. + + * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp: + (WebCore::CCPrioritizedTextureManager::prioritizeTextures): + (WebCore::CCPrioritizedTextureManager::clearPriorities): + (WebCore::CCPrioritizedTextureManager::requestLate): + (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded): + (WebCore::CCPrioritizedTextureManager::reduceMemory): + (WebCore::CCPrioritizedTextureManager::registerTexture): + (WebCore::CCPrioritizedTextureManager::unregisterTexture): + (WebCore::CCPrioritizedTextureManager::returnBackingTexture): + (WebCore::CCPrioritizedTextureManager::createBacking): + (WebCore::CCPrioritizedTextureManager::assertInvariants): + * platform/graphics/chromium/cc/CCSingleThreadProxy.h: + (WebCore): + (DebugScopedSetImplThreadAndMainThreadBlocked): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::compositeAndReadback): + (WebCore::CCThreadProxy::finishAllRendering): + (WebCore::CCThreadProxy::setVisible): + (WebCore::CCThreadProxy::initializeRenderer): + (WebCore::CCThreadProxy::recreateContext): + (WebCore::CCThreadProxy::implSideRenderingStats): + (WebCore::CCThreadProxy::start): + (WebCore::CCThreadProxy::forceSerializeOnSwapBuffers): + (WebCore::CCThreadProxy::acquireLayerTextures): + +2012-08-30 James Robinson <jamesr@chromium.org> + + [chromium] Put compositor client interfaces in separate headers, normalize naming + https://bugs.webkit.org/show_bug.cgi?id=95522 + + Reviewed by Adam Barth. + + Client interfaces should be in their own headers so code implementing these interfaces do not have to + transitively #include all of the compositor internals. + + We call things 'clients' not 'delegates' in the compositor. + + * WebCore.gypi: + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerPainter::ContentLayerPainter): + (WebCore::ContentLayerPainter::create): + (WebCore::ContentLayerPainter::paint): + (WebCore::ContentLayerChromium::create): + (WebCore::ContentLayerChromium::ContentLayerChromium): + (WebCore::ContentLayerChromium::drawsContent): + (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded): + * platform/graphics/chromium/ContentLayerChromium.h: + (WebCore): + (ContentLayerPainter): + (ContentLayerChromium): + (WebCore::ContentLayerChromium::clearClient): + * platform/graphics/chromium/TextureLayerChromium.cpp: + * platform/graphics/chromium/TextureLayerChromium.h: + (WebCore): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (WebCore): + +2012-08-31 Benjamin Poulain <bpoulain@apple.com> + + Fix the Debug builds after r127277 + + Unreviewed. + + One assertion was not updated in r127277. The encapsulation of CSSParserString's length + has changed and now use an accessor. + + * css/CSSParser.cpp: + (WebCore::CSSParser::storeVariableDeclaration): + +2012-08-31 Simon Fraser <simon.fraser@apple.com> + + (Regression: r126774): Fix crash when scrolling after removing inline sticky element + https://bugs.webkit.org/show_bug.cgi?id=95584 + + Reviewed by Dave Hyatt. + + Move fixed/sticky registration and unregistration with the FrameView from + RenderBox and RenderInline into RenderBoxModelObject, which also + fixes the issue that inlines didn't unregister themselves on destruction. + + Test: fast/css/sticky/remove-inline-sticky-crash.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::willBeDestroyed): Code moved to RenderBoxModelObject. No need + to null-check style. + (WebCore::RenderBox::styleWillChange): Code moved to RenderBoxModelObject. + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::willBeDestroyed): Remove fixed objects. Check + isPositioned() to avoid this work for most non-positioned renderers. + (WebCore::RenderBoxModelObject::styleWillChange): Register and unregister fixed + and sticky objects with the FrameView. + * rendering/RenderInline.cpp: styleWillChange() is no longer needed. + * rendering/RenderInline.h: Ditto. + +2012-08-31 Nikhil Bhargava <nbhargava@google.com> + + Remove extraneous includes (Node.h, Document.h, Element.h, RenderObject.h) + https://bugs.webkit.org/show_bug.cgi?id=95259 + + Reviewed by Sam Weinig. + + Node.h, Document.h, Element.h, and RenderObject.h are four of the most + expensive headers to include. This patch removes them from many of the + places they are not needed. There is a minor compile-time performance + boost. + + * dom/ElementShadow.h: + * dom/Range.h: + (WebCore): + * dom/TreeScopeAdopter.h: + (WebCore): + * editing/VisiblePosition.h: + (WebCore): + * html/HTMLCollection.h: + (WebCore): + * html/parser/HTMLElementStack.h: + * html/parser/HTMLTreeBuilder.h: + (WebCore): + * html/track/WebVTTParser.h: + (WebCore): + * inspector/InspectorCSSAgent.h: + (WebCore): + * inspector/InspectorInstrumentation.h: + (WebCore): + * inspector/InspectorOverlay.h: + * loader/ImageLoader.h: + * loader/TextTrackLoader.h: + (WebCore): + * platform/chromium/PopupListBox.cpp: + * platform/chromium/PopupListBox.h: + (WebCore): + * platform/graphics/MediaPlayer.h: + (WebCore): + * rendering/FilterEffectRenderer.h: + * rendering/InlineFlowBox.cpp: + * rendering/RenderCounter.cpp: + * rendering/RenderGeometryMap.h: + (WebCore): + * rendering/RenderInputSpeech.h: + (WebCore): + * rendering/RenderMediaControls.h: + (WebCore): + * rendering/RenderMediaControlsChromium.h: + (WebCore): + * rendering/RenderQuote.cpp: + * rendering/RenderQuote.h: + (WebCore): + * rendering/RenderScrollbar.h: + (WebCore): + * rendering/RenderText.h: + (WebCore): + * rendering/RenderTheme.h: + (WebCore): + * rendering/RenderThemeChromiumSkia.h: + (WebCore): + * rendering/svg/RenderSVGResourceMarker.h: + (WebCore): + * svg/graphics/filters/SVGFilterBuilder.h: + (WebCore): + * xml/NativeXPathNSResolver.h: + (WebCore): + (NativeXPathNSResolver): + (WebCore::NativeXPathNSResolver::create): + * xml/XPathStep.h: + (WebCore): + (XPath): + (Step): + (NodeTest): + (WebCore::XPath::Step::NodeTest::NodeTest): + (WebCore::XPath::Step::NodeTest::kind): + (WebCore::XPath::Step::NodeTest::data): + (WebCore::XPath::Step::NodeTest::namespaceURI): + (WebCore::XPath::Step::NodeTest::mergedPredicates): + (WebCore::XPath::Step::axis): + (WebCore::XPath::Step::nodeTest): + * xml/parser/NewXMLDocumentParser.cpp: + * xml/parser/NewXMLDocumentParser.h: + (WebCore): + * xml/parser/XMLToken.h: + * xml/parser/XMLTreeBuilder.cpp: + * xml/parser/XMLTreeBuilder.h: + (WebCore): + +2012-08-31 David Hyatt <hyatt@apple.com> + + [New Multicolumn] Implement column repainting. + https://bugs.webkit.org/show_bug.cgi?id=95593 + + Reviewed by Dan Bernstein. + + Make the new columns repaint properly. Note this code is a significant improvement over the + old multicolumn code in that repaints are properly issued per-column, i.e., no more fuzzy + uniting of rects. + + * rendering/RenderMultiColumnSet.cpp: + (WebCore::RenderMultiColumnSet::columnIndexAtOffset): + (WebCore): + (WebCore::RenderMultiColumnSet::repaintFlowThreadContent): + * rendering/RenderMultiColumnSet.h: + +2012-08-31 Alok Priyadarshi <alokp@chromium.org> + + [chromium] Layout tests svg-filters.html and alpha.html are crashing intermittently + https://bugs.webkit.org/show_bug.cgi?id=92660 + + Reviewed by James Robinson. + + We use two GL contexts to create and upload tile textures. + One context creates the texture, while another uploads it. + Even though the texture is shared by the two contexts, it is not + available to the uploading context immediately after creation, + unless the creating context is flushed. + + * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: + (WebCore::createAcceleratedCanvas): + (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect): + +2012-08-31 David Hyatt <hyatt@apple.com> + + [New Multicolumn] Refactor flow thread repainting. + https://bugs.webkit.org/show_bug.cgi?id=95586 + + Reviewed by Simon Fraser. + + Refactor flow thread repainting in regions to delegate the work to the region. This allows subclasses + to customize how the repainting happens so that individual repaints can be issued for columns and pages + inside sets. + + repaintFlowThreadContent is the new virtual function that can be subclassed by sets to customize + the repaint process. + + repaintFlowThreadContentRectangle is a parameterized helper that will be called for each individual + column and page in a set. + + * WebCore.exp.in: + Change repaintRectangle's signature to be const. + + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::repaintRectangleInRegions): + Now delegates the work for each region to RenderRegion::repaintFlowThreadContent. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::repaintUsingContainer): + (WebCore::RenderObject::repaint): + (WebCore::RenderObject::repaintRectangle): + (WebCore::RenderObject::isRooted): + * rendering/RenderObject.h: + Change a bunch of functions to be const. + + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::repaintFlowThreadContent): + (WebCore): + (WebCore::RenderRegion::repaintFlowThreadContentRectangle): + * rendering/RenderRegion.h: + (RenderRegion): + Add the two new functions (the virtual repaintFlowThreadContent and the helper it + uses, repaintFlowThreadContentRectangle). + +2012-08-31 Yong Li <yoli@rim.com> + + [BlackBerry] Disable GCController timer for PLATFORM(BLACKBERRY) + https://bugs.webkit.org/show_bug.cgi?id=93007 + + Reviewed by Rob Buis. + + Disable GCController timer. + + * bindings/js/GCController.cpp: + (WebCore::GCController::GCController): + (WebCore::GCController::garbageCollectSoon): + (WebCore): + * bindings/js/GCController.h: + (GCController): + +2012-08-31 Michael Saboff <msaboff@apple.com> + + CSS Parser should directly parse 8 bit source strings + https://bugs.webkit.org/show_bug.cgi?id=95207 + + Reviewed by Geoffrey Garen. + + Changed CSSParser to handle 8 bit strings directly. Templatized most private parsing methods + and helper methods by character type. Introduced several templatized helper methods for + parsing methods. Some of these helper methods have independent source and destination template + types to handle that an 8 bit source string when parsed produces a 16 bit result. This is due + to unicode escapes. Renamed the lex method "realLex" and made it a templated method. The lex + method that is called by cssyylex(), which is now inlined, invokes the correct instance of realLex + via a member function pointer. + + Split out the encoding part of parseEscape() into a new templated UnicodeToChars() method. + + Added 8/16 bit switching to CSSParserString as well as added initialization, setters and getters. + Note that CSSParserString must have a default constructor as it is part of the YYLVAL union. + Therefore created init() methods instead of constructors. Many of the parser function now directly + modify the instance in yylval. Made supporting changes in other webcore classes that are used + directly by CSSParser. + + Test: fast/css/unicode-escape-in-8bit-string.html + + * css/CSSGrammar.y: Removed cssyylex() and changed manipulation of CSSParserString objects to + use newly written methods instead of direct manipulation of attributes. + + * css/CSSParser.cpp: + Templatized new or existing helper methods + (WebCore::makeLower): + (WebCore::isCSSLetter): + (WebCore::isCSSEscape): + (WebCore::isURILetter): + (WebCore::isIdentifierStartAfterDash): + (WebCore::isEqualToCSSIdentifier): + (WebCore::checkAndSkipEscape): + (WebCore::checkForValidDouble): + (WebCore::parseDouble): + (WebCore::parseColorIntOrPercentage): + (WebCore::isTenthAlpha): + (WebCore::parseAlphaValue): + (WebCore::mightBeRGBA): + (WebCore::mightBeRGB): + (WebCore::fastParseColorInternal): + (WebCore::CSSParser::fastParseColor): + (WebCore::CSSParser::parseImageSet): + (WebCore::skipWhiteSpace): + (WebCore::CSSParser::currentCharacter16): + (WebCore::CSSParser::isIdentifierStart): + (WebCore::CSSParser::checkAndSkipString): + (WebCore::CSSParser::parseUnicodeRange): + (WebCore::CSSParser::parseNthChild): + (WebCore::CSSParser::parseNthChildExtra): + (WebCore::CSSParser::detectFunctionTypeToken): + (WebCore::CSSParser::detectMediaQueryToken): + (WebCore::CSSParser::detectNumberToken): + (WebCore::CSSParser::detectDashToken): + (WebCore::CSSParser::detectAtToken): + (WebCore::CSSParser::setRuleHeaderEnd): + (WebCore::cssPropertyID): + (WebCore::isCSSTokenizerIdentifier): + (WebCore::isCSSTokenizerURL): + + (WebCore::CSSParser::CSSParser): Updated constructor for initializing new attributes. + + (WebCore::CSSParserString::lower): Calls new makeLower() template helper. + + (WebCore::CSSParser::setupParser): Added 8 bit path and set up parser appropriate to + string type. + + (WebCore::equal): Updated to use CSSParserString getters and StringImpl::equal + (WebCore::equalIgnoringCase): Updated to use CSSParserString getters and + StringImpl::equalIgnoringCase + (WebCore::parseColorValue): Updated to use new CSSParserString::init() + (WebCore::parseSimpleLength): + (WebCore::parseKeywordValue): Updated to use new CSSParserString::init() + (WebCore::parseTransformArguments): + (WebCore::CSSParser::parseSystemColor): Updated to use new CSSParserString::init() + (WebCore::CSSParser::storeVariableDeclaration): Create right character sized AtomicString. + (WebCore::FontFamilyValueBuilder::add): + (WebCore::TransformOperationInfo::TransformOperationInfo): + (WebCore::CSSParser::parseFontFeatureTag): + + (WebCore::CSSParser::parseEscape): Now only parses an escape and returns the resulting + Unicode value as an unsigned. + (WebCore::CSSParser::UnicodeToChars): New method to write out unicode character(s) + based on character type. + (WebCore::CSSParser::parseIdentifierInternal): Templated helper. + (WebCore::CSSParser::parseIdentifier): Parses identifiers, possibly upconverting + the result when a unicode escape is found in an 8 bit source. + (WebCore::CSSParser::parseStringInternal): Templated helper. + (WebCore::CSSParser::parseString): Parses strings, possibly upconverting + the result when a unicode escape is found in an 8 bit source. + (WebCore::CSSParser::parseURIInternal): Templated helper. + (WebCore::CSSParser::parseURI): Templated and split logic out to parseURIInternal. + Reparses a parsed identifier to see if it is a URI. This method doesn't need to up + convert from 8 to 16 bits since that would have been done in parseIdentfier(). + (WebCore::CSSParser::realLex): Lot of template related changes. Removed yylval->string + ASSERT checks at the end, since they are too naive to handle upconverted identifier, + string and URIs. They compared source pointers (m_tokenStart) with resulting strings. + (WebCore::fixUnparsedProperties): + (WebCore::CSSParser::fixUnparsedPropertyRanges): Added new template helper with same name. + (WebCore::CSSParser::markRuleHeaderStart): + (WebCore::CSSParser::markRuleHeaderEnd): + (WebCore::CSSParser::markRuleBodyStart): + (WebCore::CSSParser::markRuleBodyEnd): + (WebCore::CSSParser::markPropertyStart): + (WebCore::CSSParser::markPropertyEnd): + (WebCore::cssValueKeywordID): + + * css/CSSParser.h: + (CSSParser): + (WebCore::CSSParser::lex): Made this inline helper that calls correct realLex(). + (WebCore::CSSParser::is8BitSource): + (WebCore::CSSParser::tokenStartOffset): Templated method returning offset in source + of the current token start. + (WebCore::CSSParser::tokenStartChar): Templated access to m_tokenStart. + (WebCore::cssyylex): Made this inline to avoid call. + * css/CSSParserValues.h: + (WebCore::CSSParserString::init): Added three new initialization methods. + + New setters, getters and helper methods. + (WebCore::CSSParserString::clear): + (WebCore::CSSParserString::is8Bit): + (WebCore::CSSParserString::characters8): + (WebCore::CSSParserString::characters16): + (WebCore::CSSParserString::length): + (WebCore::CSSParserString::setLength): + (WebCore::CSSParserString::operator[]): + (WebCore::CSSParserString::equalIgnoringCase): + (WebCore::CSSParserString::operator String): + (WebCore::CSSParserString::operator AtomicString): + + Other methods templatized to support changes in CSSParser. + * platform/graphics/Color.cpp: + (WebCore::parseHexColorInternal): + (WebCore::Color::parseHexColor): New LChar flavor + (WebCore::Color::Color): + * platform/graphics/Color.h: + (Color): + * platform/text/TextEncoding.cpp: + (WebCore::TextEncoding::TextEncoding): + * platform/text/TextEncodingRegistry.cpp: + (WebCore::atomicCanonicalTextEncodingName): + * platform/text/TextEncodingRegistry.h: + * svg/SVGParserUtilities.cpp: + (WebCore::genericParseNumber): + (WebCore::parseSVGNumber): + * svg/SVGParserUtilities.h: + (WebCore::isSVGSpace): + (WebCore::skipOptionalSVGSpaces): + (WebCore::skipOptionalSVGSpacesOrDelimiter): + +2012-08-31 David Hyatt <hyatt@apple.com> + + [New Multicolumn] Make RenderFlowThreads into selection roots. + https://bugs.webkit.org/show_bug.cgi?id=95580 + + Reviewed by Dan Bernstein. + + Make RenderFlowThreads selection roots so that they paint their own selection gaps. + This fixes multicolumn selection rendering so that the gaps paint correctly and stop + at the edge of the flow thread instead of going out to the edges of enclosing blocks. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::isSelectionRoot): + +2012-08-31 Andrei Bucur <abucur@adobe.com> + + [CSS Regions] It should be possible to specify ::BEFORE/AFTER as regions + https://bugs.webkit.org/show_bug.cgi?id=90079 + + Reviewed by David Hyatt. + + The calls for RenderRegion::node() have been replaced with RenderRegion::generatingNode() to allow pseudo-elements to have RenderRegion renderers. + The compare function that establishes the region order was adapted to take into account pseudo-regions. + A renderer for the pseudo-element is now generated if it's a region even though there's no content property specified. + + Test: fast/regions/content-flowed-into-pseudo-regions.html + + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::computeOverflowStateForRegions): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::compareRenderRegions): + * rendering/RenderObjectChildList.cpp: + (WebCore::ensureBeforeAfterContainer): + (WebCore): + (WebCore::RenderObjectChildList::updateBeforeAfterContent): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::nodeAtPoint): + (WebCore::RenderRegion::checkRegionStyle): + (WebCore::RenderRegion::computeStyleInRegion): + * rendering/RenderTreeAsText.cpp: + (WebCore::writeRenderNamedFlowThreads): + +2012-08-30 David Hyatt <hyatt@apple.com> + + [New Multicolumn] Implement unforced breaking in the new column layout. + https://bugs.webkit.org/show_bug.cgi?id=95498 + + Reviewed by Dan Bernstein. + + This patch implements unforced breaking for lines and objects inside columns. Forced breaks are + not yet handled properly and will be covered in a separate patch. + + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): + Eliminate the flow thread constructor for LayoutState. Flow threads were doing a double push of + layout states, once in RenderFlowThread::layout() and then again in RenderBlock::layout(). This + double push was unnecessary, so I refactored the code to ensure the RenderBlock push does the + right thing for RenderFlowThreads. + + (WebCore): + * rendering/LayoutState.h: + (LayoutState): + Eliminate the flow thread constructor for LayoutState. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::checkForPaginationLogicalHeightChange): + This function now handles RenderFlowThreads and properly sets a non-zero page height as well + as querying the flow thread to ask if the pagination logical height has changed. The flow thread + has a new member that it sets in layout() so that it can answer this question. + + (WebCore::RenderBlock::hasNextPage): + Make sure RenderRegionSets always claim to have a next page when they are the last region, since + we know columns/pages can always generate additional boxes as needed. + + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::RenderFlowThread): + Add the m_pageLogicalHeightChanged member variable for tracking whether regions changed dimensions, + thus forcing us to repaginate everything. + + (WebCore::RenderFlowThread::layout): + Remove the redundant push of layout state now that RenderBlock's covers it. + + (WebCore::RenderFlowThread::regionAtBlockOffset): + Always return the last region if it's a set, regardless of the extendLastRegion boolean. + This reflects the fact that the last region set can always generate new page/column boxes. + + (WebCore::RenderFlowThread::pageLogicalTopForOffset): + Refactored to call into the region it finds for a given offset, so that the region itself + can answer the question of where the top of the page is. This enables sets to return the top of + specific columns/pages within the set. + + (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset): + Changed to be written in terms of pageLogicalTop and pageLogicalHeight so that it correctly uses + only the current column/page when determining remaining height. + + * rendering/RenderFlowThread.h: + Added pageLogicalHeightChanged() so that RenderBlock can ask the flow thread if its regions changed + dimensions. + + * rendering/RenderMultiColumnBlock.cpp: + (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange): + Tweaked to no longer turn on pagination, since the RenderMultiColumnFlowThread does that and we + want to avoid a double push of paginated states. Instead it now just sets the column height ahead + of time so that the RenderMultiColumnSets know how big their columns are. + + * rendering/RenderMultiColumnSet.cpp: + (WebCore::RenderMultiColumnSet::pageLogicalTopForOffset): + Subclassed to return the top of a specific column. + + (WebCore): + * rendering/RenderMultiColumnSet.h: + Add the subclassed method for pageLogicalTopForOffset. + + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::pageLogicalTopForOffset): + The code from RenderFlow::pageLogicalTopForOffset moved here. Just returns the top of the flow + thread portion rect in the region (same as before). + + (WebCore::RenderRegion::layout): + Changed to check only the page logical width and height, since we only consider a region as + invalidating how you break if there is an actual page height change. + + * rendering/RenderRegion.h: + (WebCore::RenderRegion::isRenderRegionSet): + Added an isRenderRegionSet() virtual function so that we can test for sets. + + * rendering/RenderRegionSet.h: + (WebCore::RenderRegionSet::isRenderRegionSet): + Subclassed isRenderRegionSet() to return true. + + * rendering/RenderView.cpp: + * rendering/RenderView.h: + (LayoutStateMaintainer): + (WebCore::LayoutStateMaintainer::push): + Remove the pushes of LayoutState that were specific to RenderFlowThreads. + +2012-08-31 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: Update $ to alias to querySelector rather than getElementById + https://bugs.webkit.org/show_bug.cgi?id=92648 + + Reviewed by Yury Semikhatsky. + + Completed implementation started by Addy Osmani. Updates $ to alias to querySelector + with more flexible handling of selectors. Also adds a warning about the change (as per Firebug). + + * inspector/InjectedScriptSource.js: + (.): + +2012-08-31 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: disable popover on click outside of popover anchor + https://bugs.webkit.org/show_bug.cgi?id=95564 + + Reviewed by Yury Semikhatsky. + + Immediately hide popover when receiving a click outside of popover anchor. + + * inspector/front-end/Popover.js: + (WebInspector.PopoverHelper.prototype._mouseDown): + +2012-08-31 Christophe Dumez <christophe.dumez@intel.com> + + [EFL] Add proper support for navigator.onLine and associated events + https://bugs.webkit.org/show_bug.cgi?id=95532 + + Reviewed by Kenneth Rohde Christiansen. + + Add support for detecting online state in EFL port and + monitor state changes. The EFL port now has proper + support for navigator.onLine and associated events. + + The implementation is based on Eeze library for + detecting network interfaces and their configuration. + Detection of online state changes relies on rtnetlink. + + No new tests, no behavior change for layout tests. + + * PlatformEfl.cmake: Link unconditionally against Eeze + library now. + * platform/network/NetworkStateNotifier.cpp: + (WebCore): + * platform/network/NetworkStateNotifier.h: + (NetworkStateNotifier): + (WebCore): + * platform/network/efl/NetworkStateNotifierEfl.cpp: Added. + (WebCore): + (WebCore::NetworkStateNotifier::updateState): + (WebCore::NetworkStateNotifier::networkInterfaceChanged): + (WebCore::readSocketCallback): + (WebCore::NetworkStateNotifier::~NetworkStateNotifier): + (WebCore::NetworkStateNotifier::NetworkStateNotifier): + +2012-08-31 Milian Wolff <milian.wolff@kdab.com> + + [Qt] QNX build fails due to missing OpenGL ES defines + https://bugs.webkit.org/show_bug.cgi?id=95554 + + Reviewed by Simon Hausmann. + + Apply the fix of bug 91030 to all platforms running on QNX. + + * platform/graphics/opengl/Extensions3DOpenGLES.h: + +2012-08-31 Thiago Marcos P. Santos <thiago.santos@intel.com> + + [CMake] Changes on the bindings generator does not trigger generation of the bindings + https://bugs.webkit.org/show_bug.cgi?id=95552 + + Reviewed by Kenneth Rohde Christiansen. + + Added the engine especific part of the generator to the dependency + list. + + * UseJSC.cmake: + * UseV8.cmake: + +2012-08-31 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: [WebGL] Link WebGL calls to the source code where it was made + https://bugs.webkit.org/show_bug.cgi?id=95426 + + Reviewed by Vsevolod Vlasov. + + Save a stack trace for every call we capture and report to the frontend sourceURL,lineNumber,columnNumber were the call was made from. + Right now, this will work only with V8. + + * inspector/InjectedScriptExterns.js: + (CallSite.prototype.getFileName): + (CallSite.prototype.getLineNumber): + (CallSite.prototype.getColumnNumber): + * inspector/InjectedScriptWebGLModuleSource.js: + (.): + * inspector/Inspector.json: + * inspector/front-end/WebGLProfileView.js: + (WebInspector.WebGLProfileView): + (WebInspector.WebGLProfileView.prototype._showTraceLog): + +2012-08-31 Patrick Dubroy <dubroy@chromium.org> + + Web Inspector: Add high-DPI images for status bar glyphs + https://bugs.webkit.org/show_bug.cgi?id=95471 + + Reviewed by Pavel Feldman. + + Add the new 2x resolution image for the status bar glyphs, and add + media queries to use the images on high-DPI devices. + + * inspector/front-end/Images/statusbarButtonGlyphs2x.png: Added. + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.css: + (.long-click-glyph): + (@media (-webkit-min-device-pixel-ratio: 1.5)): + (.status-bar-item > .glyph): + * inspector/front-end/scriptsPanel.css: + (.toggle-breakpoints .glyph): + (@media (-webkit-min-device-pixel-ratio: 1.5)): + (.status-bar-item.scripts-navigator-show-hide-button > .glyph): + (.status-bar-item.scripts-debugger-show-hide-button > .glyph): + * WebCore.gypi + * inspector/front-end/timelinePanel.css: + (#timeline-overview-sidebar .icon): + (@media (-webkit-min-device-pixel-ratio: 1.5)): + +2012-08-30 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: render box model elements and grid on inspector overlay + https://bugs.webkit.org/show_bug.cgi?id=95456 + + Reviewed by Vsevolod Vlasov. + + This change migrates native rendering for box model to the InspectorOverlay. + + * inspector/InspectorInstrumentation.cpp: + (WebCore): + (WebCore::InspectorInstrumentation::didScrollImpl): + * inspector/InspectorInstrumentation.h: + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::didScroll): + (WebCore): + * inspector/InspectorOverlay.cpp: + (WebCore::InspectorOverlay::drawNodeHighlight): + (WebCore::InspectorOverlay::drawRectHighlight): + (WebCore::InspectorOverlay::overlayPage): + (WebCore::InspectorOverlay::evaluateInOverlay): + * inspector/InspectorOverlay.h: + (WebCore::Highlight::setColors): + (Highlight): + (InspectorOverlay): + * inspector/InspectorOverlayPage.html: + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::didLayout): + (WebCore): + (WebCore::InspectorPageAgent::didScroll): + * inspector/InspectorPageAgent.h: + * page/Chrome.cpp: + (WebCore::Chrome::scroll): + +2012-08-31 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: [WebGL] Make wrap functions initialization lazy + https://bugs.webkit.org/show_bug.cgi?id=95533 + + Reviewed by Vsevolod Vlasov. + + WebGL wrap functions initialization is not always needed to be executed: for example, when we will instrument a 2D canvas. + Drive-by: fixed variable namings, moved duplicated code into a small auxiliary function. + + * inspector/InjectedScriptWebGLModuleSource.js: + (.): + +2012-08-31 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Port convertValueToQVariant to use the JSC C API + https://bugs.webkit.org/show_bug.cgi?id=94695 + + Reviewed by Kenneth Rohde Christiansen. + + Most of the code is portable to the C API, with a few exceptions for internal + types such as byte arrays, dates or when unboxing primitive types. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtField::setValueToInstance): + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::operator<<): + (JSC::Bindings::isJSUint8ClampedArray): + (JSC::Bindings::isJSArray): + (Bindings): + (JSC::Bindings::isJSDate): + (JSC::Bindings::isQtObject): + (JSC::Bindings::valueRealType): + (JSC::Bindings::toString): + (JSC::Bindings::unwrapBoxedPrimitive): + (JSC::Bindings::convertValueToQVariantMap): + (JSC::Bindings::convertToList): + (JSC::Bindings::toQString): + (JSC::Bindings::getGregorianDateTimeUTC): + (JSC::Bindings::toQDateTimeUTC): + (JSC::Bindings::convertValueToQVariant): + (JSC::Bindings::findMethodIndex): + (JSC::Bindings::QtConnectionObject::execute): + * bridge/qt/qt_runtime.h: + (Bindings): + +2012-08-31 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: render path to file and line number as subtitles in selector dialog. + https://bugs.webkit.org/show_bug.cgi?id=95481 + + Reviewed by Vsevolod Vlasov. + + In case several files have matching names, we should render the path next to it. + Using the same subtitle field, we now also render line number for JS and Style outlines. + + * inspector/front-end/FilteredItemSelectionDialog.js: + (WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded): + (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement): + (WebInspector.FilteredItemSelectionDialog.prototype._filterItems): + (WebInspector.SelectionDialogContentProvider.prototype.itemSuffixAt): + (WebInspector.JavaScriptOutlineDialog.prototype.itemSuffixAt): + (WebInspector.JavaScriptOutlineDialog.prototype.itemSubtitleAt): + (WebInspector.OpenResourceDialog.prototype.itemSuffixAt): + (WebInspector.OpenResourceDialog.prototype.itemSubtitleAt): + * inspector/front-end/StyleSheetOutlineDialog.js: + (WebInspector.StyleSheetOutlineDialog.prototype.itemSuffixAt): + (WebInspector.StyleSheetOutlineDialog.prototype.itemSubtitleAt): + * inspector/front-end/filteredItemSelectionDialog.css: + (.js-outline-dialog > .container > div.item): + (.js-outline-dialog span.subtitle): + +2012-08-31 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] Left/Right keys in multiple fields time input UI should move focus physical left/right instead of logical left/right regardless text direction. + https://bugs.webkit.org/show_bug.cgi?id=95434 + + Reviewed by Kent Tamura. + + This patch also changes handling of Left/Right keys to aware text + direction ("dir" attribute"). Left/Right keys should move focus + physical right/left instead of logical right/left. + + This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and + ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. + + No new tests. This patch adds a test case into fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html + + * html/shadow/DateTimeFieldElement.cpp: + (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed to check isRTL() for Left/Right keys then we call + appropriate focus motion function. + (WebCore::DateTimeFieldElement::isRTL): Added for checking text direction is right-to-left or not. + * html/shadow/DateTimeFieldElement.h: + (DateTimeFieldElement): Added declaration of isRTL(). + +2012-08-30 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] Blur from field should reset typeahead buffer in multiple fields time input UI + https://bugs.webkit.org/show_bug.cgi?id=95525 + + Reviewed by Kent Tamura. + + This patch changes to reset typeahead timer used in DateTimeNumericFieldElement + on blur from field. It is intuitive that not merging keyboard inputs + with interleaving focus motion, e.g. sequence type "1", type Tab, type + Shift+Tab, type "2" should set field to "2" instead of "12". + + This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and + ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. + + No new tests. This patch adds a test case into fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html + + * html/shadow/DateTimeNumericFieldElement.cpp: + (WebCore::DateTimeNumericFieldElement::didBlur): Added to reset typeahead timer, m_lastDigitCharTime. + * html/shadow/DateTimeNumericFieldElement.h: + (DateTimeNumericFieldElement): Added a declaration of didBlur(). + +2012-08-30 MORITA Hajime <morrita@google.com> + + Unreviewed, followup build fix against r127228. + + * dom/Notation.cpp: + (WebCore::Notation::cloneNode): + * dom/Notation.h: + (Notation): + +2012-08-30 MORITA Hajime <morrita@google.com> + + Unreviewed, rolling out r126127. + http://trac.webkit.org/changeset/126127 + + This breaks gobject bindings. + + * dom/Attr.cpp: + (WebCore::Attr::cloneNode): + * dom/Attr.h: + * dom/CDATASection.cpp: + (WebCore::CDATASection::cloneNode): + * dom/CDATASection.h: + (CDATASection): + * dom/Comment.cpp: + (WebCore::Comment::cloneNode): + * dom/Comment.h: + (Comment): + * dom/Document.cpp: + (WebCore::Document::cloneNode): + * dom/Document.h: + (Document): + * dom/DocumentFragment.cpp: + (WebCore::DocumentFragment::cloneNode): + * dom/DocumentFragment.h: + (DocumentFragment): + * dom/DocumentType.cpp: + (WebCore::DocumentType::cloneNode): + * dom/DocumentType.h: + (DocumentType): + * dom/Element.cpp: + (WebCore::Element::cloneNode): + * dom/Element.h: + (Element): + * dom/EntityReference.cpp: + (WebCore::EntityReference::cloneNode): + * dom/EntityReference.h: + (EntityReference): + * dom/Node.h: + (Node): + * dom/Node.idl: + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::cloneNode): + * dom/ProcessingInstruction.h: + (ProcessingInstruction): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::cloneNode): + * dom/ShadowRoot.h: + (ShadowRoot): + * dom/Text.cpp: + (WebCore::Text::cloneNode): + * dom/Text.h: + (Text): + +2012-08-30 Adam Barth <abarth@webkit.org> + + Loading a worker script should not be O(n^2) + https://bugs.webkit.org/show_bug.cgi?id=95518 + + Reviewed by Benjamin Poulain. + + Previously, we would malloc a new buffer and memcpy the entire worker + script every time we got another packet of data from the network. This + patch uses StringBuilder to accumulate the buffer more efficiently. + + * workers/WorkerScriptLoader.cpp: + (WebCore::WorkerScriptLoader::WorkerScriptLoader): + (WebCore::WorkerScriptLoader::didReceiveData): + (WebCore::WorkerScriptLoader::didFinishLoading): + (WebCore): + (WebCore::WorkerScriptLoader::script): + * workers/WorkerScriptLoader.h: + (WorkerScriptLoader): + +2012-08-30 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] Shift+Tab should focus the last field of multiple fields time input UI + https://bugs.webkit.org/show_bug.cgi?id=95168 + + Reviewed by Kent Tamura. + + This patch changes focus handling in DateTimeEditElement class for + multiple fields time input UI. + + Current implementation controls focus in fields by DateTimeEditElement + and a focus field is tracked m_focusFieldIndex member variable. In + current implementation, it is hard to set focus to the last field when + it gets focus by Shift+Tab, because we don't know how DateTimeEditElement + gets focus. + + In this new implementation, DateTimeEditElement doesn't control focus + rather FocusController class controls focus: + - We set focus to DateTimeFieldElement instead of HTMLInputElement + which is shadow host of DateTimeEditElement for controlling focus + by FocusController. + - Focus/blur events in DateTimeFieldElement are routed to HTMLInputElement + by shadow DOM mechanism. + - TimeInputType class overrides HTMLINputElement::blur() and focus() + functions for delegating blur/focus behavior to DateTimeEditElement + by calling DateTimeEditElement::blurByOwner()/focusByOwner(). + + This patch affects only ports which enable both ENABLE_INPUT_TYPE_TIME + and ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. + + Tests: fast/forms/time-multiple-fields/time-multiple-fields-blur-and-focus-events.html + This patch also adds a new test case for Shift+Tab into fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html. + + * html/TimeInputType.cpp: + (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::didFieldBlur): Added for the input element not to be matched "focus" pseudo class for removing focus ring. + (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::didFieldFocus): Added for the input element to be matched "focus" pseudo class for adding focus ring. + (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlMouseFocus): Removed. DateTimeEditElement no longer set focus to HTMLInputElement. + (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner): Removed. In this patch, settting focus to field is handled by DateTimeEditElement. We don't need to call HTMLInputElement::select() which has no effect for "time" input type. + (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused): Revmoed. FocusController manages focus navigation in fields rather than DateTimeEditElement. + (WebCore::TimeInputType::blur): Added for delegating blur() action to DateTimeEditElement. + (WebCore::TimeInputType::focus): Added for delegating focus() action to DateTimeEditElement. + (WebCore::TimeInputType::handleDOMActivateEvent): Removed. HTMLInputElement for "time" input type no longer get focus. + (WebCore::TimeInputType::hasCustomFocusLogic): Added for asking FocusController to walk into shadow DOM tree on input type "time". + (WebCore::TimeInputType::isKeyboardFocusable): Changed for "input" element not to have focus. + (WebCore::TimeInputType::isMouseFocusable): Changed for "input" element not to have focus. + * html/TimeInputType.h: + (DateTimeEditControlOwnerImpl): Changed for new definition of DateTimeEditControlOwner. + (TimeInputType): Changed for new definition of DateTimeEditElement. + * html/shadow/DateTimeEditElement.cpp: + (WebCore::DateTimeEditElement::DateTimeEditElement): Removed dropped member variable m_focusFieldIndex. + (WebCore::DateTimeEditElement::blurByOwner): Added for blur() action asekd by owner. + (WebCore::DateTimeEditElement::didBlurFromField): Added for calling DateTimeEditControlOwner::didBlurFromControl(). + (WebCore::DateTimeEditElement::didFocusOnField): Added for calling DateTimeEditControlOwner::didFocusOnControl(). + (WebCore::DateTimeEditElement::fieldIndexOf): Added for mapping DateTimeFieldElement to field index. + (WebCore::DateTimeEditElement::focusByOwner): Added for focus() action asekd by owner. + (WebCore::DateTimeEditElement::focusFieldAt): Removed. + (WebCore::DateTimeEditElement::focusedFieldIndex): Added as helper function. + (WebCore::DateTimeEditElement::focusedField): Added. + (WebCore::DateTimeEditElement::focusOnNextField): Changed to pass a field to focusOnNext(). + (WebCore::DateTimeEditElement::focusOnPreviousField): ditto. + (WebCore::DateTimeEditElement::focusAndSelectSpinButtonOwner): Changed for setting focus to the first field. + (WebCore::DateTimeEditElement::handleKeyboardEvent): Removed. Moved handling of Left/Right keys to DateTimeFieldElement. Removed Tab-key handling. + (WebCore::DateTimeEditElement::handleMouseEvent): Removed. DateTimeEdit doesn't handle mouse click since this patch. + (WebCore::DateTimeEditElement::layout): Changed to use focusFieldIndex() and DateTimeFieldElement::focus(). + (WebCore::DateTimeEditElement::nextFieldIndex): Removed. focusOnNextField does samething and sets focus. + (WebCore::DateTimeEditElement::previousFieldIndex): Removed. focusOnPreviousField does samething and sets focus. + (WebCore::DateTimeEditElement::resetLayout): Changed to remove m_focusFieldIndex variable reference. + (WebCore::DateTimeEditElement::defaultEventHandler): Changed to remove focus navigation related events, blue/focus/mouse, handling. + (WebCore::DateTimeEditElement::shouldSpinButtonRespondToWheelEvents): Changed to check focus field instead of asking owner. + (WebCore::DateTimeEditElement::spinButtonStepDown): Changed to use focusField() instead of m_focusFieldIndex. + (WebCore::DateTimeEditElement::spinButtonStepUp): ditto. + (WebCore::DateTimeEditElement::updateUIState): ditto. + * html/shadow/DateTimeEditElement.h: + (EditControlOwner): Added didBlurFromField() and didFocusOnField() function declarations. Removed focusAndSelectEditControlOwner, it was used for set focus to HTMLInputElement, and isEditControlOwnerFocused. + (DateTimeEditElement): + * html/shadow/DateTimeFieldElement.cpp: + (WebCore::DateTimeFieldElement::defaultEventHandler): Changed to handle blur and focus events. + (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed to handle Left/Right keys. + (WebCore::DateTimeFieldElement::didBlur): Added to call FieldOwner::didBlurFromField() to remove focus ring from owner element. + (WebCore::DateTimeFieldElement::didFocus): Added to call FieldOwner::didFocusOnField() to add focus ring to owner element. + (WebCore::DateTimeFieldElement::focusOnNextField): Added for moving focus to next field for DateTimeNumbericFieldElment + (WebCore::DateTimeFieldElement::isFocusable): Added to make DateTimeFieldElement focusable. + (WebCore::DateTimeFieldElement::supportsFocus): Added to make DateTimeFieldElement focusable. + * html/shadow/DateTimeFieldElement.h: + (FieldOwner): Added declarations for focusable handling. + (DateTimeFieldElement): ditto. + +2012-08-30 James Robinson <jamesr@chromium.org> + + [chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected + https://bugs.webkit.org/show_bug.cgi?id=95520 + + Reviewed by Darin Fisher. + + Adopt the return value of WebCompositorSupport explicitly. + + * platform/graphics/chromium/AnimationTranslationUtil.cpp: + (WebCore::createWebAnimation): + * platform/graphics/chromium/Canvas2DLayerBridge.cpp: + (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBufferPrivate::DrawingBufferPrivate): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): + (WebCore::GraphicsLayerChromium::setContentsToImage): + (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): + +2012-08-30 Adam Barth <abarth@webkit.org> + + Replace more instances of += with StringBuilder + https://bugs.webkit.org/show_bug.cgi?id=95502 + + Reviewed by Darin Adler. + + This patch removes many uses of WTF::String::operator+= in WebCore. + Many of these uses are inefficient because they cause us to allocate + and memcpy strings more times than necessary. In most cases, I've + replaced these inefficient patterns with StringBuilder. + + This patch makes progress towards removing WTF::String::operator+= from + the project. + + We can make cssText() more efficient by passing a single StringBuilder + instance along to the recursive calls, but I've left that for a later + patch. + + * css/CSSBorderImageSliceValue.cpp: + (WebCore::CSSBorderImageSliceValue::customCssText): + * css/CSSFontFaceSrcValue.cpp: + (WebCore::CSSFontFaceSrcValue::customCssText): + * css/CSSFunctionValue.cpp: + (WebCore::CSSFunctionValue::customCssText): + * css/CSSGradientValue.cpp: + (WebCore::CSSLinearGradientValue::customCssText): + (WebCore::CSSRadialGradientValue::customCssText): + * css/CSSParser.cpp: + (WebCore::CSSParser::createKeyframe): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::customCssText): + * css/CSSReflectValue.cpp: + (WebCore::CSSReflectValue::customCssText): + * css/CSSTimingFunctionValue.cpp: + (WebCore::CSSCubicBezierTimingFunctionValue::customCssText): + (WebCore::CSSStepsTimingFunctionValue::customCssText): + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::get4Values): + (WebCore::StylePropertySet::getLayeredShorthandValue): + (WebCore::StylePropertySet::getShorthandValue): + * fileapi/BlobURL.cpp: + (WebCore::BlobURL::createBlobURL): + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo): + * inspector/InspectorClient.cpp: + (WebCore::InspectorClient::doDispatchMessageOnFrontendPage): + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::didFailLoading): + * inspector/InspectorFileSystemAgent.cpp: + (WebCore): + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::cachedResourceContent): + (WebCore::InspectorPageAgent::getCookies): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::addRule): + +2012-08-30 Luke Macpherson <macpherson@chromium.org> + + Make it possible to use CSS Variables inside Calc expressions. + https://bugs.webkit.org/show_bug.cgi?id=95284 + + Reviewed by Tony Chang. + + Allows calc expressions to contain unevaluated variables, which are then resolved in StyleResolver.cpp when building the RenderStyle tree. + + Tests: + fast/css/variables/calc.html + + * css/CSSCalculationValue.cpp: + (WebCore::unitCategory): + (WebCore): + (WebCore::CSSCalcValue::customSerializeResolvingVariables): + Generates a CSS expression with variables resolved into their corresponding values. + (WebCore::CSSCalcValue::hasVariableReference): + Returns true if the calculation's expression tree refers to a variable (that needs to be resolved). + (CSSCalcPrimitiveValue): + (WebCore::CSSCalcPrimitiveValue::serializeResolvingVariables): + Resolves the variable using the underlying CSSPrimitiveValue's serializeResolvingVariables function. + (WebCore::CSSCalcPrimitiveValue::hasVariableReference): + (WebCore::CSSCalcPrimitiveValue::toCalcValue): + (WebCore::CSSCalcPrimitiveValue::doubleValue): + (WebCore::CSSCalcPrimitiveValue::computeLengthPx): + (WebCore::CSSCalcBinaryOperation::create): + (CSSCalcBinaryOperation): + (WebCore::CSSCalcBinaryOperation::serializeResolvingVariables): + Builds a CSS expression for contained subtrees. + (WebCore::CSSCalcBinaryOperation::hasVariableReference): + Returns true if either subtree contains a variable. + * css/CSSCalculationValue.h: + (CSSCalcExpressionNode): + (CSSCalcValue): + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::CSSParser::validCalculationUnit): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::primitiveType): + (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables): + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectMatchingRulesForList): + +2012-08-30 Max Vujovic <mvujovic@adobe.com> + + [CSS Shaders] Implement normal blend mode and source-atop compositing mode + https://bugs.webkit.org/show_bug.cgi?id=93869 + + Reviewed by Dean Jackson. + + Instead of allowing direct texture access in an author's shader via u_texture, CSS + Shaders blends special symbols in the author's shader (css_MixColor and + css_ColorMatrix) with the DOM element texture. + + The author specifies the blend mode and composite operator via the CSS mix + function like this: + -webkit-filter: custom(none mix(shader.fs normal source-atop)); + + This patch implements the normal blend mode and the source-atop composite + operator. The other blend modes and composite operators will come in later + patches. + + This patch introduces a new class, CustomFilterValidatedProgram, which validates + the shader using ANGLE. If the shader uses blending and compositing, + CustomFilterValidatedProgram uses ANGLE's SH_CSS_SHADERS_SPEC flag. This allows + the author's shader to compile successfully with special symbols like + "css_MixColor". ANGLE also reserves the "css_" prefix. If the shader doesn't use + blending and compositing, CustomFilterValidatedProgram validates the shader using + ANGLE's SH_WEBGL_SPEC flag. + + After validation, CustomFilterValidatedProgram adds blending, compositing, and + texture access shader code to the author's original shaders. The definitions for + css_MixColor and css_ColorMatrix are added before the author's fragment shader + code so that the author code can access them. The blending, compositing, and + texture access code is added after the author code and is thus inaccessible to the + author code. Since ANGLE reserves the "css_" prefix during the validation phase, + no collisions are possible between the author's code and the code that WebKit adds. + + The CustomFilterGlobalContext now caches CustomFilterValidatedProgram instead + of CustomFilterCompiledProgram. CustomFilterValidatedProgram owns a + CustomFilterCompiledProgram. This way, we can use the platform-independent + CustomFilterValidatedProgram to validate and rewrite the shaders, regardless of + the platform representation of the program (e.g. CustomFilterCompiledProgram). + + Tests: css3/filters/custom/custom-filter-color-matrix.html + css3/filters/custom/custom-filter-composite-source-atop.html + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/ANGLEWebKitBridge.cpp: + (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge): + Add a shader spec parameter, since sometimes we want to validate the shader + against the CSS Shaders spec and other times we want to validate the shader + against the WebGL spec. Note that the CSS Shaders spec is treated as a subset + of the WebGL spec in ANGLE. + (WebCore::ANGLEWebKitBridge::validateShaderSource): + * platform/graphics/ANGLEWebKitBridge.h: + (ANGLEWebKitBridge): + * platform/graphics/filters/CustomFilterCompiledProgram.cpp: + (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram): + (WebCore::CustomFilterCompiledProgram::compileShader): + (WebCore::CustomFilterCompiledProgram::initializeParameterLocations): + (WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram): + * platform/graphics/filters/CustomFilterCompiledProgram.h: + (WebCore): + * platform/graphics/filters/CustomFilterGlobalContext.cpp: + (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext): + (WebCore::CustomFilterGlobalContext::webglShaderValidator): + (WebCore): + (WebCore::CustomFilterGlobalContext::mixShaderValidator): + (WebCore::CustomFilterGlobalContext::createShaderValidator): + (WebCore::CustomFilterGlobalContext::getValidatedProgram): + (WebCore::CustomFilterGlobalContext::removeValidatedProgram): + * platform/graphics/filters/CustomFilterGlobalContext.h: + (WebCore): + (CustomFilterGlobalContext): + * platform/graphics/filters/CustomFilterProgramInfo.h: + (WebCore::CustomFilterProgramInfo::mixSettings): + * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Added. + (WebCore): + (WebCore::CustomFilterValidatedProgram::defaultVertexShaderString): + (WebCore::CustomFilterValidatedProgram::defaultFragmentShaderString): + (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram): + (WebCore::CustomFilterValidatedProgram::compiledProgram): + (WebCore::CustomFilterValidatedProgram::rewriteMixVertexShader): + (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader): + (WebCore::CustomFilterValidatedProgram::blendFunctionString): + (WebCore::CustomFilterValidatedProgram::compositeFunctionString): + (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram): + * platform/graphics/filters/CustomFilterValidatedProgram.h: Added. + (WebCore): + (CustomFilterValidatedProgram): + (WebCore::CustomFilterValidatedProgram::create): + (WebCore::CustomFilterValidatedProgram::programInfo): + (WebCore::CustomFilterValidatedProgram::isInitialized): + (WebCore::CustomFilterValidatedProgram::detachFromGlobalContext): + * platform/graphics/filters/FECustomFilter.cpp: + (WebCore::FECustomFilter::FECustomFilter): + Accept a CustomFilterValidatedProgram instead of CustomFilterProgram. + (WebCore::FECustomFilter::create): + (WebCore::FECustomFilter::initializeContext): + (WebCore::FECustomFilter::bindVertexAttribute): + (WebCore::FECustomFilter::bindProgramAndBuffers): + * platform/graphics/filters/FECustomFilter.h: + (WebCore): + (FECustomFilter): + * rendering/FilterEffectRenderer.cpp: + (WebCore): + (WebCore::createCustomFilterEffect): + (WebCore::FilterEffectRenderer::build): + Only create an FECustomFilter if the program validates. + * rendering/FilterEffectRenderer.h: + (WebCore): + (FilterEffectRenderer): + +2012-08-30 Julien Chaffraix <jchaffraix@webkit.org> + + Crash in RenderTable::calcBorderEnd + https://bugs.webkit.org/show_bug.cgi?id=95487 + + Reviewed by Abhishek Arya. + + r126590 opened the window for a race condition in RenderObjectChildList::removeChildNode. + This is caused because willBeRemovedFromTree should be strictly following by the actual removal + and wasn't. + + This race condition was caused by clearSelection() being called just after willBeRemovedFromTree, + which forced a section's cells recalc and would re-add the soon-to-be-removed child, causing the + crash. + + Test: fast/table/crash-clearSelection-collapsed-borders.html + + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::removeChildNode): + Moved the clearSeletion call before willBeRemovedFromTree. Added a warning about running code + after willBeRemovedFromTree and before removing the child from the tree. + +2012-08-30 Geoffrey Garen <ggaren@apple.com> + + Use one object instead of two for closures, eliminating ScopeChainNode + https://bugs.webkit.org/show_bug.cgi?id=95501 + + Reviewed by Filip Pizlo. + + Mechanical changes to update for JSC interface changes. + +2012-08-30 Pratik Solanki <psolanki@apple.com> + + objc_msgSend and IMP should be cast appropriately before using + https://bugs.webkit.org/show_bug.cgi?id=95242 + + Reviewed by Benjamin Poulain. + + Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts + to a function pointer with right types when calling objc_msgSend and an + IMP method directly. + + No new tests because no functional changes. + + * page/mac/EventHandlerMac.mm: + (WebCore::selfRetainingNSScrollViewScrollWheel): + * platform/mac/WebCoreObjCExtras.mm: + (deallocCallback): + +2012-08-30 Benjamin Poulain <bpoulain@apple.com> + + Replace JSC::UString by WTF::String + https://bugs.webkit.org/show_bug.cgi?id=95271 + + Reviewed by Geoffrey Garen. + + Update the code to use String instead of UString. + + On x86_64, this reduces the binary size by 22kb. + + Since it is no longer possible to differenciate JSC::jsString() and WebCore::jsString() by the input + types, WebCore::jsString() is renated to WebCore::jsStringWithCache(). + + Since the cache is using a PtrHash, JSC::jsString() is used in place of the old WebCore::jsString() when + the string is generated locally. This is because the cache can never match in those cases. + +2012-08-30 Rob Buis <rbuis@rim.com> + + [CMake] Suppress ANGLE compilation warnings + https://bugs.webkit.org/show_bug.cgi?id=95377 + + Reviewed by Antonio Gomes. + + Compile ANGLE sources in a static library, and make sure the compile flags suppress warnings. + + * CMakeLists.txt: + +2012-08-30 Victor Carbune <victor@rosedu.org> + + [Chromium] Layout Test media/track/track-cue-rendering-snap-to-lines-not-set.html is flaky + https://bugs.webkit.org/show_bug.cgi?id=89167 + + Reviewed by Eric Carlson. + + Fix for rendering tracks when snap-to-lines not set. + + No new tests. Removed from TestExpectations existing test. + + * html/track/TextTrackCue.cpp: + (WebCore::TextTrackCue::TextTrackCue): + (WebCore::TextTrackCue::calculateDisplayParameters): Updated the place + where m_computedLinePosition is determined. + +2012-08-27 James Robinson <jamesr@chromium.org> + + [chromium] Add CompositorSupport interface for constructing compositor classes + https://bugs.webkit.org/show_bug.cgi?id=95040 + + Reviewed by Darin Fisher. + + Uses WebCompositorSupport interfaces where appropriate to construct compositor types. + + * platform/graphics/chromium/AnimationTranslationUtil.cpp: + (WebCore::createWebAnimation): + * platform/graphics/chromium/Canvas2DLayerBridge.cpp: + (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBufferPrivate::DrawingBufferPrivate): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): + (WebCore::GraphicsLayerChromium::setContentsToImage): + (WebCore::GraphicsLayerChromium::setContentsTo): + (WebCore::GraphicsLayerChromium::addAnimation): + (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): + +2012-08-30 Dan Bernstein <mitz@apple.com> + + [CG] ImageCG.cpp contains a mix of Image and BitmapImage functions + https://bugs.webkit.org/show_bug.cgi?id=95470 + + Reviewed by Darin Adler. + + * WebCore.gypi: Added BitmapImageCG.cpp. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * platform/graphics/cg/BitmapImageCG.cpp: Copied from Source/WebCore/platform/graphics/cg/ImageCG.cpp + then deleted Image function implementations. + * platform/graphics/cg/ImageCG.cpp: Deleted BitmapImage and FrameData function implementations. + +2012-08-30 Victor Carbune <victor@rosedu.org> + + [Chromium] The CC button is not painted + https://bugs.webkit.org/show_bug.cgi?id=95395 + + Reviewed by Eric Carlson. + + The actual Chromium resource for the CC button was not used by the Chromium theme. + + Existing track rendering tests will be rebaselined and contain the new CC button. + + * rendering/RenderMediaControlsChromium.cpp: + (WebCore::paintMediaClosedCaptionsButton): Added for proper painting of the resource. + (WebCore): + (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): + Changed to call paintMediaClosedCaptionsButton when the control is the CC button. + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::paintMediaToggleClosedCaptionsButton): + Implemented proper behaviour. + (WebCore): + * rendering/RenderThemeChromiumSkia.h: + (RenderThemeChromiumSkia): + +2012-08-30 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Introduce MediaConstraints + https://bugs.webkit.org/show_bug.cgi?id=95198 + + Reviewed by Adam Barth. + + This introduces MediaConstraints together with relevant infrastructure, a chromium mock and LayoutTests. + + Patch covered by expanded existing tests. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Modules/mediastream/MediaConstraintsImpl.cpp: Added. + (WebCore): + (WebCore::MediaConstraintsImpl::create): + (WebCore::MediaConstraintsImpl::initialize): + (WebCore::MediaConstraintsImpl::~MediaConstraintsImpl): + (WebCore::MediaConstraintsImpl::getMandatoryConstraintNames): + (WebCore::MediaConstraintsImpl::getOptionalConstraintNames): + (WebCore::MediaConstraintsImpl::getMandatoryConstraintValue): + (WebCore::MediaConstraintsImpl::getOptionalConstraintValue): + * Modules/mediastream/MediaConstraintsImpl.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h. + (WebCore): + (MediaConstraintsImpl): + (WebCore::MediaConstraintsImpl::MediaConstraintsImpl): + * Modules/mediastream/RTCPeerConnection.cpp: + (WebCore::RTCPeerConnection::create): + (WebCore::RTCPeerConnection::RTCPeerConnection): + * Modules/mediastream/RTCPeerConnection.h: + (WebCore): + (RTCPeerConnection): + * WebCore.gypi: + * bindings/js/Dictionary.cpp: + (WebCore::Dictionary::getOwnPropertyNames): + (WebCore): + * bindings/js/Dictionary.h: + (Dictionary): + * bindings/v8/Dictionary.cpp: + (WebCore::Dictionary::getOwnPropertyNames): + (WebCore): + * bindings/v8/Dictionary.h: + (Dictionary): + * platform/chromium/support/WebMediaConstraints.cpp: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp. + (WebKit): + (WebKit::WebMediaConstraints::WebMediaConstraints): + (WebKit::WebMediaConstraints::assign): + (WebKit::WebMediaConstraints::reset): + (WebKit::WebMediaConstraints::isNull): + (WebKit::WebMediaConstraints::getMandatoryConstraintNames): + (WebKit::WebMediaConstraints::getOptionalConstraintNames): + (WebKit::WebMediaConstraints::getMandatoryConstraintValue): + (WebKit::WebMediaConstraints::getOptionalConstraintValue): + * platform/mediastream/MediaConstraints.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h. + (WebCore): + (MediaConstraints): + (WebCore::MediaConstraints::~MediaConstraints): + (WebCore::MediaConstraints::MediaConstraints): + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (RTCPeerConnectionHandlerDummy): + (WebCore::RTCPeerConnectionHandlerDummy::initialize): + * platform/mediastream/RTCPeerConnectionHandler.h: + (WebCore): + (RTCPeerConnectionHandler): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + (WebCore::RTCPeerConnectionHandlerChromium::initialize): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (RTCPeerConnectionHandlerChromium): + +2012-08-24 Robert Hogan <robert@webkit.org> + + CSS 2.1 failure: margin-collapse-clear-012 fails + https://bugs.webkit.org/show_bug.cgi?id=80394 + + Reviewed by David Hyatt. + + CSS2.1 states: "If the top and bottom margins of an element with clearance are adjoining, its margins collapse with + the adjoining margins of following siblings but that resulting margin does not collapse with the bottom margin of the parent block." + This is a change in the spec since http://trac.webkit.org/changeset/47678, so prevent the margins of collapsed blocks from collapsing + with parent margins. + + Also, in the case of self-collapsing blocks adjust the clearance so that it is equal to [height of float to clear] - margin-top of the + self-collapsing block. (See the 'Explanation' section near the end of http://www.w3.org/TR/CSS21/visuren.html#clearance). This allows + the correct value of any margins collapsed with subsequent siblings to contribute to the height of the parent. For example if a block + with margin-top of 40px has to clear a float of 100px, the clearance is now 60px so set that as the height of the parent. If a subsequent + sibling has a collapsed margin value of 140px (e.g. from a margin-top of 80px and a margin-bottom of 140px) then the height of the parent + becomes 200px by adding on that collapsed margin. + + Tests: css2.1/20110323/margin-collapse-clear-012.htm + css2.1/20110323/margin-collapse-clear-013.htm + css2.1/20110323/margin-collapse-027.htm + fast/css/margin-collapse-013-reduction.html + fast/css/margin-collapse-top-margin-clearance.html + fast/css/margin-collapse-top-margin-clearance-with-sibling.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clearFloatsIfNeeded): + (WebCore::RenderBlock::handleAfterSideOfBlock): Without this margin-collapse/block-inside-inline/025.html adds in the margin to + an anonymous block containing a block child. FF does this, Opera does not. The spec is not crystal-clear but Opera's behaviour + seems correct - it's totally unintuitive to think the margins of an anonymous block and its block-flow child should be considered adjoining. + Maybe this is a FIXME pending clarification in the spec? + * rendering/RenderBlock.h: + (WebCore::RenderBlock::MarginInfo::setCanCollapseMarginAfterWithChildren): + +2012-08-30 Rik Cabanier <cabanier@adobe.com> + + Add support for blendmode to webkit rendering engine + https://bugs.webkit.org/show_bug.cgi?id=95258 + + Reviewed by Simon Fraser. + + This code adds support for blendmodes to the WebCore engine. The CSS parser already + supported this keyword but didn't pass it along. Support for rendering blending will + be provided in subsequent patches + + Test: css3/compositing/should-have-compositing-layer.html + + * css/StyleBuilder.cpp: + (WebCore::StyleBuilder::StyleBuilder): + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectMatchingRulesForList): + * rendering/RenderBox.h: + * rendering/RenderBoxModelObject.h: + (RenderBoxModelObject): + (WebCore::RenderBoxModelObject::requiresLayer): + * rendering/RenderInline.h: + (WebCore::RenderInline::requiresLayer): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore): + (WebCore::RenderLayer::updateBlendMode): + (WebCore::RenderLayer::ensureBacking): + (WebCore::RenderLayer::shouldBeNormalFlowOnly): + (WebCore::RenderLayer::styleChanged): + * rendering/RenderLayer.h: + (RenderLayer): + (WebCore::RenderLayer::hasBlendMode): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::requiresCompositingLayer): + (WebCore::RenderLayerCompositor::requiresOwnBackingStore): + (WebCore::RenderLayerCompositor::reasonForCompositing): + (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): + (WebCore::RenderLayerCompositor::requiresCompositingForBlending): + (WebCore): + * rendering/RenderLayerCompositor.h: + (RenderLayerCompositor): + * rendering/RenderObject.h: + (RenderObject): + (WebCore::RenderObject::hasBlendMode): + (WebCore::RenderObject::createsGroup): + * rendering/RenderTableRow.h: + * rendering/style/RenderStyle.h: + +2012-08-30 Tony Chang <tony@chromium.org> + + Make RenderBox::computeInlineDirectionMargins const + https://bugs.webkit.org/show_bug.cgi?id=95255 + + Reviewed by Ojan Vafai. + + This is part of making computeLogical{Height,Width} return computed values rather than + mutating the RenderBox directly. This makes a submethod const. + + This change is just a refactor, but I've added some tests to cover code that wasn't + previously covered by layout tests. + + Tests: fast/block/margins-perpendicular-containing-block.html + fast/table/margins-flipped-text-direction.html + fast/table/margins-perpendicular-containing-block.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeLogicalWidthInRegion): Handle flipped text direction manually. + (WebCore::RenderBox::computeInlineDirectionMargins): Make const with out parameters. + No longer need to call setMargin{Start,End}ForChild. + (WebCore::shouldFlipBeforeAfterMargins): Helper function to figure out how to map a logical + writing mode direction to another logical writing mode direction. + (WebCore::RenderBox::computeLogicalHeight): Use const method. This also makes it more + obvious that when computing the height, we only modify the before/after margins. + * rendering/RenderBox.h: + (RenderBox): Make computeInlineDirectionMargins const with out parameters. + * rendering/RenderTable.cpp: + (WebCore::RenderTable::computeLogicalWidth): Same as RenderBox::comptueLogicalWidthInregion. + +2012-08-30 Dirk Schulze <krit@webkit.org> + + Refactor WrapShape classes to BasicShape + https://bugs.webkit.org/show_bug.cgi?id=95461 + + Reviewed by Rob Buis. + + This is a follow up patch of bug 95411. While the previous patch + just renamed the files, this patch renames the classes, enumerations + and functions. + + Just refactoring of internal names. No new tests. + + * css/BasicShapeFunctions.cpp: + (WebCore::valueForBasicShape): + (WebCore::basicShapeForValue): + * css/BasicShapeFunctions.h: + (WebCore): + * css/CSSBasicShapes.cpp: + (WebCore::CSSBasicShapeRectangle::cssText): + (WebCore::CSSBasicShapeCircle::cssText): + (WebCore::CSSBasicShapeEllipse::cssText): + (WebCore::CSSBasicShapePolygon::cssText): + * css/CSSBasicShapes.h: + (WebCore::CSSBasicShape::~CSSBasicShape): + (WebCore::CSSBasicShape::CSSBasicShape): + (WebCore::CSSBasicShapeRectangle::create): + (WebCore::CSSBasicShapeRectangle::type): + (WebCore::CSSBasicShapeRectangle::CSSBasicShapeRectangle): + (WebCore::CSSBasicShapeCircle::create): + (WebCore::CSSBasicShapeCircle::type): + (WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle): + (WebCore::CSSBasicShapeEllipse::create): + (WebCore::CSSBasicShapeEllipse::type): + (WebCore::CSSBasicShapeEllipse::CSSBasicShapeEllipse): + (WebCore::CSSBasicShapePolygon::create): + (WebCore::CSSBasicShapePolygon::type): + (WebCore::CSSBasicShapePolygon::CSSBasicShapePolygon): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseBasicShapeRectangle): + (WebCore::CSSParser::parseBasicShapeCircle): + (WebCore::CSSParser::parseBasicShapeEllipse): + (WebCore::CSSParser::parseBasicShapePolygon): + (WebCore::CSSParser::parseBasicShape): + * css/CSSParser.h: + (WebCore): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::init): + * css/CSSPrimitiveValue.h: + (WebCore): + (WebCore::CSSPrimitiveValue::getShapeValue): + (CSSPrimitiveValue): + * css/StyleBuilder.cpp: + (WebCore): + (WebCore::ApplyPropertyWrapShape::setValue): + (WebCore::ApplyPropertyWrapShape::applyValue): + (WebCore::ApplyPropertyWrapShape::createHandler): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateWrapShapeInfoAfterStyleChange): + * rendering/RenderBlock.h: + (RenderBlock): + * rendering/WrapShapeInfo.cpp: + (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock): + (WebCore::WrapShapeInfo::computeShapeSize): + * rendering/style/BasicShapes.cpp: + (WebCore::BasicShape::destroy): + * rendering/style/BasicShapes.h: + (WebCore::BasicShape::BasicShape): + (WebCore::BasicShapeRectangle::create): + (WebCore::BasicShapeRectangle::BasicShapeRectangle): + (WebCore::BasicShapeCircle::create): + (WebCore::BasicShapeCircle::BasicShapeCircle): + (WebCore::BasicShapeEllipse::create): + (WebCore::BasicShapeEllipse::BasicShapeEllipse): + (WebCore::BasicShapePolygon::create): + (WebCore::BasicShapePolygon::BasicShapePolygon): + * rendering/style/RenderStyle.h: + * rendering/style/StyleRareNonInheritedData.h: + (StyleRareNonInheritedData): + +2012-08-30 Aaron Colwell <acolwell@chromium.org> + + Fix a crash in SourceBufferList.remove(). + https://bugs.webkit.org/show_bug.cgi?id=94950 + + Reviewed by Eric Carlson. + + Move SourceBuffer::clear() call before the removal of the SourceBuffer from + SourceBufferList::m_list to avoid a use after free if m_list holds the last + reference. + + Test: http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html + + * Modules/mediasource/SourceBufferList.cpp: + (WebCore::SourceBufferList::remove): + +2012-08-30 Otto Derek Cheung <otcheung@rim.com> + + [BlackBerry] Modifying how IP domains are handled in Cookies + https://bugs.webkit.org/show_bug.cgi?id=95381 + + Reviewed by Rob Buis. + Internally reviewed by Joe Mason. + + Current implementation handles IP addresses like normal domains. + This makes invalid cross domain cookies possibe by setting cookie + domains to a suffix of the targeted IP. (ex. hackers on 11.121.61.97 + can set cookies to 61.97, so they show up on the targeted website of + 10.120.61.97) + + New Implementation is to detect IP addresses and treat them without + exploding them with the delimiter ".". That way, IP addresses will + be stored as a whole and other IPs won't have access to it. + + PR 130051 + + Manually tested by accessing a webpage via IP (hosted through + LAMP - ex:10.121.61.97) and tried to set cookies with domains that + are a suffix to the ip address (ex: .97, 121.61.97). + Also tried to set cookies to other ip addresses that "domain matches" + the IP address (ex. 11.121.61.97). Verified that they all failed. + + Tested using the cookies test page: http://browser.swlab.rim.net/test/cookies + + * platform/blackberry/CookieManager.cpp: + (WebCore::CookieManager::getRawCookies): + (WebCore::CookieManager::checkAndTreatCookie): + (WebCore::CookieManager::findOrCreateCookieMap): + * platform/blackberry/CookieManager.h: + * platform/blackberry/CookieParser.cpp: + (WebCore::CookieParser::CookieParser): + (WebCore::CookieParser::parseOneCookie): + * platform/blackberry/CookieParser.h: + (CookieParser): + * platform/blackberry/ParsedCookie.cpp: + (WebCore::ParsedCookie::ParsedCookie): + * platform/blackberry/ParsedCookie.h: + (WebCore::ParsedCookie::setDomain): + (WebCore::ParsedCookie::domainIsIPAddress): + (ParsedCookie): + +2012-08-30 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: [regression] ui: heap profiler: splitter between containment and retainment views has white background. + https://bugs.webkit.org/show_bug.cgi?id=95460 + + Reviewed by Yury Semikhatsky. + + it was regressed at r122332. + + * inspector/front-end/heapProfiler.css: + (.heap-snapshot-view .retainers-view-header): + +2012-08-30 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r127131. + http://trac.webkit.org/changeset/127131 + https://bugs.webkit.org/show_bug.cgi?id=95463 + + It makes the fast/regions/ test crash on Chromium (Requested + by jchaffraix on #webkit). + + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectMatchingRulesForList): + * rendering/InlineBox.cpp: + * rendering/InlineBox.h: + (WebCore): + (InlineBox): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addToLine): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + * rendering/RenderRegion.h: + (RenderRegion): + +2012-08-30 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: Some urls in CSS stylesheets cause errors when generating Computed Styles HTML + https://bugs.webkit.org/show_bug.cgi?id=95427 + + Reviewed by Vsevolod Vlasov. + + Pass the parent StylesSidebarPane into ComputedStylePropertiesSection to avoid referencing an undefined field. + Avoid duplicating the parent pane by externally setting the |data| field on style property sections. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules): + (WebInspector.StylesSidebarPane.prototype.addBlankSection): + (WebInspector.StylePropertiesSection.prototype.get pane): + (WebInspector.ComputedStylePropertiesSection): + (WebInspector.ComputedStylePropertiesSection.prototype.get pane): + (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate): + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): + +2012-08-30 Keishi Hattori <keishi@webkit.org> + + Tick marks don't match thumb when applying padding or border to input type=range + https://bugs.webkit.org/show_bug.cgi?id=93791 + + Reviewed by Kent Tamura. + + Tick marks don't match thumb when styling input type=range. This change + calculate tick mark positions from track element size. Bug 94915 handles + drawing the track inside the content area. + + Tests: fast/forms/datalist/input-appearance-range-with-padding-with-datalist.html + fast/forms/datalist/input-appearance-range-with-transform.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::sliderTrackElement): + (WebCore): + * html/HTMLInputElement.h: + (HTMLInputElement): + * html/InputType.h: + (WebCore::InputType::sliderTrackElement): + * html/RangeInputType.cpp: + (WebCore::RangeInputType::sliderTrackElement): + (WebCore): + * html/RangeInputType.h: + (RangeInputType): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::paintSliderTicks): rect's position is relative to + the transformed ancestor element. sliderBounds is absolute. We use them + to calculate the track element position relative to the transformed + ancestor element. + +2012-08-30 Julien Chaffraix <jchaffraix@webkit.org> + + Remove the now-unneeded invalidations in RenderTable::removeCaption + https://bugs.webkit.org/show_bug.cgi?id=94889 + + Reviewed by Abhishek Arya. + + Following bug 94842 and 95090, the invalidation code was pushed down to + RenderTableCaption. This made apparent that we did some invalidations that + were not needed. + + Refactoring covered by existing tests. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::removeCaption): + Removed setNeedsRecalcStyle() as it's unneeded now. It was probably needed back when + we didn't support multiple captions (see bug 58249) but the need was never documented + so you could wonder if it was really needed in the first place. + +2012-08-30 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: [regression] ui: selectors in heap profiler view have no arrows at the right side of the text. + https://bugs.webkit.org/show_bug.cgi?id=95455 + + Reviewed by Yury Semikhatsky. + + In console we use a span which wraps selectors and have necessary background. + + * inspector/front-end/HeapSnapshotView.js: + (WebInspector.HeapSnapshotView.prototype.get statusBarItems.appendArrowImage): + (WebInspector.HeapSnapshotView.prototype.get statusBarItems): + +2012-08-30 Andrew Lo <anlo@rim.com> + + [BlackBerry] LayerTiler needs to respect new setting for prefill rect. + https://bugs.webkit.org/show_bug.cgi?id=95446 + + Reviewed by Rob Buis. + + Internally reviewed by Arvid Nilsson. + Internal PR181637 + Use new prefill rectangle setting to determine which tiles should be + prefilled in LayerTiler. + + * platform/graphics/blackberry/LayerTiler.cpp: + (WebCore::LayerTiler::shouldPrefillTile): + +2012-08-29 Dirk Schulze <krit@webkit.org> + + Refactor WrapShape to Shape/BasicShape + https://bugs.webkit.org/show_bug.cgi?id=95411 + + Reviewed by Andreas Kling. + + The wrap shapes are currently specified by CSS3 Exclusions but are useful for other + CSS related proposals like CSS Masking as well. This is the first patch on a chain + of patches to refactor WrapShape to BasicShape. With this patch all relevant files + get renamend and the build systems updated. The classes will be renamend in a second + step. + + Just renaming of files. No new tests. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/BasicShapeFunctions.cpp: Renamed from Source/WebCore/css/WrapShapeFunctions.cpp. + (WebCore): + (WebCore::valueForWrapShape): + (WebCore::convertToLength): + (WebCore::wrapShapeForValue): + * css/BasicShapeFunctions.h: Renamed from Source/WebCore/css/WrapShapeFunctions.h. + (WebCore): + * css/CSSAllInOne.cpp: + * css/CSSBasicShapes.cpp: Renamed from Source/WebCore/css/CSSWrapShapes.cpp. + (WebCore): + (WebCore::CSSWrapShapeRectangle::cssText): + (WebCore::CSSWrapShapeCircle::cssText): + (WebCore::CSSWrapShapeEllipse::cssText): + (WebCore::CSSWrapShapePolygon::cssText): + * css/CSSBasicShapes.h: Renamed from Source/WebCore/css/CSSWrapShapes.h. + (WebCore): + (CSSWrapShape): + (WebCore::CSSWrapShape::~CSSWrapShape): + (WebCore::CSSWrapShape::CSSWrapShape): + (CSSWrapShapeRectangle): + (WebCore::CSSWrapShapeRectangle::create): + (WebCore::CSSWrapShapeRectangle::x): + (WebCore::CSSWrapShapeRectangle::y): + (WebCore::CSSWrapShapeRectangle::width): + (WebCore::CSSWrapShapeRectangle::height): + (WebCore::CSSWrapShapeRectangle::radiusX): + (WebCore::CSSWrapShapeRectangle::radiusY): + (WebCore::CSSWrapShapeRectangle::setX): + (WebCore::CSSWrapShapeRectangle::setY): + (WebCore::CSSWrapShapeRectangle::setWidth): + (WebCore::CSSWrapShapeRectangle::setHeight): + (WebCore::CSSWrapShapeRectangle::setRadiusX): + (WebCore::CSSWrapShapeRectangle::setRadiusY): + (WebCore::CSSWrapShapeRectangle::type): + (WebCore::CSSWrapShapeRectangle::CSSWrapShapeRectangle): + (CSSWrapShapeCircle): + (WebCore::CSSWrapShapeCircle::create): + (WebCore::CSSWrapShapeCircle::centerX): + (WebCore::CSSWrapShapeCircle::centerY): + (WebCore::CSSWrapShapeCircle::radius): + (WebCore::CSSWrapShapeCircle::setCenterX): + (WebCore::CSSWrapShapeCircle::setCenterY): + (WebCore::CSSWrapShapeCircle::setRadius): + (WebCore::CSSWrapShapeCircle::type): + (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle): + (CSSWrapShapeEllipse): + (WebCore::CSSWrapShapeEllipse::create): + (WebCore::CSSWrapShapeEllipse::centerX): + (WebCore::CSSWrapShapeEllipse::centerY): + (WebCore::CSSWrapShapeEllipse::radiusX): + (WebCore::CSSWrapShapeEllipse::radiusY): + (WebCore::CSSWrapShapeEllipse::setCenterX): + (WebCore::CSSWrapShapeEllipse::setCenterY): + (WebCore::CSSWrapShapeEllipse::setRadiusX): + (WebCore::CSSWrapShapeEllipse::setRadiusY): + (WebCore::CSSWrapShapeEllipse::type): + (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse): + (CSSWrapShapePolygon): + (WebCore::CSSWrapShapePolygon::create): + (WebCore::CSSWrapShapePolygon::appendPoint): + (WebCore::CSSWrapShapePolygon::getXAt): + (WebCore::CSSWrapShapePolygon::getYAt): + (WebCore::CSSWrapShapePolygon::values): + (WebCore::CSSWrapShapePolygon::setWindRule): + (WebCore::CSSWrapShapePolygon::windRule): + (WebCore::CSSWrapShapePolygon::type): + (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon): + * css/CSSComputedStyleDeclaration.cpp: + * css/CSSParser.cpp: + * css/CSSPrimitiveValue.cpp: + * css/StyleBuilder.cpp: + * rendering/style/BasicShapes.cpp: Renamed from Source/WebCore/rendering/style/WrapShapes.cpp. + (WebCore): + (WebCore::WrapShape::destroy): + * rendering/style/BasicShapes.h: Renamed from Source/WebCore/rendering/style/WrapShapes.h. + (WebCore): + (WrapShape): + (WebCore::WrapShape::deref): + (WebCore::WrapShape::type): + (WebCore::WrapShape::WrapShape): + (WrapShapeRectangle): + (WebCore::WrapShapeRectangle::create): + (WebCore::WrapShapeRectangle::x): + (WebCore::WrapShapeRectangle::y): + (WebCore::WrapShapeRectangle::width): + (WebCore::WrapShapeRectangle::height): + (WebCore::WrapShapeRectangle::cornerRadiusX): + (WebCore::WrapShapeRectangle::cornerRadiusY): + (WebCore::WrapShapeRectangle::setX): + (WebCore::WrapShapeRectangle::setY): + (WebCore::WrapShapeRectangle::setWidth): + (WebCore::WrapShapeRectangle::setHeight): + (WebCore::WrapShapeRectangle::setCornerRadiusX): + (WebCore::WrapShapeRectangle::setCornerRadiusY): + (WebCore::WrapShapeRectangle::WrapShapeRectangle): + (WrapShapeCircle): + (WebCore::WrapShapeCircle::create): + (WebCore::WrapShapeCircle::centerX): + (WebCore::WrapShapeCircle::centerY): + (WebCore::WrapShapeCircle::radius): + (WebCore::WrapShapeCircle::setCenterX): + (WebCore::WrapShapeCircle::setCenterY): + (WebCore::WrapShapeCircle::setRadius): + (WebCore::WrapShapeCircle::WrapShapeCircle): + (WrapShapeEllipse): + (WebCore::WrapShapeEllipse::create): + (WebCore::WrapShapeEllipse::centerX): + (WebCore::WrapShapeEllipse::centerY): + (WebCore::WrapShapeEllipse::radiusX): + (WebCore::WrapShapeEllipse::radiusY): + (WebCore::WrapShapeEllipse::setCenterX): + (WebCore::WrapShapeEllipse::setCenterY): + (WebCore::WrapShapeEllipse::setRadiusX): + (WebCore::WrapShapeEllipse::setRadiusY): + (WebCore::WrapShapeEllipse::WrapShapeEllipse): + (WrapShapePolygon): + (WebCore::WrapShapePolygon::create): + (WebCore::WrapShapePolygon::windRule): + (WebCore::WrapShapePolygon::values): + (WebCore::WrapShapePolygon::getXAt): + (WebCore::WrapShapePolygon::getYAt): + (WebCore::WrapShapePolygon::setWindRule): + (WebCore::WrapShapePolygon::appendPoint): + (WebCore::WrapShapePolygon::WrapShapePolygon): + * rendering/style/StyleRareNonInheritedData.h: + +2012-08-30 Andrei Onea <onea@adobe.com> + + [CSSRegions]Add support for text-shadow in region styling + https://bugs.webkit.org/show_bug.cgi?id=94472 + + Reviewed by David Hyatt. + + The CSSRegions spec allows region styling to be applied on the text-shadow property + as well. We need to also add this in WebKit. + + Test: fast/regions/region-style-text-shadow.html + + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectMatchingRulesForList): + Make sure we actually collect text-shadow property from parser in an @region rule. + * rendering/InlineBox.cpp: + (WebCore::InlineBox::styleInRegion): + (WebCore): + (WebCore::InlineBox::regionDuringLayout): + * rendering/InlineBox.h: + (WebCore): + (InlineBox): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addToLine): + Take into account region styling, so that "knownToHaveNoOverflow" is computed + properly. + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + Take into account region styling, so that the visual overflow rect is computed + properly. + * rendering/RenderRegion.h: + (RenderRegion): + Made computeStyleInRegion public. + +2012-08-30 Andreas Kling <kling@webkit.org> + + Element: Share code between setAttributeNode() and other attribute setters. + <http://webkit.org/b/95328> + + Reviewed by Antti Koivisto. + + Removed the specialized ElementAttributeData::replaceAttribute() that was only used for + replacing an existing Attr node on an Element. Instead, just use Element::setAttributeInternal() + like all the other attribute setters. + + * dom/Element.cpp: + (WebCore::Element::setAttributeNode): + * dom/ElementAttributeData.cpp: + * dom/ElementAttributeData.h: + (ElementAttributeData): + +2012-08-30 Xan Lopez <xlopez@igalia.com> + + 1.9.90 drops symbols, breaking compatibility + https://bugs.webkit.org/show_bug.cgi?id=93477 + + Reviewed by Martin Robinson. + + Add a bunch of compatibility methods to the GObject DOM bindings + to cope with recent renames. + + * bindings/gobject/WebKitDOMCustom.cpp: + (webkit_dom_html_element_get_class_list): + (webkit_dom_element_get_webkit_region_overflow): + (webkit_dom_webkit_named_flow_get_content_nodes): + (webkit_dom_webkit_named_flow_get_regions_by_content_node): + * bindings/gobject/WebKitDOMCustom.h: + +2012-08-29 Antti Koivisto <antti@apple.com> + + Cache and share parsed imported stylesheets + https://bugs.webkit.org/show_bug.cgi?id=95219 + + Reviewed by Andreas Kling. + + We currently cache and share parsed data structures of stylesheets loaded with <link>. We should do + the same with stylesheets loaded using @import rules as they are also fairly common. + + This patch adds support for caching and sharing stylesheets loaded using @import rules. Only leaf + stylesheets (that don't have @import rules themselves) can be cached for now. + + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::reattachStyleSheetContents): + (WebCore): + * css/CSSImportRule.h: + (CSSImportRule): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::willMutateRules): + (WebCore::CSSStyleSheet::reattachCSSOMWrappers): + * css/CSSStyleSheet.h: + (CSSStyleSheet): + * css/StyleRuleImport.cpp: + (WebCore::StyleRuleImport::setCSSStyleSheet): + (WebCore::StyleRuleImport::reattachStyleSheetContents): + (WebCore): + * css/StyleRuleImport.h: + (StyleRuleImport): + * loader/cache/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet): + +2012-08-30 Kangil Han <kangil.han@samsung.com> + + Fix compile warning when enable tiled backing store + https://bugs.webkit.org/show_bug.cgi?id=95422 + + Reviewed by Kentaro Hara. + + Fixed compile warning messages when enabled tiled backing store. + In case of TiledBackingStore, it was first thought about static_cast<unsigned>. + However, if minus value is assigned to the comparison, it would be critical. + So, it was modified as using int value in tiled coordinate calculation. + + * page/Frame.cpp: + (WebCore::Frame::tiledBackingStorePaintEnd): comparison between signed and unsigned integer expressions [-Wsign-compare] + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::invalidate): comparison between signed and unsigned integer expressions [-Wsign-compare] + (WebCore::TiledBackingStore::paint): comparison between signed and unsigned integer expressions [-Wsign-compare] + (WebCore::TiledBackingStore::coverageRatio): comparison between signed and unsigned integer expressions [-Wsign-compare] + (WebCore::TiledBackingStore::createTiles): comparison between signed and unsigned integer expressions [-Wsign-compare] + * platform/graphics/cairo/GLContext.cpp: + (WebCore::GLContext::createOffscreenContext): no return statement in function returning non-void [-Wreturn-type] + +2012-08-30 Anton Muhin <antonm@chromium.org> + + Heap-use-after-free in WebCore::ElementV8Internal::onclickAttrGetter + https://bugs.webkit.org/show_bug.cgi?id=94440 + + Reviewed by Adam Barth. + + The problem appears due to onerror callback which resets onclick attribute. + As a part of changing onclick attribute value, previous event listener + gets deref which led to its destruction and hence use-after-free. + Refing it in ::getListenerObject helps to prevent this unfortunate scenario. + + Test: fast/events/set-attribute-listener-window-onerror-crash.html + + * bindings/v8/V8AbstractEventListener.h: + (WebCore::V8AbstractEventListener::getListenerObject): + +2012-08-30 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: [Sources] Invisible right sidebar issue + https://bugs.webkit.org/show_bug.cgi?id=94924 + + Reviewed by Pavel Feldman. + + Debugger sidebar resizer is now hidden when sidebar is hidden. + Debugger sidebar show button is moved to the upper right corner in this case. + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._showDebuggerSidebar): + (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar): + * inspector/front-end/scriptsPanel.css: + (button.status-bar-item.scripts-debugger-show-hide-button): + (button.status-bar-item.scripts-debugger-show-hide-button:active): + (button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown): + (button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown:active): + (button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden): + (button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden:active): + +2012-08-30 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: move GeneratedImage members into its own cpp file + https://bugs.webkit.org/show_bug.cgi?id=95351 + + Reviewed by Yury Semikhatsky. + + It is trivial patch. The methods of GeneratedImage were in GeneratorGeneratedImage.cpp file. + It was Ok when it was a single method. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GeneratedImage.cpp: Added. + (WebCore): + (WebCore::GeneratedImage::computeIntrinsicDimensions): + (WebCore::GeneratedImage::reportMemoryUsage): + * platform/graphics/GeneratorGeneratedImage.cpp: + +2012-08-30 Patrick Gansterer <paroga@webkit.org> + + Build fix for WinCE after r126974. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::reportMemoryUsage): + +2012-08-30 Adam Barth <abarth@webkit.org> + + Replace uses of WTF::String::operator+= with StringBuilder + https://bugs.webkit.org/show_bug.cgi?id=95416 + + Reviewed by Benjamin Poulain. + + WTF::String::operator+= appears to be a sandtrap for contributors. The + vast majority of the callers are using very inefficient string + patterns. This patch removes the use of operator+= in favor of + StringBuilder. Eventually, I'd like to remove operator+= so that more + code doesn't fall into this trap. + + * Modules/websockets/WebSocketHandshake.cpp: + (WebCore::resourceName): + * html/HTMLAnchorElement.cpp: + (WebCore::appendServerMapMousePosition): + (WebCore::HTMLAnchorElement::handleClick): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::font): + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::addHTTPHeaderField): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::nameForLayer): + * rendering/RenderTreeAsText.cpp: + (WebCore::RenderTreeAsText::writeRenderObject): + (WebCore::nodePosition): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::setContent): + +2012-08-30 Shinya Kawanaka <shinyak@chromium.org> + + AuthorShadowDOM support for textarea element. + https://bugs.webkit.org/show_bug.cgi?id=91485 + + Reviewed by Dimitri Glazkov. + + We add AuthorShadowDOM support for textarea element. + + Unlike other replaced elements (e.g. meter, progress, img), we do not need to add + extra RenderBlock when we add AuthorShadowDOM. However, since inner element will not have + renderer when AuthorShadowDOM does not have any shadow insertion point, we have to check + the existence of the renderer of inner element. + + Tests: fast/dom/shadow/shadowdom-for-textarea-with-attribute.html + fast/dom/shadow/shadowdom-for-textarea-with-placeholder.html + fast/dom/shadow/shadowdom-for-textarea-with-style.html + fast/dom/shadow/shadowdom-for-textarea.html + + * dom/ShadowRoot.cpp: + (WebCore::allowsAuthorShadowRoot): Needs allow textarea to have AuthorShadowRoot. + * rendering/RenderTextControl.cpp: When AuthorShadowDOM does not have any insertion point, + innerTextElement() will not have any renderer. We have to tweak these renderers not to be crashed. + (WebCore::RenderTextControl::textBlockWidth): + (WebCore::RenderTextControl::updateFromElement): + (WebCore::RenderTextControl::computeLogicalHeight): + (WebCore::RenderTextControl::hitInnerTextElement): + (WebCore::RenderTextControl::computePreferredLogicalWidths): + +2012-08-29 Adam Barth <abarth@webkit.org> + + [V8] ScriptController::matchesCurrentContext duplicates code from ScriptController::currentWorldContext + https://bugs.webkit.org/show_bug.cgi?id=95156 + + Reviewed by Eric Seidel. + + matchesCurrentContext duplicated code from currentWorldContext in order + to avoid creating a new v8::Local handle in the (common) case that + we're already in the right context. This patch just exposes an accessor + for the underlying handle so that the bindings code can do this work + itself. + + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateToV8Converters): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::wrapSlow): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::wrapSlow): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::unsafeHandleToCurrentWorldContext): + (WebCore): + (WebCore::ScriptController::currentWorldContext): + * bindings/v8/ScriptController.h: + (ScriptController): + * bindings/v8/V8DOMWindowShell.h: + (WebCore::V8DOMWindowShell::context): + +2012-08-29 Nat Duca <nduca@chromium.org> + + [chromium] setNeedsAnimate should not cause commitRequested to become true + https://bugs.webkit.org/show_bug.cgi?id=95393 + + Reviewed by James Robinson. + + We use the commitRequested state to determine if the page has been damaged, which + then is used by the input flow control logic to coalesce input events. However, we + actually have two notions of commitRequested. At the CCLayerTreeHost level, commit + being requested means "we've changed the tree in some way." At the proxy level, it + means "we've sent a commit request to the impl thread." Without this patch, + we use the latter state to answer ::commitRequested. That causes setNeedsAnimate + to incorrectly cause the commitRequested bit to be set. + + This change separates the setNeedsCommit state from commitRequestSentToImplThread. + This allows us to correctly answer commitRequested in face of mixed animation and + invalidation requests. + + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::CCThreadProxy): + (WebCore::CCThreadProxy::setNeedsAnimate): + (WebCore::CCThreadProxy::setNeedsCommit): + (WebCore::CCThreadProxy::beginFrame): + * platform/graphics/chromium/cc/CCThreadProxy.h: + (CCThreadProxy): + +2012-08-29 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] REGRESSION(r126694): It broke the debug build + https://bugs.webkit.org/show_bug.cgi?id=95037 + + Unreviewed trivial build fix for debug builds. + + Don't pass WTFStrings through printf, use .ascii().data(). + + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore::StandardFilterProgram::StandardFilterProgram): + +2012-08-29 Rafael Brandao <rafael.lobo@openbossa.org> + + Fix assertion on Document::recalcStyle to not recalc style while painting + https://bugs.webkit.org/show_bug.cgi?id=95386 + + Reviewed by Eric Seidel. + + * dom/Document.cpp: Move assertion outside the if to reflect that safety check. + +2012-08-29 Aaron Colwell <acolwell@chromium.org> + + Add WebKit prefix to MediaSource, SourceBuffer, & SourceBufferList DOMWindow constructor attributes. + https://bugs.webkit.org/show_bug.cgi?id=95247 + + Reviewed by Eric Carlson. + + Add WebKit prefix to MediaSource, SourceBuffer, and SourceBufferList object constructor attributes. + + Covered by existing layout tests.. + + * page/DOMWindow.idl: + +2012-08-29 Nate Chapin <japhet@chromium.org> + + ProgressTracker never completes if iframe detached during parsing + https://bugs.webkit.org/show_bug.cgi?id=92272 + + Reviewed by Adam Barth. + + Add a simple helper class to FrameLoader to ensure progressStarted/progressCompleted calls are matched, + and balance the calls when the Frame is detached. + + No new tests, as this behavior has only been producing reliably by setting a breakpoint in a specific place. + + * loader/FrameLoader.cpp: + (FrameLoader::FrameProgressTracker): + (WebCore::FrameLoader::FrameProgressTracker::create): + (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker): + (WebCore::FrameLoader::FrameProgressTracker::progressStarted): + (WebCore::FrameLoader::FrameProgressTracker::progressCompleted): + (WebCore::FrameLoader::FrameProgressTracker::FrameProgressTracker): + (WebCore): + (WebCore::FrameLoader::init): + (WebCore::FrameLoader::prepareForLoadStart): + (WebCore::FrameLoader::clearProvisionalLoad): + (WebCore::FrameLoader::checkLoadCompleteForThisFrame): + (WebCore::FrameLoader::detachFromParent): + * loader/FrameLoader.h: + (FrameLoader): + +2012-08-29 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] Rename DateTimeFieldElement::FieldEventHandler to FieldOwner + https://bugs.webkit.org/show_bug.cgi?id=95280 + + Reviewed by Kent Tamura. + + This patch renames DateTimeFieldElement::FieldEventHandler to FieldOwner + for matching functionaly of class and class name to add functions like + focusOnNextField(). + + This patch affects ports which enables both ENABLE_INPUT_TYPE_TIME and + ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. + + This patch is a part of changing Shift+Tab focus navigation of + multiple fields input time UI, bug 95168. + + No new tests. This patch doesn't change behavior. + + * html/shadow/DateTimeEditElement.h: + (DateTimeEditElement): + * html/shadow/DateTimeFieldElement.cpp: + (WebCore::DateTimeFieldElement::FieldOwner::~FieldOwner): + (WebCore::DateTimeFieldElement::DateTimeFieldElement): + (WebCore::DateTimeFieldElement::focusOnNextField): + (WebCore::DateTimeFieldElement::updateVisibleValue): + * html/shadow/DateTimeFieldElement.h: + (FieldOwner): + (WebCore::DateTimeFieldElement::removeEventHandler): + (DateTimeFieldElement): + * html/shadow/DateTimeFieldElements.cpp: + (WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement): + (WebCore::DateTimeAMPMFieldElement::create): + (WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement): + (WebCore::DateTimeHourFieldElement::create): + (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): + (WebCore::DateTimeMillisecondFieldElement::create): + (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement): + (WebCore::DateTimeMinuteFieldElement::create): + (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement): + (WebCore::DateTimeSecondFieldElement::create): + * html/shadow/DateTimeFieldElements.h: + (DateTimeAMPMFieldElement): + (DateTimeHourFieldElement): + (DateTimeMillisecondFieldElement): + (DateTimeMinuteFieldElement): + (DateTimeSecondFieldElement): + * html/shadow/DateTimeNumericFieldElement.cpp: + (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): + * html/shadow/DateTimeNumericFieldElement.h: + (DateTimeNumericFieldElement): + * html/shadow/DateTimeSymbolicFieldElement.cpp: + (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement): + * html/shadow/DateTimeSymbolicFieldElement.h: + (DateTimeSymbolicFieldElement): + +2012-08-29 Dominic Mazzoni <dmazzoni@google.com> + + AX: Canvas should have a distinct role + https://bugs.webkit.org/show_bug.cgi?id=95248 + + Reviewed by Chris Fleizach. + + Add new role for a canvas element, and a method to determine if + a canvas has fallback content, so each platform can decide on the + appropriate role mapping to use. + + Test: accessibility/canvas-description-and-role.html + + * accessibility/AccessibilityNodeObject.cpp: + (WebCore::AccessibilityNodeObject::canvasHasFallbackContent): + (WebCore): + * accessibility/AccessibilityNodeObject.h: + (AccessibilityNodeObject): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isCanvas): + (WebCore::AccessibilityObject::canvasHasFallbackContent): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + (WebCore::AccessibilityRenderObject::canHaveChildren): + * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: + (atkRole): + * accessibility/mac/WebAccessibilityObjectWrapper.mm: + (createAccessibilityRoleMap): + (-[WebAccessibilityObjectWrapper role]): + +2012-08-29 Michael Saboff <msaboff@apple.com> + + use after free in WebCore::FileReader::doAbort + https://bugs.webkit.org/show_bug.cgi?id=91004 + + Reviewed by Jian Li. + + Added check in FileReader::abort to not process the abort if we aren't in the LOADING + state. This is per the FileAPI spec section 8.5.6 step #1. + + Tests: fast/files/file-reader-immediate-abort.html + fast/files/file-reader-done-reading-abort.html + + * fileapi/FileReader.cpp: + (WebCore::FileReader::abort): + +2012-08-29 Alex Sakhartchouk <alexst@chromium.org> + + [chromium] CCLayerTreeHost::finishCommitOnImplThread wrong setter order + https://bugs.webkit.org/show_bug.cgi?id=94828 + + Reviewed by Adrienne Walker. + + setDeviceScaleFactor affects maxScrollPosition, making sure it's properly updated. + This also removes setter order dependency. + + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::setDeviceScaleFactor): + +2012-08-29 James Robinson <jamesr@chromium.org> + + Unreviewed, rolling out r126956. + http://trac.webkit.org/changeset/126956 + https://bugs.webkit.org/show_bug.cgi?id=94721 + + Breaks several unit tests - see https://bugs.webkit.org/show_bug.cgi?id=95358 for instance. + + * platform/graphics/chromium/cc/CCScheduler.cpp: + (WebCore::CCScheduler::CCScheduler): + (WebCore::CCScheduler::beginFrameComplete): + (WebCore::CCScheduler::vsyncTick): + (WebCore::CCScheduler::processScheduledActions): + * platform/graphics/chromium/cc/CCScheduler.h: + (CCSchedulerClient): + (CCScheduler): + * platform/graphics/chromium/cc/CCTextureUpdateController.cpp: + (WebCore::CCTextureUpdateController::CCTextureUpdateController): + (WebCore::CCTextureUpdateController::hasMoreUpdates): + (WebCore): + (WebCore::CCTextureUpdateController::updateMoreTextures): + (WebCore::CCTextureUpdateController::onTimerFired): + (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining): + * platform/graphics/chromium/cc/CCTextureUpdateController.h: + (WebCore): + (WebCore::CCTextureUpdateController::create): + (CCTextureUpdateController): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::didLoseContextOnImplThread): + (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread): + (WebCore::CCThreadProxy::hasMoreResourceUpdates): + (WebCore): + (WebCore::CCThreadProxy::scheduledActionCommit): + * platform/graphics/chromium/cc/CCThreadProxy.h: + (WebCore): + +2012-08-29 James Robinson <jamesr@chromium.org> + + [chromium] Register/unregister contents layers with GraphicsLayerChromium + https://bugs.webkit.org/show_bug.cgi?id=95379 + + Reviewed by Adrienne Walker. + + Several composited layer types in WebCore are represented by a painted layer and a child "contents layer" that + represents some non-painted specific content type. For example, a composited video has a WebCore-painted layer + for CSS background and border effects and a child platform video layer backed by a WebVideoLayer with the output + of the video decoding pipeline. Cross-platform code associates the PlatformLayer from the various composited + systems with the right GraphicsLayer, but the object owning the layer and the GraphicsLayer holding the pointer + otherwise have no relationship. This makes shutdown a bit tricky since the object destroying the contents layer + has no direct way to notify the GraphicsLayer holding the contents layer pointer that it is going away. The + GraphicsLayer will be notified after the next style recalc that its contents layer is gone, but may need to do + any number of bookkeeping operations before that happens. + + On most platforms the PlatformLayer is refcounted, so the GraphicsLayer simply holds a ref to its contents layer + from the time it is orphaned until the next style recalc and compositing tree rebuild. In Chromium, however, + PlatformLayer is not refcounted. This adds an explicit registration mechanism for layers that may be contents + layers. A layer has to be registered with GraphicsLayerChromium before it can be used as a contents layer - + typically this is just done at creation - and unregistered before it is destroyed. + + Tests: fast/canvas/transformed-canvas-reset.html + platform/chromium/virtual/gpu/fast/canvas/transformed-canvas-reset.html + + * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: + (WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate): + (WebCore::createScrollbarLayer): + * platform/graphics/chromium/Canvas2DLayerBridge.cpp: + (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): + (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge): + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBufferPrivate::DrawingBufferPrivate): + (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::updateNames): + (WebCore::GraphicsLayerChromium::clearBackgroundColor): + (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay): + (WebCore::GraphicsLayerChromium::setContentsToImage): + (WebCore): + (WebCore::GraphicsLayerChromium::registerContentsLayer): + (WebCore::GraphicsLayerChromium::unregisterContentsLayer): + (WebCore::GraphicsLayerChromium::clearContentsLayerIfUnregistered): + (WebCore::GraphicsLayerChromium::setContentsTo): + (WebCore::GraphicsLayerChromium::updateChildList): + (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): + (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor): + (WebCore::GraphicsLayerChromium::updateContentsRect): + * platform/graphics/chromium/GraphicsLayerChromium.h: + (GraphicsLayerChromium): + +2012-08-29 Rafael Brandao <rafael.lobo@openbossa.org> + + [Texmap] CSS Transform flicks at the end of animation + https://bugs.webkit.org/show_bug.cgi?id=95347 + + Reviewed by Noam Rosenthal. + + * platform/graphics/GraphicsLayerAnimation.cpp: Check if the last loop has + been completed and then use 1.0 as normalized value for the progress, otherwise + it would work as if there was a new loop forward and then cycle the progress value. + +2012-08-29 Abhishek Arya <inferno@chromium.org> + + Crash in WebCore::StyleSheetContents::checkLoadCompleted. + https://bugs.webkit.org/show_bug.cgi?id=95106 + + Reviewed by Antti Koivisto. + + RefPtr StyleSheetContents since it can get blown away in script execution inside + sheetLoaded(). + + Test: fast/css/style-element-process-crash.html + + * css/StyleSheetContents.cpp: + (WebCore::StyleSheetContents::checkLoadCompleted): + +2012-08-29 José Dapena Paz <jdapena@igalia.com> + + [Gtk] Process Gtk 3.4 smooth scroll events properly. + https://bugs.webkit.org/show_bug.cgi?id=88070 + + Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that + provides detailed delta information. + + Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added + code to process properly the new direction GDK_SCROLL_SMOOTH and + its deltas. + + Reviewed by Martin Robinson. + + Test: fast/events/continuous-platform-wheelevent-in-scrolling-div.html + + * platform/gtk/PlatformWheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2012-08-29 Dana Jansens <danakj@chromium.org> + + [chromium] Remove HUD layer when rootLayer is set to null + https://bugs.webkit.org/show_bug.cgi?id=95257 + + Reviewed by James Robinson. + + When the rootLayer changes, remove the HUD layer from the old + root layer immediately. Then, during commit, set the hud layer + on the impl side only if there is a HUD layer present, and if + there is a rootLayer present for it to be a child of. + + Tests: CCHudWithRootLayerChange + + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::finishCommitOnImplThread): + (WebCore::CCLayerTreeHost::willCommit): + (WebCore::CCLayerTreeHost::setRootLayer): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (WebCore::CCLayerTreeHost::hudLayer): + (CCLayerTreeHost): + +2012-08-29 Roland Takacs <rtakacs@inf.u-szeged.hu>, Helder Correia <helder.correia@nokia.com> + + [Texmap] Move TextureMapperGL to use GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=78672 + + Reviewed by Noam Rosenthal. + + It is based on a previous patch by Helder Correia. + + TextureMapperGL (TMGL) includes direct GL calls and + GraphicsContext3D (GC3D) offers many conveniences over the + former approach: using existing CSS shader code, ANGLE for + shader compilation, reusing WebCore::Texture, having shaders and + textures that can delete themselves. + + A GC3D object is created by TMGL with the newly introduced + builder createForCurrentGLContext(), which in turn uses + the new RenderToCurrentGLContext flag underneath. + + TMGL's dependency on OpenGLShims.h was completely removed. + However, GC3D does not map every single GL constant. Thus, it's + important to document the following: + - GL_FALSE was mapped to false. + - GL_UNPACK_ROW_LENGTH, GL_UNPACK_SKIP_PIXELS, + GL_UNPACK_SKIP_ROWS, GL_TEXTURE_RECTANGLE_ARB, and + GL_UNSIGNED_INT_8_8_8_8_REV were locally defined in TMGL. + + The patch was originally developed by Helder Correia and finished + by Roland Takacs. + + No new tests, refactoring. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/texmap/TextureMapperGL.cpp: + (SharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::SharedGLData): + (WebCore::TextureMapperGLData::sharedGLData): + (WebCore::TextureMapperGLData::TextureMapperGLData): + (TextureMapperGLData): + (WebCore::scissorClip): + (WebCore::TextureMapperGL::ClipStack::apply): + (WebCore::TextureMapperGLData::initializeStencil): + (WebCore::TextureMapperGL::TextureMapperGL): + (WebCore::TextureMapperGL::beginPainting): + (WebCore::TextureMapperGL::endPainting): + (WebCore::TextureMapperGL::drawQuad): + (WebCore::TextureMapperGL::drawBorder): + (WebCore): + (WebCore::TextureMapperGL::drawTextureRectangleARB): + (WebCore::TextureMapperGL::drawTexture): + (WebCore::viewportMatrix): + (WebCore::TextureMapperGL::drawTextureWithAntialiasing): + (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): + (WebCore::BitmapTextureGL::didReset): + (WebCore::BitmapTextureGL::updateContents): + (WebCore::TextureMapperGL::drawFiltered): + (WebCore::BitmapTextureGL::initializeStencil): + (WebCore::BitmapTextureGL::clearIfNeeded): + (WebCore::BitmapTextureGL::createFboIfNeeded): + (WebCore::BitmapTextureGL::bind): + (WebCore::BitmapTextureGL::~BitmapTextureGL): + (WebCore::TextureMapperGL::bindDefaultSurface): + (WebCore::TextureMapperGL::beginScissorClip): + (WebCore::TextureMapperGL::beginClip): + (WebCore::TextureMapperGL::endClip): + (WebCore::TextureMapperGL::createTexture): + * platform/graphics/texmap/TextureMapperGL.h: + (WebCore::TextureMapperGL::graphicsContext3D): + (TextureMapperGL): + (ClipStack): + (WebCore::BitmapTextureGL::textureTarget): + (BitmapTextureGL): + (WebCore::BitmapTextureGL::BitmapTextureGL): + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore): + (WebCore::TextureMapperShaderManager::getShaderProgram): + (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgram::initializeProgram): + (WebCore::TextureMapperShaderProgram::getUniformLocation): + (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor): + (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple): + (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask): + (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask): + (WebCore::TextureMapperShaderManager::TextureMapperShaderManager): + (WebCore::StandardFilterProgram::~StandardFilterProgram): + (WebCore::StandardFilterProgram::StandardFilterProgram): + (WebCore::StandardFilterProgram::create): + (WebCore::StandardFilterProgram::prepare): + (WebCore::TextureMapperShaderManager::getShaderForFilter): + * platform/graphics/texmap/TextureMapperShaderManager.h: + (WebCore::TextureMapperShaderProgram::id): + (WebCore::TextureMapperShaderProgram::vertexAttrib): + (TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgram::matrixLocation): + (WebCore::TextureMapperShaderProgram::flipLocation): + (WebCore::TextureMapperShaderProgram::textureSizeLocation): + (WebCore::TextureMapperShaderProgram::sourceTextureLocation): + (WebCore::TextureMapperShaderProgram::maskTextureLocation): + (WebCore::TextureMapperShaderProgram::opacityLocation): + (WebCore::TextureMapperShaderProgram::isValidUniformLocation): + (StandardFilterProgram): + (WebCore::StandardFilterProgram::vertexAttrib): + (WebCore::StandardFilterProgram::texCoordAttrib): + (WebCore::StandardFilterProgram::textureUniform): + (WebCore::TextureMapperShaderProgramSimple::create): + (TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramRectSimple::create): + (TextureMapperShaderProgramRectSimple): + (WebCore::TextureMapperShaderProgramOpacityAndMask::create): + (TextureMapperShaderProgramOpacityAndMask): + (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create): + (TextureMapperShaderProgramRectOpacityAndMask): + (WebCore::TextureMapperShaderProgramSolidColor::create): + (WebCore::TextureMapperShaderProgramSolidColor::colorLocation): + (TextureMapperShaderProgramSolidColor): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::create): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadVerticesInTextureCoordinatesLocation): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadEdgesInScreenSpaceLocation): + (TextureMapperShaderProgramAntialiasingNoMask): + (WebCore::TextureMapperShaderManager::TextureMapperShaderManager): + (TextureMapperShaderManager): + +2012-08-29 Adam Barth <abarth@webkit.org> + + Convert more static Strings to use ASCIILiteral + https://bugs.webkit.org/show_bug.cgi?id=95313 + + Reviewed by Eric Seidel. + + This patch converts another swath of static strings to use ASCIILiteral + as recommended by http://trac.webkit.org/wiki/EfficientStrings. + + * Modules/mediasource/MediaSource.cpp: + (WebCore::MediaSource::openKeyword): + (WebCore): + (WebCore::MediaSource::closedKeyword): + (WebCore::MediaSource::endedKeyword): + * Modules/mediasource/MediaSource.h: + (MediaSource): + * Modules/navigatorcontentutils/NavigatorContentUtils.cpp: + (WebCore::customHandlersStateString): + * Modules/notifications/Notification.cpp: + (WebCore::Notification::permissionString): + * accessibility/AccessibilityMediaControls.cpp: + (WebCore::AccessibilityMediaControl::controlTypeName): + (WebCore::AccessibilityMediaControl::title): + (WebCore::AccessibilityMediaControlsContainer::elementTypeName): + (WebCore::AccessibilityMediaTimeline::helpText): + * bindings/js/JSInspectorFrontendHostCustom.cpp: + (WebCore::JSInspectorFrontendHost::platform): + (WebCore::JSInspectorFrontendHost::port): + * bindings/js/ScriptEventListener.cpp: + (WebCore::eventParameterName): + * bindings/v8/ScriptEventListener.cpp: + (WebCore::eventParameterName): + * css/CSSWrapShapes.cpp: + (WebCore::CSSWrapShapeRectangle::cssText): + (WebCore::CSSWrapShapeCircle::cssText): + (WebCore::CSSWrapShapeEllipse::cssText): + (WebCore::CSSWrapShapePolygon::cssText): + * css/StyleSheetContents.cpp: + (WebCore::StyleSheetContents::parseAuthorStyleSheet): + * dom/Document.cpp: + (WebCore::Document::readyState): + * editing/MarkupAccumulator.cpp: + (WebCore::appendCharactersReplacingEntities): + * editing/markup.cpp: + (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): + (WebCore::StyledMarkupAccumulator::styleNodeCloseTag): + (WebCore::StyledMarkupAccumulator::appendElement): + (WebCore::createMarkup): + * html/track/TextTrackCue.cpp: + (WebCore::startKeyword): + (WebCore::middleKeyword): + (WebCore::endKeyword): + (WebCore::verticalGrowingLeftKeyword): + (WebCore::verticalGrowingRightKeyword): + (WebCore::TextTrackCue::updateDisplayTree): + (WebCore::TextTrackCue::settingName): + * page/DiagnosticLoggingKeys.cpp: + (WebCore::DiagnosticLoggingKeys::mediaLoadedKey): + (WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey): + (WebCore::DiagnosticLoggingKeys::pluginLoadedKey): + (WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey): + (WebCore::DiagnosticLoggingKeys::pageContainsPluginKey): + (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey): + (WebCore::DiagnosticLoggingKeys::passKey): + (WebCore::DiagnosticLoggingKeys::failKey): + (WebCore::DiagnosticLoggingKeys::noopKey): + * page/PageVisibilityState.cpp: + (WebCore::pageVisibilityStateString): + * page/UserContentURLPattern.cpp: + (WebCore::UserContentURLPattern::parse): + * platform/KURLWTFURL.cpp: + (WebCore::KURL::string): + * platform/MIMETypeRegistry.cpp: + (WebCore::defaultMIMEType): + (WebCore::mimeTypeAssociationMap): + * platform/network/ContentTypeParser.cpp: + (WebCore::ContentTypeParser::parse): + * platform/network/win/DownloadBundleWin.cpp: + (WebCore::DownloadBundle::fileExtension): + * storage/StorageTracker.cpp: + (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): + * svg/SVGAnimatedBoolean.cpp: + (WebCore::SVGAnimatedBooleanAnimator::constructFromString): + +2012-08-29 David Hyatt <hyatt@apple.com> + + [New Multicolumn] Rename methods to prepare for proper pagination of columns + https://bugs.webkit.org/show_bug.cgi?id=95375 + + Reviewed by Simon Fraser. + + This patch is doing some renaming and refactoring to prepare for proper pagination of columns. Most of the renames + involve changing RenderFlowThread functions to exactly match the names of their RenderBlock callers. These names + end up being more accurate once the top of a page and remaining height on a page no longer have a 1:1 mapping to + the RenderRegion's dimensions. + + The renames/additions include: + renderRegionForLine -> regionAtBlockOffset + Justification: The block method is already called regionAtBlockOffset. No lines are involved, so line was + never the correct term to be passing in. + + regionLogicalXXXForLine -> pageLogicalXXXForOffset + Justification: Matches the RenderBlock callers, and it's more accurate to talk in terms of "pages" now that + we have RenderRegionSets that can contain multiple "pages" in a single region. + + logicalWidthForFlowThreadContent/logicalHeightForFlowThreadContent -> pageLogicalWidth/Height. + Justification: Makes it more clear we're talking about the width and height of a single page/column rather + than the width and height of the region itself. + + logicalHeightOfAllFlowThreadContent + This method is new and represents the total flow thread logical height that is consumed by the region. + It has to be distinguished from the pageLogicalHeight for a region since sets can have multiple pages/columns. + + Note with this patch we're essentially adopting the convention used by all of the pagination code besides regions + of referring to anything we paginate as a "page." I continue to believe this is the simplest way to talk about + these objects in code that is generically dealing with all three (like the breaking code in RenderBlock). + + Eventually we might adopt the fragment terminology in the latest CSS draft, in which case + RenderRegion would become RenderFragment, RenderFlowThread would become RenderFragmentedBlock, and uses of + the generic "page" would become "fragment" instead, but we'll wait for that draft's terminology to stabilize first + before switching away from the current names. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::hasNextPage): + (WebCore::RenderBlock::pageLogicalTopForOffset): + (WebCore::RenderBlock::pageLogicalHeightForOffset): + (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset): + (WebCore::RenderBlock::regionAtBlockOffset): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::layout): + (WebCore::RenderFlowThread::computeLogicalWidth): + (WebCore::RenderFlowThread::computeLogicalHeight): + (WebCore::RenderFlowThread::regionAtBlockOffset): + (WebCore::RenderFlowThread::pageLogicalTopForOffset): + (WebCore::RenderFlowThread::pageLogicalWidthForOffset): + (WebCore::RenderFlowThread::pageLogicalHeightForOffset): + (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset): + (WebCore::RenderFlowThread::mapFromFlowToRegion): + (WebCore::RenderFlowThread::setRegionRangeForBox): + * rendering/RenderFlowThread.h: + * rendering/RenderMultiColumnSet.h: + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::pageLogicalWidth): + (WebCore::RenderRegion::pageLogicalHeight): + (WebCore): + (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent): + (WebCore::RenderRegion::layout): + * rendering/RenderRegion.h: + (RenderRegion): + +2012-08-29 David Grogan <dgrogan@chromium.org> + + IndexedDB: Throw TypeError for invalid version parameters + https://bugs.webkit.org/show_bug.cgi?id=95143 + + Reviewed by Tony Chang. + + Still need to throw for -1, but developers are running into the string + scenario so handling that is more urgent. See + https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-html5/QvjsPbBdP4M + + Test: storage/indexeddb/intversion-bad-parameters.html + + * Modules/indexeddb/IDBFactory.cpp: + (WebCore::IDBFactory::open): + +2012-08-29 Alexandru Chiculita <achicu@adobe.com> + + [CSS Shaders] Use CSS transform parsing code within CSS Shader + https://bugs.webkit.org/show_bug.cgi?id=71401 + + Reviewed by Dean Jackson. + + Added computed style for the transform parameters of the custom() filter function. + Implemented the FECustomFilter bindings needed to push the value to an actual matrix for the CSS Shader. + + Note that transform parameters animations support will come in a different patch: + https://bugs.webkit.org/show_bug.cgi?id=94980. + + Test: css3/filters/custom/effect-custom-transform-parameters.html + + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::matrixTransformValue): Extracted code from computedTransform into a function, so that we + can reuse it. + (WebCore): + (WebCore::computedTransform): + (WebCore::valueForCustomFilterNumberParameter): Made all the custom filter related functions static to match + most of the other functions in this file. + (WebCore::valueForCustomFilterTransformParameter): + (WebCore::valueForCustomFilterParameter): + (WebCore::CSSComputedStyleDeclaration::valueForFilter): Needed the object size to compute the transform. + (WebCore::CSSComputedStyleDeclaration::valueForShadow): Added the const keyword. + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Passed in the object to the valueForFilter. + * css/CSSComputedStyleDeclaration.h: + (WebCore): + (CSSComputedStyleDeclaration): + * css/StyleResolver.cpp: + (StyleResolver::parseCustomFilterTransformParameter): + (StyleResolver::parseCustomFilterParameter): + (StyleResolver::parseCustomFilterParameterList): + * css/StyleResolver.h: + (StyleResolver): + * platform/graphics/filters/CustomFilterParameter.h: + * platform/graphics/filters/CustomFilterTransformParameter.h: Filter parameter wrapper for the FilterOperations. + (WebCore): + (CustomFilterTransformParameter): + (WebCore::CustomFilterTransformParameter::create): + (WebCore::CustomFilterTransformParameter::blend): Animations will come in future patch. + (WebCore::CustomFilterTransformParameter::operator==): + (WebCore::CustomFilterTransformParameter::applyTransform): + (WebCore::CustomFilterTransformParameter::operations): + (WebCore::CustomFilterTransformParameter::setOperations): + (WebCore::CustomFilterTransformParameter::CustomFilterTransformParameter): + * platform/graphics/filters/FECustomFilter.cpp: + (WebCore::FECustomFilter::bindProgramTransformParameter): + (WebCore): + (WebCore::FECustomFilter::bindProgramParameters): + * platform/graphics/filters/FECustomFilter.h: + (WebCore): + (FECustomFilter): + +2012-08-29 Rafael Brandao <rafael.lobo@openbossa.org> + + Use Animation::IterationCountInfinite instead of -1 when setting iteration count + https://bugs.webkit.org/show_bug.cgi?id=95339 + + Reviewed by Andreas Kling. + + * css/CSSToStyleMap.cpp: Replace -1 for the proper enum. + +2012-08-29 Martin Robinson <mrobinson@igalia.com> + + [TexMap][cairo] Add GC3D::RenderToCurrentGLContext support + https://bugs.webkit.org/show_bug.cgi?id=92441 + + Reviewed by Noam Rosenthal. + + Add a RenderToCurrentGLContext for the Cairo GraphicsContext3D. This will allow + TextureMapperGL to be rewritten on top of GraphicsContext3D by exposing the GC3D + interface for the widget's GL context. + + No new tests. This will be covered by the existing AC tests after the patch on + bug 78672 lands. + + * platform/graphics/cairo/GraphicsContext3DCairo.cpp: + (WebCore::GraphicsContext3D::GraphicsContext3D): Only create the offscreen + rendering buffers if we are rendering offscreen. Pass the rendering style to + the private data factory. + (WebCore::GraphicsContext3D::~GraphicsContext3D): Only destroy the offscreen + rendering buffers if we are rendering offscreen. + * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: + (WebCore::GraphicsContext3DPrivate::create): Pass the rendering style through. + (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): If we are using + a "current GL context" rendering style, we don't need to create a GL context. + We'll always just use the one that's currently active. + (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Assert that we only + do this with the offscreen rendering style. + * platform/graphics/cairo/GraphicsContext3DPrivate.h: Update method definitions + and expose the rendering style member GraphicsContext3D. + +2012-08-29 Martin Leutelt <martin.leutelt@basyskom.com> + + [Qt] Implement CompositeDifference + https://bugs.webkit.org/show_bug.cgi?id=77355 + + Reviewed by Noam Rosenthal. + + Add mapping for difference composite mode for + future use. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::toQtCompositionMode): + +2012-08-29 Rob Buis <rbuis@rim.com> + + [BlackBerry] Adjust wtf include header style + https://bugs.webkit.org/show_bug.cgi?id=95368 + + Reviewed by Yong Li. + + Switch to #include <wtf/...> like the other ports. + + * platform/graphics/blackberry/LayerFilterRenderer.h: + +2012-08-29 Eugene Klyuchnikov <eustas.bug@gmail.com> + + Web Inspector: Timeline: avoid "IPC message too big" on save/load + https://bugs.webkit.org/show_bug.cgi?id=91991 + + Reviewed by Alexander Pavlov. + + Motivation: Now timeline tries to save all data with one chunk. + Sometimes this causes "IPC message too big" error. + + Solution: Reuse Profiles/Heap save/load code. + + * inspector/front-end/FileUtils.js: + (WebInspector.OutputStream): Moved from HeapSnapshotView.js + (WebInspector.findBalancedCurlyBrackets): Moved from HeapSnapshotLoader.js + (WebInspector.ChunkedXHRReader): Added. + (WebInspector.ChunkedFileWriter): Moved from HeapSnapshotView.js + * inspector/front-end/HeapSnapshotLoader.js: Utility method moved to FileUtils.js + * inspector/front-end/HeapSnapshotView.js: IO specific classes moved to FileUtils.js + * inspector/front-end/HeapSnapshotWorker.js: Added dependency to FileUtils.js + * inspector/front-end/TimelineModel.js: Adopted chunked IO API. + (WebInspector.TimelineModelLoader): Class for chunked deserialization. + (WebInspector.TimelineModelWriteToFileDelegate): Chunked serializer. + +2012-08-29 David Hyatt <hyatt@apple.com> + + [New Multicolumn] Implement hit testing for columns. + https://bugs.webkit.org/show_bug.cgi?id=95367 + + Reviewed by Simon Fraser. + + Add an implementation of nodeAtPoint for RenderMultiColumnSet that works similarly to painting. + Multiple calls get made as you walk through the columns to hitTestFlowThreadPortionInRegion. + + * rendering/RenderMultiColumnSet.cpp: + (WebCore::RenderMultiColumnSet::nodeAtPoint): + (WebCore): + * rendering/RenderMultiColumnSet.h: + (RenderMultiColumnSet): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::nodeAtPoint): + +2012-08-29 Anna Cavender <annacc@chromium.org> + + Create a toggle button for closed captions. + https://bugs.webkit.org/show_bug.cgi?id=94395 + + Reviewed by Eric Carlson. + + This patch will create a button that toggles any captions or subtitles on or off. + + Test: media/video-controls-captions.html + + * css/mediaControlsChromium.css: + (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): + New style for new button. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + Initialize new variable for keeping track of user (button) disabled captions. + + (WebCore::HTMLMediaElement::loadTimerFired): + Rename configureNewTextTracks() to configureTextTracks(). + + (WebCore::HTMLMediaElement::prepareForLoad): + Do not set closedCaptionsVisible to false, we should instead honor the + checks for default out-of-band tracks. + + (WebCore::HTMLMediaElement::textTrackModeChanged): + Rename configureNewTextTracks() to configureTextTracks(). + + (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): + Add checks for when user has requested to see or not see captions. + + (WebCore::HTMLMediaElement::configureTextTracks): + Rename configureNewTextTracks() to configureTextTracks(). + + (WebCore::HTMLMediaElement::hasClosedCaptions): + Return true if we have any caption or subtitle text tracks. + + (WebCore::HTMLMediaElement::setClosedCaptionsVisible): + Update the text track display and the closed captions button when the + closed captions button is toggled. + + (WebCore::HTMLMediaElement::configureTextTrackDisplay): + If the visibility of any text tracks has changed, update the display and + the controls. + + (WebCore::HTMLMediaElement::updateClosedCaptionsControls): + New function that updates both the text track display and the closed + captions button. + + * html/HTMLMediaElement.h: + (HTMLMediaElement): + New function updateClosedCaptionsControls() + + Adding the button: + * html/shadow/MediaControlRootElementChromium.cpp: + (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): + (WebCore::MediaControlRootElementChromium::initializeControls): + (WebCore::MediaControlRootElementChromium::setMediaController): + (WebCore::MediaControlRootElementChromium::reset): + (WebCore::MediaControlRootElementChromium::reportedError): + (WebCore::MediaControlRootElementChromium::changedClosedCaptionsVisibility): + (WebCore::MediaControlRootElementChromium::createTextTrackDisplay): + * html/shadow/MediaControlRootElementChromium.h: + (WebCore): + (MediaControlRootElementChromium): + + Ensure that Linux and Windows render themes will support closed captions: + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore): + (WebCore::supportsClosedCaptioning): + * rendering/RenderThemeChromiumSkia.h: + (RenderThemeChromiumSkia): + +2012-08-29 Jessie Berlin <jberlin@apple.com> + + run-bindings-tests failing on Apple Mountain Lion Testers. + https://bugs.webkit.org/show_bug.cgi?id=95354 + + Reviewed by Eric Seidel. + + The binding tests were expecting incorrect results on Mac. The versions using the @property + syntax are correct for Leopard and above. CodeGeneratorObjC.pm was determining which syntax + to use based on the value of MACOSX_DEPLOYMENT_TARGET, which might not be set in the + environment the tests get run in but is correctly set by xcodebuild. + + * bindings/scripts/CodeGeneratorObjC.pm: + (GenerateHeader): + Remove the code to support Tiger and earlier and the reliance on MACOSX_DEPLOYMENT_TARGET. + * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h: + Update the expectations to expect the @property syntax (done with --reset-results). + * bindings/scripts/test/ObjC/DOMTestEventConstructor.h: + Ditto. + * bindings/scripts/test/ObjC/DOMTestException.h: + Ditto. + * bindings/scripts/test/ObjC/DOMTestInterface.h: + Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.h: + Ditto. + * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: + Ditto. + +2012-08-29 Vivek Galatage <vivekgalatage@gmail.com> + + Web Inspector: Refactor InspectorFrontendClientLocal to remove ScriptState as member + https://bugs.webkit.org/show_bug.cgi?id=95343 + + Reviewed by Yury Semikhatsky. + + The ScriptState is not required to be stored as a member to + InspectorFrontendClientLocal hence removing it as member. + + No new tests due to code refactoring. + + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): + (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal): + (WebCore::InspectorFrontendClientLocal::windowObjectCleared): + * inspector/InspectorFrontendClientLocal.h: + (WebCore): + (InspectorFrontendClientLocal): + +2012-08-28 Shawn Singh <shawnsingh@chromium.org> + + [chromium] Do not clip root layer's subtree to viewport + https://bugs.webkit.org/show_bug.cgi?id=95235 + + Reviewed by Adrienne Walker. + + The root layer's renderSurface already correctly clips everything + to the viewport's bounds. There are some useful reasons that we + should not cause the root layer itself to clip the subtree any + further, in particular so that surfaces can remain more cacheable, + and to make root layer semantics more homogeneous. + + Existing tests updated, and otherwise this change is already + covered by layout and unit tests. + + * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: + (WebCore::calculateDrawTransformsInternal): + +2012-08-28 David Hyatt <hyatt@apple.com> + + [New Multicolumn] Implement column contents painting. + https://bugs.webkit.org/show_bug.cgi?id=95251 + + Reviewed by Simon Fraser. + + This patch implements paintColumnContents for the new multicolumn blocks. There are a number of + improvements made over the current multi-column implementation. They include the fact that left + and right columns will now be unclipped, so contents of columns can actually spill out of the block now. + Outlines now also work properly. The contents of the first column and last column can also now overflow + visually out of the top and bottom of those columns respectively. + + * rendering/RenderMultiColumnSet.cpp: + (WebCore::RenderMultiColumnSet::flowThreadPortionRectAt): + This method returns the exact portion of the flow thread that matches the column dimensions. + The width and height are the column width and height. It is equivalent to RenderRegion::flowThreadPortionRect, + but is applied only for a specific column in the set. + + (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect): + This method expands the flowThreadPortionRect to unclip the edges of left and right columns, the top and + bottom edges of first and last columns, and it also expands the painting to go into half of the column + gap. It is analogous to RenderRegion::flowThreadPortionOverflowRect, but it's doing the right thing + for each individual column. + + (WebCore::RenderMultiColumnSet::paintColumnContents): + The implementation of column contents painting. Each column is iterated over, and the two rects above + are computed and passed in to RenderFlowThread::paintFlowThreadPortionInRegion. This code does the right + thing with offsets and clipping when handed these two rects and handles all of the rest. + + * rendering/RenderMultiColumnSet.h: + Declare the new functions that return the flow thread portion rects. + + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::flowThreadPortionOverflowRect): + (WebCore): + (WebCore::RenderRegion::overflowRectForFlowThreadPortion): + * rendering/RenderRegion.h: + (RenderRegion): + * rendering/RenderRegionSet.cpp: + Refactor this so that it can be invoked by column sets and operate on the first and last columns instead + of only being tied to the first and last regions. + + (WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded): + Fix a bug here where the flowThread.y() should not have been subtracted. We're in local flow thread + coordinates. + +2012-08-29 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126972. + http://trac.webkit.org/changeset/126972 + https://bugs.webkit.org/show_bug.cgi?id=95349 + + accessibility/canvas-description-and-role.html has been + failing consistently on several bots and Dominic needs some + time to investigate why (Requested by jchaffraix on #webkit). + + * accessibility/AccessibilityNodeObject.cpp: + * accessibility/AccessibilityNodeObject.h: + * accessibility/AccessibilityObject.h: + (AccessibilityObject): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityDescription): + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + (WebCore::AccessibilityRenderObject::canHaveChildren): + * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: + (atkRole): + * accessibility/mac/WebAccessibilityObjectWrapper.mm: + (createAccessibilityRoleMap): + (-[WebAccessibilityObjectWrapper role]): + +2012-08-29 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Minor ResourceScriptMapping polish. + https://bugs.webkit.org/show_bug.cgi?id=95350 + + Reviewed by Alexander Pavlov. + + Added some compiler annotations. + ResourceScriptMapping is no longer a UISourceCodeProvider, removed unused methods and obsolete compiler annotations. + + * inspector/front-end/ResourceScriptMapping.js: + (WebInspector.ResourceScriptMapping): + +2012-08-29 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Extract StylesSourceMapping from StylesUISourceCodeProvider. + https://bugs.webkit.org/show_bug.cgi?id=95345 + + Reviewed by Alexander Pavlov. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/compile-front-end.py: + * inspector/front-end/ResourceScriptMapping.js: + (WebInspector.ResourceScriptMapping): Drive-by: ResourceScriptMapping now uses workspace object passed in parameters, not the global one. + (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded): + (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced): + * inspector/front-end/StylesSourceMapping.js: Copied from Source/WebCore/inspector/front-end/StylesUISourceCodeProvider.js. + (WebInspector.StylesSourceMapping): + (WebInspector.StylesSourceMapping.prototype.addUISourceCode): + (WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation): + (WebInspector.StylesSourceMapping.prototype.uiLocationToRawLocation): + (WebInspector.StylesSourceMapping.prototype.reset): + * inspector/front-end/StylesUISourceCodeProvider.js: + (WebInspector.StylesUISourceCodeProvider): + (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded): + (WebInspector.StylesUISourceCodeProvider.prototype._reset): Drive-by: _populate is now called with setTimeout. + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2012-08-29 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: Page with @import and :last-child in an edited stylesheet will crash + https://bugs.webkit.org/show_bug.cgi?id=95324 + + Reviewed by Antti Koivisto. + + Ensure the destroyed StyleRules removal from StyleResolver by creating a separate RuleMutationScope for clearing the StyleSheetContents. + + Test: inspector/styles/import-pseudoclass-crash.html + + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::reparseStyleSheet): + +2012-08-29 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Turn workspace into a container of UiSourceCodes put in different projects. + https://bugs.webkit.org/show_bug.cgi?id=95335 + + Reviewed by Pavel Feldman. + + Workspace now contains a project that could be filled with uiSourceCodes. + Workspace project is still filled by script / style mappings as before. + The next step would be to extract NetworkUISourceCodeProvider. + + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + * inspector/front-end/CompilerScriptMapping.js: + (WebInspector.CompilerScriptMapping): + (WebInspector.CompilerScriptMapping.prototype._reset): + * inspector/front-end/DebuggerScriptMapping.js: + (WebInspector.DebuggerScriptMapping): + * inspector/front-end/ResourceScriptMapping.js: + (WebInspector.ResourceScriptMapping): + (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded): + (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced): + (WebInspector.ResourceScriptMapping.prototype._reset): + * inspector/front-end/RevisionHistoryView.js: + (WebInspector.RevisionHistoryView): + * inspector/front-end/SASSSourceMapping.js: + (WebInspector.SASSSourceMapping): + (_bindUISourceCode): + (rawLocationToUILocation): + (_reset): + * inspector/front-end/ScriptSnippetModel.js: + (WebInspector.ScriptSnippetModel): + (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet): + (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet): + (WebInspector.SnippetScriptMapping.prototype.addScript): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + * inspector/front-end/StylesUISourceCodeProvider.js: + (WebInspector.StylesUISourceCodeProvider): + (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded): + (WebInspector.StylesUISourceCodeProvider.prototype._reset): + * inspector/front-end/Workspace.js: + (WebInspector.WorkspaceController): + (WebInspector.WorkspaceController.prototype._mainFrameNavigated): + (WebInspector.Project): + (WebInspector.Project.prototype.reset): + (WebInspector.Project.prototype.addUISourceCode): + (WebInspector.Project.prototype.replaceUISourceCode): + (WebInspector.Project.prototype.removeUISourceCode): + (WebInspector.Project.prototype.uiSourceCodeForURL): + (WebInspector.Project.prototype.uiSourceCodes): + (WebInspector.Workspace): + (WebInspector.Workspace.prototype.uiSourceCodeForURL): + (WebInspector.Workspace.prototype.project): + (WebInspector.Workspace.prototype.uiSourceCodes): + * inspector/front-end/inspector.js: + +2012-08-29 Florin Malita <fmalita@chromium.org> + + Incorrect large-area clipping + https://bugs.webkit.org/show_bug.cgi?id=95197 + + Reviewed by Nikolas Zimmermann. + + ImageBuffers allocated for clipping and masking are clamped to kMaxImageBufferSize max + (4096x4096). In order to properly account for the scaling factor introduced by this + clamping, the repaintRect translation component needs to be pushed after the scaling + transform. + + Tests: svg/custom/clamped-masking-clipping-expected.svg + svg/custom/clamped-masking-clipping.svg + + * rendering/svg/SVGRenderingContext.cpp: + (WebCore::SVGRenderingContext::createImageBuffer): + +2012-08-29 Yury Semikhatsky <yurys@chromium.org> + + Web Inspector: unsafe static_cast in RetainedDOMInfo::IsEquivalent + https://bugs.webkit.org/show_bug.cgi?id=95315 + + Reviewed by Vsevolod Vlasov. + + * bindings/v8/RetainedDOMInfo.cpp: + (WebCore::RetainedDOMInfo::IsEquivalent): compare retained object info + labels before casting v8::RetainedObjectInfo to WebCore::RetainedObjectInfo + as the |other| object may not be a descendant of WebCore::RetainedObjectInfo. + +2012-08-29 Jochen Eisinger <jochen@chromium.org> + + REGRESSION(r126816): Missing includes when compiling without SVG + https://bugs.webkit.org/show_bug.cgi?id=95312 + + Reviewed by Eric Seidel. + + * rendering/FilterEffectRenderer.h: + * rendering/RenderLayerFilterInfo.h: + +2012-08-29 Adam Barth <abarth@webkit.org> + + Improve string efficiency using StringBuilder and StringOperations + https://bugs.webkit.org/show_bug.cgi?id=95304 + + Reviewed by Eric Seidel. + + As recommended by http://trac.webkit.org/wiki/EfficientStrings. + + * css/CSSLineBoxContainValue.cpp: + (WebCore::CSSLineBoxContainValue::customCssText): + * css/CSSPropertySourceData.cpp: + (WebCore::CSSPropertySourceData::toString): + * css/MediaList.cpp: + (WebCore::MediaQuerySet::mediaText): + * css/ShadowValue.cpp: + (WebCore::ShadowValue::customCssText): + * dom/MicroDataItemList.cpp: + (WebCore::MicroDataItemList::undefinedItemType): + * editing/HTMLInterchange.cpp: + (WebCore::convertedSpaceString): + +2012-08-29 James Robinson <jamesr@chromium.org> + + [chromium] Use floating point literals in expressions that initialize floats + https://bugs.webkit.org/show_bug.cgi?id=95293 + + Reviewed by Adam Barth. + + Visual studio's C4305, which is on for some chromium code, complains about these. + + * platform/graphics/chromium/cc/CCLayerSorter.cpp: + (WebCore::CCLayerSorter::createGraphEdges): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::scrollBy): + (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas): + +2012-08-29 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Extract StylesUISourceCodeProvider to separate file. + https://bugs.webkit.org/show_bug.cgi?id=95319 + + Reviewed by Alexander Pavlov. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: Also added WebGLProfiler files forgotten before. + * inspector/compile-front-end.py: + * inspector/front-end/StyleSource.js: + * inspector/front-end/StylesUISourceCodeProvider.js: Copied from Source/WebCore/inspector/front-end/StyleSource.js. + (WebInspector.StylesUISourceCodeProvider): + (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes): + (WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation): + (WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation): + (WebInspector.StylesUISourceCodeProvider.prototype._populate): + (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded): + (WebInspector.StylesUISourceCodeProvider.prototype.reset): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2012-08-29 Philip Rogers <pdr@google.com> + + Use SVGImage instead of cached image when drawing without a render tree. + https://bugs.webkit.org/show_bug.cgi?id=95002 + + Reviewed by Nikolas Zimmermann. + + Previously if we tried to use canvas.context2d.drawImage() with an SVG image + that was not in the render tree, we would crash. This patch changes this behavior + so that we use SVGImage::draw() to draw images that are not in the render tree. + + Test: svg/as-image/svg-canvas-draw-image-detached.html + + * svg/graphics/SVGImageCache.cpp: + (WebCore::SVGImageCache::requestedSizeAndScales): + (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer): + +2012-08-22 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails + https://bugs.webkit.org/show_bug.cgi?id=93897 + + Reviewed by Kenneth Rohde Christiansen. + + Before r125428 run-time methods (wrapped signals, slots or invokable + functions) were subclasses of JSInternalFunction and therefore real + function objects in the JavaScript sense. r125428 changed them to be + just callable objects, but they did not have Function.prototype as + prototype anymore for example nor was their name correct (resulting in + a layout test failure). + + This patch changes run-time methods back to being real function objects + that have a correct name and have Function.prototype in their prototype + change + + The objects returned by JSObjectMakeFunctionWithCallbackInjected are + light-weight internal function objects that do not support + JSObject{Set/Get}Private. Therefore we inject our own prototype right + before the Function.prototype prototype, which uses private data to + store a pointer to our C++ QtRuntimeMethod object. This complicates + the retrieval of the pointer to that instance slightly, which is why + this patch introduces the toRuntimeMethod convenience function that + looks up our prototype first and does a check for type-safety. + + At the same time the patch removes the length properties from the + run-time method itself as well as connect/disconnect. The length + property on a function signifies the number of arguments, but in all + three cases that number is actually variable, because of overloading. + That is why we choose not to expose it in the first place. + + In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a + JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be + either the result of JSObjectMake or the global object of a context ref + (AFAICS), which is ensured using an ASSERT. Objects created via + JSObjectMakeFunctionWithCalllback do not fall into the required + category, cause a failing assertion and can therefore not be stored in + the weak object map. + + Consequently this patch removes the use of JSWeakObjectMap again and + goes back to the old way of using the internal Weak<> API, for the time + being. In a future patch the storage will be simplified to not require + the use of a weak object map cache for the run-time methods anymore. + + * bridge/qt/qt_instance.cpp: Remove unused WeakMap code. + * bridge/qt/qt_instance.h: Remove method cache. + (QtInstance): + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::prototypeForSignalsAndSlots): + (JSC::Bindings::QtRuntimeMethod::call): + (JSC::Bindings::QtRuntimeMethod::jsObjectRef): + (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod): + (Bindings): + (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect): + * bridge/qt/qt_runtime.h: + (QtRuntimeMethod): Remove unused member variables. + +2012-08-29 Ilya Tikhonovsky <loislo@chromium.org> + + Unreviewed: Single line build fix. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::reportMemoryUsage): + +2012-08-24 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: NMI: Instrument WebCore part of the Image class hierarchy + https://bugs.webkit.org/show_bug.cgi?id=94959 + + Drive by fix: remove unused GeneratedImage.cpp + + Reviewed by Yury Semikhatsky. + + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::reportMemoryUsage): + (WebCore): + * html/HTMLImageElement.h: + (HTMLImageElement): + * loader/cache/CachedImage.cpp: + (WebCore::CachedImage::reportMemoryUsage): + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::reportMemoryUsage): + (WebCore): + * platform/graphics/BitmapImage.h: + (FrameData): + (BitmapImage): + * platform/graphics/CrossfadeGeneratedImage.cpp: + (WebCore::CrossfadeGeneratedImage::reportMemoryUsage): + (WebCore): + * platform/graphics/CrossfadeGeneratedImage.h: + (WebCore): + (CrossfadeGeneratedImage): + * platform/graphics/GeneratedImage.cpp: Removed. + * platform/graphics/GeneratedImage.h: + (GeneratedImage): + * platform/graphics/GeneratorGeneratedImage.cpp: + (WebCore::GeneratedImage::reportMemoryUsage): + (WebCore): + (WebCore::GeneratorGeneratedImage::reportMemoryUsage): + * platform/graphics/GeneratorGeneratedImage.h: + (GeneratorGeneratedImage): + * platform/graphics/Image.cpp: + (WebCore::Image::reportMemoryUsage): + (WebCore): + * platform/graphics/Image.h: + (WebCore): + (Image): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::reportMemoryUsage): + (WebCore): + * svg/graphics/SVGImage.h: + (SVGImage): + +2012-08-29 Dominic Mazzoni <dmazzoni@google.com> + + AX: Canvas should have a distinct role + https://bugs.webkit.org/show_bug.cgi?id=95248 + + Reviewed by Chris Fleizach. + + Add new role for a canvas element, and a method to determine if + a canvas has fallback content, so each platform can decide on the + appropriate role mapping to use. + + Test: accessibility/canvas-description-and-role.html + + * accessibility/AccessibilityNodeObject.cpp: + (WebCore::AccessibilityNodeObject::canvasHasFallbackContent): + (WebCore): + * accessibility/AccessibilityNodeObject.h: + (AccessibilityNodeObject): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isCanvas): + (WebCore::AccessibilityObject::canvasHasFallbackContent): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + (WebCore::AccessibilityRenderObject::canHaveChildren): + * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: + (atkRole): + * accessibility/mac/WebAccessibilityObjectWrapper.mm: + (createAccessibilityRoleMap): + (-[WebAccessibilityObjectWrapper role]): + +2012-08-29 Ryuan Choi <ryuan.choi@samsung.com> + + [EFL] Move several files to remove webkit1 dependency from WebCore. + https://bugs.webkit.org/show_bug.cgi?id=95264 + + Reviewed by Gyuyoung Kim. + + ColorChooserEfl.cpp, PopupMenuEfl.cpp and SearchPopupMenuEfl.cpp are WebKit1/Efl + specific files and they can not be shared with WebKit2/Efl. + + In order to remove WebKit dependency from WebCore, this patch moves them + to WebKit/efl/WebCoreSupport. + + No behavior change. Just a refactoring. + + * PlatformEfl.cmake: Removed files which moved from sources and WebKit/efl/WebCoreSupport from includes. + * WebCore.gypi: Ditto. + +2012-08-28 Dominic Mazzoni <dmazzoni@google.com> + + AX: Focusable elements without a role should not be ignored + https://bugs.webkit.org/show_bug.cgi?id=94302 + + Reviewed by Chris Fleizach. + + Changes the accessibility logic so that a generic element that's focusable is + not ignored for accessibility, and returns its inner text as its title. That way + if you Tab to the element, a reasonable accessibility notification is generated. + + One exception is the body element, because focusing the body is equivalent to + blurring the current focused element and does not result in a "focus" accessibility + notification. + + Also fixes logic that determined if an element was contentEditable by making + sure it catches the case with no attribute value (e.g. <div contentEditable>), + which also implies contentEditable=true according to the spec. + + Test: accessibility/focusable-div.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore): + (WebCore::nodeHasContentEditableAttributeSet): + (WebCore::AccessibilityRenderObject::title): + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + +2012-08-29 Adam Barth <abarth@webkit.org> + + Deploy ASCIILiteral hotness throughout WebCore + https://bugs.webkit.org/show_bug.cgi?id=95282 + + Reviewed by Eric Seidel. + + As recommended by http://trac.webkit.org/wiki/EfficientStrings. + This patch converts all the DEFINE_STATIC_LOCAL Strings. + + * Modules/indexeddb/IDBDatabase.cpp: + (WebCore::IDBDatabase::transaction): + * Modules/indexeddb/IDBIndex.cpp: + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::openKeyCursor): + * Modules/indexeddb/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::openCursor): + * Modules/mediastream/MediaStreamTrack.cpp: + (WebCore::MediaStreamTrack::kind): + * css/CSSPropertySourceData.cpp: + (WebCore::CSSPropertySourceData::toString): + * dom/Document.cpp: + (WebCore::Document::processHttpEquiv): + * dom/MicroDataItemList.cpp: + (WebCore::MicroDataItemList::undefinedItemType): + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::notifyFinished): + * editing/MarkupAccumulator.cpp: + (WebCore::MarkupAccumulator::shouldAddNamespaceElement): + * html/FormController.cpp: + (WebCore::formStateSignature): + * html/HTMLTrackElement.cpp: + (WebCore::HTMLTrackElement::canLoadUrl): + * html/ImageInputType.cpp: + (WebCore::ImageInputType::appendFormData): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::getImageData): + * html/parser/XSSAuditor.cpp: + (WebCore::XSSAuditor::init): + (WebCore::XSSAuditor::filterToken): + (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected): + * inspector/InspectorCSSAgent.cpp: + (WebCore::computePseudoClassMask): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::sourceMapURLForScript): + * inspector/InspectorIndexedDBAgent.cpp: + (WebCore): + * inspector/InspectorOverlay.cpp: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::setPropertyText): + (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): + * loader/ImageLoader.cpp: + (WebCore::ImageLoader::notifyFinished): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + * loader/TextTrackLoader.cpp: + (WebCore::TextTrackLoader::corsPolicyPreventedLoad): + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::defaultDatabaseFilename): + * page/ContentSecurityPolicy.cpp: + (WebCore::CSPDirectiveList::allowJavaScriptURLs): + (WebCore::CSPDirectiveList::allowInlineEventHandlers): + (WebCore::CSPDirectiveList::allowInlineScript): + (WebCore::CSPDirectiveList::allowInlineStyle): + (WebCore::CSPDirectiveList::allowEval): + (WebCore::CSPDirectiveList::allowScriptNonce): + (WebCore::CSPDirectiveList::allowScriptFromSource): + (WebCore::CSPDirectiveList::allowObjectFromSource): + (WebCore::CSPDirectiveList::allowChildFrameFromSource): + (WebCore::CSPDirectiveList::allowImageFromSource): + (WebCore::CSPDirectiveList::allowStyleFromSource): + (WebCore::CSPDirectiveList::allowFontFromSource): + (WebCore::CSPDirectiveList::allowMediaFromSource): + (WebCore::CSPDirectiveList::allowConnectToSource): + (WebCore::CSPDirectiveList::allowFormAction): + (WebCore::CSPDirectiveList::addDirective): + * page/Page.cpp: + (WebCore::Page::groupName): + * platform/animation/Animation.cpp: + (WebCore::Animation::initialAnimationName): + * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: + (WebCore::CookieDatabaseBackingStore::upgradeTableIfNeeded): + * platform/blackberry/RenderThemeBlackBerry.cpp: + (WebCore::RenderThemeBlackBerry::defaultGUIFont): + * platform/chromium/ClipboardUtilitiesChromium.cpp: + (WebCore::replaceNewlinesWithWindowsStyleNewlines): + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::systemFont): + * platform/graphics/filters/CustomFilterCompiledProgram.cpp: + (WebCore): + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::replaceNewlinesWithWindowsStyleNewlines): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::defaultGUIFont): + * svg/SVGAngle.cpp: + (WebCore::SVGAngle::valueAsString): + * svg/SVGTransform.cpp: + (WebCore::SVGTransform::transformTypePrefixForParsing): + * xml/parser/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::nextToken): + * xml/parser/XMLTreeBuilder.cpp: + (WebCore::XMLTreeBuilder::processXMLEntity): + +2012-08-28 Adam Barth <abarth@webkit.org> + + Deploy ASCIILiteral and StringBuilder in more places in WebCore + https://bugs.webkit.org/show_bug.cgi?id=95291 + + Reviewed by Benjamin Poulain. + + I wanted to deploy ASCIILiteral in more places in WebCore, but there's + a bunch of code that should be using StringBuilder, which I couldn't + resist deploying as well. + + * Modules/mediastream/PeerConnection00.cpp: + (WebCore::PeerConnection00::createIceOptions): + * bindings/js/JSBlobCustom.cpp: + (WebCore::JSBlobConstructor::constructJSBlob): + * bindings/v8/V8LazyEventListener.cpp: + (WebCore::V8LazyEventListener::prepareListenerObject): + * bindings/v8/custom/V8BlobCustom.cpp: + (WebCore::V8Blob::constructorCallback): + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::customCssText): + * css/CSSCrossfadeValue.cpp: + (WebCore::CSSCrossfadeValue::customCssText): + * css/CSSPageRule.cpp: + (WebCore::CSSPageRule::selectorText): + * css/CSSSelector.cpp: + (WebCore::CSSSelector::selectorText): + * editing/EditorCommand.cpp: + (WebCore::executeToggleStyleInList): + * editing/SmartReplaceICU.cpp: + (WebCore::getSmartSet): + * editing/markup.cpp: + (WebCore::fillContainerFromString): + * html/HTMLTitleElement.cpp: + (WebCore::HTMLTitleElement::text): + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::didFailLoading): + * page/EventSource.cpp: + (WebCore::EventSource::didReceiveResponse): + * platform/blackberry/LocalizedStringsBlackBerry.cpp: + (WebCore::platformLanguage): + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::animationNameForTransition): + * platform/network/blackberry/rss/RSSAtomParser.cpp: + (WebCore::RSSAtomParser::parseContent): + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::open): + (WebCore::SQLiteDatabase::setFullsync): + (WebCore::SQLiteDatabase::maximumSize): + (WebCore::SQLiteDatabase::pageSize): + (WebCore::SQLiteDatabase::freeSpaceSize): + (WebCore::SQLiteDatabase::totalSize): + (WebCore::SQLiteDatabase::tableExists): + (WebCore::SQLiteDatabase::clearAllTables): + (WebCore::SQLiteDatabase::runVacuumCommand): + (WebCore::SQLiteDatabase::runIncrementalVacuumCommand): + (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum): + * platform/win/FileSystemWin.cpp: + (WebCore::bundleName): + (WebCore::storageDirectory): + * plugins/PluginStream.cpp: + (WebCore::PluginStream::startStream): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::setTextFromOption): + +2012-08-29 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] Make HTMLInputElement::blur()/focus() override-able by input type + https://bugs.webkit.org/show_bug.cgi?id=95279 + + Reviewed by Hajime Morrita. + + This patch allows HTMLInputElement::focus() and blur() functions to be + override-able. + + This patch is part of Shift+Tab focus navigation change for multiple + field time input UI, bug 95168. + + No new tests. This patch doesn't change behavior. + + * dom/Element.h: + (WebCore::Element): Changed blur() to virtual function. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::blur): Added to call InputType::blur(). + (WebCore::HTMLInputElement::defaultBlur): Added for default implementation of blur(). + (WebCore::HTMLInputElement::defaultFocus): Added for default implementation of focus(). + (WebCore::HTMLInputElement::focus): Added to call InputType::focus() + * html/HTMLInputElement.h: + (HTMLInputElement): Added declarations of blur(), defaultBlur(), defaultFocus() and focus(). + * html/InputType.cpp: + (WebCore::InputType::blur): Added to call HTMLInputElement::defaultBlur() as default implementation. + (WebCore::InputType::focus): Added to call HTMLInputElement::defaultFocus() as default implementation. + * html/InputType.h: + (InputType): Added declarations of blur(), and focus(). + +2012-08-29 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126963. + http://trac.webkit.org/changeset/126963 + https://bugs.webkit.org/show_bug.cgi?id=95298 + + Does not compile with clang (Requested by abarth on #webkit). + + * html/HTMLInputElement.cpp: + * html/HTMLInputElement.h: + (HTMLInputElement): + * html/InputType.cpp: + * html/InputType.h: + (InputType): + +2012-08-28 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] Make HTMLInputElement::blur()/focus() override-able by input type + https://bugs.webkit.org/show_bug.cgi?id=95279 + + Reviewed by Hajime Morrita. + + This patch allows HTMLInputElement::focus() and blur() functions to be + override-able. + + This patch is part of Shift+Tab focus navigation change for multiple + field time input UI, bug 95168. + + No new tests. This patch doesn't change behavior. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::blur): Added to call InputType::blur(). + (WebCore::HTMLInputElement::defaultBlur): Added for default implementation of blur(). + (WebCore::HTMLInputElement::defaultFocus): Added for default implementation of focus(). + (WebCore::HTMLInputElement::focus): Added to call InputType::focus() + * html/HTMLInputElement.h: + (HTMLInputElement): Added declarations of blur(), defaultBlur(), defaultFocus() and focus(). + * html/InputType.cpp: + (WebCore::InputType::blur): Added to call HTMLInputElement::defaultBlur() as default implementation. + (WebCore::InputType::focus): Added to call HTMLInputElement::defaultFocus() as default implementation. + * html/InputType.h: + (InputType): Added declarations of blur(), and focus(). + +2012-08-28 Geoffrey Garen <ggaren@apple.com> + + Added JSScope::objectInScope(), and refactored callers to use it + https://bugs.webkit.org/show_bug.cgi?id=95281 + + Reviewed by Gavin Barraclough. + + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + (WebCore::JSJavaScriptCallFrame::scopeChain): + (WebCore::JSJavaScriptCallFrame::scopeType): + +2012-08-28 Andrei Bucur <abucur@adobe.com> + + Layout Test fast/repaint/japanese-rl-selection-repaint-in-regions.html is failing after r126304 + https://bugs.webkit.org/show_bug.cgi?id=94730 + + Reviewed by Adam Barth. + + Having an intermediary node between the named flow renderers and the view may introduce subtle bugs that are hard to track. Also it doesn't fix + the pointless destruction of a RenderNamedFlowThread in some special cases (e.g. region->detach, destroy flow thread, region->attach, recreate flow + thread). + This patch proposes a new way of lazily destroying the renderers for NULL named flows, at layout time. When a renderer has no content nodes or regions + attached, its named flow is considered to be in the NULL state. When starting a layout process it is a good time to go through the renderers of the + NULL named flows and destroy them. + + Tests: No functional change, the old tests should pass without issues. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/WebKitNamedFlow.cpp: + (WebCore::WebKitNamedFlow::getRegionsByContent): + (WebCore::WebKitNamedFlow::getRegions): + (WebCore::WebKitNamedFlow::setRenderer): + * rendering/FlowThreadController.cpp: + (WebCore::FlowThreadController::FlowThreadController): + (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): + (WebCore::FlowThreadController::layoutRenderNamedFlowThreads): + * rendering/FlowThreadController.h: + (WebCore): + (FlowThreadController): + * rendering/RenderFlowThreadContainer.cpp: Removed. + * rendering/RenderFlowThreadContainer.h: Removed. + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): + (WebCore::RenderNamedFlowThread::~RenderNamedFlowThread): + (WebCore::RenderNamedFlowThread::addRegionToThread): + (WebCore::RenderNamedFlowThread::removeRegionFromThread): + (WebCore::RenderNamedFlowThread::registerNamedFlowContentNode): + (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode): + (WebCore::RenderNamedFlowThread::setMarkForDestruction): + (WebCore): + (WebCore::RenderNamedFlowThread::resetMarkForDestruction): + (WebCore::RenderNamedFlowThread::isMarkedForDestruction): + * rendering/RenderNamedFlowThread.h: + (RenderNamedFlowThread): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::markContainingBlocksForLayout): + * rendering/RenderObject.h: + +2012-08-28 Kenichi Ishibashi <bashi@chromium.org> + + style->fontMetrics() should be available when setting line-height + https://bugs.webkit.org/show_bug.cgi?id=93327 + + Reviewed by Darin Adler. + + Setting line-height assumes the fontMetrics are available for the affected font, but + the fontMetrics won't be available immediately after setting other properties like + font-size. Call styleResolver->updateFont() before setting line-height to update fontMetrics. + + Added a test case to fast/canvas/crash-set-font.html. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setFont): + Call styleResolver->updateFont() before styleResolver->applyPropertyToCurrentStyle(CSSPropertyLineHeight,...) + +2012-08-28 David Reveman <reveman@chromium.org> + + [Chromium] Scheduler will never process a commit until it receives a vsync tick. + https://bugs.webkit.org/show_bug.cgi?id=94721 + + Reviewed by James Robinson. + + Add updateResourcesComplete callback to CCScheduler and use this to + indicate completion of texture updates instead of calling + CCSchedulerClient::hasMoreResourceUpdates when receiving a vsync tick. + + Unit tests: CCTextureUpdateControllerTest.UpdateMoreTextures + CCTextureUpdateControllerTest.HasMoreUpdates + CCTextureUpdateControllerTest.UpdatesCompleteInFiniteTime + + * platform/graphics/chromium/cc/CCScheduler.cpp: + (WebCore::CCScheduler::CCScheduler): + (WebCore::CCScheduler::beginFrameComplete): + (WebCore::CCScheduler::vsyncTick): + (WebCore::CCScheduler::updateResourcesComplete): + (WebCore): + (WebCore::CCScheduler::processScheduledActions): + * platform/graphics/chromium/cc/CCScheduler.h: + (CCSchedulerClient): + (CCScheduler): + * platform/graphics/chromium/cc/CCTextureUpdateController.cpp: + (WebCore::CCTextureUpdateController::CCTextureUpdateController): + (WebCore::CCTextureUpdateController::updateMoreTextures): + (WebCore::CCTextureUpdateController::discardUploads): + (WebCore::CCTextureUpdateController::onTimerFired): + (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining): + * platform/graphics/chromium/cc/CCTextureUpdateController.h: + (CCTextureUpdateControllerClient): + (WebCore::CCTextureUpdateControllerClient::~CCTextureUpdateControllerClient): + (WebCore): + (WebCore::CCTextureUpdateController::create): + (CCTextureUpdateController): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::didLoseContextOnImplThread): + (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread): + (WebCore::CCThreadProxy::scheduledActionCommit): + (WebCore::CCThreadProxy::updateTexturesCompleted): + (WebCore): + * platform/graphics/chromium/cc/CCThreadProxy.h: + (WebCore): + +2012-08-28 John Bates <jbates@google.com> + + [Chromium] Update some compositor trace events + https://bugs.webkit.org/show_bug.cgi?id=95275 + + Reviewed by James Robinson. + + * platform/graphics/chromium/cc/CCFrameRateController.cpp: + (WebCore::CCFrameRateController::setActive): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::onVSyncParametersChanged): + +2012-08-28 Adam Barth <abarth@webkit.org> + + crypto.getRandomValues should throw an exception when given a big array + https://bugs.webkit.org/show_bug.cgi?id=95269 + + Reviewed by Eric Seidel. + + The W3C Web Cryptography Working Group has taken up specifying + window.crypto. The latest draft calls for getRandomValues to throw an + exception when given an array that's large. + + Test: security/crypto-random-values-limits.html + + * page/Crypto.cpp: + (WebCore::Crypto::getRandomValues): + +2012-08-28 Tom Sepez <tsepez@chromium.org> + + CSP doesn't turn off eval, etc. in Web Workers + https://bugs.webkit.org/show_bug.cgi?id=93392 + + Reviewed by Adam Barth. + + On the JSC side, the blocking of eval() in workers was handled correctly, so it is + a matter of adding calls check the policy for setTimeout and SetInterval. On the v8 + side, it is a matter of handling the above, plus eval(). + + On the v8 side, the v8 context isn't available when the callers want to disable eval. + Rather than creating it earlier, which is problematic, remember the setting in the + WorkerContextExecutionProxy and apply before the next call to its evaluate() method. + + Tests: http/tests/security/contentSecurityPolicy/worker-eval-blocked.html + http/tests/security/contentSecurityPolicy/worker-function-function-blocked.html + + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::setTimeout): + (WebCore::JSWorkerContext::setInterval): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): + (WebCore::WorkerContextExecutionProxy::evaluate): + (WebCore::WorkerContextExecutionProxy::setEvalAllowed): + (WebCore): + * bindings/v8/WorkerContextExecutionProxy.h: + (WorkerContextExecutionProxy): + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::disableEval): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::SetTimeoutOrInterval): + +2012-08-28 Aaron Colwell <acolwell@chromium.org> + + Make MediaSource event dispatch asynchronous. + https://bugs.webkit.org/show_bug.cgi?id=95217 + + Reviewed by Eric Carlson. + + Update MediaSource & SourceBufferList to use a GenericEventQueue to dispatch events + instead of using synchronous dispatch. + + Test: http/tests/media/media-source/video-media-source-async-events.html + + * Modules/mediasource/MediaSource.cpp: + (WebCore::MediaSource::MediaSource): Create GenericEventQueue & pass a pointer to SourceBufferList. + (WebCore::MediaSource::addSourceBuffer): + (WebCore::MediaSource::setReadyState): Updated to use new scheduleEvent() helper method. + (WebCore::MediaSource::scheduleEvent): New method for creating events and adding them to the event queue. + (WebCore): + * Modules/mediasource/MediaSource.h: Added GenericEventQueue member and scheduleEvent() signature. + (MediaSource): + * Modules/mediasource/SourceBufferList.cpp: + (WebCore::SourceBufferList::SourceBufferList): + (WebCore::SourceBufferList::remove): + (WebCore::SourceBufferList::createAndFireEvent): Updated to queue events instead of synchronously dispatch them. + * Modules/mediasource/SourceBufferList.h: + (WebCore): + (WebCore::SourceBufferList::create): + (SourceBufferList): + +2012-08-28 Leandro Gracia Gil <leandrogracia@chromium.org> + + Content detection should not disrupt the page behaviour + https://bugs.webkit.org/show_bug.cgi?id=94727 + + Reviewed by Adam Barth. + + Tested by WebViewTest::DetectContentAroundPosition. + + * dom/Node.cpp: + (WebCore::Node::willRespondToTouchEvents): checks if a node listens to touch events. Very similar to willRespondToMouseClickEvents. + (WebCore): + * dom/Node.h: + (Node): + +2012-08-28 Simon Fraser <simon.fraser@apple.com> + + Handle sticky that overflows its container + https://bugs.webkit.org/show_bug.cgi?id=95260 + + Reviewed by Ojan Vafai. + + When an element with position:sticky overflows its container, + don't have the sticky code push it back inside that container. + It will just never get offset in the sticky direction. + + Test: fast/css/sticky/sticky-overflowing.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::stickyPositionOffset): + +2012-08-28 Mark Pilgrim <pilgrim@chromium.org> + + [Chromium] Remove decodeAudioFileData from PlatformSupport + https://bugs.webkit.org/show_bug.cgi?id=95250 + + Reviewed by Adam Barth. + + Part of a refactoring series. See tracking bug 82948. + + * platform/audio/chromium/AudioBusChromium.cpp: + (WebCore::decodeAudioFileData): + (WebCore): + (WebCore::AudioBus::loadPlatformResource): + (WebCore::createBusFromInMemoryAudioFile): + * platform/chromium/PlatformSupport.h: + (PlatformSupport): + +2012-08-27 Alexandru Chiculita <achicu@adobe.com> + + [CSS Filters] Filters should render using sRGB until the specification says how it works + https://bugs.webkit.org/show_bug.cgi?id=94372 + + Reviewed by Dirk Schulze. + + The short-hand version of the CSS Filters should render using sRGB until a CSS property is added + to allow choosing the color space to be used when computing the filters. + For now I've just made all the CSS filters use sRGB by defualt. Note that this change has no effect on SVG filters. + + Test: css3/filters/null-effect-check.html + + * rendering/FilterEffectRenderer.cpp: + (WebCore::FilterEffectRenderer::build): + +2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126914. + http://trac.webkit.org/changeset/126914 + https://bugs.webkit.org/show_bug.cgi?id=95239 + + it breaks everything and fixes nothing (Requested by pizlo on + #webkit). + + * Modules/geolocation/Geolocation.cpp: + (WebCore::Geolocation::Watchers::find): + (WebCore::Geolocation::Watchers::remove): + * Modules/indexeddb/IDBDatabase.cpp: + (WebCore::IDBDatabase::objectStoreNames): + * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::metadata): + * Modules/indexeddb/IDBFactoryBackendImpl.cpp: + (WebCore::IDBFactoryBackendImpl::deleteDatabase): + (WebCore::IDBFactoryBackendImpl::openBackingStore): + (WebCore::IDBFactoryBackendImpl::open): + * Modules/indexeddb/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::indexNames): + (WebCore::IDBObjectStore::put): + (WebCore::IDBObjectStore::index): + (WebCore::IDBObjectStore::deleteIndex): + * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::metadata): + (WebCore::makeIndexWriters): + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + * Modules/indexeddb/IDBTransaction.cpp: + (WebCore::IDBTransaction::objectStore): + (WebCore::IDBTransaction::objectStoreDeleted): + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::dispatchEvent): + * Modules/webdatabase/AbstractDatabase.cpp: + (WebCore::AbstractDatabase::performOpenAndVerify): + * Modules/webdatabase/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::interruptAllDatabasesForContext): + * Modules/webdatabase/OriginUsageRecord.cpp: + (WebCore::OriginUsageRecord::diskUsage): + * Modules/webdatabase/SQLTransactionCoordinator.cpp: + (WebCore::SQLTransactionCoordinator::acquireLock): + (WebCore::SQLTransactionCoordinator::releaseLock): + (WebCore::SQLTransactionCoordinator::shutdown): + * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: + (WebCore::DatabaseTracker::interruptAllDatabasesForContext): + * Modules/webdatabase/chromium/QuotaTracker.cpp: + (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin): + (WebCore::QuotaTracker::updateDatabaseSize): + * Modules/websockets/WebSocketDeflateFramer.cpp: + (WebCore::WebSocketExtensionDeflateFrame::processResponse): + * Modules/websockets/WebSocketExtensionDispatcher.cpp: + (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension): + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::~AXObjectCache): + * bindings/gobject/DOMObjectCache.cpp: + (WebKit::DOMObjectCache::clearByFrame): + * bindings/js/DOMObjectHashTableMap.h: + (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): + (WebCore::DOMObjectHashTableMap::get): + * bindings/js/JSDOMBinding.cpp: + (WebCore::cacheDOMStructure): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::visitChildren): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::getDOMConstructor): + * bindings/js/PageScriptDebugServer.cpp: + (WebCore::PageScriptDebugServer::addListener): + (WebCore::PageScriptDebugServer::removeListener): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::~ScriptController): + (WebCore::ScriptController::clearWindowShell): + (WebCore::ScriptController::attachDebugger): + (WebCore::ScriptController::updateDocument): + (WebCore::ScriptController::createRootObject): + (WebCore::ScriptController::collectIsolatedContexts): + (WebCore::ScriptController::cleanupScriptObjectsForPlugin): + (WebCore::ScriptController::clearScriptObjects): + * bindings/js/ScriptController.h: + (WebCore::ScriptController::windowShell): + (WebCore::ScriptController::existingWindowShell): + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + (WebCore::ScriptDebugServer::hasBreakpoint): + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::checkForDuplicate): + (WebCore::CloneSerializer::dumpIfTerminal): + (WebCore::CloneSerializer::write): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateImplementation): + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::V8Float64Array::GetRawTemplate): + (WebCore::V8Float64Array::GetTemplate): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::GetRawTemplate): + (WebCore::V8TestActiveDOMObject::GetTemplate): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: + (WebCore::V8TestCustomNamedGetter::GetRawTemplate): + (WebCore::V8TestCustomNamedGetter::GetTemplate): + * bindings/scripts/test/V8/V8TestEventConstructor.cpp: + (WebCore::V8TestEventConstructor::GetRawTemplate): + (WebCore::V8TestEventConstructor::GetTemplate): + * bindings/scripts/test/V8/V8TestEventTarget.cpp: + (WebCore::V8TestEventTarget::GetRawTemplate): + (WebCore::V8TestEventTarget::GetTemplate): + * bindings/scripts/test/V8/V8TestException.cpp: + (WebCore::V8TestException::GetRawTemplate): + (WebCore::V8TestException::GetTemplate): + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::V8TestInterface::GetRawTemplate): + (WebCore::V8TestInterface::GetTemplate): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::GetRawTemplate): + (WebCore::V8TestMediaQueryListListener::GetTemplate): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructor::GetRawTemplate): + (WebCore::V8TestNamedConstructor::GetTemplate): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::GetRawTemplate): + (WebCore::V8TestNode::GetTemplate): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::V8TestObj::GetRawTemplate): + (WebCore::V8TestObj::GetTemplate): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate): + (WebCore::V8TestSerializedScriptValueInterface::GetTemplate): + * bindings/v8/DOMWrapperWorld.cpp: + (WebCore::DOMWrapperWorld::deallocate): + (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld): + * bindings/v8/NPV8Object.cpp: + (WebCore::freeV8NPObject): + (WebCore::npCreateV8ScriptObject): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::clearScriptObjects): + (WebCore::ScriptController::resetIsolatedWorlds): + (WebCore::ScriptController::evaluateInIsolatedWorld): + (WebCore::ScriptController::setIsolatedWorldSecurityOrigin): + (WebCore::ScriptController::cleanupScriptObjectsForPlugin): + (WebCore::ScriptController::collectIsolatedContexts): + * bindings/v8/SerializedScriptValue.cpp: + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::removeIfPresent): + (WebCore::WeakReferenceMap::visit): + * bindings/v8/V8GCController.cpp: + (WebCore::enumerateGlobalHandles): + * bindings/v8/V8PerContextData.cpp: + (WebCore::V8PerContextData::dispose): + * bindings/v8/npruntime.cpp: + * bridge/IdentifierRep.cpp: + (WebCore::IdentifierRep::get): + * bridge/NP_jsobject.cpp: + (ObjectMap::add): + (ObjectMap::remove): + * bridge/jni/jsc/JavaClassJSC.cpp: + (JavaClass::~JavaClass): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::WeakMap::set): + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::canvasChanged): + (WebCore::CSSCanvasValue::canvasResized): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::counterToCSSValue): + * css/CSSCrossfadeValue.cpp: + (WebCore::CSSCrossfadeValue::crossfadeChanged): + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + (WebCore::CSSFontSelector::getFontData): + * css/CSSImageGeneratorValue.cpp: + (WebCore::CSSImageGeneratorValue::addClient): + (WebCore::CSSImageGeneratorValue::removeClient): + (WebCore::CSSImageGeneratorValue::getImage): + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::getFontData): + * css/CSSSelector.cpp: + (WebCore::CSSSelector::parsePseudoType): + * css/CSSValuePool.cpp: + (WebCore::CSSValuePool::createColorValue): + (WebCore::CSSValuePool::createFontFamilyValue): + (WebCore::CSSValuePool::createFontFaceValue): + * css/PropertySetCSSStyleDeclaration.cpp: + (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM): + * css/StyleBuilder.cpp: + (WebCore::ApplyPropertyCounter::applyInheritValue): + (WebCore::ApplyPropertyCounter::applyValue): + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectFeatures): + (WebCore::StyleResolver::ruleSetForScope): + (WebCore::StyleResolver::appendAuthorStylesheets): + (WebCore::StyleResolver::sweepMatchedPropertiesCache): + (WebCore::StyleResolver::collectMatchingRulesForList): + * css/StyleSheetContents.cpp: + (WebCore::StyleSheetContents::parserAddNamespace): + (WebCore::StyleSheetContents::determineNamespace): + * dom/CheckedRadioButtons.cpp: + (WebCore::CheckedRadioButtons::addButton): + (WebCore::CheckedRadioButtons::removeButton): + * dom/ChildListMutationScope.cpp: + (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel): + * dom/Document.cpp: + (WebCore::Document::pageGroupUserSheets): + (WebCore::Document::windowNamedItems): + (WebCore::Document::documentNamedItems): + (WebCore::Document::getCSSCanvasElement): + * dom/DocumentMarkerController.cpp: + (WebCore::DocumentMarkerController::markerContainingPoint): + (WebCore::DocumentMarkerController::renderedRectsForMarkers): + (WebCore::DocumentMarkerController::removeMarkers): + (WebCore::DocumentMarkerController::repaintMarkers): + (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect): + (WebCore::DocumentMarkerController::showMarkers): + * dom/DocumentOrderedMap.cpp: + (WebCore::DocumentOrderedMap::remove): + * dom/ElementAttributeData.cpp: + (WebCore::ensureAttrListForElement): + * dom/EventDispatcher.cpp: + (WebCore::EventRelatedTargetAdjuster::findRelatedTarget): + * dom/EventListenerMap.cpp: + (WebCore::EventListenerMap::eventTypes): + (WebCore::EventListenerMap::add): + (WebCore::EventListenerMap::remove): + (WebCore::EventListenerMap::find): + (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup): + (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget): + (WebCore::EventListenerIterator::nextListener): + * dom/IdTargetObserverRegistry.cpp: + (WebCore::IdTargetObserverRegistry::addObserver): + (WebCore::IdTargetObserverRegistry::removeObserver): + * dom/MemoryInstrumentation.h: + (WebCore::MemoryInstrumentation::addInstrumentedMapEntries): + (WebCore::MemoryInstrumentation::addInstrumentedMapValues): + * dom/MutationObserverInterestGroup.cpp: + (WebCore::MutationObserverInterestGroup::isOldValueRequested): + (WebCore::MutationObserverInterestGroup::enqueueMutationRecord): + * dom/Node.cpp: + (WebCore::Node::dumpStatistics): + (WebCore::Node::clearRareData): + (WebCore::NodeListsNodeData::invalidateCaches): + (WebCore::Node::collectMatchingObserversForMutation): + * dom/NodeRareData.h: + (WebCore::NodeListsNodeData::addCacheWithAtomicName): + (WebCore::NodeListsNodeData::addCacheWithName): + (WebCore::NodeListsNodeData::addCacheWithQualifiedName): + (WebCore::NodeListsNodeData::adoptTreeScope): + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): + (WebCore::ScriptExecutionContext::stopActiveDOMObjects): + (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval): + * dom/SelectorQuery.cpp: + (WebCore::SelectorQueryCache::add): + * dom/SpaceSplitString.cpp: + (WebCore::SpaceSplitStringData::create): + * dom/StyledElement.cpp: + (WebCore::StyledElement::updateAttributeStyle): + * editing/mac/AlternativeTextUIController.mm: + (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext): + * html/FormController.cpp: + (WebCore::SavedFormState::serializeTo): + (WebCore::SavedFormState::appendControlState): + (WebCore::SavedFormState::takeControlState): + (WebCore::SavedFormState::getReferencedFilePaths): + (WebCore::FormKeyGenerator::formKey): + (WebCore::FormController::createSavedFormStateMap): + (WebCore::FormController::formElementsState): + (WebCore::FormController::takeStateForFormElement): + (WebCore::FormController::getReferencedFilePaths): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollectionCacheBase::append): + * html/canvas/WebGLFramebuffer.cpp: + (WebCore::WebGLFramebuffer::getAttachment): + (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer): + (WebCore::WebGLFramebuffer::checkStatus): + (WebCore::WebGLFramebuffer::deleteObjectImpl): + (WebCore::WebGLFramebuffer::initializeAttachments): + * inspector/CodeGeneratorInspector.py: + * inspector/DOMPatchSupport.cpp: + (WebCore::DOMPatchSupport::diff): + (WebCore::DOMPatchSupport::innerPatchChildren): + (WebCore::DOMPatchSupport::removeChildAndMoveToNew): + * inspector/InjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::injectedScriptForId): + (WebCore::InjectedScriptManager::injectedScriptIdFor): + (WebCore::InjectedScriptManager::discardInjectedScriptsFor): + (WebCore::InjectedScriptManager::releaseObjectGroup): + (WebCore::InjectedScriptManager::injectedScriptFor): + * inspector/InspectorCSSAgent.cpp: + (WebCore::SelectorProfile::commitSelector): + (WebCore::SelectorProfile::commitSelectorTime): + (WebCore::SelectorProfile::toInspectorObject): + (WebCore::InspectorCSSAgent::forcePseudoState): + (WebCore::InspectorCSSAgent::asInspectorStyleSheet): + (WebCore::InspectorCSSAgent::assertStyleSheetForId): + (WebCore::InspectorCSSAgent::didRemoveDOMNode): + (WebCore::InspectorCSSAgent::didModifyDOMAttr): + (WebCore::InspectorCSSAgent::resetPseudoStates): + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::stopTiming): + (WebCore::InspectorConsoleAgent::count): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::nodeForId): + (WebCore::InspectorDOMAgent::performSearch): + (WebCore::InspectorDOMAgent::getSearchResults): + * inspector/InspectorDOMDebuggerAgent.cpp: + (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest): + * inspector/InspectorDOMStorageAgent.cpp: + (WebCore::InspectorDOMStorageAgent::clearFrontend): + (WebCore::InspectorDOMStorageAgent::enable): + (WebCore::InspectorDOMStorageAgent::storageId): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): + (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache): + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::enable): + (WebCore::InspectorDatabaseAgent::databaseId): + (WebCore::InspectorDatabaseAgent::findByFileName): + (WebCore::InspectorDatabaseAgent::databaseForId): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::searchInContent): + (WebCore::InspectorDebuggerAgent::getScriptSource): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorIndexedDBAgent.cpp: + (WebCore): + * inspector/InspectorMemoryAgent.cpp: + (WebCore): + * inspector/InspectorPageAgent.cpp: + (WebCore::cachedResourcesForFrame): + (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): + (WebCore::InspectorPageAgent::frameDetached): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::getProfileHeaders): + (WebCore): + (WebCore::InspectorProfilerAgent::getProfile): + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForHeaders): + (WebCore::InspectorResourceAgent::willSendRequest): + * inspector/InspectorState.cpp: + (WebCore::InspectorState::getBoolean): + (WebCore::InspectorState::getString): + (WebCore::InspectorState::getLong): + (WebCore::InspectorState::getDouble): + (WebCore::InspectorState::getObject): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::styleWithProperties): + (WebCore::InspectorStyleSheet::inspectorStyleForId): + * inspector/InspectorValues.cpp: + (WebCore::InspectorObjectBase::get): + (WebCore::InspectorObjectBase::writeJSON): + * inspector/InspectorWorkerAgent.cpp: + (WebCore::InspectorWorkerAgent::workerContextTerminated): + (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers): + (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels): + * inspector/NetworkResourcesData.cpp: + (WebCore::NetworkResourcesData::removeCachedResource): + (WebCore::NetworkResourcesData::clear): + * loader/CrossOriginAccessControl.cpp: + (WebCore::isSimpleCrossOriginAccessRequest): + (WebCore::createAccessControlPreflightRequest): + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): + (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::getSubresources): + (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + * loader/ResourceLoadScheduler.cpp: + (WebCore::ResourceLoadScheduler::servePendingRequests): + * loader/appcache/ApplicationCache.cpp: + (WebCore::ApplicationCache::removeResource): + (WebCore::ApplicationCache::clearStorageID): + (WebCore::ApplicationCache::dump): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): + (WebCore::ApplicationCacheGroup::startLoadingEntry): + (WebCore::ApplicationCacheGroup::addEntry): + * loader/appcache/ApplicationCacheHost.cpp: + (WebCore::ApplicationCacheHost::fillResourceList): + * loader/appcache/ApplicationCacheResource.cpp: + (WebCore::ApplicationCacheResource::estimatedSizeInStorage): + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): + (WebCore::ApplicationCacheStorage::cacheGroupForURL): + (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): + (WebCore::ApplicationCacheStorage::store): + (WebCore::ApplicationCacheStorage::empty): + (WebCore::ApplicationCacheStorage::storeCopyOfCache): + * loader/archive/ArchiveFactory.cpp: + (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): + * loader/cache/CachedRawResource.cpp: + (WebCore::CachedRawResource::canReuse): + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::switchClientsToRevalidatedResource): + (WebCore::CachedResource::updateResponseAfterRevalidation): + * loader/cache/CachedResourceClientWalker.h: + (WebCore::CachedResourceClientWalker::CachedResourceClientWalker): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::setAutoLoadImages): + (WebCore::CachedResourceLoader::removeCachedResource): + (WebCore::CachedResourceLoader::garbageCollectDocumentResources): + (WebCore::CachedResourceLoader::reportMemoryUsage): + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::removeResourcesWithOrigin): + (WebCore::MemoryCache::getOriginsWithCache): + (WebCore::MemoryCache::getStatistics): + (WebCore::MemoryCache::reportMemoryUsage): + (WebCore::MemoryCache::setDisabled): + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::removeAllIcons): + (WebCore::IconDatabase::iconRecordCountWithData): + (WebCore::IconDatabase::performPendingRetainAndReleaseOperations): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): + (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleTouchEvent): + * page/Frame.cpp: + (WebCore::Frame::injectUserScripts): + * page/PageGroup.cpp: + (WebCore::PageGroup::pageGroup): + (WebCore::PageGroup::closeLocalStorage): + (WebCore::PageGroup::clearLocalStorageForAllOrigins): + (WebCore::PageGroup::clearLocalStorageForOrigin): + (WebCore::PageGroup::syncLocalStorage): + (WebCore::PageGroup::addUserScriptToWorld): + (WebCore::PageGroup::addUserStyleSheetToWorld): + (WebCore::PageGroup::removeUserScriptFromWorld): + (WebCore::PageGroup::removeUserStyleSheetFromWorld): + * page/PageSerializer.cpp: + (WebCore::PageSerializer::urlForBlankFrame): + * page/SecurityPolicy.cpp: + (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry): + (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry): + * page/Settings.cpp: + (WebCore::setGenericFontFamilyMap): + (WebCore::getGenericFontFamilyForScript): + * page/SpeechInput.cpp: + (WebCore::SpeechInput::registerListener): + * page/WindowFeatures.cpp: + (WebCore::WindowFeatures::boolFeature): + (WebCore::WindowFeatures::floatFeature): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateAnimations): + (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument): + (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument): + (WebCore::AnimationControllerPrivate::numberOfActiveAnimations): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::clearRenderer): + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::getAnimatedStyle): + (WebCore::CompositeAnimation::setAnimating): + (WebCore::CompositeAnimation::timeToNextService): + (WebCore::CompositeAnimation::getAnimationForProperty): + (WebCore::CompositeAnimation::suspendAnimations): + (WebCore::CompositeAnimation::resumeAnimations): + (WebCore::CompositeAnimation::overrideImplicitAnimations): + (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): + (WebCore::CompositeAnimation::isAnimatingProperty): + (WebCore::CompositeAnimation::numberOfActiveAnimations): + * platform/Language.cpp: + (WebCore::languageDidChange): + * platform/MIMETypeRegistry.cpp: + (WebCore::MIMETypeRegistry::getNormalizedMIMEType): + * platform/audio/HRTFElevation.cpp: + (WebCore::getConcatenatedImpulseResponsesForSubject): + * platform/blackberry/CookieManager.cpp: + (WebCore::CookieManager::generateHtmlFragmentForCookies): + (WebCore::CookieManager::removeAllCookies): + * platform/blackberry/CookieMap.cpp: + (WebCore::CookieMap::removeOldestCookie): + (WebCore::CookieMap::getAllChildCookies): + * platform/cf/BinaryPropertyList.cpp: + (WebCore::BinaryPropertyListPlan::writeIntegerArray): + * platform/chromium/support/WebHTTPLoadInfo.cpp: + (WebKit::addHeader): + * platform/chromium/support/WebURLRequest.cpp: + (WebKit::WebURLRequest::visitHTTPHeaderFields): + * platform/chromium/support/WebURLResponse.cpp: + (WebKit::WebURLResponse::addHTTPHeaderField): + (WebKit::WebURLResponse::visitHTTPHeaderFields): + * platform/graphics/DisplayRefreshMonitor.cpp: + (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient): + (WebCore::DisplayRefreshMonitorManager::unregisterClient): + * platform/graphics/FontCache.cpp: + (WebCore::FontCache::getCachedFontPlatformData): + (WebCore::FontCache::getVerticalData): + (WebCore::FontCache::getCachedFontData): + (WebCore::FontCache::releaseFontData): + (WebCore::FontCache::purgeInactiveFontData): + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::treeGlyphPageCount): + (WebCore::GlyphPageTreeNode::pageCount): + (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): + (WebCore::GlyphPageTreeNode::pruneTreeFontData): + (WebCore::GlyphPageTreeNode::pruneCustomFontData): + (WebCore::GlyphPageTreeNode::pruneFontData): + (WebCore::GlyphPageTreeNode::showSubtree): + (showGlyphPageTrees): + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::updateTileBuffers): + (WebCore::TiledBackingStore::resizeEdgeTiles): + (WebCore::TiledBackingStore::setKeepRect): + * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: + (WebCore::AVFWrapper::avfWrapperForCallbackContext): + * platform/graphics/blackberry/LayerTiler.cpp: + (WebCore::LayerTiler::layerVisibilityChanged): + (WebCore::LayerTiler::uploadTexturesIfNeeded): + (WebCore::LayerTiler::addTileJob): + (WebCore::LayerTiler::deleteTextures): + (WebCore::LayerTiler::pruneTextures): + (WebCore::LayerTiler::bindContentsTexture): + * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: + (WebCore::TextureCacheCompositingThread::textureForTiledContents): + (WebCore::TextureCacheCompositingThread::textureForColor): + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::moveOrCopyAnimations): + (WebCore::GraphicsLayerCA::pauseAnimation): + (WebCore::GraphicsLayerCA::layerDidDisplay): + (WebCore::GraphicsLayerCA::updateGeometry): + (WebCore::GraphicsLayerCA::updateTransform): + (WebCore::GraphicsLayerCA::updateChildrenTransform): + (WebCore::GraphicsLayerCA::updateMasksToBounds): + (WebCore::GraphicsLayerCA::updateContentsVisibility): + (WebCore::GraphicsLayerCA::updateContentsOpaque): + (WebCore::GraphicsLayerCA::updateBackfaceVisibility): + (WebCore::GraphicsLayerCA::updateFilters): + (WebCore::GraphicsLayerCA::ensureStructuralLayer): + (WebCore::GraphicsLayerCA::updateLayerDrawsContent): + (WebCore::GraphicsLayerCA::updateContentsImage): + (WebCore::GraphicsLayerCA::updateContentsRect): + (WebCore::GraphicsLayerCA::updateMaskLayer): + (WebCore::GraphicsLayerCA::updateLayerAnimations): + (WebCore::GraphicsLayerCA::setAnimationOnLayer): + (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): + (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): + (WebCore::GraphicsLayerCA::suspendAnimations): + (WebCore::GraphicsLayerCA::resumeAnimations): + (WebCore::GraphicsLayerCA::findOrMakeClone): + (WebCore::GraphicsLayerCA::setOpacityInternal): + (WebCore::GraphicsLayerCA::updateOpacityOnLayer): + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::~TileCache): + (WebCore::TileCache::setNeedsDisplay): + (WebCore::TileCache::setScale): + (WebCore::TileCache::setAcceleratesDrawing): + (WebCore::TileCache::setTileDebugBorderWidth): + (WebCore::TileCache::setTileDebugBorderColor): + (WebCore::TileCache::revalidateTiles): + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + (PlatformCALayer::animationStarted): + (resubmitAllAnimations): + (PlatformCALayer::animationForKey): + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::LookupAltName): + (WebCore::fontContainsCharacter): + * platform/graphics/chromium/FontUtilsChromiumWin.cpp: + (WebCore::getDerivedFontData): + * platform/graphics/chromium/TiledLayerChromium.cpp: + (WebCore::TiledLayerChromium::pushPropertiesTo): + (WebCore::TiledLayerChromium::setLayerTreeHost): + (WebCore::TiledLayerChromium::invalidateContentRect): + (WebCore::TiledLayerChromium::setTexturePriorities): + (WebCore::TiledLayerChromium::resetUpdateState): + * platform/graphics/chromium/cc/CCDamageTracker.cpp: + (WebCore::CCDamageTracker::trackDamageFromLeftoverRects): + * platform/graphics/chromium/cc/CCDirectRenderer.cpp: + (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame): + * platform/graphics/chromium/cc/CCLayerTilingData.cpp: + (WebCore::CCLayerTilingData::setBounds): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::~CCLayerTreeHost): + (WebCore::CCLayerTreeHost::startRateLimiter): + (WebCore::CCLayerTreeHost::stopRateLimiter): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::findRenderPassById): + * platform/graphics/chromium/cc/CCResourceProvider.cpp: + (WebCore::CCResourceProvider::inUseByConsumer): + (WebCore::CCResourceProvider::deleteResource): + (WebCore::CCResourceProvider::deleteOwnedResources): + (WebCore::CCResourceProvider::resourceType): + (WebCore::CCResourceProvider::upload): + (WebCore::CCResourceProvider::lockForRead): + (WebCore::CCResourceProvider::unlockForRead): + (WebCore::CCResourceProvider::lockForWrite): + (WebCore::CCResourceProvider::unlockForWrite): + (WebCore::CCResourceProvider::destroyChild): + (WebCore::CCResourceProvider::getChildToParentMap): + (WebCore::CCResourceProvider::prepareSendToParent): + (WebCore::CCResourceProvider::prepareSendToChild): + (WebCore::CCResourceProvider::receiveFromChild): + (WebCore::CCResourceProvider::receiveFromParent): + (WebCore::CCResourceProvider::transferResource): + (WebCore::CCResourceProvider::trimMailboxDeque): + * platform/graphics/filters/CustomFilterGlobalContext.cpp: + (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext): + (WebCore::CustomFilterGlobalContext::getCompiledProgram): + (WebCore::CustomFilterGlobalContext::removeCompiledProgram): + * platform/graphics/filters/CustomFilterProgram.cpp: + (WebCore::CustomFilterProgram::notifyClients): + * platform/graphics/harfbuzz/HarfBuzzSkia.cpp: + (WebCore::getCachedHarfbuzzFace): + (WebCore::releaseCachedHarfbuzzFace): + * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp: + (WebCore::HarfBuzzNGFace::HarfBuzzNGFace): + (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace): + * platform/graphics/mac/SimpleFontDataCoreText.cpp: + (WebCore::SimpleFontData::getCFStringAttributes): + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): + * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: + (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): + * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getShaderSource): + * platform/graphics/openvg/EGLDisplayOpenVG.cpp: + (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): + (WebCore::EGLDisplayOpenVG::destroySurface): + (WebCore::EGLDisplayOpenVG::contextForSurface): + * platform/graphics/texmap/TextureMapperGL.cpp: + (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData): + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore::TextureMapperShaderManager::getShaderProgram): + (WebCore::TextureMapperShaderManager::getShaderForFilter): + * platform/graphics/wince/FontPlatformData.cpp: + (WebCore::FixedSizeFontData::create): + * platform/gtk/DataObjectGtk.cpp: + (WebCore::DataObjectGtk::forClipboard): + * platform/gtk/GtkDragAndDropHelper.cpp: + (WebCore::GtkDragAndDropHelper::handleGetDragData): + (WebCore::GtkDragAndDropHelper::handleDragLeave): + (WebCore::GtkDragAndDropHelper::handleDragMotion): + (WebCore::GtkDragAndDropHelper::handleDragDataReceived): + (WebCore::GtkDragAndDropHelper::handleDragDrop): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::gtkStyleChangedCallback): + (WebCore::getStyleContext): + * platform/mac/ScrollbarThemeMac.mm: + (+[WebScrollbarPrefsObserver appearancePrefsChanged:]): + * platform/network/CredentialStorage.cpp: + (WebCore::CredentialStorage::set): + (WebCore::CredentialStorage::get): + * platform/network/HTTPHeaderMap.cpp: + (WebCore::HTTPHeaderMap::copyData): + (WebCore::HTTPHeaderMap::get): + * platform/network/MIMEHeader.cpp: + (WebCore::MIMEHeader::parseHeader): + * platform/network/ResourceHandle.cpp: + (WebCore::ResourceHandle::create): + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::addHTTPHeaderField): + (WebCore::ResourceRequestBase::addHTTPHeaderFields): + * platform/network/blackberry/ResourceRequestBlackBerry.cpp: + (WebCore::ResourceRequest::targetTypeFromMimeType): + (WebCore::ResourceRequest::initializePlatformRequest): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::makeFinalRequest): + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::setHeaderFields): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::initializeHandle): + * platform/network/mac/ResourceRequestMac.mm: + (WebCore::ResourceRequest::doUpdatePlatformRequest): + * platform/network/qt/ResourceRequestQt.cpp: + (WebCore::ResourceRequest::toNetworkRequest): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::sendRequestCallback): + (WebCore::ResourceHandle::setClientCertificate): + * platform/network/soup/ResourceRequestSoup.cpp: + (WebCore::ResourceRequest::updateSoupMessage): + (WebCore::ResourceRequest::toSoupMessage): + * platform/network/soup/ResourceResponseSoup.cpp: + (WebCore::ResourceResponse::toSoupMessage): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::start): + * platform/qt/RunLoopQt.cpp: + (WebCore::RunLoop::TimerBase::timerFired): + * platform/text/LocaleToScriptMappingDefault.cpp: + (WebCore::scriptNameToCode): + (WebCore::localeToScriptCodeForFontSelection): + * platform/text/TextEncodingRegistry.cpp: + (WebCore::pruneBlacklistedCodecs): + (WebCore::dumpTextEncodingNameMap): + * platform/text/transcoder/FontTranscoder.cpp: + (WebCore::FontTranscoder::converterType): + * platform/text/win/TextCodecWin.cpp: + (WebCore::LanguageManager::LanguageManager): + (WebCore::getCodePage): + (WebCore::TextCodecWin::registerExtendedEncodingNames): + (WebCore::TextCodecWin::registerExtendedCodecs): + (WebCore::TextCodecWin::enumerateSupportedEncodings): + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::getDataMapItem): + (WebCore::getClipboardData): + (WebCore::setClipboardData): + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::types): + * platform/win/FileSystemWin.cpp: + (WebCore::cachedStorageDirectory): + * platform/win/RunLoopWin.cpp: + (WebCore::RunLoop::TimerBase::timerFired): + * platform/win/WCDataObject.cpp: + (WebCore::WCDataObject::createInstance): + * platform/wince/MIMETypeRegistryWinCE.cpp: + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + * platform/wx/ContextMenuWx.cpp: + (WebCore::ContextMenu::appendItem): + * plugins/PluginDatabase.cpp: + (WebCore::PluginDatabase::refresh): + (WebCore::PluginDatabase::MIMETypeForExtension): + (WebCore::PluginDatabase::remove): + * plugins/PluginMainThreadScheduler.cpp: + (WebCore::PluginMainThreadScheduler::scheduleCall): + (WebCore::PluginMainThreadScheduler::dispatchCalls): + * plugins/PluginStream.cpp: + (WebCore::PluginStream::startStream): + * plugins/blackberry/PluginDataBlackBerry.cpp: + (WebCore::PluginData::initPlugins): + * plugins/wx/PluginDataWx.cpp: + (WebCore::PluginData::initPlugins): + * rendering/FlowThreadController.cpp: + (WebCore::FlowThreadController::unregisterNamedFlowContentNode): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::requiresIdeographicBaseline): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clearFloats): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::setLogicalWidthForTextRun): + * rendering/RenderBoxModelObject.cpp: + (WebCore::ImageQualityController::highQualityRepaintTimerFired): + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + * rendering/RenderCounter.cpp: + (WebCore::RenderCounter::destroyCounterNodes): + (WebCore::RenderCounter::destroyCounterNode): + (WebCore::updateCounters): + (WebCore::RenderCounter::rendererStyleChanged): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::setRegionRangeForBox): + (WebCore::RenderFlowThread::getRegionRangeForBox): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paint): + (WebCore::performOverlapTests): + * rendering/RenderLayerFilterInfo.cpp: + (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer): + (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dependsOn): + (WebCore::RenderNamedFlowThread::pushDependencies): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::setRenderBoxRegionInfo): + (WebCore::RenderRegion::setRegionObjectsRegionStyle): + (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle): + (WebCore::RenderRegion::computeChildrenStyleInRegion): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::cachedCollapsedBorder): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::systemColor): + * rendering/RenderView.cpp: + (WebCore::RenderView::selectionBounds): + (WebCore::RenderView::setSelection): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::ascentAndDescentForBox): + * rendering/VerticalPositionCache.h: + (WebCore::VerticalPositionCache::get): + * rendering/WrapShapeInfo.cpp: + (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock): + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): + * rendering/svg/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): + * rendering/svg/RenderSVGResourceGradient.cpp: + (WebCore::RenderSVGResourceGradient::applyResource): + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::applyResource): + * rendering/svg/SVGResourcesCache.cpp: + (WebCore::SVGResourcesCache::resourceDestroyed): + * rendering/svg/SVGRootInlineBox.cpp: + (WebCore::swapItemsInLayoutAttributes): + * rendering/svg/SVGTextLayoutAttributes.cpp: + (WebCore::SVGTextLayoutAttributes::dump): + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: + (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap): + (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap): + * rendering/svg/SVGTextLayoutEngine.cpp: + (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): + * rendering/svg/SVGTextMetricsBuilder.cpp: + (WebCore::SVGTextMetricsBuilder::measureTextRenderer): + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::syncTimerFired): + (WebCore::StorageAreaSync::performImport): + (WebCore::StorageAreaSync::sync): + * storage/StorageMap.cpp: + (WebCore::StorageMap::key): + (WebCore::StorageMap::setItem): + * storage/StorageNamespaceImpl.cpp: + (WebCore::StorageNamespaceImpl::localStorageNamespace): + (WebCore::StorageNamespaceImpl::copy): + (WebCore::StorageNamespaceImpl::close): + (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion): + (WebCore::StorageNamespaceImpl::sync): + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): + (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): + (WebCore::SVGDocumentExtensions::addPendingResource): + (WebCore::SVGDocumentExtensions::isElementPendingResources): + (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): + (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): + (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): + (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): + * svg/SVGElement.cpp: + (WebCore::SVGElement::~SVGElement): + * svg/animation/SMILTimeContainer.cpp: + (WebCore::SMILTimeContainer::updateAnimations): + * svg/graphics/SVGImageCache.cpp: + (WebCore::SVGImageCache::~SVGImageCache): + (WebCore::SVGImageCache::removeClientFromCache): + (WebCore::SVGImageCache::requestedSizeAndScales): + (WebCore::SVGImageCache::imageContentChanged): + (WebCore::SVGImageCache::redraw): + (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer): + * svg/graphics/filters/SVGFilterBuilder.h: + (WebCore::SVGFilterBuilder::effectReferences): + (WebCore::SVGFilterBuilder::addBuiltinEffects): + * svg/properties/SVGAnimatedProperty.h: + (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): + * svg/properties/SVGAttributeToPropertyMap.cpp: + (WebCore::SVGAttributeToPropertyMap::addProperties): + (WebCore::SVGAttributeToPropertyMap::synchronizeProperties): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::hasPendingActivity): + * workers/WorkerEventQueue.cpp: + (WebCore::WorkerEventQueue::close): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::setRequestHeaderInternal): + (WebCore::XMLHttpRequest::getAllResponseHeaders): + * xml/XPathFunctions.cpp: + (WebCore::XPath::createFunction): + * xml/XPathParser.cpp: + (isAxisName): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::xsltParamArrayFromParameterMap): + * xml/XSLTProcessorQt.cpp: + (WebCore::XSLTProcessor::transformToString): + +2012-08-28 Jer Noble <jer.noble@apple.com> + + Crash in WebCore::logPluginRequest + 183 + https://bugs.webkit.org/show_bug.cgi?id=95218 + + Reviewed by Oliver Hunt. + + Crash is within findPluginMIMETypeFromURL, caused by a null-dereference of + page()->pluginData(). Add a null-check and return an empty string. + + * loader/SubframeLoader.cpp: + (WebCore::findPluginMIMETypeFromURL): + +2012-08-28 Simon Fraser <simon.fraser@apple.com> + + Regression (r126774): Crash when scrolling after removing sticky element. + https://bugs.webkit.org/show_bug.cgi?id=95174 + + Reviewed by Abhishek Arya. + + RenderBox::willBeDestroyed() needs to check for both fixed and sticky + position to determine whether to remove an object from FrameView's + set of fixed objects. + + Test: fast/css/sticky/remove-sticky-crash.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::willBeDestroyed): + +2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> + + Rename first/second to key/value in HashMap iterators + https://bugs.webkit.org/show_bug.cgi?id=82784 + + Reviewed by Eric Seidel. + + * Modules/geolocation/Geolocation.cpp: + (WebCore::Geolocation::Watchers::find): + (WebCore::Geolocation::Watchers::remove): + * Modules/indexeddb/IDBDatabase.cpp: + (WebCore::IDBDatabase::objectStoreNames): + * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::metadata): + * Modules/indexeddb/IDBFactoryBackendImpl.cpp: + (WebCore::IDBFactoryBackendImpl::deleteDatabase): + (WebCore::IDBFactoryBackendImpl::openBackingStore): + (WebCore::IDBFactoryBackendImpl::open): + * Modules/indexeddb/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::indexNames): + (WebCore::IDBObjectStore::put): + (WebCore::IDBObjectStore::index): + (WebCore::IDBObjectStore::deleteIndex): + * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::metadata): + (WebCore::makeIndexWriters): + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + * Modules/indexeddb/IDBTransaction.cpp: + (WebCore::IDBTransaction::objectStore): + (WebCore::IDBTransaction::objectStoreDeleted): + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::dispatchEvent): + * Modules/webdatabase/AbstractDatabase.cpp: + (WebCore::AbstractDatabase::performOpenAndVerify): + * Modules/webdatabase/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::interruptAllDatabasesForContext): + * Modules/webdatabase/OriginUsageRecord.cpp: + (WebCore::OriginUsageRecord::diskUsage): + * Modules/webdatabase/SQLTransactionCoordinator.cpp: + (WebCore::SQLTransactionCoordinator::acquireLock): + (WebCore::SQLTransactionCoordinator::releaseLock): + (WebCore::SQLTransactionCoordinator::shutdown): + * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: + (WebCore::DatabaseTracker::interruptAllDatabasesForContext): + * Modules/webdatabase/chromium/QuotaTracker.cpp: + (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin): + (WebCore::QuotaTracker::updateDatabaseSize): + * Modules/websockets/WebSocketDeflateFramer.cpp: + (WebCore::WebSocketExtensionDeflateFrame::processResponse): + * Modules/websockets/WebSocketExtensionDispatcher.cpp: + (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension): + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::~AXObjectCache): + * bindings/gobject/DOMObjectCache.cpp: + (WebKit::DOMObjectCache::clearByFrame): + * bindings/js/DOMObjectHashTableMap.h: + (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): + (WebCore::DOMObjectHashTableMap::get): + * bindings/js/JSDOMBinding.cpp: + (WebCore::cacheDOMStructure): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::visitChildren): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::getDOMConstructor): + * bindings/js/PageScriptDebugServer.cpp: + (WebCore::PageScriptDebugServer::addListener): + (WebCore::PageScriptDebugServer::removeListener): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::~ScriptController): + (WebCore::ScriptController::clearWindowShell): + (WebCore::ScriptController::attachDebugger): + (WebCore::ScriptController::updateDocument): + (WebCore::ScriptController::createRootObject): + (WebCore::ScriptController::collectIsolatedContexts): + (WebCore::ScriptController::cleanupScriptObjectsForPlugin): + (WebCore::ScriptController::clearScriptObjects): + * bindings/js/ScriptController.h: + (WebCore::ScriptController::windowShell): + (WebCore::ScriptController::existingWindowShell): + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + (WebCore::ScriptDebugServer::hasBreakpoint): + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::checkForDuplicate): + (WebCore::CloneSerializer::dumpIfTerminal): + (WebCore::CloneSerializer::write): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateImplementation): + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::V8Float64Array::GetRawTemplate): + (WebCore::V8Float64Array::GetTemplate): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::GetRawTemplate): + (WebCore::V8TestActiveDOMObject::GetTemplate): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: + (WebCore::V8TestCustomNamedGetter::GetRawTemplate): + (WebCore::V8TestCustomNamedGetter::GetTemplate): + * bindings/scripts/test/V8/V8TestEventConstructor.cpp: + (WebCore::V8TestEventConstructor::GetRawTemplate): + (WebCore::V8TestEventConstructor::GetTemplate): + * bindings/scripts/test/V8/V8TestEventTarget.cpp: + (WebCore::V8TestEventTarget::GetRawTemplate): + (WebCore::V8TestEventTarget::GetTemplate): + * bindings/scripts/test/V8/V8TestException.cpp: + (WebCore::V8TestException::GetRawTemplate): + (WebCore::V8TestException::GetTemplate): + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::V8TestInterface::GetRawTemplate): + (WebCore::V8TestInterface::GetTemplate): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::GetRawTemplate): + (WebCore::V8TestMediaQueryListListener::GetTemplate): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructor::GetRawTemplate): + (WebCore::V8TestNamedConstructor::GetTemplate): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::GetRawTemplate): + (WebCore::V8TestNode::GetTemplate): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::V8TestObj::GetRawTemplate): + (WebCore::V8TestObj::GetTemplate): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate): + (WebCore::V8TestSerializedScriptValueInterface::GetTemplate): + * bindings/v8/DOMWrapperWorld.cpp: + (WebCore::DOMWrapperWorld::deallocate): + (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld): + * bindings/v8/NPV8Object.cpp: + (WebCore::freeV8NPObject): + (WebCore::npCreateV8ScriptObject): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::clearScriptObjects): + (WebCore::ScriptController::resetIsolatedWorlds): + (WebCore::ScriptController::evaluateInIsolatedWorld): + (WebCore::ScriptController::setIsolatedWorldSecurityOrigin): + (WebCore::ScriptController::cleanupScriptObjectsForPlugin): + (WebCore::ScriptController::collectIsolatedContexts): + * bindings/v8/SerializedScriptValue.cpp: + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::removeIfPresent): + (WebCore::WeakReferenceMap::visit): + * bindings/v8/V8GCController.cpp: + (WebCore::enumerateGlobalHandles): + * bindings/v8/V8PerContextData.cpp: + (WebCore::V8PerContextData::dispose): + * bindings/v8/npruntime.cpp: + * bridge/IdentifierRep.cpp: + (WebCore::IdentifierRep::get): + * bridge/NP_jsobject.cpp: + (ObjectMap::add): + (ObjectMap::remove): + * bridge/jni/jsc/JavaClassJSC.cpp: + (JavaClass::~JavaClass): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::WeakMap::set): + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::canvasChanged): + (WebCore::CSSCanvasValue::canvasResized): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::counterToCSSValue): + * css/CSSCrossfadeValue.cpp: + (WebCore::CSSCrossfadeValue::crossfadeChanged): + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + (WebCore::CSSFontSelector::getFontData): + * css/CSSImageGeneratorValue.cpp: + (WebCore::CSSImageGeneratorValue::addClient): + (WebCore::CSSImageGeneratorValue::removeClient): + (WebCore::CSSImageGeneratorValue::getImage): + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::getFontData): + * css/CSSSelector.cpp: + (WebCore::CSSSelector::parsePseudoType): + * css/CSSValuePool.cpp: + (WebCore::CSSValuePool::createColorValue): + (WebCore::CSSValuePool::createFontFamilyValue): + (WebCore::CSSValuePool::createFontFaceValue): + * css/PropertySetCSSStyleDeclaration.cpp: + (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM): + * css/StyleBuilder.cpp: + (WebCore::ApplyPropertyCounter::applyInheritValue): + (WebCore::ApplyPropertyCounter::applyValue): + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectFeatures): + (WebCore::StyleResolver::ruleSetForScope): + (WebCore::StyleResolver::appendAuthorStylesheets): + (WebCore::StyleResolver::sweepMatchedPropertiesCache): + (WebCore::StyleResolver::collectMatchingRulesForList): + * css/StyleSheetContents.cpp: + (WebCore::StyleSheetContents::parserAddNamespace): + (WebCore::StyleSheetContents::determineNamespace): + * dom/CheckedRadioButtons.cpp: + (WebCore::CheckedRadioButtons::addButton): + (WebCore::CheckedRadioButtons::removeButton): + * dom/ChildListMutationScope.cpp: + (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel): + * dom/Document.cpp: + (WebCore::Document::pageGroupUserSheets): + (WebCore::Document::windowNamedItems): + (WebCore::Document::documentNamedItems): + (WebCore::Document::getCSSCanvasElement): + * dom/DocumentMarkerController.cpp: + (WebCore::DocumentMarkerController::markerContainingPoint): + (WebCore::DocumentMarkerController::renderedRectsForMarkers): + (WebCore::DocumentMarkerController::removeMarkers): + (WebCore::DocumentMarkerController::repaintMarkers): + (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect): + (WebCore::DocumentMarkerController::showMarkers): + * dom/DocumentOrderedMap.cpp: + (WebCore::DocumentOrderedMap::remove): + * dom/ElementAttributeData.cpp: + (WebCore::ensureAttrListForElement): + * dom/EventDispatcher.cpp: + (WebCore::EventRelatedTargetAdjuster::findRelatedTarget): + * dom/EventListenerMap.cpp: + (WebCore::EventListenerMap::eventTypes): + (WebCore::EventListenerMap::add): + (WebCore::EventListenerMap::remove): + (WebCore::EventListenerMap::find): + (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup): + (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget): + (WebCore::EventListenerIterator::nextListener): + * dom/IdTargetObserverRegistry.cpp: + (WebCore::IdTargetObserverRegistry::addObserver): + (WebCore::IdTargetObserverRegistry::removeObserver): + * dom/MemoryInstrumentation.h: + (WebCore::MemoryInstrumentation::addInstrumentedMapEntries): + (WebCore::MemoryInstrumentation::addInstrumentedMapValues): + * dom/MutationObserverInterestGroup.cpp: + (WebCore::MutationObserverInterestGroup::isOldValueRequested): + (WebCore::MutationObserverInterestGroup::enqueueMutationRecord): + * dom/Node.cpp: + (WebCore::Node::dumpStatistics): + (WebCore::Node::clearRareData): + (WebCore::NodeListsNodeData::invalidateCaches): + (WebCore::Node::collectMatchingObserversForMutation): + * dom/NodeRareData.h: + (WebCore::NodeListsNodeData::addCacheWithAtomicName): + (WebCore::NodeListsNodeData::addCacheWithName): + (WebCore::NodeListsNodeData::addCacheWithQualifiedName): + (WebCore::NodeListsNodeData::adoptTreeScope): + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): + (WebCore::ScriptExecutionContext::stopActiveDOMObjects): + (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval): + * dom/SelectorQuery.cpp: + (WebCore::SelectorQueryCache::add): + * dom/SpaceSplitString.cpp: + (WebCore::SpaceSplitStringData::create): + * dom/StyledElement.cpp: + (WebCore::StyledElement::updateAttributeStyle): + * editing/mac/AlternativeTextUIController.mm: + (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext): + * html/FormController.cpp: + (WebCore::SavedFormState::serializeTo): + (WebCore::SavedFormState::appendControlState): + (WebCore::SavedFormState::takeControlState): + (WebCore::SavedFormState::getReferencedFilePaths): + (WebCore::FormKeyGenerator::formKey): + (WebCore::FormController::createSavedFormStateMap): + (WebCore::FormController::formElementsState): + (WebCore::FormController::takeStateForFormElement): + (WebCore::FormController::getReferencedFilePaths): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollectionCacheBase::append): + * html/canvas/WebGLFramebuffer.cpp: + (WebCore::WebGLFramebuffer::getAttachment): + (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer): + (WebCore::WebGLFramebuffer::checkStatus): + (WebCore::WebGLFramebuffer::deleteObjectImpl): + (WebCore::WebGLFramebuffer::initializeAttachments): + * inspector/CodeGeneratorInspector.py: + * inspector/DOMPatchSupport.cpp: + (WebCore::DOMPatchSupport::diff): + (WebCore::DOMPatchSupport::innerPatchChildren): + (WebCore::DOMPatchSupport::removeChildAndMoveToNew): + * inspector/InjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::injectedScriptForId): + (WebCore::InjectedScriptManager::injectedScriptIdFor): + (WebCore::InjectedScriptManager::discardInjectedScriptsFor): + (WebCore::InjectedScriptManager::releaseObjectGroup): + (WebCore::InjectedScriptManager::injectedScriptFor): + * inspector/InspectorCSSAgent.cpp: + (WebCore::SelectorProfile::commitSelector): + (WebCore::SelectorProfile::commitSelectorTime): + (WebCore::SelectorProfile::toInspectorObject): + (WebCore::InspectorCSSAgent::forcePseudoState): + (WebCore::InspectorCSSAgent::asInspectorStyleSheet): + (WebCore::InspectorCSSAgent::assertStyleSheetForId): + (WebCore::InspectorCSSAgent::didRemoveDOMNode): + (WebCore::InspectorCSSAgent::didModifyDOMAttr): + (WebCore::InspectorCSSAgent::resetPseudoStates): + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::stopTiming): + (WebCore::InspectorConsoleAgent::count): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::nodeForId): + (WebCore::InspectorDOMAgent::performSearch): + (WebCore::InspectorDOMAgent::getSearchResults): + * inspector/InspectorDOMDebuggerAgent.cpp: + (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest): + * inspector/InspectorDOMStorageAgent.cpp: + (WebCore::InspectorDOMStorageAgent::clearFrontend): + (WebCore::InspectorDOMStorageAgent::enable): + (WebCore::InspectorDOMStorageAgent::storageId): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): + (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache): + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::enable): + (WebCore::InspectorDatabaseAgent::databaseId): + (WebCore::InspectorDatabaseAgent::findByFileName): + (WebCore::InspectorDatabaseAgent::databaseForId): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::searchInContent): + (WebCore::InspectorDebuggerAgent::getScriptSource): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorIndexedDBAgent.cpp: + (WebCore): + * inspector/InspectorMemoryAgent.cpp: + (WebCore): + * inspector/InspectorPageAgent.cpp: + (WebCore::cachedResourcesForFrame): + (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): + (WebCore::InspectorPageAgent::frameDetached): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::getProfileHeaders): + (WebCore): + (WebCore::InspectorProfilerAgent::getProfile): + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForHeaders): + (WebCore::InspectorResourceAgent::willSendRequest): + * inspector/InspectorState.cpp: + (WebCore::InspectorState::getBoolean): + (WebCore::InspectorState::getString): + (WebCore::InspectorState::getLong): + (WebCore::InspectorState::getDouble): + (WebCore::InspectorState::getObject): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::styleWithProperties): + (WebCore::InspectorStyleSheet::inspectorStyleForId): + * inspector/InspectorValues.cpp: + (WebCore::InspectorObjectBase::get): + (WebCore::InspectorObjectBase::writeJSON): + * inspector/InspectorWorkerAgent.cpp: + (WebCore::InspectorWorkerAgent::workerContextTerminated): + (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers): + (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels): + * inspector/NetworkResourcesData.cpp: + (WebCore::NetworkResourcesData::removeCachedResource): + (WebCore::NetworkResourcesData::clear): + * loader/CrossOriginAccessControl.cpp: + (WebCore::isSimpleCrossOriginAccessRequest): + (WebCore::createAccessControlPreflightRequest): + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): + (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::getSubresources): + (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + * loader/ResourceLoadScheduler.cpp: + (WebCore::ResourceLoadScheduler::servePendingRequests): + * loader/appcache/ApplicationCache.cpp: + (WebCore::ApplicationCache::removeResource): + (WebCore::ApplicationCache::clearStorageID): + (WebCore::ApplicationCache::dump): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): + (WebCore::ApplicationCacheGroup::startLoadingEntry): + (WebCore::ApplicationCacheGroup::addEntry): + * loader/appcache/ApplicationCacheHost.cpp: + (WebCore::ApplicationCacheHost::fillResourceList): + * loader/appcache/ApplicationCacheResource.cpp: + (WebCore::ApplicationCacheResource::estimatedSizeInStorage): + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): + (WebCore::ApplicationCacheStorage::cacheGroupForURL): + (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): + (WebCore::ApplicationCacheStorage::store): + (WebCore::ApplicationCacheStorage::empty): + (WebCore::ApplicationCacheStorage::storeCopyOfCache): + * loader/archive/ArchiveFactory.cpp: + (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): + * loader/cache/CachedRawResource.cpp: + (WebCore::CachedRawResource::canReuse): + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::switchClientsToRevalidatedResource): + (WebCore::CachedResource::updateResponseAfterRevalidation): + * loader/cache/CachedResourceClientWalker.h: + (WebCore::CachedResourceClientWalker::CachedResourceClientWalker): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::setAutoLoadImages): + (WebCore::CachedResourceLoader::removeCachedResource): + (WebCore::CachedResourceLoader::garbageCollectDocumentResources): + (WebCore::CachedResourceLoader::reportMemoryUsage): + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::removeResourcesWithOrigin): + (WebCore::MemoryCache::getOriginsWithCache): + (WebCore::MemoryCache::getStatistics): + (WebCore::MemoryCache::reportMemoryUsage): + (WebCore::MemoryCache::setDisabled): + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::removeAllIcons): + (WebCore::IconDatabase::iconRecordCountWithData): + (WebCore::IconDatabase::performPendingRetainAndReleaseOperations): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): + (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleTouchEvent): + * page/Frame.cpp: + (WebCore::Frame::injectUserScripts): + * page/PageGroup.cpp: + (WebCore::PageGroup::pageGroup): + (WebCore::PageGroup::closeLocalStorage): + (WebCore::PageGroup::clearLocalStorageForAllOrigins): + (WebCore::PageGroup::clearLocalStorageForOrigin): + (WebCore::PageGroup::syncLocalStorage): + (WebCore::PageGroup::addUserScriptToWorld): + (WebCore::PageGroup::addUserStyleSheetToWorld): + (WebCore::PageGroup::removeUserScriptFromWorld): + (WebCore::PageGroup::removeUserStyleSheetFromWorld): + * page/PageSerializer.cpp: + (WebCore::PageSerializer::urlForBlankFrame): + * page/SecurityPolicy.cpp: + (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry): + (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry): + * page/Settings.cpp: + (WebCore::setGenericFontFamilyMap): + (WebCore::getGenericFontFamilyForScript): + * page/SpeechInput.cpp: + (WebCore::SpeechInput::registerListener): + * page/WindowFeatures.cpp: + (WebCore::WindowFeatures::boolFeature): + (WebCore::WindowFeatures::floatFeature): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateAnimations): + (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument): + (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument): + (WebCore::AnimationControllerPrivate::numberOfActiveAnimations): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::clearRenderer): + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::getAnimatedStyle): + (WebCore::CompositeAnimation::setAnimating): + (WebCore::CompositeAnimation::timeToNextService): + (WebCore::CompositeAnimation::getAnimationForProperty): + (WebCore::CompositeAnimation::suspendAnimations): + (WebCore::CompositeAnimation::resumeAnimations): + (WebCore::CompositeAnimation::overrideImplicitAnimations): + (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): + (WebCore::CompositeAnimation::isAnimatingProperty): + (WebCore::CompositeAnimation::numberOfActiveAnimations): + * platform/Language.cpp: + (WebCore::languageDidChange): + * platform/MIMETypeRegistry.cpp: + (WebCore::MIMETypeRegistry::getNormalizedMIMEType): + * platform/audio/HRTFElevation.cpp: + (WebCore::getConcatenatedImpulseResponsesForSubject): + * platform/blackberry/CookieManager.cpp: + (WebCore::CookieManager::generateHtmlFragmentForCookies): + (WebCore::CookieManager::removeAllCookies): + * platform/blackberry/CookieMap.cpp: + (WebCore::CookieMap::removeOldestCookie): + (WebCore::CookieMap::getAllChildCookies): + * platform/cf/BinaryPropertyList.cpp: + (WebCore::BinaryPropertyListPlan::writeIntegerArray): + * platform/chromium/support/WebHTTPLoadInfo.cpp: + (WebKit::addHeader): + * platform/chromium/support/WebURLRequest.cpp: + (WebKit::WebURLRequest::visitHTTPHeaderFields): + * platform/chromium/support/WebURLResponse.cpp: + (WebKit::WebURLResponse::addHTTPHeaderField): + (WebKit::WebURLResponse::visitHTTPHeaderFields): + * platform/graphics/DisplayRefreshMonitor.cpp: + (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient): + (WebCore::DisplayRefreshMonitorManager::unregisterClient): + * platform/graphics/FontCache.cpp: + (WebCore::FontCache::getCachedFontPlatformData): + (WebCore::FontCache::getCachedFontData): + (WebCore::FontCache::getVerticalData): + (WebCore::FontCache::releaseFontData): + (WebCore::FontCache::purgeInactiveFontData): + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::treeGlyphPageCount): + (WebCore::GlyphPageTreeNode::pageCount): + (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): + (WebCore::GlyphPageTreeNode::pruneTreeFontData): + (WebCore::GlyphPageTreeNode::pruneCustomFontData): + (WebCore::GlyphPageTreeNode::pruneFontData): + (WebCore::GlyphPageTreeNode::showSubtree): + (showGlyphPageTrees): + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::updateTileBuffers): + (WebCore::TiledBackingStore::resizeEdgeTiles): + (WebCore::TiledBackingStore::setKeepRect): + * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: + (WebCore::AVFWrapper::avfWrapperForCallbackContext): + * platform/graphics/blackberry/LayerTiler.cpp: + (WebCore::LayerTiler::layerVisibilityChanged): + (WebCore::LayerTiler::uploadTexturesIfNeeded): + (WebCore::LayerTiler::addTileJob): + (WebCore::LayerTiler::deleteTextures): + (WebCore::LayerTiler::pruneTextures): + (WebCore::LayerTiler::bindContentsTexture): + * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: + (WebCore::TextureCacheCompositingThread::textureForTiledContents): + (WebCore::TextureCacheCompositingThread::textureForColor): + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::moveOrCopyAnimations): + (WebCore::GraphicsLayerCA::pauseAnimation): + (WebCore::GraphicsLayerCA::layerDidDisplay): + (WebCore::GraphicsLayerCA::updateGeometry): + (WebCore::GraphicsLayerCA::updateTransform): + (WebCore::GraphicsLayerCA::updateChildrenTransform): + (WebCore::GraphicsLayerCA::updateMasksToBounds): + (WebCore::GraphicsLayerCA::updateContentsVisibility): + (WebCore::GraphicsLayerCA::updateContentsOpaque): + (WebCore::GraphicsLayerCA::updateBackfaceVisibility): + (WebCore::GraphicsLayerCA::updateFilters): + (WebCore::GraphicsLayerCA::ensureStructuralLayer): + (WebCore::GraphicsLayerCA::updateLayerDrawsContent): + (WebCore::GraphicsLayerCA::updateContentsImage): + (WebCore::GraphicsLayerCA::updateContentsRect): + (WebCore::GraphicsLayerCA::updateMaskLayer): + (WebCore::GraphicsLayerCA::updateLayerAnimations): + (WebCore::GraphicsLayerCA::setAnimationOnLayer): + (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): + (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): + (WebCore::GraphicsLayerCA::suspendAnimations): + (WebCore::GraphicsLayerCA::resumeAnimations): + (WebCore::GraphicsLayerCA::findOrMakeClone): + (WebCore::GraphicsLayerCA::setOpacityInternal): + (WebCore::GraphicsLayerCA::updateOpacityOnLayer): + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::~TileCache): + (WebCore::TileCache::setNeedsDisplay): + (WebCore::TileCache::setScale): + (WebCore::TileCache::setAcceleratesDrawing): + (WebCore::TileCache::setTileDebugBorderWidth): + (WebCore::TileCache::setTileDebugBorderColor): + (WebCore::TileCache::revalidateTiles): + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + (PlatformCALayer::animationStarted): + (resubmitAllAnimations): + (PlatformCALayer::animationForKey): + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::LookupAltName): + (WebCore::fontContainsCharacter): + * platform/graphics/chromium/FontUtilsChromiumWin.cpp: + (WebCore::getDerivedFontData): + * platform/graphics/chromium/TiledLayerChromium.cpp: + (WebCore::TiledLayerChromium::pushPropertiesTo): + (WebCore::TiledLayerChromium::setLayerTreeHost): + (WebCore::TiledLayerChromium::invalidateContentRect): + (WebCore::TiledLayerChromium::setTexturePriorities): + (WebCore::TiledLayerChromium::resetUpdateState): + * platform/graphics/chromium/cc/CCDamageTracker.cpp: + (WebCore::CCDamageTracker::trackDamageFromLeftoverRects): + * platform/graphics/chromium/cc/CCDirectRenderer.cpp: + (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame): + * platform/graphics/chromium/cc/CCLayerTilingData.cpp: + (WebCore::CCLayerTilingData::setBounds): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::~CCLayerTreeHost): + (WebCore::CCLayerTreeHost::startRateLimiter): + (WebCore::CCLayerTreeHost::stopRateLimiter): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::findRenderPassById): + * platform/graphics/chromium/cc/CCResourceProvider.cpp: + (WebCore::CCResourceProvider::inUseByConsumer): + (WebCore::CCResourceProvider::deleteResource): + (WebCore::CCResourceProvider::deleteOwnedResources): + (WebCore::CCResourceProvider::resourceType): + (WebCore::CCResourceProvider::upload): + (WebCore::CCResourceProvider::lockForRead): + (WebCore::CCResourceProvider::unlockForRead): + (WebCore::CCResourceProvider::lockForWrite): + (WebCore::CCResourceProvider::unlockForWrite): + (WebCore::CCResourceProvider::destroyChild): + (WebCore::CCResourceProvider::getChildToParentMap): + (WebCore::CCResourceProvider::prepareSendToParent): + (WebCore::CCResourceProvider::prepareSendToChild): + (WebCore::CCResourceProvider::receiveFromChild): + (WebCore::CCResourceProvider::receiveFromParent): + (WebCore::CCResourceProvider::transferResource): + (WebCore::CCResourceProvider::trimMailboxDeque): + * platform/graphics/filters/CustomFilterGlobalContext.cpp: + (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext): + (WebCore::CustomFilterGlobalContext::getCompiledProgram): + (WebCore::CustomFilterGlobalContext::removeCompiledProgram): + * platform/graphics/filters/CustomFilterProgram.cpp: + (WebCore::CustomFilterProgram::notifyClients): + * platform/graphics/harfbuzz/HarfBuzzSkia.cpp: + (WebCore::getCachedHarfbuzzFace): + (WebCore::releaseCachedHarfbuzzFace): + * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp: + (WebCore::HarfBuzzNGFace::HarfBuzzNGFace): + (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace): + * platform/graphics/mac/SimpleFontDataCoreText.cpp: + (WebCore::SimpleFontData::getCFStringAttributes): + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): + * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: + (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): + * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getShaderSource): + * platform/graphics/openvg/EGLDisplayOpenVG.cpp: + (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): + (WebCore::EGLDisplayOpenVG::destroySurface): + (WebCore::EGLDisplayOpenVG::contextForSurface): + * platform/graphics/texmap/TextureMapperGL.cpp: + (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData): + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore::TextureMapperShaderManager::getShaderProgram): + (WebCore::TextureMapperShaderManager::getShaderForFilter): + * platform/graphics/wince/FontPlatformData.cpp: + (WebCore::FixedSizeFontData::create): + * platform/gtk/DataObjectGtk.cpp: + (WebCore::DataObjectGtk::forClipboard): + * platform/gtk/GtkDragAndDropHelper.cpp: + (WebCore::GtkDragAndDropHelper::handleGetDragData): + (WebCore::GtkDragAndDropHelper::handleDragLeave): + (WebCore::GtkDragAndDropHelper::handleDragMotion): + (WebCore::GtkDragAndDropHelper::handleDragDataReceived): + (WebCore::GtkDragAndDropHelper::handleDragDrop): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::gtkStyleChangedCallback): + (WebCore::getStyleContext): + * platform/mac/ScrollbarThemeMac.mm: + (+[WebScrollbarPrefsObserver appearancePrefsChanged:]): + * platform/network/CredentialStorage.cpp: + (WebCore::CredentialStorage::set): + (WebCore::CredentialStorage::get): + * platform/network/HTTPHeaderMap.cpp: + (WebCore::HTTPHeaderMap::copyData): + (WebCore::HTTPHeaderMap::get): + * platform/network/MIMEHeader.cpp: + (WebCore::MIMEHeader::parseHeader): + * platform/network/ResourceHandle.cpp: + (WebCore::ResourceHandle::create): + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::addHTTPHeaderField): + (WebCore::ResourceRequestBase::addHTTPHeaderFields): + * platform/network/blackberry/ResourceRequestBlackBerry.cpp: + (WebCore::ResourceRequest::targetTypeFromMimeType): + (WebCore::ResourceRequest::initializePlatformRequest): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::makeFinalRequest): + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::setHeaderFields): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::initializeHandle): + * platform/network/mac/ResourceRequestMac.mm: + (WebCore::ResourceRequest::doUpdatePlatformRequest): + * platform/network/qt/ResourceRequestQt.cpp: + (WebCore::ResourceRequest::toNetworkRequest): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::sendRequestCallback): + (WebCore::ResourceHandle::setClientCertificate): + * platform/network/soup/ResourceRequestSoup.cpp: + (WebCore::ResourceRequest::updateSoupMessage): + (WebCore::ResourceRequest::toSoupMessage): + * platform/network/soup/ResourceResponseSoup.cpp: + (WebCore::ResourceResponse::toSoupMessage): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::start): + * platform/qt/RunLoopQt.cpp: + (WebCore::RunLoop::TimerBase::timerFired): + * platform/text/LocaleToScriptMappingDefault.cpp: + (WebCore::scriptNameToCode): + (WebCore::localeToScriptCodeForFontSelection): + * platform/text/TextEncodingRegistry.cpp: + (WebCore::pruneBlacklistedCodecs): + (WebCore::dumpTextEncodingNameMap): + * platform/text/transcoder/FontTranscoder.cpp: + (WebCore::FontTranscoder::converterType): + * platform/text/win/TextCodecWin.cpp: + (WebCore::LanguageManager::LanguageManager): + (WebCore::getCodePage): + (WebCore::TextCodecWin::registerExtendedEncodingNames): + (WebCore::TextCodecWin::registerExtendedCodecs): + (WebCore::TextCodecWin::enumerateSupportedEncodings): + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::getDataMapItem): + (WebCore::getClipboardData): + (WebCore::setClipboardData): + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::types): + * platform/win/FileSystemWin.cpp: + (WebCore::cachedStorageDirectory): + * platform/win/RunLoopWin.cpp: + (WebCore::RunLoop::TimerBase::timerFired): + * platform/win/WCDataObject.cpp: + (WebCore::WCDataObject::createInstance): + * platform/wince/MIMETypeRegistryWinCE.cpp: + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + * platform/wx/ContextMenuWx.cpp: + (WebCore::ContextMenu::appendItem): + * plugins/PluginDatabase.cpp: + (WebCore::PluginDatabase::refresh): + (WebCore::PluginDatabase::MIMETypeForExtension): + (WebCore::PluginDatabase::remove): + * plugins/PluginMainThreadScheduler.cpp: + (WebCore::PluginMainThreadScheduler::scheduleCall): + (WebCore::PluginMainThreadScheduler::dispatchCalls): + * plugins/PluginStream.cpp: + (WebCore::PluginStream::startStream): + * plugins/blackberry/PluginDataBlackBerry.cpp: + (WebCore::PluginData::initPlugins): + * plugins/wx/PluginDataWx.cpp: + (WebCore::PluginData::initPlugins): + * rendering/FlowThreadController.cpp: + (WebCore::FlowThreadController::unregisterNamedFlowContentNode): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::requiresIdeographicBaseline): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clearFloats): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::setLogicalWidthForTextRun): + * rendering/RenderBoxModelObject.cpp: + (WebCore::ImageQualityController::highQualityRepaintTimerFired): + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + * rendering/RenderCounter.cpp: + (WebCore::RenderCounter::destroyCounterNodes): + (WebCore::RenderCounter::destroyCounterNode): + (WebCore::updateCounters): + (WebCore::RenderCounter::rendererStyleChanged): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::setRegionRangeForBox): + (WebCore::RenderFlowThread::getRegionRangeForBox): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paint): + (WebCore::performOverlapTests): + * rendering/RenderLayerFilterInfo.cpp: + (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer): + (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dependsOn): + (WebCore::RenderNamedFlowThread::pushDependencies): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::setRenderBoxRegionInfo): + (WebCore::RenderRegion::setRegionObjectsRegionStyle): + (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle): + (WebCore::RenderRegion::computeChildrenStyleInRegion): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::cachedCollapsedBorder): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::systemColor): + * rendering/RenderView.cpp: + (WebCore::RenderView::selectionBounds): + (WebCore::RenderView::setSelection): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::ascentAndDescentForBox): + * rendering/VerticalPositionCache.h: + (WebCore::VerticalPositionCache::get): + * rendering/WrapShapeInfo.cpp: + (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock): + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): + * rendering/svg/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): + * rendering/svg/RenderSVGResourceGradient.cpp: + (WebCore::RenderSVGResourceGradient::applyResource): + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::applyResource): + * rendering/svg/SVGResourcesCache.cpp: + (WebCore::SVGResourcesCache::resourceDestroyed): + * rendering/svg/SVGRootInlineBox.cpp: + (WebCore::swapItemsInLayoutAttributes): + * rendering/svg/SVGTextLayoutAttributes.cpp: + (WebCore::SVGTextLayoutAttributes::dump): + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: + (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap): + (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap): + * rendering/svg/SVGTextLayoutEngine.cpp: + (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): + * rendering/svg/SVGTextMetricsBuilder.cpp: + (WebCore::SVGTextMetricsBuilder::measureTextRenderer): + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::syncTimerFired): + (WebCore::StorageAreaSync::performImport): + (WebCore::StorageAreaSync::sync): + * storage/StorageMap.cpp: + (WebCore::StorageMap::key): + (WebCore::StorageMap::setItem): + * storage/StorageNamespaceImpl.cpp: + (WebCore::StorageNamespaceImpl::localStorageNamespace): + (WebCore::StorageNamespaceImpl::copy): + (WebCore::StorageNamespaceImpl::close): + (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion): + (WebCore::StorageNamespaceImpl::sync): + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): + (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): + (WebCore::SVGDocumentExtensions::addPendingResource): + (WebCore::SVGDocumentExtensions::isElementPendingResources): + (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): + (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): + (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): + (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): + * svg/SVGElement.cpp: + (WebCore::SVGElement::~SVGElement): + * svg/animation/SMILTimeContainer.cpp: + (WebCore::SMILTimeContainer::updateAnimations): + * svg/graphics/SVGImageCache.cpp: + (WebCore::SVGImageCache::~SVGImageCache): + (WebCore::SVGImageCache::removeClientFromCache): + (WebCore::SVGImageCache::requestedSizeAndScales): + (WebCore::SVGImageCache::imageContentChanged): + (WebCore::SVGImageCache::redraw): + (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer): + * svg/graphics/filters/SVGFilterBuilder.h: + (WebCore::SVGFilterBuilder::effectReferences): + (WebCore::SVGFilterBuilder::addBuiltinEffects): + * svg/properties/SVGAnimatedProperty.h: + (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): + * svg/properties/SVGAttributeToPropertyMap.cpp: + (WebCore::SVGAttributeToPropertyMap::addProperties): + (WebCore::SVGAttributeToPropertyMap::synchronizeProperties): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::hasPendingActivity): + * workers/WorkerEventQueue.cpp: + (WebCore::WorkerEventQueue::close): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::setRequestHeaderInternal): + (WebCore::XMLHttpRequest::getAllResponseHeaders): + * xml/XPathFunctions.cpp: + (WebCore::XPath::createFunction): + * xml/XPathParser.cpp: + (isAxisName): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::xsltParamArrayFromParameterMap): + * xml/XSLTProcessorQt.cpp: + (WebCore::XSLTProcessor::transformToString): + +2012-08-27 Jeffrey Pfau <jpfau@apple.com> + + Make shared workers respect third-party storage blocking setting + https://bugs.webkit.org/show_bug.cgi?id=94559 + + Reviewed by Adam Barth. + + Shared workers can fundamentally leak information between pages in + different contexts if the workers can be accessed from a third-party + context. Thus, if third-party storage blocking is enabled, shared + workers should be disallowed in third-party contexts. + + Tests: http/tests/security/cross-origin-shared-worker-allowed.html + http/tests/security/cross-origin-shared-worker.html + + * page/SecurityOrigin.h: Add canAccessSharedWorkers function + (WebCore::SecurityOrigin::canAccessSharedWorkers): + * workers/SharedWorker.cpp: + (WebCore::SharedWorker::create): Ensure that we can access shared workers before creating the worker. + +2012-07-10 Robert Hogan <robert@webkit.org> + + REGRESSION (r94492): Unstable layout of static block inside text-align: center div + https://bugs.webkit.org/show_bug.cgi?id=77754 + + Reviewed by David Hyatt. + + Text-align of 'center' on an out-of-flow element determines its x-position in the line - it + doesn't mean that the element should be centred in the line as though it were a block of text. + + This is a partial revert of http://trac.webkit.org/changeset/113584 and a correction to + http://trac.webkit.org/changeset/94492. + + Tests: fast/css/center-align-absolute-position-inline-block.html + fast/css/center-align-absolute-position.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutPositionedObjects): Remove an update to the static position when + it depended on the child's width. Reverts code added in r113584. + * rendering/RenderBlock.h: + (RenderBlock): Remove child parameter from startAlignedOffsetForLine() + * rendering/RenderBlockLineLayout.cpp: + (WebCore::setStaticPositions): ditto + (WebCore::RenderBlock::startAlignedOffsetForLine): No need to account for the child's width when calculating + the offset for the line. + +2012-08-27 Jon Lee <jonlee@apple.com> + + [Mac] Add SPI to WK1 to retrieve internal IDs for web notifications + https://bugs.webkit.org/show_bug.cgi?id=95099 + <rdar://problem/12180186> + + Reviewed by Jessie Berlin. + + This is work toward providing Mac support for web notifications in DRT and WTR (77969). + + Expose functions to convert JSValue to Notification, and to get the NotificationController from a page. + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: Promote NotificationController.h and JSNotification.h to private headers. + +2012-08-28 Dominic Mazzoni <dmazzoni@google.com> + + AX: Should be able to tab to focus a link in a canvas subtree + https://bugs.webkit.org/show_bug.cgi?id=94967 + + Reviewed by Chris Fleizach. + + Skips the hasNonEmptyBoundingBox check in isKeyboardFocusable + when in a canvas subtree. + + Test: fast/events/tab-focus-link-in-canvas.html + + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::isKeyboardFocusable): + +2012-08-28 Koji Ishii <kojiishi@gmail.com> + + OPENTYPE_VERTICAL support for Chromium Win + https://bugs.webkit.org/show_bug.cgi?id=94822 + + Reviewed by Tony Chang. + + To fix bug 51450 - Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Windows, + this patch adds support of OPENTYPE_VERTICAL feature for Chromium Windows. + Since enabling OPENTYPE_VERTICAL feature would require rather a big number of tests to rebaseline, + the actual fix is separated into this patch, and the feature will be enabled in bug 51450, + so that it is easier to revert on any perf regressions, as suggested by Tony in comment #50 of bug 51450. + + All changes in this patch are behind #if ENABLE(OPENTYPE_VERTICAL) and therefore no tests are included in this patch. + All tests in fast/writing-modes currently skipped will be enabled in bug 51450. + + * WebCore.gyp/WebCore.gyp: Added platform/graphics/opentype/OpenType*. + * WebCore.gypi: Ditto. + * platform/graphics/FontCache.h: SKia uses uint32_t as FontFileKey. + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::fill): Replace vertical alternate glyphs if vertical flow. + * platform/graphics/SimpleFontData.cpp: Added m_verticalData. + (WebCore::SimpleFontData::SimpleFontData): + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::verticalData): + (SimpleFontData): + (WebCore::SimpleFontData::widthForGlyph): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): Draw glyphs verticaly if font->verticalData(). + * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: + (WebCore::FontPlatformData::verticalData): Added. + (WebCore): + (WebCore::FontPlatformData::openTypeTable): Added. + * platform/graphics/chromium/FontPlatformDataChromiumWin.h: + (WebCore): + (FontPlatformData): Added verticalData() and openTypeTable(). + +2012-08-28 Andy Estes <aestes@apple.com> + + Add header guards to WebTileCacheLayer.h. + https://bugs.webkit.org/show_bug.cgi?id=95171 + + Reviewed by Simon Hausmann. + + Headers love include guards. + + * platform/graphics/ca/mac/WebTileCacheLayer.h: + +2012-08-28 Dana Jansens <danakj@chromium.org> + + [chromium] Be robust to WebCore popping an empty GraphicsContext stack + https://bugs.webkit.org/show_bug.cgi?id=95152 + + Reviewed by James Robinson. + + * platform/graphics/skia/OpaqueRegionSkia.cpp: + (WebCore::OpaqueRegionSkia::popCanvasLayer): + +2012-08-28 David Hyatt <hyatt@apple.com> + + [New Multicolumn] Rename some flow thread methods and region methods/members to make them + more accurate and also change some function signatures so they can be used by RenderMultiColumnSet. + https://bugs.webkit.org/show_bug.cgi?id=95213 + + Reviewed by Simon Fraser. + + Rename regionRect()/setRegionRect()/m_regionRect on RenderRegion to be flowThreadPortionRect instead. + The term regionRect() makes it sound like you're painting a rect in the region's coordinate space, + but regionRect() actually represents the portion of the flow thread in the flow thread's coordinate space + that this region "owns." + + Also fix paintIntoRegion and hitTestRegion to take specific flow thread portion rects to paint. This + allows a region set to paint a portion of a portion, i.e., if a multicolumn set owns part of the flow thread + it has to be able to further break up that part into individual columns and issue multiple paint calls, one + for each column. + + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::layout): + (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion): + (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion): + (WebCore::RenderFlowThread::repaintRectangleInRegions): + (WebCore::RenderFlowThread::renderRegionForLine): + (WebCore::RenderFlowThread::regionLogicalTopForLine): + (WebCore::RenderFlowThread::regionLogicalWidthForLine): + (WebCore::RenderFlowThread::regionLogicalHeightForLine): + (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine): + (WebCore::RenderFlowThread::mapFromFlowToRegion): + (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion): + (WebCore::RenderFlowThread::computeOverflowStateForRegions): + * rendering/RenderFlowThread.h: + * rendering/RenderMultiColumnSet.cpp: + (WebCore::RenderMultiColumnSet::columnCount): + (WebCore::RenderMultiColumnSet::paintColumnContents): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::flowThreadPortionOverflowRect): + (WebCore::RenderRegion::paintReplaced): + (WebCore::RenderRegion::nodeAtPoint): + (WebCore::RenderRegion::layout): + (WebCore::RenderRegion::offsetFromLogicalTopOfFirstPage): + * rendering/RenderRegion.h: + (WebCore::RenderRegion::setFlowThreadPortionRect): + (WebCore::RenderRegion::flowThreadPortionRect): + (RenderRegion): + * rendering/RenderRegionSet.cpp: + (WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded): + +2012-08-28 Alpha Lam <hclam@chromium.org> + + Report frame bytes by platform ImageDecoder + https://bugs.webkit.org/show_bug.cgi?id=94241 + + Reviewed by James Robinson. + + Decoded frame bytes should be reported by the platform ImageSource and + ImageDecoder. BitmapImage used to guess system memory used by a frame + but this is no longer true if a frame is backed by an accelerated + surface or defer-decoded. + + Adds ImageSource::frameBytesAtIndex and ImageDecoder::frameBytesAtIndex + such that platform can report memory usage correctly. + + No new tests. Refactoring without change of behavior. + Tested on Chromium port with pixel tests without any crash or failure. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::destroyDecodedData): + (WebCore::BitmapImage::destroyDecodedDataIfNecessary): + (WebCore::BitmapImage::destroyMetadataAndNotify): + (WebCore::BitmapImage::cacheFrame): + (WebCore::BitmapImage::dataChanged): + * platform/graphics/BitmapImage.h: + (WebCore::FrameData::FrameData): + (FrameData): + (BitmapImage): + * platform/graphics/ImageSource.cpp: + (WebCore::ImageSource::frameBytesAtIndex): + (WebCore): + * platform/graphics/ImageSource.h: + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::ImageSource::frameBytesAtIndex): + (WebCore): + * platform/image-decoders/ImageDecoder.cpp: + (WebCore::ImageDecoder::frameBytesAtIndex): + (WebCore): + * platform/image-decoders/ImageDecoder.h: + (ImageDecoder): + +2012-08-28 Gustavo Noronha Silva <gns@gnome.org> + + [GTK] Does not regenerate CSS-related sources when configuration changes + https://bugs.webkit.org/show_bug.cgi?id=94927 + + Reviewed by Eric Seidel. + + In bug 94094 the gtk EWS consistently failed to build the patch. The + reason that happens is the .in files have not been touched, so the CSS + property names and value keywords sources are not regenerated. By + adding an explicit dependency on configure.ac and GNUmakefile.am the + problem is fixed (see bug 82465, attachment 160265). + + * GNUmakefile.am: add explicit dependency from the CSS-related .in files + on configure.ac and WebCore's GNUmakefile.am + +2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126813. + http://trac.webkit.org/changeset/126813 + https://bugs.webkit.org/show_bug.cgi?id=95211 + + Broke Chromium debug builds (Requested by beverloo on + #webkit). + + * WebCore.gypi: + +2012-08-28 Iain Merrick <husky@chromium.org> + + [chromium] Split some ASSERT(a && b && c) statements into separate lines. + https://bugs.webkit.org/show_bug.cgi?id=95206 + + Reviewed by James Robinson. + + This makes for easier debugging, as you can immediately see which clause + has failed. + + No change in behavior, no new tests needed. + + * platform/graphics/chromium/cc/CCResourceProvider.cpp: + (WebCore::CCResourceProvider::deleteResource): + (WebCore::CCResourceProvider::upload): + (WebCore::CCResourceProvider::lockForRead): + (WebCore::CCResourceProvider::unlockForRead): + (WebCore::CCResourceProvider::lockForWrite): + (WebCore::CCResourceProvider::unlockForWrite): + (WebCore::CCResourceProvider::transferResource): + +2012-08-28 Anna Cavender <annacc@chromium.org> + + [Chrome] Enable track by default. + https://bugs.webkit.org/show_bug.cgi?id=95153 + + Reviewed by Eric Carlson. + + This change turns <track> and TextTrack API on by default for Chrome. + + Existing Tests: media/track/* + + * bindings/generic/RuntimeEnabledFeatures.cpp: + (WebCore): + +2012-08-28 Arvid Nilsson <anilsson@rim.com> + + [BlackBerry] Checkerboard observed after pinch zooming page with AC layers + https://bugs.webkit.org/show_bug.cgi?id=95192 + + PR 199177 + The LayerTiler was passing transformed ("pixel") coordinates to + GraphicsLayerClient::contentsVisible(), and that method expects + untransformed ("document") coordinates. When the scale was not 1.0, + this was comparing apples and oranges. + + Fixed by packaging up the transformation code into a reusable method + and mapping the "pixel" tile rect to "document" coordinates before the + visibility testing. + + Reviewed by Antonio Gomes. + + Not currently testable by the BlackBerry testing infrastructure. + + * platform/graphics/blackberry/LayerTiler.cpp: + (WebCore::LayerTiler::shouldPerformRenderJob): + * platform/graphics/blackberry/LayerWebKitThread.cpp: + (WebCore::LayerWebKitThread::paintContents): + (WebCore::LayerWebKitThread::mapFromTransformed): + (WebCore): + * platform/graphics/blackberry/LayerWebKitThread.h: + (LayerWebKitThread): + +2012-08-28 Parth Patel <parpatel@rim.com> + + [BlackBerry] Removing unnecessary include of Class BlackBerryPlatformClient + https://bugs.webkit.org/show_bug.cgi?id=95113 + + Reviewed by Kentaro Hara. + + Refactoring has lead to relocation of many or all methods from Class + BlackBerryPlatformClient to other classes. Some files include + BlackBerryPlatformClient but does not use its instance thus these + includes has to be removed. + + No new tests as there are no logical modifications done. + + * platform/network/blackberry/NetworkManager.cpp: + +2012-08-28 Hugo Parente Lima <hugo.lima@openbossa.org> + + [WK2] Send click events to WebCore when the user clicked on a non-special node with TOUCH_ADJUSTMENT enabled. + https://bugs.webkit.org/show_bug.cgi?id=91012 + + Reviewed by Antonio Gomes. + + Don't abort the gesture tap handling when the tap hits a non user + interactable node like a text node. + + Test: touchadjustment/focusout-on-touch.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleGestureTap): + +2012-08-28 Andreas Kling <kling@webkit.org> + + Simplify cloning of inline style (below Node.cloneNode) + <http://webkit.org/b/95095> + + Reviewed by Eric Seidel. + + Just use StylePropertySet::copy() instead of copying the properties and CSS parser mode manually + when cloning an element that has inline style. + + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::StylePropertySet): + * css/StylePropertySet.h: + (StylePropertySet): + * dom/ElementAttributeData.cpp: + (WebCore::ElementAttributeData::cloneDataFrom): + +2012-08-28 Sukolsak Sakshuwong <sukolsak@gmail.com> + + Crash in EditingStyle::mergeStyle + https://bugs.webkit.org/show_bug.cgi?id=94740 + + Reviewed by Ryosuke Niwa. + + This bug happened when we selected "1<progress><a style>2</a></progress>" + and executed a create link command because + + 1. The selection ended at <progress>, not the text node inside it, because + <progress> is an atomic node. + 2. We called removeInlineStyle() to remove conflicting styles. + Since the selection started at the text node "1" and ended at <progress>, + we did not get to remove <a>. + 3. We called fixRangeAndApplyInlineStyle(), which in turn called + applyInlineStyleToNodeRange(). This method split the node range + into smaller runs. In this case, the run was the whole + "1<progress><a style>2</a></progress>". + 4. We called removeStyleFromRunBeforeApplyingStyle(). This method tried + to remove <a> by calling removeInlineStyleFromElement() on <a> with + extractedStyle = 0. But the method expected that extractedStyle was not null. + So, it crashed. + + This bug doesn't happen with non-atomic nodes because if <a> is inside a non-atomic + node, <a> will be covered by the selection. Therefore, it will be removed in + step #2 and we will never call removeInlineStyleFromElement() on <a> + again. Thus, the assertion that extractedStyle is not null is reasonable. + Hence, this patch fixes this bug by skipping over atomic nodes when we apply style. + + Test: editing/style/apply-style-atomic.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): + (WebCore::ApplyStyleCommand::removeInlineStyle): + +2012-08-28 Thiago Marcos P. Santos <thiago.santos@intel.com> + + [EFL] Range input ignores padding + https://bugs.webkit.org/show_bug.cgi?id=94595 + + Reviewed by Kenneth Rohde Christiansen. + + We do not constrain the slider size anymore since it was ignoring the + padding. Also paint the slider thumb on the step it was suppose + to be painted. WebKit will now take care of the positioning of the + thumb, the behavior will be now more coherent with other ports. + + As side effect, this patch also fixes setting a slider RTL that wasn't + working before and can be verified by the existing tests. Also + datalist will stop at tick marks. + + No new tests, rebaselined the existing ones and unskipping failures. + + * platform/efl/RenderThemeEfl.cpp: + (WebCore): + (WebCore::RenderThemeEfl::paintThemePart): + (WebCore::RenderThemeEfl::edjeGroupFromFormType): + (WebCore::RenderThemeEfl::adjustSliderTrackStyle): + (WebCore::RenderThemeEfl::adjustSliderThumbStyle): + (WebCore::RenderThemeEfl::adjustSliderThumbSize): + (WebCore::RenderThemeEfl::paintSliderThumb): + * platform/efl/RenderThemeEfl.h: + +2012-08-28 Kevin Funk <kevin.funk@kdab.com> + + Compile fix: use fabs() instead of abs() for doubles + https://bugs.webkit.org/show_bug.cgi?id=95184 + + Reviewed by Kentaro Hara. + + Simple compilation fix. + + * platform/ScrollAnimatorNone.cpp: + +2012-08-28 Christophe Dumez <christophe.dumez@intel.com> + + REGRESSION (r124512): Failures in MathML Presentation tests on GTK and EFL + https://bugs.webkit.org/show_bug.cgi?id=93073 + + Reviewed by Kenneth Rohde Christiansen. + + Provide SimpleFontData::platformBoundsForGlyph() implementation + for FreeType backend. This fixes several CSS line-box-contain + test cases as well as the MathML tests for ports using + FreeType. + + No new tests, already covered by: + fast/block/lineboxcontain/block-glyphs-replaced.html + fast/block/lineboxcontain/glyphs.html + mathml/* + + * platform/graphics/freetype/SimpleFontDataFreeType.cpp: + (WebCore::SimpleFontData::platformBoundsForGlyph): + +2012-08-28 Allan Sandfeld Jensen <allan.jensen@nokia.com> + + Rename HitTestPoint and pointInContainer + https://bugs.webkit.org/show_bug.cgi?id=90992 + + Reviewed by Eric Seidel. + + The former hitTestPoint is not just a point. It can be either a point or an area being + hit tested. This patches renames 'point' to 'location' to make it more obvious that the + code does not only handle points. + + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::nodeAtPoint): + * rendering/EllipsisBox.h: + (EllipsisBox): + * rendering/HitTestResult.cpp: + (WebCore::HitTestLocation::HitTestLocation): + (WebCore::HitTestLocation::~HitTestLocation): + (WebCore::HitTestLocation::operator=): + (WebCore::HitTestLocation::move): + (WebCore::HitTestLocation::intersectsRect): + (WebCore::HitTestLocation::intersects): + (WebCore::HitTestLocation::rectForPoint): + (WebCore::HitTestResult::HitTestResult): + (WebCore::HitTestResult::operator=): + (WebCore::HitTestResult::addNodeToRectBasedTestResult): + (WebCore::HitTestResult::dictationAlternatives): + * rendering/HitTestResult.h: + (HitTestLocation): + (HitTestResult): + (WebCore::HitTestResult::hitTestLocation): + * rendering/InlineBox.cpp: + (WebCore::InlineBox::nodeAtPoint): + * rendering/InlineBox.h: + (InlineBox): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::nodeAtPoint): + * rendering/InlineFlowBox.h: + (InlineFlowBox): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::nodeAtPoint): + * rendering/InlineTextBox.h: + (InlineTextBox): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::isPointInOverflowControl): + (WebCore::RenderBlock::nodeAtPoint): + (WebCore::RenderBlock::hitTestFloats): + (WebCore::RenderBlock::hitTestColumns): + (WebCore::RenderBlock::adjustForColumnRect): + (WebCore::RenderBlock::hitTestContents): + * rendering/RenderBlock.h: + (RenderBlock): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::nodeAtPoint): + * rendering/RenderBox.h: + (RenderBox): + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::nodeAtPoint): + * rendering/RenderEmbeddedObject.h: + (RenderEmbeddedObject): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::hitTestRegion): + * rendering/RenderFlowThread.h: + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::nodeAtPoint): + * rendering/RenderFrameSet.h: + (RenderFrameSet): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::nodeAtPoint): + * rendering/RenderImage.h: + (RenderImage): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::nodeAtPoint): + * rendering/RenderInline.h: + (RenderInline): + * rendering/RenderLayer.cpp: + (WebCore::ClipRect::intersects): + (WebCore::RenderLayer::hitTest): + (WebCore::RenderLayer::createLocalTransformState): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::hitTestContents): + (WebCore::RenderLayer::hitTestList): + (WebCore::RenderLayer::hitTestPaginatedChildLayer): + (WebCore::RenderLayer::hitTestChildLayerColumns): + * rendering/RenderLayer.h: + (ClipRect): + (RenderLayer): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::hitTest): + * rendering/RenderLineBoxList.h: + (RenderLineBoxList): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::isPointInOverflowControl): + (WebCore::RenderListBox::nodeAtPoint): + * rendering/RenderListBox.h: + (RenderListBox): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::hitTest): + (WebCore::RenderObject::nodeAtPoint): + * rendering/RenderObject.h: + (RenderObject): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::nodeAtPoint): + * rendering/RenderRegion.h: + (RenderRegion): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::nodeAtPoint): + * rendering/RenderTable.h: + (RenderTable): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::nodeAtPoint): + * rendering/RenderTableRow.h: + (RenderTableRow): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::nodeAtPoint): + * rendering/RenderTableSection.h: + (RenderTableSection): + * rendering/RenderText.h: + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::nodeAtPoint): + * rendering/RenderTextControlMultiLine.h: + (RenderTextControlMultiLine): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::nodeAtPoint): + * rendering/RenderTextControlSingleLine.h: + (RenderTextControlSingleLine): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::nodeAtPoint): + * rendering/RenderWidget.h: + (RenderWidget): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::nodeAtPoint): + * rendering/RootInlineBox.h: + (RootInlineBox): + * rendering/svg/RenderSVGForeignObject.cpp: + (WebCore::RenderSVGForeignObject::nodeAtFloatPoint): + (WebCore::RenderSVGForeignObject::nodeAtPoint): + * rendering/svg/RenderSVGForeignObject.h: + (RenderSVGForeignObject): + * rendering/svg/RenderSVGModelObject.cpp: + (WebCore::RenderSVGModelObject::nodeAtPoint): + * rendering/svg/RenderSVGModelObject.h: + (RenderSVGModelObject): + * rendering/svg/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::nodeAtPoint): + * rendering/svg/RenderSVGRoot.h: + (RenderSVGRoot): + * rendering/svg/RenderSVGText.cpp: + (WebCore::RenderSVGText::nodeAtFloatPoint): + (WebCore::RenderSVGText::nodeAtPoint): + * rendering/svg/RenderSVGText.h: + (RenderSVGText): + * rendering/svg/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::nodeAtPoint): + * rendering/svg/SVGInlineTextBox.h: + (SVGInlineTextBox): + +2012-08-28 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] New test introduced in r126611 fails: fast/css/image-set-setting.html + https://bugs.webkit.org/show_bug.cgi?id=95054 + + Reviewed by Eric Seidel. + + Add missing files to the build for CSS_IMAGE_SET. + + * Target.pri: + +2012-08-28 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: introduce overlay page and migrate "paused in debugger" to it. + https://bugs.webkit.org/show_bug.cgi?id=95080 + + Reviewed by Yury Semikhatsky. + + Separate page instance is now used to render overlay. Paused in debugger is migrated to the new overlay. + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/InspectorOverlay.cpp: + (WebCore::InspectorOverlay::~InspectorOverlay): + (WebCore): + (WebCore::InspectorOverlay::paint): + (WebCore::InspectorOverlay::drawOutline): + (WebCore::InspectorOverlay::setPausedInDebuggerMessage): + (WebCore::InspectorOverlay::drawNodeHighlight): + (WebCore::InspectorOverlay::drawRectHighlight): + (WebCore::InspectorOverlay::drawOverlayPage): + (WebCore::InspectorOverlay::overlayPage): + (WebCore::InspectorOverlay::evaluateInOverlay): + * inspector/InspectorOverlay.h: + (InspectorOverlay): + * inspector/InspectorOverlayPage.html: Added. + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::didPaint): + +2012-08-28 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: [WebGL] Simple experimental frontend implementation + https://bugs.webkit.org/show_bug.cgi?id=94696 + + Reviewed by Vsevolod Vlasov. + + A simple experimental frontend for WebGL instrumentation. + This is a draft unpolished UI just to start with. Iterations on the UI will follow. + + * WebCore.gypi: + * inspector/front-end/Settings.js: + (WebInspector.ExperimentsSettings): + * inspector/front-end/WebGLPanel.js: Added. + (WebInspector.WebGLPanel): + (WebInspector.WebGLPanel.prototype.get toolbarItemLabel): + (WebInspector.WebGLPanel.prototype.get statusBarItems): + (WebInspector.WebGLPanel.prototype.wasShown): + (WebInspector.WebGLPanel.prototype.willHide): + (WebInspector.WebGLPanel.prototype._toggleWebGLInspection): + (WebInspector.WebGLPanel.prototype._onCaptureFrameButtonClick): + (WebInspector.WebGLPanel.prototype._onTraceLogListItemClick): + (WebInspector.WebGLPanel.prototype._onFunctionCallItemClick): + (WebInspector.WebGLManager): + (WebInspector.WebGLManager.prototype.start): + (WebInspector.WebGLManager.prototype.stop): + (WebInspector.WebGLManager.prototype.dropTraceLog): + (WebInspector.WebGLManager.prototype.captureFrame): + (WebInspector.WebGLManager.prototype.getTraceLog): + (WebInspector.WebGLManager.prototype.replayTraceLog): + (WebInspector.WebGLManager.prototype._started): + (WebInspector.WebGLManager.prototype._stopped): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector._panelDescriptors): + * inspector/front-end/webGLPanel.css: Added. + (.webgl-toggle-status-bar-item .glyph): + (.webgl-toggle-status-bar-item.toggled-on .glyph): + (.webgl-trace-logs-list): + (.webgl-trace-log): + (.webgl-trace-logs-list div, .webgl-trace-log div): + (#webgl-capture-frame-button): + (#webgl-replay-image-container): + (#webgl-replay-image): + +2012-08-28 Kentaro Hara <haraken@chromium.org> + + Unreviewed, rolling out r126852. + http://trac.webkit.org/changeset/126852 + https://bugs.webkit.org/show_bug.cgi?id=94433 + + broke qt and mac tests + + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::create): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::initScript): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::initializeIfNeeded): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::WindowSetTimeoutImpl): + * page/ContentSecurityPolicy.cpp: + (CSPDirectiveList): + (WebCore::CSPDirectiveList::reportViolation): + (WebCore::CSPDirectiveList::checkEvalAndReportViolation): + (WebCore::CSPDirectiveList::allowEval): + (WebCore::ContentSecurityPolicy::didReceiveHeader): + (WebCore): + (WebCore::isAllowedByAllWithCallStack): + (WebCore::ContentSecurityPolicy::allowEval): + (WebCore::ContentSecurityPolicy::reportViolation): + (WebCore::ContentSecurityPolicy::logToConsole): + * page/ContentSecurityPolicy.h: + (WebCore): + * page/DOMSecurityPolicy.cpp: + (WebCore::DOMSecurityPolicy::allowsEval): + +2012-08-28 Mike West <mkwst@chromium.org> + + Add call stacks to Content Security Policy checks when relevant. + https://bugs.webkit.org/show_bug.cgi?id=94433 + + Reviewed by Adam Barth. + + Previously, we generated stack traces only for eval-related CSP + violations. As it turns out, we can call createScriptCallStack from + practically anywhere. This patch takes advantage of that to generate + stack traces whenever a warning is logged to the console. If we're in + a JavaScript stack, brilliant: we get a detailed warning. If not, the + stack trace is empty, and we don't pass it into the console logging + method. + + This has the advantage of giving us good developer-facing logging for + any and all violations that result from script-based injection of + resources. Yay! + + Tests: http/tests/inspector/csp-injected-content-warning-contains-stacktrace.html + http/tests/inspector/csp-inline-warning-contains-stacktrace.html + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::initScript): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::create): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::initContextIfNeeded): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::WindowSetTimeoutImpl): + Dropping stack trace from call to ContentSecurityPolicy::allowEval. + * page/ContentSecurityPolicy.cpp: + (CSPDirectiveList): + (WebCore::CSPDirectiveList::reportViolation): + (WebCore::CSPDirectiveList::checkEvalAndReportViolation): + (WebCore::CSPDirectiveList::allowEval): + No longer piping a stack trace through CSPDirectiveList::allowEval + to reportViolation. + (WebCore::ContentSecurityPolicy::didReceiveHeader): + Dropping stack trace from call to ContentSecurityPolicy::allowEval. + (WebCore): + (WebCore::isAllowedByAll): + (WebCore::ContentSecurityPolicy::allowEval): + (WebCore::ContentSecurityPolicy::reportViolation): + (WebCore::ContentSecurityPolicy::logToConsole): + No longer piping a stack trace through ContentSecurityPolicy down to + the point where it would be logged. Instead, we simply generate the + stack trace just before logging it, and only pass it to + addConsoleMessage if it's non-empty. + * page/ContentSecurityPolicy.h: + (WebCore): + * page/DOMSecurityPolicy.cpp: + (WebCore::DOMSecurityPolicy::allowsEval): + Dropping stack trace from call to ContentSecurityPolicy::allowEval. + +2012-08-27 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: persist the state of glue records to parents button of Timeline panel + https://bugs.webkit.org/show_bug.cgi?id=95091 + + Reviewed by Vsevolod Vlasov. + + Add a setting for "Glue records" button on the timeline, use it to persist the state of the button. + + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel): + (WebInspector.TimelinePanel.prototype._createStatusBarItems.get this): + (WebInspector.TimelinePanel.prototype._createStatusBarItems): + +2012-08-27 Taiju Tsuiki <tzik@chromium.org> + + Web Inspector: Add delete button to FileSystemView + https://bugs.webkit.org/show_bug.cgi?id=93940 + + Reviewed by Vsevolod Vlasov. + + Adding status bar button to allow user to delete entries in FileSystem + for debugging use. + + Test: http/tests/inspector/filesystem/delete-entry.html + + * inspector/front-end/FileSystemModel.js: + (WebInspector.FileSystemModel.prototype.requestFileContent): + (WebInspector.FileSystemModel.prototype.deleteEntry.hookFileSystemDeletion): + (WebInspector.FileSystemModel.prototype.deleteEntry): + (WebInspector.FileSystemModel.prototype._removeFileSystem): + (WebInspector.FileSystemModel.Entry.prototype.deleteEntry): + (WebInspector.FileSystemRequestManager): + (WebInspector.FileSystemRequestManager.prototype.deleteEntry.requestAccepted): + (WebInspector.FileSystemRequestManager.prototype.deleteEntry): + (WebInspector.FileSystemRequestManager.prototype._deletionCompleted): + (WebInspector.FileSystemDispatcher.prototype.deletionCompleted): + * inspector/front-end/FileSystemView.js: + (WebInspector.FileSystemView): + (WebInspector.FileSystemView.prototype.get statusBarItems): + (WebInspector.FileSystemView.prototype._refresh): + (WebInspector.FileSystemView.prototype._confirmDelete): + (WebInspector.FileSystemView.prototype._delete): + (WebInspector.FileSystemView.EntryTreeElement.prototype.deleteEntry): + (WebInspector.FileSystemView.EntryTreeElement.prototype._deletionCompleted): + +2012-08-27 Yoshifumi Inoue <yosin@chromium.org> + + [ShadowDOM] Shadow elements in the input element should be focusable. + https://bugs.webkit.org/show_bug.cgi?id=95169 + + Reviewed by Kent Tamura. + + This patch introduces new virtual function HTMLElement::hasCustomFocusLogic() + to allow input type implementations to use shadow element with focus + navigation. + + No new tests. This patch doesn't change behavior. + + (WebCore::HTMLElement::hasCustomFocusLogic): Added to return false as + default value. + * html/HTMLElement.h: + (HTMLElement): Added a declaration of hasCustomFocusLogic(). + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::hasCustomFocusLogic): Added to call InputType::hasCustomFocusLogic(), + * html/HTMLInputElement.h: + (HTMLInputElement): Added a declaration of hasCustomFocusLogic(). + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::hasCustomFocusLogic): Added to return true for "audio" and "video" elements. + * html/HTMLMediaElement.h: + (HTMLMediaElement): Add a declaration of hasCustomFocusLogic() + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::hasCustomFocusLogic): Added to return true. + * html/HTMLTextAreaElement.h: + (HTMLTextAreaElement): Add a declaration of hasCustomFocusLogic(). + * page/FocusController.cpp: + (WebCore::hasCustomFocusLogic): Changed to call HTMLElement::hasCustomFocusLogic() + rather than checking tag names. + * html/InputType.cpp: + (WebCore::InputType::hasCustomFocusLogic): Added to return true as default value. + * html/InputType.h: + (InputType): Added a declaration of hasCustomFocusLogic(). + +2012-08-27 Beth Dakin <bdakin@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=94848 + When paged-x/y is specified on the root, columnGap is ignored, and garbage pixels + are likely + + Reviewed by Dan Bernstein. + + We used to call setPagination() from applyOverflowToViewport(), but that is too + late. We want to setPagination() before we actually lay anything out so that all + of the styles (including columnGap!) will be properly set on the RenderView. + + No longer handle pagination here since we take care of it in + applyPaginationToViewport() + * page/FrameView.cpp: + (WebCore::FrameView::applyOverflowToViewport): + + New function to call setPagination(). This function gets the appropriate renderer + and uses its RenderStyle to determine if pagination should be set. + (WebCore::FrameView::applyPaginationToViewport): + (WebCore): + + Call applyPaginationToViewport() before the call to updateStyleIfNeeded(). + (WebCore::FrameView::layout): + + This code was meant to prevent garbage pixels in column gaps for pagination on the + RenderView, but paintContents() does not always get called when we paint into + tiles, so I moved this code to RenderView. + (WebCore::FrameView::paintContents): + * page/FrameView.h: + (FrameView): + + The code from RenderView::paintContents() to prevent garbage pixels is moved here. + * rendering/RenderView.cpp: + (WebCore::RenderView::paint): + +2012-08-27 Kent Tamura <tkent@chromium.org> + + REGRESSION(r109480): Form state for iframe content is not restored + https://bugs.webkit.org/show_bug.cgi?id=90870 + + Reviewed by Jochen Eisinger. + + Since r109480, we have restored form state only for documents + loaded by FrameLoader::loadItem(). However we should restore form + state for documents in sub-frames of documents loaded by + FrameLoader::loadItem(). + + Test: fast/loader/form-state-restore-with-frames.html + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::isAncestorOf): + Added. A function to search descendants for the specified + HistoryItem. This is used by isAssociatedToRequestedHistoryItem(). + * history/HistoryItem.h: + (HistoryItem): Declare isAncestorOf(). + * loader/HistoryController.cpp: + (WebCore::HistoryController::saveDocumentState): + Don't save form state for detached document. + This is needed because saveDocumentState() is called twice; before + document detach and after document detach. We need to avoid the + latter call because formElementsState() for a detached document + produces an empty state. + (WebCore::isAssociatedToRequestedHistoryItem): + Added. This function checks the current HistoryItem is associated + to the HistoryItem specified to FrameLoader::loadItem(). + (WebCore::HistoryController::restoreDocumentState): + Uses isAssociatedToRequestedHistoryItem(). + +2012-08-27 Ian Vollick <vollick@chromium.org> + + [chromium] Should accelerate rotations of >= 180 degrees + https://bugs.webkit.org/show_bug.cgi?id=94860 + + Reviewed by James Robinson. + + WebTransformOperation now stores enough information to interpolate + without resorting to WebTransformationMatrix::blend which is both + expensive, and in the case of big rotations, error prone. For example, + we now store the axis and angle for rotations, so if two rotations are + interpolated, and they are about the same axis, we can simply + interpolate the angles. + + Unit tests: + WebTransformOperationTest.transformTypesAreUnique + WebTransformOperationTest.matchTypesSameLength + WebTransformOperationTest.identityAlwaysMatches + WebTransformOperationTest.largeRotationsWithSameAxis + WebTransformOperationTest.largeRotationsWithSameAxisInDifferentDirection + WebTransformOperationTest.largeRotationsWithDifferentAxes + WebTransformOperationTest.blendRotationFromIdentity + WebTransformOperationTest.blendTranslationFromIdentity + WebTransformOperationTest.blendScaleFromIdentity + WebTransformOperationTest.blendSkewFromIdentity + WebTransformOperationTest.blendPerspectiveFromIdentity + WebTransformOperationTest.blendRotationToIdentity + WebTransformOperationTest.blendTranslationToIdentity + WebTransformOperationTest.blendScaleToIdentity + WebTransformOperationTest.blendSkewToIdentity + WebTransformOperationTest.blendPerspectiveToIdentity + AnimationTranslationUtilTest.createTransformAnimationWithBigRotation + AnimationTranslationUtilTest.createTransformAnimationWithBigRotationAndEmptyTransformOperationList + + * platform/chromium/support/WebTransformOperations.cpp: + (std): + (WebKit::WebTransformOperation::WebTransformOperation): + (WebTransformOperation): + Added x y z and angle. + (WebKit::WebTransformOperation::isIdentity): + Returns true if this->matrix.isIdentity() + (WebKit::isIdentity): + Returns true if the argument is null or ->isIdentity() + (WebKit): + (WebKit::shareSameAxis): + A helper function that determines if two transform operations + share the same axis. Also returns the axis and 'from' angle + to use in the interpolation (in case the axes point in different + directions). + (WebKit::blendDoubles): + Linearly interpolates doubles. + (WebKit::blendTransformOperations): + Blends two WebTransformOperation objects. + (WebKit::WebTransformOperations::blend): + Blends two WebTransformOperations objects, taking special care + when either isIdentity(). + (WebKit::WebTransformOperations::matchesTypes): + Was changed to reflect the fact that identity transform operations + match anything. + (WebKit::WebTransformOperations::appendTranslate): + (WebKit::WebTransformOperations::appendRotate): + (WebKit::WebTransformOperations::appendScale): + (WebKit::WebTransformOperations::appendSkew): + (WebKit::WebTransformOperations::appendPerspective): + (WebKit::WebTransformOperations::appendIdentity): + The 'append' functions all populate the new members in + WebTransformOperation. + (WebKit::WebTransformOperations::isIdentity): + Returns false iff any of its transform operations !isIdentity(). + * platform/graphics/chromium/AnimationTranslationUtil.cpp: + (WebCore::toWebTransformOperations): + (WebCore::WebTransformAnimationCurve): + Removed the >= 180 degree restriction. + +2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126836. + http://trac.webkit.org/changeset/126836 + https://bugs.webkit.org/show_bug.cgi?id=95163 + + Broke all Apple ports, EFL, and Qt. (Requested by tkent on + #webkit). + + * Modules/geolocation/Geolocation.cpp: + (WebCore::Geolocation::Watchers::find): + (WebCore::Geolocation::Watchers::remove): + * Modules/indexeddb/IDBDatabase.cpp: + (WebCore::IDBDatabase::objectStoreNames): + * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::metadata): + * Modules/indexeddb/IDBFactoryBackendImpl.cpp: + (WebCore::IDBFactoryBackendImpl::deleteDatabase): + (WebCore::IDBFactoryBackendImpl::openBackingStore): + (WebCore::IDBFactoryBackendImpl::open): + * Modules/indexeddb/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::indexNames): + (WebCore::IDBObjectStore::put): + (WebCore::IDBObjectStore::index): + (WebCore::IDBObjectStore::deleteIndex): + * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::metadata): + (WebCore::makeIndexWriters): + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + * Modules/indexeddb/IDBTransaction.cpp: + (WebCore::IDBTransaction::objectStore): + (WebCore::IDBTransaction::objectStoreDeleted): + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::dispatchEvent): + * Modules/webdatabase/AbstractDatabase.cpp: + (WebCore::AbstractDatabase::performOpenAndVerify): + * Modules/webdatabase/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::interruptAllDatabasesForContext): + * Modules/webdatabase/OriginUsageRecord.cpp: + (WebCore::OriginUsageRecord::diskUsage): + * Modules/webdatabase/SQLTransactionCoordinator.cpp: + (WebCore::SQLTransactionCoordinator::acquireLock): + (WebCore::SQLTransactionCoordinator::releaseLock): + (WebCore::SQLTransactionCoordinator::shutdown): + * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: + (WebCore::DatabaseTracker::interruptAllDatabasesForContext): + * Modules/webdatabase/chromium/QuotaTracker.cpp: + (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin): + (WebCore::QuotaTracker::updateDatabaseSize): + * Modules/websockets/WebSocketDeflateFramer.cpp: + (WebCore::WebSocketExtensionDeflateFrame::processResponse): + * Modules/websockets/WebSocketExtensionDispatcher.cpp: + (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension): + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::~AXObjectCache): + * bindings/gobject/DOMObjectCache.cpp: + (WebKit::DOMObjectCache::clearByFrame): + * bindings/js/DOMObjectHashTableMap.h: + (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): + (WebCore::DOMObjectHashTableMap::get): + * bindings/js/JSDOMBinding.cpp: + (WebCore::cacheDOMStructure): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::visitChildren): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::getDOMConstructor): + * bindings/js/PageScriptDebugServer.cpp: + (WebCore::PageScriptDebugServer::addListener): + (WebCore::PageScriptDebugServer::removeListener): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::~ScriptController): + (WebCore::ScriptController::clearWindowShell): + (WebCore::ScriptController::attachDebugger): + (WebCore::ScriptController::updateDocument): + (WebCore::ScriptController::createRootObject): + (WebCore::ScriptController::collectIsolatedContexts): + (WebCore::ScriptController::cleanupScriptObjectsForPlugin): + (WebCore::ScriptController::clearScriptObjects): + * bindings/js/ScriptController.h: + (WebCore::ScriptController::windowShell): + (WebCore::ScriptController::existingWindowShell): + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + (WebCore::ScriptDebugServer::hasBreakpoint): + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::checkForDuplicate): + (WebCore::CloneSerializer::dumpIfTerminal): + (WebCore::CloneSerializer::write): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateImplementation): + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::V8Float64Array::GetRawTemplate): + (WebCore::V8Float64Array::GetTemplate): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::GetRawTemplate): + (WebCore::V8TestActiveDOMObject::GetTemplate): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: + (WebCore::V8TestCustomNamedGetter::GetRawTemplate): + (WebCore::V8TestCustomNamedGetter::GetTemplate): + * bindings/scripts/test/V8/V8TestEventConstructor.cpp: + (WebCore::V8TestEventConstructor::GetRawTemplate): + (WebCore::V8TestEventConstructor::GetTemplate): + * bindings/scripts/test/V8/V8TestEventTarget.cpp: + (WebCore::V8TestEventTarget::GetRawTemplate): + (WebCore::V8TestEventTarget::GetTemplate): + * bindings/scripts/test/V8/V8TestException.cpp: + (WebCore::V8TestException::GetRawTemplate): + (WebCore::V8TestException::GetTemplate): + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::V8TestInterface::GetRawTemplate): + (WebCore::V8TestInterface::GetTemplate): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::GetRawTemplate): + (WebCore::V8TestMediaQueryListListener::GetTemplate): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructor::GetRawTemplate): + (WebCore::V8TestNamedConstructor::GetTemplate): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::GetRawTemplate): + (WebCore::V8TestNode::GetTemplate): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::V8TestObj::GetRawTemplate): + (WebCore::V8TestObj::GetTemplate): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate): + (WebCore::V8TestSerializedScriptValueInterface::GetTemplate): + * bindings/v8/DOMWrapperWorld.cpp: + (WebCore::DOMWrapperWorld::deallocate): + (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld): + * bindings/v8/NPV8Object.cpp: + (WebCore::freeV8NPObject): + (WebCore::npCreateV8ScriptObject): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::clearScriptObjects): + (WebCore::ScriptController::resetIsolatedWorlds): + (WebCore::ScriptController::evaluateInIsolatedWorld): + (WebCore::ScriptController::setIsolatedWorldSecurityOrigin): + (WebCore::ScriptController::cleanupScriptObjectsForPlugin): + (WebCore::ScriptController::collectIsolatedContexts): + * bindings/v8/SerializedScriptValue.cpp: + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::removeIfPresent): + (WebCore::WeakReferenceMap::visit): + * bindings/v8/V8GCController.cpp: + (WebCore::enumerateGlobalHandles): + * bindings/v8/V8PerContextData.cpp: + (WebCore::V8PerContextData::dispose): + * bindings/v8/npruntime.cpp: + * bridge/IdentifierRep.cpp: + (WebCore::IdentifierRep::get): + * bridge/NP_jsobject.cpp: + (ObjectMap::add): + (ObjectMap::remove): + * bridge/jni/jsc/JavaClassJSC.cpp: + (JavaClass::~JavaClass): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::WeakMap::set): + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::canvasChanged): + (WebCore::CSSCanvasValue::canvasResized): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::counterToCSSValue): + * css/CSSCrossfadeValue.cpp: + (WebCore::CSSCrossfadeValue::crossfadeChanged): + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + (WebCore::CSSFontSelector::getFontData): + * css/CSSImageGeneratorValue.cpp: + (WebCore::CSSImageGeneratorValue::addClient): + (WebCore::CSSImageGeneratorValue::removeClient): + (WebCore::CSSImageGeneratorValue::getImage): + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::getFontData): + * css/CSSSelector.cpp: + (WebCore::CSSSelector::parsePseudoType): + * css/CSSValuePool.cpp: + (WebCore::CSSValuePool::createColorValue): + (WebCore::CSSValuePool::createFontFamilyValue): + (WebCore::CSSValuePool::createFontFaceValue): + * css/PropertySetCSSStyleDeclaration.cpp: + (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM): + * css/StyleBuilder.cpp: + (WebCore::ApplyPropertyCounter::applyInheritValue): + (WebCore::ApplyPropertyCounter::applyValue): + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectFeatures): + (WebCore::StyleResolver::ruleSetForScope): + (WebCore::StyleResolver::appendAuthorStylesheets): + (WebCore::StyleResolver::sweepMatchedPropertiesCache): + (WebCore::StyleResolver::collectMatchingRulesForList): + * css/StyleSheetContents.cpp: + (WebCore::StyleSheetContents::parserAddNamespace): + (WebCore::StyleSheetContents::determineNamespace): + * dom/CheckedRadioButtons.cpp: + (WebCore::CheckedRadioButtons::addButton): + (WebCore::CheckedRadioButtons::removeButton): + * dom/ChildListMutationScope.cpp: + (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel): + * dom/Document.cpp: + (WebCore::Document::pageGroupUserSheets): + (WebCore::Document::windowNamedItems): + (WebCore::Document::documentNamedItems): + (WebCore::Document::getCSSCanvasElement): + * dom/DocumentMarkerController.cpp: + (WebCore::DocumentMarkerController::markerContainingPoint): + (WebCore::DocumentMarkerController::renderedRectsForMarkers): + (WebCore::DocumentMarkerController::removeMarkers): + (WebCore::DocumentMarkerController::repaintMarkers): + (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect): + (WebCore::DocumentMarkerController::showMarkers): + * dom/DocumentOrderedMap.cpp: + (WebCore::DocumentOrderedMap::remove): + * dom/ElementAttributeData.cpp: + (WebCore::ensureAttrListForElement): + * dom/EventDispatcher.cpp: + (WebCore::EventRelatedTargetAdjuster::findRelatedTarget): + * dom/EventListenerMap.cpp: + (WebCore::EventListenerMap::eventTypes): + (WebCore::EventListenerMap::add): + (WebCore::EventListenerMap::remove): + (WebCore::EventListenerMap::find): + (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup): + (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget): + (WebCore::EventListenerIterator::nextListener): + * dom/IdTargetObserverRegistry.cpp: + (WebCore::IdTargetObserverRegistry::addObserver): + (WebCore::IdTargetObserverRegistry::removeObserver): + * dom/MemoryInstrumentation.h: + (WebCore::MemoryInstrumentation::addInstrumentedMapEntries): + (WebCore::MemoryInstrumentation::addInstrumentedMapValues): + * dom/MutationObserverInterestGroup.cpp: + (WebCore::MutationObserverInterestGroup::isOldValueRequested): + (WebCore::MutationObserverInterestGroup::enqueueMutationRecord): + * dom/Node.cpp: + (WebCore::Node::dumpStatistics): + (WebCore::Node::clearRareData): + (WebCore::NodeListsNodeData::invalidateCaches): + (WebCore::Node::collectMatchingObserversForMutation): + * dom/NodeRareData.h: + (WebCore::NodeListsNodeData::addCacheWithAtomicName): + (WebCore::NodeListsNodeData::addCacheWithName): + (WebCore::NodeListsNodeData::addCacheWithQualifiedName): + (WebCore::NodeListsNodeData::adoptTreeScope): + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): + (WebCore::ScriptExecutionContext::stopActiveDOMObjects): + (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval): + * dom/SelectorQuery.cpp: + (WebCore::SelectorQueryCache::add): + * dom/SpaceSplitString.cpp: + (WebCore::SpaceSplitStringData::create): + * dom/StyledElement.cpp: + (WebCore::StyledElement::updateAttributeStyle): + * editing/mac/AlternativeTextUIController.mm: + (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext): + * html/FormController.cpp: + (WebCore::SavedFormState::serializeTo): + (WebCore::SavedFormState::appendControlState): + (WebCore::SavedFormState::takeControlState): + (WebCore::SavedFormState::getReferencedFilePaths): + (WebCore::FormKeyGenerator::formKey): + (WebCore::FormController::createSavedFormStateMap): + (WebCore::FormController::formElementsState): + (WebCore::FormController::takeStateForFormElement): + (WebCore::FormController::getReferencedFilePaths): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollectionCacheBase::append): + * html/canvas/WebGLFramebuffer.cpp: + (WebCore::WebGLFramebuffer::getAttachment): + (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer): + (WebCore::WebGLFramebuffer::checkStatus): + (WebCore::WebGLFramebuffer::deleteObjectImpl): + (WebCore::WebGLFramebuffer::initializeAttachments): + * inspector/CodeGeneratorInspector.py: + * inspector/DOMPatchSupport.cpp: + (WebCore::DOMPatchSupport::diff): + (WebCore::DOMPatchSupport::innerPatchChildren): + (WebCore::DOMPatchSupport::removeChildAndMoveToNew): + * inspector/InjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::injectedScriptForId): + (WebCore::InjectedScriptManager::injectedScriptIdFor): + (WebCore::InjectedScriptManager::discardInjectedScriptsFor): + (WebCore::InjectedScriptManager::releaseObjectGroup): + (WebCore::InjectedScriptManager::injectedScriptFor): + * inspector/InspectorCSSAgent.cpp: + (WebCore::SelectorProfile::commitSelector): + (WebCore::SelectorProfile::commitSelectorTime): + (WebCore::SelectorProfile::toInspectorObject): + (WebCore::InspectorCSSAgent::forcePseudoState): + (WebCore::InspectorCSSAgent::asInspectorStyleSheet): + (WebCore::InspectorCSSAgent::assertStyleSheetForId): + (WebCore::InspectorCSSAgent::didRemoveDOMNode): + (WebCore::InspectorCSSAgent::didModifyDOMAttr): + (WebCore::InspectorCSSAgent::resetPseudoStates): + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::stopTiming): + (WebCore::InspectorConsoleAgent::count): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::nodeForId): + (WebCore::InspectorDOMAgent::performSearch): + (WebCore::InspectorDOMAgent::getSearchResults): + * inspector/InspectorDOMDebuggerAgent.cpp: + (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest): + * inspector/InspectorDOMStorageAgent.cpp: + (WebCore::InspectorDOMStorageAgent::clearFrontend): + (WebCore::InspectorDOMStorageAgent::enable): + (WebCore::InspectorDOMStorageAgent::storageId): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): + (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache): + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::enable): + (WebCore::InspectorDatabaseAgent::databaseId): + (WebCore::InspectorDatabaseAgent::findByFileName): + (WebCore::InspectorDatabaseAgent::databaseForId): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::searchInContent): + (WebCore::InspectorDebuggerAgent::getScriptSource): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorIndexedDBAgent.cpp: + (WebCore): + * inspector/InspectorMemoryAgent.cpp: + (WebCore): + * inspector/InspectorPageAgent.cpp: + (WebCore::cachedResourcesForFrame): + (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): + (WebCore::InspectorPageAgent::frameDetached): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::getProfileHeaders): + (WebCore): + (WebCore::InspectorProfilerAgent::getProfile): + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForHeaders): + (WebCore::InspectorResourceAgent::willSendRequest): + * inspector/InspectorState.cpp: + (WebCore::InspectorState::getBoolean): + (WebCore::InspectorState::getString): + (WebCore::InspectorState::getLong): + (WebCore::InspectorState::getDouble): + (WebCore::InspectorState::getObject): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::styleWithProperties): + (WebCore::InspectorStyleSheet::inspectorStyleForId): + * inspector/InspectorValues.cpp: + (WebCore::InspectorObjectBase::get): + (WebCore::InspectorObjectBase::writeJSON): + * inspector/InspectorWorkerAgent.cpp: + (WebCore::InspectorWorkerAgent::workerContextTerminated): + (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers): + (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels): + * inspector/NetworkResourcesData.cpp: + (WebCore::NetworkResourcesData::removeCachedResource): + (WebCore::NetworkResourcesData::clear): + * loader/CrossOriginAccessControl.cpp: + (WebCore::isSimpleCrossOriginAccessRequest): + (WebCore::createAccessControlPreflightRequest): + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): + (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::getSubresources): + (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + * loader/ResourceLoadScheduler.cpp: + (WebCore::ResourceLoadScheduler::servePendingRequests): + * loader/appcache/ApplicationCache.cpp: + (WebCore::ApplicationCache::removeResource): + (WebCore::ApplicationCache::clearStorageID): + (WebCore::ApplicationCache::dump): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): + (WebCore::ApplicationCacheGroup::startLoadingEntry): + (WebCore::ApplicationCacheGroup::addEntry): + * loader/appcache/ApplicationCacheHost.cpp: + (WebCore::ApplicationCacheHost::fillResourceList): + * loader/appcache/ApplicationCacheResource.cpp: + (WebCore::ApplicationCacheResource::estimatedSizeInStorage): + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): + (WebCore::ApplicationCacheStorage::cacheGroupForURL): + (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): + (WebCore::ApplicationCacheStorage::store): + (WebCore::ApplicationCacheStorage::empty): + (WebCore::ApplicationCacheStorage::storeCopyOfCache): + * loader/archive/ArchiveFactory.cpp: + (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): + * loader/cache/CachedRawResource.cpp: + (WebCore::CachedRawResource::canReuse): + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::switchClientsToRevalidatedResource): + (WebCore::CachedResource::updateResponseAfterRevalidation): + * loader/cache/CachedResourceClientWalker.h: + (WebCore::CachedResourceClientWalker::CachedResourceClientWalker): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::setAutoLoadImages): + (WebCore::CachedResourceLoader::removeCachedResource): + (WebCore::CachedResourceLoader::garbageCollectDocumentResources): + (WebCore::CachedResourceLoader::reportMemoryUsage): + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::removeResourcesWithOrigin): + (WebCore::MemoryCache::getOriginsWithCache): + (WebCore::MemoryCache::getStatistics): + (WebCore::MemoryCache::reportMemoryUsage): + (WebCore::MemoryCache::setDisabled): + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::removeAllIcons): + (WebCore::IconDatabase::iconRecordCountWithData): + (WebCore::IconDatabase::performPendingRetainAndReleaseOperations): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): + (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleTouchEvent): + * page/Frame.cpp: + (WebCore::Frame::injectUserScripts): + * page/PageGroup.cpp: + (WebCore::PageGroup::pageGroup): + (WebCore::PageGroup::closeLocalStorage): + (WebCore::PageGroup::clearLocalStorageForAllOrigins): + (WebCore::PageGroup::clearLocalStorageForOrigin): + (WebCore::PageGroup::syncLocalStorage): + (WebCore::PageGroup::addUserScriptToWorld): + (WebCore::PageGroup::addUserStyleSheetToWorld): + (WebCore::PageGroup::removeUserScriptFromWorld): + (WebCore::PageGroup::removeUserStyleSheetFromWorld): + * page/PageSerializer.cpp: + (WebCore::PageSerializer::urlForBlankFrame): + * page/SecurityPolicy.cpp: + (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry): + (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry): + * page/Settings.cpp: + (WebCore::setGenericFontFamilyMap): + (WebCore::getGenericFontFamilyForScript): + * page/SpeechInput.cpp: + (WebCore::SpeechInput::registerListener): + * page/WindowFeatures.cpp: + (WebCore::WindowFeatures::boolFeature): + (WebCore::WindowFeatures::floatFeature): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateAnimations): + (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument): + (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument): + (WebCore::AnimationControllerPrivate::numberOfActiveAnimations): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::clearRenderer): + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::getAnimatedStyle): + (WebCore::CompositeAnimation::setAnimating): + (WebCore::CompositeAnimation::timeToNextService): + (WebCore::CompositeAnimation::getAnimationForProperty): + (WebCore::CompositeAnimation::suspendAnimations): + (WebCore::CompositeAnimation::resumeAnimations): + (WebCore::CompositeAnimation::overrideImplicitAnimations): + (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): + (WebCore::CompositeAnimation::isAnimatingProperty): + (WebCore::CompositeAnimation::numberOfActiveAnimations): + * platform/Language.cpp: + (WebCore::languageDidChange): + * platform/MIMETypeRegistry.cpp: + (WebCore::MIMETypeRegistry::getNormalizedMIMEType): + * platform/audio/HRTFElevation.cpp: + (WebCore::getConcatenatedImpulseResponsesForSubject): + * platform/blackberry/CookieManager.cpp: + (WebCore::CookieManager::generateHtmlFragmentForCookies): + (WebCore::CookieManager::removeAllCookies): + * platform/blackberry/CookieMap.cpp: + (WebCore::CookieMap::removeOldestCookie): + (WebCore::CookieMap::getAllChildCookies): + * platform/cf/BinaryPropertyList.cpp: + (WebCore::BinaryPropertyListPlan::writeIntegerArray): + * platform/chromium/support/WebHTTPLoadInfo.cpp: + (WebKit::addHeader): + * platform/chromium/support/WebURLRequest.cpp: + (WebKit::WebURLRequest::visitHTTPHeaderFields): + * platform/chromium/support/WebURLResponse.cpp: + (WebKit::WebURLResponse::addHTTPHeaderField): + (WebKit::WebURLResponse::visitHTTPHeaderFields): + * platform/graphics/DisplayRefreshMonitor.cpp: + (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient): + (WebCore::DisplayRefreshMonitorManager::unregisterClient): + * platform/graphics/FontCache.cpp: + (WebCore::FontCache::getCachedFontPlatformData): + (WebCore::FontCache::getCachedFontData): + (WebCore::FontCache::releaseFontData): + (WebCore::FontCache::purgeInactiveFontData): + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::treeGlyphPageCount): + (WebCore::GlyphPageTreeNode::pageCount): + (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): + (WebCore::GlyphPageTreeNode::pruneTreeFontData): + (WebCore::GlyphPageTreeNode::pruneCustomFontData): + (WebCore::GlyphPageTreeNode::pruneFontData): + (WebCore::GlyphPageTreeNode::showSubtree): + (showGlyphPageTrees): + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::updateTileBuffers): + (WebCore::TiledBackingStore::resizeEdgeTiles): + (WebCore::TiledBackingStore::setKeepRect): + * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: + (WebCore::AVFWrapper::avfWrapperForCallbackContext): + * platform/graphics/blackberry/LayerTiler.cpp: + (WebCore::LayerTiler::layerVisibilityChanged): + (WebCore::LayerTiler::uploadTexturesIfNeeded): + (WebCore::LayerTiler::addTileJob): + (WebCore::LayerTiler::deleteTextures): + (WebCore::LayerTiler::pruneTextures): + (WebCore::LayerTiler::bindContentsTexture): + * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: + (WebCore::TextureCacheCompositingThread::textureForTiledContents): + (WebCore::TextureCacheCompositingThread::textureForColor): + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::moveOrCopyAnimations): + (WebCore::GraphicsLayerCA::pauseAnimation): + (WebCore::GraphicsLayerCA::layerDidDisplay): + (WebCore::GraphicsLayerCA::updateGeometry): + (WebCore::GraphicsLayerCA::updateTransform): + (WebCore::GraphicsLayerCA::updateChildrenTransform): + (WebCore::GraphicsLayerCA::updateMasksToBounds): + (WebCore::GraphicsLayerCA::updateContentsVisibility): + (WebCore::GraphicsLayerCA::updateContentsOpaque): + (WebCore::GraphicsLayerCA::updateBackfaceVisibility): + (WebCore::GraphicsLayerCA::updateFilters): + (WebCore::GraphicsLayerCA::ensureStructuralLayer): + (WebCore::GraphicsLayerCA::updateLayerDrawsContent): + (WebCore::GraphicsLayerCA::updateContentsImage): + (WebCore::GraphicsLayerCA::updateContentsRect): + (WebCore::GraphicsLayerCA::updateMaskLayer): + (WebCore::GraphicsLayerCA::updateLayerAnimations): + (WebCore::GraphicsLayerCA::setAnimationOnLayer): + (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): + (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): + (WebCore::GraphicsLayerCA::suspendAnimations): + (WebCore::GraphicsLayerCA::resumeAnimations): + (WebCore::GraphicsLayerCA::findOrMakeClone): + (WebCore::GraphicsLayerCA::setOpacityInternal): + (WebCore::GraphicsLayerCA::updateOpacityOnLayer): + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::setNeedsDisplay): + (WebCore::TileCache::setScale): + (WebCore::TileCache::setAcceleratesDrawing): + (WebCore::TileCache::setTileDebugBorderWidth): + (WebCore::TileCache::setTileDebugBorderColor): + (WebCore::TileCache::revalidateTiles): + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + (PlatformCALayer::animationStarted): + (resubmitAllAnimations): + (PlatformCALayer::animationForKey): + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::LookupAltName): + (WebCore::fontContainsCharacter): + * platform/graphics/chromium/FontUtilsChromiumWin.cpp: + (WebCore::getDerivedFontData): + * platform/graphics/chromium/TiledLayerChromium.cpp: + (WebCore::TiledLayerChromium::pushPropertiesTo): + (WebCore::TiledLayerChromium::setLayerTreeHost): + (WebCore::TiledLayerChromium::invalidateContentRect): + (WebCore::TiledLayerChromium::setTexturePriorities): + (WebCore::TiledLayerChromium::resetUpdateState): + * platform/graphics/chromium/cc/CCDamageTracker.cpp: + (WebCore::CCDamageTracker::trackDamageFromLeftoverRects): + * platform/graphics/chromium/cc/CCDirectRenderer.cpp: + (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame): + * platform/graphics/chromium/cc/CCLayerTilingData.cpp: + (WebCore::CCLayerTilingData::setBounds): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::~CCLayerTreeHost): + (WebCore::CCLayerTreeHost::startRateLimiter): + (WebCore::CCLayerTreeHost::stopRateLimiter): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::findRenderPassById): + * platform/graphics/chromium/cc/CCResourceProvider.cpp: + (WebCore::CCResourceProvider::inUseByConsumer): + (WebCore::CCResourceProvider::deleteResource): + (WebCore::CCResourceProvider::deleteOwnedResources): + (WebCore::CCResourceProvider::resourceType): + (WebCore::CCResourceProvider::upload): + (WebCore::CCResourceProvider::lockForRead): + (WebCore::CCResourceProvider::unlockForRead): + (WebCore::CCResourceProvider::lockForWrite): + (WebCore::CCResourceProvider::unlockForWrite): + (WebCore::CCResourceProvider::destroyChild): + (WebCore::CCResourceProvider::getChildToParentMap): + (WebCore::CCResourceProvider::prepareSendToParent): + (WebCore::CCResourceProvider::prepareSendToChild): + (WebCore::CCResourceProvider::receiveFromChild): + (WebCore::CCResourceProvider::receiveFromParent): + (WebCore::CCResourceProvider::transferResource): + (WebCore::CCResourceProvider::trimMailboxDeque): + * platform/graphics/filters/CustomFilterGlobalContext.cpp: + (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext): + (WebCore::CustomFilterGlobalContext::getCompiledProgram): + * platform/graphics/filters/CustomFilterProgram.cpp: + (WebCore::CustomFilterProgram::notifyClients): + * platform/graphics/harfbuzz/HarfBuzzSkia.cpp: + (WebCore::getCachedHarfbuzzFace): + (WebCore::releaseCachedHarfbuzzFace): + * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp: + (WebCore::HarfBuzzNGFace::HarfBuzzNGFace): + (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace): + * platform/graphics/mac/SimpleFontDataCoreText.cpp: + (WebCore::SimpleFontData::getCFStringAttributes): + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): + * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: + (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): + * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getShaderSource): + * platform/graphics/openvg/EGLDisplayOpenVG.cpp: + (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): + (WebCore::EGLDisplayOpenVG::destroySurface): + (WebCore::EGLDisplayOpenVG::contextForSurface): + * platform/graphics/texmap/TextureMapperGL.cpp: + (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData): + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore::TextureMapperShaderManager::getShaderProgram): + (WebCore::TextureMapperShaderManager::getShaderForFilter): + * platform/graphics/wince/FontPlatformData.cpp: + (WebCore::FixedSizeFontData::create): + * platform/gtk/DataObjectGtk.cpp: + (WebCore::DataObjectGtk::forClipboard): + * platform/gtk/GtkDragAndDropHelper.cpp: + (WebCore::GtkDragAndDropHelper::handleGetDragData): + (WebCore::GtkDragAndDropHelper::handleDragLeave): + (WebCore::GtkDragAndDropHelper::handleDragMotion): + (WebCore::GtkDragAndDropHelper::handleDragDataReceived): + (WebCore::GtkDragAndDropHelper::handleDragDrop): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::gtkStyleChangedCallback): + (WebCore::getStyleContext): + * platform/mac/ScrollbarThemeMac.mm: + (+[WebScrollbarPrefsObserver appearancePrefsChanged:]): + * platform/network/CredentialStorage.cpp: + (WebCore::CredentialStorage::set): + (WebCore::CredentialStorage::get): + * platform/network/HTTPHeaderMap.cpp: + (WebCore::HTTPHeaderMap::copyData): + (WebCore::HTTPHeaderMap::get): + * platform/network/MIMEHeader.cpp: + (WebCore::MIMEHeader::parseHeader): + * platform/network/ResourceHandle.cpp: + (WebCore::ResourceHandle::create): + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::addHTTPHeaderField): + (WebCore::ResourceRequestBase::addHTTPHeaderFields): + * platform/network/blackberry/ResourceRequestBlackBerry.cpp: + (WebCore::ResourceRequest::targetTypeFromMimeType): + (WebCore::ResourceRequest::initializePlatformRequest): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::makeFinalRequest): + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::setHeaderFields): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::initializeHandle): + * platform/network/mac/ResourceRequestMac.mm: + (WebCore::ResourceRequest::doUpdatePlatformRequest): + * platform/network/qt/ResourceRequestQt.cpp: + (WebCore::ResourceRequest::toNetworkRequest): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::sendRequestCallback): + (WebCore::ResourceHandle::setClientCertificate): + * platform/network/soup/ResourceRequestSoup.cpp: + (WebCore::ResourceRequest::updateSoupMessage): + (WebCore::ResourceRequest::toSoupMessage): + * platform/network/soup/ResourceResponseSoup.cpp: + (WebCore::ResourceResponse::toSoupMessage): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::start): + * platform/qt/RunLoopQt.cpp: + (WebCore::RunLoop::TimerBase::timerFired): + * platform/text/LocaleToScriptMappingDefault.cpp: + (WebCore::scriptNameToCode): + (WebCore::localeToScriptCodeForFontSelection): + * platform/text/TextEncodingRegistry.cpp: + (WebCore::pruneBlacklistedCodecs): + (WebCore::dumpTextEncodingNameMap): + * platform/text/transcoder/FontTranscoder.cpp: + (WebCore::FontTranscoder::converterType): + * platform/text/win/TextCodecWin.cpp: + (WebCore::LanguageManager::LanguageManager): + (WebCore::getCodePage): + (WebCore::TextCodecWin::registerExtendedEncodingNames): + (WebCore::TextCodecWin::registerExtendedCodecs): + (WebCore::TextCodecWin::enumerateSupportedEncodings): + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::getDataMapItem): + (WebCore::getClipboardData): + (WebCore::setClipboardData): + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::types): + * platform/win/FileSystemWin.cpp: + (WebCore::cachedStorageDirectory): + * platform/win/RunLoopWin.cpp: + (WebCore::RunLoop::TimerBase::timerFired): + * platform/win/WCDataObject.cpp: + (WebCore::WCDataObject::createInstance): + * platform/wince/MIMETypeRegistryWinCE.cpp: + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + * platform/wx/ContextMenuWx.cpp: + (WebCore::ContextMenu::appendItem): + * plugins/PluginDatabase.cpp: + (WebCore::PluginDatabase::refresh): + (WebCore::PluginDatabase::MIMETypeForExtension): + (WebCore::PluginDatabase::remove): + * plugins/PluginMainThreadScheduler.cpp: + (WebCore::PluginMainThreadScheduler::scheduleCall): + (WebCore::PluginMainThreadScheduler::dispatchCalls): + * plugins/PluginStream.cpp: + (WebCore::PluginStream::startStream): + * plugins/blackberry/PluginDataBlackBerry.cpp: + (WebCore::PluginData::initPlugins): + * plugins/wx/PluginDataWx.cpp: + (WebCore::PluginData::initPlugins): + * rendering/FlowThreadController.cpp: + (WebCore::FlowThreadController::unregisterNamedFlowContentNode): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::requiresIdeographicBaseline): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clearFloats): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::setLogicalWidthForTextRun): + * rendering/RenderBoxModelObject.cpp: + (WebCore::ImageQualityController::highQualityRepaintTimerFired): + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + * rendering/RenderCounter.cpp: + (WebCore::RenderCounter::destroyCounterNodes): + (WebCore::RenderCounter::destroyCounterNode): + (WebCore::updateCounters): + (WebCore::RenderCounter::rendererStyleChanged): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::setRegionRangeForBox): + (WebCore::RenderFlowThread::getRegionRangeForBox): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paint): + (WebCore::performOverlapTests): + * rendering/RenderLayerFilterInfo.cpp: + (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer): + (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dependsOn): + (WebCore::RenderNamedFlowThread::pushDependencies): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::setRenderBoxRegionInfo): + (WebCore::RenderRegion::setRegionObjectsRegionStyle): + (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle): + (WebCore::RenderRegion::computeChildrenStyleInRegion): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::cachedCollapsedBorder): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::systemColor): + * rendering/RenderView.cpp: + (WebCore::RenderView::selectionBounds): + (WebCore::RenderView::setSelection): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::ascentAndDescentForBox): + * rendering/VerticalPositionCache.h: + (WebCore::VerticalPositionCache::get): + * rendering/WrapShapeInfo.cpp: + (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock): + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): + * rendering/svg/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): + * rendering/svg/RenderSVGResourceGradient.cpp: + (WebCore::RenderSVGResourceGradient::applyResource): + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::applyResource): + * rendering/svg/SVGResourcesCache.cpp: + (WebCore::SVGResourcesCache::resourceDestroyed): + * rendering/svg/SVGRootInlineBox.cpp: + (WebCore::swapItemsInLayoutAttributes): + * rendering/svg/SVGTextLayoutAttributes.cpp: + (WebCore::SVGTextLayoutAttributes::dump): + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: + (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap): + (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap): + * rendering/svg/SVGTextLayoutEngine.cpp: + (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): + * rendering/svg/SVGTextMetricsBuilder.cpp: + (WebCore::SVGTextMetricsBuilder::measureTextRenderer): + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::syncTimerFired): + (WebCore::StorageAreaSync::performImport): + (WebCore::StorageAreaSync::sync): + * storage/StorageMap.cpp: + (WebCore::StorageMap::key): + (WebCore::StorageMap::setItem): + * storage/StorageNamespaceImpl.cpp: + (WebCore::StorageNamespaceImpl::localStorageNamespace): + (WebCore::StorageNamespaceImpl::copy): + (WebCore::StorageNamespaceImpl::close): + (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion): + (WebCore::StorageNamespaceImpl::sync): + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): + (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): + (WebCore::SVGDocumentExtensions::addPendingResource): + (WebCore::SVGDocumentExtensions::isElementPendingResources): + (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): + (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): + (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): + (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): + * svg/SVGElement.cpp: + (WebCore::SVGElement::~SVGElement): + * svg/animation/SMILTimeContainer.cpp: + (WebCore::SMILTimeContainer::updateAnimations): + * svg/graphics/SVGImageCache.cpp: + (WebCore::SVGImageCache::~SVGImageCache): + (WebCore::SVGImageCache::removeClientFromCache): + (WebCore::SVGImageCache::requestedSizeAndScales): + (WebCore::SVGImageCache::imageContentChanged): + (WebCore::SVGImageCache::redraw): + (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer): + * svg/graphics/filters/SVGFilterBuilder.h: + (WebCore::SVGFilterBuilder::effectReferences): + (WebCore::SVGFilterBuilder::addBuiltinEffects): + * svg/properties/SVGAnimatedProperty.h: + (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): + * svg/properties/SVGAttributeToPropertyMap.cpp: + (WebCore::SVGAttributeToPropertyMap::addProperties): + (WebCore::SVGAttributeToPropertyMap::synchronizeProperties): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::hasPendingActivity): + * workers/WorkerEventQueue.cpp: + (WebCore::WorkerEventQueue::close): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::setRequestHeaderInternal): + (WebCore::XMLHttpRequest::getAllResponseHeaders): + * xml/XPathFunctions.cpp: + (WebCore::XPath::createFunction): + * xml/XPathParser.cpp: + (isAxisName): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::xsltParamArrayFromParameterMap): + * xml/XSLTProcessorQt.cpp: + (WebCore::XSLTProcessor::transformToString): + +2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> + + Rename first/second to key/value in HashMap iterators + https://bugs.webkit.org/show_bug.cgi?id=82784 + + Reviewed by Eric Seidel. + + * Modules/geolocation/Geolocation.cpp: + (WebCore::Geolocation::Watchers::find): + (WebCore::Geolocation::Watchers::remove): + * Modules/indexeddb/IDBDatabase.cpp: + (WebCore::IDBDatabase::objectStoreNames): + * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::metadata): + * Modules/indexeddb/IDBFactoryBackendImpl.cpp: + (WebCore::IDBFactoryBackendImpl::deleteDatabase): + (WebCore::IDBFactoryBackendImpl::openBackingStore): + (WebCore::IDBFactoryBackendImpl::open): + * Modules/indexeddb/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::indexNames): + (WebCore::IDBObjectStore::put): + (WebCore::IDBObjectStore::index): + (WebCore::IDBObjectStore::deleteIndex): + * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::metadata): + (WebCore::makeIndexWriters): + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + * Modules/indexeddb/IDBTransaction.cpp: + (WebCore::IDBTransaction::objectStore): + (WebCore::IDBTransaction::objectStoreDeleted): + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::dispatchEvent): + * Modules/webdatabase/AbstractDatabase.cpp: + (WebCore::AbstractDatabase::performOpenAndVerify): + * Modules/webdatabase/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::interruptAllDatabasesForContext): + * Modules/webdatabase/OriginUsageRecord.cpp: + (WebCore::OriginUsageRecord::diskUsage): + * Modules/webdatabase/SQLTransactionCoordinator.cpp: + (WebCore::SQLTransactionCoordinator::acquireLock): + (WebCore::SQLTransactionCoordinator::releaseLock): + (WebCore::SQLTransactionCoordinator::shutdown): + * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: + (WebCore::DatabaseTracker::interruptAllDatabasesForContext): + * Modules/webdatabase/chromium/QuotaTracker.cpp: + (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin): + (WebCore::QuotaTracker::updateDatabaseSize): + * Modules/websockets/WebSocketDeflateFramer.cpp: + (WebCore::WebSocketExtensionDeflateFrame::processResponse): + * Modules/websockets/WebSocketExtensionDispatcher.cpp: + (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension): + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::~AXObjectCache): + * bindings/gobject/DOMObjectCache.cpp: + (WebKit::DOMObjectCache::clearByFrame): + * bindings/js/DOMObjectHashTableMap.h: + (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): + (WebCore::DOMObjectHashTableMap::get): + * bindings/js/JSDOMBinding.cpp: + (WebCore::cacheDOMStructure): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::visitChildren): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::getDOMConstructor): + * bindings/js/PageScriptDebugServer.cpp: + (WebCore::PageScriptDebugServer::addListener): + (WebCore::PageScriptDebugServer::removeListener): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): + (WebCore::ScriptCachedFrameData::restore): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::~ScriptController): + (WebCore::ScriptController::clearWindowShell): + (WebCore::ScriptController::attachDebugger): + (WebCore::ScriptController::updateDocument): + (WebCore::ScriptController::createRootObject): + (WebCore::ScriptController::collectIsolatedContexts): + (WebCore::ScriptController::cleanupScriptObjectsForPlugin): + (WebCore::ScriptController::clearScriptObjects): + * bindings/js/ScriptController.h: + (WebCore::ScriptController::windowShell): + (WebCore::ScriptController::existingWindowShell): + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + (WebCore::ScriptDebugServer::hasBreakpoint): + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::checkForDuplicate): + (WebCore::CloneSerializer::dumpIfTerminal): + (WebCore::CloneSerializer::write): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateImplementation): + * bindings/scripts/test/V8/V8Float64Array.cpp: + (WebCore::V8Float64Array::GetRawTemplate): + (WebCore::V8Float64Array::GetTemplate): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::GetRawTemplate): + (WebCore::V8TestActiveDOMObject::GetTemplate): + * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: + (WebCore::V8TestCustomNamedGetter::GetRawTemplate): + (WebCore::V8TestCustomNamedGetter::GetTemplate): + * bindings/scripts/test/V8/V8TestEventConstructor.cpp: + (WebCore::V8TestEventConstructor::GetRawTemplate): + (WebCore::V8TestEventConstructor::GetTemplate): + * bindings/scripts/test/V8/V8TestEventTarget.cpp: + (WebCore::V8TestEventTarget::GetRawTemplate): + (WebCore::V8TestEventTarget::GetTemplate): + * bindings/scripts/test/V8/V8TestException.cpp: + (WebCore::V8TestException::GetRawTemplate): + (WebCore::V8TestException::GetTemplate): + * bindings/scripts/test/V8/V8TestInterface.cpp: + (WebCore::V8TestInterface::GetRawTemplate): + (WebCore::V8TestInterface::GetTemplate): + * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: + (WebCore::V8TestMediaQueryListListener::GetRawTemplate): + (WebCore::V8TestMediaQueryListListener::GetTemplate): + * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: + (WebCore::V8TestNamedConstructor::GetRawTemplate): + (WebCore::V8TestNamedConstructor::GetTemplate): + * bindings/scripts/test/V8/V8TestNode.cpp: + (WebCore::V8TestNode::GetRawTemplate): + (WebCore::V8TestNode::GetTemplate): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::V8TestObj::GetRawTemplate): + (WebCore::V8TestObj::GetTemplate): + * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: + (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate): + (WebCore::V8TestSerializedScriptValueInterface::GetTemplate): + * bindings/v8/DOMWrapperWorld.cpp: + (WebCore::DOMWrapperWorld::deallocate): + (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld): + * bindings/v8/NPV8Object.cpp: + (WebCore::freeV8NPObject): + (WebCore::npCreateV8ScriptObject): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::clearScriptObjects): + (WebCore::ScriptController::resetIsolatedWorlds): + (WebCore::ScriptController::evaluateInIsolatedWorld): + (WebCore::ScriptController::setIsolatedWorldSecurityOrigin): + (WebCore::ScriptController::cleanupScriptObjectsForPlugin): + (WebCore::ScriptController::collectIsolatedContexts): + * bindings/v8/SerializedScriptValue.cpp: + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::removeIfPresent): + (WebCore::WeakReferenceMap::visit): + * bindings/v8/V8GCController.cpp: + (WebCore::enumerateGlobalHandles): + * bindings/v8/V8PerContextData.cpp: + (WebCore::V8PerContextData::dispose): + * bindings/v8/npruntime.cpp: + * bridge/IdentifierRep.cpp: + (WebCore::IdentifierRep::get): + * bridge/NP_jsobject.cpp: + (ObjectMap::add): + (ObjectMap::remove): + * bridge/jni/jsc/JavaClassJSC.cpp: + (JavaClass::~JavaClass): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::WeakMap::set): + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::canvasChanged): + (WebCore::CSSCanvasValue::canvasResized): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::counterToCSSValue): + * css/CSSCrossfadeValue.cpp: + (WebCore::CSSCrossfadeValue::crossfadeChanged): + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + (WebCore::CSSFontSelector::getFontData): + * css/CSSImageGeneratorValue.cpp: + (WebCore::CSSImageGeneratorValue::addClient): + (WebCore::CSSImageGeneratorValue::removeClient): + (WebCore::CSSImageGeneratorValue::getImage): + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::getFontData): + * css/CSSSelector.cpp: + (WebCore::CSSSelector::parsePseudoType): + * css/CSSValuePool.cpp: + (WebCore::CSSValuePool::createColorValue): + (WebCore::CSSValuePool::createFontFamilyValue): + (WebCore::CSSValuePool::createFontFaceValue): + * css/PropertySetCSSStyleDeclaration.cpp: + (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM): + * css/StyleBuilder.cpp: + (WebCore::ApplyPropertyCounter::applyInheritValue): + (WebCore::ApplyPropertyCounter::applyValue): + * css/StyleResolver.cpp: + (WebCore::StyleResolver::collectFeatures): + (WebCore::StyleResolver::ruleSetForScope): + (WebCore::StyleResolver::appendAuthorStylesheets): + (WebCore::StyleResolver::sweepMatchedPropertiesCache): + (WebCore::StyleResolver::collectMatchingRulesForList): + * css/StyleSheetContents.cpp: + (WebCore::StyleSheetContents::parserAddNamespace): + (WebCore::StyleSheetContents::determineNamespace): + * dom/CheckedRadioButtons.cpp: + (WebCore::CheckedRadioButtons::addButton): + (WebCore::CheckedRadioButtons::removeButton): + * dom/ChildListMutationScope.cpp: + (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel): + (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel): + * dom/Document.cpp: + (WebCore::Document::pageGroupUserSheets): + (WebCore::Document::windowNamedItems): + (WebCore::Document::documentNamedItems): + (WebCore::Document::getCSSCanvasElement): + * dom/DocumentMarkerController.cpp: + (WebCore::DocumentMarkerController::markerContainingPoint): + (WebCore::DocumentMarkerController::renderedRectsForMarkers): + (WebCore::DocumentMarkerController::removeMarkers): + (WebCore::DocumentMarkerController::repaintMarkers): + (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect): + (WebCore::DocumentMarkerController::showMarkers): + * dom/DocumentOrderedMap.cpp: + (WebCore::DocumentOrderedMap::remove): + * dom/ElementAttributeData.cpp: + (WebCore::ensureAttrListForElement): + * dom/EventDispatcher.cpp: + (WebCore::EventRelatedTargetAdjuster::findRelatedTarget): + * dom/EventListenerMap.cpp: + (WebCore::EventListenerMap::eventTypes): + (WebCore::EventListenerMap::add): + (WebCore::EventListenerMap::remove): + (WebCore::EventListenerMap::find): + (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup): + (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget): + (WebCore::EventListenerIterator::nextListener): + * dom/IdTargetObserverRegistry.cpp: + (WebCore::IdTargetObserverRegistry::addObserver): + (WebCore::IdTargetObserverRegistry::removeObserver): + * dom/MemoryInstrumentation.h: + (WebCore::MemoryInstrumentation::addInstrumentedMapEntries): + (WebCore::MemoryInstrumentation::addInstrumentedMapValues): + * dom/MutationObserverInterestGroup.cpp: + (WebCore::MutationObserverInterestGroup::isOldValueRequested): + (WebCore::MutationObserverInterestGroup::enqueueMutationRecord): + * dom/Node.cpp: + (WebCore::Node::dumpStatistics): + (WebCore::Node::clearRareData): + (WebCore::NodeListsNodeData::invalidateCaches): + (WebCore::Node::collectMatchingObserversForMutation): + * dom/NodeRareData.h: + (WebCore::NodeListsNodeData::addCacheWithAtomicName): + (WebCore::NodeListsNodeData::addCacheWithName): + (WebCore::NodeListsNodeData::addCacheWithQualifiedName): + (WebCore::NodeListsNodeData::adoptTreeScope): + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): + (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): + (WebCore::ScriptExecutionContext::stopActiveDOMObjects): + (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval): + * dom/SelectorQuery.cpp: + (WebCore::SelectorQueryCache::add): + * dom/SpaceSplitString.cpp: + (WebCore::SpaceSplitStringData::create): + * dom/StyledElement.cpp: + (WebCore::StyledElement::updateAttributeStyle): + * editing/mac/AlternativeTextUIController.mm: + (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext): + * html/FormController.cpp: + (WebCore::SavedFormState::serializeTo): + (WebCore::SavedFormState::appendControlState): + (WebCore::SavedFormState::takeControlState): + (WebCore::SavedFormState::getReferencedFilePaths): + (WebCore::FormKeyGenerator::formKey): + (WebCore::FormController::createSavedFormStateMap): + (WebCore::FormController::formElementsState): + (WebCore::FormController::takeStateForFormElement): + (WebCore::FormController::getReferencedFilePaths): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollectionCacheBase::append): + * html/canvas/WebGLFramebuffer.cpp: + (WebCore::WebGLFramebuffer::getAttachment): + (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer): + (WebCore::WebGLFramebuffer::checkStatus): + (WebCore::WebGLFramebuffer::deleteObjectImpl): + (WebCore::WebGLFramebuffer::initializeAttachments): + * inspector/CodeGeneratorInspector.py: + * inspector/DOMPatchSupport.cpp: + (WebCore::DOMPatchSupport::diff): + (WebCore::DOMPatchSupport::innerPatchChildren): + (WebCore::DOMPatchSupport::removeChildAndMoveToNew): + * inspector/InjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::injectedScriptForId): + (WebCore::InjectedScriptManager::injectedScriptIdFor): + (WebCore::InjectedScriptManager::discardInjectedScriptsFor): + (WebCore::InjectedScriptManager::releaseObjectGroup): + (WebCore::InjectedScriptManager::injectedScriptFor): + * inspector/InspectorCSSAgent.cpp: + (WebCore::SelectorProfile::commitSelector): + (WebCore::SelectorProfile::commitSelectorTime): + (WebCore::SelectorProfile::toInspectorObject): + (WebCore::InspectorCSSAgent::forcePseudoState): + (WebCore::InspectorCSSAgent::asInspectorStyleSheet): + (WebCore::InspectorCSSAgent::assertStyleSheetForId): + (WebCore::InspectorCSSAgent::didRemoveDOMNode): + (WebCore::InspectorCSSAgent::didModifyDOMAttr): + (WebCore::InspectorCSSAgent::resetPseudoStates): + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::stopTiming): + (WebCore::InspectorConsoleAgent::count): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::nodeForId): + (WebCore::InspectorDOMAgent::performSearch): + (WebCore::InspectorDOMAgent::getSearchResults): + * inspector/InspectorDOMDebuggerAgent.cpp: + (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest): + * inspector/InspectorDOMStorageAgent.cpp: + (WebCore::InspectorDOMStorageAgent::clearFrontend): + (WebCore::InspectorDOMStorageAgent::enable): + (WebCore::InspectorDOMStorageAgent::storageId): + (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): + (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): + (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache): + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::enable): + (WebCore::InspectorDatabaseAgent::databaseId): + (WebCore::InspectorDatabaseAgent::findByFileName): + (WebCore::InspectorDatabaseAgent::databaseForId): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::removeBreakpoint): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::searchInContent): + (WebCore::InspectorDebuggerAgent::getScriptSource): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorIndexedDBAgent.cpp: + (WebCore): + * inspector/InspectorMemoryAgent.cpp: + (WebCore): + * inspector/InspectorPageAgent.cpp: + (WebCore::cachedResourcesForFrame): + (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): + (WebCore::InspectorPageAgent::frameDetached): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::getProfileHeaders): + (WebCore): + (WebCore::InspectorProfilerAgent::getProfile): + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForHeaders): + (WebCore::InspectorResourceAgent::willSendRequest): + * inspector/InspectorState.cpp: + (WebCore::InspectorState::getBoolean): + (WebCore::InspectorState::getString): + (WebCore::InspectorState::getLong): + (WebCore::InspectorState::getDouble): + (WebCore::InspectorState::getObject): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::styleWithProperties): + (WebCore::InspectorStyleSheet::inspectorStyleForId): + * inspector/InspectorValues.cpp: + (WebCore::InspectorObjectBase::get): + (WebCore::InspectorObjectBase::writeJSON): + * inspector/InspectorWorkerAgent.cpp: + (WebCore::InspectorWorkerAgent::workerContextTerminated): + (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers): + (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels): + * inspector/NetworkResourcesData.cpp: + (WebCore::NetworkResourcesData::removeCachedResource): + (WebCore::NetworkResourcesData::clear): + * loader/CrossOriginAccessControl.cpp: + (WebCore::isSimpleCrossOriginAccessRequest): + (WebCore::createAccessControlPreflightRequest): + * loader/CrossOriginPreflightResultCache.cpp: + (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): + (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::getSubresources): + (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + * loader/ResourceLoadScheduler.cpp: + (WebCore::ResourceLoadScheduler::servePendingRequests): + * loader/appcache/ApplicationCache.cpp: + (WebCore::ApplicationCache::removeResource): + (WebCore::ApplicationCache::clearStorageID): + (WebCore::ApplicationCache::dump): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): + (WebCore::ApplicationCacheGroup::startLoadingEntry): + (WebCore::ApplicationCacheGroup::addEntry): + * loader/appcache/ApplicationCacheHost.cpp: + (WebCore::ApplicationCacheHost::fillResourceList): + * loader/appcache/ApplicationCacheResource.cpp: + (WebCore::ApplicationCacheResource::estimatedSizeInStorage): + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): + (WebCore::ApplicationCacheStorage::cacheGroupForURL): + (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): + (WebCore::ApplicationCacheStorage::store): + (WebCore::ApplicationCacheStorage::empty): + (WebCore::ApplicationCacheStorage::storeCopyOfCache): + * loader/archive/ArchiveFactory.cpp: + (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): + * loader/cache/CachedRawResource.cpp: + (WebCore::CachedRawResource::canReuse): + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::switchClientsToRevalidatedResource): + (WebCore::CachedResource::updateResponseAfterRevalidation): + * loader/cache/CachedResourceClientWalker.h: + (WebCore::CachedResourceClientWalker::CachedResourceClientWalker): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::setAutoLoadImages): + (WebCore::CachedResourceLoader::removeCachedResource): + (WebCore::CachedResourceLoader::garbageCollectDocumentResources): + (WebCore::CachedResourceLoader::reportMemoryUsage): + * loader/cache/MemoryCache.cpp: + (WebCore::MemoryCache::removeResourcesWithOrigin): + (WebCore::MemoryCache::getOriginsWithCache): + (WebCore::MemoryCache::getStatistics): + (WebCore::MemoryCache::reportMemoryUsage): + (WebCore::MemoryCache::setDisabled): + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::removeAllIcons): + (WebCore::IconDatabase::iconRecordCountWithData): + (WebCore::IconDatabase::performPendingRetainAndReleaseOperations): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): + (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleTouchEvent): + * page/Frame.cpp: + (WebCore::Frame::injectUserScripts): + * page/PageGroup.cpp: + (WebCore::PageGroup::pageGroup): + (WebCore::PageGroup::closeLocalStorage): + (WebCore::PageGroup::clearLocalStorageForAllOrigins): + (WebCore::PageGroup::clearLocalStorageForOrigin): + (WebCore::PageGroup::syncLocalStorage): + (WebCore::PageGroup::addUserScriptToWorld): + (WebCore::PageGroup::addUserStyleSheetToWorld): + (WebCore::PageGroup::removeUserScriptFromWorld): + (WebCore::PageGroup::removeUserStyleSheetFromWorld): + * page/PageSerializer.cpp: + (WebCore::PageSerializer::urlForBlankFrame): + * page/SecurityPolicy.cpp: + (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry): + (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry): + * page/Settings.cpp: + (WebCore::setGenericFontFamilyMap): + (WebCore::getGenericFontFamilyForScript): + * page/SpeechInput.cpp: + (WebCore::SpeechInput::registerListener): + * page/WindowFeatures.cpp: + (WebCore::WindowFeatures::boolFeature): + (WebCore::WindowFeatures::floatFeature): + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::updateAnimations): + (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument): + (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument): + (WebCore::AnimationControllerPrivate::numberOfActiveAnimations): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::clearRenderer): + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::getAnimatedStyle): + (WebCore::CompositeAnimation::setAnimating): + (WebCore::CompositeAnimation::timeToNextService): + (WebCore::CompositeAnimation::getAnimationForProperty): + (WebCore::CompositeAnimation::suspendAnimations): + (WebCore::CompositeAnimation::resumeAnimations): + (WebCore::CompositeAnimation::overrideImplicitAnimations): + (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): + (WebCore::CompositeAnimation::isAnimatingProperty): + (WebCore::CompositeAnimation::numberOfActiveAnimations): + * platform/Language.cpp: + (WebCore::languageDidChange): + * platform/MIMETypeRegistry.cpp: + (WebCore::MIMETypeRegistry::getNormalizedMIMEType): + * platform/audio/HRTFElevation.cpp: + (WebCore::getConcatenatedImpulseResponsesForSubject): + * platform/blackberry/CookieManager.cpp: + (WebCore::CookieManager::generateHtmlFragmentForCookies): + (WebCore::CookieManager::removeAllCookies): + * platform/blackberry/CookieMap.cpp: + (WebCore::CookieMap::removeOldestCookie): + (WebCore::CookieMap::getAllChildCookies): + * platform/cf/BinaryPropertyList.cpp: + (WebCore::BinaryPropertyListPlan::writeIntegerArray): + * platform/chromium/support/WebHTTPLoadInfo.cpp: + (WebKit::addHeader): + * platform/chromium/support/WebURLRequest.cpp: + (WebKit::WebURLRequest::visitHTTPHeaderFields): + * platform/chromium/support/WebURLResponse.cpp: + (WebKit::WebURLResponse::addHTTPHeaderField): + (WebKit::WebURLResponse::visitHTTPHeaderFields): + * platform/graphics/DisplayRefreshMonitor.cpp: + (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient): + (WebCore::DisplayRefreshMonitorManager::unregisterClient): + * platform/graphics/FontCache.cpp: + (WebCore::FontCache::getCachedFontPlatformData): + (WebCore::FontCache::getCachedFontData): + (WebCore::FontCache::releaseFontData): + (WebCore::FontCache::purgeInactiveFontData): + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::treeGlyphPageCount): + (WebCore::GlyphPageTreeNode::pageCount): + (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): + (WebCore::GlyphPageTreeNode::pruneTreeFontData): + (WebCore::GlyphPageTreeNode::pruneCustomFontData): + (WebCore::GlyphPageTreeNode::pruneFontData): + (WebCore::GlyphPageTreeNode::showSubtree): + (showGlyphPageTrees): + * platform/graphics/TiledBackingStore.cpp: + (WebCore::TiledBackingStore::updateTileBuffers): + (WebCore::TiledBackingStore::resizeEdgeTiles): + (WebCore::TiledBackingStore::setKeepRect): + * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: + (WebCore::AVFWrapper::avfWrapperForCallbackContext): + * platform/graphics/blackberry/LayerTiler.cpp: + (WebCore::LayerTiler::layerVisibilityChanged): + (WebCore::LayerTiler::uploadTexturesIfNeeded): + (WebCore::LayerTiler::addTileJob): + (WebCore::LayerTiler::deleteTextures): + (WebCore::LayerTiler::pruneTextures): + (WebCore::LayerTiler::bindContentsTexture): + * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: + (WebCore::TextureCacheCompositingThread::textureForTiledContents): + (WebCore::TextureCacheCompositingThread::textureForColor): + * platform/graphics/ca/GraphicsLayerCA.cpp: + (WebCore::GraphicsLayerCA::moveOrCopyAnimations): + (WebCore::GraphicsLayerCA::pauseAnimation): + (WebCore::GraphicsLayerCA::layerDidDisplay): + (WebCore::GraphicsLayerCA::updateGeometry): + (WebCore::GraphicsLayerCA::updateTransform): + (WebCore::GraphicsLayerCA::updateChildrenTransform): + (WebCore::GraphicsLayerCA::updateMasksToBounds): + (WebCore::GraphicsLayerCA::updateContentsVisibility): + (WebCore::GraphicsLayerCA::updateContentsOpaque): + (WebCore::GraphicsLayerCA::updateBackfaceVisibility): + (WebCore::GraphicsLayerCA::updateFilters): + (WebCore::GraphicsLayerCA::ensureStructuralLayer): + (WebCore::GraphicsLayerCA::updateLayerDrawsContent): + (WebCore::GraphicsLayerCA::updateContentsImage): + (WebCore::GraphicsLayerCA::updateContentsRect): + (WebCore::GraphicsLayerCA::updateMaskLayer): + (WebCore::GraphicsLayerCA::updateLayerAnimations): + (WebCore::GraphicsLayerCA::setAnimationOnLayer): + (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): + (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): + (WebCore::GraphicsLayerCA::suspendAnimations): + (WebCore::GraphicsLayerCA::resumeAnimations): + (WebCore::GraphicsLayerCA::findOrMakeClone): + (WebCore::GraphicsLayerCA::setOpacityInternal): + (WebCore::GraphicsLayerCA::updateOpacityOnLayer): + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::setNeedsDisplay): + (WebCore::TileCache::setScale): + (WebCore::TileCache::setAcceleratesDrawing): + (WebCore::TileCache::setTileDebugBorderWidth): + (WebCore::TileCache::setTileDebugBorderColor): + (WebCore::TileCache::revalidateTiles): + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + (PlatformCALayer::animationStarted): + (resubmitAllAnimations): + (PlatformCALayer::animationForKey): + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::LookupAltName): + (WebCore::fontContainsCharacter): + * platform/graphics/chromium/FontUtilsChromiumWin.cpp: + (WebCore::getDerivedFontData): + * platform/graphics/chromium/TiledLayerChromium.cpp: + (WebCore::TiledLayerChromium::pushPropertiesTo): + (WebCore::TiledLayerChromium::setLayerTreeHost): + (WebCore::TiledLayerChromium::invalidateContentRect): + (WebCore::TiledLayerChromium::setTexturePriorities): + (WebCore::TiledLayerChromium::resetUpdateState): + * platform/graphics/chromium/cc/CCDamageTracker.cpp: + (WebCore::CCDamageTracker::trackDamageFromLeftoverRects): + * platform/graphics/chromium/cc/CCDirectRenderer.cpp: + (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame): + * platform/graphics/chromium/cc/CCLayerTilingData.cpp: + (WebCore::CCLayerTilingData::setBounds): + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::~CCLayerTreeHost): + (WebCore::CCLayerTreeHost::startRateLimiter): + (WebCore::CCLayerTreeHost::stopRateLimiter): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::findRenderPassById): + * platform/graphics/chromium/cc/CCResourceProvider.cpp: + (WebCore::CCResourceProvider::inUseByConsumer): + (WebCore::CCResourceProvider::deleteResource): + (WebCore::CCResourceProvider::deleteOwnedResources): + (WebCore::CCResourceProvider::resourceType): + (WebCore::CCResourceProvider::upload): + (WebCore::CCResourceProvider::lockForRead): + (WebCore::CCResourceProvider::unlockForRead): + (WebCore::CCResourceProvider::lockForWrite): + (WebCore::CCResourceProvider::unlockForWrite): + (WebCore::CCResourceProvider::destroyChild): + (WebCore::CCResourceProvider::getChildToParentMap): + (WebCore::CCResourceProvider::prepareSendToParent): + (WebCore::CCResourceProvider::prepareSendToChild): + (WebCore::CCResourceProvider::receiveFromChild): + (WebCore::CCResourceProvider::receiveFromParent): + (WebCore::CCResourceProvider::transferResource): + (WebCore::CCResourceProvider::trimMailboxDeque): + * platform/graphics/filters/CustomFilterGlobalContext.cpp: + (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext): + (WebCore::CustomFilterGlobalContext::getCompiledProgram): + * platform/graphics/filters/CustomFilterProgram.cpp: + (WebCore::CustomFilterProgram::notifyClients): + * platform/graphics/harfbuzz/HarfBuzzSkia.cpp: + (WebCore::getCachedHarfbuzzFace): + (WebCore::releaseCachedHarfbuzzFace): + * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp: + (WebCore::HarfBuzzNGFace::HarfBuzzNGFace): + (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace): + * platform/graphics/mac/SimpleFontDataCoreText.cpp: + (WebCore::SimpleFontData::getCFStringAttributes): + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): + * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: + (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): + * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getShaderSource): + * platform/graphics/openvg/EGLDisplayOpenVG.cpp: + (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): + (WebCore::EGLDisplayOpenVG::destroySurface): + (WebCore::EGLDisplayOpenVG::contextForSurface): + * platform/graphics/texmap/TextureMapperGL.cpp: + (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData): + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore::TextureMapperShaderManager::getShaderProgram): + (WebCore::TextureMapperShaderManager::getShaderForFilter): + * platform/graphics/wince/FontPlatformData.cpp: + (WebCore::FixedSizeFontData::create): + * platform/gtk/DataObjectGtk.cpp: + (WebCore::DataObjectGtk::forClipboard): + * platform/gtk/GtkDragAndDropHelper.cpp: + (WebCore::GtkDragAndDropHelper::handleGetDragData): + (WebCore::GtkDragAndDropHelper::handleDragLeave): + (WebCore::GtkDragAndDropHelper::handleDragMotion): + (WebCore::GtkDragAndDropHelper::handleDragDataReceived): + (WebCore::GtkDragAndDropHelper::handleDragDrop): + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::gtkStyleChangedCallback): + (WebCore::getStyleContext): + * platform/mac/ScrollbarThemeMac.mm: + (+[WebScrollbarPrefsObserver appearancePrefsChanged:]): + * platform/network/CredentialStorage.cpp: + (WebCore::CredentialStorage::set): + (WebCore::CredentialStorage::get): + * platform/network/HTTPHeaderMap.cpp: + (WebCore::HTTPHeaderMap::copyData): + (WebCore::HTTPHeaderMap::get): + * platform/network/MIMEHeader.cpp: + (WebCore::MIMEHeader::parseHeader): + * platform/network/ResourceHandle.cpp: + (WebCore::ResourceHandle::create): + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::addHTTPHeaderField): + (WebCore::ResourceRequestBase::addHTTPHeaderFields): + * platform/network/blackberry/ResourceRequestBlackBerry.cpp: + (WebCore::ResourceRequest::targetTypeFromMimeType): + (WebCore::ResourceRequest::initializePlatformRequest): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::makeFinalRequest): + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::setHeaderFields): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::initializeHandle): + * platform/network/mac/ResourceRequestMac.mm: + (WebCore::ResourceRequest::doUpdatePlatformRequest): + * platform/network/qt/ResourceRequestQt.cpp: + (WebCore::ResourceRequest::toNetworkRequest): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::sendRequestCallback): + (WebCore::ResourceHandle::setClientCertificate): + * platform/network/soup/ResourceRequestSoup.cpp: + (WebCore::ResourceRequest::updateSoupMessage): + (WebCore::ResourceRequest::toSoupMessage): + * platform/network/soup/ResourceResponseSoup.cpp: + (WebCore::ResourceResponse::toSoupMessage): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::start): + * platform/qt/RunLoopQt.cpp: + (WebCore::RunLoop::TimerBase::timerFired): + * platform/text/LocaleToScriptMappingDefault.cpp: + (WebCore::scriptNameToCode): + (WebCore::localeToScriptCodeForFontSelection): + * platform/text/TextEncodingRegistry.cpp: + (WebCore::pruneBlacklistedCodecs): + (WebCore::dumpTextEncodingNameMap): + * platform/text/transcoder/FontTranscoder.cpp: + (WebCore::FontTranscoder::converterType): + * platform/text/win/TextCodecWin.cpp: + (WebCore::LanguageManager::LanguageManager): + (WebCore::getCodePage): + (WebCore::TextCodecWin::registerExtendedEncodingNames): + (WebCore::TextCodecWin::registerExtendedCodecs): + (WebCore::TextCodecWin::enumerateSupportedEncodings): + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::getDataMapItem): + (WebCore::getClipboardData): + (WebCore::setClipboardData): + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::types): + * platform/win/FileSystemWin.cpp: + (WebCore::cachedStorageDirectory): + * platform/win/RunLoopWin.cpp: + (WebCore::RunLoop::TimerBase::timerFired): + * platform/win/WCDataObject.cpp: + (WebCore::WCDataObject::createInstance): + * platform/wince/MIMETypeRegistryWinCE.cpp: + (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): + * platform/wx/ContextMenuWx.cpp: + (WebCore::ContextMenu::appendItem): + * plugins/PluginDatabase.cpp: + (WebCore::PluginDatabase::refresh): + (WebCore::PluginDatabase::MIMETypeForExtension): + (WebCore::PluginDatabase::remove): + * plugins/PluginMainThreadScheduler.cpp: + (WebCore::PluginMainThreadScheduler::scheduleCall): + (WebCore::PluginMainThreadScheduler::dispatchCalls): + * plugins/PluginStream.cpp: + (WebCore::PluginStream::startStream): + * plugins/blackberry/PluginDataBlackBerry.cpp: + (WebCore::PluginData::initPlugins): + * plugins/wx/PluginDataWx.cpp: + (WebCore::PluginData::initPlugins): + * rendering/FlowThreadController.cpp: + (WebCore::FlowThreadController::unregisterNamedFlowContentNode): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::requiresIdeographicBaseline): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clearFloats): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::setLogicalWidthForTextRun): + * rendering/RenderBoxModelObject.cpp: + (WebCore::ImageQualityController::highQualityRepaintTimerFired): + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + * rendering/RenderCounter.cpp: + (WebCore::RenderCounter::destroyCounterNodes): + (WebCore::RenderCounter::destroyCounterNode): + (WebCore::updateCounters): + (WebCore::RenderCounter::rendererStyleChanged): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::setRegionRangeForBox): + (WebCore::RenderFlowThread::getRegionRangeForBox): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paint): + (WebCore::performOverlapTests): + * rendering/RenderLayerFilterInfo.cpp: + (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer): + (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded): + * rendering/RenderNamedFlowThread.cpp: + (WebCore::RenderNamedFlowThread::dependsOn): + (WebCore::RenderNamedFlowThread::pushDependencies): + * rendering/RenderRegion.cpp: + (WebCore::RenderRegion::setRenderBoxRegionInfo): + (WebCore::RenderRegion::setRegionObjectsRegionStyle): + (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle): + (WebCore::RenderRegion::computeChildrenStyleInRegion): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::cachedCollapsedBorder): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::systemColor): + * rendering/RenderView.cpp: + (WebCore::RenderView::selectionBounds): + (WebCore::RenderView::setSelection): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::ascentAndDescentForBox): + * rendering/VerticalPositionCache.h: + (WebCore::VerticalPositionCache::get): + * rendering/WrapShapeInfo.cpp: + (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock): + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): + * rendering/svg/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): + * rendering/svg/RenderSVGResourceGradient.cpp: + (WebCore::RenderSVGResourceGradient::applyResource): + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::applyResource): + * rendering/svg/SVGResourcesCache.cpp: + (WebCore::SVGResourcesCache::resourceDestroyed): + * rendering/svg/SVGRootInlineBox.cpp: + (WebCore::swapItemsInLayoutAttributes): + * rendering/svg/SVGTextLayoutAttributes.cpp: + (WebCore::SVGTextLayoutAttributes::dump): + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: + (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap): + (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap): + * rendering/svg/SVGTextLayoutEngine.cpp: + (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): + * rendering/svg/SVGTextMetricsBuilder.cpp: + (WebCore::SVGTextMetricsBuilder::measureTextRenderer): + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::syncTimerFired): + (WebCore::StorageAreaSync::performImport): + (WebCore::StorageAreaSync::sync): + * storage/StorageMap.cpp: + (WebCore::StorageMap::key): + (WebCore::StorageMap::setItem): + * storage/StorageNamespaceImpl.cpp: + (WebCore::StorageNamespaceImpl::localStorageNamespace): + (WebCore::StorageNamespaceImpl::copy): + (WebCore::StorageNamespaceImpl::close): + (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion): + (WebCore::StorageNamespaceImpl::sync): + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): + (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): + (WebCore::SVGDocumentExtensions::addPendingResource): + (WebCore::SVGDocumentExtensions::isElementPendingResources): + (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): + (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): + (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): + (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): + * svg/SVGElement.cpp: + (WebCore::SVGElement::~SVGElement): + * svg/animation/SMILTimeContainer.cpp: + (WebCore::SMILTimeContainer::updateAnimations): + * svg/graphics/SVGImageCache.cpp: + (WebCore::SVGImageCache::~SVGImageCache): + (WebCore::SVGImageCache::removeClientFromCache): + (WebCore::SVGImageCache::requestedSizeAndScales): + (WebCore::SVGImageCache::imageContentChanged): + (WebCore::SVGImageCache::redraw): + (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer): + * svg/graphics/filters/SVGFilterBuilder.h: + (WebCore::SVGFilterBuilder::effectReferences): + (WebCore::SVGFilterBuilder::addBuiltinEffects): + * svg/properties/SVGAnimatedProperty.h: + (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): + * svg/properties/SVGAttributeToPropertyMap.cpp: + (WebCore::SVGAttributeToPropertyMap::addProperties): + (WebCore::SVGAttributeToPropertyMap::synchronizeProperties): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::hasPendingActivity): + * workers/WorkerEventQueue.cpp: + (WebCore::WorkerEventQueue::close): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::setRequestHeaderInternal): + (WebCore::XMLHttpRequest::getAllResponseHeaders): + * xml/XPathFunctions.cpp: + (WebCore::XPath::createFunction): + * xml/XPathParser.cpp: + (isAxisName): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::xsltParamArrayFromParameterMap): + * xml/XSLTProcessorQt.cpp: + (WebCore::XSLTProcessor::transformToString): + +2012-08-27 David Reveman <reveman@chromium.org> + + [Chromium] Stop texture updates when context is lost. + https://bugs.webkit.org/show_bug.cgi?id=94983 + + Reviewed by James Robinson. + + Free m_currentTextureUpdateController when + CCThreadProxy::didLoseContextOnImplThread() is called. + + Unit test: CCLayerTreeHostTestLostContextWhileUpdatingResources.runMultiThread + + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::didLoseContextOnImplThread): + (WebCore::CCThreadProxy::scheduledActionCommit): + +2012-08-27 Dean Jackson <dino@apple.com> + + Unreviewed attempted build fix for Mac. + + After https://bugs.webkit.org/show_bug.cgi?id=95155 and the subsequent r126831 + LayoutTypesInlineMethods.h needed to be added to the WebCore target. + + * WebCore.xcodeproj/project.pbxproj: + +2012-08-27 Julien Chaffraix <jchaffraix@webkit.org> + + Crash in RenderTable::removeCaption + https://bugs.webkit.org/show_bug.cgi?id=95090 + + Reviewed by Abhishek Arya. + + The issue came from the caption addition logic not being called when + we move the caption due to being hooked on RenderTable::addChild + and not RenderTableCaption::insertedIntoTree. This change implemented + the previous hook and simplified our caption handling. + + Test: fast/table/table-caption-moved-crash.html + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): + Removed the add-a-caption code as it is now executed from RenderTableCaption::insertedIntoTree. + + (WebCore::RenderTable::addCaption): + Added this helper method. + + (WebCore::RenderTable::removeCaption): + Changed this function to be more bullet-proof. The old code was checking |index| as it wasn't + bullet proof so let's keep it. + + (WebCore::RenderTable::recalcSections): + Removed the caption handling code as we should properly handle them now. + + * rendering/RenderTable.h: + Added addCaption. + + * rendering/RenderTableCaption.cpp: + (WebCore::RenderTableCaption::insertedIntoTree): + * rendering/RenderTableCaption.h: + Added insertedIntoTree. + +2012-08-27 Nikhil Bhargava <nbhargava@google.com> + + Add new file to xcode project -- Update to Bug 95107 + https://bugs.webkit.org/show_bug.cgi?id=95155 + + Reviewed by Tim Horton. + + Add LayoutTypesInlineMethods.h to xcode project file. + + * WebCore.xcodeproj/project.pbxproj: + +2012-08-27 James Robinson <jamesr@chromium.org> + + [chromium] Add some #includes that were implicitly picked up to CCScrollbarGeometry* + https://bugs.webkit.org/show_bug.cgi?id=95158 + + Reviewed by Adrienne Walker. + + These includes are picked up implicitly, better to #include them explicitly to be more robust to refactors. + + * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp: + * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h: + * platform/graphics/chromium/cc/CCScrollbarGeometryStub.h: + +2012-08-27 Adam Barth <abarth@webkit.org> + + [V8] V8DOMWindowShell::installDOMWindow is subtle and should explain itself more + https://bugs.webkit.org/show_bug.cgi?id=95151 + + Reviewed by Kentaro Hara. + + This patch adds some text to V8DOMWindowShell::installDOMWindow that + explaining what this code is doing. I've also renamed some variables + and created a helper function in an attempt to make it clearer what's + going on. + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::toInnerGlobalObject): + (WebCore): + (WebCore::V8DOMWindowShell::installDOMWindow): + (WebCore::V8DOMWindowShell::updateDocumentProperty): + +2012-08-27 Luke Macpherson <macpherson@chromium.org> + + Fix CSSParserValue::createCSSValue() for viewport based units. + https://bugs.webkit.org/show_bug.cgi?id=94772 + + Reviewed by Tony Chang. + + Viewport units were not added to CSSParserValue::createCSSValue(). This patch handles that case. + Patch also converts from list of if clauses to a switch statement to catch future errors. + + Test: fast/css/variables/calc-vw-crash.html + + * css/CSSParserValues.cpp: + (WebCore::CSSParserValue::createCSSValue): + +2012-08-27 Dimitri Glazkov <dglazkov@chromium.org> + + Rename ContentDistributor::distributeShadowChildrenTo to distributeNodeChildrenTo. + https://bugs.webkit.org/show_bug.cgi?id=95150 + + Reviewed by Hajime Morita. + + Also, made the function take ContainerNode, which decouples it from the callsite's context. + + No new tests, simple rename. + + * html/shadow/ContentDistributor.cpp: + (WebCore::ContentDistributor::distribute): Changed the callsite. + (WebCore::ContentDistributor::distributeNodeChildrenTo): Renamed from distributeShadowChildrenTo. + * html/shadow/ContentDistributor.h: + (WebCore): Added forward decl for ContainerNode. + (ContentDistributor): Changed the decl name. + +2012-08-27 Adam Barth <abarth@webkit.org> + + [V8] V8DOMWindowShell::setContext has no callers + https://bugs.webkit.org/show_bug.cgi?id=95147 + + Reviewed by Kentaro Hara. + + Dead code is dead. + + * bindings/v8/V8DOMWindowShell.cpp: + * bindings/v8/V8DOMWindowShell.h: + (V8DOMWindowShell): + +2012-08-27 Dimitri Glazkov <dglazkov@chromium.org> + + Rename ContentDistributor::distributeShadowChildrenTo to distributeNodeChildrenTo. + https://bugs.webkit.org/show_bug.cgi?id=95150 + + Reviewed by Hajime Morita. + + Also, made the function take ContainerNode, which decouples it from the callsite's context. + + No new tests, simple rename. + + * html/shadow/ContentDistributor.cpp: + (WebCore::ContentDistributor::distribute): Changed the callsite. + (WebCore::ContentDistributor::distributeNodeChildrenTo): Renamed from distributeShadowChildrenTo. + * html/shadow/ContentDistributor.h: + (WebCore): Added forward decl for ContainerNode. + (ContentDistributor): Changed the decl name. + +2012-08-27 Adam Barth <abarth@webkit.org> + + [V8] Inline V8DOMWindowShell::clearDocumentWrapper + https://bugs.webkit.org/show_bug.cgi?id=95133 + + Reviewed by Eric Seidel. + + Now that we use ScopedPersistent for m_document, clearDocumentWrapper + is just one line. It's clearer to just inline it into its callers. + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::clearForClose): + (WebCore::V8DOMWindowShell::clearForNavigation): + (WebCore::V8DOMWindowShell::updateDocumentWrapper): + - Notice that ScopedPersistent::set already calls clear, so there's + no reason to call clear redundantly. + * bindings/v8/V8DOMWindowShell.h: + (V8DOMWindowShell): + +2012-08-27 Dana Jansens <danakj@chromium.org> + + [chromium] A general mechanism for passing data into and out of appendQuads and quadCuller via CCAppendQuadsData + https://bugs.webkit.org/show_bug.cgi?id=95109 + + Reviewed by Adrienne Walker. + + The appendQuads() method has a number of out-parameters that are needed + by different steps in the append process: + - hadMissingTiles is needed by the layers to report checkerboards. + - hadOcclusionFromOutsideTargetSurface is needed by CCQuadCuller to + report occlusion. + + Currently one is plumbed through function arguments, and one is + plumbed as a member variable on the CCQuadCuller instance. + + We will also need an in-parameter for the DelegatedRendererLayer for + ubercomp. Instead of continuously adding more plumbing for these + parameters, we create a general machanism to get data to and from the + right places. + + Covered by existing tests; no change in behaviour. Specifically, + CCLayerTreeHostImpl tests for missing/checkerboard tiles and + surface-external occlusion. + + * platform/graphics/chromium/cc/CCAppendQuadsData.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h. + (WebCore): + (WebCore::CCAppendQuadsData::CCAppendQuadsData): + (CCAppendQuadsData): + * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp: + (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads): + * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h: + (CCHeadsUpDisplayLayerImpl): + * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp: + (WebCore::CCIOSurfaceLayerImpl::appendQuads): + * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h: + (CCIOSurfaceLayerImpl): + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::appendDebugBorderQuad): + * platform/graphics/chromium/cc/CCLayerImpl.h: + (WebCore): + (WebCore::CCLayerImpl::appendQuads): + (CCLayerImpl): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): + * platform/graphics/chromium/cc/CCQuadCuller.cpp: + (WebCore::CCQuadCuller::CCQuadCuller): + (WebCore::CCQuadCuller::append): + * platform/graphics/chromium/cc/CCQuadCuller.h: + (WebCore): + (CCQuadCuller): + * platform/graphics/chromium/cc/CCQuadSink.h: + (WebCore): + (CCQuadSink): + * platform/graphics/chromium/cc/CCRenderPass.cpp: + (WebCore::CCRenderPass::appendQuadsForLayer): + (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer): + * platform/graphics/chromium/cc/CCRenderPass.h: + (WebCore): + (CCRenderPass): + * platform/graphics/chromium/cc/CCRenderSurface.cpp: + (WebCore::CCRenderSurface::appendQuads): + * platform/graphics/chromium/cc/CCRenderSurface.h: + (WebCore): + (CCRenderSurface): + * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: + (WebCore::CCScrollbarLayerImpl::appendQuads): + * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: + (CCScrollbarLayerImpl): + * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: + (WebCore::CCSolidColorLayerImpl::appendQuads): + * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: + (CCSolidColorLayerImpl): + * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: + (WebCore::CCTextureLayerImpl::appendQuads): + * platform/graphics/chromium/cc/CCTextureLayerImpl.h: + (CCTextureLayerImpl): + * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: + (WebCore::CCTiledLayerImpl::appendQuads): + * platform/graphics/chromium/cc/CCTiledLayerImpl.h: + (CCTiledLayerImpl): + * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: + (WebCore::CCVideoLayerImpl::appendQuads): + * platform/graphics/chromium/cc/CCVideoLayerImpl.h: + (CCVideoLayerImpl): + +2012-08-27 Adam Barth <abarth@webkit.org> + + Delete checks for impossible conditions in V8DOMWindowShell + https://bugs.webkit.org/show_bug.cgi?id=95145 + + Reviewed by Eric Seidel. + + These situations do not occur. We don't need to check for them. + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::updateDocument): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::createNewContext): + (WebCore::V8DOMWindowShell::updateDocumentProperty): + (WebCore::V8DOMWindowShell::setSecurityToken): + (WebCore::V8DOMWindowShell::updateDocument): + * page/Frame.cpp: + (WebCore::Frame::setDocument): + - updateDocument used to just return early when m_doc was 0. Now we + don't even bother to call it. + +2012-08-27 Nikhil Bhargava <nbhargava@google.com> + + Split LayoutTypes.h to improve compile time + https://bugs.webkit.org/show_bug.cgi?id=95107 + + Reviewed by Eric Seidel. + + The inlines from LayoutTypes.h are moved to LayoutTypesInlineMethods.h. + Files that only need the types to be forward declared, don't need to + include definitions for FractionalLayout items (those are expensive to + include) + + No new tests. Functionality should be the same. + + * WebCore.gypi: + * accessibility/AccessibilityObject.h: + * css/LengthFunctions.cpp: + * dom/DocumentMarkerController.h: + * dom/Node.h: + * inspector/InspectorOverlay.h: + * inspector/InspectorTimelineAgent.h: + * inspector/TimelineRecordFactory.h: + * loader/SubframeLoader.h: + * page/FocusController.h: + * page/Page.h: + * platform/Length.h: + * platform/PopupMenuClient.h: + * platform/graphics/transforms/TransformationMatrix.cpp: + * platform/graphics/transforms/TransformationMatrix.h: + * rendering/AutoTableLayout.h: + * rendering/FixedTableLayout.h: + * rendering/HitTestingTransformState.cpp: + * rendering/LayoutTypes.h: + * rendering/LayoutTypesInlineMethods.h: Added. + (WebCore): + * rendering/RenderMenuList.h: + * rendering/RenderThemeChromiumCommon.h: + * rendering/TextAutosizer.h: + * rendering/style/ShadowData.cpp: + * rendering/style/ShadowData.h: + * rendering/style/WrapShapes.h: + * rendering/svg/SVGRenderSupport.h: + * rendering/svg/SVGRenderingContext.h: + * svg/graphics/SVGImage.h: + +2012-08-27 James Robinson <jamesr@chromium.org> + + [chromium] Put CCThreadImpl / WebCompositorImpl in webcore_chromium_compositor_files gyp section + https://bugs.webkit.org/show_bug.cgi?id=94995 + + Reviewed by Adrienne Walker. + + These need to be controllable by use_libcc_for_compositor + + * WebCore.gypi: + +2012-08-27 Simon Fraser <simon.fraser@apple.com> + + If both left and right (or top and bottom) are specified for sticky, use left (or top) + https://bugs.webkit.org/show_bug.cgi?id=95146 + + Reviewed by Dan Bernstein. + + Remove the incorrect FIXME comment, and swap the left and right, + and top and bottom constraints so that left and top win out, + as they do for position:relative. + + Test: fast/css/sticky/sticky-both-sides.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::stickyPositionOffset): + +2012-08-27 Adam Barth <abarth@webkit.org> + + [V8] Improve the names of some private functions of V8DOMWindowShell.cpp + https://bugs.webkit.org/show_bug.cgi?id=95132 + + Reviewed by Eric Seidel. + + V8DOMWindowShell has a concept of a "DocumentWrapperCache", but that's + more easily understood as the "document" property of the Window. This + patch renames a couple functions to make this clearer. + + This patch as renames disposeContextHandles to disposeContext because + that's what's actually happening. + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::isContextInitialized): + (WebCore::V8DOMWindowShell::disposeContext): + (WebCore::V8DOMWindowShell::clearForClose): + (WebCore::V8DOMWindowShell::clearForNavigation): + (WebCore): + (WebCore::V8DOMWindowShell::initializeIfNeeded): + (WebCore::V8DOMWindowShell::updateDocumentProperty): + (WebCore::V8DOMWindowShell::clearDocumentProperty): + (WebCore::V8DOMWindowShell::updateDocument): + * bindings/v8/V8DOMWindowShell.h: + (V8DOMWindowShell): + +2012-08-24 James Robinson <jamesr@chromium.org> + + WebGL should not flip textures on presentation if contents are unchanged + https://bugs.webkit.org/show_bug.cgi?id=94961 + + Reviewed by Kenneth Russell. + + For WebGL contexts where antialias and preserveDrawingBuffer are false, chromium implements DrawingBuffer using + two textures and flips them on presentation. If the page hasn't actually rendered anything into the WebGL + context since the last presentation, this makes an old frame available. This fixes the bug by marking the + DrawingBuffer when its contents change. + + Test: compositing/webgl/webgl-repaint.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore): + (WebCore::WebGLRenderingContext::markContextChanged): + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + (WebCore::DrawingBuffer::prepareBackBuffer): + * platform/graphics/gpu/DrawingBuffer.h: + (WebCore::DrawingBuffer::markContentsChanged): + (DrawingBuffer): + +2012-08-27 Adam Barth <abarth@webkit.org> + + [V8] Clean up V8DOMWindowShell's findFrame + https://bugs.webkit.org/show_bug.cgi?id=95130 + + Reviewed by Eric Seidel. + + This patch just deletes a bunch of unneeded variables from findFrame + and adds an ASSERT for what a comment claims to be true. + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::findFrame): + +2012-08-27 Roger Fong <roger_fong@apple.com> + + Hook procedure should check to see if hook has already been removed before attempting removal. + https://bugs.webkit.org/show_bug.cgi?id=95118 + + Reviewed by Simon Fraser. + + When the hookFired method in LayerChangesFlusher.cpp gets called in response to a message posted to the message queue + it calls CallNextHook to pass the message to the next hook procedure in the hook chain. + + Sometimes, the message can get passed to another hook procedure that can dispatch another message. + This message gets passed back through the hook chain and we eventually re-enter the hookFired method. + + When that hookFired call completes, it may remove the hook. + When CallNextHook returns, the original call to hookFired may try to remove the hook as well. + However, there is no need as the hook as already been removed. + This results in an assertion failure, assert(m_hook), when we call removeHook. + + * platform/graphics/ca/win/LayerChangesFlusher.cpp: + (WebCore::LayerChangesFlusher::hookFired): + Simply check to see if the hook has already been removed before actually trying to remove it. + +2012-08-24 James Robinson <jamesr@chromium.org> + + [chromium] Clean up dependencies of WebScrollbar and WebScrollbarLayer + https://bugs.webkit.org/show_bug.cgi?id=94996 + + Reviewed by Adrienne Walker. + + Moves WebScrollbarImpl into WebCore/platform/support to make it accessible to chromium-specific WebCore code and + uses it to construct WebScrollbar instances around WebCore::Scrollbars. + + * WebCore.gypi: + * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: + (WebCore::createScrollbarLayer): + * platform/chromium/support/WebScrollbarImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarImpl.cpp. + (WebKit): + (WebKit::WebScrollbarImpl::WebScrollbarImpl): + (WebKit::WebScrollbarImpl::isOverlay): + (WebKit::WebScrollbarImpl::value): + (WebKit::WebScrollbarImpl::location): + (WebKit::WebScrollbarImpl::size): + (WebKit::WebScrollbarImpl::enabled): + (WebKit::WebScrollbarImpl::maximum): + (WebKit::WebScrollbarImpl::totalSize): + (WebKit::WebScrollbarImpl::isScrollViewScrollbar): + (WebKit::WebScrollbarImpl::isScrollableAreaActive): + (WebKit::WebScrollbarImpl::getTickmarks): + (WebKit::WebScrollbarImpl::controlSize): + (WebKit::WebScrollbarImpl::pressedPart): + (WebKit::WebScrollbarImpl::hoveredPart): + (WebKit::WebScrollbarImpl::scrollbarOverlayStyle): + (WebKit::WebScrollbarImpl::orientation): + (WebKit::WebScrollbarImpl::isCustomScrollbar): + * platform/chromium/support/WebScrollbarImpl.h: Renamed from Source/WebKit/chromium/src/WebScrollbarImpl.h. + (WebCore): + (WebKit): + (WebScrollbarImpl): + +2012-08-27 Tony Chang <tony@chromium.org> + + Make RenderBox::computePositionedLogicalHeight const + https://bugs.webkit.org/show_bug.cgi?id=94984 + + Reviewed by Ojan Vafai. + + This is step 1 in making computeLogical{Height,Width} const. + computeLogicalHeight calls computePositionedLogicalHeight, so this patch + makes that const first. + + No new tests, just refactoring. Covered by fast/block/positioning/differing-writing-modes-replaced.html + and others. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeLogicalHeight): Call const version of computePositionedLogicalHeight. + (WebCore::RenderBox::computePositionedLogicalHeight): Make const, fills in struct instead. + (WebCore::RenderBox::computePositionedLogicalHeightUsing): Make const + and pass in a LogicalExtentComputedValues struct instead of 4 separate args for the results. + (WebCore::RenderBox::computePositionedLogicalHeightReplaced): Make const, fills in struct instead. + * rendering/RenderBox.h: + (WebCore::RenderBox::MarginsComputedValues::MarginsComputedValues): + (MarginsComputedValues): Struct of just margins. Not used yet, but will be for + computeInlineDirectionMargins and computeBlockDirectionMargins. + (WebCore::RenderBox::LogicalExtentComputedValues::LogicalExtentComputedValues): + (LogicalExtentComputedValues): Struct to be used by computeLogical{Width,Height}. Only used by + computeLogicalHeight so far. + +2012-08-27 Rob Buis <rbuis@rim.com> + + Fix compiler warnings in TextureMapperLayer.cpp + https://bugs.webkit.org/show_bug.cgi?id=95128 + + Reviewed by Noam Rosenthal. + + Fix the warnings caused by -Wsign-compare. + + * platform/graphics/texmap/TextureMapperLayer.cpp: + (WebCore::TextureMapperLayer::paintSelfAndChildren): + (WebCore::shouldKeepContentTexture): + +2012-08-27 Adam Barth <abarth@webkit.org> + + [V8] Clean up reportFatalError in V8DOMWindowShell.cpp + https://bugs.webkit.org/show_bug.cgi?id=95124 + + Reviewed by Eric Seidel. + + We don't need a PLATFORM(CHROMIUM) ifdef because MemoryUsageSupport has + a stub implementation on non-Chromium platforms. These comments are out + of date. We've been "temporarily" calling CRASH here for as long as the + bindings have existed and we don't plan to stop. + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportFatalError): + +2012-08-27 Adam Barth <abarth@webkit.org> + + [V8] Clean up V8DOMWindowShell's reportUncaughtException + https://bugs.webkit.org/show_bug.cgi?id=95126 + + Reviewed by Eric Seidel. + + This patch changes reportUncaughtException to operate in terms of a + DOMWindow rather than a Frame. In general, the bindings should use + DOMWindows rather than Frames because a DOMWindow is specific to a + given Document whereas a Frame displays many Documents over its + lifetime. + + I've also updated some variable names to be more consistent with WebKit + naming conventions. + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportUncaughtException): + +2012-08-27 Adam Barth <abarth@webkit.org> + + The static functions in V8DOMWindowShell.cpp are poorly named + https://bugs.webkit.org/show_bug.cgi?id=95122 + + Reviewed by Eric Seidel. + + This patch cleans up the naming of the static functions in + V8DOMWindowShell.cpp. + + I've inlined handleFatalErrorInV8 into its one caller. + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportFatalError): + - Removed V8 from the name becaues this entire file is about V8. + (WebCore::reportUncaughtException): + - Ditto. + (WebCore::findFrame): + - Remove the "get" prefix because it's a weak verb. + (WebCore::reportUnsafeJavaScriptAccess): + (WebCore::initializeV8IfNeeded): + (WebCore::checkDocumentWrapper): + - Move this function up to the top of the file with the rest of the + static functions. + (WebCore): + +2012-08-27 Adam Barth <abarth@webkit.org> + + [V8] initContextIfNeeded is overly specific + https://bugs.webkit.org/show_bug.cgi?id=95120 + + Reviewed by Eric Seidel. + + This patch is part of a series to clean up V8DOMWindowShell. This + patch renames initContextIfNeeded to initializeIfNeeded because callers + shouldn't need to worry about what V8DOMWindow needs to initialize. + + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateToV8Converters): + * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: + (WebCore::V8TestActiveDOMObject::wrapSlow): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::evaluateInIsolatedWorld): + (WebCore::ScriptController::mainWorldContext): + (WebCore::ScriptController::matchesCurrentContext): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::initializeIfNeeded): + (WebCore::V8DOMWindowShell::updateDocument): + (WebCore::V8DOMWindowShell::namedItemAdded): + (WebCore::V8DOMWindowShell::namedItemRemoved): + * bindings/v8/V8DOMWindowShell.h: + (V8DOMWindowShell): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::initializeIfNeeded): + (WebCore::WorkerContextExecutionProxy::evaluate): + * bindings/v8/WorkerContextExecutionProxy.h: + (WorkerContextExecutionProxy): + +2012-08-27 Brian Salomon <bsalomon@google.com> + + [Skia/Chromium] Remove use of deprecated Skia names + https://bugs.webkit.org/show_bug.cgi?id=95108 + + Reviewed by Eric Seidel. + + kSkia8888_PM_GrPixelConfig has been deprecated in favor of kSkia8888_GrPixelConfig. + SkGrTexturePixelRef has been deprecated in favor of SkGrPixelRef. + + Covered by existing tests (image filter and canvas tests). + + * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: + (WebCore::createAcceleratedCanvas): + * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::createAcceleratedCanvas): + +2012-08-27 Adrienne Walker <enne@google.com> + + [chromium] Unreviewed, remove OVERRIDE from non-virtual function. + https://bugs.webkit.org/show_bug.cgi?id=94859 + + Unreviewed build fix. + + * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h: + (CCScrollbarGeometryFixedThumb): + +2012-08-27 Adrienne Walker <enne@google.com> + + [chromium] Prevent scrollbar thumb size from changing during compositor zoom + https://bugs.webkit.org/show_bug.cgi?id=94859 + + Reviewed by James Robinson. + + During a pinch zoom, the total size of a scrollable area will change, + causing the thumb to become a different size. This will cause the + thumb texture (painted at a specific size) to stretch. To fix this, + add a new CCScrollbarGeometryFixedThumb class which behaves just like + a normal WebScrollbarThemeGeometry class, but constrains the thumb to + be a fixed size. + + * WebCore.gypi: + * platform/graphics/chromium/ScrollbarLayerChromium.cpp: + (WebCore::ScrollbarLayerChromium::pushPropertiesTo): + * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp: Added. + (WebCore): + (WebCore::CCScrollbarGeometryFixedThumb::create): + (WebCore::CCScrollbarGeometryFixedThumb::~CCScrollbarGeometryFixedThumb): + (WebCore::CCScrollbarGeometryFixedThumb::update): + (WebCore::CCScrollbarGeometryFixedThumb::clone): + (WebCore::CCScrollbarGeometryFixedThumb::thumbLength): + (WebCore::CCScrollbarGeometryFixedThumb::thumbPosition): + (WebCore::CCScrollbarGeometryFixedThumb::splitTrack): + (WebCore::CCScrollbarGeometryFixedThumb::CCScrollbarGeometryFixedThumb): + * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h: Added. + (WebCore): + (CCScrollbarGeometryFixedThumb): + * platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp: Added. + (WebCore): + (WebCore::CCScrollbarGeometryStub::CCScrollbarGeometryStub): + (WebCore::CCScrollbarGeometryStub::~CCScrollbarGeometryStub): + (WebCore::CCScrollbarGeometryStub::clone): + (WebCore::CCScrollbarGeometryStub::thumbPosition): + (WebCore::CCScrollbarGeometryStub::thumbLength): + (WebCore::CCScrollbarGeometryStub::trackPosition): + (WebCore::CCScrollbarGeometryStub::trackLength): + (WebCore::CCScrollbarGeometryStub::hasButtons): + (WebCore::CCScrollbarGeometryStub::hasThumb): + (WebCore::CCScrollbarGeometryStub::trackRect): + (WebCore::CCScrollbarGeometryStub::thumbRect): + (WebCore::CCScrollbarGeometryStub::minimumThumbLength): + (WebCore::CCScrollbarGeometryStub::scrollbarThickness): + (WebCore::CCScrollbarGeometryStub::backButtonStartRect): + (WebCore::CCScrollbarGeometryStub::backButtonEndRect): + (WebCore::CCScrollbarGeometryStub::forwardButtonStartRect): + (WebCore::CCScrollbarGeometryStub::forwardButtonEndRect): + (WebCore::CCScrollbarGeometryStub::constrainTrackRectToTrackPieces): + (WebCore::CCScrollbarGeometryStub::splitTrack): + * platform/graphics/chromium/cc/CCScrollbarGeometryStub.h: Added. + (WebCore): + (CCScrollbarGeometryStub): + (WebCore::CCScrollbarGeometryStub::update): + * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: + (WebCore::CCScrollbarLayerImpl::setScrollbarGeometry): + (WebCore::CCScrollbarLayerImpl::setScrollbarData): + * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: + (WebCore::CCScrollbarLayerImpl::scrollbarGeometry): + (CCScrollbarLayerImpl): + +2012-08-27 Dana Jansens <danakj@chromium.org> + + [chromium] Have RenderSurface create and add its own generated RenderPass + https://bugs.webkit.org/show_bug.cgi?id=94957 + + Reviewed by Adrienne Walker. + + Have CCRenderSurface create and add its RenderPass to the appropriate + data structures. Previously CCLayerTreeHostImpl had this responsibility + but this limits us to a single RenderPass per RenderSurface. In ubercomp + we have layers that generate many RenderPasses that all contribute to a + single RenderSurface. This target RenderSurface can create all the needed + RenderPasses in the correct order for itself when asked to now. + + We invent CCRenderPassSink and make FrameData implement it, so that the + RenderSurface does not need to know the details of how the RenderPasses + it generates will be stored. + + Test: CCRenderSurfaceTest.sanityCheckSurfaceCreatesCorrectRenderPass + + * WebCore.gypi: + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::FrameData::appendRenderPass): + (WebCore): + (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: + (FrameData): + * platform/graphics/chromium/cc/CCRenderPassSink.h: Added. + (WebCore): + (CCRenderPassSink): + * platform/graphics/chromium/cc/CCRenderSurface.cpp: + (WebCore::CCRenderSurface::appendRenderPasses): + (WebCore): + * platform/graphics/chromium/cc/CCRenderSurface.h: + (WebCore): + (CCRenderSurface): + +2012-08-27 Takashi Sakamoto <tasak@google.com> + + ShadowRoot insertion point change aborts css transition + https://bugs.webkit.org/show_bug.cgi?id=93755 + + Reviewed by Hajime Morita. + + ElementShadow always detaches shadow hosts when distribution is + changed, i.e. select attribute's value is changed. However it clears + the style of the shadow host. So when distribution is changed, + no css transition can be started at the same time. To avoid this + problem, invalidateDistribution, i.e. a method for invalidating current + distribution, should not make shadow host reattach. Instead, it should + make distribute nodes reattached and set needsRecalcStyle flag of + shadow host. + + Test: transitions/transition-on-shadow-host-with-distributed-node.html + + * dom/ElementShadow.cpp: + (WebCore::ElementShadow::addShadowRoot): + To support replaced elements, i.e. IMG, and so on, shadow host's + renderer must be updated when author shadow roots are addded. + So invoke shadow host's reattach instead of shadowRoot's attach. + (WebCore::ElementShadow::invalidateDistribution): + Remove shadow host's lazy reattach (detach and lazyAttach). Instead, do + distributed nodes' lazy reattach and set shadow host's needsRecalcStyle + flag. + * dom/Node.h: + (WebCore::Node::lazyReattach): + Newly added. The method works like Node::reattach, but use + lazyAttach instead of attach. + (WebCore): + +2012-08-27 Justin Novosad <junov@chromium.org> + + [Chromium] Fixing infinite recursion in Canvas2DLayerManager + https://bugs.webkit.org/show_bug.cgi?id=95110 + + Reviewed by Stephen White. + + Fixed infinite recursion by not reporting a change in memory allocation + when Canvas2DLayerBridge::freeMemoryIfPossible fails to free memory. + Also modified Canvas2DLayerManager::layerAllocatedStorageChanged to + only initiate a memory eviction pass if memory consumption has + increased. + + Test: webkit_unit_tests Canvas2DLayerManagerTest* + + * platform/graphics/chromium/Canvas2DLayerBridge.cpp: + (WebCore::Canvas2DLayerBridge::freeMemoryIfPossible): + * platform/graphics/chromium/Canvas2DLayerManager.cpp: + (WebCore::Canvas2DLayerManager::layerAllocatedStorageChanged): + +2012-08-27 Anna Cavender <annacc@chromium.org> + + TextTrack modes are strings + https://bugs.webkit.org/show_bug.cgi?id=85050 + + Reviewed by Eric Carlson. + + The spec recently changed away from enumeration to string for the type + of TextTrack mode. + http://dev.w3.org/html5/spec/media-elements.html#texttrackmode + + No new tests. Updates to existing tests. + + * html/HTMLMediaElement.cpp: + + Use the new string mode rather than the old enum. Also, TextTrack::setMode() + no longer requires an ExceptionCode: + (WebCore::HTMLMediaElement::loadInternal): + (WebCore::HTMLMediaElement::textTrackModeChanged): + (WebCore::HTMLMediaElement::textTrackKindChanged): + (WebCore::HTMLMediaElement::addTextTrack): + (WebCore::HTMLMediaElement::showingTrackWithSameKind): + (WebCore::HTMLMediaElement::configureTextTrackGroup): + (WebCore::HTMLMediaElement::configureNewTextTracks): + (WebCore::HTMLMediaElement::configureTextTrackDisplay): + + * html/track/TextTrack.cpp: + + Update these methods to use ConstructFromLiteral for efficiency: + (WebCore::TextTrack::subtitlesKeyword): + (WebCore::TextTrack::captionsKeyword): + (WebCore::TextTrack::descriptionsKeyword): + (WebCore::TextTrack::chaptersKeyword): + (WebCore::TextTrack::metadataKeyword): + + New methods to use for the mode string (replacing the enum): + (WebCore::TextTrack::disabledKeyword): + (WebCore::TextTrack::hiddenKeyword): + (WebCore::TextTrack::showingKeyword): + + (WebCore::TextTrack::TextTrack): Initialize mode to disabled. + (WebCore::TextTrack::setMode): Remove ExceptionCode and no longer throw an + INVALID_ACCESS_ERR. + (WebCore::TextTrack::mode): Return a keyword string instead of an enum. + + Use the new string mode rather than the old enum: + (WebCore::TextTrack::cues): + (WebCore::TextTrack::activeCues): + (WebCore::TextTrack::isRendered): + + * html/track/TextTrack.h: Remove old enum, add new string keyword methods, + and update mode() and setMode() accordingly. + + * html/track/TextTrack.idl: Remove old enum and make mode attribute be a string. + + Use the new string mode rather than the old enum: + * html/track/TextTrackCue.cpp: + (WebCore::TextTrackCue::dispatchEvent): + (WebCore::TextTrackCue::isActive): + +2012-08-27 Mike West <mkwst@chromium.org> + + 'self' in a CSP directive should match blob: and filesystem: URLs. + https://bugs.webkit.org/show_bug.cgi?id=94918 + + Reviewed by Adam Barth. + + 'blob:' and 'filesystem:' URLs are same-origin with the page on which + they were created. Currently, we're using the wrong URL for comparison + when matching against CSP directive source lists. This patch adjusts the + matching logic to compare against the blob's inner URL, rather than + directly against the blob itself. + + Tests: http/tests/security/contentSecurityPolicy/blob-urls-match-self.html + http/tests/security/contentSecurityPolicy/filesystem-urls-match-self.html + http/tests/security/contentSecurityPolicy/source-list-parsing-08.html + + * page/ContentSecurityPolicy.cpp: + (WebCore::CSPSourceList::matches): + If we should use the inner URL of a given resource, extract it into + a local variable, and pass that into CSPSource for comparison. + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::shouldUseInnerURL): + (WebCore::SecurityOrigin::extractInnerURL): + Move shouldUseInnerURL and extractInnerURL to SecurityOrigin's + public signature. + (WebCore::shouldTreatAsUniqueOrigin): + (WebCore::SecurityOrigin::create): + (WebCore::SecurityOrigin::isSecure): + shouldUseInnerURL and extractInnerURL are now static methods of + SecurityOrigin: updating calls to mathc. + * page/SecurityOrigin.h: + +2012-08-27 Kevin Funk <kevin.funk@kdab.com> + + Fix compilation when both OS(WINCE) and PLATFORM(QT) are true + https://bugs.webkit.org/show_bug.cgi?id=95050 + + Reviewed by Simon Hausmann. + + The compilation of NativeImagePtr.h breaks when both OS(WINCE) and PLATFORM(QT) are enabled. + This patch fixes this. + + * platform/graphics/NativeImagePtr.h: + +2012-08-27 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Fix review comments from patch #93119 + https://bugs.webkit.org/show_bug.cgi?id=95064 + + Reviewed by Adam Barth. + + Adding const to accessors. + + Change covered by exisiting tests.. + + * Modules/mediastream/RTCIceCandidate.cpp: + (WebCore::RTCIceCandidate::candidate): + (WebCore::RTCIceCandidate::sdpMid): + (WebCore::RTCIceCandidate::sdpMLineIndex): + * Modules/mediastream/RTCIceCandidate.h: + (RTCIceCandidate): + * Modules/mediastream/RTCSessionDescription.cpp: + (WebCore::RTCSessionDescription::create): + (WebCore::RTCSessionDescription::type): + (WebCore::RTCSessionDescription::sdp): + * Modules/mediastream/RTCSessionDescription.h: + (RTCSessionDescription): + +2012-08-27 Simon Fraser <simon.fraser@apple.com> + + Make Force Repaint work with tiled backing store + https://bugs.webkit.org/show_bug.cgi?id=95102 + + Reviewed by Dan Bernstein. + + forceRepaint() didn't work correctly with tiled backing + store, because it never actually caused a repaint on the tiles. + + Fix by having the drawing area call forceRepaint() on + the TileCache (via the TiledBacking interface), which + just ends up as a setNeedsDisplay(). + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/TiledBacking.h: + * platform/graphics/ca/mac/TileCache.h: + * platform/graphics/ca/mac/TileCache.mm: + (WebCore::TileCache::forceRepaint): + +2012-08-27 Victor Carbune <victor@rosedu.org> + + Crash when trying to render empty cues + https://bugs.webkit.org/show_bug.cgi?id=94776 + + Reviewed by Eric Carlson. + + Added extra safety checks. + + Test: media/track/track-cue-rendering-empty-cue-crash.html + + * html/track/TextTrackCue.cpp: + (WebCore::TextTrackCue::getCueAsHTML): + (WebCore::TextTrackCue::updateDisplayTree): + +2012-08-24 Simon Fraser <simon.fraser@apple.com> + + Implement sticky positioning + https://bugs.webkit.org/show_bug.cgi?id=90046 + + Reviewed by Ojan Vafai. + + Initial implementation of position: -webkit-sticky, which + constrains an element to be positioned inside the intersection + of its container box, and the viewport. Sticky elements create + stacking context. + + A stickily positioned element behaves like position:relative + (space is reserved for it in-flow), but with an offset that is + determined by the sticky position. Changed isInFlowPositioned() + to cover relative and sticky. + + Added a convenience isPositioned() to RenderObject(), which + is true for an object with any non-static position value. + + Tests: fast/css/sticky/inflow-sticky.html + fast/css/sticky/inline-sticky-abspos-child.html + fast/css/sticky/inline-sticky.html + fast/css/sticky/replaced-sticky.html + fast/css/sticky/sticky-as-positioning-container.html + fast/css/sticky/sticky-left-percentage.html + fast/css/sticky/sticky-left.html + fast/css/sticky/sticky-margins.html + fast/css/sticky/sticky-side-margins.html + fast/css/sticky/sticky-stacking-context.html + fast/css/sticky/sticky-top-margins.html + fast/css/sticky/sticky-top.html + fast/css/sticky/sticky-writing-mode-horizontal-bt.html + fast/css/sticky/sticky-writing-mode-vertical-lr.html + fast/css/sticky/sticky-writing-mode-vertical-rl.html + + * css/StyleResolver.cpp: + (WebCore::StyleResolver::adjustRenderStyle): Have position:sticky + create stacking context from the get-go, to make scrolling optimizations easier later. + * page/FrameView.cpp: + (WebCore::FrameView::scrollContentsFastPath): Use hasViewportConstrainedPosition(). + * page/FrameView.h: FrameView's "fixed" objects contains both fixed and sticky objects now. + * rendering/RenderBlock.cpp: Use isPositioned(). + (WebCore::RenderBlock::isSelectionRoot): + (WebCore::RenderBlock::renderName): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleWillChange): Need to look for both stick and fixed positioning to + determine whether to add something to FrameView's fixed object set. + (WebCore::RenderBox::computeRectForRepaint): Need to take the sticky offset into account + when computing repaint rects. + * rendering/RenderBox.h: Implement frameRectForStickyPositioning() for boxes. + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle): + (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent): + (WebCore::RenderBoxModelObject::stickyPositionOffset): Compute the sticky position + offset by taking into account the viewport rect, and the conteriner's contentRect + inset by its margins. + (WebCore::RenderBoxModelObject::offsetForInFlowPosition): Convenience wrapper + for getting relative or sticky offset. + * rendering/RenderBoxModelObject.h: Have requiresLayer() use isPositioned(). + (WebCore::RenderBoxModelObject::stickyPositionLogicalOffset): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::styleWillChange): Need to implement this to + add/remove objects from FrameView's fixed object list, since, prior to sticky, + only boxes could be fixed. + (WebCore::RenderInline::renderName): + (WebCore::RenderInline::positionForPoint): + (WebCore::RenderInline::computeRectForRepaint): + * rendering/RenderInline.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Have to look for fixed or sticky. + (WebCore::RenderLayer::calculateClipRects): Use isPositioned(). + (WebCore::RenderLayer::shouldBeNormalFlowOnly): Ditto. + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::styleWillChange): + (WebCore::RenderObject::propagateStyleToAnonymousChildren): Should use isInFlowPositioned(), + not just isRelPositioned(). + (WebCore::RenderObject::offsetParent): Use isPositioned(). + * rendering/RenderObject.h: + (WebCore::RenderObject::isInFlowPositioned): + (WebCore::RenderObject::isStickyPositioned): + (WebCore::RenderObject::setStickyPositioned): + (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields): + (RenderObjectBitfields): + * rendering/RenderStyle.h: add hasViewportConstrainedPosition() for fixed or sticky position. + +2012-08-27 Julien Chaffraix <jchaffraix@webkit.org> + + Unreviewed Mac Chromium build fix after r126763. + + * platform/graphics/Font.cpp: + +2012-08-25 Antonio Gomes <agomes@rim.com> + + For convenience, make RenderLayer::enclosingElement a public method. + https://bugs.webkit.org/show_bug.cgi?id=95018 + + Reviewed by George Staikos. + + ... this way some platform specific code could make use of it + and remove code duplications. + + No new tests needed. + + * rendering/RenderLayer.h: + (RenderLayer): + +2012-08-27 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: display a dimmed warning icon on a timeline record if it has children with warning + https://bugs.webkit.org/show_bug.cgi?id=95087 + + Reviewed by Yury Semikhatsky. + + Propagate warning from child timeline records to the top, display a dimmed warning icons for records + that have children with warnings. + + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelineRecordListRow.prototype.update): + * inspector/front-end/TimelinePresentationModel.js: + (WebInspector.TimelinePresentationModel.Record): + (WebInspector.TimelinePresentationModel.Record.prototype.get aggregatedStats): + (WebInspector.TimelinePresentationModel.Record.prototype.setHasWarning): + * inspector/front-end/timelinePanel.css: + (.timeline-tree-item.child-warning::after): + +2012-08-27 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Debugger should break on failed assertions in Break on exceptions mode. + https://bugs.webkit.org/show_bug.cgi?id=95088 + + Reviewed by Yury Semikhatsky. + + Debugger now breaks when assert message is added to console from console API. + + Test: inspector/debugger/debugger-pause-on-failed-assertion.html + + * English.lproj/localizedStrings.js: + * inspector/Inspector.json: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::addMessageToConsole): + (WebCore): + * inspector/InspectorDebuggerAgent.h: + (InspectorDebuggerAgent): + * inspector/InspectorInstrumentation.cpp: + (WebCore): + (WebCore::InspectorInstrumentation::addMessageToConsoleImpl): + * inspector/front-end/DebuggerModel.js: + * inspector/front-end/ScriptsPanel.js: + +2012-08-27 Ned Holbrook <nholbrook@apple.com> + + Improve line breaking performance for complex text + https://bugs.webkit.org/show_bug.cgi?id=83045 + + Reviewed by Darin Adler. + + Currently RenderBlock::LineBreaker::nextLineBreak assumes that measuring individual words is as cheap + as free. This is not the case when dealing with complex text, which benefits from laying out as much + text as possible and by reusing that layout when feasible: by doing so this patch improves line + breaking by 25% as measured with a simple test app. + + The bulk of this change is modifying ComplexTextController::advance, which previously required the + text offset to be strictly increasing and assumed unidirectional text; now it supports random seeking + in a naive fashion (by restarting to the beginning) and traverses glyphs in logical order. In the + latter case, the presence of any non-LTR runs triggers the population of a mapping from logical to + visual run indices. Finally, a new flag has been added which inhibits glyph advances from being split + across ligatures (thus causing spurious line breaks). + + A ComplexTextController and its associated TextRun and Font are encapsulated in a TextLayout object, + which is instantiated as an opaque object via functions that are no-ops unless building for Mac. A + static member function (isNeeded) checks to see whether a TextRun is complex, in order to avoid + needless instantiation. It also bails if tabs would be enabled since positional effects are not yet + handled in this mode. + + No behavioral changes are expected due to this change, so no new tests. + + * platform/graphics/Font.cpp: + (WTF): Define deleteOwnedPtr for TextLayout as calling through destroyLayout; relying on operator delete is not workable as the class does not exist on all platforms. + (WTF::WebCore::TextLayout): + (WebCore): Implement no-op TextLayout wrappers for non-Mac platforms. + (WebCore::Font::createLayout): + (WebCore::Font::deleteLayout): + (WebCore::Font::width): + * platform/graphics/Font.h: + (WebCore): Add forward declarations for RenderText and TextLayout. + (Font): Add functions for dealing with pointer to TextLayout implementation. + (WTF): Declare deleteOwnedPtr for TextLayout. + * platform/graphics/mac/ComplexTextController.cpp: + (TextLayout): An instance of this class corresponds to a ComplexTextController for a particular TextRun. + (WebCore::TextLayout::isNeeded): Used by wrapper to avoid instantiation when complex layout is not required. + (WebCore::TextLayout::TextLayout): + (WebCore::TextLayout::width): + (WebCore::TextLayout::fontWithNoWordSpacing): Helper function to allow initialization of member variable. + (WebCore::TextLayout::constructTextRun): Ditto. + (WebCore): Implement real TextLayout wrappers for Mac. + (WebCore::Font::createLayout): + (WebCore::Font::deleteLayout): + (WebCore::Font::width): + (WebCore::ComplexTextController::ComplexTextController): Initialize m_ltrOnly and reserve initial capacity for m_runIndices. + (WebCore::ComplexTextController::indexOfCurrentRun): Return (visual) m_complexTextRuns index corresponding to (logical) m_currentRun, lazily constructing m_runIndices if needed. + (WebCore::ComplexTextController::incrementCurrentRun): Return next m_complexTextRuns index in logical order. + (WebCore::ComplexTextController::advance): Allow restarting, support for bidi reordering, and option to measure only whole glyphs rather than dividing advances. + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Clear m_ltrOnly on detecting a RTL run. + * platform/graphics/mac/ComplexTextController.h: + (ComplexTextController): Add m_ltrOnly indicating no bidi reordering, and m_runIndices mapping from runs (logical order) to m_complexTextRuns (visual order). + (WebCore::ComplexTextController::ComplexTextRun::indexBegin): + (WebCore::ComplexTextController::ComplexTextRun::isLTR): + (ComplexTextRun): Add helper functions returning values pertinent to individual runs as opposed to the entire containing line. + (WebCore::ComplexTextController::stringBegin): Return first string index. + (WebCore::ComplexTextController::stringEnd): Return one past last string index. + * platform/graphics/mac/ComplexTextControllerCoreText.mm: Initialize m_indexBegin and m_ltr. + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_indexBegin and m_ltr. + * rendering/RenderBlock.h: + (RenderTextInfo): Add single mapping from RenderText to LazyLineBreakIterator and (possibly null) TextLayout since they are recreated under the same circumstances. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::RenderTextInfo::RenderTextInfo): Make non-inline to avoid compilation errors. + (WebCore::RenderBlock::RenderTextInfo::~RenderTextInfo): Ditto. + (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Allow RenderTextInfo to be reused across calls to nextLineBreak. + (WebCore::textWidth): Use TextLayout when supplied for measuring. + (WebCore::RenderBlock::LineBreaker::nextLineBreak): + +2012-08-27 Nico Weber <thakis@chromium.org> + + Add two missing variable initializers to RenderFlowThread + https://bugs.webkit.org/show_bug.cgi?id=95048 + + Reviewed by Julien Chaffraix. + + The m_dispatchRegionLayoutUpdateEvent change is needed to fix this + valgrind warning: + Conditional jump or move depends on uninitialised value(s) + WebCore::RenderFlowThread::layout() (third_party/WebKit/Source/WebCore/rendering/RenderFlowThread.cpp:189) + WebCore::RenderObject::layoutIfNeeded() (third_party/WebKit/Source/WebCore/rendering/RenderObject.h:647) + WebCore::FlowThreadController::layoutRenderNamedFlowThreads() (third_party/WebKit/Source/WebCore/rendering/FlowThreadController.cpp:124) + WebCore::RenderView::layout() (third_party/WebKit/Source/WebCore/rendering/RenderView.cpp:159) + WebCore::FrameView::layout(bool) (third_party/WebKit/Source/WebCore/page/FrameView.cpp:1154) + WebCore::FrameView::layoutTimerFired(WebCore::Timer<WebCore::FrameView>*) (third_party/WebKit/Source/WebCore/page/FrameView.cpp:2074) + WebCore::Timer<WebCore::FrameView>::fired() (third_party/WebKit/Source/WebCore/platform/Timer.h:100) + WebCore::ThreadTimers::sharedTimerFiredInternal() (third_party/WebKit/Source/WebCore/platform/ThreadTimers.cpp:115) + WebCore::ThreadTimers::sharedTimerFired() (third_party/WebKit/Source/WebCore/platform/ThreadTimers.cpp:93) + webkit_glue::WebKitPlatformSupportImpl::DoTimeout() (./webkit/glue/webkitplatformsupport_impl.h:163) + The report came from the `fast/regions/absolute-pos-elem-in-named-flow.html'--pixel-test` test. + + m_dispatchRegionLayoutUpdateEvent was added in https://bugs.webkit.org/show_bug.cgi?id=88778 + by abucur, reviewed by abarth. + + While here, also initialize m_hasRegionsWithStyling, added in https://bugs.webkit.org/show_bug.cgi?id=85633 + by mihnea, reviewed by hyatt. + + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::RenderFlowThread): + +2012-08-27 Justin Novosad <junov@chromium.org> + + [Chromium] Implementing a global limit on memory consumed by deferred 2D canvases + https://bugs.webkit.org/show_bug.cgi?id=94386 + + Reviewed by Stephen White. + + Before this change, there was no global bound on memory that could be + consumed for the purpose of recording 2d canvas deferred draw commands. + There was only a per canvas limit. It is possible for canvases to get + dereferenced without flushing pending draw commands, which may lock + resources until the canvas element is garbage collected. This makes + it possible to grow memory consumption indefinitely by hitting reload + successively on some canvas-intensive web pages. + + The solution implemented in this change consists in maintaining a + global registry of deferred canvas layers and tracking the sum of + memory allocated by all canvases for the purpose of storing deferred + draw commands. When memory consumption reaches the allowed limit, + caches are cleared and draw operations are flushed on one or several + canvases, starting with the least recently used, until memory + consumption is below a target level. + + New tests: webkit_unit_tests DeferredLayerManagerTest* + + * WebCore.gypi: + * platform/graphics/chromium/Canvas2DLayerBridge.cpp: + (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): + (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge): + (WebCore::Canvas2DLayerBridge::storageAllocatedForRecordingChanged): + Overloaded from SkDeferredCanvas::NotificationClient. Called when + there is a change in the number of bytes allocated by the deferred + canvas. + (WebCore): + (WebCore::Canvas2DLayerBridge::flushedDrawCommands): + Overloaded from SkDeferredCanvas::NotificationClient. Called when + pending draw commands are flush by the deferred canvas. + (WebCore::Canvas2DLayerBridge::freeMemoryIfPossible): + Called by the Canvas2DLayerManager to request the release of unlocked + memory resources (caches). Request is relayed to SkDeferredCanvas. + returns number of bytes freed. + (WebCore::Canvas2DLayerBridge::flush): + Requests that pending draw commands be flushed immediately from the + deferred canvas queue. Request is relayed to SkDeferredCanvas. + (WebCore::Canvas2DLayerBridge::contextAcquired): + * platform/graphics/chromium/Canvas2DLayerBridge.h: + (Canvas2DLayerBridge): + (WebCore::Canvas2DLayerBridge::bytesAllocated): + (WebCore::Canvas2DLayerBridge::updateBytesAllocated): + * platform/graphics/chromium/Canvas2DLayerManager.cpp: Added. + (WebCore): + (WebCore::Canvas2DLayerManager::Canvas2DLayerManager): + (WebCore::Canvas2DLayerManager::~Canvas2DLayerManager): + (WebCore::Canvas2DLayerManager::init): + Sets the global limit for the maximum total number of bytes allocated + by deferred layers. + (WebCore::Canvas2DLayerManager::get): + Singleton accessor + (WebCore::Canvas2DLayerManager::layerDidDraw): + Called by Canvas2DLayerBridge to indicate that the layer was drawn to. + (WebCore::Canvas2DLayerManager::addLayerToList): + (WebCore::Canvas2DLayerManager::layerAllocatedStorageChanged): + Called by Canvas2DLayerBridge to indicate thet the memory consumed by + the layer has changed. + (WebCore::Canvas2DLayerManager::layerDidFlush): + Called by Canvas2DLayerBridge to indicated that the pending draw + commands of the layer were flushed. + (WebCore::Canvas2DLayerManager::layerToBeDestroyed): + Called by Canvas2DLayerBridge upon destruction. + (WebCore::Canvas2DLayerManager::freeMemoryIfNecessary): + Called internally. Check that current memory consumption is below + the tolerated limit. If check fails, intiates resource releases. + (WebCore::Canvas2DLayerManager::removeLayerFromList): + (WebCore::Canvas2DLayerManager::isInList): + (WebCore::Canvas2DLayerManager::updateBytesAllocated): + * platform/graphics/chromium/Canvas2DLayerManager.h: Added. + (WebCore): + (Canvas2DLayerManager): + +2012-08-27 Zeno Albisser <zeno@webkit.org> + + Implement GraphicsSurface::paintToTextureMapper. + https://bugs.webkit.org/show_bug.cgi?id=95077 + + Forward paintToTextureMapper call directly into + GraphicsSurface. This allows getting rid of platform + specific code in TextureMapperSurfaceBackingStore. + + Reviewed by Noam Rosenthal. + + * platform/graphics/surfaces/GraphicsSurface.cpp: + (WebCore::GraphicsSurface::paintToTextureMapper): + (WebCore): + * platform/graphics/surfaces/GraphicsSurface.h: + (WebCore): + (GraphicsSurface): + * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: + (WebCore::GraphicsSurface::platformPaintToTextureMapper): + (WebCore): + * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp: + (WebCore): + (WebCore::GraphicsSurface::platformPaintToTextureMapper): + * platform/graphics/texmap/TextureMapperBackingStore.cpp: + (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper): + +2012-08-27 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: filter out weak references from retainers tree + https://bugs.webkit.org/show_bug.cgi?id=95082 + + Reviewed by Yury Semikhatsky. + + Weak references don't retain objects. + + * inspector/front-end/HeapSnapshotGridNodes.js: + +2012-08-27 Philippe Normand <pnormand@igalia.com> + + [GStreamer][Qt] WebAudio support + https://bugs.webkit.org/show_bug.cgi?id=94806 + + Reviewed by Simon Hausmann. + + Build fix after r126756 in which I forgot to add the new + AudioBusQt.cpp file. + + * platform/audio/qt/AudioBusQt.cpp: Added. + (WebCore): + (WebCore::AudioBus::loadPlatformResource): + +2012-08-27 Philippe Normand <pnormand@igalia.com> + + [GStreamer][Qt] WebAudio support + https://bugs.webkit.org/show_bug.cgi?id=94806 + + Reviewed by Simon Hausmann. + + Build system changes to support WebAudio and its GStreamer + backend. A new AudioBusQt implementation is also needed to locate + and load local .wav files. Note: WebAudio is still disabled by default in + build-webkit. Use --web-audio to explicitely enable it at build time. + + * DerivedSources.pri: + * Target.pri: + * WebCore.pri: + * WebCore.qrc: + * platform/audio/HRTFElevation.cpp: + (WebCore): Use concatenated HRTF impulse response for increased + performance, just like GTK, Mac and EFL ports. + * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: Undef the + signals macro so gio.h can be properly included. + * platform/audio/qt/AudioBusQt.cpp: Added. + (WebCore): + (WebCore::AudioBus::loadPlatformResource): + +2012-08-27 Andreas Kling <kling@webkit.org> + + REGRESSION(r126524): Heap-buffer-overflow in WebCore::StylePropertySet::copyPropertiesFrom + <http://webkit.org/b/95005> + + Reviewed by Antti Koivisto. + + Remove incorrect assertion that the StylePropertySet is empty before properties are copied + into it, as this is no guarantee in editing code. + This regressed when splitting the code into mutable/immutable paths. Covered by assertions + on existing tests. + + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::copyPropertiesFrom): + +2012-08-25 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: display cause for style recalculation and layout on Timeline + https://bugs.webkit.org/show_bug.cgi?id=95000 + + Reviewed by Pavel Feldman. + + Added instrumentation for didInvalidateLayout and didScheduleStyleRecalculation; + Dispaly stacks of the above records in Layout and Recalculate Style as "call site" stacks (need a better wording?); + Display synchronous Layout records in red, provide a warning that these may affect performance; + + * English.lproj/localizedStrings.js: +"Note" and a warning test for sync layout; + * inspector/InspectorInstrumentation.cpp: Plumbing new instrumentation methods through to timeline; + (WebCore): + (WebCore::InspectorInstrumentation::didInvalidateLayoutImpl): + (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl): + * inspector/InspectorInstrumentation.h: ditto. + (InspectorInstrumentation): + (WebCore::InspectorInstrumentation::didInvalidateLayout): + (WebCore): + * inspector/InspectorTimelineAgent.cpp: ditto. + (TimelineRecordType): + (WebCore::InspectorTimelineAgent::didInvalidateLayout): + (WebCore): + (WebCore::InspectorTimelineAgent::didScheduleStyleRecalculation): + * inspector/InspectorTimelineAgent.h: ditto. + (InspectorTimelineAgent): + * inspector/front-end/TimelineModel.js: + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelineRecordListRow.prototype.update): Display records with warnings in their own style; + * inspector/front-end/TimelinePresentationModel.js: + (WebInspector.TimelinePresentationModel._initRecordStyles): Renamed, added new records; + (WebInspector.TimelinePresentationModel.recordStyle): Added new records; + (WebInspector.TimelinePresentationModel.prototype.reset): + (WebInspector.TimelinePresentationModel.prototype._innerAddRecord): Add support for new records, make 'em hidden; + (WebInspector.TimelinePresentationModel.Record): Add support for hidden records; + (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview): + (WebInspector.TimelinePresentationModel.Record.prototype._linkifyTopCallFrame): Linkify originator's top frame if no own stack is present; + * inspector/front-end/timelinePanel.css: + (.timeline-tree-item.warning): Reddish text for records with warnings; + * page/FrameView.cpp: + (WebCore::FrameView::scheduleRelayout): Added call to InspectorInstrumentation::didInvalidateLayout() + (WebCore::FrameView::scheduleRelayoutOfSubtree): Ditto. + +2012-08-27 KyungTae Kim <ktf.kim@samsung.com> + + [EFL] Wrong button height on CSS tests + https://bugs.webkit.org/show_bug.cgi?id=85494 + + Reviewed by Gyuyoung Kim. + + The codes for overriding styles for buttons must be removed + for passing the layout test 'fast/css/button-height.html'. + + The 'resetBorder' reset border style for a button (2px outset) to the initial value, + and it makes the size of <input type=button> different from the size of <button>. + ('fast/css/button-height.html' checks whether they are same.) + + The 'setWhiteSpace' is not needed because the white space already set to 'PRE'. + + The 'setHeight' reset the 'height' style that should not be reset. + ('fast/css/buttons-height.html' set the button's height style.) + + Tests : fast/css/button-height.html + fast/css/continuationCrash.html + fast/css/margin-top-bottom-dynamic.html + fast/css/rtl-ordering.html + fast/dom/HTMLTextAreaElement/reset-textarea.html + fast/forms/basic-buttons.html + fast/forms/blankbuttons.html + fast/forms/box-shadow-override.html + fast/forms/button-positioned.html + fast/forms/button-sizes.html + fast/forms/button-style-color.html + fast/forms/button-table-styles.html + fast/forms/button-text-transform.html + fast/forms/control-restrict-line-height.html + fast/forms/file/file-input-direction.html + fast/forms/file/file-input-disabled.html + fast/forms/formmove3.html + fast/forms/input-appearance-height.html + fast/forms/input-button-sizes.html + fast/forms/input-value.html + fast/forms/targeted-frame-submission.html + fast/html/details-replace-summary-child.html + fast/html/details-replace-text.html + fast/overflow/scroll-nested-positioned-layer-in-overflow.html + fast/overflow/scrollRevealButton.html + fast/replaced/replaced-breaking.html + fast/replaced/width100percent-button.html + fast/text/textIteratorNilRenderer.html + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::adjustButtonStyle): No longer override CSS properties for button styling. + +2012-08-27 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: DOM tree search issue with quotation marks + https://bugs.webkit.org/show_bug.cgi?id=95065 + + Reviewed by Pavel Feldman. + + Introduced the exact match mode for attributes (query enclosed in double quotes) where only entire attribute values + are matched against the search query (with the double quotes trimmed). + + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::performSearch): + +2012-08-27 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: [WebGL] Implement serializing WebGL state and replaying it later + https://bugs.webkit.org/show_bug.cgi?id=94933 + + Reviewed by Pavel Feldman. + + This will allow us to save the WebGL state at any arbitrary point in order to replay a trace log later on another canvas. + Main points of the change: + - Allow every Resource and Call instances be serialized to a Replayable, and resurrected back during a replay on another canvas. + + - Before executing an original WebGL call and saving it to a trace log, first serialize all the Resources that will be involved in + this call, if they are not yet serialized. The latter part is implemented with a Cache instance, checking that we convert a Resource + to a Replayable only once: the first time it was used in the trace log being collected. We do not need to serialize the subsequent + changes to this Resource's state (if any), since they will be saved in the trace log being collected and replayed automatically. + + - Some information about the WebGL state may be requested in the runtime (e.g. with the gl.getParameter method). We use this wherever + possible instead of collecting Calls in a Resource log. Otherwise, we have to collect WebGL calls (like gl.texImage2D) in order to + replay them later. + + - Later the Replayable objects hierarchy (the TraceLog) may be serialized further for cross-device transmission, for example. + + + * inspector/InjectedScriptWebGLModuleSource.js: + (.): + +2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126694 and r126731. + http://trac.webkit.org/changeset/126694 + http://trac.webkit.org/changeset/126731 + https://bugs.webkit.org/show_bug.cgi?id=95069 + + Causes all pages to be rendered as a completely black page in + Qt WebKit2 (Requested by carewolf on #webkit). + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/texmap/TextureMapperGL.cpp: + (SharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext): + (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::SharedGLData): + (WebCore::TextureMapperGLData::sharedGLData): + (WebCore::TextureMapperGLData::TextureMapperGLData): + (TextureMapperGLData): + (WebCore::scissorClip): + (WebCore::TextureMapperGL::ClipStack::apply): + (WebCore::TextureMapperGLData::initializeStencil): + (WebCore::TextureMapperGL::TextureMapperGL): + (WebCore::TextureMapperGL::beginPainting): + (WebCore::TextureMapperGL::endPainting): + (WebCore::TextureMapperGL::drawQuad): + (WebCore::TextureMapperGL::drawBorder): + (WebCore): + (WebCore::TextureMapperGL::drawTextureRectangleARB): + (WebCore::TextureMapperGL::drawTexture): + (WebCore::viewportMatrix): + (WebCore::TextureMapperGL::drawTextureWithAntialiasing): + (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): + (WebCore::BitmapTextureGL::didReset): + (WebCore::BitmapTextureGL::updateContents): + (WebCore::TextureMapperGL::drawFiltered): + (WebCore::BitmapTextureGL::initializeStencil): + (WebCore::BitmapTextureGL::clearIfNeeded): + (WebCore::BitmapTextureGL::createFboIfNeeded): + (WebCore::BitmapTextureGL::bind): + (WebCore::BitmapTextureGL::~BitmapTextureGL): + (WebCore::TextureMapperGL::bindDefaultSurface): + (WebCore::TextureMapperGL::beginScissorClip): + (WebCore::TextureMapperGL::beginClip): + (WebCore::TextureMapperGL::endClip): + (WebCore::TextureMapperGL::createTexture): + * platform/graphics/texmap/TextureMapperGL.h: + (TextureMapperGL): + (ClipStack): + (WebCore::BitmapTextureGL::textureTarget): + (BitmapTextureGL): + (WebCore::BitmapTextureGL::BitmapTextureGL): + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore): + (WebCore::TextureMapperShaderManager::getShaderProgram): + (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgram::initializeProgram): + (WebCore::TextureMapperShaderProgram::getUniformLocation): + (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor): + (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple): + (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask): + (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask): + (WebCore::TextureMapperShaderManager::TextureMapperShaderManager): + (WebCore::StandardFilterProgram::~StandardFilterProgram): + (WebCore::StandardFilterProgram::StandardFilterProgram): + (WebCore::StandardFilterProgram::create): + (WebCore::StandardFilterProgram::prepare): + (WebCore::TextureMapperShaderManager::getShaderForFilter): + * platform/graphics/texmap/TextureMapperShaderManager.h: + (WebCore::TextureMapperShaderProgram::id): + (WebCore::TextureMapperShaderProgram::vertexAttrib): + (TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgram::matrixLocation): + (WebCore::TextureMapperShaderProgram::flipLocation): + (WebCore::TextureMapperShaderProgram::textureSizeLocation): + (WebCore::TextureMapperShaderProgram::sourceTextureLocation): + (WebCore::TextureMapperShaderProgram::maskTextureLocation): + (WebCore::TextureMapperShaderProgram::opacityLocation): + (WebCore::TextureMapperShaderProgram::isValidUniformLocation): + (StandardFilterProgram): + (WebCore::StandardFilterProgram::vertexAttrib): + (WebCore::StandardFilterProgram::texCoordAttrib): + (WebCore::StandardFilterProgram::textureUniform): + (WebCore::TextureMapperShaderProgramSimple::create): + (TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramRectSimple::create): + (WebCore::TextureMapperShaderProgramOpacityAndMask::create): + (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create): + (WebCore::TextureMapperShaderProgramSolidColor::create): + (WebCore::TextureMapperShaderProgramSolidColor::colorLocation): + (TextureMapperShaderProgramSolidColor): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::create): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadVerticesInTextureCoordinatesLocation): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadEdgesInScreenSpaceLocation): + (TextureMapperShaderProgramAntialiasingNoMask): + +2012-08-27 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: HeapSnapshot: filter weak links in markQueriableHeapObjects and two other minor fixes. + https://bugs.webkit.org/show_bug.cgi?id=95068 + + Reviewed by Yury Semikhatsky. + + - count shortcuts as normal links in distance; + shortcuts help us to show object properties without exposing internal scope object + - set initial distance to 1 instead of 0 + the initial value for window was 0 and bfs counted the window object as not visited. + + * inspector/front-end/HeapSnapshot.js: + (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance): + (WebInspector.HeapSnapshot.prototype._bfs): + (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects): + +2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126694 and r126731. + http://trac.webkit.org/changeset/126694 + http://trac.webkit.org/changeset/126731 + https://bugs.webkit.org/show_bug.cgi?id=95069 + + Causes all pages to be rendered as a completely black page in + Qt WebKit2 (Requested by carewolf on #webkit). + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/texmap/TextureMapperGL.cpp: + (SharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext): + (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::SharedGLData): + (WebCore::TextureMapperGLData::sharedGLData): + (WebCore::TextureMapperGLData::TextureMapperGLData): + (TextureMapperGLData): + (WebCore::scissorClip): + (WebCore::TextureMapperGL::ClipStack::apply): + (WebCore::TextureMapperGLData::initializeStencil): + (WebCore::TextureMapperGL::TextureMapperGL): + (WebCore::TextureMapperGL::beginPainting): + (WebCore::TextureMapperGL::endPainting): + (WebCore::TextureMapperGL::drawQuad): + (WebCore::TextureMapperGL::drawBorder): + (WebCore): + (WebCore::TextureMapperGL::drawTextureRectangleARB): + (WebCore::TextureMapperGL::drawTexture): + (WebCore::viewportMatrix): + (WebCore::TextureMapperGL::drawTextureWithAntialiasing): + (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): + (WebCore::BitmapTextureGL::didReset): + (WebCore::BitmapTextureGL::updateContents): + (WebCore::TextureMapperGL::drawFiltered): + (WebCore::BitmapTextureGL::initializeStencil): + (WebCore::BitmapTextureGL::clearIfNeeded): + (WebCore::BitmapTextureGL::createFboIfNeeded): + (WebCore::BitmapTextureGL::bind): + (WebCore::BitmapTextureGL::~BitmapTextureGL): + (WebCore::TextureMapperGL::bindDefaultSurface): + (WebCore::TextureMapperGL::beginScissorClip): + (WebCore::TextureMapperGL::beginClip): + (WebCore::TextureMapperGL::endClip): + (WebCore::TextureMapperGL::createTexture): + * platform/graphics/texmap/TextureMapperGL.h: + (TextureMapperGL): + (ClipStack): + (WebCore::BitmapTextureGL::textureTarget): + (BitmapTextureGL): + (WebCore::BitmapTextureGL::BitmapTextureGL): + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore): + (WebCore::TextureMapperShaderManager::getShaderProgram): + (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgram::initializeProgram): + (WebCore::TextureMapperShaderProgram::getUniformLocation): + (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor): + (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple): + (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask): + (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask): + (WebCore::TextureMapperShaderManager::TextureMapperShaderManager): + (WebCore::StandardFilterProgram::~StandardFilterProgram): + (WebCore::StandardFilterProgram::StandardFilterProgram): + (WebCore::StandardFilterProgram::create): + (WebCore::StandardFilterProgram::prepare): + (WebCore::TextureMapperShaderManager::getShaderForFilter): + * platform/graphics/texmap/TextureMapperShaderManager.h: + (WebCore::TextureMapperShaderProgram::id): + (WebCore::TextureMapperShaderProgram::vertexAttrib): + (TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgram::matrixLocation): + (WebCore::TextureMapperShaderProgram::flipLocation): + (WebCore::TextureMapperShaderProgram::textureSizeLocation): + (WebCore::TextureMapperShaderProgram::sourceTextureLocation): + (WebCore::TextureMapperShaderProgram::maskTextureLocation): + (WebCore::TextureMapperShaderProgram::opacityLocation): + (WebCore::TextureMapperShaderProgram::isValidUniformLocation): + (StandardFilterProgram): + (WebCore::StandardFilterProgram::vertexAttrib): + (WebCore::StandardFilterProgram::texCoordAttrib): + (WebCore::StandardFilterProgram::textureUniform): + (WebCore::TextureMapperShaderProgramSimple::create): + (TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramRectSimple::create): + (WebCore::TextureMapperShaderProgramOpacityAndMask::create): + (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create): + (WebCore::TextureMapperShaderProgramSolidColor::create): + (WebCore::TextureMapperShaderProgramSolidColor::colorLocation): + (TextureMapperShaderProgramSolidColor): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::create): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadVerticesInTextureCoordinatesLocation): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadEdgesInScreenSpaceLocation): + (TextureMapperShaderProgramAntialiasingNoMask): + +2012-08-27 Christophe Dumez <christophe.dumez@intel.com> + + Regression(r126721): bindings-tests results need to be updated + https://bugs.webkit.org/show_bug.cgi?id=95060 + + Reviewed by Kentaro Hara. + + Regenerate bindings-tests results after r126721. This change + removed the NULL checks from visitChildren functions. + + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::JSTestObj::visitChildren): + * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: + (WebCore::JSTestSerializedScriptValueInterface::visitChildren): + +2012-08-24 Alexander Pavlov <apavlov@chromium.org> + + Web Inspector: Incorrect property override computation when !important is involved + https://bugs.webkit.org/show_bug.cgi?id=94923 + + Reviewed by Vsevolod Vlasov. + + The cascade of !important properties was totally wrong if a property was listed as !important first and as non-!important later on. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane.prototype._refreshStyleRules): + (WebInspector.StylesSidebarPane.prototype._markUsedProperties): + +2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> + + Rename RegisterProtocolHandler API to NavigatorContentUtils + https://bugs.webkit.org/show_bug.cgi?id=94920 + + Reviewed by Adam Barth. + + Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed. + Module 'protocolhandler' is renamed to 'navigatorcontentutils'. + + No new tests as there is no new functionality. + + * CMakeLists.txt: + * Configurations/FeatureDefines.xcconfig: + * GNUmakefile.am: + * GNUmakefile.features.am: + * GNUmakefile.list.am: + * Modules/navigatorcontentutils/NavigatorContentUtils.cpp: Renamed from Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp. + (WebCore): + (WebCore::initProtocolHandlerWhitelist): + (WebCore::verifyCustomHandlerURL): + (WebCore::isProtocolWhitelisted): + (WebCore::verifyProtocolHandlerScheme): + (WebCore::NavigatorContentUtils::from): + (WebCore::NavigatorContentUtils::~NavigatorContentUtils): + (WebCore::NavigatorContentUtils::create): + (WebCore::NavigatorContentUtils::registerProtocolHandler): + (WebCore::customHandlersStateString): + (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered): + (WebCore::NavigatorContentUtils::unregisterProtocolHandler): + (WebCore::NavigatorContentUtils::supplementName): + (WebCore::provideNavigatorContentUtilsTo): + * Modules/navigatorcontentutils/NavigatorContentUtils.h: Renamed from Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.h. + (WebCore): + (NavigatorContentUtils): + (WebCore::NavigatorContentUtils::NavigatorContentUtils): + (WebCore::NavigatorContentUtils::client): + * Modules/navigatorcontentutils/NavigatorContentUtils.idl: Renamed from Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl. + * Modules/navigatorcontentutils/NavigatorContentUtilsClient.h: Renamed from Source/WebCore/Modules/protocolhandler/RegisterProtocolHandlerClient.h. + (WebCore): + (NavigatorContentUtilsClient): + (WebCore::NavigatorContentUtilsClient::~NavigatorContentUtilsClient): + * Target.pri: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * WebCore.pri: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/copyForwardingHeaders.cmd: + +2012-08-27 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] REGRESSION(r126694): It broke the debug build + https://bugs.webkit.org/show_bug.cgi?id=95037 + + Unreviewed trivial build fix for debug builds. + + Don't pass WTFStrings through printf, use .ascii().data(). + + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore::StandardFilterProgram::StandardFilterProgram): + +2012-08-26 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] Focus style of millisecond field in multiple fields time input UI is different from other fields + https://bugs.webkit.org/show_bug.cgi?id=95046 + + Reviewed by Kent Tamura. + + This patch fixes typo for input::-webkit-datetime-edit-millisecond-field:focus + selector to make all fields of multiple fields time input UI have same + style on focus. + + Test: fast/forms/time-multiple-fields/time-multiple-fields-focus-style.html + + * css/html.css: Fix typo for selector input::-webkit-datetime-edit-millisecond-field:focus + +2012-08-26 Nico Weber <thakis@chromium.org> + + Initialized m_hasNonEmptyList to fix a valgrind uninitialized read + https://bugs.webkit.org/show_bug.cgi?id=95045 + + Reviewed by Kent Tamura. + + Conditional jump or move depends on uninitialised value(s) + WebCore::HTMLInputElement::dataList() const (third_party/WebKit/Source/WebCore/html/HTMLInputElement.cpp:1523) + WebCore::RangeInputType::updateTickMarkValues() (third_party/WebKit/Source/WebCore/html/RangeInputType.cpp:351) + WebCore::RangeInputType::findClosestTickMarkValue(WebCore::Decimal const&) (third_party/WebKit/Source/WebCore/html/RangeInputType.cpp:370) + WebCore::HTMLInputElement::findClosestTickMarkValue(WebCore::Decimal const&) (third_party/WebKit/Source/WebCore/html/HTMLInputElement.cpp:324) + WebCore::SliderThumbElement::setPositionFromPoint(WebCore::FractionalLayoutPoint const&) (third_party/WebKit/Source/WebCore/html/shadow/SliderThumbElement.cpp:296) + WebCore::SliderThumbElement::dragFrom(WebCore::FractionalLayoutPoint const&) (third_party/WebKit/Source/WebCore/html/shadow/SliderThumbElement.cpp:246) + WebCore::RangeInputType::handleMouseDownEvent(WebCore::MouseEvent*) (third_party/WebKit/Source/WebCore/html/RangeInputType.cpp:159) + WebCore::HTMLInputElement::defaultEventHandler(WebCore::Event*) (third_party/WebKit/Source/WebCore/html/HTMLInputElement.cpp:1163) + WebCore::MediaControlTimelineElement::defaultEventHandler(WebCore::Event*) (third_party/WebKit/Source/WebCore/html/shadow/MediaControlElements.cpp:916) + WebCore::EventDispatcher::dispatchEventPostProcess(WTF::PassRefPtr<WebCore::Event>, void*) (third_party/WebKit/Source/WebCore/dom/EventDispatcher.cpp:357) + WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) (third_party/WebKit/Source/WebCore/dom/EventDispatcher.cpp:263) + WebCore::MouseEventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const (third_party/WebKit/Source/WebCore/dom/MouseEvent.cpp:238) + WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::EventDispatchMediator>) (third_party/WebKit/Source/WebCore/dom/EventDispatcher.cpp:129) + ... + The report came from the `media/audio-delete-while-slider-thumb-clicked.html'--pixel-test` test. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::HTMLInputElement): + (WebCore::HTMLInputElement::dataList): + +2012-08-26 Geoffrey Garen <ggaren@apple.com> + + Removed the NULL checks from visitChildren functions + https://bugs.webkit.org/show_bug.cgi?id=95021 + + Reviewed by Oliver Hunt. + + As of http://trac.webkit.org/changeset/126624, all values are NULL-checked + during GC, so explicit NULL checks aren't needed anymore. + +2012-08-26 Geoffrey Garen <ggaren@apple.com> + + Removed a JSC-specific hack from the web inspector + https://bugs.webkit.org/show_bug.cgi?id=95033 + + Reviewed by Filip Pizlo. + + The hack was never reviewed. If it had been, I suspect it would have + gotten an r- for making weird assumptions about the engine's implimentation. + + * inspector/InjectedScriptSource.js: It's not sound to assume that an + object has no properties except for "arguments" if and only if it's an + activation: non-activations can have a property named "arguments", and + activations can optimize out "arguments". + +2012-08-26 Christopher Cameron <ccameron@chromium.org> + + [chromium] Fix a bug where CCThreadProxy::canDraw() gets stuck at false on tab switch + https://bugs.webkit.org/show_bug.cgi?id=94903 + + Reviewed by James Robinson. + + Suppose the impl thread deletes all textures via + releaseContentsTextures(). The impl thread will not be able to draw + again until resetContentsTexturesPurged() is called in + scheduledActionCommit(). When deleting the textures, the function + releaseContentsTextures() calls setNeedsCommitOnImplThread() to ensure + that a commit will come along to allow drawing again. If this commit + is aborted, then the page will not draw until a commit is scheduled, + which may be never. + + Make beginFrameAborted() call setNeedsCommit(), so that the requested + commit will eventually occur. + + No new tests, update to CCSchedulerStateMachineTest's + TestGoesInvisibleBeforeBeginFrameCompletes to require new + functionality (new test fails with old behavior). + + * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: + (WebCore::CCSchedulerStateMachine::beginFrameAborted): + +2012-08-26 Antti Koivisto <antti@apple.com> + + Remove parent pointer from StyleSheetContents and StyleRuleImport + https://bugs.webkit.org/show_bug.cgi?id=94926 + + Reviewed by Andreas Kling. + + To be able to cache and share @imported stylesheets in the future there must not be any parent + pointers in the stylesheet tree. + + Parent pointers are used during loading to invoke load completion callbacks and for + accessing document context information (like the security origin). They are not used after + the sheet load is complete. Instead of keeping the parent pointers around indefinitely as part of the + stylesheet data structure we just keep a pointer to the root CSSStyleSheet for the duration of the load. + + This patch doesn't enable any new caching or generally change the behavior. + + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::insertRule): + (WebCore::CSSStyleSheet::rootStyleSheet): + (WebCore): + (WebCore::CSSStyleSheet::ownerDocument): + * css/CSSStyleSheet.h: + (CSSStyleSheet): + * css/StyleRuleImport.cpp: + (WebCore::StyleRuleImport::LoadContext::LoadContext): + + Simplify by making StyleRuleImport CachedStyleSheetClient directly. LoadContext contains + fields that can be thrown away after load completes. + + (WebCore): + (WebCore::StyleRuleImport::StyleRuleImport): + (WebCore::StyleRuleImport::~StyleRuleImport): + (WebCore::StyleRuleImport::setCSSStyleSheet): + (WebCore::StyleRuleImport::isLoading): + (WebCore::StyleRuleImport::hadLoadError): + (WebCore::StyleRuleImport::requestStyleSheet): + * css/StyleRuleImport.h: + (StyleRuleImport): + (LoadContext): + * css/StyleSheetContents.cpp: + (WebCore::StyleSheetContents::StyleSheetContents): + + Remove now unnecessary constructor. + + (WebCore::StyleSheetContents::isCacheable): + (WebCore::StyleSheetContents::parserAppendRule): + (WebCore::StyleSheetContents::clearRules): + (WebCore::StyleSheetContents::wrapperInsertRule): + (WebCore::StyleSheetContents::wrapperDeleteRule): + (WebCore::StyleSheetContents::requestImportedStyleSheets): + (WebCore): + (WebCore::StyleSheetContents::parseAuthorStyleSheet): + (WebCore::StyleSheetContents::parseStringAtLine): + (WebCore::StyleSheetContents::checkImportedSheetLoadCompleted): + (WebCore::StyleSheetContents::checkLoadCompleted): + (WebCore::StyleSheetContents::getAncestors): + (WebCore::StyleSheetContents::hasImportCycle): + + Move the cycle checking to the root stylesheet so we don't need to pass the entire chain around. + The extra work here is unlikely to cause problems, massive import trees don't really occur in + practice. + + * css/StyleSheetContents.h: + (WebCore::StyleSheetContents::create): + (StyleSheetContents): + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::parseStyleSheet): + * dom/StyleElement.cpp: + (WebCore::StyleElement::createSheet): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::setCSSStyleSheet): + +2012-08-26 Andreas Kling <kling@webkit.org> + + Avoid pointless string/number round-trip in applyRelativeFontStyleChange(). + <http://webkit.org/b/95031> + + Reviewed by Dan Bernstein. + + Create a CSS_PX primitive value directly instead of passing String::number(foo) + "px" to the CSS parser. + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + +2012-08-26 Gavin Peters <gavinp@chromium.org> + + Prerenderering should gracefully handle no PrerendererClient or PrerenderingPlatform being provided. + https://bugs.webkit.org/show_bug.cgi?id=95036 + + Reviewed by Adam Barth. + + Some assertions made sure there was a prerendering platform and client, and this change should make prerendering just be a NOP when no platform is provided, and just continue without a client when there is no client provided. These assertions were causing crashes in chromium's content_shell target, and really for no good reason. + + No new tests, because DumpRenderTree provides both a PrerenderingPlatform and a PrerendererClient. But there is a new layout test in chromium's WebKitBrowserTest for this behaviour, see http://codereview.chromium.org/10869068/ + + * loader/Prerenderer.cpp: + (WebCore::Prerenderer::Prerenderer): + (WebCore::Prerenderer::render): + (WebCore::Prerenderer::client): + * loader/Prerenderer.h: + * loader/PrerendererClient.cpp: + (WebCore::PrerendererClient::from): + * platform/chromium/Prerender.cpp: + (WebCore::Prerender::cancel): + +2012-08-26 David Barton <dbarton@mathscribe.com> + + Streamline mathml.css + https://bugs.webkit.org/show_bug.cgi?id=95039 + + Reviewed by Dan Bernstein. + + Remove 3 no-op { margin: 0px } declarations, and combine several { display: inline-block } ones. + + Tested by existing tests. + + * css/mathml.css: + (math): + (mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot): + (mrow, mfenced): + (msubsup > *): + (mo, mn, mi, mtext): + (annotation, annotation-xml): + (msqrt): + (mroot): + +2012-08-26 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: make ConsoleView listen to the JavaScriptContextManager + https://bugs.webkit.org/show_bug.cgi?id=94940 + + Reviewed by Vsevolod Vlasov. + + Otherwise, model is pushing data into the UI. + + * inspector/front-end/ConsoleMessage.js: + (WebInspector.ConsoleMessageImpl.prototype.clone): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._contextAdded): + (WebInspector.ConsoleView.prototype._addContext): + (WebInspector.ConsoleView.prototype._contextRemoved): + * inspector/front-end/JavaScriptContextManager.js: + (WebInspector.JavaScriptContextManager): + (WebInspector.JavaScriptContextManager.prototype.contexts): + (WebInspector.JavaScriptContextManager.prototype._frameAdded): + (WebInspector.JavaScriptContextManager.prototype._frameDetached): + * inspector/front-end/ParsedURL.js: + (WebInspector.ParsedURL.completeURL): + (WebInspector.TextEditorDelegateForSourceFrame.prototype.createLink): + * inspector/front-end/inspector.js: + +2012-08-26 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: provide "show function definition" and "reveal in elements panel" using context menu provider. + https://bugs.webkit.org/show_bug.cgi?id=94932 + + Reviewed by Vsevolod Vlasov. + + Moved corresponding context menu providers into scripts and elements panels. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/compile-front-end.py: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.revealAndSelectNode): + (WebInspector.ElementsPanel.prototype.appendApplicableItems.selectNode): + (WebInspector.ElementsPanel.prototype.appendApplicableItems.revealElement): + (WebInspector.ElementsPanel.prototype.appendApplicableItems): + * inspector/front-end/ElementsPanelDescriptor.js: Copied from Source/WebCore/inspector/front-end/ScriptsPanelDescriptor.js. + (WebInspector.ElementsPanelDescriptor): + (WebInspector.ElementsPanelDescriptor.prototype.appendApplicableItems): + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertiesSection.prototype._contextMenuEventFired): + (WebInspector.ObjectPropertyTreeElement.prototype.update): + (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuFired): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.appendApplicableItems): + (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems): + (WebInspector.ScriptsPanel.prototype._appendFunctionItems.didGetDetails): + (WebInspector.ScriptsPanel.prototype._appendFunctionItems.revealFunction): + (WebInspector.ScriptsPanel.prototype._appendFunctionItems): + * inspector/front-end/ScriptsPanelDescriptor.js: + (WebInspector.ScriptsPanelDescriptor.prototype.appendApplicableItems): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector._panelDescriptors): + +2012-08-26 Joe Mason <jmason@rim.com> + + [BlackBerry] Stop leaking a pthread_attr in CookieDatabaseBackingStore + https://bugs.webkit.org/show_bug.cgi?id=95029 + + Reviewed by Rob Buis. + + No new tests (no behaviour change) + RIM PR 198519 + + * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: + (WebCore::CookieDatabaseBackingStore::CookieDatabaseBackingStore): use pthread_attr_default + instead of pthread_attr_init + +2012-08-25 David Barton <dbarton@mathscribe.com> + + Remove { vertical-align: baseline } declarations from mathml.css + https://bugs.webkit.org/show_bug.cgi?id=95015 + + Reviewed by Eric Seidel. + + The { vertical-align: baseline } declarations in mathml.css had no positive effect, and could + wrongly override a previous { vertical-align: sub } or { vertical-align: super } declaration. + + Added 1 test to mathml/presentation/subsup.xhtml. + + * css/mathml.css: + (math): + (mrow, mfenced): + (msub, msup): + (msubsup): + (munder, mover, munderover): + - Remove { vertical-align: baseline } declarations + +2012-08-25 Roland Takacs <rtakacs@inf.u-szeged.hu>, Helder Correia <helder.correia@nokia.com> + + [Texmap] Move TextureMapperGL to use GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=78672 + + Reviewed by Noam Rosenthal. + + It is based on a previous patch by Helder Correia. + + TextureMapperGL (TMGL) includes direct GL calls and + GraphicsContext3D (GC3D) offers many conveniences over the + former approach: using existing CSS shader code, ANGLE for + shader compilation, reusing WebCore::Texture, having shaders and + textures that can delete themselves. + + A GC3D object is created by TMGL with the newly introduced + builder createForCurrentGLContext(), which in turn uses + the new RenderToCurrentGLContext flag underneath. + + TMGL's dependency on OpenGLShims.h was completely removed. + However, GC3D does not map every single GL constant. Thus, it's + important to document the following: + - GL_FALSE was mapped to false. + - GL_UNPACK_ROW_LENGTH, GL_UNPACK_SKIP_PIXELS, + GL_UNPACK_SKIP_ROWS, GL_TEXTURE_RECTANGLE_ARB, and + GL_UNSIGNED_INT_8_8_8_8_REV were locally defined in TMGL. + + The patch was originally developed by Helder Correia and finished + by Roland Takacs. + + No new tests, refactoring. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/texmap/TextureMapperGL.cpp: + (SharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData): + (WebCore::TextureMapperGLData::SharedGLData::SharedGLData): + (WebCore::TextureMapperGLData::sharedGLData): + (WebCore::TextureMapperGLData::TextureMapperGLData): + (TextureMapperGLData): + (WebCore::scissorClip): + (WebCore::TextureMapperGL::ClipStack::apply): + (WebCore::TextureMapperGLData::initializeStencil): + (WebCore::TextureMapperGL::TextureMapperGL): + (WebCore::TextureMapperGL::beginPainting): + (WebCore::TextureMapperGL::endPainting): + (WebCore::TextureMapperGL::drawQuad): + (WebCore::TextureMapperGL::drawBorder): + (WebCore): + (WebCore::TextureMapperGL::drawTextureRectangleARB): + (WebCore::TextureMapperGL::drawTexture): + (WebCore::viewportMatrix): + (WebCore::TextureMapperGL::drawTextureWithAntialiasing): + (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): + (WebCore::BitmapTextureGL::didReset): + (WebCore::BitmapTextureGL::updateContents): + (WebCore::TextureMapperGL::drawFiltered): + (WebCore::BitmapTextureGL::initializeStencil): + (WebCore::BitmapTextureGL::clearIfNeeded): + (WebCore::BitmapTextureGL::createFboIfNeeded): + (WebCore::BitmapTextureGL::bind): + (WebCore::BitmapTextureGL::~BitmapTextureGL): + (WebCore::TextureMapperGL::bindDefaultSurface): + (WebCore::TextureMapperGL::beginScissorClip): + (WebCore::TextureMapperGL::beginClip): + (WebCore::TextureMapperGL::endClip): + (WebCore::TextureMapperGL::createTexture): + * platform/graphics/texmap/TextureMapperGL.h: + (WebCore::TextureMapperGL::graphicsContext3D): + (TextureMapperGL): + (ClipStack): + (WebCore::BitmapTextureGL::textureTarget): + (BitmapTextureGL): + (WebCore::BitmapTextureGL::BitmapTextureGL): + * platform/graphics/texmap/TextureMapperShaderManager.cpp: + (WebCore): + (WebCore::TextureMapperShaderManager::getShaderProgram): + (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgram::initializeProgram): + (WebCore::TextureMapperShaderProgram::getUniformLocation): + (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor): + (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple): + (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask): + (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask): + (WebCore::TextureMapperShaderManager::TextureMapperShaderManager): + (WebCore::StandardFilterProgram::~StandardFilterProgram): + (WebCore::StandardFilterProgram::StandardFilterProgram): + (WebCore::StandardFilterProgram::create): + (WebCore::StandardFilterProgram::prepare): + (WebCore::TextureMapperShaderManager::getShaderForFilter): + * platform/graphics/texmap/TextureMapperShaderManager.h: + (WebCore::TextureMapperShaderProgram::id): + (WebCore::TextureMapperShaderProgram::vertexAttrib): + (TextureMapperShaderProgram): + (WebCore::TextureMapperShaderProgram::matrixLocation): + (WebCore::TextureMapperShaderProgram::flipLocation): + (WebCore::TextureMapperShaderProgram::textureSizeLocation): + (WebCore::TextureMapperShaderProgram::sourceTextureLocation): + (WebCore::TextureMapperShaderProgram::maskTextureLocation): + (WebCore::TextureMapperShaderProgram::opacityLocation): + (WebCore::TextureMapperShaderProgram::isValidUniformLocation): + (StandardFilterProgram): + (WebCore::StandardFilterProgram::vertexAttrib): + (WebCore::StandardFilterProgram::texCoordAttrib): + (WebCore::StandardFilterProgram::textureUniform): + (WebCore::TextureMapperShaderProgramSimple::create): + (TextureMapperShaderProgramSimple): + (WebCore::TextureMapperShaderProgramRectSimple::create): + (TextureMapperShaderProgramRectSimple): + (WebCore::TextureMapperShaderProgramOpacityAndMask::create): + (TextureMapperShaderProgramOpacityAndMask): + (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create): + (TextureMapperShaderProgramRectOpacityAndMask): + (WebCore::TextureMapperShaderProgramSolidColor::create): + (WebCore::TextureMapperShaderProgramSolidColor::colorLocation): + (TextureMapperShaderProgramSolidColor): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::create): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadVerticesInTextureCoordinatesLocation): + (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadEdgesInScreenSpaceLocation): + (TextureMapperShaderProgramAntialiasingNoMask): + (WebCore::TextureMapperShaderManager::TextureMapperShaderManager): + (TextureMapperShaderManager): + +2012-08-25 Philip Rogers <pdr@google.com> + + Roll out r126056 and r126626 + https://bugs.webkit.org/show_bug.cgi?id=95017 + + Reviewed by Dirk Schulze. + + This patch rolls out r126056 which regressed a test. + The getBBox() code removed turns out to be required for tight bounding + boxes in SVGPathElement::getBBox(). + + When this regression occurred the relevant test was skipped in r126626. This + patch reverts that skip. + + No new tests. + + * svg/SVGPathElement.cpp: + (WebCore::SVGPathElement::getBBox): + (WebCore): + * svg/SVGPathElement.h: + (SVGPathElement): + +2012-08-25 Adam Barth <abarth@webkit.org> + + [V8] V8NodeFilterCondition should use ScopedPersistent + https://bugs.webkit.org/show_bug.cgi?id=95010 + + Reviewed by Eric Seidel. + + V8NodeFilterCondition just re-implements ScopedPersistent by hand. + + * bindings/v8/V8NodeFilterCondition.cpp: + (WebCore::V8NodeFilterCondition::V8NodeFilterCondition): + (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition): + (WebCore::V8NodeFilterCondition::acceptNode): + * bindings/v8/V8NodeFilterCondition.h: + (WebCore): + (V8NodeFilterCondition): + (WebCore::V8NodeFilterCondition::create): + +2012-07-18 Robert Hogan <robert@webkit.org> + + Tables with just border-style set on the cells do not get a grid + https://bugs.webkit.org/show_bug.cgi?id=84286 + + Reviewed by Julien Chaffraix. + + This is happening because every cell gets a zero-width border in createSharedCellStyle() if the table border is not explictly set. + FF and Opera don't do this, so leave the cell's border alone if there is no table border explicitly set. + + Test: fast/css/table-rules-attribute-none-with-cell-borders.html + + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::createSharedCellStyle): + * rendering/RenderTreeAsText.cpp: + (WebCore::RenderTreeAsText::writeRenderObject): Without this we would end up rebaselining a bunch of tests to report 'border: []' + rather than 'border: [none]'. The problem here was that writeRenderObject would only report the first border if it differed from + BorderValue(). What we want is for it to report the first border always and then any borders after that if they differ. + +2012-08-25 Andrey Kosyakov <caseq@chromium.org> + + Web Inspector: missing time ruler in Timeline and Network panels + https://bugs.webkit.org/show_bug.cgi?id=95001 + + Reviewed by Pavel Feldman. + + Fixed a call site for Calculator.boundarySpan(), which is now a function rather than a property. + + * inspector/front-end/TimelineGrid.js: + (WebInspector.TimelineGrid.prototype.updateDividers): + +2012-08-25 Michelangelo De Simone <michelangelo@webkit.org> + + [Crash] Null pointer in CSSParser::parseMixFunction() + https://bugs.webkit.org/show_bug.cgi?id=94998 + + Reviewed by Benjamin Poulain. + + parseMixFunction() may try to access invalid memory when the arguments of the + mix() function are comma-terminated. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseMixFunction): + +2012-08-24 Helder Correia <helder.correia@nokia.com> + + [Texmap] Move TextureMapperGL to use GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=78672 + + Reviewed by Noam Rosenthal. + + Introducing a new GraphicsContext3D::texImage2DDirect() to allow + initialization of textures without allocation. The existing + textImage2D() refuses a null pixel buffer, and + texImage2DResourceSafe() allows it but performs memory + allocation and zeroes the bits. This was not fast enough for + BitmapTextureGL frequent setting up. + + No new tests, refactoring. + + * platform/graphics/GraphicsContext3D.h: + (GraphicsContext3D): + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::texImage2D): + * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: + (WebCore::GraphicsContext3D::texImage2DDirect): + (WebCore): + * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: + (WebCore::GraphicsContext3D::texImage2D): + +2012-08-24 Roger Fong <roger_fong@apple.com> + + -webkit-font-smoothing: antialiased should use CG font rendering code path, not GDI + https://bugs.webkit.org/show_bug.cgi?id=54004 + <rdar://problem/8971429> + + Reviewed by Dan Bernstein. + + When specifying -webkit-font-smoothing: antialised; the code path ends up using GDI to draw the text. + GDI ends up drawing subpixel antialiased text, not aliased text anyways. + The CG code path also has the capability of drawing antialiased text. The reason that the GDI path was + used in the first place is no longer a concern here so we can stop using the GDI code path. + + * platform/graphics/win/FontCGWin.cpp: Removing GDI font drawing code path. + (WebCore): + (WebCore::Font::drawGlyphs): + +2012-08-24 Sami Kyostila <skyostil@chromium.org> + + Add support for compositing the contents of overflow:scroll areas + https://bugs.webkit.org/show_bug.cgi?id=91117 + + Reviewed by Simon Fraser. + + Patch by Simon Fraser with modifications by Sami Kyostila and Ian Vollick. + + Allow a RenderLayer which exists for overflow scrolling + to use a composited layer for the scrolled contents, which + allows for compositing-accelerated overflow scrolling. + + Tests: + compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html + compositing/overflow/iframe-inside-overflow-clipping.html + compositing/overflow/nested-scrolling.html + compositing/overflow/overflow-auto-with-touch-no-overflow.html + compositing/overflow/overflow-auto-with-touch.html + compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html + compositing/overflow/overflow-hidden-with-touch.html + compositing/overflow/overflow-overlay-with-touch-no-overflow.html + compositing/overflow/overflow-overlay-with-touch.html + compositing/overflow/overflow-scroll-with-touch-no-overflow.html + compositing/overflow/overflow-visible-with-touch.html + compositing/overflow/remove-overflow-crash.html + compositing/overflow/remove-overflow-crash2.html + compositing/overflow/scrolling-content-clip-to-viewport.html + compositing/overflow/textarea-scroll-touch.html + + * platform/graphics/GraphicsLayerClient.h: New paint phase flag + used for scrolled contents. Provide a typedef for the flags + so that they can be ORed together. + + * rendering/RenderLayer.h: + (WebCore::ClipRectsCache::ClipRectsCache): + (ClipRectsCache): In debug builds, store a m_respectingOverflowClip + flag so we can ASSERT later that we're fetching clip rects with the + same setting the rects were generated with. + Add new PaintLayerPaintingOverflowContents painting flag. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::usesCompositedScrolling): New method returns + true if this layer is using composited overflow scrolling. + (WebCore::RenderLayer::scrollTo): Don't repaint if we're doing + a composited scroll. + (WebCore::RenderLayer::paintLayer): Pass the right flags to backgroundClipRect(); + if we're painting scrolled contents, we don't want to take the overflow clip rect + into account. + (WebCore::RenderLayer::paintLayerContents): Ditto. Also don't do the intersectsDamageRect() + check if we're painting scrolled contents. + (WebCore::RenderLayer::updateClipRects): New parameter to tell whether to respect overflow clipping. + Assert if we're fetching cached rects with a different 'respect clip' flag to the one they were generated + with. + (WebCore::RenderLayer::calculateClipRects): Take the 'respectOverflowClip' flag into account + when computing clip rects. + (WebCore::RenderLayer::parentClipRects): Ditto + (WebCore::RenderLayer::backgroundClipRect): Ditto + (WebCore::RenderLayer::calculateRects): Ditto + (WebCore::RenderLayer::childrenClipRect): This function is called from widget code, so may use a different + 'respect clip rects' setting than that used for painting, so it has to compute clip rects on the fly. + (WebCore::RenderLayer::shouldBeNormalFlowOnly): Composited scrolling makes a layer not normal-flow only. + + * rendering/RenderLayerBacking.h: + (RenderLayerBacking): New member variables for the layers for scrolled contents, and the scrolling + layer which handles the scroll offset. + (WebCore::RenderLayerBacking::hasScrollingLayer): + (WebCore::RenderLayerBacking::scrollingLayer): + (WebCore::RenderLayerBacking::scrollingContentsLayer): + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::~RenderLayerBacking): + (WebCore::RenderLayerBacking::destroyGraphicsLayers): Tear down the scrolling layers, if any. + (WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling): Renamed from layerOrAncestorIsTransformed, + since it has to look for composited scrolling layers too. + (WebCore::RenderLayerBacking::shouldClipCompositedBounds): We don't want the contents of scrolling layers + to get clipped to the viewport. + (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Create scrolling layers if necessary. + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Set scrolling layer geometry. + (WebCore::RenderLayerBacking::updateInternalHierarchy): Hook up scrolling layers. + (WebCore::RenderLayerBacking::updateDrawsContent): Scrolling layers affect whether the main graphics layer + needs to draw content. + (WebCore::RenderLayerBacking::updateScrollingLayers): Create or destroy scrolling layers. + (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer): If we have a scrolled contents layer, + the main layer should not paint the foreground. + (WebCore::RenderLayerBacking::parentForSublayers): Sublayers are parented in the scrolling contents + layer if one exists. + (WebCore::RenderLayerBacking::setContentsNeedDisplay): Need to dirty the scrolling contents layer. + (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Ditto. + (WebCore::RenderLayerBacking::paintIntoLayer): Set the right painting flags. + (WebCore::RenderLayerBacking::paintContents): Only clip to the bounds if we're not painting overflow contents. + +2012-08-24 Florin Malita <fmalita@chromium.org> + + ASSERTION FAILED: !attached() in WebCore::Node::attach() + https://bugs.webkit.org/show_bug.cgi?id=94650 + + Reviewed by Abhishek Arya. + + Prevent SVGTests::handleAttributeChange() from attaching elements with detached parents. + + Test: svg/custom/system-language-crash.html + + * svg/SVGTests.cpp: + (WebCore::SVGTests::handleAttributeChange): + +2012-08-24 Glenn Adams <glenn@skynav.com> + + CSSStyleDeclaration.cssText should not contain extraneous whitespace in final delimiter + https://bugs.webkit.org/show_bug.cgi?id=94633 + + Reviewed by Benjamin Poulain. + + Ensure cssText final delimiter does not contain extraneous space character after semicolon. + + Test: cssom/cssstyledeclaration-csstext-final-delimiter.html + + * css/CSSFontFaceRule.cpp: + (WebCore::CSSFontFaceRule::cssText): + Conditionally add SPACE in serialized rule since asText() no longer + contains extra space. + Construct result using StringBuilder. + + * css/CSSPageRule.cpp: + (WebCore::CSSPageRule::cssText): + Conditionally add SPACE in serialized rule since asText() no longer + contains extra space. + Construct result using StringBuilder. + + * css/CSSProperty.cpp: + (WebCore::CSSProperty::cssText): + Ensure serialized property does longer contains extra space in cssText. + Construct result using StringBuilder. + + * css/CSSStyleRule.cpp: + (WebCore::CSSStyleRule::cssText): + Conditionally add SPACE in serialized rule since asText() no longer + contains extra space. + Construct result using StringBuilder. + + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::addRule): + Conditionally add SPACE in reserialized rule in case passed style no + longer contains extra space. Note that if it does already contain an + extra space that inserting an extra space here is harmless (i.e., is + effectively normalized during parse). + Construct result using StringBuilder. + + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::asText): + Ensure serialized property set does longer contains extra space in final + delimiter. + Construct result using StringBuilder. + + * css/WebKitCSSKeyframeRule.cpp: + (WebCore::StyleKeyframe::cssText): + Conditionally add SPACE in serialized rule since asText() no longer + contains extra space. + Construct result using StringBuilder. + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::addBlockStyle): + Conditionally add SPACE in block style since cssText no longer contains + extra space. + Construct result using StringBuilder. + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + Conditionally add SPACE in pre-existing inline style since cssText no + longer contains extra space. + Construct result using StringBuilder. + +2012-08-23 James Robinson <jamesr@chromium.org> + + [chromium] Convert WebLayerTreeView interface into pure virtual + https://bugs.webkit.org/show_bug.cgi?id=94866 + + Reviewed by Adrienne Walker. + + Renames CCLayerTreeHostClient::updateAnimations -> CCLayerTreeHostClient::animate to avoid a naming collision + and to better match the other imperative-sounding calls (like layout). + + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::updateAnimations): + * platform/graphics/chromium/cc/CCLayerTreeHost.h: + (CCLayerTreeHostClient): + +2012-08-24 James Robinson <jamesr@chromium.org> + + [chromium] Clean up WebAnimation animationId/groupId generation + https://bugs.webkit.org/show_bug.cgi?id=94973 + + Reviewed by Adrienne Walker. + + This gets rid of AnimationIdVendor and simplifies GraphicsLayerChromium's name<->id mapping. We only have to + track the IDs of animations that we have started and can let WebAnimation generate new IDs if we haven't seen + the name before. + + * WebCore.gypi: + * platform/graphics/chromium/AnimationIdVendor.cpp: Removed. + * platform/graphics/chromium/AnimationIdVendor.h: Removed. + * platform/graphics/chromium/AnimationTranslationUtil.cpp: + (WebCore::createWebAnimation): + * platform/graphics/chromium/AnimationTranslationUtil.h: + (WebCore): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::addAnimation): + (WebCore::GraphicsLayerChromium::pauseAnimation): + (WebCore::GraphicsLayerChromium::removeAnimation): + * platform/graphics/chromium/GraphicsLayerChromium.h: + +2012-08-24 Benjamin Poulain <bpoulain@apple.com> + + Populate DatabaseTracker's origins lazily on demand + https://bugs.webkit.org/show_bug.cgi?id=94649 + + Reviewed by Brady Eidson. + + Previously, we would populate m_quotaMap on startup when initialializing DatabaseTracker. + This takes a significant amount of time and memory and it is not needed in many cases. + + This patch change DatabaseTracker to invoke populateOrigins() only when needed. + This saves: + -7-15ms on startup. + -96Kbytes of SQLite page cache + -the size of m_quotaMap on that particular system. + + * Modules/webdatabase/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::DatabaseTracker): + (WebCore::DatabaseTracker::hasEntryForOriginNoLock): + (WebCore::DatabaseTracker::populateOriginsIfNeeded): + (WebCore::DatabaseTracker::origins): + (WebCore::DatabaseTracker::quotaForOriginNoLock): + (WebCore::DatabaseTracker::addDatabase): + (WebCore::DatabaseTracker::deleteOrigin): + * Modules/webdatabase/DatabaseTracker.h: + (DatabaseTracker): + +2012-08-24 Mark Pilgrim <pilgrim@chromium.org> + + [Chromium] Remove visitedLinkHash from PlatformSupport + https://bugs.webkit.org/show_bug.cgi?id=94965 + + Reviewed by Adam Barth. + + Part of a refactoring series. See tracking bug 82948. + + * platform/chromium/LinkHashChromium.cpp: + (WebCore): + (WebCore::visitedLinkHash): + * platform/chromium/PlatformSupport.h: + +2012-08-24 Kevin Ellis <kevers@chromium.org> + + [chromium] Reduce padding on popup menu entries when used on a touch screen. + https://bugs.webkit.org/show_bug.cgi?id=94953 + + Reviewed by Adam Barth. + + Prior to the patch, the height of entries in a popup menu was 44px, + which is excessive. Reduced the padding to make the menu entries + 30px tall to match the wrench menu. + + No new tests required. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore): + +2012-08-24 Helder Correia <helder.correia@nokia.com>, Roland Takacs <rtakacs@inf.u-szeged.hu> + + [Texmap] Move TextureMapperGL to use GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=78672 + + Reviewed by Noam Rosenthal. + + This is part of a several patch-refactoring. + + Introduce additional logic in GraphicsContext3DQt to support a + new RenderToCurrentGLContext RenderStyle. This is necessary to + use GC3D for other things than WebGL, like TextureMapper. + + The GC3D constructor now accepts a RenderStyle instead of the + boolean renderDirectlyToHostWindow and thus mimics create()'s + signature. This has been changed for all ports in this patch. + + A new GC3D::createForCurrentGLContext() builder was + introduced to better abstract the goal of using GC3D with the + current context. + + The patch was originally developed by Helder Correia and finished + by Roland Takacs. + + No new tests, refactoring. + +2012-08-24 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126620. + http://trac.webkit.org/changeset/126620 + https://bugs.webkit.org/show_bug.cgi?id=94976 + + ASSERT((intptr_t)m_bytesAllocated + deltaBytes > 0) is + triggering on the bots (Requested by jchaffraix on #webkit). + + * WebCore.gypi: + * platform/graphics/chromium/Canvas2DLayerBridge.cpp: + (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): + (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge): + (WebCore::Canvas2DLayerBridge::contextAcquired): + * platform/graphics/chromium/Canvas2DLayerBridge.h: + (Canvas2DLayerBridge): + * platform/graphics/chromium/Canvas2DLayerManager.cpp: Removed. + * platform/graphics/chromium/Canvas2DLayerManager.h: Removed. + +2012-08-24 Andrei Onea <onea@adobe.com> + + [CSSRegions]Expose WebKitNamedFlowCollection interface through document.getNamedFlows() + https://bugs.webkit.org/show_bug.cgi?id=93368 + + Reviewed by Ryosuke Niwa. + + The WebKitNamedFlowCollection already implemented was being used by Document to store all + the named flows - regardless of state - so we need to use another class to expose to JS. + WebKitNamedFlowCollection was renamed to NamedFlowCollection since it is used only internally, + and the C++ class used to expose to JS is DOMNamedFlowCollection (with the interface name + WebKitNamedFlowCollection). DOMNamedFlowCollection is exposed via Document::webKitGetFlows(), + and it itself exposes the length property, the indexed getter, and the named getter. + http://dev.w3.org/csswg/css3-regions/#document-getnamedflows + + Test: fast/regions/webkit-named-flow-collection.html + + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * DerivedSources.pri: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/gobject/GNUmakefile.am: + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateImplementation): + We need to use same trick as with HTMLPropertiesCollection, to make NamedGetter generate required code. + * dom/DOMAllInOne.cpp: + * dom/DOMNamedFlowCollection.cpp: + (WebCore): + (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection): + (WebCore::DOMNamedFlowCollection::length): + (WebCore::DOMNamedFlowCollection::item): + (WebCore::DOMNamedFlowCollection::namedItem): + (WebCore::DOMNamedFlowCollection::hasNamedItem): + * dom/DOMNamedFlowCollection.h: + (WebCore): + (DOMNamedFlowCollection): + (WebCore::DOMNamedFlowCollection::create): + * dom/DOMNamedFlowCollection.idl: + * dom/Document.cpp: + (WebCore): + (WebCore::Document::webkitGetNamedFlows): + (WebCore::Document::namedFlows): + * dom/Document.h: + (WebCore): + (Document): + * dom/Document.idl: + * dom/NamedFlowCollection.cpp: + Renamed from Source/WebCore/dom/WebKitNamedFlowCollection.cpp. + (WebCore): + (WebCore::NamedFlowCollection::NamedFlowCollection): + (WebCore::NamedFlowCollection::namedFlows): + (WebCore::NamedFlowCollection::flowByName): + (WebCore::NamedFlowCollection::ensureFlowWithName): + (WebCore::NamedFlowCollection::discardNamedFlow): + (WebCore::NamedFlowCollection::documentDestroyed): + (WebCore::NamedFlowCollection::createCSSOMSnapshot): + Used to create a snapshot of current named flows in CREATED state. + * dom/NamedFlowCollection.h: + Renamed from Source/WebCore/dom/WebKitNamedFlowCollection.h. + (WebCore): + (NamedFlowCollection): + (WebCore::NamedFlowCollection::create): + (WebCore::NamedFlowCollection::document): + (WebCore::NamedFlowCollection::~NamedFlowCollection): + (WebCore::NamedFlowCollection::NamedFlowHashFunctions::hash): + (WebCore::NamedFlowCollection::NamedFlowHashFunctions::equal): + (NamedFlowCollection::NamedFlowHashFunctions): + (WebCore::NamedFlowCollection::NamedFlowHashTranslator::hash): + (WebCore::NamedFlowCollection::NamedFlowHashTranslator::equal): + Moved NamedFlowHashFunctions and NamedFlowHashTranslator definitions to .h + and made them public, so they can be used in DOMNamedFlow as well. + * dom/WebKitNamedFlow.cpp: + (WebCore::WebKitNamedFlow::WebKitNamedFlow): + (WebCore::WebKitNamedFlow::create): + * dom/WebKitNamedFlow.h: + (WebCore): + (WebKitNamedFlow): + * inspector/InspectorCSSAgent.cpp: + * rendering/FlowThreadController.cpp: + (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): + +2012-08-24 Chris Evans <cevans@google.com> + + Update comment regarding root node handling in XPath for detached trees. + https://bugs.webkit.org/show_bug.cgi?id=36427 + + Reviewed by Alexey Proskuryakov. + + * xml/XPathPath.cpp: + (WebCore::XPath::LocationPath::evaluate): Update XPath root node comment. + +2012-08-24 Justin Novosad <junov@chromium.org> + + [Chromium] Implementing a global limit on memory consumed by deferred 2D canvases + https://bugs.webkit.org/show_bug.cgi?id=94386 + + Reviewed by Stephen White. + + Before this change, there was no global bound on memory that could be + consumed for the purpose of recording 2d canvas deferred draw commands. + There was only a per canvas limit. It is possible for canvases to get + dereferenced without flushing pending draw commands, which may lock + resources until the canvas element is garbage collected. This makes + it possible to grow memory consumption indefinitely by hitting reload + successively on some canvas-intensive web pages. + + The solution implemented in this change consists in maintaining a + global registry of deferred canvas layers and tracking the sum of + memory allocated by all canvases for the purpose of storing deferred + draw commands. When memory consumption reaches the allowed limit, + caches are cleared and draw operations are flushed on one or several + canvases, starting with the least recently used, until memory + consumption is below a target level. + + New tests: webkit_unit_tests DeferredLayerManagerTest* + + * WebCore.gypi: + * platform/graphics/chromium/Canvas2DLayerBridge.cpp: + (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): + (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge): + (WebCore::Canvas2DLayerBridge::storageAllocatedForRecordingChanged): + Overloaded from SkDeferredCanvas::NotificationClient. Called when + there is a change in the number of bytes allocated by the deferred + canvas. + (WebCore): + (WebCore::Canvas2DLayerBridge::flushedDrawCommands): + Overloaded from SkDeferredCanvas::NotificationClient. Called when + pending draw commands are flush by the deferred canvas. + (WebCore::Canvas2DLayerBridge::freeMemoryIfPossible): + Called by the Canvas2DLayerManager to request the release of unlocked + memory resources (caches). Request is relayed to SkDeferredCanvas. + returns number of bytes freed. + (WebCore::Canvas2DLayerBridge::flush): + Requests that pending draw commands be flushed immediately from the + deferred canvas queue. Request is relayed to SkDeferredCanvas. + (WebCore::Canvas2DLayerBridge::contextAcquired): + * platform/graphics/chromium/Canvas2DLayerBridge.h: + (Canvas2DLayerBridge): + (WebCore::Canvas2DLayerBridge::bytesAllocated): + (WebCore::Canvas2DLayerBridge::updateBytesAllocated): + * platform/graphics/chromium/Canvas2DLayerManager.cpp: Added. + (WebCore): + (WebCore::Canvas2DLayerManager::Canvas2DLayerManager): + (WebCore::Canvas2DLayerManager::~Canvas2DLayerManager): + (WebCore::Canvas2DLayerManager::init): + Sets the global limit for the maximum total number of bytes allocated + by deferred layers. + (WebCore::Canvas2DLayerManager::get): + Singleton accessor + (WebCore::Canvas2DLayerManager::layerDidDraw): + Called by Canvas2DLayerBridge to indicate that the layer was drawn to. + (WebCore::Canvas2DLayerManager::addLayerToList): + (WebCore::Canvas2DLayerManager::layerAllocatedStorageChanged): + Called by Canvas2DLayerBridge to indicate thet the memory consumed by + the layer has changed. + (WebCore::Canvas2DLayerManager::layerDidFlush): + Called by Canvas2DLayerBridge to indicated that the pending draw + commands of the layer were flushed. + (WebCore::Canvas2DLayerManager::layerToBeDestroyed): + Called by Canvas2DLayerBridge upon destruction. + (WebCore::Canvas2DLayerManager::freeMemoryIfNecessary): + Called internally. Check that current memory consumption is below + the tolerated limit. If check fails, intiates resource releases. + (WebCore::Canvas2DLayerManager::removeLayerFromList): + (WebCore::Canvas2DLayerManager::isInList): + (WebCore::Canvas2DLayerManager::updateBytesAllocated): + * platform/graphics/chromium/Canvas2DLayerManager.h: Added. + (WebCore): + (Canvas2DLayerManager): + +2012-08-24 Parth Patel <parpatel@rim.com> + + [BlackBerry] Changes resulting from moving network related methods + from platform client to platform settings. + https://bugs.webkit.org/show_bug.cgi?id=94963 + + Reviewed by Yong Li. + + Changes in response to Network methods moved from + class BlackBerryPlatformClient to class BlackBerryPlatformSettings + in platform repository. + + No new tests as there are no logical modifications. + + * platform/network/blackberry/NetworkJob.cpp: + (WebCore::NetworkJob::storeCredentials): + * platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp: + (WebCore::NetworkStateNotifier::NetworkStateNotifier): + +2012-08-24 Stephen White <senorblanco@chromium.org> + + Enable accelerated Skia implementation of feBlend filter. + https://bugs.webkit.org/show_bug.cgi?id=94954 + + Reviewed by James Robinson. + + Will be covered by existing tests in svg/ when tests are run with + accelerated painting. + + * WebCore.gypi: + * platform/graphics/filters/FEBlend.h: + (FEBlend): + * platform/graphics/filters/skia/FEBlendSkia.cpp: Added. + (WebCore): + (WebCore::toSkiaMode): + (WebCore::FEBlend::platformApplySkia): + +2012-08-24 Robert Kroeger <rjkroege@chromium.org> + + [chromium] CCLayerTreeHostImpl::scrollBy always assumes screen space deltas + https://bugs.webkit.org/show_bug.cgi?id=94946 + + Reviewed by James Robinson. + + Multiply scrollBy deltas in CCLayerTreeHostImpl to correctly support + scrolling on devices that send deltas in DIP (as opposed to screen) + space. Change is a nop on platforms that have not setDeviceScaleFactor + to a non-unity value. + + Tested by existing unit tests. + + * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: + (WebCore::CCLayerTreeHostImpl::scrollBy): + +2012-08-24 Anish Bhayani <anish.bhayani@gmail.com> + + webkit-image-set() function not showing up when computing background property + https://bugs.webkit.org/show_bug.cgi?id=94536 + + Reviewed by Simon Fraser. + + Added isBaseValueList() to ensure ImageSetClass is not displaying shorthand notation. + Tests to make sure background shows '-webkit-image-set('. + + Test: fast/css/image-set-setting.html + + * css/CSSValue.h: + (CSSValue): + (WebCore::CSSValue::isBaseValueList): + * css/StylePropertySet.cpp: + (WebCore::StylePropertySet::getLayeredShorthandValue): + +2012-08-24 Tony Chang <tony@chromium.org> + + Remove unnecessary CSS selector text generation + https://bugs.webkit.org/show_bug.cgi?id=94857 + + Reviewed by Ojan Vafai. + + When setting the selector text, there was some old code that would + check to see if it was unchanged. That got removed, but the code + to generate the previous selector text is still there. + + Covered by fast/css/css-set-selector-text.html and + fast/css/css-set-selector-text-crash.html. + + * css/CSSPageRule.cpp: + (WebCore::CSSPageRule::setSelectorText): Remove unused oldSelectorText. + * css/CSSStyleRule.cpp: + (WebCore::CSSStyleRule::setSelectorText): Remove unused oldSelectorText + and rather than update the cache, just invalidate the previous entry since + we may not need the new selector text. + +2012-08-24 Cris Neckar <cdn@chromium.org> + + Add support for consumable user gestures + https://bugs.webkit.org/show_bug.cgi?id=94867 + + Reviewed by Adam Barth. + + Adds a static counter of the number of consumable gestures. This is decremented either when + a gestures falls out of scope or is consumed via a call to consumeUserGesture(). + + Planned usage in Chromium is to prevent the piggybacking of multiple popup windows on a + single user gesture. + + No new tests as this should not change behavior. The platform must implement consumable + gestures for this to do anything. + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::consumeUserGesture): + (WebCore): + * bindings/v8/ScriptController.h: + (ScriptController): + * dom/UserGestureIndicator.cpp: + (WebCore): + (WebCore::UserGestureIndicator::UserGestureIndicator): + (WebCore::UserGestureIndicator::~UserGestureIndicator): + (WebCore::UserGestureIndicator::consumeUserGesture): + * dom/UserGestureIndicator.h: + (WebCore::UserGestureIndicator::processingUserGesture): + (UserGestureIndicator): + +2012-08-24 Bear Travis <betravis@adobe.com> + + [CSS Exclusions] Enable shape-inside for simple rectangles + https://bugs.webkit.org/show_bug.cgi?id=89259 + + Reviewed by Levi Weintraub. + + This patch is the first in a series enabling shape-inside. It adds + support for inline layout within a single render block with a + rectangular shape-inside. + Each RenderBlock with a valid shape-inside maintains a WrapShapeInfo, + which can calculate the areas, or LineSegments, where inline content + can flow on a line. The WrapShapeInfo class maintains a static map of + RenderBlocks to WrapShapeInfos. The basic algorithm involves three stages: + 1. Determine if the RenderBlock has a valid shape-inside, and store it + in a WrapShapeInfo if necessary. + 2. If the inline content is affected by a shape-inside, use the + corresponding WrapShapeInfo to break the content into line segments. + 3. Lay out the line segments. + + Tests: fast/exclusions/shape-inside/shape-inside-floats-simple.html + fast/exclusions/shape-inside/shape-inside-inline-elements.html + fast/exclusions/shape-inside/shape-inside-overflow.html + fast/exclusions/shape-inside/shape-inside-percentage-auto.html + fast/exclusions/shape-inside/shape-inside-text.html + + * CMakeLists.txt: + * GNUmakefile.list.am: + * Target.pri: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::willBeDestroyed): Remove WrapShapeInfo when destroyed. + (WebCore::RenderBlock::styleDidChange): Detect modifications to style()->wrapShapeInside. + (WebCore): + (WebCore::RenderBlock::updateWrapShapeInfoAfterStyleChange): Update WrapShapeInfo + when style()->wrapShapeInside changes. + (WebCore::RenderBlock::layoutBlock): Notify WrapShapeInfo of changes in logicalWidth + and logicalHeight before laying out inline content. + * rendering/RenderBlock.h: + (RenderBlock): + (WebCore::RenderBlock::wrapShapeInfo): Return the wrapShapeInfo associated with a + RenderBlock. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::LineWidth::LineWidth): Determine the WrapShapeInfo::LineSegment this LineWidth + corresponds to, if any. + (LineWidth): + (WebCore::LineWidth::updateAvailableWidth): The width's LineSegment boundaries affect + the available width. + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): The current LineSegment + affects the left & right positioning of inline boxes. + (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Move to the top of the inside wrap + shape before beginning inline layout, and update the line segments for each line. + * rendering/WrapShapeInfo.cpp: Added. + (WebCore): + (WebCore::WrapShapeInfo::WrapShapeInfo): Create an empty WrapShapeInfo. + (WebCore::WrapShapeInfo::~WrapShapeInfo): No additional cleanup. + (WebCore::WrapShapeInfo::create): Create a WrapShapeInfo reference. + (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock): Create a WrapShapeInfo + for a RenderBlock with an inside WrapShape and place it in the WrapShapeInfo map. + (WebCore::WrapShapeInfo::wrapShapeInfoForRenderBlock): Lookup the WrapShapeInfo for + a RenderBlock in the WrapShapeInfo map. + (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForBlock): Determine if a RenderBlock + has an inside wrap shape that we can use for inline layout. + (WebCore::WrapShapeInfo::removeWrapShapeInfoForRenderBlock): Remove a RenderBlock's + WrapShapeInfo from the WrapShapeInfo map. + (WebCore::WrapShapeInfo::hasSegments): Returns true if there are any line segments + for the current line. + (WebCore::WrapShapeInfo::computeShapeSize): Compute the dimensions of the wrap shape + based on a block's logical width & height. + (WebCore::WrapShapeInfo::computeSegmentsForLine): Sets the current line and computes + its line segments. + * rendering/WrapShapeInfo.h: Added. + (WebCore): + (LineSegment): + (WrapShapeInfo): + (WebCore::WrapShapeInfo::shapeTop): The top of a wrap shape, where the inline content + area begins. + (WebCore::WrapShapeInfo::segments): The list of line segments for the current line. + (WebCore::WrapShapeInfo::wrapShapeSizeNeedsRecomputing): Mark a WrapShapeInfo as + needing to recompute its WrapShape dimensions. + (WebCore::WrapShapeInfo::lineState): The current line state: above, inside, or below + the wrap shape. + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): Changes to shape inside require relayout. + +2012-08-24 David Hyatt <hyatt@apple.com> + + [New Multicolumn] Plumbing to prepare for contents painting and hit testing implementation. + https://bugs.webkit.org/show_bug.cgi?id=94945 + + Reviewed by Dan Bernstein. + + Make some improvements to how column sets interact with flow threads. Make sure the last column set + always expands to hold all of the remaining flow thread contents (including overflow). Rename the + column height, count and width variables to have "computed" in front of them to indicate that they + just represent what the multi-column algorithm computed so that there is no confusion between the + computed column count and the actual number of columns in the set. + + Implement the ability to get the actual column count based off the logical height of the flow thread + portion contained within the column set. + + Fix gap painting to use the actual column count rather than the computed column count. + + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::layout): + After a flow thread is done laying out, have it tell the last region to expand to + encompass all the remaining contents if it wants to do so. Column and page sets will always do this. + + * rendering/RenderMultiColumnFlowThread.h: + (RenderMultiColumnFlowThread): + Override computeLogicalHeight() to do nothing. We want the flow thread to just keep its intrinsic + height, since the last column set is always going to expand to encompass the flow thread's contents + anyway. Unlike CSS Regions, we don't ever "run out of room." + + * rendering/RenderMultiColumnSet.cpp: + (WebCore::RenderMultiColumnSet::RenderMultiColumnSet): + (WebCore::RenderMultiColumnSet::computeLogicalWidth): + (WebCore::RenderMultiColumnSet::computeLogicalHeight): + (WebCore::RenderMultiColumnSet::columnCount): + (WebCore::RenderMultiColumnSet::columnRectAt): + (WebCore::RenderMultiColumnSet::paintColumnRules): + (WebCore::RenderMultiColumnSet::paintColumnContents): + Rename count, width and height for columns to have "computed" in front of the members and functions. + In particular, this lets us distinguish the computed column count from the actual column count. + + * rendering/RenderMultiColumnSet.h: + (WebCore::RenderMultiColumnSet::computedColumnCount): + (WebCore::RenderMultiColumnSet::computedColumnWidth): + (WebCore::RenderMultiColumnSet::computedColumnHeight): + (WebCore::RenderMultiColumnSet::setComputedColumnWidthAndCount): + (WebCore::RenderMultiColumnSet::setComputedColumnHeight): + Rename count, width and height for columns to have "computed" in front of the members and functions. + In particular, this lets us distinguish the computed column count from the actual column count. + + * rendering/RenderRegion.h: + (RenderRegion): + (WebCore::RenderRegion::expandToEncompassFlowThreadContentsIfNeeded): + * rendering/RenderRegionSet.cpp: + (WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded): + (WebCore): + * rendering/RenderRegionSet.h: + (RenderRegionSet): + Make sure region sets expand to encompass all the remaining flow thread contents. We are always + able to generate more columns or pages, so in effect the amount of the flow thread we can + consume is unlimited. + + +2012-08-24 Thiago Marcos P. Santos <thiago.santos@intel.com> + + [Qt] Range input progress indicator is upside down when vertical and RTL is set + https://bugs.webkit.org/show_bug.cgi?id=94948 + + Reviewed by Kenneth Rohde Christiansen. + + RTL should not affect vertical sliders, but on Qt it was changing the + direction of the progress indicator, making it flow in the opposite + direction of the knob. + + * platform/qt/RenderThemeQtMobile.cpp: + (WebCore::RenderThemeQtMobile::paintSliderTrack): + +2012-08-24 Parth Patel <parpatel@rim.com> + + [BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings. + https://bugs.webkit.org/show_bug.cgi?id=94249 + + Reviewed by Rob Buis. + + PR 170160 + + Changes in response to Application Directory methods moved from + Class BlackBerryPlatformClient to BlackBerryPlatformSettings in + platform respository since these methods are more appropriate in + class BlackBerryPlatformSettings. + + No new tests as there are no logical modifications. + + * platform/blackberry/CookieManager.cpp: + (WebCore::CookieManager::CookieManager): + * platform/blackberry/FileSystemBlackBerry.cpp: + (WebCore::homeDirectoryPath): + * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: + (WebCore::MediaPlayerPrivate::load): + * platform/network/blackberry/AutofillBackingStore.cpp: + (WebCore::autofillBackingStore): + * platform/network/blackberry/CredentialBackingStore.cpp: + (WebCore::credentialBackingStore): + * platform/network/blackberry/NetworkJob.cpp: + (WebCore::NetworkJob::sendRequestWithCredentials): + * plugins/PluginDatabase.cpp: + (WebCore::PluginDatabase::isPreferredPluginDirectory): + +2012-08-24 Ilya Tikhonovsky <loislo@chromium.org> + + Web Inspector: do not count weak and shortcut edges. + https://bugs.webkit.org/show_bug.cgi?id=94947 + + Reviewed by Yury Semikhatsky. + + When calculating distance from an object to Window in heap profiler we should only + take into account strong real references. This means that shortcuts and weak edges should be ignored. + + * inspector/front-end/HeapSnapshot.js: + (WebInspector.HeapSnapshot.prototype._bfs): + +2012-08-24 Julien Chaffraix <jchaffraix@webkit.org> + + Crash in RenderTableCell::borderTop() due to custom scrollbars after r124168 + https://bugs.webkit.org/show_bug.cgi?id=93903 + + Reviewed by Tony Chang. + + r124168 changed when we create scrollbars so that it happens (rightly) at style change time. + However the RenderScrollbar code assumes that any overflow: scroll RenderScrollbar would be + created at layout time as it directly tries to layout to scrollbar parts. The big issues with + the move is that the first style change operates on a detached renderer which means that we + could crash in some situation. + + Test: scrollbars/custom-scrollbar-table-cell.html + + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::computeScrollbarWidth): + (WebCore::RenderScrollbarPart::computeScrollbarHeight): + Fixed the crash by using style information instead of calling the renderer. This is guaranteed + to be safe but it also means that custom scrollbars sizing is not right on table cells with + collapsing borders. The existing logic was querying layout information at style change so I + wouldn't bet on it working properly anyway. + +2012-08-24 Julien Chaffraix <jchaffraix@webkit.org> + + Remove RenderTableSection::removeChild + https://bugs.webkit.org/show_bug.cgi?id=94883 + + Reviewed by Abhishek Arya. + + This change removed removeChild, replaced by willBeRemoved calls in the children + class. This is done to ensure that post-removal invalidations are properly done + in table rows and table cells. + + Refactoring covered by existing tests. + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::removeChild): + * rendering/RenderTableSection.h: + Removed this function... + + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::willBeRemovedFromTree): + * rendering/RenderTableCell.h: + (RenderTableCell): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::willBeRemovedFromTree): + * rendering/RenderTableRow.h: + ... and moved the invalidation into the willBeRemovedFromTree functions. + The willBeRemovedFromTree replaced the willBeDestroyed functions in the + 2 classes as the invalidation really represented tree removal updates, + not death updates. + +2012-08-24 Joshua Netterfield <jnetterfield@rim.com> + + [BlackBerry] Extend LayerFilterRenderer in preparation for CSS Shaders + https://bugs.webkit.org/show_bug.cgi?id=94724 + + Reviewed by George Staikos. + + LayerFilterRenderer defines a CSS Filter in terms of one or more `Action`s. + A LayerFilterRendererAction holds a vertex shader, a fragment shader, and + zero or more `Parameter`s. A Parameter is a uniform, varying, or other + information which is needed to render a filter. + + This patch implements certain new Parameter types, including vertex/element + buffers and vertex attributes which are needed to implement composited + CSS Shaders on BB10. In addition, a new drawing mode is required in order + to draw CSS Shaders meshes from vertex/element buffers. + + No new tests, because this patch introduces no new functionality. When + the patch which enables CSS Shaders on BB10 in upstreamed, tests for + CSS Shaders will prove this code to be correct. + + * platform/graphics/blackberry/LayerFilterRenderer.cpp: + (WebCore::operationTypeToProgramID): + (WebCore::Uniform::Uniform): + (WebCore::Uniform1f::create): + (WebCore::Uniform1f::Uniform1f): + (WebCore): + (WebCore::Uniform1i::apply): + (WebCore::Uniform1i::create): + (WebCore::Uniform1i::Uniform1i): + (WebCore::Uniform2f::create): + (WebCore::Uniform2f::Uniform2f): + (WebCore::Uniform3f::create): + (WebCore::Uniform3f::Uniform3f): + (WebCore::Uniform4f::apply): + (WebCore::Uniform4f::create): + (WebCore::Uniform4f::Uniform4f): + (WebCore::Matrix4fv::apply): + (WebCore::Matrix4fv::create): + (WebCore::Matrix4fv::Matrix4fv): + (WebCore::Matrix4fv::~Matrix4fv): + (WebCore::Buffer::apply): + (WebCore::Buffer::restoreState): + (WebCore::Buffer::create): + (WebCore::Buffer::Buffer): + (WebCore::VertexAttribf::apply): + (WebCore::VertexAttribf::restoreState): + (WebCore::VertexAttribf::create): + (WebCore::VertexAttribf::VertexAttribf): + (WebCore::LayerFilterRendererAction::LayerFilterRendererAction): + (WebCore::LayerFilterRendererAction::useActionOn): + (WebCore::LayerFilterRendererAction::restoreState): + (WebCore::LayerFilterRenderer::LayerFilterRenderer): + (WebCore::LayerFilterRenderer::actionsForOperations): + (WebCore::LayerFilterRenderer::applyActions): + * platform/graphics/blackberry/LayerFilterRenderer.h: + (Parameter): + (WebCore::Parameter::restoreState): + (WebCore::Parameter::~Parameter): + (WebCore::Parameter::Parameter): + (WebCore): + (Uniform): + (WebCore::Uniform::~Uniform): + (Uniform1f): + (Uniform1i): + (Uniform2f): + (Uniform3f): + (Uniform4f): + (Matrix4fv): + (Buffer): + (VertexAttribf): + (WebCore::LayerFilterRendererAction::appendParameter): + (LayerFilterRendererAction): + (WebCore::LayerFilterRendererAction::drawingMode): + (WebCore::LayerFilterRendererAction::setDrawingMode): + (WebCore::LayerFilterRendererAction::drawingModeParameter): + (WebCore::LayerFilterRendererAction::setDrawingModeParameter): + +2012-08-24 Tommy Widenflycht <tommyw@google.com> + + MediaStream API: Add readyState functionality to RTCPeerConnection + https://bugs.webkit.org/show_bug.cgi?id=94813 + + Reviewed by Adam Barth. + + This patch adds readyState functionality to RTCPeerConnection together with related callbacks and methods. + + Test: fast/mediastream/RTCPeerConnection-state.html + + * Modules/mediastream/RTCPeerConnection.cpp: + (WebCore::RTCPeerConnection::RTCPeerConnection): + (WebCore::RTCPeerConnection::readyState): + (WebCore): + (WebCore::RTCPeerConnection::close): + (WebCore::RTCPeerConnection::didChangeReadyState): + (WebCore::RTCPeerConnection::stop): + (WebCore::RTCPeerConnection::changeReadyState): + * Modules/mediastream/RTCPeerConnection.h: + (RTCPeerConnection): + * Modules/mediastream/RTCPeerConnection.idl: + * platform/mediastream/RTCPeerConnectionHandler.cpp: + (RTCPeerConnectionHandlerDummy): + (WebCore::RTCPeerConnectionHandlerDummy::stop): + (WebCore): + * platform/mediastream/RTCPeerConnectionHandler.h: + (RTCPeerConnectionHandler): + * platform/mediastream/RTCPeerConnectionHandlerClient.h: + (RTCPeerConnectionHandlerClient): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: + (WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium): + (WebCore::RTCPeerConnectionHandlerChromium::stop): + (WebCore): + (WebCore::RTCPeerConnectionHandlerChromium::didChangeReadyState): + * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: + (RTCPeerConnectionHandlerChromium): + +2012-08-24 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: [WebGL] A follow up to simplify code with nested closures + https://bugs.webkit.org/show_bug.cgi?id=94931 + + Reviewed by Pavel Feldman. + + Simplifies the code with nested closures. + + * inspector/InjectedScriptWebGLModuleSource.js: + (.): + +2012-08-24 Vsevolod Vlasov <vsevik@chromium.org> + + Web Inspector: Get rid of frontendReused logic on front-end. + https://bugs.webkit.org/show_bug.cgi?id=94929 + + Reviewed by Pavel Feldman. + + Removed frontendReused method from ResourceTreeModel. + + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel.prototype._frameNavigated): + * inspector/front-end/Workspace.js: + (WebInspector.Workspace): workspace doesn't need to listen for CachedResourcesLoaded event anymore. + * inspector/front-end/inspector.js: removed unused method. + +2012-08-24 Grzegorz Czajkowski <g.czajkowski@samsung.com> + + Share WebKit-Gtk's Enchant implementation with others WebKit ports. + https://bugs.webkit.org/show_bug.cgi?id=94320 + + Reviewed by Carlos Garcia Campos. + + The main reason of this change is to share WebKit-Gtk implementation of spelling + with others ports that use the Enchant library. + This is the first step to enable spelling for WebKit-Efl (https://bugs.webkit.org/show_bug.cgi?id=91854) + + Files that implement spelling were moved to platform/text/enchant directory. + + This patch stops using Pango backend to find the beginning/end of the word. + Those information are delivered through ICU interface by using TextBreakIterator. + + * GNUmakefile.am: Added newly created 'enchant' directory to WebKit-Gtk's sources. + * GNUmakefile.list.am: Updated location of TextCheckerEnchant.{h,cpp} files. + + * editing/visible_units.cpp: Removed 'static' modifier for 'isLogicalStartOfWord' and 'islogicalEndOfWord' functions. + (WebCore::isLogicalStartOfWord): + (WebCore::islogicalEndOfWord): + * editing/visible_units.h: Added isLogicalStartOfWord' and 'islogicalEndOfWord' functions to header as they are used by TextCheckerEnchant.cpp + + * platform/text/enchant/TextCheckerEnchant.cpp: Renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.cpp. + (enchantDictDescribeCallback): Added comments. + (TextCheckerEnchant::TextCheckerEnchant): + (TextCheckerEnchant::~TextCheckerEnchant): + (TextCheckerEnchant::ignoreWord): + (TextCheckerEnchant::learnWord): + (TextCheckerEnchant::checkSpellingOfString): Using ICU instead of Pango to find out the beginning/end of the word. + (TextCheckerEnchant::getGuessesForWord): Replaced gchar type to char. + (TextCheckerEnchant::updateSpellCheckingLanguages): Using WebCore::defaulLanguage() instead of Pango backend. + (TextCheckerEnchant::getSpellCheckingLanguages): + (TextCheckerEnchant::freeEnchantBrokerDictionaries): + * platform/text/enchant/TextCheckerEnchant.h: Renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.h. + (WebCore): + (TextCheckerEnchant): + (WebCore::TextCheckerEnchant::create): + +2012-08-24 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: do not send profile headers to the front-end until explicitly requested. + https://bugs.webkit.org/show_bug.cgi?id=94928 + + Reviewed by Vsevolod Vlasov. + + Simple flag is added. + + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): + (WebCore::InspectorProfilerAgent::addProfile): + (WebCore::InspectorProfilerAgent::disable): + (WebCore::InspectorProfilerAgent::getProfileHeaders): + (WebCore): + (WebCore::InspectorProfilerAgent::resetFrontendProfiles): + * inspector/InspectorProfilerAgent.h: + (InspectorProfilerAgent): + +2012-08-24 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: make ui component compile + https://bugs.webkit.org/show_bug.cgi?id=94827 + + Reviewed by Vsevolod Vlasov. + + Moved buildImagePreviewContents into the sdk-aware code. + Drive-by more compilation fixes. + + * inspector/compile-front-end.py: + * inspector/front-end/DOMPresentationUtils.js: + (WebInspector.DOMPresentationUtils.buildImagePreviewContents.errorCallback): + (WebInspector.DOMPresentationUtils.buildImagePreviewContents.buildContent): + (WebInspector.DOMPresentationUtils.buildImagePreviewContents): + * inspector/front-end/Database.js: + * inspector/front-end/DefaultTextEditor.js: + (WebInspector.TextEditorMainPanel): + (WebInspector.TextEditorMainPanel.prototype._createLink): + * inspector/front-end/ElementsPanel.js: + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkDataGridNode.prototype._refreshNameCell): + * inspector/front-end/ParsedURL.js: + (WebInspector.ParsedURL.prototype.get displayName): + * inspector/front-end/ResourceUtils.js: + * inspector/front-end/SourceFrame.js: + (WebInspector.TextEditorDelegateForSourceFrame.prototype.populateTextAreaContextMenu): + (WebInspector.TextEditorDelegateForSourceFrame.prototype.createLink): + * inspector/front-end/TextEditor.js: + (WebInspector.TextEditorDelegate.prototype.populateTextAreaContextMenu): + (WebInspector.TextEditorDelegate.prototype.createLink): + * inspector/front-end/TimelinePresentationModel.js: + (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent): + * inspector/front-end/UIUtils.js: + +2012-08-24 'Pavel Feldman' <pfeldman@chromium.org> + + Not reviewed: fixing inspector/elements/iframe-load-event.html broken by r126572. + + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype.resolveURL): + +2012-08-24 Andrey Adaikin <aandrey@chromium.org> + + Web Inspector: [WebGL] Implement custom wrap functions on GL context + https://bugs.webkit.org/show_bug.cgi?id=94799 + + Reviewed by Pavel Feldman. + + Implement custom wrap functions on WebGL rendering context for WebGL instrumentation. + + * inspector/InjectedScriptWebGLModuleSource.js: + (.): + +2012-08-24 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: resolve URLs upon creation, get rid of populateHrefContextMenu + https://bugs.webkit.org/show_bug.cgi?id=94900 + + Reviewed by Vsevolod Vlasov. + + - This change makes sure we resolve URLs upon adding the to the UI. Then we treat them as absolute links in context menu, etc. + - There is no need to override context menu for links anymore - system menu will do. + + * inspector/front-end/AuditResultView.js: + (WebInspector.AuditResultView): + * inspector/front-end/ConsoleView.js: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype.descendantUserPropertyCount): + (WebInspector.DOMNode.prototype.resolveURL): + * inspector/front-end/ElementsPanel.js: + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype.populateContextMenu): + (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM): + * inspector/front-end/HandlerRegistry.js: + (WebInspector.HandlerRegistry.prototype.appendApplicableItems): + (WebInspector.HandlerRegistry.prototype._appendContentProviderItems): + (WebInspector.HandlerRegistry.prototype._appendHrefItems): + * inspector/front-end/ParsedURL.js: + (WebInspector.ParsedURL.completeURL): + * inspector/front-end/ResourceUtils.js: + (WebInspector.linkifyRequestAsNode): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane): + (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): + * inspector/front-end/UIUtils.js: + +2012-08-24 Xan Lopez <xlopez@igalia.com> + + [GTK] Use the new 'feature_defines' variable to generate DOM bindings + https://bugs.webkit.org/show_bug.cgi?id=94919 + + Reviewed by Carlos Garcia Campos. + + Update to use the new 'feature_defines' variable, otherwise the + bindings will be broken. + + * bindings/gobject/GNUmakefile.am: ditto. + +2012-08-24 Kentaro Hara <haraken@chromium.org> + + Remove RefPtr from HTMLTextAreaElement::m_placeholder + https://bugs.webkit.org/show_bug.cgi?id=94338 + + Reviewed by Kent Tamura. + + To avoid reference cycles of RefPtr<Node>s, we want to remove + unnecessary RefPtr<Node>s. The rationale is described in bug 94324. + + HTMLTextAreaElement::m_placeholder does not need to be a RefPtr<Node>, + because it is guaranteed to point to a shadow DOM tree of the + HTMLTextAreaElement node, which is guaranteed to exist in the subtree + of the HTMLTextAreaElement node. + + No tests. No change in behavior. + + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): + (WebCore::HTMLTextAreaElement::placeholderElement): + (WebCore::HTMLTextAreaElement::attach): + (WebCore::HTMLTextAreaElement::updatePlaceholderText): + * html/HTMLTextAreaElement.h: + (HTMLTextAreaElement): + +2012-08-24 Dan Carney <dcarney@google.com> + + [V8] Refactor away IsolatedWorld + https://bugs.webkit.org/show_bug.cgi?id=93971 + + Reviewed by Kentaro Hara. + + Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld. + This paves the way towards a JSC-like use of DOMWrapperWorld. + + No new tests. No change in functionality. + + * UseV8.cmake: + * WebCore.gypi: + * bindings/v8/DOMWrapperWorld.cpp: + (WebCore): + (WebCore::DOMWrapperWorld::createUninitializedWorld): + (WebCore::DOMWrapperWorld::createMainWorld): + (WebCore::mainThreadNormalWorld): + (WebCore::isolatedWorldMap): + (WebCore::DOMWrapperWorld::deallocate): + (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld): + * bindings/v8/DOMWrapperWorld.h: + (DOMWrapperWorld): + (WebCore::DOMWrapperWorld::isolatedWorldsExist): + (WebCore::DOMWrapperWorld::isMainWorld): + (WebCore::DOMWrapperWorld::worldId): + (WebCore::DOMWrapperWorld::extensionGroup): + (WebCore::DOMWrapperWorld::domDataStore): + (WebCore::DOMWrapperWorld::deref): + (WebCore::DOMWrapperWorld::DOMWrapperWorld): + * bindings/v8/IsolatedWorld.cpp: Removed. + * bindings/v8/IsolatedWorld.h: Removed. + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::evaluateInIsolatedWorld): + * bindings/v8/V8DOMMap.cpp: + (WebCore::DOMDataStoreHandle::DOMDataStoreHandle): + (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle): + * bindings/v8/V8DOMMap.h: + (DOMDataStoreHandle): + * bindings/v8/V8DOMWrapper.h: + (WebCore::V8DOMWrapper::getCachedWrapper): + * bindings/v8/V8IsolatedContext.cpp: + (WebCore::V8IsolatedContext::V8IsolatedContext): + (WebCore::V8IsolatedContext::destroy): + * bindings/v8/V8IsolatedContext.h: + (V8IsolatedContext): + (WebCore::V8IsolatedContext::getEntered): + (WebCore::V8IsolatedContext::world): + * bindings/v8/V8PerIsolateData.h: + (WebCore::V8PerIsolateData::registerDOMDataStore): + (WebCore::V8PerIsolateData::unregisterDOMDataStore): + +2012-08-24 Adam Barth <abarth@webkit.org> + + [V8] Improve the developer ergonomics of ScopedPersistent + https://bugs.webkit.org/show_bug.cgi?id=94901 + + Reviewed by Kentaro Hara. + + As requested by haraken, this patch adds some helper functions to + ScopedPersistent so that we don't need to call get() all the time. + + * bindings/v8/ScheduledAction.cpp: + (WebCore::ScheduledAction::execute): + * bindings/v8/ScopedPersistent.h: + (WebCore::ScopedPersistent::get): + (WebCore::ScopedPersistent::operator->): + (ScopedPersistent): + (WebCore::ScopedPersistent::isEmpty): + * bindings/v8/ScriptValue.cpp: + (WebCore::ScriptValue::getString): + (WebCore::ScriptValue::toString): + * bindings/v8/ScriptValue.h: + (WebCore::ScriptValue::isFunction): + (WebCore::ScriptValue::isNull): + (WebCore::ScriptValue::isUndefined): + (WebCore::ScriptValue::isObject): + (WebCore::ScriptValue::hasNoValue): + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::~V8AbstractEventListener): + (WebCore::V8AbstractEventListener::getReceiverObject): + * bindings/v8/V8AbstractEventListener.h: + (WebCore::V8AbstractEventListener::hasExistingListenerObject): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::isContextInitialized): + (WebCore::V8DOMWindowShell::disposeContextHandles): + (WebCore::V8DOMWindowShell::clearForClose): + (WebCore::V8DOMWindowShell::clearForNavigation): + (WebCore::V8DOMWindowShell::initContextIfNeeded): + (WebCore::V8DOMWindowShell::updateDocumentWrapper): + (WebCore::V8DOMWindowShell::updateDocumentWrapperCache): + (WebCore::V8DOMWindowShell::clearDocumentWrapperCache): + (WebCore::V8DOMWindowShell::setSecurityToken): + (WebCore::V8DOMWindowShell::updateDocument): + (WebCore::V8DOMWindowShell::namedItemAdded): + (WebCore::V8DOMWindowShell::namedItemRemoved): + (WebCore::V8DOMWindowShell::updateSecurityOrigin): + * bindings/v8/V8PerContextData.cpp: + (WebCore::V8PerContextData::createWrapperFromCacheSlowCase): + (WebCore::V8PerContextData::constructorForTypeSlowCase): + +2012-08-23 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: move ResourceViews to "components" module - it is used from the Resources as well. + https://bugs.webkit.org/show_bug.cgi?id=94904 + + Reviewed by Vsevolod Vlasov. + + * WebCore.gypi: + * inspector/compile-front-end.py: + * inspector/front-end/NetworkPanel.js: + * inspector/front-end/inspector.html: + +2012-08-24 Xiaobo Wang <xbwang@torchmobile.com.cn> + + Check argument count in the dispatch function for overloaded functions + https://bugs.webkit.org/show_bug.cgi?id=94790 + + Reviewed by Kentaro Hara. + + Throw NotEnoughArguments exception for overloaded functions if actual argument + count is less than the least mandatory argument count among all overloaded. + + Reset JS and V8 binding tests result for the change. + + * bindings/scripts/CodeGeneratorJS.pm: + (GenerateFunctionParametersCheck): + (GenerateOverloadedFunction): + * bindings/scripts/CodeGeneratorV8.pm: + (GenerateFunctionParametersCheck): + (GenerateOverloadedFunctionCallback): + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): + (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjV8Internal::overloadedMethodCallback): + (WebCore::TestObjV8Internal::overloadedMethod1Callback): + +2012-08-23 Frederik Gladhorn <gladhorn@kde.org> + + Make it possible to build WebKit with Python 3 (and 2) + https://bugs.webkit.org/show_bug.cgi?id=94814 + + Exceptions need a hack to work with both. + string.join was already deprecated in Python 2. + Relative imports are no longer supported, use package name instead. + + Reviewed by Ryosuke Niwa. + + * inspector/CodeGeneratorInspector.py: + (EnumConstants.get_enum_constant_code): + (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder): + (Generator.go): + (Generator.process_event): + (Generator.process_command): + +2012-08-24 Allan Sandfeld Jensen <allan.jensen@nokia.com> + + Get rid of m_useLatchedWheelEventNode + https://bugs.webkit.org/show_bug.cgi?id=94684 + + Reviewed by Ryosuke Niwa. + + Moves the setting of m_useLatchedWheelEventNode into PlatformWheelEvent. + + * page/EventHandler.cpp: + (WebCore::EventHandler::EventHandler): + (WebCore::EventHandler::handleWheelEvent): + (WebCore::EventHandler::defaultWheelEventHandler): + (WebCore::EventHandler::handleGestureScrollCore): + * page/EventHandler.h: + * platform/PlatformWheelEvent.h: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + (WebCore::PlatformWheelEvent::setUseLatchedEventNode): + (PlatformWheelEvent): + (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas): + (WebCore::PlatformWheelEvent::useLatchedEventNode): + +2012-08-24 Yoshifumi Inoue <yosin@chromium.org> + + [Forms] Multiple fields time input UI should handle Delete key as Backspace key + https://bugs.webkit.org/show_bug.cgi?id=94902 + + Reviewed by Kent Tamura. + + This patch adds treating "Delete" key as same as "Backspace" key for + multiple fields time input UI. This patch affects ports which enable + both ENABLE_INPUT_TYPE_TIME and ENABLES_INPUT_TYPE_TIME_MULTIPLE_FIELDS. + + No new tests. This patch adds a test case for "Delete" key to + fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html + + * html/shadow/DateTimeFieldElement.cpp: + (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed + condition expression to check both Backspace(U+0008) key and + Delete(U+007F) key. + +2012-08-24 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126546. + http://trac.webkit.org/changeset/126546 + https://bugs.webkit.org/show_bug.cgi?id=94911 + + Caused inspector tests to timeout (Requested by dominicc on + #webkit). + + * WebCore.gypi: + * inspector/compile-front-end.py: + * inspector/front-end/NetworkPanel.js: + * inspector/front-end/inspector.html: + +2012-08-24 Sergio Villar Senin <svillar@igalia.com> + + [GTK] Purge unused favicons from IconDatabase after 30 days + https://bugs.webkit.org/show_bug.cgi?id=82346 + + Reviewed by Gustavo Noronha Silva. + + Favicons will be removed from the icon database after not being used + for more than 30 days. This will keep the database size under + control. + + * loader/icon/IconDatabase.cpp: + (WebCore): + (WebCore::IconDatabase::performURLImport): filter icons older than + 30 days. + +2012-08-23 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r126542. + http://trac.webkit.org/changeset/126542 + https://bugs.webkit.org/show_bug.cgi?id=94907 + + Broke WK2 build on OS X (Requested by tronical_ on #webkit). + + * inspector/CodeGeneratorInspector.py: + (EnumConstants.get_enum_constant_code): + (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder): + (Generator.go): + (Generator.process_event): + (Generator.process_command): + +2012-08-23 Kentaro Hara <haraken@chromium.org> + + [V8] StringCache should not return already disposed strings + https://bugs.webkit.org/show_bug.cgi?id=94899 + + Reviewed by Adam Barth. + + See this Chromium bug (http://code.google.com/p/chromium/issues/detail?id=143937) + for details. + + I investigated the crash and found that v8ExternalString() can return + already disposed strings: + + class StringCache { + v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, ...) + { + if (m_lastStringImpl.get() == stringImpl) { + ASSERT(!m_lastV8String.IsNearDeath()); + ASSERT(!m_lastV8String.IsEmpty()); + return v8::Local<v8::String>::New(m_lastV8String); // m_lastV8String might be already disposed. + } + return v8ExternalStringSlow(stringImpl, ...); + } + } + + I couldn't find why m_lastV8String can be prematurely disposed, but the + following fix solves the crash: + + class StringCache { + v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, ...) + { + if (m_lastStringImpl.get() == stringImpl && m_lastV8String.IsWeak()) + return v8::Local<v8::String>::New(m_lastV8String); + return v8ExternalStringSlow(stringImpl, ...); + } + } + + Although the ideal fix might be to fix the root cause of the premature disposal, + I think that the proposed fix is reasonable for safety. In fact, we've so far + encountered crashes caused by premature disposals (e.g. r123500). The proposed fix + will prevent future crashes caused by premature disposals. + + No tests. The crash depends on GC behavior and I couldn't write a test that + reproduces the crash. Open http://lore.com/testdrive/Navigating-the-Universe + and confirm that Chromium doesn't crash. + + * bindings/v8/V8ValueCache.cpp: + (WebCore::StringCache::v8ExternalStringSlow): + * bindings/v8/V8ValueCache.h: + (WebCore::StringCache::v8ExternalString): + +2012-08-23 Pavel Feldman <pfeldman@chromium.org> + + Web Inspector: move ResourceViews to "components" module - it is used from the Resources as well. + https://bugs.webkit.org/show_bug.cgi?id=94904 + + Reviewed by Vsevolod Vlasov. + + * WebCore.gypi: + * inspector/compile-front-end.py: + * inspector/front-end/NetworkPanel.js: + * inspector/front-end/inspector.html: + 2012-08-23 Adam Barth <abarth@webkit.org> [V8] V8DOMWindowShell should use ScopedPersistent |