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

Side by Side Diff: chrome/browser/lifetime/keep_alive_registry.h

Issue 2719813005: CrOS: Add print statements to help debug BrowserProcessImpl::Unpin crash. (Closed)
Patch Set: Added dumps. Created 3 years, 9 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 CHROME_BROWSER_LIFETIME_KEEP_ALIVE_REGISTRY_H_ 5 #ifndef CHROME_BROWSER_LIFETIME_KEEP_ALIVE_REGISTRY_H_
6 #define CHROME_BROWSER_LIFETIME_KEEP_ALIVE_REGISTRY_H_ 6 #define CHROME_BROWSER_LIFETIME_KEEP_ALIVE_REGISTRY_H_
7 7
8 #include <unordered_map> 8 #include <unordered_map>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 22 matching lines...) Expand all
33 bool IsRestartAllowed() const; 33 bool IsRestartAllowed() const;
34 bool IsOriginRegistered(KeepAliveOrigin origin) const; 34 bool IsOriginRegistered(KeepAliveOrigin origin) const;
35 35
36 void AddObserver(KeepAliveStateObserver* observer); 36 void AddObserver(KeepAliveStateObserver* observer);
37 void RemoveObserver(KeepAliveStateObserver* observer); 37 void RemoveObserver(KeepAliveStateObserver* observer);
38 38
39 // Returns whether restart would be allowed if all the keep alives for the 39 // Returns whether restart would be allowed if all the keep alives for the
40 // provided |origins| were not registered. 40 // provided |origins| were not registered.
41 bool WouldRestartWithout(const std::vector<KeepAliveOrigin>& origins) const; 41 bool WouldRestartWithout(const std::vector<KeepAliveOrigin>& origins) const;
42 42
43 // TODO(sammiequon): This is used to help debug the crash in crbug.com/660962.
44 // Remove this when the crash is fixed or if verified to not be related to
45 // this.
46 std::string ToString() const;
sky 2017/03/22 03:56:16 How about naming this more specifically, possibly
47
43 private: 48 private:
44 friend struct base::DefaultSingletonTraits<KeepAliveRegistry>; 49 friend struct base::DefaultSingletonTraits<KeepAliveRegistry>;
45 // Friend to be able to use Register/Unregister 50 // Friend to be able to use Register/Unregister
46 friend class ScopedKeepAlive; 51 friend class ScopedKeepAlive;
47 friend std::ostream& operator<<(std::ostream& out, 52 friend std::ostream& operator<<(std::ostream& out,
48 const KeepAliveRegistry& registry); 53 const KeepAliveRegistry& registry);
49 54
50 // TODO(dgn): Remove this when std::hash supports enums directly (c++14) 55 // TODO(dgn): Remove this when std::hash supports enums directly (c++14)
51 // http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2148 56 // http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2148
52 struct EnumClassHash { 57 struct EnumClassHash {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 // Number of registered keep alives that have KeepAliveRestartOption::ENABLED. 91 // Number of registered keep alives that have KeepAliveRestartOption::ENABLED.
87 int restart_allowed_count_; 92 int restart_allowed_count_;
88 93
89 base::ObserverList<KeepAliveStateObserver> observers_; 94 base::ObserverList<KeepAliveStateObserver> observers_;
90 95
91 DISALLOW_COPY_AND_ASSIGN(KeepAliveRegistry); 96 DISALLOW_COPY_AND_ASSIGN(KeepAliveRegistry);
92 }; 97 };
93 98
94 99
95 #endif // CHROME_BROWSER_LIFETIME_KEEP_ALIVE_REGISTRY_H_ 100 #endif // CHROME_BROWSER_LIFETIME_KEEP_ALIVE_REGISTRY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698