Chromium Code Reviews| 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..9d57308fb7fe4de8cbc164cdbea2c6891e003a36 100644 |
| --- a/chrome/browser/extensions/api/app_window/app_window_api.cc |
| +++ b/chrome/browser/extensions/api/app_window/app_window_api.cc |
| @@ -50,6 +50,11 @@ const char kInactiveColorWithoutColor[] = |
| "frame.inactiveColor must be used with frame.color."; |
| const char kConflictingBoundsOptions[] = |
| "The $1 property cannot be specified for both inner and outer bounds."; |
| + |
| +#if defined(USE_AURA) |
| +const char kMissingPermissionAlphaEnabled[] = |
| + "The alphaEnabled option requires app.window.alpha permission."; |
| +#endif |
| } // namespace app_window_constants |
| const char kNoneFrameOption[] = "none"; |
| @@ -223,12 +228,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) |
|
benwells
2014/05/12 04:25:17
Why is this gated on aura? If you try to use this
garykac
2014/07/09 23:19:21
Done.
|
| + 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) || |
|
benwells
2014/05/12 04:25:17
After thinking about it I'd prefer to remove acces
garykac
2014/07/09 23:19:21
I don't know of any apps. Removed.
|
| + CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kEnableExperimentalExtensionApis)) { |
| + allow_alpha_enabled = true; |
| + } |
| + // Support alphaEnabled permission on dev channel. |
| + if (GetCurrentChannel() <= chrome::VersionInfo::CHANNEL_DEV) { |
|
benwells
2014/05/12 04:25:17
There should also be an error if the user tries to
garykac
2014/07/09 23:19:21
Done. Handled in the _permission_features.json.
|
| + 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(); |