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

Side by Side Diff: ui/display/manager/chromeos/display_configurator.h

Issue 2571543002: Fix use after free for cached_displays_. (Closed)
Patch Set: Add invalidate to tests. Created 4 years 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 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 UI_DISPLAY_MANAGER_CHROMEOS_DISPLAY_CONFIGURATOR_H_ 5 #ifndef UI_DISPLAY_MANAGER_CHROMEOS_DISPLAY_CONFIGURATOR_H_
6 #define UI_DISPLAY_MANAGER_CHROMEOS_DISPLAY_CONFIGURATOR_H_ 6 #define UI_DISPLAY_MANAGER_CHROMEOS_DISPLAY_CONFIGURATOR_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 int flags, 239 int flags,
240 const ConfigurationCallback& callback); 240 const ConfigurationCallback& callback);
241 241
242 // Force switching the display mode to |new_state|. Returns false if 242 // Force switching the display mode to |new_state|. Returns false if
243 // switching failed (possibly because |new_state| is invalid for the 243 // switching failed (possibly because |new_state| is invalid for the
244 // current set of connected displays). 244 // current set of connected displays).
245 void SetDisplayMode(MultipleDisplayState new_state); 245 void SetDisplayMode(MultipleDisplayState new_state);
246 246
247 // NativeDisplayDelegate::Observer overrides: 247 // NativeDisplayDelegate::Observer overrides:
248 void OnConfigurationChanged() override; 248 void OnConfigurationChanged() override;
249 void OnDisplaySnapshotsInvalidated() override;
249 250
250 void AddObserver(Observer* observer); 251 void AddObserver(Observer* observer);
251 void RemoveObserver(Observer* observer); 252 void RemoveObserver(Observer* observer);
252 253
253 // Sets all the displays into pre-suspend mode; usually this means 254 // Sets all the displays into pre-suspend mode; usually this means
254 // configure them for their resume state. This allows faster resume on 255 // configure them for their resume state. This allows faster resume on
255 // machines where display configuration is slow. On completion of the display 256 // machines where display configuration is slow. On completion of the display
256 // configuration |callback| is executed synchronously or asynchronously. 257 // configuration |callback| is executed synchronously or asynchronously.
257 void SuspendDisplays(const ConfigurationCallback& callback); 258 void SuspendDisplays(const ConfigurationCallback& callback);
258 259
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 484
484 // This must be the last variable. 485 // This must be the last variable.
485 base::WeakPtrFactory<DisplayConfigurator> weak_ptr_factory_; 486 base::WeakPtrFactory<DisplayConfigurator> weak_ptr_factory_;
486 487
487 DISALLOW_COPY_AND_ASSIGN(DisplayConfigurator); 488 DISALLOW_COPY_AND_ASSIGN(DisplayConfigurator);
488 }; 489 };
489 490
490 } // namespace ui 491 } // namespace ui
491 492
492 #endif // UI_DISPLAY_MANAGER_CHROMEOS_DISPLAY_CONFIGURATOR_H_ 493 #endif // UI_DISPLAY_MANAGER_CHROMEOS_DISPLAY_CONFIGURATOR_H_
OLDNEW
« no previous file with comments | « ui/display/manager/chromeos/display_change_observer.cc ('k') | ui/display/manager/chromeos/display_configurator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698