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

Side by Side Diff: apps/app_window.cc

Issue 375183002: Add app.window.alphaEnabled() and onAlphaEnabledChanged. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync and rebase Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « apps/app_window.h ('k') | apps/ui/native_app_window.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "apps/app_window.h" 5 #include "apps/app_window.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "apps/app_window_geometry_cache.h" 9 #include "apps/app_window_geometry_cache.h"
10 #include "apps/app_window_registry.h" 10 #include "apps/app_window_registry.h"
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 extension_id_(extension->id()), 238 extension_id_(extension->id()),
239 window_type_(WINDOW_TYPE_DEFAULT), 239 window_type_(WINDOW_TYPE_DEFAULT),
240 delegate_(delegate), 240 delegate_(delegate),
241 image_loader_ptr_factory_(this), 241 image_loader_ptr_factory_(this),
242 fullscreen_types_(FULLSCREEN_TYPE_NONE), 242 fullscreen_types_(FULLSCREEN_TYPE_NONE),
243 show_on_first_paint_(false), 243 show_on_first_paint_(false),
244 first_paint_complete_(false), 244 first_paint_complete_(false),
245 has_been_shown_(false), 245 has_been_shown_(false),
246 can_send_events_(false), 246 can_send_events_(false),
247 is_hidden_(false), 247 is_hidden_(false),
248 cached_always_on_top_(false) { 248 cached_always_on_top_(false),
249 requested_transparent_background_(false) {
249 extensions::ExtensionsBrowserClient* client = 250 extensions::ExtensionsBrowserClient* client =
250 extensions::ExtensionsBrowserClient::Get(); 251 extensions::ExtensionsBrowserClient::Get();
251 CHECK(!client->IsGuestSession(context) || context->IsOffTheRecord()) 252 CHECK(!client->IsGuestSession(context) || context->IsOffTheRecord())
252 << "Only off the record window may be opened in the guest mode."; 253 << "Only off the record window may be opened in the guest mode.";
253 } 254 }
254 255
255 void AppWindow::Init(const GURL& url, 256 void AppWindow::Init(const GURL& url,
256 AppWindowContents* app_window_contents, 257 AppWindowContents* app_window_contents,
257 const CreateParams& params) { 258 const CreateParams& params) {
258 // Initialize the render interface and web contents 259 // Initialize the render interface and web contents
(...skipping 19 matching lines...) Expand all
278 // Initialize the window 279 // Initialize the window
279 CreateParams new_params = LoadDefaults(params); 280 CreateParams new_params = LoadDefaults(params);
280 window_type_ = new_params.window_type; 281 window_type_ = new_params.window_type;
281 window_key_ = new_params.window_key; 282 window_key_ = new_params.window_key;
282 283
283 // Windows cannot be always-on-top in fullscreen mode for security reasons. 284 // Windows cannot be always-on-top in fullscreen mode for security reasons.
284 cached_always_on_top_ = new_params.always_on_top; 285 cached_always_on_top_ = new_params.always_on_top;
285 if (new_params.state == ui::SHOW_STATE_FULLSCREEN) 286 if (new_params.state == ui::SHOW_STATE_FULLSCREEN)
286 new_params.always_on_top = false; 287 new_params.always_on_top = false;
287 288
289 requested_transparent_background_ = new_params.transparent_background;
290
288 native_app_window_.reset(delegate_->CreateNativeAppWindow(this, new_params)); 291 native_app_window_.reset(delegate_->CreateNativeAppWindow(this, new_params));
289 292
290 popup_manager_.reset( 293 popup_manager_.reset(
291 new web_modal::PopupManager(GetWebContentsModalDialogHost())); 294 new web_modal::PopupManager(GetWebContentsModalDialogHost()));
292 popup_manager_->RegisterWith(web_contents); 295 popup_manager_->RegisterWith(web_contents);
293 296
294 // Prevent the browser process from shutting down while this window exists. 297 // Prevent the browser process from shutting down while this window exists.
295 AppsClient::Get()->IncrementKeepAliveCount(); 298 AppsClient::Get()->IncrementKeepAliveCount();
296 UpdateExtensionAppIcon(); 299 UpdateExtensionAppIcon();
297 AppWindowRegistry::Get(browser_context_)->AddAppWindow(this); 300 AppWindowRegistry::Get(browser_context_)->AddAppWindow(this);
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 752
750 void AppWindow::GetSerializedState(base::DictionaryValue* properties) const { 753 void AppWindow::GetSerializedState(base::DictionaryValue* properties) const {
751 DCHECK(properties); 754 DCHECK(properties);
752 755
753 properties->SetBoolean("fullscreen", 756 properties->SetBoolean("fullscreen",
754 native_app_window_->IsFullscreenOrPending()); 757 native_app_window_->IsFullscreenOrPending());
755 properties->SetBoolean("minimized", native_app_window_->IsMinimized()); 758 properties->SetBoolean("minimized", native_app_window_->IsMinimized());
756 properties->SetBoolean("maximized", native_app_window_->IsMaximized()); 759 properties->SetBoolean("maximized", native_app_window_->IsMaximized());
757 properties->SetBoolean("alwaysOnTop", IsAlwaysOnTop()); 760 properties->SetBoolean("alwaysOnTop", IsAlwaysOnTop());
758 properties->SetBoolean("hasFrameColor", native_app_window_->HasFrameColor()); 761 properties->SetBoolean("hasFrameColor", native_app_window_->HasFrameColor());
762 properties->SetBoolean("alphaEnabled",
763 requested_transparent_background_ &&
764 native_app_window_->CanHaveAlphaEnabled());
759 765
760 // These properties are undocumented and are to enable testing. Alpha is 766 // These properties are undocumented and are to enable testing. Alpha is
761 // removed to 767 // removed to
762 // make the values easier to check. 768 // make the values easier to check.
763 SkColor transparent_white = ~SK_ColorBLACK; 769 SkColor transparent_white = ~SK_ColorBLACK;
764 properties->SetInteger( 770 properties->SetInteger(
765 "activeFrameColor", 771 "activeFrameColor",
766 native_app_window_->ActiveFrameColor() & transparent_white); 772 native_app_window_->ActiveFrameColor() & transparent_white);
767 properties->SetInteger( 773 properties->SetInteger(
768 "inactiveFrameColor", 774 "inactiveFrameColor",
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
1147 region.bounds.x(), 1153 region.bounds.x(),
1148 region.bounds.y(), 1154 region.bounds.y(),
1149 region.bounds.right(), 1155 region.bounds.right(),
1150 region.bounds.bottom(), 1156 region.bounds.bottom(),
1151 region.draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op); 1157 region.draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op);
1152 } 1158 }
1153 return sk_region; 1159 return sk_region;
1154 } 1160 }
1155 1161
1156 } // namespace apps 1162 } // namespace apps
OLDNEW
« no previous file with comments | « apps/app_window.h ('k') | apps/ui/native_app_window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698