nrwt: add a MessagePool abstraction that the manager will call to replace the broker
https://bugs.webkit.org/show_bug.cgi?id=90511

Reviewed by Ojan Vafai.

This change introduces the new MessagePool abstraction that will
replace the classes in manager_worker_broker. It is a minimal
interface that tries to follow the conventions in
multiprocessing.Pool and concurrency.futures ... it provides a
context manager and a run() method that sends N messages to M
workers processes (starting workers as necessary) and waits for
them all to complete, handling cleanup as necessary. The caller
is responsible for providing a handle() method to handle
messages received from the workers.

This interface basically hides all of the multiprocessing logic from
the manager class.

The initial implementation of MessagePool is a simple shim
around the existing broker classes; a subsequent change will
replace all the other classes with a much simpler
implementation.

No additional tests are provided for now; existing tests should
provide adequate coverage, and I will add new unit tests for the
MessagePool class when I replace the existing implementation.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(TestRunInterruptedException.__reduce__):
(Manager.__init__):
(Manager._run_tests):
(Manager._run_tests.instead):
(Manager.handle):
(Manager._handle_started_test):
(Manager._handle_finished_test_list):
(Manager._handle_finished_test):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(get):
(_MessagePool):
(_MessagePool.__init__):
(_MessagePool.__enter__):
(_MessagePool.__exit__):
(_MessagePool.run):
(_MessagePool.wait):
(_MessagePool.is_done):
(_MessagePool._worker_is_done):
(_MessagePool._close):
(_MessagePool.handle_done):
(_MessagePool.handle_started_test):
(_MessagePool.handle_finished_test):
(_MessagePool.handle_finished_test_list):
(_MessagePool.handle_exception):
(_MessagePool._log_messages):
(_MessagePool._handle_worker_exception):
(_WorkerState):
(_WorkerState.for):
(_WorkerState.__init__):
(_WorkerState.__repr__):
(_get_broker):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(make_broker):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r122358.
http://trac.webkit.org/changeset/122358
https://bugs.webkit.org/show_bug.cgi?id=91037

Build break on WebKit Win (Requested by hayato on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-11

Source/WebKit/chromium:

* public/WebView.h:
(WebView):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::dragTargetDragEnter):
(WebKit):
(WebKit::WebViewImpl::dragTargetDragOver):
(WebKit::WebViewImpl::dragTargetDrop):
* src/WebViewImpl.h:
(WebViewImpl):

Tools:

* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::doDragDrop):
(EventSender::doMouseUp):
(EventSender::doMouseMove):
(EventSender::beginDragWithFiles):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening.
Build fix for r122373.

* platform/chromium/support/WebCompositorSharedQuadState.cpp:
(WebKit::WebCompositorSharedQuadState::WebCompositorSharedQuadState):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the build by declaring -isPaginated before use.

* MiniBrowser/mac/BrowserWindowController.m:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-11

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Suppress horizontal conversion of PlatformWheelEvents when hasPreciseScrollingDeltas is true
https://bugs.webkit.org/show_bug.cgi?id=89580

Source/WebCore:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars.  This is
undesirable for touchpad scrolling with
hasPreciseScrollingDeltas() == true. Modified shouldTurnVerticalTicksIntoHorizontal
to not perform this conversion for PlatformWheelEvents with preciseScrollingDeltas.

Reviewed by Adam Barth.

Tests: fast/events/touch/gesture/touch-gesture-scroll-sideways.html

* page/EventHandler.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
(WebCore::EventHandler::handleWheelEvent):
* page/EventHandler.h:
(EventHandler):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

Tools:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars.  This is
undesirable for touchpad scrolling with
hasPreciseScrollingDeltas() == true. Modified DumpRenderTree to
let a layout test specify this attribute so that the change's impact
on scrolling can be tested in a layout test.

Reviewed by Adam Barth.

* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::handleMouseWheel):

LayoutTests:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars.  This is
undesirable for touchpad scrolling with
hasPreciseScrollingDeltas() == true. Added a layout test showing
that change correctly suppresses this behaviour.

Reviewed by Adam Barth.

* fast/events/touch/gesture/touch-gesture-scroll-sideways-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-scroll-sideways.html: Added.
* platform/chromium-linux/fast/events/touch/gesture/touch-gesture-scroll-sideways-expected.txt: Added. Note: test has intentional platform difference.


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