diff options
author | dtrainor <dtrainor@chromium.org> | 2015-12-09 18:17:49 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-10 02:18:26 +0000 |
commit | 9ff61e93d8cb701dfa8c9caffa8a4dd477e9c3ef (patch) | |
tree | 0afe7408d37a977f7aa3ef4cc893f4cfbb539e02 /blimp/common | |
parent | f129b16fb7efb7541b79a6f557fce6c5193f6310 (diff) | |
download | chromium_src-9ff61e93d8cb701dfa8c9caffa8a4dd477e9c3ef.zip chromium_src-9ff61e93d8cb701dfa8c9caffa8a4dd477e9c3ef.tar.gz chromium_src-9ff61e93d8cb701dfa8c9caffa8a4dd477e9c3ef.tar.bz2 |
Create a ControlFeature for Blimp
Add a basic ControlFeature class for blimp to allow for passing resize
messages to the engine.
BUG=
Review URL: https://codereview.chromium.org/1496013004
Cr-Commit-Position: refs/heads/master@{#364259}
Diffstat (limited to 'blimp/common')
-rw-r--r-- | blimp/common/create_blimp_message.cc | 11 | ||||
-rw-r--r-- | blimp/common/create_blimp_message.h | 4 | ||||
-rw-r--r-- | blimp/common/create_blimp_message_unittest.cc | 10 | ||||
-rw-r--r-- | blimp/common/proto/control.proto | 3 | ||||
-rw-r--r-- | blimp/common/proto/size.proto | 1 |
5 files changed, 28 insertions, 1 deletions
diff --git a/blimp/common/create_blimp_message.cc b/blimp/common/create_blimp_message.cc index 6697fe0..e4f953a 100644 --- a/blimp/common/create_blimp_message.cc +++ b/blimp/common/create_blimp_message.cc @@ -8,8 +8,10 @@ #include "base/memory/scoped_ptr.h" #include "blimp/common/proto/blimp_message.pb.h" #include "blimp/common/proto/compositor.pb.h" +#include "blimp/common/proto/control.pb.h" #include "blimp/common/proto/input.pb.h" #include "blimp/common/proto/render_widget.pb.h" +#include "blimp/common/proto/size.pb.h" namespace blimp { @@ -62,6 +64,15 @@ scoped_ptr<BlimpMessage> CreateBlimpMessage( return output; } +scoped_ptr<BlimpMessage> CreateBlimpMessage(SizeMessage** size_message) { + DCHECK(size_message); + ControlMessage* control_message; + scoped_ptr<BlimpMessage> output = CreateBlimpMessage(&control_message); + control_message->set_type(ControlMessage::SIZE); + *size_message = control_message->mutable_size(); + return output; +} + scoped_ptr<BlimpMessage> CreateStartConnectionMessage( const std::string& client_token, int protocol_version) { diff --git a/blimp/common/create_blimp_message.h b/blimp/common/create_blimp_message.h index 22a508f..c6ac4db 100644 --- a/blimp/common/create_blimp_message.h +++ b/blimp/common/create_blimp_message.h @@ -18,6 +18,7 @@ class ControlMessage; class InputMessage; class NavigationMessage; class RenderWidgetMessage; +class SizeMessage; class StartConnectionMessage; // Suite of helper methods to simplify the repetitive task of creating @@ -50,6 +51,9 @@ BLIMP_COMMON_EXPORT scoped_ptr<BlimpMessage> CreateBlimpMessage( RenderWidgetMessage** render_widget_message, int target_tab_id); +BLIMP_COMMON_EXPORT scoped_ptr<BlimpMessage> CreateBlimpMessage( + SizeMessage** size_message); + BLIMP_COMMON_EXPORT scoped_ptr<BlimpMessage> CreateStartConnectionMessage( const std::string& client_token, int protocol_version); diff --git a/blimp/common/create_blimp_message_unittest.cc b/blimp/common/create_blimp_message_unittest.cc index 8414ed5..0c1760d 100644 --- a/blimp/common/create_blimp_message_unittest.cc +++ b/blimp/common/create_blimp_message_unittest.cc @@ -9,6 +9,7 @@ #include "blimp/common/proto/input.pb.h" #include "blimp/common/proto/navigation.pb.h" #include "blimp/common/proto/render_widget.pb.h" +#include "blimp/common/proto/size.pb.h" #include "testing/gtest/include/gtest/gtest.h" namespace blimp { @@ -59,6 +60,15 @@ TEST(CreateBlimpMessageTest, RenderWidgetMessage) { EXPECT_EQ(kTabId, message->target_tab_id()); } +TEST(CreateBlimpMessageTest, SizeMessage) { + SizeMessage* details = nullptr; + scoped_ptr<BlimpMessage> message = CreateBlimpMessage(&details); + EXPECT_NE(nullptr, details); + EXPECT_NE(nullptr, message); + EXPECT_EQ(ControlMessage::SIZE, message->mutable_control()->type()); + EXPECT_EQ(details, message->mutable_control()->mutable_size()); +} + TEST(CreateBlimpMessageTest, StartConnectionMessage) { const char* client_token = "token"; const int protocol_version = 1; diff --git a/blimp/common/proto/control.proto b/blimp/common/proto/control.proto index 1a909b6..8d29789 100644 --- a/blimp/common/proto/control.proto +++ b/blimp/common/proto/control.proto @@ -28,5 +28,6 @@ message ControlMessage { // Feature-specific messages follow. // Only one of these fields may be set per ControlMessage. - optional SizeMessage resize = 1000; + // TODO(kmarshall): use a 'oneof' union when it's supported in Chromium. + optional SizeMessage size = 1000; } diff --git a/blimp/common/proto/size.proto b/blimp/common/proto/size.proto index f6ba801..fc59b2d 100644 --- a/blimp/common/proto/size.proto +++ b/blimp/common/proto/size.proto @@ -13,5 +13,6 @@ package blimp; message SizeMessage { optional uint64 width = 1; optional uint64 height = 2; + optional float device_pixel_ratio = 3; } |