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

Issue 2379703002: [Presentation API] (alternative) 1-UA: send message between controller and receiver page (Closed)

Created:
4 years, 2 months ago by zhaobin
Modified:
4 years ago
Reviewers:
mark a. foltz, imcheng
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Presentation API] (alternative) 1-UA: send message between controller and receiver page It is an alternative implementation of 1-UA messaging (substitue Issue 2343013002 and Issue 2355723004): - add PresentationConnection class to presentation.mojom - add RenderedPresentationConnection class which implements PresentationConnectionProxy and PresentationConnection mojo interface Work flow to connect controller RenderedPresentationConnection with receiver RenderedPresentationConnection: 1. controller page starts a presentation, creates a RenderedPresentationConnection object 2. controller RenderedPresentationConnection's mojo handler is passed to PSImpl via PSImpl::SetPresentationConnection 3. PSImpl::SetPresentationConnection registers the mojo handler with OffscreenPresentationManager 4. receiver page initializes and registers receiver_call to OffscreenPresentationManager 5. receiver PSImpl::OnReceiverConnectionAvailable() is invoked for each controller RenderedPresentationConnection's mojo handler belonging to the same presentation 6. PSImpl::OnReceiverConnectionAvailable() calls PDispatcher::OnReceiverConnectionAvailable() which creates a new receiver RenderedPresentationConnection and connects it with controller RenderedPresentationConnection's mojo handler Messaging happens between controller RenderedPresentationConnection and receiver RenderedPresentationConnection afterwards design doc: https://docs.google.com/document/d/12xd7Loeme0UfcjOICNYnvsGS32ggeH9HwjDFCi_HQDc/edit#heading=h.icz05x2z8mg BUG=525660

Patch Set 1 #

Patch Set 2 : resolve code review comments from Derek #

Patch Set 3 : resolve code review comments from Mark #

Patch Set 4 : rebase with master #

Total comments: 61

Patch Set 5 : resolve code review comments from Mark #

Total comments: 85

Patch Set 6 : resolve code review comments from Mark #

Patch Set 7 : resolve code review comments from Derek #

Patch Set 8 : rebase with master and resolve merge conflicts #

Total comments: 72

Patch Set 9 : merge with master #

Patch Set 10 : resolve code review comments from Mark #

Total comments: 70

Patch Set 11 : resolve code review comments from Derek #

