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

Unified Diff: ui/aura/mus/window_tree_client.h

Issue 2480273003: Revert of Improves focus/activation for aura-mus and DesktopNativeWidgetAura (Closed)
Patch Set: 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 | « ui/aura/mus/in_flight_change.cc ('k') | ui/aura/mus/window_tree_client.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/aura/mus/window_tree_client.h
diff --git a/ui/aura/mus/window_tree_client.h b/ui/aura/mus/window_tree_client.h
index ee9c38153b534707dfe10d9554d051674e6592e1..5ea408053a36004c4c608d1d24dda1d091059d65 100644
--- a/ui/aura/mus/window_tree_client.h
+++ b/ui/aura/mus/window_tree_client.h
@@ -22,10 +22,10 @@
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "services/ui/public/interfaces/window_tree.mojom.h"
#include "ui/aura/aura_export.h"
+#include "ui/aura/client/focus_change_observer.h"
#include "ui/aura/client/transient_window_client_observer.h"
#include "ui/aura/mus/capture_synchronizer_delegate.h"
#include "ui/aura/mus/drag_drop_controller_host.h"
-#include "ui/aura/mus/focus_synchronizer_delegate.h"
#include "ui/aura/mus/mus_types.h"
#include "ui/aura/mus/window_manager_delegate.h"
#include "ui/aura/mus/window_tree_host_mus_delegate.h"
@@ -45,7 +45,6 @@
namespace aura {
class CaptureSynchronizer;
class DragDropControllerMus;
-class FocusSynchronizer;
class InFlightBoundsChange;
class InFlightChange;
class InFlightFocusChange;
@@ -79,10 +78,10 @@
: NON_EXPORTED_BASE(public ui::mojom::WindowTreeClient),
NON_EXPORTED_BASE(public ui::mojom::WindowManager),
public CaptureSynchronizerDelegate,
- public FocusSynchronizerDelegate,
public DragDropControllerHost,
public WindowManagerClient,
public WindowTreeHostMusDelegate,
+ public client::FocusChangeObserver,
public client::TransientWindowClientObserver {
public:
explicit WindowTreeClient(
@@ -137,6 +136,10 @@
// Returns the root of this connection.
std::set<Window*> GetRoots();
+ // Returns the focused window; null if focus is not yet known or another app
+ // is focused.
+ Window* GetFocusedWindow();
+
// Returns the current location of the mouse on screen. Note: this method may
// race the asynchronous initialization; but in that case we return (0, 0).
gfx::Point GetCursorScreenPoint();
@@ -180,6 +183,10 @@
// Returns true if the specified window was created by this client.
bool WasCreatedByThisClient(const WindowMus* window) const;
+
+ void SetFocusFromServer(WindowMus* window);
+ void SetFocusFromServerImpl(client::FocusClient* focus_client,
+ WindowMus* window);
// Returns the oldest InFlightChange that matches |change|.
InFlightChange* GetOldestInFlightChangeMatching(const InFlightChange& change);
@@ -411,6 +418,9 @@
const gfx::Vector2d& offset,
const gfx::Insets& hit_area) override;
+ // Overriden from client::FocusChangeObserver:
+ void OnWindowFocused(Window* gained_focus, Window* lost_focus) override;
+
// Overriden from WindowTreeHostMusDelegate:
void OnWindowTreeHostBoundsWillChange(WindowTreeHostMus* window_tree_host,
const gfx::Rect& bounds) override;
@@ -428,9 +438,6 @@
// Overrided from CaptureSynchronizerDelegate:
uint32_t CreateChangeIdForCapture(WindowMus* window) override;
-
- // Overrided from FocusSynchronizerDelegate:
- uint32_t CreateChangeIdForFocus(WindowMus* window) override;
// The one int in |cursor_location_mapping_|. When we read from this
// location, we must always read from it atomically.
@@ -461,7 +468,9 @@
std::unique_ptr<CaptureSynchronizer> capture_synchronizer_;
- std::unique_ptr<FocusSynchronizer> focus_synchronizer_;
+ bool setting_focus_ = false;
+ WindowMus* window_setting_focus_to_ = nullptr;
+ WindowMus* focused_window_ = nullptr;
mojo::Binding<ui::mojom::WindowTreeClient> binding_;
ui::mojom::WindowTreePtr tree_ptr_;
« no previous file with comments | « ui/aura/mus/in_flight_change.cc ('k') | ui/aura/mus/window_tree_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698