summaryrefslogtreecommitdiffstats
path: root/components/web_view
diff options
context:
space:
mode:
authorJohn Abd-El-Malek <jam@chromium.org>2015-12-06 15:48:24 -0800
committerJohn Abd-El-Malek <jam@chromium.org>2015-12-06 23:50:50 +0000
commit44929cdb67189f2715c90b1a17bc29ccc2276991 (patch)
tree913c897a2113b6ac2332453ea4ee8b0da66f236a /components/web_view
parenta084851454dcd1e199b94d2f21904bcfa38568c3 (diff)
downloadchromium_src-44929cdb67189f2715c90b1a17bc29ccc2276991.zip
chromium_src-44929cdb67189f2715c90b1a17bc29ccc2276991.tar.gz
chromium_src-44929cdb67189f2715c90b1a17bc29ccc2276991.tar.bz2
Add multiplexing of message pipes in the new EDK.
This dramatically cuts down on the number of OS pipes used. The key is that the vast majority (all for now) of message pipes are only read or written in one process. If they're passed to another process, that is before they're interacted with. So by default, create message pipes such that they're not transferable after they're read or written. A non-transferable pipe is then just a unique ID. When two process "bind" their end by reading/writing to that ID, the parent process ensures that the two processes have a channel between them and tells them to connect to each other using it. "Transferable" message pipes can still be created and these can be sent after they're read or written to, by specifying MOJO_CREATE_MESSAGE_PIPE_OPTIONS_FLAG_TRANSFERABLE. BUG=556259 R=tsepez@chromium.org, yzshen@chromium.org Review URL: https://codereview.chromium.org/1488853002 . Cr-Commit-Position: refs/heads/master@{#363386}
Diffstat (limited to 'components/web_view')
-rw-r--r--components/web_view/frame.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/components/web_view/frame.cc b/components/web_view/frame.cc
index 39077ae..de267a3 100644
--- a/components/web_view/frame.cc
+++ b/components/web_view/frame.cc
@@ -387,12 +387,12 @@ void Frame::OnCanNavigateFrame(
// case we do not use the WindowTreeClient (because the app has a Window
// already
// and ends up reusing it).
- DCHECK(!window_tree_client.get());
+ DCHECK(!window_tree_client);
ChangeClient(frame_client, user_data.Pass(), window_tree_client.Pass(),
app_id, navigation_start_time);
} else {
waiting_for_on_will_navigate_ack_ = true;
- DCHECK(window_tree_client.get());
+ DCHECK(window_tree_client);
// TODO(sky): url isn't correct here, it should be a security origin.
frame_client_->OnWillNavigate(
url.spec(),