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