diff options
author | dtrainor <dtrainor@chromium.org> | 2015-11-18 16:12:47 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-11-19 00:14:14 +0000 |
commit | 5ef644e199b927c4fadb80e87ac68fd397686f63 (patch) | |
tree | be7d03f03b37f9baeac7d746f8c69d900180f5e3 /blimp | |
parent | a527d792237832e0040b60225fec2dde22df5023 (diff) | |
download | chromium_src-5ef644e199b927c4fadb80e87ac68fd397686f63.zip chromium_src-5ef644e199b927c4fadb80e87ac68fd397686f63.tar.gz chromium_src-5ef644e199b927c4fadb80e87ac68fd397686f63.tar.bz2 |
Add IPC messages to transfer compositor protos
- Be able to send and receive compositor protos to/from the render
process and the browser process. Messages are piped through the
browser process to/from the network and renderer. A separate client
(go/blimp) will render the compositor protos. This is part of the
compositor refactor around splitting ThreadProxy into two components.
- Hook the proto sending into the BlimpEngineSession class.
- Set up a RemoteProtoChannel interface on the CC side to be used by the
ChannelMain class once we start building that from the LayerTreeHost.
BUG=552055
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1442853005
Cr-Commit-Position: refs/heads/master@{#360452}
Diffstat (limited to 'blimp')
-rw-r--r-- | blimp/engine/browser/blimp_engine_session.cc | 10 | ||||
-rw-r--r-- | blimp/engine/browser/blimp_engine_session.h | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/blimp/engine/browser/blimp_engine_session.cc b/blimp/engine/browser/blimp_engine_session.cc index f65706a..8f2f1c4 100644 --- a/blimp/engine/browser/blimp_engine_session.cc +++ b/blimp/engine/browser/blimp_engine_session.cc @@ -138,7 +138,8 @@ void BlimpEngineSession::ProcessMessage( scoped_ptr<BlimpMessage> message, const net::CompletionCallback& callback) { DCHECK(message->type() == BlimpMessage::CONTROL || - message->type() == BlimpMessage::NAVIGATION); + message->type() == BlimpMessage::NAVIGATION || + message->type() == BlimpMessage::COMPOSITOR); if (message->type() == BlimpMessage::CONTROL) { switch (message->control().type()) { @@ -233,6 +234,13 @@ void BlimpEngineSession::ActivateContents(content::WebContents* contents) { contents->GetRenderViewHost()->GetWidget()->Focus(); } +void BlimpEngineSession::ForwardCompositorProto( + const std::vector<uint8_t>& proto) { + // Send the compositor proto over the network layer to the client, which will + // apply the proto to their local compositor instance. + // TODO(dtrainor): Send the compositor proto. +} + void BlimpEngineSession::PlatformSetContents( scoped_ptr<content::WebContents> new_contents) { new_contents->SetDelegate(this); diff --git a/blimp/engine/browser/blimp_engine_session.h b/blimp/engine/browser/blimp_engine_session.h index 8adaef5..6b117a9 100644 --- a/blimp/engine/browser/blimp_engine_session.h +++ b/blimp/engine/browser/blimp_engine_session.h @@ -86,6 +86,7 @@ class BlimpEngineSession : public BlimpMessageProcessor, bool last_unlocked_by_target) override; void CloseContents(content::WebContents* source) override; void ActivateContents(content::WebContents* contents) override; + void ForwardCompositorProto(const std::vector<uint8_t>& proto) override; // Sets up and owns |new_contents|. void PlatformSetContents(scoped_ptr<content::WebContents> new_contents); |