Patch Set 12 : merge with master #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1820 lines, -163 lines) Patch
M chrome/browser/chrome_content_browser_client.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +5 lines, -1 line 0 comments Download
M chrome/browser/chrome_content_browser_client.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +20 lines, -3 lines 0 comments Download
M chrome/browser/extensions/api/tab_capture/offscreen_tab.cc View 1 2 3 4 3 chunks +8 lines, -5 lines 0 comments Download
M chrome/browser/media/router/BUILD.gn View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/browser/media/router/create_presentation_connection_request.h View 1 2 3 4 5 6 7 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/media/router/create_presentation_connection_request.cc View 1 2 3 4 5 6 7 2 chunks +7 lines, -7 lines 0 comments Download
M chrome/browser/media/router/create_presentation_connection_request_unittest.cc View 1 2 3 4 5 6 7 8 9 3 chunks +5 lines, -3 lines 0 comments Download
M chrome/browser/media/router/media_route.h View 1 2 3 4 5 6 7 2 chunks +9 lines, -0 lines 0 comments Download
M chrome/browser/media/router/media_route.cc View 1 2 3 4 5 1 chunk +3 lines, -3 lines 0 comments Download
M chrome/browser/media/router/media_router_dialog_controller_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/media/router/mojo/media_router.mojom View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/media/router/mojo/media_router_type_converters.cc View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/browser/media/router/mojo/media_router_type_converters_unittest.cc View 1 2 3 4 5 3 chunks +4 lines, -0 lines 0 comments Download
A chrome/browser/media/router/offscreen_presentation_manager.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +195 lines, -0 lines 0 comments Download
A chrome/browser/media/router/offscreen_presentation_manager.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +131 lines, -0 lines 0 comments Download
A chrome/browser/media/router/offscreen_presentation_manager_factory.h View 1 2 3 4 5 1 chunk +50 lines, -0 lines 0 comments Download
A chrome/browser/media/router/offscreen_presentation_manager_factory.cc View 1 2 3 4 5 1 chunk +69 lines, -0 lines 0 comments Download
A chrome/browser/media/router/offscreen_presentation_manager_factory_unittest.cc View 1 2 3 4 1 chunk +50 lines, -0 lines 0 comments Download
A chrome/browser/media/router/offscreen_presentation_manager_unittest.cc View 1 2 3 4 1 chunk +291 lines, -0 lines 0 comments Download
M chrome/browser/media/router/presentation_service_delegate_impl.h View 1 2 3 4 5 6 7 8 9 10 5 chunks +9 lines, -3 lines 0 comments Download
M chrome/browser/media/router/presentation_service_delegate_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +21 lines, -3 lines 0 comments Download
M chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 3 chunks +23 lines, -1 line 0 comments Download
A chrome/browser/media/router/receiver_presentation_service_delegate_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +88 lines, -0 lines 0 comments Download
A chrome/browser/media/router/receiver_presentation_service_delegate_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +84 lines, -0 lines 0 comments Download
M chrome/browser/ui/webui/media_router/media_router_ui_unittest.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -2 lines 0 comments Download
M chrome/test/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/presentation/presentation_service_impl.h View 1 2 3 4 5 6 7 8 9 10 7 chunks +36 lines, -8 lines 0 comments Download
M content/browser/presentation/presentation_service_impl.cc View 1 2 3 4 5 6 7 8 9 10 20 chunks +97 lines, -39 lines 0 comments Download
M content/browser/presentation/presentation_service_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 7 chunks +101 lines, -6 lines 0 comments Download
M content/browser/presentation/presentation_type_converters.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M content/public/browser/content_browser_client.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +10 lines, -4 lines 0 comments Download
M content/public/browser/content_browser_client.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +8 lines, -2 lines 0 comments Download
M content/public/browser/presentation_service_delegate.h View 1 2 3 4 5 6 7 8 9 10 6 chunks +53 lines, -15 lines 0 comments Download
M content/public/browser/presentation_session.h View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M content/public/browser/presentation_session.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +9 lines, -1 line 0 comments Download
M content/renderer/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/presentation/presentation_connection_client.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +13 lines, -2 lines 0 comments Download
M content/renderer/presentation/presentation_connection_client.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +12 lines, -6 lines 0 comments Download
A content/renderer/presentation/presentation_connection_proxy.h View 1 2 3 4 5 6 7 8 9 1 chunk +70 lines, -0 lines 0 comments Download
A content/renderer/presentation/presentation_connection_proxy.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +84 lines, -0 lines 0 comments Download
M content/renderer/presentation/presentation_dispatcher.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +7 lines, -1 line 0 comments Download
M content/renderer/presentation/presentation_dispatcher.cc View 1 2 3 4 5 6 7 8 9 10 11 9 chunks +69 lines, -25 lines 0 comments Download
M extensions/renderer/resources/media_router_bindings.js View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/presentation/PresentationConnection.h View 1 2 3 4 5 6 7 8 9 5 chunks +10 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/modules/presentation/PresentationConnection.cpp View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +30 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/modules/presentation/PresentationReceiverTest.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +16 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
A + third_party/WebKit/Source/platform/exported/WebPresentationConnection.cpp View 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/public/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/public/platform/modules/presentation/WebPresentationConnection.h View 1 2 3 4 5 1 chunk +25 lines, -0 lines 0 comments Download
M third_party/WebKit/public/platform/modules/presentation/WebPresentationConnectionClient.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +3 lines, -0 lines 0 comments Download
A third_party/WebKit/public/platform/modules/presentation/WebPresentationConnectionProxy.h View 1 2 3 4 5 6 7 8 9 1 chunk +28 lines, -0 lines 0 comments Download
M third_party/WebKit/public/platform/modules/presentation/WebPresentationController.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/public/platform/modules/presentation/presentation.mojom View 1 2 3 4 5 6 7 8 9 10 6 chunks +34 lines, -5 lines 0 comments Download

