Chromium Code Reviews| 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 EXTENSIONS_BROWSER_APP_WINDOW_APP_WINDOW_H_ | 5 #ifndef EXTENSIONS_BROWSER_APP_WINDOW_APP_WINDOW_H_ |
| 6 #define EXTENSIONS_BROWSER_APP_WINDOW_APP_WINDOW_H_ | 6 #define EXTENSIONS_BROWSER_APP_WINDOW_APP_WINDOW_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 189 bool always_on_top; | 189 bool always_on_top; |
| 190 | 190 |
| 191 // If true, the window will be visible on all workspaces. Defaults to false. | 191 // If true, the window will be visible on all workspaces. Defaults to false. |
| 192 bool visible_on_all_workspaces; | 192 bool visible_on_all_workspaces; |
| 193 | 193 |
| 194 // If true, the window will have its own shelf icon. Otherwise the window | 194 // If true, the window will have its own shelf icon. Otherwise the window |
| 195 // will be grouped in the shelf with other windows that are associated with | 195 // will be grouped in the shelf with other windows that are associated with |
| 196 // the app. Defaults to false. | 196 // the app. Defaults to false. |
| 197 bool show_in_shelf; | 197 bool show_in_shelf; |
| 198 | 198 |
| 199 // Icon URL to be used for setting the window icon. | |
| 200 GURL window_icon_url; | |
| 201 | |
| 199 // The API enables developers to specify content or window bounds. This | 202 // The API enables developers to specify content or window bounds. This |
| 200 // function combines them into a single, constrained window size. | 203 // function combines them into a single, constrained window size. |
| 201 gfx::Rect GetInitialWindowBounds(const gfx::Insets& frame_insets) const; | 204 gfx::Rect GetInitialWindowBounds(const gfx::Insets& frame_insets) const; |
| 202 | 205 |
| 203 // The API enables developers to specify content or window size constraints. | 206 // The API enables developers to specify content or window size constraints. |
| 204 // These functions combine them so that we can work with one set of | 207 // These functions combine them so that we can work with one set of |
| 205 // constraints. | 208 // constraints. |
| 206 gfx::Size GetContentMinimumSize(const gfx::Insets& frame_insets) const; | 209 gfx::Size GetContentMinimumSize(const gfx::Insets& frame_insets) const; |
| 207 gfx::Size GetContentMaximumSize(const gfx::Insets& frame_insets) const; | 210 gfx::Size GetContentMaximumSize(const gfx::Insets& frame_insets) const; |
| 208 gfx::Size GetWindowMinimumSize(const gfx::Insets& frame_insets) const; | 211 gfx::Size GetWindowMinimumSize(const gfx::Insets& frame_insets) const; |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 368 bool requested_alpha_enabled() const { return requested_alpha_enabled_; } | 371 bool requested_alpha_enabled() const { return requested_alpha_enabled_; } |
| 369 | 372 |
| 370 // Whether the app window is created by IME extensions. | 373 // Whether the app window is created by IME extensions. |
| 371 // TODO(bshe): rename to hide_app_window_in_launcher if it is not used | 374 // TODO(bshe): rename to hide_app_window_in_launcher if it is not used |
| 372 // anywhere other than app_window_launcher_controller after M45. Otherwise, | 375 // anywhere other than app_window_launcher_controller after M45. Otherwise, |
| 373 // remove this TODO. | 376 // remove this TODO. |
| 374 bool is_ime_window() const { return is_ime_window_; } | 377 bool is_ime_window() const { return is_ime_window_; } |
| 375 | 378 |
| 376 bool show_in_shelf() const { return show_in_shelf_; } | 379 bool show_in_shelf() const { return show_in_shelf_; } |
| 377 | 380 |
| 381 const gfx::Image& window_icon() const { return window_icon_; } | |
| 382 | |
| 383 const GURL& window_icon_url() const { return window_icon_url_; } | |
| 384 | |
| 385 void UpdateWindowIcon(const gfx::Image& image); | |
| 386 | |
| 378 void SetAppWindowContentsForTesting( | 387 void SetAppWindowContentsForTesting( |
| 379 std::unique_ptr<AppWindowContents> contents) { | 388 std::unique_ptr<AppWindowContents> contents) { |
| 380 app_window_contents_ = std::move(contents); | 389 app_window_contents_ = std::move(contents); |
| 381 } | 390 } |
| 382 | 391 |
| 383 protected: | 392 protected: |
| 384 ~AppWindow() override; | 393 ~AppWindow() override; |
| 385 | 394 |
| 386 private: | 395 private: |
| 387 // PlatformAppBrowserTest needs access to web_contents() | 396 // PlatformAppBrowserTest needs access to web_contents() |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 573 | 582 |
| 574 // Whether |alpha_enabled| was set in the CreateParams. | 583 // Whether |alpha_enabled| was set in the CreateParams. |
| 575 bool requested_alpha_enabled_; | 584 bool requested_alpha_enabled_; |
| 576 | 585 |
| 577 // Whether |is_ime_window| was set in the CreateParams. | 586 // Whether |is_ime_window| was set in the CreateParams. |
| 578 bool is_ime_window_; | 587 bool is_ime_window_; |
| 579 | 588 |
| 580 // Whether |show_in_shelf| was set in the CreateParams. | 589 // Whether |show_in_shelf| was set in the CreateParams. |
| 581 bool show_in_shelf_; | 590 bool show_in_shelf_; |
| 582 | 591 |
| 592 // Icon of the window shown in task bar. | |
| 593 gfx::Image window_icon_; | |
|
Reilly Grant (use Gerrit)
2016/08/04 18:02:42
Why is this a separate field from app_icon_ if we
stevenjb
2016/08/04 21:00:47
I tend to agree. If we use a single icon image and
Andra Paraschiv
2016/08/08 13:34:12
Thank you, Reilly and Steven, for feedback. I upda
| |
| 594 | |
| 595 // Icon URL to be used for setting the window icon. If not empty, | |
| 596 // window_icon_ will be fetched and set using this URL. | |
| 597 GURL window_icon_url_; | |
| 598 | |
| 583 // PlzNavigate: this is called when the first navigation is ready to commit. | 599 // PlzNavigate: this is called when the first navigation is ready to commit. |
| 584 base::Closure on_first_commit_callback_; | 600 base::Closure on_first_commit_callback_; |
| 585 | 601 |
| 586 base::WeakPtrFactory<AppWindow> image_loader_ptr_factory_; | 602 base::WeakPtrFactory<AppWindow> image_loader_ptr_factory_; |
| 587 | 603 |
| 588 DISALLOW_COPY_AND_ASSIGN(AppWindow); | 604 DISALLOW_COPY_AND_ASSIGN(AppWindow); |
| 589 }; | 605 }; |
| 590 | 606 |
| 591 } // namespace extensions | 607 } // namespace extensions |
| 592 | 608 |
| 593 #endif // EXTENSIONS_BROWSER_APP_WINDOW_APP_WINDOW_H_ | 609 #endif // EXTENSIONS_BROWSER_APP_WINDOW_APP_WINDOW_H_ |
| OLD | NEW |