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

Issue 2383853003: Move FrameMsg_NewFrame/NewFrameProxy to mojom (Closed)

Created:
4 years, 2 months ago by Ken Rockot(use gerrit already)
Modified:
4 years, 2 months ago
CC:
Aaron Boodman, abarth-chromium, chromium-reviews, creis+watch_chromium.org, darin (slow to review), darin-cc_chromium.org, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Move FrameMsg_NewFrame/NewFrameProxy to mojom Straightforward conversion, no surprises. Also changes some (re-)initialization details of RPHI. Namely: * The mojom::RouteProvider and mojom::Renderer associated interface proxies are acquired immediately upon Channel creation, before pausing the Channel. This avoids an issue where one of these interface requests could be lazily acquired during Channel pause, blocking a subsequent message on that interface which should be sent immediately while the Channel is unpaused. See https://goo.gl/ot0S32 for some explanation of this behavior. * Any cached associated interface proxies are reset in ProcessDied() rather than Init(), per nasko@'s suggestion. This clarifies that they are per-process state. BUG=612500 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c Cr-Commit-Position: refs/heads/master@{#422900}

Patch Set 1 #

Total comments: 2

Patch Set 2 : better #

Patch Set 3 : . #

Total comments: 1

Patch Set 4 : . #

Patch Set 5 : Move FrameMsg_NewFrame/NewFrameProxy to mojom #

