summaryrefslogtreecommitdiffstats
path: root/blimp/common
diff options
context:
space:
mode:
authordtrainor <dtrainor@chromium.org>2015-12-09 18:17:49 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-10 02:18:26 +0000
commit9ff61e93d8cb701dfa8c9caffa8a4dd477e9c3ef (patch)
tree0afe7408d37a977f7aa3ef4cc893f4cfbb539e02 /blimp/common
parentf129b16fb7efb7541b79a6f557fce6c5193f6310 (diff)
downloadchromium_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.cc11
-rw-r--r--blimp/common/create_blimp_message.h4
-rw-r--r--blimp/common/create_blimp_message_unittest.cc10
-rw-r--r--blimp/common/proto/control.proto3
-rw-r--r--blimp/common/proto/size.proto1
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;
}