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

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

Issue 190533006: Add support for transparent background API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename transparentBackground to alphaEnabled Created 6 years, 7 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
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 4f2b68eaf5672670e0a9279fb614087e130a07c2..cc848389ae3249c5c3ac525391cdd87742556994 100644
--- a/chrome/browser/extensions/api/app_window/app_window_api.cc
+++ b/chrome/browser/extensions/api/app_window/app_window_api.cc
@@ -41,6 +41,8 @@ namespace extensions {
namespace app_window_constants {
const char kInvalidWindowId[] =
"The window id can not be more than 256 characters long.";
+const char kMissingPermissionAlphaEnabled[] =
+ "The alphaEnabled option requires app.window.alpha permission.";
const char kInvalidColorSpecification[] =
"The color specification could not be parsed.";
const char kInvalidChannelForFrameOptions[] =
@@ -223,12 +225,30 @@ bool AppWindowCreateFunction::RunAsync() {
if (!GetFrameOptions(*options, &create_params))
return false;
- if (options->transparent_background.get() &&
- (GetExtension()->HasAPIPermission(APIPermission::kExperimental) ||
- CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableExperimentalExtensionApis))) {
- create_params.transparent_background = *options->transparent_background;
+#if defined(USE_AURA)
+ if (options->alpha_enabled.get()) {
+ bool allow_alpha_enabled = false;
+ // For now, continue to support this if Experimental is set (any channel).
+ // TODO(garykac) Remove this once the permission moves to stable.
+ if (GetExtension()->HasAPIPermission(APIPermission::kExperimental) ||
+ CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableExperimentalExtensionApis)) {
+ allow_alpha_enabled = true;
+ }
+ // Support alphaEnabled permission on dev channel.
+ if (GetCurrentChannel() <= chrome::VersionInfo::CHANNEL_DEV) {
+ if (GetExtension()->HasAPIPermission(APIPermission::kAlphaEnabled)) {
+ allow_alpha_enabled = true;
+ } else {
+ error_ = app_window_constants::kMissingPermissionAlphaEnabled;
+ return false;
+ }
+ }
+ if (allow_alpha_enabled) {
+ create_params.alpha_enabled = *options->alpha_enabled;
+ }
}
+#endif
if (options->hidden.get())
create_params.hidden = *options->hidden.get();

Powered by Google App Engine
This is Rietveld 408576698