Unified diffs Side-by-side diffs Delta from patch set Stats (+255 lines, -200 lines) Patch
M content/browser/frame_host/navigator_impl.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 4 chunks +18 lines, -15 lines 0 comments Download
M content/browser/frame_host/render_frame_proxy_host.cc View 1 1 chunk +5 lines, -8 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.h View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 7 chunks +58 lines, -14 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.cc View 1 1 chunk +2 lines, -3 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 7 chunks +35 lines, -30 lines 0 comments Download
M content/common/frame_messages.h View 2 chunks +0 lines, -66 lines 0 comments Download
M content/common/native_types.mojom View 1 chunk +3 lines, -0 lines 0 comments Download
M content/common/native_types.typemap View 2 chunks +2 lines, -0 lines 0 comments Download
M content/common/renderer.mojom View 1 chunk +64 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.h View 4 chunks +6 lines, -2 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/render_frame_impl_browsertest.cc View 2 chunks +2 lines, -1 line 0 comments Download
M content/renderer/render_thread_impl.h View 3 chunks +6 lines, -7 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 3 chunks +47 lines, -49 lines 0 comments Download
M content/renderer/render_view_browsertest.cc View 1 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 53 (36 generated)
Ken Rockot(use gerrit already)
Please take a look. Thanks!
4 years, 2 months ago (2016-09-30 23:15:02 UTC) #5
ncarter (slow)
https://codereview.chromium.org/2383853003/diff/1/content/browser/frame_host/render_frame_proxy_host.cc File content/browser/frame_host/render_frame_proxy_host.cc (right): https://codereview.chromium.org/2383853003/diff/1/content/browser/frame_host/render_frame_proxy_host.cc#newcode189 content/browser/frame_host/render_frame_proxy_host.cc:189: static_cast<RenderProcessHostImpl*>(GetProcess())->GetRendererInterface() RPH->RPHI is not a safe cast; very similar ...
4 years, 2 months ago (2016-09-30 23:35:14 UTC) #8
Ken Rockot(use gerrit already)
On 2016/09/30 at 23:35:14, nick wrote: > https://codereview.chromium.org/2383853003/diff/1/content/browser/frame_host/render_frame_proxy_host.cc > File content/browser/frame_host/render_frame_proxy_host.cc (right): > > https://codereview.chromium.org/2383853003/diff/1/content/browser/frame_host/render_frame_proxy_host.cc#newcode189 ...
4 years, 2 months ago (2016-09-30 23:39:13 UTC) #9
Ken Rockot(use gerrit already)
OK - I've changed this to take advantage of SupportsUserData in RPHI and added a ...
4 years, 2 months ago (2016-10-03 17:44:23 UTC) #12
Ken Rockot(use gerrit already)
On 2016/10/03 at 17:44:23, Ken Rockot wrote: > OK - I've changed this to take ...
4 years, 2 months ago (2016-10-03 19:29:55 UTC) #17
Ken Rockot(use gerrit already)
On 2016/10/03 at 19:29:55, Ken Rockot wrote: > On 2016/10/03 at 17:44:23, Ken Rockot wrote: ...
4 years, 2 months ago (2016-10-03 19:31:23 UTC) #18
ncarter (slow)
lgtm with this approach; it seems like the right way to work inside of the ...
4 years, 2 months ago (2016-10-03 22:45:09 UTC) #21
Ken Rockot(use gerrit already)
On 2016/10/03 at 22:45:09, nick wrote: > lgtm with this approach; it seems like the ...
4 years, 2 months ago (2016-10-03 22:54:23 UTC) #22
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/2383853003/40001
4 years, 2 months ago (2016-10-03 22:55:24 UTC) #24
Ken Rockot(use gerrit already)
Friendly ping tsepez@ for mojom
4 years, 2 months ago (2016-10-03 23:31:12 UTC) #27
Tom Sepez
messages/mojom LGTM.
4 years, 2 months ago (2016-10-04 20:09:38 UTC) #44
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/2383853003/100001
4 years, 2 months ago (2016-10-04 20:10:49 UTC) #47
commit-bot: I haz the power
Committed patchset #5 (id:100001)
4 years, 2 months ago (2016-10-04 20:17:30 UTC) #48
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/53be7caf3a84b07c4246c5c250ccac629113db9c Cr-Commit-Position: refs/heads/master@{#422900}
4 years, 2 months ago (2016-10-04 20:20:45 UTC) #50
jam
drive-by: just saw the new way of getting access to this method to accommodate MockRPH. ...
4 years, 2 months ago (2016-10-05 16:12:57 UTC) #51
Ken Rockot(use gerrit already)
On Wed, Oct 5, 2016 at 9:12 AM, <jam@chromium.org> wrote: > drive-by: just saw the ...
4 years, 2 months ago (2016-10-05 16:18:32 UTC) #52
jam
4 years, 2 months ago (2016-10-05 17:43:47 UTC) #53
Message was sent while issue was closed.
On 2016/10/05 16:18:32, Ken Rockot wrote:
> On Wed, Oct 5, 2016 at 9:12 AM, <mailto:jam@chromium.org> wrote:
> 
> > drive-by: just saw the new way of getting access to this method to
> > accommodate
> > MockRPH. The API is quite cumbersome and unlike any other method on RPH
> >
> 
> Agreed, pretty cumbersome. But it's not unlike other RPH methods. There are
> a few other examples of the pattern.

Ah I didn't realize there were so many already. Ok I'll comment in the bug Nick
filed.

> 
> 
> >
> > question: is this code path actually reached with MockRPH? What we do in
> > these
> >
> 
> Yes, it's reached on MockRPH
> 
> 
> > cases is just put it on RPHImpl then. The reason that MockRPH implements
> > the
> > public interface was that when we introduced the RPH interface we didn't
> > want to
> > introduce yet another class that the impl and mock derive from. In
> > situations
> > where we do need a method to be implemented on MockRPH, the pattern we've
> > used
> > is to just add it to the public interface as a compromise.
> >
> 
> In this case the compromise would also include exposing the mojom itself in
> content/public. This would be a significant departure from the status quo
> since all of content's IPC messages are internal to content today.
> 
> 
> >
> > https://codereview.chromium.org/2383853003/
> >
> 
> As a compromise, we could expose the accessors in the public API but only
> forward-declare the mojom interface, so content embedders could never
> practically make use of the API. I'd be happy to do that instead if you're
> not opposed.
> 
> -- 
> You received this message because you are subscribed to the Google Groups
> "Chromium-reviews" group.
> To unsubscribe from this group and stop receiving emails from it, send an
email
> to mailto:chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698