| 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 199fbf4b9afcf5c70f65f9c120e15ee1d71df112..4c117501ad1bd2fcef519046d740e86469d1a833 100644
|
| --- a/chrome/browser/extensions/api/app_window/app_window_api.cc
|
| +++ b/chrome/browser/extensions/api/app_window/app_window_api.cc
|
| @@ -54,6 +54,8 @@ const char kAlwaysOnTopPermission[] =
|
| "The \"app.window.alwaysOnTop\" permission is required.";
|
| const char kInvalidUrlParameter[] =
|
| "The URL used for window creation must be local for security reasons.";
|
| +const char kTransparentBackgroundNeedsFrameNone[] =
|
| + "\"transparent_background\" can only be used with \"frame: none\".";
|
| } // namespace app_window_constants
|
|
|
| const char kNoneFrameOption[] = "none";
|
| @@ -232,12 +234,17 @@ bool AppWindowCreateFunction::RunAsync() {
|
| if (!GetFrameOptions(*options, &create_params))
|
| return false;
|
|
|
| - if (options->transparent_background.get() &&
|
| - (GetExtension()->permissions_data()->HasAPIPermission(
|
| - APIPermission::kExperimental) ||
|
| - CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kEnableExperimentalExtensionApis))) {
|
| - create_params.transparent_background = *options->transparent_background;
|
| + if (options->transparent_background.get()) {
|
| + if (create_params.frame != AppWindow::FRAME_NONE) {
|
| + error_ = app_window_constants::kTransparentBackgroundNeedsFrameNone;
|
| + return false;
|
| + }
|
| + if (GetExtension()->permissions_data()->HasAPIPermission(
|
| + APIPermission::kExperimental) ||
|
| + CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableExperimentalExtensionApis)) {
|
| + create_params.transparent_background = *options->transparent_background;
|
| + }
|
| }
|
|
|
| if (options->hidden.get())
|
|
|