Chromium Code Reviews| Index: chrome/browser/devtools/devtools_embedder_message_dispatcher.cc |
| diff --git a/chrome/browser/devtools/devtools_embedder_message_dispatcher.cc b/chrome/browser/devtools/devtools_embedder_message_dispatcher.cc |
| index b3449b0cdafa2878a7666b5a0a159ac21a26e963..903a8f7c43fff71e2d0120f76fa83231c7a385fe 100644 |
| --- a/chrome/browser/devtools/devtools_embedder_message_dispatcher.cc |
| +++ b/chrome/browser/devtools/devtools_embedder_message_dispatcher.cc |
| @@ -21,6 +21,36 @@ bool GetValue(const base::ListValue& list, int pos, bool& value) { |
| return list.GetBoolean(pos, &value); |
| } |
| +bool GetValue(const base::ListValue& list, int pos, |
|
pfeldman
2014/01/31 11:28:30
I'd rather define traits for Insets and Size
dgozman
2014/01/31 13:33:13
Done.
|
| + DevToolsContentsResizingStrategy& strategy) { |
| + const base::DictionaryValue* dict; |
| + if (!list.GetDictionary(pos, &dict)) |
| + return false; |
| + const base::DictionaryValue* insets; |
| + if (!dict->GetDictionary("insets", &insets)) |
| + return false; |
| + int top = 0; |
| + int left = 0; |
| + int bottom = 0; |
| + int right = 0; |
| + if (!insets->GetInteger("top", &top) || |
| + !insets->GetInteger("left", &left) || |
| + !insets->GetInteger("bottom", &bottom) || |
| + !insets->GetInteger("right", &right)) |
| + return false; |
| + strategy.insets.Set(top, left, bottom, right); |
| + const base::DictionaryValue* min_size; |
| + if (!dict->GetDictionary("min_size", &min_size)) |
| + return false; |
| + int width = 0; |
| + int height = 0; |
| + if (!min_size->GetInteger("width", &width) || |
| + !min_size->GetInteger("height", &height)) |
| + return false; |
| + strategy.min_size.SetSize(width, height); |
| + return true; |
| +} |
| + |
| template <typename T> |
| struct StorageTraits { |
| typedef T StorageType; |
| @@ -161,6 +191,9 @@ DevToolsEmbedderMessageDispatcher::DevToolsEmbedderMessageDispatcher( |
| RegisterHandler("setContentsInsets", |
| BindToListParser(base::Bind(&Delegate::SetContentsInsets, |
| base::Unretained(delegate)))); |
| + RegisterHandler("setContentsResizingStrategy", |
| + BindToListParser(base::Bind(&Delegate::SetContentsResizingStrategy, |
| + base::Unretained(delegate)))); |
| RegisterHandler("moveWindowBy", |
| BindToListParser(base::Bind(&Delegate::MoveWindow, |
| base::Unretained(delegate)))); |