Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Issue 2750373002: Revert of Mojo: Armed Watchers (Closed)

Created:
3 years, 9 months ago by Guido Urdaneta
Modified:
3 years, 9 months ago
CC:
Aaron Boodman, abarth-chromium, alokp+watch_chromium.org, apacible+watch_chromium.org, avayvod+watch_chromium.org, blink-reviews, chromium-reviews, darin (slow to review), darin-cc_chromium.org, erickung+watch_chromium.org, Eugene But (OOO till 7-30), feature-media-reviews_chromium.org, imcheng+watch_chromium.org, isheriff+watch_chromium.org, jam, jasonroberts+watch_google.com, loading-reviews_chromium.org, miu+watch_chromium.org, qsr+mojo_chromium.org, Randy Smith (Not in Mondays), viettrungluu+watch_chromium.org, xjz+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Revert of Mojo: Armed Watchers (patchset #20 id:670001 of https://codereview.chromium.org/2725133002/ ) Reason for revert: FindIt considers this as culprit of breaking Linux Chromium OS ASan LSan Tests (1) (stats) bot See https://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/builds/20033 aura_unittests aura_unittests failed 1 Run on OS: 'Ubuntu-14.04' failures: UserActivityForwarderTest.ForwardActivityToDetector Will reland if the revert doesn't fix the bot. Original issue's description: > Mojo: Armed Watchers > > Changes the Watcher C API as described in this post: > https://groups.google.com/a/chromium.org/forum/#!topic/chromium-mojo/UcA97R4IznI > > Makes watchers a first-class non-transferable handle type in Mojo, > allows multiple distinct events to be watched by a single watcher, > and requires watchers to be explicitly armed before a notification > will fire. Also now allows for cancellation (and watcher closure) > from within notification callbacks, simplifying cancellation logic > and avoiding any possibility of EDK deadlocks caused by cancellations, > during watch notification. > > Updates the Watcher class in mojo/public/cpp/system to reflect the > new model, adding an explicit ArmingPolicy to allow users to select > manual or automatic arming. Also renames it to SimpleWatcher to > adequately convey that this is only a simplified helper class that > does not utilize the full power of watchers. > > Automatic arming provides imperfect edge-triggered behavior, which is > still an improvement over the old behavior in many cases. > > Manual arming is used in the bindings Connector to ensure that all > messages are flushed from a pipe before control returns from a > handle-ready notification, and is also now used for Watchers which > watch a data pipe handle. > > Other users of the Watcher C API (namely Blink's MojoWatcher and > content's MessagePort) have also been adapted to the new API. > > BUG=693595, 700171 > > Review-Url: https://codereview.chromium.org/2725133002 > Cr-Commit-Position: refs/heads/master@{#457269} > Committed: https://chromium.googlesource.com/chromium/src/+/9eadabae1de0cb22725450596fe324f03dd63b92 TBR=csharrison@chromium.org,eugenebut@chromium.org,haraken@chromium.org,jam@chromium.org,miu@chromium.org,mmenke@chromium.org,xhwang@chromium.org,yhirano@chromium.org,yzshen@chromium.org,rockot@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=693595, 700171

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1585 lines, -3996 lines) Patch
M chrome/browser/media/cast_remoting_sender.h View 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/media/cast_remoting_sender.cc View 4 chunks +7 lines, -12 lines 0 comments Download
M content/browser/loader/mojo_async_resource_handler.h View 2 chunks +2 lines, -2 lines 0 comments Download
M content/browser/loader/mojo_async_resource_handler.cc View 3 chunks +3 lines, -9 lines 0 comments Download
M content/browser/shared_worker/shared_worker_service_impl_unittest.cc View 2 chunks +6 lines, -4 lines 0 comments Download
M content/child/url_response_body_consumer.h View 2 chunks +2 lines, -2 lines 0 comments Download
M content/child/url_response_body_consumer.cc View 4 chunks +12 lines, -12 lines 0 comments Download
M content/child/web_data_consumer_handle_impl.h View 2 chunks +2 lines, -2 lines 0 comments Download
M content/child/web_data_consumer_handle_impl.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M content/common/message_port.h View 2 chunks +4 lines, -13 lines 0 comments Download
M content/common/message_port.cc View 2 chunks +22 lines, -70 lines 0 comments Download
M ios/web/webui/mojo_facade.h View 2 chunks +2 lines, -2 lines 0 comments Download
M ios/web/webui/mojo_facade.mm View 1 chunk +3 lines, -4 lines 0 comments Download
M ios/web/webui/mojo_facade_unittest.mm View 1 chunk +0 lines, -12 lines 0 comments Download
M ios/web/webui/web_ui_mojo_inttest.mm View 2 chunks +1 line, -11 lines 0 comments Download
M ipc/ipc_sync_channel.h View 3 chunks +3 lines, -2 lines 0 comments Download
M ipc/ipc_sync_channel.cc View 9 chunks +17 lines, -18 lines 0 comments Download
M media/mojo/common/mojo_decoder_buffer_converter.h View 3 chunks +3 lines, -3 lines 0 comments Download
M media/mojo/common/mojo_decoder_buffer_converter.cc View 4 chunks +17 lines, -27 lines 0 comments Download
M media/remoting/demuxer_stream_adapter.h View 2 chunks +1 line, -2 lines 0 comments Download
M media/remoting/demuxer_stream_adapter.cc View 3 chunks +10 lines, -13 lines 0 comments Download
M mojo/android/javatests/src/org/chromium/mojo/system/impl/WatcherImplTest.java View 3 chunks +1 line, -17 lines 0 comments Download
M mojo/android/system/watcher_impl.cc View 4 chunks +5 lines, -4 lines 0 comments Download
M mojo/common/data_pipe_drainer.h View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/common/data_pipe_drainer.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M mojo/edk/embedder/entrypoints.cc View 2 chunks +7 lines, -23 lines 0 comments Download
M mojo/edk/js/drain_data.h View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/edk/js/drain_data.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/edk/js/waiting_callback.h View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/edk/js/waiting_callback.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/edk/system/BUILD.gn View 2 chunks +3 lines, -5 lines 0 comments Download
M mojo/edk/system/awakable_list.h View 3 chunks +13 lines, -0 lines 0 comments Download
M mojo/edk/system/awakable_list.cc View 3 chunks +13 lines, -0 lines 0 comments Download
M mojo/edk/system/core.h View 2 chunks +3 lines, -11 lines 0 comments Download
M mojo/edk/system/core.cc View 3 chunks +21 lines, -39 lines 0 comments Download
M mojo/edk/system/data_pipe_consumer_dispatcher.h View 4 chunks +4 lines, -6 lines 0 comments Download
M mojo/edk/system/data_pipe_consumer_dispatcher.cc View 12 chunks +26 lines, -46 lines 0 comments Download
M mojo/edk/system/data_pipe_producer_dispatcher.h View 4 chunks +4 lines, -6 lines 0 comments Download
M mojo/edk/system/data_pipe_producer_dispatcher.cc View 10 chunks +26 lines, -35 lines 0 comments Download
M mojo/edk/system/data_pipe_unittest.cc View 3 chunks +7 lines, -11 lines 0 comments Download
M mojo/edk/system/dispatcher.h View 4 chunks +7 lines, -23 lines 0 comments Download
M mojo/edk/system/dispatcher.cc View 2 chunks +3 lines, -21 lines 0 comments Download
M mojo/edk/system/message_pipe_dispatcher.h View 4 chunks +4 lines, -6 lines 0 comments Download
M mojo/edk/system/message_pipe_dispatcher.cc View 10 chunks +24 lines, -41 lines 0 comments Download
M mojo/edk/system/multiprocess_message_pipe_unittest.cc View 2 chunks +8 lines, -10 lines 0 comments Download
M mojo/edk/system/request_context.h View 2 chunks +14 lines, -15 lines 0 comments Download
M mojo/edk/system/request_context.cc View 3 chunks +24 lines, -30 lines 0 comments Download
D mojo/edk/system/watch.h View 1 chunk +0 lines, -124 lines 0 comments Download
D mojo/edk/system/watch.cc View 1 chunk +0 lines, -83 lines 0 comments Download
A mojo/edk/system/watch_unittest.cc View 1 chunk +480 lines, -0 lines 0 comments Download
A mojo/edk/system/watcher.h View 1 chunk +88 lines, -0 lines 0 comments Download
A mojo/edk/system/watcher.cc View 1 chunk +53 lines, -0 lines 0 comments Download
D mojo/edk/system/watcher_dispatcher.h View 1 chunk +0 lines, -91 lines 0 comments Download
D mojo/edk/system/watcher_dispatcher.cc View 1 chunk +0 lines, -219 lines 0 comments Download
M mojo/edk/system/watcher_set.h View 1 chunk +19 lines, -36 lines 0 comments Download
M mojo/edk/system/watcher_set.cc View 1 chunk +24 lines, -49 lines 0 comments Download
D mojo/edk/system/watcher_unittest.cc View 1 chunk +0 lines, -1590 lines 0 comments Download
M mojo/public/c/system/BUILD.gn View 1 chunk +0 lines, -1 line 0 comments Download
M mojo/public/c/system/core.h View 1 chunk +0 lines, -1 line 0 comments Download
M mojo/public/c/system/functions.h View 2 chunks +76 lines, -0 lines 0 comments Download
M mojo/public/c/system/thunks.h View 2 chunks +25 lines, -14 lines 0 comments Download
M mojo/public/c/system/thunks.cc View 1 chunk +7 lines, -23 lines 0 comments Download
M mojo/public/c/system/types.h View 1 chunk +16 lines, -17 lines 0 comments Download
D mojo/public/c/system/watcher.h View 1 chunk +0 lines, -183 lines 0 comments Download
M mojo/public/cpp/bindings/binding.h View 1 chunk +0 lines, -4 lines 0 comments Download
M mojo/public/cpp/bindings/connector.h View 3 chunks +3 lines, -11 lines 0 comments Download
M mojo/public/cpp/bindings/interface_ptr.h View 1 chunk +0 lines, -4 lines 0 comments Download
M mojo/public/cpp/bindings/lib/binding_state.h View 1 chunk +0 lines, -2 lines 0 comments Download
M mojo/public/cpp/bindings/lib/binding_state.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M mojo/public/cpp/bindings/lib/connector.cc View 6 chunks +10 lines, -44 lines 0 comments Download
M mojo/public/cpp/bindings/lib/interface_ptr_state.h View 1 chunk +0 lines, -5 lines 0 comments Download
M mojo/public/cpp/bindings/lib/multiplex_router.h View 1 chunk +0 lines, -2 lines 0 comments Download
M mojo/public/cpp/bindings/lib/multiplex_router.cc View 1 chunk +0 lines, -5 lines 0 comments Download
M mojo/public/cpp/bindings/tests/connector_unittest.cc View 1 chunk +0 lines, -1 line 0 comments Download
M mojo/public/cpp/system/BUILD.gn View 1 chunk +0 lines, -2 lines 0 comments Download
D mojo/public/cpp/system/simple_watcher.h View 1 chunk +0 lines, -211 lines 0 comments Download
D mojo/public/cpp/system/simple_watcher.cc View 1 chunk +0 lines, -273 lines 0 comments Download
M mojo/public/cpp/system/tests/BUILD.gn View 1 chunk +1 line, -1 line 0 comments Download
D mojo/public/cpp/system/tests/simple_watcher_unittest.cc View 1 chunk +0 lines, -277 lines 0 comments Download
A mojo/public/cpp/system/tests/watcher_unittest.cc View 1 chunk +181 lines, -0 lines 0 comments Download
M mojo/public/cpp/system/watcher.h View 1 chunk +105 lines, -17 lines 0 comments Download
M mojo/public/cpp/system/watcher.cc View 1 chunk +104 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/mojo/MojoWatcher.h View 2 chunks +1 line, -4 lines 0 comments Download
M third_party/WebKit/Source/core/mojo/MojoWatcher.cpp View 4 chunks +42 lines, -104 lines 0 comments Download

Messages

Total messages: 8 (4 generated)
Guido Urdaneta
Created Revert of Mojo: Armed Watchers
3 years, 9 months ago (2017-03-16 15:04:34 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2750373002/1
3 years, 9 months ago (2017-03-16 15:04:52 UTC) #3
commit-bot: I haz the power
Failed to apply patch for mojo/edk/system/awakable_list.h: While running git apply --index -p1; error: patch failed: ...
3 years, 9 months ago (2017-03-16 15:07:15 UTC) #5
Guido Urdaneta
3 years, 9 months ago (2017-03-16 15:15:23 UTC) #7
Cancelled the revert since rockot@ claims to have a fix.

Powered by Google App Engine
This is Rietveld 408576698