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

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

Issue 6577003: Entire DOMBrowser stack (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 10 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
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/views/frame/browser_view.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "chrome/browser/ui/browser.h" 5 #include "chrome/browser/ui/browser.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <shellapi.h> 8 #include <shellapi.h>
9 #include <windows.h> 9 #include <windows.h>
10 #endif // OS_WIN 10 #endif // OS_WIN
(...skipping 1273 matching lines...) Expand 10 before | Expand all | Expand 10 after
1284 } 1284 }
1285 1285
1286 void Browser::Home(WindowOpenDisposition disposition) { 1286 void Browser::Home(WindowOpenDisposition disposition) {
1287 UserMetrics::RecordAction(UserMetricsAction("Home"), profile_); 1287 UserMetrics::RecordAction(UserMetricsAction("Home"), profile_);
1288 OpenURL(GetHomePage(), GURL(), disposition, PageTransition::AUTO_BOOKMARK); 1288 OpenURL(GetHomePage(), GURL(), disposition, PageTransition::AUTO_BOOKMARK);
1289 } 1289 }
1290 1290
1291 void Browser::OpenCurrentURL() { 1291 void Browser::OpenCurrentURL() {
1292 UserMetrics::RecordAction(UserMetricsAction("LoadURL"), profile_); 1292 UserMetrics::RecordAction(UserMetricsAction("LoadURL"), profile_);
1293 LocationBar* location_bar = window_->GetLocationBar(); 1293 LocationBar* location_bar = window_->GetLocationBar();
1294 if(!location_bar)
1295 return;
1296
1294 WindowOpenDisposition open_disposition = 1297 WindowOpenDisposition open_disposition =
1295 location_bar->GetWindowOpenDisposition(); 1298 location_bar->GetWindowOpenDisposition();
1296 if (OpenInstant(open_disposition)) 1299 if (OpenInstant(open_disposition))
1297 return; 1300 return;
1298 1301
1299 GURL url(WideToUTF8(location_bar->GetInputString())); 1302 GURL url(WideToUTF8(location_bar->GetInputString()));
1300 browser::NavigateParams params(this, url, location_bar->GetPageTransition()); 1303 browser::NavigateParams params(this, url, location_bar->GetPageTransition());
1301 params.disposition = open_disposition; 1304 params.disposition = open_disposition;
1302 // Use ADD_INHERIT_OPENER so that all pages opened by the omnibox at least 1305 // Use ADD_INHERIT_OPENER so that all pages opened by the omnibox at least
1303 // inherit the opener. In some cases the tabstrip will determine the group 1306 // inherit the opener. In some cases the tabstrip will determine the group
(...skipping 2565 matching lines...) Expand 10 before | Expand all | Expand 10 after
3869 3872
3870 for (UpdateMap::const_iterator i = scheduled_updates_.begin(); 3873 for (UpdateMap::const_iterator i = scheduled_updates_.begin();
3871 i != scheduled_updates_.end(); ++i) { 3874 i != scheduled_updates_.end(); ++i) {
3872 // Do not dereference |contents|, it may be out-of-date! 3875 // Do not dereference |contents|, it may be out-of-date!
3873 const TabContents* contents = i->first; 3876 const TabContents* contents = i->first;
3874 unsigned flags = i->second; 3877 unsigned flags = i->second;
3875 3878
3876 if (contents == GetSelectedTabContents()) { 3879 if (contents == GetSelectedTabContents()) {
3877 // Updates that only matter when the tab is selected go here. 3880 // Updates that only matter when the tab is selected go here.
3878 3881
3879 if (flags & TabContents::INVALIDATE_PAGE_ACTIONS) 3882 if (flags & TabContents::INVALIDATE_PAGE_ACTIONS) {
3880 window()->GetLocationBar()->UpdatePageActions(); 3883 LocationBar* location_bar = window()->GetLocationBar();
3881 3884 if(location_bar)
3885 location_bar->UpdatePageActions();
3886 }
3882 // Updating the URL happens synchronously in ScheduleUIUpdate. 3887 // Updating the URL happens synchronously in ScheduleUIUpdate.
3883 if (flags & TabContents::INVALIDATE_LOAD && GetStatusBubble()) { 3888 if (flags & TabContents::INVALIDATE_LOAD && GetStatusBubble()) {
3884 GetStatusBubble()->SetStatus( 3889 GetStatusBubble()->SetStatus(
3885 GetSelectedTabContentsWrapper()->GetStatusText()); 3890 GetSelectedTabContentsWrapper()->GetStatusText());
3886 } 3891 }
3887 3892
3888 if (flags & (TabContents::INVALIDATE_TAB | 3893 if (flags & (TabContents::INVALIDATE_TAB |
3889 TabContents::INVALIDATE_TITLE)) { 3894 TabContents::INVALIDATE_TITLE)) {
3890 // TODO(pinkerton): Disable app-mode in the model until we implement it 3895 // TODO(pinkerton): Disable app-mode in the model until we implement it
3891 // on the Mac. Be sure to remove both ifdefs. http://crbug.com/13148 3896 // on the Mac. Be sure to remove both ifdefs. http://crbug.com/13148
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
4198 window_->Close(); 4203 window_->Close();
4199 } 4204 }
4200 4205
4201 void Browser::TabDetachedAtImpl(TabContentsWrapper* contents, int index, 4206 void Browser::TabDetachedAtImpl(TabContentsWrapper* contents, int index,
4202 DetachType type) { 4207 DetachType type) {
4203 if (type == DETACH_TYPE_DETACH) { 4208 if (type == DETACH_TYPE_DETACH) {
4204 // Save the current location bar state, but only if the tab being detached 4209 // Save the current location bar state, but only if the tab being detached
4205 // is the selected tab. Because saving state can conditionally revert the 4210 // is the selected tab. Because saving state can conditionally revert the
4206 // location bar, saving the current tab's location bar state to a 4211 // location bar, saving the current tab's location bar state to a
4207 // non-selected tab can corrupt both tabs. 4212 // non-selected tab can corrupt both tabs.
4208 if (contents == GetSelectedTabContentsWrapper()) 4213 if (contents == GetSelectedTabContentsWrapper()) {
4209 window_->GetLocationBar()->SaveStateToContents(contents->tab_contents()); 4214 LocationBar* location_bar = window()->GetLocationBar();
4215 if(location_bar)
4216 location_bar->SaveStateToContents(contents->tab_contents());
4217 }
4210 4218
4211 if (!tab_handler_->GetTabStripModel()->closing_all()) 4219 if (!tab_handler_->GetTabStripModel()->closing_all())
4212 SyncHistoryWithTabs(0); 4220 SyncHistoryWithTabs(0);
4213 } 4221 }
4214 4222
4215 SetAsDelegate(contents, NULL); 4223 SetAsDelegate(contents, NULL);
4216 RemoveScheduledUpdatesFor(contents->tab_contents()); 4224 RemoveScheduledUpdatesFor(contents->tab_contents());
4217 4225
4218 if (find_bar_controller_.get() && 4226 if (find_bar_controller_.get() &&
4219 index == tab_handler_->GetTabStripModel()->selected_index()) { 4227 index == tab_handler_->GetTabStripModel()->selected_index()) {
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
4374 // The page transition below is only for the purpose of inserting the tab. 4382 // The page transition below is only for the purpose of inserting the tab.
4375 browser->AddTab(view_source_contents, PageTransition::LINK); 4383 browser->AddTab(view_source_contents, PageTransition::LINK);
4376 } 4384 }
4377 4385
4378 if (profile_->HasSessionService()) { 4386 if (profile_->HasSessionService()) {
4379 SessionService* session_service = profile_->GetSessionService(); 4387 SessionService* session_service = profile_->GetSessionService();
4380 if (session_service) 4388 if (session_service)
4381 session_service->TabRestored(&view_source_contents->controller(), false); 4389 session_service->TabRestored(&view_source_contents->controller(), false);
4382 } 4390 }
4383 } 4391 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/views/frame/browser_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698