Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "chrome/browser/ui/browser_instant_controller.h" | 5 #include "chrome/browser/ui/browser_instant_controller.h" |
| 6 | 6 |
| 7 #include "chrome/browser/browser_shutdown.h" | 7 #include "chrome/browser/browser_shutdown.h" |
| 8 #include "chrome/browser/extensions/extension_service.h" | 8 #include "chrome/browser/extensions/extension_service.h" |
| 9 #include "chrome/browser/instant/instant_controller.h" | 9 #include "chrome/browser/instant/instant_controller.h" |
| 10 #include "chrome/browser/instant/instant_unload_handler.h" | 10 #include "chrome/browser/instant/instant_unload_handler.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 71 // support for the new disposition. | 71 // support for the new disposition. |
| 72 NOTREACHED(); | 72 NOTREACHED(); |
| 73 return false; | 73 return false; |
| 74 } | 74 } |
| 75 | 75 |
| 76 //////////////////////////////////////////////////////////////////////////////// | 76 //////////////////////////////////////////////////////////////////////////////// |
| 77 // BrowserInstantController, InstantControllerDelegate implementation: | 77 // BrowserInstantController, InstantControllerDelegate implementation: |
| 78 | 78 |
| 79 void BrowserInstantController::ShowInstant() { | 79 void BrowserInstantController::ShowInstant() { |
| 80 TabContents* preview = instant_->GetPreviewContents(); | 80 TabContents* preview = instant_->GetPreviewContents(); |
| 81 preview->web_contents()->WasShown(); | |
|
sky
2012/08/20 16:29:31
Any reason you're not putting this in InstantContr
sreeram_google.com
2012/08/20 16:36:45
No particular reason. Historically, this code has
sreeram
2012/08/20 16:46:25
I forgot to add that, since the Browser operates o
| |
| 81 browser_->window()->ShowInstant(preview); | 82 browser_->window()->ShowInstant(preview); |
| 82 | 83 |
| 83 content::NotificationService::current()->Notify( | 84 content::NotificationService::current()->Notify( |
| 84 chrome::NOTIFICATION_INSTANT_CONTROLLER_SHOWN, | 85 chrome::NOTIFICATION_INSTANT_CONTROLLER_SHOWN, |
| 85 content::Source<InstantController>(instant()), | 86 content::Source<InstantController>(instant()), |
| 86 content::NotificationService::NoDetails()); | 87 content::NotificationService::NoDetails()); |
| 87 | 88 |
| 88 // TODO(beng): Investigate if we can avoid this and instead rely on the | 89 // TODO(beng): Investigate if we can avoid this and instead rely on the |
| 89 // visibility of the WebContentsView. | 90 // visibility of the WebContentsView. |
| 90 chrome::GetActiveWebContents(browser_)->WasHidden(); | 91 chrome::GetActiveWebContents(browser_)->WasHidden(); |
| 91 preview->web_contents()->WasShown(); | |
| 92 } | 92 } |
| 93 | 93 |
| 94 void BrowserInstantController::HideInstant() { | 94 void BrowserInstantController::HideInstant() { |
| 95 if (chrome::GetActiveWebContents(browser_)) | |
| 96 chrome::GetActiveWebContents(browser_)->WasShown(); | |
|
sky
2012/08/20 16:29:31
How come you're moving this?
sreeram_google.com
2012/08/20 16:36:45
Same reason as before. When we call browser_->wind
| |
| 97 | |
| 95 browser_->window()->HideInstant(); | 98 browser_->window()->HideInstant(); |
| 96 | 99 |
| 97 content::NotificationService::current()->Notify( | 100 content::NotificationService::current()->Notify( |
| 98 chrome::NOTIFICATION_INSTANT_CONTROLLER_HIDDEN, | 101 chrome::NOTIFICATION_INSTANT_CONTROLLER_HIDDEN, |
| 99 content::Source<InstantController>(instant()), | 102 content::Source<InstantController>(instant()), |
| 100 content::NotificationService::NoDetails()); | 103 content::NotificationService::NoDetails()); |
| 101 | 104 |
| 102 if (chrome::GetActiveWebContents(browser_)) | |
| 103 chrome::GetActiveWebContents(browser_)->WasShown(); | |
| 104 if (TabContents* preview = instant_->GetPreviewContents()) | 105 if (TabContents* preview = instant_->GetPreviewContents()) |
| 105 preview->web_contents()->WasHidden(); | 106 preview->web_contents()->WasHidden(); |
| 106 } | 107 } |
| 107 | 108 |
| 108 void BrowserInstantController::CommitInstant(TabContents* preview) { | 109 void BrowserInstantController::CommitInstant(TabContents* preview) { |
| 109 TabContents* active_tab = chrome::GetActiveTabContents(browser_); | 110 TabContents* active_tab = chrome::GetActiveTabContents(browser_); |
| 110 int index = browser_->tab_strip_model()->GetIndexOfTabContents(active_tab); | 111 int index = browser_->tab_strip_model()->GetIndexOfTabContents(active_tab); |
| 111 DCHECK_NE(TabStripModel::kNoTab, index); | 112 DCHECK_NE(TabStripModel::kNoTab, index); |
| 112 // TabStripModel takes ownership of |preview|. | 113 // TabStripModel takes ownership of |preview|. |
| 113 browser_->tab_strip_model()->ReplaceTabContentsAt(index, preview); | 114 browser_->tab_strip_model()->ReplaceTabContentsAt(index, preview); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 173 browser_->is_type_tabbed() && !browser_->profile()->IsOffTheRecord()) { | 174 browser_->is_type_tabbed() && !browser_->profile()->IsOffTheRecord()) { |
| 174 instant_.reset(new InstantController(this, InstantController::INSTANT)); | 175 instant_.reset(new InstantController(this, InstantController::INSTANT)); |
| 175 instant_unload_handler_.reset(new InstantUnloadHandler(browser_)); | 176 instant_unload_handler_.reset(new InstantUnloadHandler(browser_)); |
| 176 } else { | 177 } else { |
| 177 instant_.reset(); | 178 instant_.reset(); |
| 178 instant_unload_handler_.reset(); | 179 instant_unload_handler_.reset(); |
| 179 } | 180 } |
| 180 } | 181 } |
| 181 | 182 |
| 182 } // namespace chrome | 183 } // namespace chrome |
| OLD | NEW |