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