Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Unified Diff: chrome/browser/extensions/api/app_window/app_window_api.cc

Issue 10871086: First part of remembering platform app window geometry. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: actually make it compile Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/extensions/extension_system.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/app_window/app_window_api.cc
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 4bebe7e0415ef1db19c2c5d376af015ffb6d230c..ba368d21aea0951f6755028d2cd9d75064751701 100644
--- a/chrome/browser/extensions/api/app_window/app_window_api.cc
+++ b/chrome/browser/extensions/api/app_window/app_window_api.cc
@@ -58,14 +58,40 @@ bool AppWindowCreateFunction::RunImpl() {
ShellWindow::CreateParams create_params;
app_window::CreateWindowOptions* options = params->options.get();
if (options) {
- if (options->width.get())
- create_params.bounds.set_width(*options->width.get());
- if (options->height.get())
- create_params.bounds.set_height(*options->height.get());
- if (options->left.get())
- create_params.bounds.set_x(*options->left.get());
- if (options->top.get())
- create_params.bounds.set_y(*options->top.get());
+ if (options->id.get()) {
+ // TODO(mek): use URL if no id specified?
+ // Limit length of id to 256 characters.
+ if (options->id->length() > 256)
+ create_params.window_key = options->id->substr(0, 256);
asargent_no_longer_on_chrome 2012/08/29 19:54:18 Instead of silently truncating, let's instead retu
+ else
+ create_params.window_key = *options->id;
+ }
+
+ if (options->default_width.get())
+ create_params.bounds.set_width(*options->default_width.get());
+ if (options->default_height.get())
+ create_params.bounds.set_height(*options->default_height.get());
+ if (options->default_left.get())
+ create_params.bounds.set_x(*options->default_left.get());
+ if (options->default_top.get())
+ create_params.bounds.set_y(*options->default_top.get());
+
+
+ if (options->width.get() || options->height.get()) {
+ if (options->width.get())
+ create_params.bounds.set_width(*options->width.get());
+ if (options->height.get())
+ create_params.bounds.set_height(*options->height.get());
+ create_params.restoreSize = false;
+ }
+
+ if (options->left.get() || options->top.get()) {
+ if (options->left.get())
+ create_params.bounds.set_x(*options->left.get());
+ if (options->top.get())
+ create_params.bounds.set_y(*options->top.get());
+ create_params.restorePosition = false;
+ }
if (options->frame.get()) {
create_params.frame = *options->frame == kNoneFrameOption ?
« no previous file with comments | « no previous file | chrome/browser/extensions/extension_system.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698