Web Inspector: CodeGeneratorInspector.py: support asynchronous command implementation
https://bugs.webkit.org/show_bug.cgi?id=95649

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-09-05
Reviewed by Yury Semikhatsky.

Generator is extended to generate callback object for each asynchronous command.

* inspector/CodeGeneratorInspector.py:
(Writer.append_multiline):
(Writer):
(Writer.get_indent):
(TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
(InspectorBackendDispatcherImpl):
(CallbackBase):
(Generator.process_event):
(Generator):
(Generator.EventMethodStructTemplate):
(Generator.EventMethodStructTemplate.append_prolog):
(Generator.EventMethodStructTemplate.append_epilog):
(Generator.process_command):
(Generator.CallbackMethodStructTemplate):
(Generator.CallbackMethodStructTemplate.append_prolog):
(Generator.CallbackMethodStructTemplate.append_epilog):
(Generator.generate_send_method):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Remove '+=' usage in String
https://bugs.webkit.org/show_bug.cgi?id=95808

Patch by Kangil Han <kangil.han@samsung.com> on 2012-09-05
Reviewed by Benjamin Poulain.

Replaced use of String operator '+=' with StringBuilder.append*() in order to adopt efficient String concatenation.

Source/WebKit/efl:

* ewk/ewk_frame.cpp:
(ewk_frame_source_get): Removed unnecessary strlen usage.

Tools:

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(descriptionSuitableForTestResult):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Wire up scrollable sublayers in ScrollingCoordinatorChromium
https://bugs.webkit.org/show_bug.cgi?id=95679

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-09-05
Reviewed by James Robinson.

Source/Platform:

Introduce WebLayerScrollClient for getting notified about scroll events targeting a WebLayer.

* Platform.gypi:
* chromium/public/WebLayer.h:
(WebKit):
(WebLayer):
* chromium/public/WebLayerScrollClient.h:

Source/WebCore:

Implement scrollable sublayers in ScrollingCoordinatorChromium and introduce a
WebLayerScrollClient which is notified of scroll events on its associated
scroll layer. GraphicsLayerChromium uses it to apply scroll events targeted to
its platform layer to a ScrollableArea, i.e., the RenderLayer corresponding to
the scrollable element.

Tests: GraphicsLayerChromiumTest.applyScrollToScrollableArea
       WebLayerTest.ScrollClient

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::didScroll):
(WebCore):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore):
(WebCore::GraphicsLayerChromium::setScrollableArea):
(WebCore::GraphicsLayerChromium::scrollableArea):
(GraphicsLayerChromium):
* platform/graphics/chromium/LayerChromium.cpp:
* platform/graphics/chromium/LayerChromium.h:
(WebKit):
(WebCore):
(WebCore::LayerChromium::setLayerScrollClient):
(LayerChromium):

Source/WebKit/chromium:

Introduce WebLayerScrollClient for getting notified about scroll events targeting a WebLayer.

* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::setMaxScrollPosition):
(WebKit):
(WebKit::WebLayerImpl::setScrollClient):
(WebKit::WebLayerImpl::scrollBy):
* src/WebLayerImpl.h:
(WebLayerImpl):
* tests/CCLayerTreeHostTest.cpp:
* tests/GraphicsLayerChromiumTest.cpp:
(MockScrollableArea):
(WebKit):
(WebKit::TEST_F):
* tests/WebLayerTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkitPointerLockElement returns null when pointer lock request is pending.
https://bugs.webkit.org/show_bug.cgi?id=91186

Reviewed by Dimitri Glazkov.

Source/WebCore:

Script should wait for a pointerlockchange event before detecting
if it has acquired lock. However, if a script attempted to poll
pointerLockElement it could be confused when lock was still pending.
This change ensures that if lock is not yet acquired then
pointerLockElement will return null.

Test: pointer-lock/pointerlockelement-null-when-pending.html

* dom/Document.cpp:
(WebCore::Document::webkitPointerLockElement):
* page/PointerLockController.cpp:
(WebCore::PointerLockController::requestPointerLock):
(WebCore::PointerLockController::elementRemoved):
(WebCore::PointerLockController::documentDetached):
(WebCore::PointerLockController::lockPending):
(WebCore):
(WebCore::PointerLockController::didAcquirePointerLock):
(WebCore::PointerLockController::didNotAcquirePointerLock):
(WebCore::PointerLockController::didLosePointerLock):
(WebCore::PointerLockController::clearElement):
* page/PointerLockController.h:
(PointerLockController):

LayoutTests:

* pointer-lock/locked-element-iframe-removed-from-dom-expected.txt:
* pointer-lock/locked-element-iframe-removed-from-dom.html:
     Updated to reflect new behavior of null returned when lock is pending.
* pointer-lock/pointerlockelement-null-when-pending-expected.txt: Added.
* pointer-lock/pointerlockelement-null-when-pending.html: Added.
     New test specifically for testing null return when lock is pending.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Use explicit constructor in RenderThemeEfl.
https://bugs.webkit.org/show_bug.cgi?id=95853

Patch by Kangil Han <kangil.han@samsung.com> on 2012-09-05
Reviewed by Kentaro Hara.

Added explicit keyword in constructor of RenderThemeEfl in order to avoid implicit type conversion.

* platform/efl/RenderThemeEfl.h:
(RenderThemeEfl):

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