OLD | NEW |
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 #ifndef APPS_APP_WINDOW_H_ | 5 #ifndef APPS_APP_WINDOW_H_ |
6 #define APPS_APP_WINDOW_H_ | 6 #define APPS_APP_WINDOW_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
10 #include "chrome/browser/extensions/extension_icon_image.h" | 10 #include "chrome/browser/extensions/extension_icon_image.h" |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 struct CreateParams { | 137 struct CreateParams { |
138 CreateParams(); | 138 CreateParams(); |
139 ~CreateParams(); | 139 ~CreateParams(); |
140 | 140 |
141 WindowType window_type; | 141 WindowType window_type; |
142 Frame frame; | 142 Frame frame; |
143 | 143 |
144 bool has_frame_color; | 144 bool has_frame_color; |
145 SkColor active_frame_color; | 145 SkColor active_frame_color; |
146 SkColor inactive_frame_color; | 146 SkColor inactive_frame_color; |
147 bool transparent_background; // Only supported on ash. | 147 bool alpha_enabled; // Only supported on ash. |
148 | 148 |
149 // The initial content/inner bounds specification (excluding any window | 149 // The initial content/inner bounds specification (excluding any window |
150 // decorations). | 150 // decorations). |
151 BoundsSpecification content_spec; | 151 BoundsSpecification content_spec; |
152 | 152 |
153 // The initial window/outer bounds specification (including window | 153 // The initial window/outer bounds specification (including window |
154 // decorations). | 154 // decorations). |
155 BoundsSpecification window_spec; | 155 BoundsSpecification window_spec; |
156 | 156 |
157 std::string window_key; | 157 std::string window_key; |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 | 343 |
344 // Whether the always-on-top property has been set by the chrome.app.window | 344 // Whether the always-on-top property has been set by the chrome.app.window |
345 // API. Note that the actual value of this property in the native app window | 345 // API. Note that the actual value of this property in the native app window |
346 // may be false if the bit is silently switched off for security reasons. | 346 // may be false if the bit is silently switched off for security reasons. |
347 bool IsAlwaysOnTop() const; | 347 bool IsAlwaysOnTop() const; |
348 | 348 |
349 // Retrieve the current state of the app window as a dictionary, to pass to | 349 // Retrieve the current state of the app window as a dictionary, to pass to |
350 // the renderer. | 350 // the renderer. |
351 void GetSerializedState(base::DictionaryValue* properties) const; | 351 void GetSerializedState(base::DictionaryValue* properties) const; |
352 | 352 |
| 353 // Whether this window allows a transparent background image. |
| 354 // Currently, only Ash (ChromeOS/Windows) support transparent windows. |
| 355 // This will always return false on platforms that don't support transparent |
| 356 // windows. |
| 357 bool AlphaEnabled() const; |
| 358 |
353 protected: | 359 protected: |
354 virtual ~AppWindow(); | 360 virtual ~AppWindow(); |
355 | 361 |
356 private: | 362 private: |
357 // PlatformAppBrowserTest needs access to web_contents() | 363 // PlatformAppBrowserTest needs access to web_contents() |
358 friend class extensions::PlatformAppBrowserTest; | 364 friend class extensions::PlatformAppBrowserTest; |
359 | 365 |
360 // content::WebContentsDelegate implementation. | 366 // content::WebContentsDelegate implementation. |
361 virtual void CloseContents(content::WebContents* contents) OVERRIDE; | 367 virtual void CloseContents(content::WebContents* contents) OVERRIDE; |
362 virtual bool ShouldSuppressDialogs() OVERRIDE; | 368 virtual bool ShouldSuppressDialogs() OVERRIDE; |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 // Whether the delayed Show() call was for an active or inactive window. | 527 // Whether the delayed Show() call was for an active or inactive window. |
522 ShowType delayed_show_type_; | 528 ShowType delayed_show_type_; |
523 | 529 |
524 // Cache the desired value of the always-on-top property. When windows enter | 530 // Cache the desired value of the always-on-top property. When windows enter |
525 // fullscreen or overlap the Windows taskbar, this property will be | 531 // fullscreen or overlap the Windows taskbar, this property will be |
526 // automatically and silently switched off for security reasons. It is | 532 // automatically and silently switched off for security reasons. It is |
527 // reinstated when the window exits fullscreen and moves away from the | 533 // reinstated when the window exits fullscreen and moves away from the |
528 // taskbar. | 534 // taskbar. |
529 bool cached_always_on_top_; | 535 bool cached_always_on_top_; |
530 | 536 |
| 537 // Cache the alpha_enabled attribute from the window creation. |
| 538 bool cached_alpha_enabled_; |
| 539 |
531 DISALLOW_COPY_AND_ASSIGN(AppWindow); | 540 DISALLOW_COPY_AND_ASSIGN(AppWindow); |
532 }; | 541 }; |
533 | 542 |
534 } // namespace apps | 543 } // namespace apps |
535 | 544 |
536 #endif // APPS_APP_WINDOW_H_ | 545 #endif // APPS_APP_WINDOW_H_ |
OLD | NEW |