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

Unified Diff: chrome/browser/ui/views/apps/chrome_native_app_window_views.h

Issue 2900783003: Handle app custom icon via aura::Window property. (Closed)
Patch Set: fix mac compile Created 3 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/ui/views/apps/chrome_native_app_window_views.h
diff --git a/chrome/browser/ui/views/apps/chrome_native_app_window_views.h b/chrome/browser/ui/views/apps/chrome_native_app_window_views.h
index 7809977edc475cd3ca39b9cc762b5472f2a02b6d..3234213676e118d23732fbc3d6e8242ba8f999cb 100644
--- a/chrome/browser/ui/views/apps/chrome_native_app_window_views.h
+++ b/chrome/browser/ui/views/apps/chrome_native_app_window_views.h
@@ -8,12 +8,14 @@
#include <memory>
#include "base/macros.h"
+#include "chrome/browser/extensions/chrome_app_icon_delegate.h"
#include "extensions/components/native_app_window/native_app_window_views.h"
class ExtensionKeybindingRegistryViews;
class ChromeNativeAppWindowViews
- : public native_app_window::NativeAppWindowViews {
+ : public native_app_window::NativeAppWindowViews,
+ public extensions::ChromeAppIconDelegate {
public:
ChromeNativeAppWindowViews();
~ChromeNativeAppWindowViews() override;
@@ -69,6 +71,12 @@ class ChromeNativeAppWindowViews
const extensions::AppWindow::CreateParams& create_params) override;
private:
+ // Ensures that the Chrome app icon is created.
+ void EnsureAppIconCreated();
+
+ // extensions::ChromeAppIconDelegate:
+ void OnIconUpdated(extensions::ChromeAppIcon* icon) override;
+
// Custom shape of the window. If this is not set then the window has a
// default shape, usually rectangular.
std::unique_ptr<SkRegion> shape_;
@@ -81,6 +89,10 @@ class ChromeNativeAppWindowViews
std::unique_ptr<ExtensionKeybindingRegistryViews>
extension_keybinding_registry_;
+ // Contains the default Chrome app icon. It is used in case the custom icon
+ // for the extension app window is not set, or as a part of composite image.
+ std::unique_ptr<extensions::ChromeAppIcon> app_icon_;
+
DISALLOW_COPY_AND_ASSIGN(ChromeNativeAppWindowViews);
};

Powered by Google App Engine
This is Rietveld 408576698