2012-02-20 Alexander Pavlov Web Inspector: [Styles] box-shadow and -webkit-box-shadow properties are not considered color-aware https://bugs.webkit.org/show_bug.cgi?id=78988 Reviewed by Yury Semikhatsky. * inspector/front-end/CSSKeywordCompletions.js: 2012-02-20 Yosifumi Inoue [Forms] Spin buttons of number input type should fire both input and change event https://bugs.webkit.org/show_bug.cgi?id=75067 Reviewed by Kent Tamura. This patch makes spin button in number input field clicks to fire input and change events as described in WHATWG HTML5 specification. To implement this behavior, this patch introduces new value DispatchInputAndChangeEvent in TextFieldEventBehavior. Test: fast/forms/number/spin-button-events.html * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::stepUpFromRenderer): Pass DispatchInputAndChangeEvent instead of DispatchChangeEvent to applyStep, setValue, and setValueAsNumber. * html/HTMLTextFormControlElement.h: Add new enum value DispatchInputAndChangeEvent to TextFieldEventBehavior. * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::setValue): Handle DispatchInputAndChangeEvent and use RefPtr for element to keep reference. 2012-02-20 Shinya Kawanaka Attached/Detached state must be testable https://bugs.webkit.org/show_bug.cgi?id=79010 Reviewed by Hajime Morita. Added a method to check an element attached or not. Test: fast/dom/shadow/shadow-root-attached.html * testing/Internals.cpp: (WebCore::Internals::attached): (WebCore): * testing/Internals.h: (Internals): * testing/Internals.idl: 2012-02-20 Kenichi Ishibashi [WebSocket] Add deflater/inflater classes https://bugs.webkit.org/show_bug.cgi?id=78449 Add WebSocketDeflater/WebSocketInflater classes which wrap zlib functions. These classes are not used yet, but will be used for supporting WebSocket deflate-frame extension. This patch is second try. The previous patch broke Chromium Win build. I added dependency of zlib to WebCore.gyp. I think it's OK because Chromium already depends on zlib. Reviewed by Kent Tamura. No new tests except for chromium port. Behavior is unchanged. * GNUmakefile.list.am: Added WebSocketDeflater.(cpp|h). * WebCore.gyp/WebCore.gyp: Added zlib dependency. * WebCore.gypi: Added WebSocketDeflater.(cpp|h). * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * websockets/WebSocketDeflater.cpp: Added. (WebCore): (WebCore::WebSocketDeflater::create): (WebCore::WebSocketDeflater::WebSocketDeflater): (WebCore::WebSocketDeflater::initialize): (WebCore::WebSocketDeflater::~WebSocketDeflater): (WebCore::setStreamParameter): (WebCore::WebSocketDeflater::addBytes): (WebCore::WebSocketDeflater::finish): (WebCore::WebSocketDeflater::reset): (WebCore::WebSocketInflater::create): (WebCore::WebSocketInflater::WebSocketInflater): (WebCore::WebSocketInflater::initialize): (WebCore::WebSocketInflater::~WebSocketInflater): (WebCore::WebSocketInflater::addBytes): (WebCore::WebSocketInflater::finish): (WebCore::WebSocketInflater::reset): * websockets/WebSocketDeflater.h: Added. (WebCore): (WebSocketDeflater): (WebCore::WebSocketDeflater::data): (WebCore::WebSocketDeflater::size): (WebSocketInflater): (WebCore::WebSocketInflater::data): (WebCore::WebSocketInflater::size): 2012-02-20 pfeldman@chomium.org Web Inspector: consume undo/redo shortcuts. https://bugs.webkit.org/show_bug.cgi?id=79016 Reviewed by Vsevolod Vlasov. * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.handleShortcut): 2012-02-20 Philippe Normand MediaPlayer: MediaPlayerPrivate registration cleanup https://bugs.webkit.org/show_bug.cgi?id=78897 Reviewed by Martin Robinson. * platform/graphics/MediaPlayer.cpp: (WebCore::installedMediaEngines): Simplified GStreamer Private player registration by using the PlatformMediaEngineClassName macro like other players do. 2012-02-17 Yury Semikhatsky [Chromium] Web Inspector: terminated workers are not removed from dedicated worker list https://bugs.webkit.org/show_bug.cgi?id=78899 Notify inspector about starting context from WorkerContextProxy not from Worker. Reviewed by Pavel Feldman. * workers/Worker.cpp: (WebCore::Worker::notifyFinished): * workers/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::startWorkerContext): 2012-02-19 Keishi Hattori Use shadowRootList for ColorInputType https://bugs.webkit.org/show_bug.cgi?id=79007 Reviewed by Kent Tamura. * html/ColorInputType.cpp: (WebCore::ColorInputType::createShadowSubtree): Changed shadowRoot to shadowRootList. (WebCore::ColorInputType::shadowColorSwatch): Changed shadowRoot to shadowRootList. 2012-02-19 Shinya Kawanaka Introduce InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement. https://bugs.webkit.org/show_bug.cgi?id=78771 Reviewed by Hajime Morita. This patch introduces InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement. This is a step for rendering correctly, because has almost the same function of . After this patch, we will change NodeRenderingContext and related classes to accept InsertionPoint instead of HTMLContentElement only. No new tests, no change in behavior. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * html/shadow/HTMLContentElement.cpp: (WebCore::HTMLContentElement::HTMLContentElement): (WebCore::HTMLContentElement::attach): (WebCore::HTMLContentElement::detach): (WebCore::HTMLContentElement::parseAttribute): * html/shadow/HTMLContentElement.h: * html/shadow/InsertionPoint.cpp: Added. (WebCore): (WebCore::InsertionPoint::InsertionPoint): (WebCore::InsertionPoint::~InsertionPoint): * html/shadow/InsertionPoint.h: Added. (WebCore): (InsertionPoint): 2012-02-19 Paweł Forysiuk [GTK] Can't find webinspector and error page redirection on Windows https://bugs.webkit.org/show_bug.cgi?id=51616 Create and use an abstraction for finding shared resources on Windows. Reviewed by Martin Robinson. * platform/FileSystem.h: (WebCore): * platform/audio/gtk/AudioBusGtk.cpp: (WebCore::AudioBus::loadPlatformResource): * platform/graphics/gtk/ImageGtk.cpp: (WebCore::getPathToImageResource): * platform/gtk/FileSystemGtk.cpp: (WebCore::sharedResourcesPath): (WebCore): 2012-02-19 James Robinson Move stub implementations of ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp https://bugs.webkit.org/show_bug.cgi?id=78951 Reviewed by Adam Barth. This move stubs for ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp instead of #ifdefing inside ScrollingCoordinator.cpp. The mac port uses ScrollingCoordinator when #if ENABLE(THREADED_SCROLLING) is not set and implementations in ScrollingCoordinator.cpp / ScrollingCoordinatorMac.mm otherwise. The chromium port always uses implementations in ScrollingCoordinatorChromium.cpp. All other ports use ScrollingCoordinatorNone.cpp. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbx: * page/scrolling/ScrollingCoordinator.cpp: * page/scrolling/ScrollingCoordinatorNone.cpp: (WebCore): (WebCore::ScrollingCoordinator::create): (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::setScrollLayer): (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): (WebCore::ScrollingCoordinator::setScrollParameters): (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): * page/scrolling/mac/ScrollingCoordinatorMac.mm: (WebCore::ScrollingCoordinator::create): (WebCore): 2012-02-19 Kentaro Hara Rename [CheckDomainSecurity] to [CheckSecurity] https://bugs.webkit.org/show_bug.cgi?id=78874 Reviewed by Adam Barth. "Domain security" isn't a term that's used elsewhere. This patch renames IDL attributes as follows: - [CheckDomainSecurity] => [CheckSecurity] - [DoNotCheckDomainSecurity] => [DoNotCheckSecurity] - [DoNotCheckDomainSecurityOnGetter] => [DoNotCheckSecurityOnGetter] - [DoNotCheckDomainSecurityOnSetter] => [DoNotCheckSecurityOnSetter] No tests. No change in behavior. * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertyDescriptorBody): (GenerateImplementation): * bindings/scripts/CodeGeneratorV8.pm: (GenerateHeader): (IsVisibleAcrossOrigins): (GenerateFunctionCallback): (GenerateSingleBatchedAttribute): (GenerateImplementation): (GenerateToV8Converters): * bindings/scripts/test/TestDomainSecurity.idl: * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: (WebCore::ConfigureV8TestActiveDOMObjectTemplate): * page/DOMWindow.idl: * page/History.idl: * page/Location.idl: 2012-02-19 James Robinson Unreviewed, rolling out r108195. http://trac.webkit.org/changeset/108195 https://bugs.webkit.org/show_bug.cgi?id=77700 Lots of failing ASSERT()s on v8 bots, requested by kling on #webkit * bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS): * bindings/scripts/CodeGeneratorV8.pm: (GenerateHeader): 2012-02-19 Kentaro Hara Rename [CheckAccessToNode] to [CheckSecurityForNode] https://bugs.webkit.org/show_bug.cgi?id=78991 Reviewed by Adam Barth. For naming consistency with [CheckSecurity], this patch renames [CheckAccessToNode] to [CheckSecurityForNode]. No tests. No change in behavior. * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): * bindings/scripts/CodeGeneratorV8.pm: (GenerateNormalAttrGetter): (GenerateFunctionCallback): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/V8/V8TestObj.cpp: (WebCore): * html/HTMLEmbedElement.idl: * html/HTMLFrameElement.idl: * html/HTMLIFrameElement.idl: * html/HTMLObjectElement.idl: * page/DOMWindow.idl: 2012-02-19 James Robinson Sort WebCore XCode project files with sort-Xcode-project-files script. Unreviewed. * WebCore.xcodeproj/project.pbxproj: 2012-02-19 Andreas Kling Make CSSValue wrapper getters return unique objects every time. Reviewed by Antti Koivisto. Change the behavior of CSSValue getters to return unique JS wrappers every time they are called. This means we no longer have to deal with the risk of leaking custom properties between unrelated documents, and are free to implement global value sharing across WebCore. This patch will be followed by one making CSSValuePool globally shared, it's done in two steps to monitor the impact of this change. * bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS): * bindings/scripts/CodeGeneratorV8.pm: (GenerateHeader): (IsCSSValueType): 2012-02-19 Abhishek Arya Crash in RenderBlock::splitAnonymousBlocksAroundChild. https://bugs.webkit.org/show_bug.cgi?id=78994 Reviewed by Eric Seidel. Generalize splitTablePartsAroundChild to handle splitting in nested tables. Table->Table Section->Table Row->Table Cell->Table->Table Section->Table Row Test: fast/table/table-split-inside-table.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::splitTablePartsAroundChild): 2012-02-19 Kalev Lember [GTK] Fix build on platforms where UChar is wchar_t https://bugs.webkit.org/show_bug.cgi?id=78996 Reviewed by Martin Robinson. The ICU backend defines UChar as wchar_t for platforms where wchar_t is 16 bits wide, e.g. win32. * platform/graphics/pango/FontPango.cpp: (WebCore::utf16ToUtf8): Use reinterpret_cast instead of static_cast. * platform/gtk/GtkPopupMenu.cpp: (WebCore::GtkPopupMenu::typeAheadFind): Ditto. 2012-02-19 Carlos Garcia Campos Unreviewed. Fix make distcheck issues. * GNUmakefile.list.am: Add missing header. 2012-02-18 Robert Hogan CSS 2.1 failure: inline-box-002.htm fails https://bugs.webkit.org/show_bug.cgi?id=69210 Reviewed by David Hyatt. Tests: css2.1/20110323/dynamic-top-change-005.htm css2.1/20110323/dynamic-top-change-005a.htm css2.1/20110323/dynamic-top-change-005b.htm css2.1/20110323/inline-box-002.htm fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-removed.html fast/css/relative-positioned-block-nested-with-inline-parent-dynamic.html fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html fast/css/relative-positioned-block-nested-with-inline-parent.html fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic.html fast/css/relative-positioned-block-with-inline-ancestor-dynamic-removed.html fast/css/relative-positioned-block-with-inline-ancestor-dynamic.html fast/css/relative-positioned-block-with-inline-ancestor.html fast/css/relative-positioned-block-with-inline-parent-dynamic-removed.html fast/css/relative-positioned-block-with-inline-parent-dynamic.html fast/css/relative-positioned-block-with-inline-parent-keeps-style.html fast/css/relative-positioned-block-with-inline-parent.html A block within an inline is affected by relative positioning on the inline box. Give the anonymous block containing the block a layer and make it relative positioned. Then calculate the offset of the anonymous block's layer by accumulating the offsets from its inline continuation and the inline continuation's inline parents. If the position of an inline changes from or to relative positioned then ensure that any descendant blocks update their position and layer accordingly. * rendering/RenderBoxModelObject.cpp: (): add an enum RelPosAxis (WebCore::accumulateRelativePositionOffsets): Total up the offsets of all relatively positioned inlines that are de-facto parents of the relatively positioned anonymous block's child block. (WebCore): (WebCore::RenderBoxModelObject::relativePositionOffsetX): Use accumulateRelativePositionOffsets when calculating the relative position offset of a relatively positioned anonymous block. (WebCore::RenderBoxModelObject::relativePositionOffsetY): ditto * rendering/RenderInline.cpp: (WebCore::hasRelPositionedInlineAncestor): Detects if the anonymous block contains a block that is the de-facto descendant of a relatively positioned inline. (WebCore::updateStyleOfAnonymousBlockContinuations): Update the style's positioning for each anonymous block containing a block that is descendant from the inline whose style has changed. (WebCore::RenderInline::styleDidChange): If an inline changes to or from relative positioning ensure that any descendant blocks change to or from relative positioning as well, unless they still have a relatively positioned ancestor after the current ancestor loses its relative positioning. (WebCore::RenderInline::addChildIgnoringContinuation): If the anonymous block contains a block that is effectively descended from a relatively positioned inline, make it relatively positioned so the block will respect its inline ancestor's relative positioning. * rendering/RenderObject.cpp: (WebCore::RenderObject::propagateStyleToAnonymousChildren): Preserve style position in anonymous block continuations when the parent block propagates a style change. 2012-02-18 raman Tenneti Track the NPN protocol version negotiated with the server https://bugs.webkit.org/show_bug.cgi?id=77349 Reviewed by Darin Fisher.. [chromium] Added ExtraData to WebURLResponse. No intended functionality change. * platform/network/chromium/ResourceResponse.h: (ExtraData): (WebCore::ResourceResponse::ExtraData::~ExtraData): (ResourceResponse): (WebCore::ResourceResponse::extraData): (WebCore::ResourceResponse::setExtraData): 2012-02-18 Abhishek Arya Unreviewed, rolling out r107965. http://trac.webkit.org/changeset/107965 https://bugs.webkit.org/show_bug.cgi?id=78273 crashes * rendering/RenderBlock.cpp: (WebCore::RenderBlock::clone): 2012-02-18 Sam Weinig Make WebCore compile with libc++ (Part 2) https://bugs.webkit.org/show_bug.cgi?id=78974 Reviewed by Anders Carlsson. * config.h: Disable the DisallowCType check when using libc++. 2012-02-18 Sam Weinig Fix the build. * page/DOMWindow.idl: 2012-02-14 Sam Weinig Make WebCore compile with libc++ (Part 1) https://bugs.webkit.org/show_bug.cgi?id=78974 Reviewed by Anders Carlsson. Add a workaround for , which cause the standard heap functions not to work when using an iterator with proxy objects for reference and pointer types. * WebCorePrefix.h: (move): Add an overload of std::move that the heap functions can call successfully. 2012-02-18 Kevin Ollivier [wx] Build fixes for C++ bindings after recent changes. * bindings/scripts/CodeGeneratorCPP.pm: (ShouldSkipType): (GenerateHeader): * page/DOMWindow.idl: 2012-02-18 Kevin Ollivier [wx] Build fix, add new platform method wx impl. * platform/wx/ContextMenuWx.cpp: (ContextMenu::itemCount): 2012-02-18 Sam Weinig Fix part of the windows build failure. * WebCore.vcproj/WebCore.vcproj: Don't build JSWebKitCSSRegionRule.cpp, since it is already being built as part of DerivedSources.cpp. 2012-02-18 Sam Weinig Fix the ENABLE(THREADED_SCROLLING) build. * page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): (WebCore::ScrollingCoordinator::setScrollParameters): 2012-02-18 Andreas Kling HTML: Remove unnecessary attributeChange() overrides. Reviewed by Anders Carlsson. Move logic from attributeChanged() overrides into parseAttribute(). This is a step towards making attributeChanged() non-virtual. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseAttribute): * html/HTMLMediaElement.h: (HTMLMediaElement): * html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::parseAttribute): * html/HTMLScriptElement.h: (HTMLScriptElement): * html/HTMLTrackElement.cpp: (WebCore::HTMLTrackElement::parseAttribute): * html/HTMLTrackElement.h: (HTMLTrackElement): 2012-02-18 Andreas Kling Remove Element::createAttribute(). Reviewed by Anders Carlsson. Switch call sites to use Attribute::create() directly, as there is no magic in calling Element::createAttribute() anymore (it used to be virtual and handled differently by StyledElement.) * dom/Element.cpp: (WebCore::Element::setAttributeInternal): * dom/Element.h: * svg/properties/SVGAnimatedPropertySynchronizer.h: 2012-02-18 Andreas Kling HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink. Reviewed by Anders Carlsson. Mark the body element for deferred style recalc instead of doing it synchronously when the attributes change. * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseAttribute): 2012-02-18 Martin Robinson Fix the TextureMapper build for non-Qt ports. Qt debug builds must use RTTI, but GTK+, at least, does not. * platform/graphics/texmap/TextureMapperLayer.cpp: (WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check Qt only. 2012-02-16 Andreas Kling FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better. Reviewed by Antti Koivisto. Now that FontFamilyValue's string doesn't change after creation, we can just pass the massaged family name up to the CSSPrimitiveValue constructor and get cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String) though that's less of an issue now that we cache them in CSSValuePool. * css/FontFamilyValue.cpp: (WebCore::stripFontFamilyJunk): (WebCore::FontFamilyValue::FontFamilyValue): * css/FontFamilyValue.h: (WebCore::FontFamilyValue::familyName): (FontFamilyValue): 2012-02-17 Adam Klein Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch https://bugs.webkit.org/show_bug.cgi?id=76087 Reviewed by Ryosuke Niwa. Move post-removal notifications after call to Node::removeFromDocument to avoid inconsistent state of Node::inDocument() and thus avoid inconsistent state in DocumentOrderedMap. Tests: fast/dom/getElementById-consistency.html fast/dom/getElementById-consistency2.html * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): * svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch. 2012-02-17 Joshua Bell IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange https://bugs.webkit.org/show_bug.cgi?id=78399 Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality. Reviewed by Tony Chang. Test: storage/indexeddb/delete-range.html * bindings/scripts/CodeGeneratorV8.pm: (GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr. * bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations. * storage/IDBLevelDBBackingStore.cpp: (WebCore): * storage/IDBObjectStore.cpp: (WebCore::IDBObjectStore::deleteFunction): (WebCore): * storage/IDBObjectStore.h: (IDBObjectStore): * storage/IDBObjectStore.idl: * storage/IDBObjectStoreBackendImpl.cpp: (WebCore::IDBObjectStoreBackendImpl::deleteFunction): (WebCore): (WebCore::IDBObjectStoreBackendImpl::deleteInternal): * storage/IDBObjectStoreBackendImpl.h: (IDBObjectStoreBackendImpl): * storage/IDBObjectStoreBackendInterface.h: 2012-02-17 Kentaro Hara Replace [V8OnInstance] with [V8Unforgeable] https://bugs.webkit.org/show_bug.cgi?id=78894 Reviewed by Adam Barth. [V8OnInstance] means that the method should be defined (not on a prototype chain but) on a DOM object. It is the same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance] with [V8Unforgeable]. No tests. No change in behavior. * bindings/scripts/CodeGeneratorV8.pm: (GenerateImplementation): * page/Location.idl: 2012-02-17 James Robinson [chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same target from different paths. * WebCore.gypi: * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp. (WebCore): (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::setScrollLayer): (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): (WebCore::ScrollingCoordinator::setScrollParameters): (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): 2012-02-17 James Robinson Unreviewed mac compile fix pt 2 * page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::setScrollLayer): (WebCore::ScrollingCoordinator::setNonFastScrollableRegion): (WebCore::ScrollingCoordinator::setScrollParameters): (WebCore::ScrollingCoordinator::setWheelEventHandlerCount): (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): 2012-02-17 James Robinson Unreviewed mac compile fix (unused parameter warning) * page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): 2012-02-14 James Robinson Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms https://bugs.webkit.org/show_bug.cgi?id=78401 Reviewed by Adam Barth. Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source. ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input events and interact with composited layers. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * dom/Document.cpp: (WebCore::wheelEventHandlerCountChanged): * page/FrameView.cpp: (WebCore::FrameView::addSlowRepaintObject): (WebCore::FrameView::removeSlowRepaintObject): (WebCore::FrameView::performPostLayoutTasks): * page/Page.cpp: (WebCore::Page::~Page): (WebCore): * page/Page.h: (Page): * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: (Settings): * page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::ScrollingCoordinator): (WebCore::ScrollingCoordinator::~ScrollingCoordinator): (WebCore::ScrollingCoordinator::pageDestroyed): (WebCore): * page/scrolling/ScrollingCoordinator.h: (WebCore): (ScrollingCoordinator): * page/scrolling/ScrollingThread.cpp: (WebCore::ScrollingThread::createThreadIfNeeded): * page/scrolling/ScrollingTreeState.cpp: * page/scrolling/ScrollingTreeState.h: * page/scrolling/chromium/ScrollingCoordinator.cpp: Added. (WebCore): (WebCore::ScrollingCoordinator::scheduleTreeStateCommit): (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange): (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::frameViewDidScroll): (WebCore::shouldCompositeOverflowControls): (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer): (WebCore::RenderLayerCompositor::requiresContentShadowLayer): (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): (WebCore::RenderLayerCompositor::ensureRootLayer): (WebCore): * rendering/RenderLayerCompositor.h: (WebCore): (RenderLayerCompositor): 2012-02-17 Emil A Eklund Add FractionalLayoutPoint for sub-pixel layout https://bugs.webkit.org/show_bug.cgi?id=78913 Reviewed by Eric Seidel. Add FractionalLayoutUnit version of Point class and a couple of conversion methods to the Int and Float versions of same. No new tests. * GNUmakefile.list.am: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/graphics/FloatPoint.cpp: (WebCore::FloatPoint::FloatPoint): (WebCore): (WebCore::FloatPoint::moveBy): * platform/graphics/FloatPoint.h: (WebCore): (FloatPoint): * platform/graphics/FractionalLayoutPoint.h: Added. (WebCore): (FractionalLayoutPoint): (WebCore::FractionalLayoutPoint::FractionalLayoutPoint): (WebCore::FractionalLayoutPoint::zero): (WebCore::FractionalLayoutPoint::x): (WebCore::FractionalLayoutPoint::y): (WebCore::FractionalLayoutPoint::setX): (WebCore::FractionalLayoutPoint::setY): (WebCore::FractionalLayoutPoint::move): (WebCore::FractionalLayoutPoint::moveBy): (WebCore::FractionalLayoutPoint::scale): (WebCore::FractionalLayoutPoint::expandedTo): (WebCore::FractionalLayoutPoint::shrunkTo): (WebCore::FractionalLayoutPoint::clampNegativeToZero): (WebCore::FractionalLayoutPoint::transposedPoint): (WebCore::operator+=): (WebCore::operator-=): (WebCore::operator+): (WebCore::operator-): (WebCore::operator==): (WebCore::operator!=): (WebCore::toPoint): (WebCore::toSize): (WebCore::flooredIntPoint): (WebCore::roundedIntPoint): (WebCore::ceiledIntPoint): * platform/graphics/FractionalLayoutSize.cpp: (WebCore::pixelSnappedIntSize): * platform/graphics/FractionalLayoutSize.h: (WebCore): 2012-02-17 Ryosuke Niwa Move textDirectionForSelection from Editor to EditingStyle https://bugs.webkit.org/show_bug.cgi?id=78868 Reviewed by Enrica Casucci. Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's dependency on CSSStyleDeclaration. * editing/EditingStyle.cpp: (WebCore::EditingStyle::textDirectionForSelection): (WebCore): * editing/EditingStyle.h: (EditingStyle): * editing/Editor.cpp: (WebCore): * editing/Editor.h: (Editor): * editing/EditorCommand.cpp: (WebCore::stateTextWritingDirection): * editing/ReplaceSelectionCommand.cpp: * editing/markup.cpp: 2012-02-17 David Barton MathML internals - embellished operators, getBase() accessor functions https://bugs.webkit.org/show_bug.cgi?id=78617 Reviewed by Eric Seidel. Define functions that return an unembellished "base", by omitting subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in subsequent patches both for correct operator stretching and simple code factoring. No new tests. * rendering/mathml/RenderMathMLBlock.h: (WebCore): (RenderMathMLBlock): (WebCore::RenderMathMLBlock::unembellishedOperator): * rendering/mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::unembellishedOperator): (WebCore): * rendering/mathml/RenderMathMLFraction.h: (RenderMathMLFraction): * rendering/mathml/RenderMathMLOperator.h: (WebCore::RenderMathMLOperator::unembellishedOperator): * rendering/mathml/RenderMathMLSubSup.cpp: (WebCore::RenderMathMLSubSup::base): (WebCore): (WebCore::RenderMathMLSubSup::unembellishedOperator): (WebCore::RenderMathMLSubSup::stretchToHeight): - renamed a variable for clarity, especially in later patches (WebCore::RenderMathMLSubSup::layout): - renamed a variable for clarity, especially in later patches * rendering/mathml/RenderMathMLSubSup.h: (RenderMathMLSubSup): * rendering/mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::base): (WebCore): (WebCore::RenderMathMLUnderOver::unembellishedOperator): (WebCore::RenderMathMLUnderOver::stretchToHeight): * rendering/mathml/RenderMathMLUnderOver.h: (RenderMathMLUnderOver): 2012-02-17 No'am Rosenthal [Qt][WK2] Allow opaque tiles https://bugs.webkit.org/show_bug.cgi?id=78809 Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag. Use reset/didReset instead of a virtual function that has to call the superclass. Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag, based on the source image. Since we now disable blending for opaque textures, we also have to make sure that we treat the depth buffer correctly and bring it back to its previous state. Reviewed by Kenneth Rohde Christiansen. No behavior changes. * platform/graphics/opengl/TextureMapperGL.cpp: (TextureMapperGLData): (WebCore::TextureMapperGLData::initStencil): (WebCore::TextureMapperGLData::TextureMapperGLData): (BitmapTextureGL): (WebCore::TextureMapperGL::beginPainting): (WebCore::TextureMapperGL::endPainting): (WebCore::TextureMapperGL::drawTexture): (WebCore::BitmapTextureGL::didReset): (WebCore::BitmapTextureGL::bind): (WebCore::TextureMapperGL::beginClip): * platform/graphics/texmap/TextureMapper.h: (WebCore::BitmapTexture::BitmapTexture): (WebCore::BitmapTexture::flags): (WebCore::BitmapTexture::didReset): (WebCore::BitmapTexture::reset): (BitmapTexture): * platform/graphics/texmap/TextureMapperBackingStore.cpp: (WebCore::TextureMapperTile::updateContents): (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded): (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): (WebCore::TextureMapperTiledBackingStore::updateContents): * platform/graphics/texmap/TextureMapperBackingStore.h: (TextureMapperTiledBackingStore): * platform/graphics/texmap/TextureMapperImageBuffer.cpp: (WebCore::BitmapTextureImageBuffer::didReset): (WebCore): * platform/graphics/texmap/TextureMapperImageBuffer.h: (BitmapTextureImageBuffer): 2012-02-17 Stephen Chenney Crash in SVGAnimateElement due to changed target https://bugs.webkit.org/show_bug.cgi?id=75096 Reviewed by Nikolas Zimmermann. The SVGAnimateElement object creates various internal objects depending on the type of property being animated, which depends on the target. These objects were not being recreated when the target changed, and crashes ensued. Now the SVGSMILElement provides a virtual method that is called when the target changes, and SVGAnimateElement updates its objects as necessary. We also deactivate the animation when the target changes, forcing recomputation of other derived objects. This change also removes various unnecessary calls to semi-expensive methods. Not only does this change fix the new test, it also fixes potential crashes in other tests that apparently never manifested before (but manifest when this new test is included in DRT). Test: svg/animations/svglength-animation-retarget-crash.html * svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::hasValidAttributeType): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::calculateFromAndByValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::calculateDistance): (WebCore): (WebCore::SVGAnimateElement::targetElementDidChange): * svg/SVGAnimateElement.h: (SVGAnimateElement): * svg/SVGAnimatedTypeAnimator.h: (SVGAnimatedTypeAnimator): (WebCore::SVGAnimatedTypeAnimator::type): * svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::targetElement): (WebCore::SVGSMILElement::resetTargetElement): (WebCore): * svg/animation/SVGSMILElement.h: (SVGSMILElement): (WebCore::SVGSMILElement::targetElementDidChange): 2012-02-17 David Hyatt https://bugs.webkit.org/show_bug.cgi?id=78934 Add the -webkit-line-align property to support the alignment of lines in the inline direction to the line grid. Reviewed by Dan Bernstein. Added fast/line-grid/line-align-parsing.html * css/CSSComputedStyleDeclaration.cpp: (WebCore): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore): (WebCore::CSSPrimitiveValue::operator LineAlign): * css/CSSProperty.cpp: (WebCore::CSSProperty::isInheritedProperty): * css/CSSPropertyNames.in: * css/CSSStyleApplyProperty.cpp: (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): * css/CSSValueKeywords.in: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::diff): * rendering/style/RenderStyle.h: * rendering/style/RenderStyleConstants.h: * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator==): * rendering/style/StyleRareInheritedData.h: (StyleRareInheritedData): 2012-02-17 Emil A Eklund Add FractionalLayoutSize for sub-pixel layout https://bugs.webkit.org/show_bug.cgi?id=78852 Reviewed by Eric Seidel. Add FractionalLayoutUnit version of Size class and a couple of conversion methods to the Int and Float versions of same. No new tests. * CMakeLists.txt: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/graphics/FloatPoint.cpp: (WebCore::FloatPoint::move): Add FractionalLayoutSize version of move. * platform/graphics/FloatPoint.h: * platform/graphics/FloatSize.cpp: (WebCore::FloatSize::FloatSize): Add FloatSize(FractionalLayoutSize) constructor. * platform/graphics/FloatSize.h: * platform/graphics/FractionalLayoutSize.cpp: Added. * platform/graphics/FractionalLayoutSize.h: Added. 2012-02-17 Enrica Casucci REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType data to the pasteboard. https://bugs.webkit.org/show_bug.cgi?id=78933 For this format, the data needs to be placed in the pasteboard as array of arrays of strings. Currently is it stored as array of strings, which causes the code that uses this format to break. Reviewed by Ryosuke Niwa. * platform/mac/PlatformPasteboardMac.mm: (WebCore::PlatformPasteboard::setPathnamesForType): 2012-02-17 Abhishek Arya Incorrect placement of a new child when beforeChild and its previous sibling are in the same table. https://bugs.webkit.org/show_bug.cgi?id=78269 Reviewed by Julien Chaffraix. Tests: fast/table/table-cell-split.html fast/table/table-row-split.html fast/table/table-section-split-with-after-content.html fast/table/table-section-split.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add call to splitTablePartsAroundChild to take care of splitting the table first if the child is part of table. (WebCore::markTableForSectionAndCellRecalculation): add helper to mark table for complete relayout by invalidating sections and cells. (WebCore): (WebCore::moveAllTableChildrenTo): moves children to another table. (WebCore::RenderBlock::splitTablePartsAroundChild): split table child and its next siblings into a new table. This allows adding a new non-table child between the tables. (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls splitTablePartsAroundChild to see if we need to split the table for adding this new child. * rendering/RenderBlock.h: (RenderBlock): * rendering/RenderObject.cpp: (WebCore::RenderObject::createAnonymousTable): add helper for creating anonymous table. (WebCore): (WebCore::RenderObject::addChild): use the new helper for creating anonymous table. * rendering/RenderObject.h: (WebCore): (RenderObject): (WebCore::RenderObject::isTablePart): add helper to tell if the object is a table part. 2012-02-17 Andreas Kling Element: Inline style selector and AX invalidation in attributeChanged(). Reviewed by Antti Koivisto. Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged() methods into Element::attributeChanged(). They were separated when we needed them in StyledElement::attributeChanged(), but that's no longer the case. * dom/Element.cpp: (WebCore::Element::attributeChanged): * dom/Element.h: 2012-02-17 David Reveman [Chromium] Texture eviction doesn't show up in traces. https://bugs.webkit.org/show_bug.cgi?id=78851 Reviewed by James Robinson. Add TextureManager::evictTexture() function with TRACE statement so that texture eviction shows up in traces. No new tests. * platform/graphics/chromium/TextureManager.cpp: (WebCore::TextureManager::evictTexture): (WebCore): (WebCore::TextureManager::reduceMemoryToLimit): * platform/graphics/chromium/TextureManager.h: (TextureManager): 2012-02-17 Kalev Lember Remove unused parameters from WTF threading API https://bugs.webkit.org/show_bug.cgi?id=78389 Reviewed by Adam Roben. waitForThreadCompletion() had an out param 'void **result' to get the 'void *' returned by ThreadFunction. However, the implementation in ThreadingWin.cpp ignored the out param, not filling it in. This had led to a situation where none of the client code made use of the param and just ignored it. To clean this up, the patch changes the signature of ThreadFunction to return void instead of void* and drops the the unused 'void **result' parameter from waitForThreadCompletion. Also, all client code is updated for the API change. As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even though the change only affects internal API, Safari is using it directly and we'll need to keep the old versions around for ABI compatibility. For this, the patch adds compatibility wrappers with the old ABI. * bindings/js/GCController.cpp: (WebCore::collect): (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging): * fileapi/FileThread.cpp: (WebCore::FileThread::fileThreadStart): (WebCore::FileThread::runLoop): * fileapi/FileThread.h: (FileThread): * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::close): (WebCore::IconDatabase::iconDatabaseSyncThreadStart): (WebCore::IconDatabase::iconDatabaseSyncThread): (WebCore::IconDatabase::syncThreadMainLoop): * loader/icon/IconDatabase.h: (IconDatabase): * page/scrolling/ScrollingThread.cpp: (WebCore::ScrollingThread::threadCallback): * page/scrolling/ScrollingThread.h: (ScrollingThread): * platform/audio/HRTFDatabaseLoader.cpp: (WebCore::databaseLoaderEntry): (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion): * platform/audio/ReverbConvolver.cpp: (WebCore::backgroundThreadEntry): (WebCore::ReverbConvolver::~ReverbConvolver): * platform/network/cf/LoaderRunLoopCF.cpp: (WebCore::runLoaderThread): * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::databaseThreadStart): (WebCore::DatabaseThread::databaseThread): * storage/DatabaseThread.h: (DatabaseThread): * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::threadEntryPointCallback): (WebCore::LocalStorageThread::threadEntryPoint): (WebCore::LocalStorageThread::terminate): * storage/LocalStorageThread.h: (LocalStorageThread): * webaudio/AsyncAudioDecoder.cpp: (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder): (WebCore::AsyncAudioDecoder::threadEntry): * webaudio/AsyncAudioDecoder.h: (AsyncAudioDecoder): * webaudio/OfflineAudioDestinationNode.cpp: (WebCore::OfflineAudioDestinationNode::uninitialize): (WebCore::OfflineAudioDestinationNode::renderEntry): * webaudio/OfflineAudioDestinationNode.h: (OfflineAudioDestinationNode): * workers/WorkerThread.cpp: (WebCore::WorkerThread::workerThreadStart): (WebCore::WorkerThread::workerThread): * workers/WorkerThread.h: (WorkerThread): 2012-02-17 Robert Hogan AppleMac Build fix for r108111 Remove variable that is now unused. Unreviewed, build fix. * rendering/RenderBlockLineLayout.cpp: (WebCore::alwaysRequiresLineBox): Remove lineInfo (WebCore::requiresLineBox): (WebCore::RenderBlock::LineBreaker::nextLineBreak): 2012-02-17 Michal Mocny [chromium] GL_CHROMIUM_gpu_memory_manager extension https://bugs.webkit.org/show_bug.cgi?id=77155 Reviewed by James Robinson. * platform/graphics/chromium/Extensions3DChromium.h: (GpuMemoryAllocationChangedCallbackCHROMIUM): (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM): (Extensions3DChromium): 2012-01-23 Robert Hogan REGRESSION: empty span creates renders with non-zero height https://bugs.webkit.org/show_bug.cgi?id=76465 Reviewed by David Hyatt. Tests: fast/css/empty-span.html fast/css/non-empty-span.html Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some other content in the line. So only create line boxes for such elements on lines that are not empty. This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line. It also fixes cases where lines with content that had a leading empty inline element weren't respecting the vertical alignment or font-height of the empty inline. * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty. (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size will need a linebox if the rest of the line is not empty. (WebCore): (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox. (WebCore::requiresLineBox): (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark the line non-empty - otherwise hold off. 2012-02-17 Raymond Toy RealtimeAnalyserNode does not consistently respect .minDecibels https://bugs.webkit.org/show_bug.cgi?id=78729 Make use of m_minDecibel consistent. Clean up some style issues with names of local variables and style issues with float constants. Reviewed by Chris Rogers. No new tests because the changes are cosmetic for style issues. * webaudio/RealtimeAnalyser.cpp: (WebCore): (WebCore::RealtimeAnalyser::doFFTAnalysis): (WebCore::RealtimeAnalyser::getFloatFrequencyData): (WebCore::RealtimeAnalyser::getByteFrequencyData): (WebCore::RealtimeAnalyser::getByteTimeDomainData): 2012-02-17 Abhishek Arya :before content incorrectly placed in continuation when we don't have a first child. https://bugs.webkit.org/show_bug.cgi?id=78380 Reviewed by David Hyatt. Test: fast/css-generated-content/before-content-continuation-chain.html * rendering/RenderObjectChildList.cpp: (WebCore::RenderObjectChildList::updateBeforeAfterContent): 2012-02-17 Mihnea Ovidenie CSS regions enabled by default https://bugs.webkit.org/show_bug.cgi?id=78525 Reviewed by David Hyatt. Test: fast/regions/css-regions-disabled.html Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled). CSSRegions are still enabled by default. In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality. * WebCore.xcodeproj/project.pbxproj: * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::cssRegionsEnabled): (WebCore): (WebCore::CSSParser::parseFlowThread): (WebCore::CSSParser::parseRegionThread): (WebCore::CSSParser::createRegionRule): * css/CSSParser.h: * dom/Document.cpp: (WebCore::Document::cssRegionsEnabled): (WebCore): (WebCore::Document::webkitGetFlowByName): * dom/Document.h: (Document): * dom/Element.cpp: (WebCore::Element::webkitRegionOverflow): * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded): * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: (WebCore::Settings::setCSSRegionsEnabled): (WebCore::Settings::cssRegionsEnabled): (Settings): * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): * rendering/RenderObject.cpp: (WebCore::RenderObject::createObject): * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): 2012-02-17 Mihnea Ovidenie [CSSRegions]Implement NamedFlow::overflow https://bugs.webkit.org/show_bug.cgi?id=78880 Reviewed by David Hyatt. Test: fast/regions/webkit-named-flow-overflow.html * dom/WebKitNamedFlow.cpp: (WebCore::WebKitNamedFlow::WebKitNamedFlow): (WebCore::WebKitNamedFlow::overflow): (WebCore): * dom/WebKitNamedFlow.h: (WebCore): (WebCore::WebKitNamedFlow::create): (WebKitNamedFlow): * dom/WebKitNamedFlow.idl: * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::ensureNamedFlow): (WebCore::RenderFlowThread::computeOverflowStateForRegions): * rendering/RenderFlowThread.h: 2012-02-17 Joe Thomas flex-wrap:nowrap should be flex-wrap:none https://bugs.webkit.org/show_bug.cgi?id=78772 As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none. Reviewed by Ojan Vafai. * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EFlexWrap): * css/CSSValueKeywords.in: * rendering/style/RenderStyle.h: * rendering/style/RenderStyleConstants.h: 2012-02-17 Enrica Casucci Refactor DragData class to use PlatformStrategies in the Mac implementation. https://bugs.webkit.org/show_bug.cgi?id=78768 Reviewed by Darin Adler. No new tests. No behavior change. * WebCore.exp.in: Added new exported method of the PlatformPasteboard class. * platform/DragData.h: (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard. * platform/PasteboardStrategy.h: Added color() method. * platform/PlatformPasteboard.h: Ditto. * platform/mac/ClipboardMac.mm: (WebCore::Clipboard::create): Changed to use pasteboardName() method. * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName and the pasteboardStrategy() methods. (WebCore::DragData::DragData): (WebCore::DragData::canSmartReplace): (WebCore::DragData::containsColor): (WebCore::DragData::containsFiles): (WebCore::DragData::numberOfFiles): (WebCore::DragData::asFilenames): (WebCore::DragData::containsPlainText): (WebCore::DragData::asPlainText): (WebCore::DragData::asColor): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::asURL): (WebCore::DragData::asFragment): * platform/mac/PlatformPasteboardMac.mm: (WebCore::PlatformPasteboard::color): Added implementation of the color() method. 2012-02-17 Nate Chapin [Chromium mac] Cursors and background images disappear. https://bugs.webkit.org/show_bug.cgi?id=78834 The issue occurs because a CachedImage sees that it has no clients and decide it is safe to purge its m_data buffer. However, StyleCachedImage is holding a CachedResourceHandle to the CachedImage, and it can still add a client later. If it does so, the CachedImage says everything is loaded but has no data. Reviewed by Adam Barth. No new tests, since the known repros have resisted reduction. Tested manually with chrome.angrybirds.com, redfin.com and a couple of other sites. * rendering/style/StyleCachedImage.cpp: * rendering/style/StyleCachedImage.h: Ensure the underlying CachedImage has a client for the lifetime of the StyleCachedImage and doesn't purge its buffer. Call addClient(this) in the constructor and removeClient(this) in the destructor, then ignore all cache callbacks. 2012-02-17 Julien Chaffraix Table cell's anonymous wrappers are left in the tree, impacting our layout https://bugs.webkit.org/show_bug.cgi?id=7180 Reviewed by David Hyatt. Tests: fast/table/table-switch-cell-position-bad-layout-expected.html fast/table/table-switch-cell-position-bad-layout.html This patch implements cell's anonymous wrapper removal at detach time. Trimming the render tree when we remove objects from it would be more complex to generalize as several objects override the behavior to do their own clean-ups. This would also open more potential for programming errors. This change is limited to table cells' as a simple step towards fixing bug 52123 and more generally eliminate some anonymous wrappers from the tree at detach time. * dom/Node.cpp: (WebCore::Node::detach): Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need to clean up any anonymous wrappers on detach. * rendering/RenderObject.cpp: (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers): Added this method to wrap destroy() call and trim the render tree. To avoid slowing down detach in some cases, added a fast path. * rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers. 2012-02-17 Rob Buis ASSERT (and crash) with dynamically moved https://bugs.webkit.org/show_bug.cgi?id=64839 Reviewed by Antti Koivisto. Reset the style declaration when rmeoving the font-face element from the document. Test: svg/custom/font-face-move.svg * svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::removedFromDocument): 2012-02-17 Martin Robinson Fix some warnings encountered during the GTK+ build https://bugs.webkit.org/show_bug.cgi?id=78911 Reviewed by Xan Lopez. No new tests. These are just fixes for warnings. * page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on a size_t type. Use size_t for iterating over members of a vector. * platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary. (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto. * platform/graphics/texmap/TextureMapperLayer.cpp: Ditto. (WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto. (WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto. (WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto. 2012-02-17 Tim Dresser [chromium] Refactor video drawing to be more data driven https://bugs.webkit.org/show_bug.cgi?id=76720 Reviewed by James Robinson. CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads. These quads are then drawn by LayerRendererChromium. CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads. CCLayerImpl::didDraw() is called directly after all drawing has been completed. CCLayerImpl::draw has been removed. willDraw and didDraw are used to handle interaction with the VideoFrameProvider in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and didDraw returns it. A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers. This test ensures that CCLayerImpl::didDraw() is called on all layers, including layers on different render surfaces. As this was a refactor, no other tests were added. * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::drawYUV): (WebCore): (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad): (WebCore::LayerRendererChromium::drawRGBA): (WebCore::LayerRendererChromium::drawNativeTexture): (WebCore::LayerRendererChromium::copyFrameToTextures): (WebCore::LayerRendererChromium::copyPlaneToTexture): (WebCore::LayerRendererChromium::drawVideoQuad): * platform/graphics/chromium/LayerRendererChromium.h: (LayerRendererChromium): * platform/graphics/chromium/cc/CCLayerImpl.cpp: * platform/graphics/chromium/cc/CCLayerImpl.h: (WebCore::CCLayerImpl::didDraw): (CCLayerImpl): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): (WebCore::CCLayerTreeHostImpl::drawLayers): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: (CCLayerTreeHostImpl): * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: (WebCore::CCVideoDrawQuad::create): (WebCore::CCVideoDrawQuad::CCVideoDrawQuad): * platform/graphics/chromium/cc/CCVideoDrawQuad.h: (CCVideoDrawQuad): (WebCore::CCVideoDrawQuad::textures): (WebCore::CCVideoDrawQuad::frame): (WebCore::CCVideoDrawQuad::format): * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: (WebCore::CCVideoLayerImpl::willDraw): (WebCore::CCVideoLayerImpl::appendQuads): (WebCore::CCVideoLayerImpl::didDraw): (WebCore::CCVideoLayerImpl::computeVisibleSize): * platform/graphics/chromium/cc/CCVideoLayerImpl.h: (CCVideoLayerImpl): (WebCore::CCVideoLayerImpl::providerMutex): (WebCore::CCVideoLayerImpl::provider): (Texture): 2012-02-17 Stephen Chenney Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree https://bugs.webkit.org/show_bug.cgi?id=77639 Reviewed by Nikolas Zimmermann. Fix a SVG crash in Release builds, although it still crashes in Debug builds. The crash occurred when an SVG use element attempted to reference a style element while the file contained an error causing the error banner to display. The fix is to prevent SVGUseElement from recalculating style during tree building and return immediately when style is recalculated and the tree is building. Test: svg/custom/use-referencing-style-crash.svg * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built. (WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree is being built and we are not yet ready for style update. 2012-02-17 Ilya Tikhonovsky Unreviewed, rolling out r108077. http://trac.webkit.org/changeset/108077 https://bugs.webkit.org/show_bug.cgi?id=78390 it broke compilation. * inspector/CodeGeneratorInspector.py: * inspector/InjectedScript.cpp: (WebCore::InjectedScript::evaluateOnCallFrame): (WebCore::InjectedScript::getFunctionDetails): (WebCore::InjectedScript::getProperties): (WebCore::InjectedScript::wrapCallFrames): * inspector/InjectedScript.h: (InjectedScript): * inspector/InspectorDebuggerAgent.cpp: (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): (WebCore::InspectorDebuggerAgent::resolveBreakpoint): (WebCore::InspectorDebuggerAgent::getFunctionDetails): (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): (WebCore::InspectorDebuggerAgent::currentCallFrames): (WebCore::InspectorDebuggerAgent::didParseSource): * inspector/InspectorDebuggerAgent.h: (InspectorDebuggerAgent): 2012-02-17 Florin Malita chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc) https://bugs.webkit.org/show_bug.cgi?id=74858 Reviewed by Nikolas Zimmermann. Tests: svg/custom/tref-remove-target-crash-expected.svg svg/custom/tref-remove-target-crash.svg Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal, cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to the target element to simplify the implementation and reduce the scope. * svg/SVGTRefElement.cpp: (WebCore::TargetListener::create): (WebCore::TargetListener::cast): (WebCore::TargetListener::clear): (WebCore::TargetListener::TargetListener): (WebCore::TargetListener::operator==): (WebCore::TargetListener::handleEvent): (WebCore::SVGTRefElement::detachTarget): (WebCore::SVGTRefElement::buildPendingResource): * svg/SVGTRefElement.h: 2012-02-17 Simon Fraser Fix the build after r108077. * inspector/CodeGeneratorInspector.py: (RawTypes.Any.generate_validate_method): 2012-02-17 Simon Fraser Avoid using a transparency layer for rgba() border drawing when possible https://bugs.webkit.org/show_bug.cgi?id=63176 Reviewed by Dan Bernstein. The non-radiused border drawing code would use a transparency layer when drawing any one or more borders with alpha colors. However, we only need to use a transparency layer when there is a corner join between the borders being rendered with any one color, so add a utility function includesAdjacentEdges() that can tell us that, and use it to avoid making extraneous transparency layers. Optimization only, no new tests. * rendering/RenderBoxModelObject.cpp: (WebCore::includesAdjacentEdges): (WebCore): (WebCore::RenderBoxModelObject::paintTranslucentBorderSides): 2012-02-17 Pavel Feldman Not reviewed: Qt minimal build fix. * inspector/InjectedScript.h: (WebCore): 2012-02-17 Peter Rybin Web Inspector: Switch Debugger agent to TypeBuilder https://bugs.webkit.org/show_bug.cgi?id=78390 Reviewed by Vsevolod Vlasov. Client code is switched to TypeBuilder. * inspector/CodeGeneratorInspector.py: * inspector/InjectedScript.cpp: (WebCore::InjectedScript::evaluateOnCallFrame): (WebCore::InjectedScript::getFunctionDetails): (WebCore::InjectedScript::getProperties): (WebCore::InjectedScript::wrapCallFrames): * inspector/InjectedScript.h: (InjectedScript): * inspector/InspectorDebuggerAgent.cpp: (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): (WebCore::InspectorDebuggerAgent::resolveBreakpoint): (WebCore::InspectorDebuggerAgent::getFunctionDetails): (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): (WebCore::InspectorDebuggerAgent::currentCallFrames): (WebCore::InspectorDebuggerAgent::didParseSource): * inspector/InspectorDebuggerAgent.h: (InspectorDebuggerAgent): 2012-02-17 Pavel Feldman Web Inspector: hide color picker on selected node update. https://bugs.webkit.org/show_bug.cgi?id=78896 Reviewed by Vsevolod Vlasov. * inspector/front-end/Spectrum.js: (WebInspector.Spectrum.prototype.get visible): (WebInspector.Spectrum.prototype.toggle): (WebInspector.Spectrum.prototype.show): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update): (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): 2012-02-17 Pavel Feldman Web Inspector: check undo-redo boundaries based on current action index, not history size. https://bugs.webkit.org/show_bug.cgi?id=78895 Reviewed by Vsevolod Vlasov. Tests: inspector/elements/perform-undo-undo.html inspector/styles/perform-undo-perform-of-mergable-action.html * inspector/InspectorHistory.cpp: (WebCore::InspectorHistory::perform): 2012-02-17 Ilya Tikhonovsky Unreviewed, rolling out r108071. http://trac.webkit.org/changeset/108071 https://bugs.webkit.org/show_bug.cgi?id=77155 chromium-mac compilation failed * platform/graphics/chromium/Extensions3DChromium.h: 2012-02-17 Michal Mocny [chromium] GL_CHROMIUM_gpu_memory_manager extension https://bugs.webkit.org/show_bug.cgi?id=77155 Reviewed by James Robinson. * platform/graphics/chromium/Extensions3DChromium.h: (GpuMemoryAllocationChangedCallbackCHROMIUM): (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM): (Extensions3DChromium): 2012-02-17 Raphael Kubo da Costa [CMake, EFL] Unreviewed, fix the build when building with SHARED_CORE=ON after r107820. RunLoopEfl.cpp has not been upstreamed yet, and building only RunLoop.cpp created an .so with some missing, unimplemented symbols. The BlackBerry port seems to be in the same situation. The best solution for now is to build RunLoop.cpp only on the WinCE port. * CMakeLists.txt: Remove RunLoop.cpp from the list of files to build. * PlatformWinCE.cmake: Add RunLoop.cpp to the list of files to build. 2012-02-17 Pavel Feldman Web Inspector: a bit of color picker polish https://bugs.webkit.org/show_bug.cgi?id=78892 - Fixed computed style swatch - Removed color: caption - Rendered value as source code, user-selectable - Removed scroller gap Reviewed by Yury Semikhatsky. * English.lproj/localizedStrings.js: * inspector/front-end/Popover.js: (WebInspector.Popover.prototype.setCanShrink): (WebInspector.Popover.prototype._positionElement): * inspector/front-end/Spectrum.js: * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement): (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): * inspector/front-end/elementsPanel.css: (.spectrum-container): (.spectrum-display-value): (.spectrum-range-container): * inspector/front-end/popover.css: (.popover .content.fixed-height): 2012-02-17 Pavel Feldman Web Inspector: color picker does not allow changing the color. https://bugs.webkit.org/show_bug.cgi?id=78886 Reviewed by Vsevolod Vlasov. * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype._showPopover.showPopover): * inspector/front-end/Popover.js: (WebInspector.Popover.prototype.setCanShrink): (WebInspector.Popover.prototype._positionElement): * inspector/front-end/Settings.js: * inspector/front-end/Spectrum.js: * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane): (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): 2012-02-17 Pavel Feldman Web Inspector: new image preview has poorly positioned popover arrow. https://bugs.webkit.org/show_bug.cgi?id=78884 Reviewed by Vsevolod Vlasov. * inspector/front-end/Popover.js: (WebInspector.Popover.prototype._positionElement): * inspector/front-end/utilities.js: (Element.prototype.boxInWindow): 2012-02-17 Pavel Feldman Web Inspector: enable "Single click CSS editing" experiment by default. https://bugs.webkit.org/show_bug.cgi?id=78881 Reviewed by Vsevolod Vlasov. * inspector/front-end/elementsPanel.css: (.styles-section .properties .enabled-button): 2012-02-17 Pavel Feldman Web Inspector: split innerUpdate into rebuildUpdate and refreshUpdate, make computed styles load lazily. https://bugs.webkit.org/show_bug.cgi?id=78827 Reviewed by Vsevolod Vlasov. * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update): (WebInspector.StylesSidebarPane.prototype._refreshUpdate.computedStyleCallback): (WebInspector.StylesSidebarPane.prototype._refreshUpdate): (WebInspector.StylesSidebarPane.prototype._rebuildUpdate): (WebInspector.StylesSidebarPane.prototype._validateNode): (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged): (WebInspector.StylesSidebarPane.prototype._attributesModified): (WebInspector.StylesSidebarPane.prototype._attributesRemoved): (WebInspector.StylesSidebarPane.prototype._styleInvalidated): (WebInspector.StylesSidebarPane.prototype._innerRefreshUpdate): (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate): (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest): (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane): (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener): (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged): (WebInspector.ComputedStyleSidebarPane.prototype.expand): (WebInspector.StylePropertyTreeElement.prototype): 2012-02-17 No'am Rosenthal [Qt][WK2] Allow partial updates https://bugs.webkit.org/show_bug.cgi?id=78824 BitmapTextureGL should not zero-fill the textures when resetting. This was needed in the previous buffer management system, where texture were not completely filled by the backing store. Reviewed by Simon Hausmann. No new behavior. * platform/graphics/opengl/TextureMapperGL.cpp: (BitmapTextureGL): (WebCore::texSubImage2DResourceSafe): (WebCore): (WebCore::BitmapTextureGL::reset): 2012-02-17 Yosifumi Inoue [Forms] Integrate InputType::dispatchChangeEventInResponseToSetValue into InputType::setValue https://bugs.webkit.org/show_bug.cgi?id=78873 Reviewed by Kent Tamura. This patch moves event dispatch logic to InputType and TextFieldInputType from HTMLInputElement and merge dispatchChangeEventInResponseToSetValue to setValue. No new tests. No change in behavior. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValue): Move dispatch logic to InputType and TextFieldInput. * html/InputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation. * html/InputType.h: Remove dispatchChangeEventInResponseToSetValue declaration. (WebCore::InputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. * html/TextFieldInputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation. * html/TextFieldInputType.h: Remove dispatchChangeEventInResponseToSetValue declaration. (WebCore::TextFieldInputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. Stop dispatching event in InputType::setValue. * html/HTMLTextFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent to public from protected for accessing from InputType class. 2012-02-17 Yury Semikhatsky Unreviewed. Mac build fix after r108047. * WebCore.xcodeproj/project.pbxproj: 2012-02-16 Andreas Kling Removing the last presentation attribute should result in a null attributeStyle(). Reviewed by Antti Koivisto. If the collectStyleForAttribute() pass in updateAttributeStyle() doesn't encounter any respected presentation attributes, set a null attributeStyle() instead of an empty one. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::collectMatchingRulesForList): * dom/StyledElement.cpp: (WebCore::StyledElement::updateAttributeStyle): 2012-02-16 Yury Semikhatsky Web Inspector: use static counters for estimation of allocated Documents, Nodes and JS EventListeners https://bugs.webkit.org/show_bug.cgi?id=78825 Introduced static counters of allocated Documents, Nodes and JS EventListeners. Their values are displayed on the Timeline panel. Reviewed by Pavel Feldman. * CMakeLists.txt: * English.lproj/localizedStrings.js: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::~JSEventListener): * bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::V8AbstractEventListener): (WebCore::V8AbstractEventListener::~V8AbstractEventListener): * dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::~Document): * dom/Document.h: (WebCore::Node::Node): * dom/Node.cpp: (WebCore::Node::~Node): * inspector/InspectorAllInOne.cpp: * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): * inspector/InspectorCounters.cpp: Added. (WebCore): (WebCore::InspectorCounters::counterValue): * inspector/InspectorCounters.h: Added. (WebCore): (InspectorCounters): (WebCore::InspectorCounters::incrementCounter): (WebCore::InspectorCounters::decrementCounter): * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::didCallFunction): (WebCore::InspectorTimelineAgent::didDispatchEvent): (WebCore::InspectorTimelineAgent::didWriteHTML): (WebCore::InspectorTimelineAgent::didFireTimer): (WebCore::InspectorTimelineAgent::didEvaluateScript): (WebCore::InspectorTimelineAgent::setHeapSizeStatistic): (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): * inspector/InspectorTimelineAgent.h: (WebCore): (WebCore::InspectorTimelineAgent::create): (InspectorTimelineAgent): * inspector/front-end/MemoryStatistics.js: (WebInspector.MemoryStatistics): (WebInspector.MemoryStatistics.prototype.addTimlineEvent): (WebInspector.MemoryStatistics.prototype._draw.getDocumentCount): (WebInspector.MemoryStatistics.prototype._refreshCurrentValues): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded): 2012-02-16 Cris Neckar Correct a misleading comment regarding string delimiters in CSS parsing. https://bugs.webkit.org/show_bug.cgi?id=78521 Reviewed by Zoltan Herczeg. * css/CSSParser.cpp: (WebCore::CSSParser::lex): 2012-02-16 Martin Robinson Fix the TextureMapper build for GTK+. No new tests. This is just a build fix. * GNUmakefile.list.am: Add missing files to the build and change spaces to tabs. 2012-02-16 Daniel Bates Add ENABLE(STYLE_SCOPED) around HTMLStyleElement::m_isRegisteredWithScopingNode The instance variable HTMLStyleElement::m_isRegisteredWithScopingNode is only referenced from within ENABLE(STYLE_SCOPED)-guarded code. We should add this guard around its declaration. * html/HTMLStyleElement.h: (HTMLStyleElement): 2012-02-16 Shinya Kawanaka [v8] v8 doesn't assume to do 'new WebKitShadowRoot(host)' https://bugs.webkit.org/show_bug.cgi?id=78875 Reviewed by Kentaro Hara. Since v8 does not assume that we do 'new WebkitShadowRoot(host)', a wrapper object for new WebKitShadowRoot(host) was saved in DOMObject storage instead of DOMNode storage. CodeGenerator should handle with DOMNode correctly to solve the problem. Test: fast/dom/shadow/shadow-root-new.html * bindings/scripts/CodeGeneratorV8.pm: (GenerateConstructorCallback): 2012-02-16 Ilya Tikhonovsky Unreviewed rollout r107952 because it broke shadow-boundary-events.html and related-target-focusevent.html on mac. see http://webkit.org/b/78832 * CMakeLists.txt: * DerivedSources.cpp: * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.xcodeproj/project.pbxproj: * dom/DOMAllInOne.cpp: * dom/EventDispatchMediator.cpp: (WebCore::FocusEventDispatchMediator::create): (WebCore): (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator): (WebCore::FocusEventDispatchMediator::dispatchEvent): (WebCore::BlurEventDispatchMediator::create): (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator): (WebCore::BlurEventDispatchMediator::dispatchEvent): * dom/EventDispatchMediator.h: (FocusEventDispatchMediator): (WebCore): (BlurEventDispatchMediator): * dom/EventFactory.in: * dom/FocusEvent.cpp: Removed. * dom/FocusEvent.h: Removed. * dom/FocusEvent.idl: Removed. * dom/Node.cpp: (WebCore::Node::dispatchFocusInEvent): (WebCore::Node::dispatchFocusOutEvent): * dom/UIEvent.cpp: (WebCore::FocusInEventDispatchMediator::create): (WebCore): (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator): (WebCore::FocusInEventDispatchMediator::dispatchEvent): (WebCore::FocusOutEventDispatchMediator::create): (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator): (WebCore::FocusOutEventDispatchMediator::dispatchEvent): * dom/UIEvent.h: (FocusInEventDispatchMediator): (WebCore): (FocusOutEventDispatchMediator): * page/DOMWindow.idl: 2012-02-16 Mark Hahnenberg Another fix for viewport tests No new tests. * dom/ViewportArguments.cpp: (WebCore::numericPrefix): When we don't parse a number, we could either be trying to parse junk, which returns NaN, or we could get an empty string, which returns 0, so we need to account for that in the assert. 2012-02-16 Mark Hahnenberg Another build fix for viewport tests No new tests. * dom/ViewportArguments.cpp: (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to parse a number using charactersToFloatIgnoringJunk, so we need to assert that we have NaN rather than 0. 2012-02-16 Alexandre Elias [chromium] Bundle page scale factor and limits in CCLayerTreeHost https://bugs.webkit.org/show_bug.cgi?id=78762 Setting page scale factor and its limits in separate methods may cause clamping bugs if one of them makes it to the impl thread before the other. Change the API to bundle them together, which matches the existing impl-side interface. Reviewed by James Robinson. No new tests (API change will disallow this type of bug). * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::CCLayerTreeHost::CCLayerTreeHost): (WebCore::CCLayerTreeHost::finishCommitOnImplThread): (WebCore::CCLayerTreeHost::setPageScaleFactorAndLimits): * platform/graphics/chromium/cc/CCLayerTreeHost.h: (CCLayerTreeHost): 2012-02-16 Kentaro Hara Unreviewed. Rebaselined run-bindings-tests results. * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::JSTestEventConstructorConstructor::finishCreation): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::finishCreation): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::JSTestObjConstructor::finishCreation): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation): 2012-02-16 Sami Kyostila [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly https://bugs.webkit.org/show_bug.cgi?id=77464 Use bounds() instead of contentBounds() to calculate the region to mark as needing painting in LayerChromium::setNeedsDisplay(). contentBounds() includes contents scale, while bounds() does not. Since this change also means that TiledLayerChromium::setNeedsDisplayRect() is given an unscaled rectangle, modify that function to scale the rectangle before using it to invalidate the underlying tiles. Reviewed by James Robinson. Tests: New tests added to LayerChromium and TiledLayerChromium unit tests. * platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::setNeedsDisplay): * platform/graphics/chromium/TiledLayerChromium.cpp: (WebCore::TiledLayerChromium::setNeedsDisplayRect): 2012-02-16 Raymond Liu Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode https://bugs.webkit.org/show_bug.cgi?id=76509 Reviewed by Eric Seidel. No new tests required. * webaudio/AudioDestinationNode.h: * webaudio/AudioNode.h: (WebCore::AudioNode::sampleRate): * webaudio/DefaultAudioDestinationNode.cpp: (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode): * webaudio/DefaultAudioDestinationNode.h: * webaudio/OfflineAudioDestinationNode.cpp: (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode): * webaudio/OfflineAudioDestinationNode.h: (WebCore::OfflineAudioDestinationNode::sampleRate): 2012-02-16 Shinya Kawanaka [Refactoring] Remove location from NodeRenderingContext. https://bugs.webkit.org/show_bug.cgi?id=78796 Reviewed by Hajime Morita. This is a simple refactoring to remove m_location from NodeRenderingContext. TreeLocation is merged into AttachPhase like the following. LocationUndertermined -> Calculating LocationNotInTree -> AttachingNotInTree LocationLightChild -> AttachingStraight / AttachingNotDistributed / AttachingDistributed LocationShadowChild -> AttachingStraight / AttachingShadowChild / AttachingFallback We have renamed the enum items of AttachPhase, because not only but also will use the phases. Basically these words are taken from Shadow DOM spec. 'Calculating' means NodeRenderingContext is used not for attaching but for calculating RenderObject. No new tests, no change in behavior. * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::NodeRenderingContext): (WebCore::NodeRenderingContext::nextRenderer): (WebCore::NodeRenderingContext::previousRenderer): (WebCore::NodeRenderingContext::parentRenderer): (WebCore::NodeRenderingContext::shouldCreateRenderer): * dom/NodeRenderingContext.h: (NodeRenderingContext): (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle): 2012-02-16 Kent Tamura Run sort-Xcode-project-file. * WebCore.xcodeproj/project.pbxproj: Sorted. 2012-02-16 Mark Hahnenberg Another build fix for viewport tests No new tests. * dom/ViewportArguments.cpp: (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to parse a number using charactersToFloatIgnoringJunk, so we need to assert that we have NaN rather than 0. 2012-02-15 Michael Nordman [chromium] Fix bugs in the implementation of WebDatabase::closeDatabaseImmediately. https://bugs.webkit.org/show_bug.cgi?id=78841 WebDatabase now delegates this function entirely to DatabaseTracker, a new closeDatabasesImmediately() has been added for that purpose. That method posts tasks to the appropiate context thread for each database instance that should be closed immediately. The DatabaseTracker getAllOpenDatabases() method has been removed from the chromium impl because it's unsafe, refs cannot be safely taken on AbstractDatabase instances in the tracker's collection of open databases. Add a message to the console log when a database is forcibly closed. Transactions initiated on a database instance that has been forcibly closed complete with a transaction error callback. This is part of resolving http://crbug.com/98939 Reviewed by David Levin. No new layout tests, there is no common code way to closeImmediately. We have coverage for this in py automation tests. * platform/sql/SQLiteDatabase.cpp: The closeImmediately code path can result in the underlying sqlite3 handle being closed earlier than usual and trip some assertions. Updated the assertions to no longer trigger in this early close case. (WebCore::SQLiteDatabase::close): (WebCore::SQLiteDatabase::setMaximumSize): * platform/sql/SQLiteDatabase.h: (WebCore::SQLiteDatabase::sqlite3Handle): * storage/Database.cpp: (WebCore::Database::closeImmediately): Modified to only be called on the context thread and to log a console message. (WebCore::Database::changeVersion): Use the private runTransaction helper method. (WebCore::Database::transaction): Pass a new param required by the runTransaction helper. (WebCore::Database::readTransaction): Ditto. (WebCore::callTransactionErrorCallback): Used to defer invocation of the error callback. (WebCore::Database::runTransaction): Modified to detect when the database has been closed, and to invoke the error callback in that case. This also avoids creating a reference cycle between a newly created transaction and the database that previously existed due to a transction being added and never removed from the Q while in this state. * storage/Database.h: * storage/DatabaseSync.cpp: (WebCore::DatabaseSync::closeImmediately): Modified to only be called on the context thread and to log a console message. * storage/DatabaseTracker.h: * storage/chromium/DatabaseTrackerChromium.cpp: Posts tasks to the appropiate context thread for execution without bumping AbstractDatabase refcounts. (DatabaseTracker::CloseOneDatabaseImmediatelyTask): (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create): (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::performTask): (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask): (WebCore::DatabaseTracker::closeDatabasesImmediately): (WebCore::DatabaseTracker::closeOneDatabaseImmediately): 2012-02-16 Dana Jansens [Chromium] Occlusion tracking with CSS filters https://bugs.webkit.org/show_bug.cgi?id=77498 Reviewed by James Robinson. The new CSS filter support within the compositor changes how occlusion tracking needs to function. A filter can change the alpha value of pixels, making an otherwise opaque pixel no longer so. Secondly, a filter may move color values around on a surface, which can cause otherwise occluded areas to become visible and require painting. New unit tests: CCLayerTreeHostTest.cpp Tests: compositing/culling/filter-occlusion-alpha-large.html compositing/culling/filter-occlusion-alpha.html compositing/culling/filter-occlusion-blur-large.html compositing/culling/filter-occlusion-blur.html * platform/graphics/chromium/RenderSurfaceChromium.cpp: (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): * platform/graphics/chromium/RenderSurfaceChromium.h: (WebCore::RenderSurfaceChromium::setFilters): (WebCore::RenderSurfaceChromium::filters): (WebCore::RenderSurfaceChromium::setNearestAncestorThatMovesPixels): (WebCore::RenderSurfaceChromium::nearestAncestorThatMovesPixels): (RenderSurfaceChromium): * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::enterTargetRenderSurface): (WebCore::CCLayerTreeHost::paintLayerContents): * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: (WebCore::subtreeShouldRenderToSeparateSurface): (WebCore::calculateDrawTransformsAndVisibilityInternal): (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility): * platform/graphics/chromium/cc/CCRenderSurface.cpp: (WebCore::CCRenderSurface::CCRenderSurface): * platform/graphics/chromium/cc/CCRenderSurface.h: (WebCore::CCRenderSurface::setNearestAncestorThatMovesPixels): (WebCore::CCRenderSurface::nearestAncestorThatMovesPixels): (CCRenderSurface): * platform/graphics/filters/FilterOperation.h: (FilterOperation): (WebCore::FilterOperation::affectsOpacity): (WebCore::FilterOperation::movesPixels): (WebCore::ReferenceFilterOperation::affectsOpacity): (WebCore::ReferenceFilterOperation::movesPixels): (ReferenceFilterOperation): (WebCore::BasicComponentTransferFilterOperation::affectsOpacity): (BasicComponentTransferFilterOperation): (WebCore::BlurFilterOperation::affectsOpacity): (WebCore::BlurFilterOperation::movesPixels): (BlurFilterOperation): (WebCore::DropShadowFilterOperation::affectsOpacity): (DropShadowFilterOperation): * platform/graphics/filters/FilterOperations.cpp: (WebCore::FilterOperations::hasFilterThatAffectsOpacity): (WebCore): (WebCore::FilterOperations::hasFilterThatMovesPixels): * platform/graphics/filters/FilterOperations.h: (WebCore::FilterOperations::isEmpty): (FilterOperations): 2012-02-16 Leo Yang [BlackBerry] Adapt to the removal of WebStringIml.h https://bugs.webkit.org/show_bug.cgi?id=78784 Reviewed by Antonio Gomes. WebKit/blackberry/WebCoreSupport/WebStringImpl.h which hasn't been upstreamed has been removed internally. We should adapt to this removal for the upstreamed part of the BlackBerry port. Actually WebStringImpl is not necessary because it just inherits from WTF::StringImpl but adding nothing. No functionalities changed, no new tests. * platform/text/blackberry/StringBlackBerry.cpp: (WTF::String::operator WebString): 2012-02-15 Geoffrey Garen Made Weak single-owner, adding PassWeak https://bugs.webkit.org/show_bug.cgi?id=78740 Reviewed by Sam Weinig. * bindings/js/JSDOMBinding.cpp: (WebCore::jsStringSlowCase): Use PassWeak, as required by our new hash map API. * bindings/js/JSDOMBinding.h: (WebCore::getCachedWrapper): (WebCore::cacheWrapper): Use PassWeak and raw pointer, as required by our new hash map API. * bindings/js/JSEventListener.h: (WebCore::JSEventListener::setWrapper): * bindings/js/ScriptWrappable.h: (WebCore::ScriptWrappable::setWrapper): * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): * bridge/runtime_root.cpp: (JSC::Bindings::RootObject::addRuntimeObject): Use PassWeak, as required by our new hash map and Weak APIs. 2012-02-16 Ryosuke Niwa Crash in visiblePositionForIndex https://bugs.webkit.org/show_bug.cgi?id=77683 Reviewed by Eric Seidel. Fixed the crash. Test: editing/execCommand/applyblockelement-visiblepositionforindex-crash.html * editing/ApplyBlockElementCommand.cpp: (WebCore::ApplyBlockElementCommand::doApply): * editing/InsertListCommand.cpp: (WebCore::InsertListCommand::doApply): * editing/htmlediting.cpp: (WebCore::indexForVisiblePosition): * editing/htmlediting.h: (WebCore): 2012-02-16 Matthew Delaney ShadowBlur.cpp's cached content matching needs to consider m_layerSize changes https://bugs.webkit.org/show_bug.cgi?id=78765 Reviewed by Simon Fraser. No new tests due to the flaky nature of reproducing the issue. * platform/graphics/ShadowBlur.cpp: (WebCore::ScratchBuffer::getScratchBuffer): Make sure to call clearScratchBuffer() when we create a new ImageBuffer in order to invalidate cached values. (WebCore::ScratchBuffer::setCachedShadowValues): Roll together matching and setting of cached values into one method to enforce them being the same. (WebCore::ScratchBuffer::setCachedInsetShadowValues): Ditto. Restructure to use new method described above. (WebCore::ShadowBlur::drawRectShadowWithoutTiling): (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): (WebCore::ShadowBlur::drawInsetShadowWithTiling): (WebCore::ShadowBlur::drawRectShadowWithTiling): (WebCore::ShadowBlur::beginShadowLayer): 2012-02-16 Dana Jansens [chromium] Empty divs not transforming overflow correctly https://bugs.webkit.org/show_bug.cgi?id=78850 Reviewed by James Robinson. Test: compositing/overflow/transform-in-empty-container.html * platform/graphics/chromium/GraphicsLayerChromium.cpp: (WebCore::GraphicsLayerChromium::setSize): 2012-02-16 Emil A Eklund Fix use of long long in FractionalLayoutUnit::setRawValue https://bugs.webkit.org/show_bug.cgi?id=78835 Reviewed by Eric Seidel. Change setRawValue(long long) to compare against int min and max instead of using abs as not all platforms we support implement a long long version of abs or llabs. No new tests. * platform/FractionalLayoutUnit.h: (WebCore::FractionalLayoutUnit::setRawValue): Compare against int min/max instead of just max with abs. (WebCore::FractionalLayoutUnit::isInBounds): Fix type mismatch warning. (WebCore::operator==): Fix typo. (WebCore::operator*): Use long long version of setRawValue. 2012-02-15 Shinya Kawanaka Add an internal flag to accept multiple shadow roots for the purpose of tests. https://bugs.webkit.org/show_bug.cgi?id=78453 Reviewed by Hajime Morita. This patch introduces a flag to enable multiple shadow subtrees. This flag is intended to be used for testing purpose for a while. We will remove it later. No new tests, no change in behavior. * WebCore.exp.in: * bindings/generic/RuntimeEnabledFeatures.cpp: (WebCore): * bindings/generic/RuntimeEnabledFeatures.h: (RuntimeEnabledFeatures): (WebCore::RuntimeEnabledFeatures::multipleShadowSubtreesEnabled): (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled): * dom/ShadowRoot.cpp: (WebCore::ShadowRoot::create): * dom/ShadowRootList.cpp: (WebCore::ShadowRootList::pushShadowRoot): * testing/Internals.cpp: (WebCore::Internals::setMultipleShadowSubtreesEnabled): (WebCore): * testing/Internals.h: (Internals): * testing/Internals.idl: 2012-02-16 Mark Hahnenberg Fix the broken viewport tests https://bugs.webkit.org/show_bug.cgi?id=78774 Reviewed by Kenneth Rohde Christiansen. No new tests. * dom/ViewportArguments.cpp: (WebCore::numericPrefix): Changed to use the new charactersToFloatWithJunk function(s). 2012-02-16 Cris Neckar Very large strings could cause the new quoted string to wrap. https://bugs.webkit.org/show_bug.cgi?id=78387 Reviewed by Eric Seidel. * css/CSSParser.cpp: (WebCore::quoteCSSString): 2012-02-16 Eric Seidel Add a themeChromiumAndroid.css file for android-specific default styles https://bugs.webkit.org/show_bug.cgi?id=78547 Reviewed by Adam Barth. This includes the themeChromiumAndroid.css file from the Chromium-Android port as well as some addidtional changes they had to html.css. I believe those changes were made before themeChromiumAndroid was created, but it's now the better place for this CSS. * WebCore.gyp/WebCore.gyp: * css/themeChromiumAndroid.css: Added. (select[size][multiple]): (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]): * rendering/RenderThemeChromiumAndroid.cpp: (WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet): (WebCore): * rendering/RenderThemeChromiumAndroid.h: (RenderThemeChromiumAndroid): (WebCore::RenderThemeChromiumAndroid::delegatesMenuListRendering): (WebCore::RenderThemeChromiumAndroid::platformTapHighlightColor): 2012-02-16 Brady Eidson and https://bugs.webkit.org/show_bug.cgi?id=78767 REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages Reviewed by Sam Weinig. No new tests. (Subtle API change attached to a specific application) * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingInAPISense): Return true if the app needs the quirk and there are outstanding subresource loads. * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: (WebCore::Settings::setNeedsIsLoadingInAPISenseQuirk): (WebCore::Settings::needsIsLoadingInAPISenseQuirk): (Settings): 2012-02-16 Kentaro Hara Remove [ConvertScriptString] from FileReaderSync.idl https://bugs.webkit.org/show_bug.cgi?id=78335 Reviewed by Eric Seidel. The spec says that FileReadSync should throw NOT_FOUND_ERR if a given blob is invalid: http://www.w3.org/TR/FileAPI/#FileReaderSync By this fix, we can completely remove [ConvertScriptString] from WebKit. Tests: fast/files/workers/worker-read-blob-sync.html fast/files/workers/worker-read-file-sync.html * fileapi/FileReaderSync.cpp: Modified to throw NOT_FOUND_ERR if a blob is invalid. (WebCore::FileReaderSync::readAsArrayBuffer): (WebCore::FileReaderSync::readAsBinaryString): (WebCore::FileReaderSync::readAsText): (WebCore::FileReaderSync::readAsDataURL): * fileapi/FileReaderSync.idl: * bindings/scripts/CodeGeneratorJS.pm: Removed [ConvertScriptString] since no one is using it. (NativeToJSValue): * bindings/scripts/CodeGeneratorV8.pm: Ditto. (NativeToJSValue): * bindings/scripts/test/TestObj.idl: Removed a test case for [ConvertScriptString]. * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results. * bindings/scripts/test/CPP/WebDOMTestObj.h: * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: (webkit_dom_test_obj_get_property): (webkit_dom_test_obj_class_init): * bindings/scripts/test/GObject/WebKitDOMTestObj.h: * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore): * bindings/scripts/test/JS/JSTestObj.h: (WebCore): * bindings/scripts/test/ObjC/DOMTestObj.h: * bindings/scripts/test/ObjC/DOMTestObj.mm: * bindings/scripts/test/V8/V8TestObj.cpp: (WebCore): 2012-02-16 Dana Jansens [chromium] Clipping/Transforms applied in wrong order in opaque paint tracking https://bugs.webkit.org/show_bug.cgi?id=78775 Reviewed by Stephen White. The clip was being applied in device coordinates, before transforming the painted rect into device coordinates. This made any translations get doubly represented, and gave incorrect paint tracking results. Test: compositing/culling/unscrolled-within-boxshadow.html Unit test: PlatformContextSkiaTest.cpp * platform/graphics/skia/OpaqueRegionSkia.cpp: (WebCore::OpaqueRegionSkia::didDraw): 2012-02-16 Abhishek Arya Crash with tables in multi-column layout. https://bugs.webkit.org/show_bug.cgi?id=78415 Reviewed by Julien Chaffraix. Multi-column code creates anonymous column blocks directly under RenderTable, thereby violating table layout assumption. E.g. Captions in this testcase gets reparented to these anonymous column blocks and when they go away, they are not able to clear themselves from table's m_captions list (since RenderTable::removeChild is not called). Test: fast/multicol/span/table-multi-column-crash.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::containingColumnsBlock): 2012-02-16 ChangSeok Oh [GTK] File system api build is broken https://bugs.webkit.org/show_bug.cgi?id=78479 Reviewed by Philippe Normand. This patch is a small step to support FileSystem API for GTK port. As I know, bug58443 also dealt with it, but it looks like the submitted patch needs to be updated. To do that, I think I need to discuss with the original author. So, I hope to just fix build break issue in this bug. No new tests. Implementing the feature is not done yet. * GNUmakefile.list.am: Added some missing files. * bindings/js/JSDirectoryEntryCustom.cpp: Added Error.h to use its API. * platform/AsyncFileSystem.cpp: (WebCore): (WebCore::AsyncFileSystem::create): The arguments don't match the declaration in AsyncFileSystem.h. * platform/gtk/AsyncFileSystemGtk.cpp: Added. (WebCore): (WebCore::AsyncFileSystem::isAvailable): (WebCore::AsyncFileSystem::isValidType): (WebCore::AsyncFileSystem::create): (WebCore::AsyncFileSystem::openFileSystem): (WebCore::AsyncFileSystem::crackFileSystemURL): (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk): (WebCore::AsyncFileSystemGtk::~AsyncFileSystemGtk): (WebCore::AsyncFileSystemGtk::toURL): (WebCore::AsyncFileSystemGtk::move): (WebCore::AsyncFileSystemGtk::copy): (WebCore::AsyncFileSystemGtk::remove): (WebCore::AsyncFileSystemGtk::removeRecursively): (WebCore::AsyncFileSystemGtk::readMetadata): (WebCore::AsyncFileSystemGtk::createFile): (WebCore::AsyncFileSystemGtk::createDirectory): (WebCore::AsyncFileSystemGtk::fileExists): (WebCore::AsyncFileSystemGtk::directoryExists): (WebCore::AsyncFileSystemGtk::readDirectory): (WebCore::AsyncFileSystemGtk::createWriter): * platform/gtk/AsyncFileSystemGtk.h: Added. (WebCore): (AsyncFileSystemGtk): 2012-02-16 Adrienne Walker Handle dirty descendant visibility status in RenderLayer::updateLayerPositionsAfterScroll https://bugs.webkit.org/show_bug.cgi?id=78286 Reviewed by Julien Chaffraix. This is an unfortunate bandaid over a corner case where sometimes the visible descendant status dirty flag is true when this function is called from FrameView::repaintFixedElementsAfterScrolling. As it should be cheap to refresh this flag when dirty in most cases (as it early outs after finding any visible descendant), just lazily update the dirty flag here to ensure correctness. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositionsAfterScroll): 2012-02-16 Adam Barth Chrome::*Geolocation* are just useless pass-throughs to ChromeClient and should be removed https://bugs.webkit.org/show_bug.cgi?id=78844 Reviewed by Eric Seidel. These function serve no useful purpose and should be removed. * page/Chrome.cpp: (WebCore): * page/Chrome.h: (Chrome): * page/Geolocation.cpp: (WebCore::Geolocation::reset): (WebCore::Geolocation::requestPermission): 2012-02-16 Sergio Villar Senin [soup] Move important SoupSession feature initialization to WebCore https://bugs.webkit.org/show_bug.cgi?id=68602 Reviewed by Martin Robinson. Moved content sniffer and decoder initialization from WebKit to WebCore because network stuff will not work as expected without them. Added also out-of-the-box proxy support to WebCore. No new tests required as we're just moving stuff from WebKit to WebCore. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::defaultSession): 2012-02-16 Julien Chaffraix thead in table without tbody causes table height doubling https://bugs.webkit.org/show_bug.cgi?id=37244 Reviewed by Ojan Vafai. Tests: fast/table/double-height-table-no-tbody-expected.html fast/table/double-height-table-no-tbody.html The bug is caused by the layout code would wrongly assuming that a table without a is an empty table. We would set the logical height to the style's logical height wrongly before inflating the logical height to account for the section(s). This would cause us to increase past our needed size thus the bug. * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): A table is empty if it does not have any top section, not just a . The test uncovered an issue with height distribution in layoutRows where we would distribute the extra height to the first not section. 2012-02-07 Robert Hogan CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail https://bugs.webkit.org/show_bug.cgi?id=78027 Reviewed by Julien Chaffraix. Both of these test the (slightly implicit) rule that width set on column-groups cannot affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout FF, Opera and IE all pass these two tests. Tests: css2.1/20110323/fixed-table-layout-013.htm css2.1/20110323/fixed-table-layout-015.htm * rendering/FixedTableLayout.cpp: (WebCore::nextCol): A helper function for finding the next column along. (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups. * rendering/RenderTableCol.h: (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups. 2012-02-16 Philippe Normand Unreviewed, rolling out r107941. http://trac.webkit.org/changeset/107941 https://bugs.webkit.org/show_bug.cgi?id=68602 Broke 23 http tests on GTK * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::defaultSession): 2012-02-16 Tom Sepez XSS Auditor bypass with U+2028/2029 https://bugs.webkit.org/show_bug.cgi?id=78732 Reviewed by Adam Barth. Test: http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html * html/parser/XSSAuditor.cpp: (WebCore::isJSNewline): (WebCore::XSSAuditor::snippetForJavaScript): 2012-02-15 Mark Rowe NPN_GetValueForURL / NPNURLVProxy returns DIRECT when proxy configured via PAC / Reviewed by Anders Carlsson. * platform/network/cf/ProxyServerCFNet.cpp: (WebCore::proxyAutoConfigurationResultCallback): Stop the runloop, and then process the results that we received. (WebCore::processProxyServers): Processing of array of proxy configuration information moved from addProxyServersForURL. Handling of proxy auto-configuration URLs is now handled by calling CFNetworkExecuteProxyAutoConfigurationURL and waiting synchronously on the result callback. Doing this synchronously is not great, but it's the best we can do without a lot of restructuring of the code that calls this. We arbitrarily time out the execution after five seconds to avoid permanently hanging. (WebCore::addProxyServersForURL): Call in to our helper function. 2012-02-16 Abhishek Arya Fix clone() function to handle descendant classes of RenderBlock. https://bugs.webkit.org/show_bug.cgi?id=78273 Reviewed by Eric Seidel. Test: fast/multicol/span/clone-flexbox-crash.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::clone): 2012-02-16 Raul Hudea [CSSRegions]overflowRegion tests are flaky https://bugs.webkit.org/show_bug.cgi?id=78761 Reviewed by Tony Chang. The overflowRegion tests were updated. * dom/Element.cpp: (WebCore::Element::webkitRegionOverflow): 2012-02-16 Raul Hudea [CSS Regions] Repaint issues when changing innerHTML of content https://bugs.webkit.org/show_bug.cgi?id=78787 Reviewed by David Hyatt. The calculation of the clipping rectangle is based on the repaint rectangle, so it needs to be clipped to the current region, because it might spread over multiple ones. Test: fast/repaint/region-painting-invalidation.html * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::repaintRectangleInRegions): 2012-02-16 Adam Roben Roll out r107887 It broke 32-bit builds due to truncation from "long long" to "int". Original bug is Add FractionalLayoutPoint/Size/Rect for sub-pixel layout * CMakeLists.txt: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.order: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/FractionalLayoutUnit.h: (WebCore::FractionalLayoutUnit::isInBounds): (WebCore::operator==): (WebCore::operator*): * platform/graphics/FloatPoint.cpp: * platform/graphics/FloatPoint.h: (WebCore): (FloatPoint): (WebCore::FloatPoint::move): (WebCore::FloatPoint::moveBy): * platform/graphics/FloatRect.cpp: * platform/graphics/FloatRect.h: (WebCore): * platform/graphics/FloatSize.cpp: * platform/graphics/FloatSize.h: (WebCore): * platform/graphics/FractionalLayoutPoint.h: Removed. * platform/graphics/FractionalLayoutRect.cpp: Removed. * platform/graphics/FractionalLayoutRect.h: Removed. * platform/graphics/FractionalLayoutSize.cpp: Removed. * platform/graphics/FractionalLayoutSize.h: Removed. * platform/graphics/IntRect.cpp: * platform/graphics/IntRect.h: (WebCore): (IntRect): 2012-02-16 Pavel Feldman Web Inspector: cache settings values https://bugs.webkit.org/show_bug.cgi?id=78815 Reviewed by Vsevolod Vlasov. * inspector/front-end/Settings.js: (WebInspector.Setting.prototype.get if): (WebInspector.Setting.prototype): (WebInspector.Setting.prototype.): (WebInspector.Setting.prototype.set this): 2012-02-16 Terry Anderson WebKit does not support DOM 3 Events FocusEvent https://bugs.webkit.org/show_bug.cgi?id=76216 Created a new FocusEvent class (extends UIEvent) with a relatedTarget attribute. Moved the {Focus,Blur,FocusIn,FocusOut}EventDispatchMediator classes inside FocusEvent. Now when focusin or focusout events are dispatched, a FocusEvent is created with the relatedTarget attribute set accordingly. No other logic changes have been made besides adding the FocusEvent class. Reviewed by Eric Seidel. Test: fast/events/related-target-focusevent.html * CMakeLists.txt: * DerivedSources.cpp: * DerivedSources.make: * DerivedSources.pri: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.xcodeproj/project.pbxproj: * dom/DOMAllInOne.cpp: - Included mention of FocusEvent / JSFocusEvent in the above files to allow the patch to build on the different platforms * dom/EventDispatchMediator.cpp: * dom/EventDispatchMediator.h: * dom/EventFactory.in: * dom/FocusEvent.cpp: Added. (WebCore): (WebCore::FocusEvent::FocusEvent): (WebCore::FocusEvent::~FocusEvent): (WebCore::FocusEvent::initFocusEvent): (WebCore::FocusEvent::interfaceName): (WebCore::FocusInEventDispatchMediator::create): (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator): (WebCore::FocusInEventDispatchMediator::dispatchEvent): (WebCore::FocusInEventDispatchMediator::event): (WebCore::FocusOutEventDispatchMediator::create): (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator): (WebCore::FocusOutEventDispatchMediator::dispatchEvent): (WebCore::FocusOutEventDispatchMediator::event): (WebCore::FocusEventDispatchMediator::create): (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator): (WebCore::FocusEventDispatchMediator::dispatchEvent): (WebCore::BlurEventDispatchMediator::create): (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator): (WebCore::BlurEventDispatchMediator::dispatchEvent): * dom/FocusEvent.h: Copied from Source/WebCore/dom/EventDispatchMediator.h. (WebCore): (FocusEvent): (WebCore::FocusEvent::create): (WebCore::FocusEvent::relatedTarget): (WebCore::FocusEvent::setRelatedTarget): (FocusInEventDispatchMediator): (FocusOutEventDispatchMediator): (FocusEventDispatchMediator): (BlurEventDispatchMediator): * dom/FocusEvent.idl: Added. * dom/Node.cpp: (WebCore::Node::dispatchFocusInEvent): (WebCore::Node::dispatchFocusOutEvent): * dom/UIEvent.cpp: * dom/UIEvent.h: * page/DOMWindow.idl: 2012-02-16 No'am Rosenthal [Texmap] Improve the way we deal with BGRA extension https://bugs.webkit.org/show_bug.cgi?id=78822 Swizzle the RGBA manually only in OpenGL ES, and only if the extension is not available. Pass the pixel-format of the images when updating TextureMapperTiledBackingStore. Reviewed by Kenneth Rohde Christiansen. No new behavior. * platform/graphics/opengl/TextureMapperGL.cpp: (WebCore): (WebCore::hasExtension): (WebCore::hasBgraExtension): (WebCore::BitmapTextureGL::updateContents): * platform/graphics/texmap/TextureMapperBackingStore.cpp: (WebCore::TextureMapperTile::updateContents): (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded): (WebCore::TextureMapperTiledBackingStore::updateContents): * platform/graphics/texmap/TextureMapperBackingStore.h: (TextureMapperTile): (TextureMapperTiledBackingStore): (WebCore::TextureMapperTiledBackingStore::updateContents): * platform/graphics/texmap/TextureMapperLayer.cpp: (WebCore::TextureMapperLayer::updateBackingStore): 2012-02-16 Simon Hausmann [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory https://bugs.webkit.org/show_bug.cgi?id=78800 Reviewed by Kenneth Rohde Christiansen. The file is not specific to Cairo and used in other ports. Move it into common space. * GNUmakefile.list.am: * PlatformEfl.cmake: * Target.pri: * platform/graphics/OpenGLShims.cpp: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.cpp. (WebCore): (WebCore::openGLFunctionTable): (WebCore::getProcAddress): (WebCore::lookupOpenGLFunctionAddress): (WebCore::initializeOpenGLShims): * platform/graphics/OpenGLShims.h: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.h. (WebCore): (_OpenGLFunctionTable): * platform/graphics/opengl/Extensions3DOpenGL.cpp: * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: * platform/graphics/opengl/TextureMapperGL.cpp: * platform/graphics/qt/Extensions3DQt.cpp: * platform/graphics/qt/GraphicsContext3DQt.cpp: 2012-02-16 No'am Rosenthal [Qt][WK2] Allow opaque tiles https://bugs.webkit.org/show_bug.cgi?id=78809 Add a supportsAlpha property to TiledBackingStore. We invalidate all the tiles if that property changes, because the buffers need to be recreated in a different format. Reviewed by Kenneth Rohde Christiansen. No behavior changes. * platform/graphics/TiledBackingStore.cpp: (WebCore::TiledBackingStore::TiledBackingStore): (WebCore::TiledBackingStore::setSupportsAlpha): (WebCore): * platform/graphics/TiledBackingStore.h: (TiledBackingStore): (WebCore::TiledBackingStore::supportsAlpha): 2012-02-16 Sergio Villar Senin [soup] Move important SoupSession feature initialization to WebCore https://bugs.webkit.org/show_bug.cgi?id=68602 Reviewed by Martin Robinson. Moved content sniffer and decoder initialization from WebKit to WebCore because network stuff will not work as expected without them. Added also out-of-the-box proxy support to WebCore. No new tests required as we're just moving stuff from WebKit to WebCore. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::defaultSession): 2012-02-16 Pavel Feldman Web Inspector: remove free flow DOM editing experiment. https://bugs.webkit.org/show_bug.cgi?id=78813 Reviewed by Yury Semikhatsky. * inspector/front-end/DOMAgent.js: (WebInspector.DOMAgent.prototype._markRevision): 2012-02-16 Patrick Gansterer WinCE build fix after r107453. * platform/FractionalLayoutUnit.h: (WebCore::FractionalLayoutUnit::isInBounds): Use fabs() instead of abs(). 2012-02-15 Pavel Feldman Web Inspector: explicitly mark undoable state from the front-end. https://bugs.webkit.org/show_bug.cgi?id=78716 Reviewed by Vsevolod Vlasov. * inspector/InspectorCSSAgent.cpp: (WebCore::InspectorCSSAgent::toggleProperty): (WebCore::InspectorCSSAgent::setRuleSelector): (WebCore::InspectorCSSAgent::addRule): * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::setAttributeValue): (WebCore::InspectorDOMAgent::setAttributesAsText): (WebCore::InspectorDOMAgent::removeAttribute): (WebCore::InspectorDOMAgent::removeNode): (WebCore::InspectorDOMAgent::setNodeName): (WebCore::InspectorDOMAgent::setOuterHTML): (WebCore::InspectorDOMAgent::setNodeValue): (WebCore::InspectorDOMAgent::moveTo): * inspector/InspectorHistory.cpp: (WebCore::InspectorHistory::redo): * inspector/InspectorHistory.h: (InspectorHistory): * inspector/front-end/CSSStyleModel.js: (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): (WebInspector.CSSStyleModel.prototype.setRuleSelector): (WebInspector.CSSStyleModel.prototype.addRule.callback): (WebInspector.CSSStyleModel.prototype.addRule): (WebInspector.CSSStyleModel.prototype.setStyleSheetText): (WebInspector.CSSProperty.prototype.setText.callback): (WebInspector.CSSProperty.prototype.setText): (WebInspector.CSSProperty.prototype.setDisabled.callback): (WebInspector.CSSProperty.prototype.setDisabled): (WebInspector.CSSStyleSheet.prototype.setText): * inspector/front-end/DOMAgent.js: (WebInspector.DOMAgent.prototype._markRevision): (WebInspector.DOMAgent.prototype.get markUndoableState): 2012-02-15 Pavel Feldman Web Inspector: revert 'modification of DOM upon single click for selected nodes'. https://bugs.webkit.org/show_bug.cgi?id=78717 Reviewed by Vsevolod Vlasov. * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.onattach): 2012-02-16 Pavel Feldman Web Inspector: move style disable checkboxes to the left https://bugs.webkit.org/show_bug.cgi?id=78780 Reviewed by Vsevolod Vlasov. * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertiesSection): (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick): (WebInspector.StylePropertyTreeElement.prototype): * inspector/front-end/elementsPanel.css: (.styles-section.matched-styles .properties): (.styles-section.matched-styles .properties li): (.styles-section .properties li.parent::before): (.styles-section .properties li.parent.expanded::before): (.styles-section.matched-styles .properties li.parent .expand-element): (.styles-section.matched-styles .properties li.parent.expanded .expand-element): (.styles-section.computed-style .properties li.parent::before): (.styles-section.computed-style .properties li.parent.expanded::before): (.styles-section.matched-styles:not(.read-only):hover .properties .enabled-button): (.styles-section.matched-styles:not(.read-only) .properties li.disabled .enabled-button): (.styles-section .properties .enabled-button): (.styles-section.matched-styles .properties ol.expanded): * inspector/front-end/treeoutline.js: (TreeElement.treeElementDoubleClicked): 2012-02-16 Yury Semikhatsky Web Inspector: show memory counter graphics when switching to memory view https://bugs.webkit.org/show_bug.cgi?id=78808 Switching to memory view in timeline will display memory counters. Counter graphics know show fair data without approximations between sampling points. Reviewed by Pavel Feldman. * English.lproj/localizedStrings.js: * inspector/front-end/MemoryStatistics.js: (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes): (WebInspector.MemoryStatistics.prototype._calculateXValues): (WebInspector.MemoryStatistics.prototype._drawPolyline): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.get statusBarItems): (WebInspector.TimelinePanel.prototype._createStatusbarButtons): (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected): (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected): 2012-02-16 Ilya Tikhonovsky Web Inspector: [heap snapshot] It could be useful to have access to the selected heap object from the console. https://bugs.webkit.org/show_bug.cgi?id=78496 Reviewed by Yury Semikhatsky. * bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::inspectedObject): * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: (WebCore::V8InjectedScriptHost::inspectedObjectCallback): * inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::InjectedScriptHost): (WebCore::InjectedScriptHost::InspectableObject::get): (WebCore): (WebCore::InjectedScriptHost::addInspectedObject): (WebCore::InjectedScriptHost::clearInspectedObjects): (WebCore::InjectedScriptHost::inspectedObject): * inspector/InjectedScriptHost.h: (InspectableObject): (WebCore::InjectedScriptHost::InspectableObject::~InspectableObject): (InjectedScriptHost): * inspector/InjectedScriptHost.idl: * inspector/InjectedScriptSource.js: (.): * inspector/Inspector.json: * inspector/InspectorAgent.cpp: (WebCore::InspectorAgent::domContentLoadedEventFired): * inspector/InspectorConsoleAgent.cpp: (InspectableHeapObject): (WebCore::InspectableHeapObject::InspectableHeapObject): (WebCore::InspectableHeapObject::get): (WebCore): (WebCore::InspectorConsoleAgent::addInspectedHeapObject): * inspector/InspectorConsoleAgent.h: (InspectorConsoleAgent): * inspector/InspectorProfilerAgent.cpp: (WebCore::InspectorProfilerAgent::resetState): * inspector/PageConsoleAgent.cpp: (InspectableNode): (WebCore::InspectableNode::InspectableNode): (WebCore::InspectableNode::get): (WebCore): (WebCore::PageConsoleAgent::addInspectedNode): * inspector/front-end/DetailedHeapshotView.js: (WebInspector.DetailedHeapshotView.prototype._selectionChanged): (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged): 2012-02-16 Kihong Kwon Add support for unsigned long[] to idl bindings to JSC. https://bugs.webkit.org/show_bug.cgi?id=78210 Reviewed by Kentaro Hara. Add support for unsigned long[] parameter type in idl. This patch adds support just for unsigned long[] parameter type. (support for other types of array should be done in another patch.) tests added to TestObj.idl. * bindings/js/JSDOMBinding.h: (WebCore::jsUnsignedLongArrayToVector): * bindings/scripts/CodeGeneratorJS.pm: (AddIncludesForType): (JSValueToNative): (NativeToJSValue): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray): * bindings/scripts/test/JS/JSTestObj.h: (WebCore): * bindings/scripts/test/TestObj.idl: 2012-02-16 Vsevolod Vlasov Web Inspector: [InspectorIndexedDB] Add IndexedDB TreeElement to resources panel. https://bugs.webkit.org/show_bug.cgi?id=78609 Reviewed by Yury Semikhatsky. Added IndexedDB tree element to resources panel (behind experimental setting). Test is currently disabled, since we don't run tests with experiments enabled. * English.lproj/localizedStrings.js: * WebCore.gypi: * inspector/front-end/Images/indexedDB.png: Added. * inspector/front-end/Images/indexedDBIndex.png: Added. * inspector/front-end/Images/indexedDBObjectStore.png: Added. * inspector/front-end/IndexedDBModel.js: (WebInspector.IndexedDBModel): (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames): (WebInspector.IndexedDBModel.prototype.refreshDatabase): (WebInspector.IndexedDBModel.prototype._reset): (WebInspector.IndexedDBModel.prototype._originAddedToFrame): (WebInspector.IndexedDBModel.prototype._originRemoved): (WebInspector.IndexedDBModel.prototype._databaseAdded): (WebInspector.IndexedDBModel.prototype._databaseRemoved): (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame): (WebInspector.IndexedDBModel.prototype._loadDatabase.callback): (WebInspector.IndexedDBModel.prototype._loadDatabase): (WebInspector.IndexedDBModel.Frame): (WebInspector.IndexedDBModel.DatabaseId): (WebInspector.IndexedDBModel.DatabaseId.prototype.equals): (WebInspector.IndexedDBModel.Database): (WebInspector.IndexedDBModel.Index): * inspector/front-end/ResourcesPanel.js: (WebInspector.IndexedDBTreeElement): (WebInspector.IndexedDBTreeElement.prototype.onexpand): (WebInspector.IndexedDBTreeElement.prototype._createIndexedDBModel): (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB): (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded): (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved): (WebInspector.IndexedDBTreeElement.prototype._indexedDBLoaded): (WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement): (WebInspector.IDBDatabaseTreeElement): (WebInspector.IDBDatabaseTreeElement.prototype.update): (WebInspector.IDBDatabaseTreeElement.prototype.onselect): (WebInspector.IDBObjectStoreTreeElement): (WebInspector.IDBObjectStoreTreeElement.prototype.update): (WebInspector.IDBIndexTreeElement): (WebInspector.IDBIndexTreeElement.prototype.update): * inspector/front-end/Settings.js: (WebInspector.ExperimentsSettings): * inspector/front-end/WebKit.qrc: * inspector/front-end/resourcesPanel.css: (.indexed-db-storage-tree-item .icon): (.indexed-db-object-store-storage-tree-item .icon): (.indexed-db-index-storage-tree-item .icon): 2012-02-15 Nikolas Zimmermann REGRESSION (Safari 5.0.5 - 5.1): No animation on svg-wow.org/text-effects/text-effects.xhtml https://bugs.webkit.org/show_bug.cgi?id=65072 Reviewed by Zoltan Herczeg. Fix EMS/EXS length resolving, when the target context has no renderer, eg. ABC, myText.dy.baseVal.getItem(0).value() currently throws, even if has a parent, we could use to resolve the length. Always fall-back to parent context, to resolve EMS/EXS units, instead of ignoring it. The current behaviour stays the same, if the target element is not in the document, then we really can't resolve lengths like this. Tests: svg/text/ems-display-none.svg svg/text/exs-display-none.svg * svg/SVGLengthContext.cpp: (WebCore::renderStyleForLengthResolving): (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS): (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits): (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS): (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits): 2012-02-16 Simon Hausmann Build fix for Qt 5 without QtWidgets. Reviewed by Tor Arne Vestbø. The reason why QGLContext is included in Extensions3DQt.cpp is to achieve an implicit gl.h inclusion (needed for GL_FALSE). This patch replaces the inclusion with the OpenGLShims.h inclusions, which has the necessary #ifdefs in place to pull in gl.h with Qt 5 without QtWidgets. * platform/graphics/qt/Extensions3DQt.cpp: 2012-02-16 Shawn Singh [chromium] Refactor CCLayerTreeHostCommon: create helper function for complex boolean condition https://bugs.webkit.org/show_bug.cgi?id=78539 Reviewed by James Robinson. This change should introduce no change in behavior, and its expected behavior is already covered by existing tests. In calculateDrawTransformsAndVisibility, there is a complex boolean condition that indicates whether we should create a RenderSurface or not. This patch pulls out that boolean logic, and wraps it in a helper function for much better readability. * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: (WebCore::layerShouldBeSkipped): (WebCore): (WebCore::subtreeShouldRenderToSeparateSurface): (WebCore::calculateDrawTransformsAndVisibilityInternal): 2012-02-16 Andrey Kosyakov Web Inspector: [refactoring] move timeline overview sidebar creation to TimelineOverviewPane https://bugs.webkit.org/show_bug.cgi?id=78782 Reviewed by Vsevolod Vlasov. * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane): (WebInspector.TimelineOverviewPane.prototype.showTimelines): (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph): (WebInspector.TimelineOverviewPane.prototype.sidebarResized): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype.sidebarResized): 2012-02-15 Andreas Kling Share font-family CSS values through CSSValuePool. Reviewed by Darin Adler. Cache and share FontFamilyValue instances in the per-document CSSValuePool. This reduces memory consumption by 248 kB on the Moz page cycler (64-bit) and avoids a bunch of extra work. This is a regression from the recent attribute style refactoring; previously the mapped attribute declaration table would ensure that multiple 'font' elements with the same 'face' value would share the same FontFamilyValue. We're not yet sharing the entire CSSValueList returned by parseFontFamily() but this is a step on the way there. * css/FontFamilyValue.cpp: * css/FontFamilyValue.h: Removed appendSpaceSeparated(), making FontFamilyValue immutable. * css/CSSParser.cpp: (FontFamilyValueBuilder): (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder): (WebCore::FontFamilyValueBuilder::add): (WebCore::FontFamilyValueBuilder::commit): (WebCore::CSSParser::parseFontFamily): Refactor parseFontFamily() to defer creation of FontFamilyValue until the whole family name is known. Added a little helper class to avoid code duplication. * css/CSSValuePool.h: * css/CSSValuePool.cpp: (WebCore::CSSValuePool::createFontFamilyValue): Added a FontFamilyValue cache to CSSValuePool. All values are tied to the lifetime of the pool. 2012-02-16 Simon Hausmann [Qt] Move event conversion functions from WebCore to WebKit https://bugs.webkit.org/show_bug.cgi?id=78788 Reviewed by Kenneth Rohde Christiansen. Move QtWidgets dependent mouse event constructors out of WebCore into WebKit, similar to the web event conversions of WebKit2. * Target.pri: * platform/PlatformMouseEvent.h: (PlatformMouseEvent): * platform/PlatformWheelEvent.h: (PlatformWheelEvent): 2012-02-16 Simon Hausmann Unreviewed prospective Qt 4.8/Mac build fix. Cast the PlatformWidget from QObject* to QWidget* to gain access to QWidget methods. * plugins/mac/PluginViewMac.mm: (WebCore::nativeWindowFor): (WebCore::cgHandleFor): (WebCore::topLevelOffsetFor): (WebCore::PluginView::setFocus): (WebCore::PluginView::invalidateRect): 2012-02-16 Roland Steiner