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

Side by Side Diff: chrome/browser/ui/browser.h

Issue 7466033: Fix warning prompting on closing a window that will cancel downloads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing trybot failures (chromeos specifically). Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_UI_BROWSER_H_ 5 #ifndef CHROME_BROWSER_UI_BROWSER_H_
6 #define CHROME_BROWSER_UI_BROWSER_H_ 6 #define CHROME_BROWSER_UI_BROWSER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 FEATURE_TITLEBAR = 1, 96 FEATURE_TITLEBAR = 1,
97 FEATURE_TABSTRIP = 2, 97 FEATURE_TABSTRIP = 2,
98 FEATURE_TOOLBAR = 4, 98 FEATURE_TOOLBAR = 4,
99 FEATURE_LOCATIONBAR = 8, 99 FEATURE_LOCATIONBAR = 8,
100 FEATURE_BOOKMARKBAR = 16, 100 FEATURE_BOOKMARKBAR = 16,
101 FEATURE_INFOBAR = 32, 101 FEATURE_INFOBAR = 32,
102 FEATURE_SIDEBAR = 64, 102 FEATURE_SIDEBAR = 64,
103 FEATURE_DOWNLOADSHELF = 128 103 FEATURE_DOWNLOADSHELF = 128
104 }; 104 };
105 105
106 // The context for a download blocked notification from
107 // OkToCloseWithInProgressDownloads.
108 enum DownloadClosePreventionType {
109 // Browser close is not blocked by download state.
110 DOWNLOAD_CLOSE_OK,
111
112 // The browser is shutting down and there are active downloads
113 // that would be cancelled.
114 DOWNLOAD_CLOSE_BROWSER_SHUTDOWN,
115
116 // There are active downloads associated with this incognito profile
117 // that would be canceled.
118 DOWNLOAD_CLOSE_LAST_WINDOW_IN_INCOGNITO_PROFILE,
119 };
120
106 struct CreateParams { 121 struct CreateParams {
107 CreateParams(Type type, Profile* profile); 122 CreateParams(Type type, Profile* profile);
108 123
109 // The browser type. 124 // The browser type.
110 Type type; 125 Type type;
111 126
112 // The associated profile. 127 // The associated profile.
113 Profile* profile; 128 Profile* profile;
114 129
115 // The application name that is also the name of the window to the shell. 130 // The application name that is also the name of the window to the shell.
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 // cleanup. 340 // cleanup.
326 void OnWindowClosing(); 341 void OnWindowClosing();
327 342
328 // OnWindowActivationChanged handling /////////////////////////////////////// 343 // OnWindowActivationChanged handling ///////////////////////////////////////
329 344
330 // Invoked when the window containing us is activated. 345 // Invoked when the window containing us is activated.
331 void OnWindowActivated(); 346 void OnWindowActivated();
332 347
333 // In-progress download termination handling ///////////////////////////////// 348 // In-progress download termination handling /////////////////////////////////
334 349
335 // Are normal and/or incognito downloads in progress?
336 void CheckDownloadsInProgress(bool* normal_downloads,
337 bool* incognito_downloads);
338
339 // Called when the user has decided whether to proceed or not with the browser 350 // Called when the user has decided whether to proceed or not with the browser
340 // closure. |cancel_downloads| is true if the downloads should be canceled 351 // closure. |cancel_downloads| is true if the downloads should be canceled
341 // and the browser closed, false if the browser should stay open and the 352 // and the browser closed, false if the browser should stay open and the
342 // downloads running. 353 // downloads running.
343 void InProgressDownloadResponse(bool cancel_downloads); 354 void InProgressDownloadResponse(bool cancel_downloads);
344 355
356 // Indicates whether or not this browser window can be closed, or
357 // would be blocked by in-progress downloads.
358 // If executing downloads would be cancelled by this window close,
359 // then |*num_downloads_blocking| is updated with how many downloads
360 // would be canceled if the close continued.
361 DownloadClosePreventionType OkToCloseWithInProgressDownloads(
362 int* num_downloads_blocking) const;
363
345 // TabStripModel pass-thrus ///////////////////////////////////////////////// 364 // TabStripModel pass-thrus /////////////////////////////////////////////////
346 365
347 TabStripModel* tabstrip_model() const { 366 TabStripModel* tabstrip_model() const {
348 // TODO(beng): remove this accessor. It violates google style. 367 // TODO(beng): remove this accessor. It violates google style.
349 return tab_handler_->GetTabStripModel(); 368 return tab_handler_->GetTabStripModel();
350 } 369 }
351 370
352 int tab_count() const; 371 int tab_count() const;
353 int active_index() const; 372 int active_index() const;
354 int GetIndexOfController(const NavigationController* controller) const; 373 int GetIndexOfController(const NavigationController* controller) const;
(...skipping 921 matching lines...) Expand 10 before | Expand all | Expand 10 after
1276 1295
1277 scoped_ptr<InstantController> instant_; 1296 scoped_ptr<InstantController> instant_;
1278 scoped_ptr<InstantUnloadHandler> instant_unload_handler_; 1297 scoped_ptr<InstantUnloadHandler> instant_unload_handler_;
1279 1298
1280 BookmarkBar::State bookmark_bar_state_; 1299 BookmarkBar::State bookmark_bar_state_;
1281 1300
1282 DISALLOW_COPY_AND_ASSIGN(Browser); 1301 DISALLOW_COPY_AND_ASSIGN(Browser);
1283 }; 1302 };
1284 1303
1285 #endif // CHROME_BROWSER_UI_BROWSER_H_ 1304 #endif // CHROME_BROWSER_UI_BROWSER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698