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

Unified Diff: chrome/browser/devtools/devtools_window.h

Issue 371363005: [DevTools] Add explicit closing state in DevToolsWindow life time. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/devtools/devtools_window.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/devtools/devtools_window.h
diff --git a/chrome/browser/devtools/devtools_window.h b/chrome/browser/devtools/devtools_window.h
index 32b16768a3ad9f1156204b27ee6e944b169ebafe..a1238c7f0249b191b4d21940e02c5250110ac202 100644
--- a/chrome/browser/devtools/devtools_window.h
+++ b/chrome/browser/devtools/devtools_window.h
@@ -186,7 +186,7 @@ class DevToolsWindow : public DevToolsUIBindings::Delegate,
friend class DevToolsSanityTest;
friend class BrowserWindowControllerTest;
- // DevTools initialization typically follows this way:
+ // DevTools lifecycle typically follows this way:
// - Toggle/Open: client call;
// - Create;
// - ScheduleShow: setup window to be functional, but not yet show;
@@ -194,12 +194,17 @@ class DevToolsWindow : public DevToolsUIBindings::Delegate,
// - SetIsDocked: frontend decided on docking state;
// - OnLoadCompleted: ready to present frontend;
// - Show: actually placing frontend WebContents to a Browser or docked place;
- // - DoAction: perform action passed in Toggle/Open.
- enum LoadState {
+ // - DoAction: perform action passed in Toggle/Open;
+ // - ...;
+ // - CloseWindow: initiates before unload handling;
+ // - CloseContents: destroys frontend;
+ // - DevToolsWindow is dead once it's main_web_contents dies.
+ enum LifeStage {
kNotLoaded,
kOnLoadFired, // Implies SetIsDocked was not yet called.
kIsDockedSet, // Implies DocumentOnLoadCompleted was not yet called.
- kLoadCompleted
+ kLoadCompleted,
+ kClosing
};
DevToolsWindow(Profile* profile,
@@ -306,7 +311,7 @@ class DevToolsWindow : public DevToolsUIBindings::Delegate,
Browser* browser_;
bool is_docked_;
const bool can_dock_;
- LoadState load_state_;
+ LifeStage life_stage_;
DevToolsToggleAction action_on_load_;
bool ignore_set_is_docked_;
DevToolsContentsResizingStrategy contents_resizing_strategy_;
« no previous file with comments | « no previous file | chrome/browser/devtools/devtools_window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698