OLD | NEW |
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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 FEATURE_TITLEBAR = 1, | 103 FEATURE_TITLEBAR = 1, |
104 FEATURE_TABSTRIP = 2, | 104 FEATURE_TABSTRIP = 2, |
105 FEATURE_TOOLBAR = 4, | 105 FEATURE_TOOLBAR = 4, |
106 FEATURE_LOCATIONBAR = 8, | 106 FEATURE_LOCATIONBAR = 8, |
107 FEATURE_BOOKMARKBAR = 16, | 107 FEATURE_BOOKMARKBAR = 16, |
108 FEATURE_INFOBAR = 32, | 108 FEATURE_INFOBAR = 32, |
109 FEATURE_SIDEBAR = 64, | 109 FEATURE_SIDEBAR = 64, |
110 FEATURE_DOWNLOADSHELF = 128 | 110 FEATURE_DOWNLOADSHELF = 128 |
111 }; | 111 }; |
112 | 112 |
| 113 // The context for a download blocked notification from |
| 114 // OkToCloseWithInProgressDownloads. |
| 115 enum DownloadClosePreventionType { |
| 116 // Browser close is not blocked by download state. |
| 117 DOWNLOAD_CLOSE_OK, |
| 118 |
| 119 // The browser is shutting down and there are active downloads |
| 120 // that would be cancelled. |
| 121 DOWNLOAD_CLOSE_BROWSER_SHUTDOWN, |
| 122 |
| 123 // There are active downloads associated with this incognito profile |
| 124 // that would be canceled. |
| 125 DOWNLOAD_CLOSE_LAST_WINDOW_IN_INCOGNITO_PROFILE, |
| 126 }; |
| 127 |
113 struct CreateParams { | 128 struct CreateParams { |
114 CreateParams(Type type, Profile* profile); | 129 CreateParams(Type type, Profile* profile); |
115 | 130 |
116 // The browser type. | 131 // The browser type. |
117 Type type; | 132 Type type; |
118 | 133 |
119 // The associated profile. | 134 // The associated profile. |
120 Profile* profile; | 135 Profile* profile; |
121 | 136 |
122 // The application name that is also the name of the window to the shell. | 137 // The application name that is also the name of the window to the shell. |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 // cleanup. | 350 // cleanup. |
336 void OnWindowClosing(); | 351 void OnWindowClosing(); |
337 | 352 |
338 // OnWindowActivationChanged handling /////////////////////////////////////// | 353 // OnWindowActivationChanged handling /////////////////////////////////////// |
339 | 354 |
340 // Invoked when the window containing us is activated. | 355 // Invoked when the window containing us is activated. |
341 void OnWindowActivated(); | 356 void OnWindowActivated(); |
342 | 357 |
343 // In-progress download termination handling ///////////////////////////////// | 358 // In-progress download termination handling ///////////////////////////////// |
344 | 359 |
345 // Are normal and/or incognito downloads in progress? | |
346 void CheckDownloadsInProgress(bool* normal_downloads, | |
347 bool* incognito_downloads); | |
348 | |
349 // Called when the user has decided whether to proceed or not with the browser | 360 // Called when the user has decided whether to proceed or not with the browser |
350 // closure. |cancel_downloads| is true if the downloads should be canceled | 361 // closure. |cancel_downloads| is true if the downloads should be canceled |
351 // and the browser closed, false if the browser should stay open and the | 362 // and the browser closed, false if the browser should stay open and the |
352 // downloads running. | 363 // downloads running. |
353 void InProgressDownloadResponse(bool cancel_downloads); | 364 void InProgressDownloadResponse(bool cancel_downloads); |
354 | 365 |
| 366 // Indicates whether or not this browser window can be closed, or |
| 367 // would be blocked by in-progress downloads. |
| 368 // If executing downloads would be cancelled by this window close, |
| 369 // then |*num_downloads_blocking| is updated with how many downloads |
| 370 // would be canceled if the close continued. |
| 371 DownloadClosePreventionType OkToCloseWithInProgressDownloads( |
| 372 int* num_downloads_blocking) const; |
| 373 |
355 // TabStripModel pass-thrus ///////////////////////////////////////////////// | 374 // TabStripModel pass-thrus ///////////////////////////////////////////////// |
356 | 375 |
357 TabStripModel* tabstrip_model() const { | 376 TabStripModel* tabstrip_model() const { |
358 // TODO(beng): remove this accessor. It violates google style. | 377 // TODO(beng): remove this accessor. It violates google style. |
359 return tab_handler_->GetTabStripModel(); | 378 return tab_handler_->GetTabStripModel(); |
360 } | 379 } |
361 | 380 |
362 int tab_count() const; | 381 int tab_count() const; |
363 int active_index() const; | 382 int active_index() const; |
364 int GetIndexOfController(const NavigationController* controller) const; | 383 int GetIndexOfController(const NavigationController* controller) const; |
(...skipping 1069 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1434 | 1453 |
1435 MouseLockState mouse_lock_state_; | 1454 MouseLockState mouse_lock_state_; |
1436 | 1455 |
1437 // True if the browser window has been shown at least once. | 1456 // True if the browser window has been shown at least once. |
1438 bool window_has_shown_; | 1457 bool window_has_shown_; |
1439 | 1458 |
1440 DISALLOW_COPY_AND_ASSIGN(Browser); | 1459 DISALLOW_COPY_AND_ASSIGN(Browser); |
1441 }; | 1460 }; |
1442 | 1461 |
1443 #endif // CHROME_BROWSER_UI_BROWSER_H_ | 1462 #endif // CHROME_BROWSER_UI_BROWSER_H_ |
OLD | NEW |