Messages

Total messages: 17 (4 generated)
zhaobin
(Prototyping to show the design idea, make break into smaller patches later) An alternative implementation ...
4 years, 2 months ago (2016-09-28 19:10:55 UTC) #2
mark a. foltz
I was able to review everything up through the offscreen_presentation_* files. Most of my comments ...
4 years, 2 months ago (2016-10-06 03:13:55 UTC) #4
zhaobin
Hi Mark, Sorry for confusion. Comments in offscreen_presentation_manager.h is outdated. Just updated. GURL change is ...
4 years, 2 months ago (2016-10-07 01:07:04 UTC) #5
mark a. foltz
Looking really good so far, mostly minor comments on style and naming. Got up to ...
4 years, 2 months ago (2016-10-08 00:33:42 UTC) #6
mark a. foltz
Okay, remaining comments :) One design question that I couldn't quite figure out: is the ...
4 years, 2 months ago (2016-10-10 18:28:53 UTC) #7
imcheng
I was thinking if it is possible to use the PresentationConnection mojo interface exclusively to ...
4 years, 2 months ago (2016-10-12 02:22:55 UTC) #8
zhaobin
Will address Derek's comments in next iteration. https://codereview.chromium.org/2379703002/diff/80001/chrome/browser/media/router/offscreen_presentation_manager.cc File chrome/browser/media/router/offscreen_presentation_manager.cc (right): https://codereview.chromium.org/2379703002/diff/80001/chrome/browser/media/router/offscreen_presentation_manager.cc#newcode19 chrome/browser/media/router/offscreen_presentation_manager.cc:19: thread_checker_.DetachFromThread(); On ...
4 years, 2 months ago (2016-10-12 02:27:34 UTC) #9
zhaobin
Resolving code review comments from Derek in Patch Set 5 (https://codereview.chromium.org/2379703002/#ps80001) https://codereview.chromium.org/2379703002/diff/80001/content/renderer/presentation/presentation_connection_client.h File content/renderer/presentation/presentation_connection_client.h (right): ...
4 years, 2 months ago (2016-10-13 02:33:52 UTC) #10
mark a. foltz
Okay, reviewed the code in content/ and Blink. Mostly minor comments and naming suggestions. Would ...
4 years, 2 months ago (2016-10-21 00:53:04 UTC) #12
zhaobin
https://codereview.chromium.org/2379703002/diff/160001/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc File chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc (right): https://codereview.chromium.org/2379703002/diff/160001/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc#newcode41 chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc:41: class MockDelegateObserver On 2016/10/21 00:53:02, mark a. foltz wrote: ...
4 years, 2 months ago (2016-10-22 02:44:14 UTC) #14
imcheng
Thanks Bin. This is looking good and much better than my original design. I want ...
4 years, 1 month ago (2016-11-01 17:20:30 UTC) #15
zhaobin
https://codereview.chromium.org/2379703002/diff/200001/chrome/browser/media/router/offscreen_presentation_manager.cc File chrome/browser/media/router/offscreen_presentation_manager.cc (right): https://codereview.chromium.org/2379703002/diff/200001/chrome/browser/media/router/offscreen_presentation_manager.cc#newcode22 chrome/browser/media/router/offscreen_presentation_manager.cc:22: OffscreenPresentationManager::OffscreenPresentationMap::iterator On 2016/11/01 17:20:28, imcheng wrote: > it looks ...
4 years, 1 month ago (2016-11-02 03:55:48 UTC) #16
mark a. foltz
4 years ago (2016-12-13 23:42:56 UTC) #17
zhaobin@, I think we split this into smaller changes to land.  So, you can close
this issue to take it out of our review queue.

Powered by Google App Engine
This is Rietveld 408576698