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

Unified Diff: ash/aura/wm_window_aura.cc

Issue 2480713003: Window prerequisites for ShelfWindowWatcher panel support. (Closed)
Patch Set: Support and test pre-widget exo ShellSurface::SetApplicationId. Created 4 years, 1 month 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
« no previous file with comments | « ash/aura/wm_window_aura.h ('k') | ash/common/test/test_shelf_item_delegate.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/aura/wm_window_aura.cc
diff --git a/ash/aura/wm_window_aura.cc b/ash/aura/wm_window_aura.cc
index f43120accd6dc502a3cb412b27d7e8b8e2f604cd..ac850aa00ca98e1860816e4af413187743622985 100644
--- a/ash/aura/wm_window_aura.cc
+++ b/ash/aura/wm_window_aura.cc
@@ -292,6 +292,9 @@ bool WmWindowAura::IsSystemModal() const {
bool WmWindowAura::GetBoolProperty(WmWindowProperty key) {
switch (key) {
+ case WmWindowProperty::DRAW_ATTENTION:
+ return window_->GetProperty(aura::client::kDrawAttentionKey);
+
case WmWindowProperty::SNAP_CHILDREN_TO_PIXEL_BOUNDARY:
return window_->GetProperty(kSnapChildrenToPixelBoundary);
@@ -367,6 +370,36 @@ void WmWindowAura::SetIntProperty(WmWindowProperty key, int value) {
NOTREACHED();
}
+std::string WmWindowAura::GetStringProperty(WmWindowProperty key) {
+ if (key == WmWindowProperty::APP_ID) {
+ std::string* value = window_->GetProperty(aura::client::kAppIdKey);
+ return value ? *value : std::string();
+ }
+
+ NOTREACHED();
+ return std::string();
+}
+
+void WmWindowAura::SetStringProperty(WmWindowProperty key,
+ const std::string& value) {
+ if (key == WmWindowProperty::APP_ID) {
+ window_->SetProperty(aura::client::kAppIdKey, new std::string(value));
+ return;
+ }
+
+ NOTREACHED();
+}
+
+gfx::ImageSkia WmWindowAura::GetWindowIcon() {
+ gfx::ImageSkia* image = window_->GetProperty(aura::client::kWindowIconKey);
+ return image ? *image : gfx::ImageSkia();
+}
+
+gfx::ImageSkia WmWindowAura::GetAppIcon() {
+ gfx::ImageSkia* image = window_->GetProperty(aura::client::kAppIconKey);
+ return image ? *image : gfx::ImageSkia();
+}
+
const wm::WindowState* WmWindowAura::GetWindowState() const {
return ash::wm::GetWindowState(window_);
}
@@ -405,6 +438,10 @@ std::vector<WmWindow*> WmWindowAura::GetTransientChildren() {
return FromAuraWindows(::wm::GetTransientChildren(window_));
}
+bool WmWindowAura::MoveToEventRoot(const ui::Event& event) {
+ return ash::wm::MoveWindowToEventRoot(window_, event);
+}
+
void WmWindowAura::SetLayoutManager(
std::unique_ptr<WmLayoutManager> layout_manager) {
// See ~AuraLayoutManagerAdapter for why SetLayoutManager(nullptr) is called.
@@ -839,6 +876,10 @@ void WmWindowAura::OnWindowPropertyChanged(aura::Window* window,
WmWindowProperty wm_property;
if (key == aura::client::kAlwaysOnTopKey) {
wm_property = WmWindowProperty::ALWAYS_ON_TOP;
+ } else if (key == aura::client::kAppIconKey) {
+ wm_property = WmWindowProperty::APP_ICON;
+ } else if (key == aura::client::kDrawAttentionKey) {
+ wm_property = WmWindowProperty::DRAW_ATTENTION;
} else if (key == aura::client::kExcludeFromMruKey) {
wm_property = WmWindowProperty::EXCLUDE_FROM_MRU;
} else if (key == aura::client::kModalKey) {
@@ -853,6 +894,8 @@ void WmWindowAura::OnWindowPropertyChanged(aura::Window* window,
wm_property = WmWindowProperty::SNAP_CHILDREN_TO_PIXEL_BOUNDARY;
} else if (key == aura::client::kTopViewInset) {
wm_property = WmWindowProperty::TOP_VIEW_INSET;
+ } else if (key == aura::client::kWindowIconKey) {
+ wm_property = WmWindowProperty::WINDOW_ICON;
} else {
return;
}
« no previous file with comments | « ash/aura/wm_window_aura.h ('k') | ash/common/test/test_shelf_item_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698