summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/api
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/api')
-rw-r--r--chrome/browser/extensions/api/app_window/app_window_api.cc32
1 files changed, 21 insertions, 11 deletions
diff --git a/chrome/browser/extensions/api/app_window/app_window_api.cc b/chrome/browser/extensions/api/app_window/app_window_api.cc
index a421b95..2dccb33 100644
--- a/chrome/browser/extensions/api/app_window/app_window_api.cc
+++ b/chrome/browser/extensions/api/app_window/app_window_api.cc
@@ -22,6 +22,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/common/url_constants.h"
#include "googleurl/src/gurl.h"
+#include "ui/base/ui_base_types.h"
#include "ui/gfx/rect.h"
#if defined(USE_ASH)
@@ -82,6 +83,20 @@ class DevToolsRestorer : public content::NotificationObserver {
content::NotificationRegistrar registrar_;
};
+void SetCreateResultFromShellWindow(ShellWindow* window,
+ base::DictionaryValue* result) {
+ result->SetBoolean("fullscreen", window->GetBaseWindow()->IsFullscreen());
+ result->SetBoolean("minimized", window->GetBaseWindow()->IsMinimized());
+ result->SetBoolean("maximized", window->GetBaseWindow()->IsMaximized());
+ DictionaryValue* boundsValue = new DictionaryValue();
+ gfx::Rect bounds = window->GetClientBounds();
+ boundsValue->SetInteger("left", bounds.x());
+ boundsValue->SetInteger("top", bounds.y());
+ boundsValue->SetInteger("width", bounds.width());
+ boundsValue->SetInteger("height", bounds.height());
+ result->Set("bounds", boundsValue);
+}
+
} // namespace
void AppWindowCreateFunction::SendDelayedResponse() {
@@ -140,6 +155,7 @@ bool AppWindowCreateFunction::RunImpl() {
window->GetBaseWindow()->Show();
base::DictionaryValue* result = new base::DictionaryValue;
result->Set("viewId", base::Value::CreateIntegerValue(view_id));
+ SetCreateResultFromShellWindow(window, result);
result->SetBoolean("existingWindow", true);
result->SetBoolean("injectTitlebar", false);
SetResult(result);
@@ -230,13 +246,13 @@ bool AppWindowCreateFunction::RunImpl() {
case extensions::api::app_window::STATE_NORMAL:
break;
case extensions::api::app_window::STATE_FULLSCREEN:
- create_params.state = ShellWindow::CreateParams::STATE_FULLSCREEN;
+ create_params.state = ui::SHOW_STATE_FULLSCREEN;
break;
case extensions::api::app_window::STATE_MAXIMIZED:
- create_params.state = ShellWindow::CreateParams::STATE_MAXIMIZED;
+ create_params.state = ui::SHOW_STATE_MAXIMIZED;
break;
case extensions::api::app_window::STATE_MINIMIZED:
- create_params.state = ShellWindow::CreateParams::STATE_MINIMIZED;
+ create_params.state = ui::SHOW_STATE_MINIMIZED;
break;
}
} else {
@@ -266,7 +282,7 @@ bool AppWindowCreateFunction::RunImpl() {
#endif
if (force_maximize)
- create_params.state = ShellWindow::CreateParams::STATE_MAXIMIZED;
+ create_params.state = ui::SHOW_STATE_MAXIMIZED;
ShellWindow* shell_window =
ShellWindow::Create(profile(), GetExtension(), url, create_params);
@@ -285,13 +301,7 @@ bool AppWindowCreateFunction::RunImpl() {
result->Set("injectTitlebar",
base::Value::CreateBooleanValue(inject_html_titlebar));
result->Set("id", base::Value::CreateStringValue(shell_window->window_key()));
- DictionaryValue* boundsValue = new DictionaryValue();
- gfx::Rect bounds = shell_window->GetClientBounds();
- boundsValue->SetInteger("left", bounds.x());
- boundsValue->SetInteger("top", bounds.y());
- boundsValue->SetInteger("width", bounds.width());
- boundsValue->SetInteger("height", bounds.height());
- result->Set("bounds", boundsValue);
+ SetCreateResultFromShellWindow(shell_window, result);
SetResult(result);
if (ShellWindowRegistry::Get(profile())->HadDevToolsAttached(created_view)) {