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

Side by Side Diff: components/exo/shell_surface.cc

Issue 2345043002: arc: Prevent showing Arc app window for secondary user profile. (Closed)
Patch Set: Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #include "components/exo/shell_surface.h" 5 #include "components/exo/shell_surface.h"
6 6
7 #include "ash/aura/wm_window_aura.h" 7 #include "ash/aura/wm_window_aura.h"
8 #include "ash/common/shell_window_ids.h" 8 #include "ash/common/shell_window_ids.h"
9 #include "ash/common/wm/window_resizer.h" 9 #include "ash/common/wm/window_resizer.h"
10 #include "ash/common/wm/window_state.h" 10 #include "ash/common/wm/window_state.h"
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 window->SetProperty(aura::client::kAnimationsDisabledKey, 246 window->SetProperty(aura::client::kAnimationsDisabledKey,
247 saved_animations_disabled_); 247 saved_animations_disabled_);
248 } 248 }
249 } 249 }
250 250
251 //////////////////////////////////////////////////////////////////////////////// 251 ////////////////////////////////////////////////////////////////////////////////
252 // ShellSurface, public: 252 // ShellSurface, public:
253 253
254 DEFINE_LOCAL_WINDOW_PROPERTY_KEY(std::string*, kApplicationIdKey, nullptr) 254 DEFINE_LOCAL_WINDOW_PROPERTY_KEY(std::string*, kApplicationIdKey, nullptr)
255 DEFINE_LOCAL_WINDOW_PROPERTY_KEY(Surface*, kMainSurfaceKey, nullptr) 255 DEFINE_LOCAL_WINDOW_PROPERTY_KEY(Surface*, kMainSurfaceKey, nullptr)
256 DEFINE_LOCAL_WINDOW_PROPERTY_KEY(bool, kShelfWindowReady, false)
256 257
257 ShellSurface::ShellSurface(Surface* surface, 258 ShellSurface::ShellSurface(Surface* surface,
258 ShellSurface* parent, 259 ShellSurface* parent,
259 const gfx::Rect& initial_bounds, 260 const gfx::Rect& initial_bounds,
260 bool activatable, 261 bool activatable,
261 int container) 262 int container)
262 : widget_(nullptr), 263 : widget_(nullptr),
263 surface_(surface), 264 surface_(surface),
264 parent_(parent ? parent->GetWidget()->GetNativeWindow() : nullptr), 265 parent_(parent ? parent->GetWidget()->GetNativeWindow() : nullptr),
265 initial_bounds_(initial_bounds), 266 initial_bounds_(initial_bounds),
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
456 std::string* application_id) { 457 std::string* application_id) {
457 window->SetProperty(kApplicationIdKey, application_id); 458 window->SetProperty(kApplicationIdKey, application_id);
458 } 459 }
459 460
460 // static 461 // static
461 const std::string ShellSurface::GetApplicationId(aura::Window* window) { 462 const std::string ShellSurface::GetApplicationId(aura::Window* window) {
462 std::string* string_ptr = window->GetProperty(kApplicationIdKey); 463 std::string* string_ptr = window->GetProperty(kApplicationIdKey);
463 return string_ptr ? *string_ptr : std::string(); 464 return string_ptr ? *string_ptr : std::string();
464 } 465 }
465 466
467 // static
468 bool ShellSurface::IsApplicationWindowReadyPropertyKey(const void* key) {
469 return kShelfWindowReady == key;
470 }
471
472 // static
473 bool ShellSurface::IsApplicationWindowReadyToShow(aura::Window* window) {
474 return window->GetProperty(kShelfWindowReady);
475 }
476
466 void ShellSurface::SetApplicationId(const std::string& application_id) { 477 void ShellSurface::SetApplicationId(const std::string& application_id) {
467 TRACE_EVENT1("exo", "ShellSurface::SetApplicationId", "application_id", 478 TRACE_EVENT1("exo", "ShellSurface::SetApplicationId", "application_id",
468 application_id); 479 application_id);
469 480
470 application_id_ = application_id; 481 application_id_ = application_id;
471 } 482 }
472 483
473 void ShellSurface::Move() { 484 void ShellSurface::Move() {
474 TRACE_EVENT0("exo", "ShellSurface::Move"); 485 TRACE_EVENT0("exo", "ShellSurface::Move");
475 486
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 DCHECK_NE(pending_scale_, 0.0); 626 DCHECK_NE(pending_scale_, 0.0);
616 transform.Scale(1.0 / pending_scale_, 1.0 / pending_scale_); 627 transform.Scale(1.0 / pending_scale_, 1.0 / pending_scale_);
617 surface_->window()->SetTransform(transform); 628 surface_->window()->SetTransform(transform);
618 scale_ = pending_scale_; 629 scale_ = pending_scale_;
619 } 630 }
620 631
621 // Show widget if needed. 632 // Show widget if needed.
622 if (pending_show_widget_) { 633 if (pending_show_widget_) {
623 DCHECK(!widget_->IsClosed()); 634 DCHECK(!widget_->IsClosed());
624 DCHECK(!widget_->IsVisible()); 635 DCHECK(!widget_->IsVisible());
636 DCHECK(!widget_->GetNativeWindow());
625 pending_show_widget_ = false; 637 pending_show_widget_ = false;
626 widget_->Show(); 638 widget_->GetNativeWindow()->SetProperty(kShelfWindowReady, true);
627 } 639 }
628 } 640 }
629 } 641 }
630 642
631 bool ShellSurface::IsSurfaceSynchronized() const { 643 bool ShellSurface::IsSurfaceSynchronized() const {
632 // A shell surface is always desynchronized. 644 // A shell surface is always desynchronized.
633 return false; 645 return false;
634 } 646 }
635 647
636 //////////////////////////////////////////////////////////////////////////////// 648 ////////////////////////////////////////////////////////////////////////////////
(...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after
1294 shadow_overlay_->layer()->Add(shadow->layer()); 1306 shadow_overlay_->layer()->Add(shadow->layer());
1295 window->AddChild(shadow_overlay_); 1307 window->AddChild(shadow_overlay_);
1296 shadow_overlay_->Show(); 1308 shadow_overlay_->Show();
1297 } 1309 }
1298 shadow_overlay_->SetBounds(shadow_bounds); 1310 shadow_overlay_->SetBounds(shadow_bounds);
1299 shadow->SetContentBounds(gfx::Rect(shadow_bounds.size())); 1311 shadow->SetContentBounds(gfx::Rect(shadow_bounds.size()));
1300 } 1312 }
1301 } 1313 }
1302 1314
1303 } // namespace exo 1315 } // namespace exo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698