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