Optimize RGB565 and RGBA5551 packing/unpacking functions with NEON intrinsics
https://bugs.webkit.org/show_bug.cgi?id=102060

Reviewed by Zoltan Herczeg.

Adding more NEONized packing functions to GraphicsContext3DNEON.h.
These functions are three times faster with this intrinsics optimizations.

* platform/graphics/GraphicsContext3D.cpp:
(WebCore):
* platform/graphics/cpu/arm/GraphicsContext3DNEON.h:
(WebCore::ARM::unpackOneRowOfRGBA5551ToRGBA8NEON):
(ARM):
(WebCore::ARM::packOneRowOfRGBA8ToUnsignedShort5551NEON):
(WebCore::ARM::unpackOneRowOfRGB565ToRGBA8NEON):
(WebCore::ARM::packOneRowOfRGBA8ToUnsignedShort565NEON):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Settings screen: some panel shortcuts are missing
https://bugs.webkit.org/show_bug.cgi?id=101026

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-13
Reviewed by Pavel Feldman.

Panels, that have not been loaded by the time shortcuts view was
initialized, had no chance to register shortcuts.

Solution: move shortcut registration (for shortcuts screen) to panel
descriptors.

More changes: add JsDoc annotations to ShortcutScreen and change "key"
parameter type for raw string to key descriptor object.

* WebCore.gypi: Added TimelinePanelDescriptor.js file.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* inspector/compile-front-end.py: Ditto.
* inspector/front-end/WebKit.qrc: Ditto.
* inspector/front-end/inspector.html: Ditto.
* inspector/front-end/AdvancedSearchController.js: Add JsDoc annotation.
* inspector/front-end/GoToLineDialog.js: Ditto.
* inspector/front-end/CallStackSidebarPane.js: Removed shortcut-screen
shortcuts registration.
* inspector/front-end/ElementsPanel.js: Ditto.
* inspector/front-end/ScriptsPanel.js: Ditto.
* inspector/front-end/StylesSidebarPane.js: Ditto.
* inspector/front-end/TimelinePanel.js: Ditto.
* inspector/front-end/ConsoleView.js: Changes order of lines to increase
readability.
* inspector/front-end/ElementsPanelDescriptor.js: Add shortcut-screen
shortcuts registration and key descriptor constants.
* inspector/front-end/ScriptsPanelDescriptor.js: Ditto.
* inspector/front-end/TimelinePanelDescriptor.js: Ditto.
* inspector/front-end/Panel.js: Removed unused "uregisterShortcut"; made
"registerShortcuts" method accept array of key descriptors.
(WebInspector.PanelDescriptor.prototype.registerShortcuts): Added.
* inspector/front-end/ShortcutsScreen.js: Added JsDoc; changed parameter
type from string to key descriptor.
* inspector/front-end/inspector.js: Register shortcuts using
panel descriptors.
(WebInspector._panelDescriptors): Removed duplicate line.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [Canvas] UI: make the Grid save scrolling position, show wait spinner icon
https://bugs.webkit.org/show_bug.cgi?id=102071

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-11-13
Reviewed by Pavel Feldman.

* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileView):
(WebInspector.CanvasProfileView.prototype.dispose):
(WebInspector.CanvasProfileView.prototype.elementsToRestoreScrollPositionsFor):
(WebInspector.CanvasProfileView.prototype._enableWaitIcon):
(WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
(WebInspector.CanvasProfileView.prototype._replayTraceLog):
(WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
(WebInspector.CanvasProfileView.prototype._createCallNode):
* inspector/front-end/canvasProfiler.css:
(#canvas-replay-image.wait):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][DRT] Remove extra layoutFrame() call when preparing to send an event via EventSender.
https://bugs.webkit.org/show_bug.cgi?id=102074

Reviewed by Kenneth Rohde Christiansen.

* DumpRenderTree/efl/EventSender.cpp:
(feedMouseEvent): Do not call DumpRenderTreeSupportEfl::layoutFrame()
when sending an event, as it causes additional repaints that create
wrong pixel results for tests such as
fast/repaint/overflow-auto-in-overflow-auto-scrolled.html.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Build fix of V8 bindings.

Patch by Kentaro Hara <haraken@chromium.org> on 2012-11-13

* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::maybeDOMWrapper):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Exploit ElementAttributeData sharing in Node.cloneNode.
<http://webkit.org/b/101374>

Reviewed by Anders Carlsson.

Instead of blindly creating a new ElementAttributeData for Node.cloneNode, let's be clever!
If the source data is immutable, simply ref it from the new node at virtually no cost.

If the source data is mutable, convert it to immutable data so it can be shared between both nodes.
Since the typical use-case for Node.cloneNode is to create-once/clone-many, this saves both time
and memory in the long run.

~8% speed-up on PerformanceTests/DOM/CloneNodes on my MBP.

* dom/Element.cpp:
(WebCore::Element::cloneAttributesFromElement):

    Move attribute data cloning logic from ElementAttributeData to Element.

* dom/ElementAttributeData.cpp:
(WebCore::ImmutableElementAttributeData::~ImmutableElementAttributeData):
(WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
(WebCore::ElementAttributeData::ElementAttributeData):
(WebCore::MutableElementAttributeData::MutableElementAttributeData):
(WebCore::ElementAttributeData::makeMutableCopy):
(WebCore::ElementAttributeData::makeImmutableCopy):
* dom/ElementAttributeData.h:
(ElementAttributeData):
(ImmutableElementAttributeData):
(MutableElementAttributeData):

    Add facilities for converting a mutable ElementAttributeData to an immutable one.
    Share some code in the common base class constructor.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134408 268f45cc-cd09-0410-ab3c-d52691b4dbfc