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

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

Issue 19746: Remove old web app code it's no longer needed. Simplifies startup a little. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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/browser.h ('k') | chrome/browser/browser.scons » ('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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/idle_timer.h" 6 #include "base/idle_timer.h"
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "chrome/app/chrome_dll_resource.h" 9 #include "chrome/app/chrome_dll_resource.h"
10 #include "chrome/browser/browser_list.h" 10 #include "chrome/browser/browser_list.h"
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 off_the_record_profile, 302 off_the_record_profile,
303 TYPE_NORMAL); 303 TYPE_NORMAL);
304 if (!browser) 304 if (!browser)
305 browser = Browser::Create(off_the_record_profile); 305 browser = Browser::Create(off_the_record_profile);
306 // TODO(eroman): should we have referrer here? 306 // TODO(eroman): should we have referrer here?
307 browser->AddTabWithURL(url, GURL(), PageTransition::LINK, true, NULL); 307 browser->AddTabWithURL(url, GURL(), PageTransition::LINK, true, NULL);
308 browser->window()->Show(); 308 browser->window()->Show();
309 } 309 }
310 310
311 // static 311 // static
312 void Browser::OpenWebApplication(Profile* profile, WebApp* app) { 312 void Browser::OpenApplicationWindow(Profile* profile, const GURL& url) {
313 #if defined(OS_WIN) 313 const std::wstring& app_name = ComputeApplicationNameFromURL(url);
brettw 2009/02/02 06:26:46 While not wrong, I think this is better as a std::
314 const std::wstring& app_name =
315 app->name().empty() ? ComputeApplicationNameFromURL(app->url()) :
316 app->name();
317 RegisterAppPrefs(app_name); 314 RegisterAppPrefs(app_name);
318 315
319 Browser* browser = Browser::CreateForApp(app_name, profile); 316 Browser* browser = Browser::CreateForApp(app_name, profile);
320 browser->AddWebApplicationTab(profile, app, false); 317 browser->AddTabWithURL(url, GURL(), PageTransition::START_PAGE, true, NULL);
321 browser->window()->Show(); 318 browser->window()->Show();
322 #endif
323 } 319 }
324 320
325 /////////////////////////////////////////////////////////////////////////////// 321 ///////////////////////////////////////////////////////////////////////////////
326 // Browser, State Storage and Retrieval for UI: 322 // Browser, State Storage and Retrieval for UI:
327 323
328 std::wstring Browser::GetWindowPlacementKey() const { 324 std::wstring Browser::GetWindowPlacementKey() const {
329 std::wstring name(prefs::kBrowserWindowPlacement); 325 std::wstring name(prefs::kBrowserWindowPlacement);
330 if (!app_name_.empty()) { 326 if (!app_name_.empty()) {
331 name.append(L"_"); 327 name.append(L"_");
332 name.append(app_name_); 328 name.append(app_name_);
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 CreateTabContentsForURL(url_to_load, referrer, profile_, transition, 478 CreateTabContentsForURL(url_to_load, referrer, profile_, transition,
483 false, instance); 479 false, instance);
484 tabstrip_model_.AddTabContents(contents, -1, transition, foreground); 480 tabstrip_model_.AddTabContents(contents, -1, transition, foreground);
485 // By default, content believes it is not hidden. When adding contents 481 // By default, content believes it is not hidden. When adding contents
486 // in the background, tell it that it's hidden. 482 // in the background, tell it that it's hidden.
487 if (!foreground) 483 if (!foreground)
488 contents->WasHidden(); 484 contents->WasHidden();
489 return contents; 485 return contents;
490 } 486 }
491 487
492 #if defined(OS_WIN)
493
494 TabContents* Browser::AddWebApplicationTab(Profile* profile,
495 WebApp* web_app,
496 bool lazy) {
497 DCHECK(web_app);
498
499 // TODO(acw): Do we need an "application launched" transition type?
500 // TODO(creis): Should we reuse the current instance (ie. process) here?
501 TabContents* contents =
502 CreateTabContentsForURL(web_app->url(), GURL(), profile,
503 PageTransition::LINK, lazy, NULL);
504 WebContents* web_contents = contents->AsWebContents();
505 if (web_contents)
506 web_contents->SetWebApp(web_app);
507
508 if (lazy) {
509 contents->controller()->LoadURLLazily(
510 web_app->url(), GURL(), PageTransition::LINK, web_app->name(), NULL);
511 }
512 tabstrip_model_.AddTabContents(contents, -1, PageTransition::LINK, !lazy);
513 return contents;
514 }
515
516 #endif
517
518 TabContents* Browser::AddTabWithNavigationController( 488 TabContents* Browser::AddTabWithNavigationController(
519 NavigationController* ctrl, PageTransition::Type type) { 489 NavigationController* ctrl, PageTransition::Type type) {
520 TabContents* tc = ctrl->active_contents(); 490 TabContents* tc = ctrl->active_contents();
521 tabstrip_model_.AddTabContents(tc, -1, type, true); 491 tabstrip_model_.AddTabContents(tc, -1, type, true);
522 return tc; 492 return tc;
523 } 493 }
524 494
525 #if defined(OS_WIN) 495 #if defined(OS_WIN)
526 496
527 NavigationController* Browser::AddRestoredTab( 497 NavigationController* Browser::AddRestoredTab(
(...skipping 1297 matching lines...) Expand 10 before | Expand all | Expand 10 after
1825 1795
1826 void Browser::ContentsZoomChange(bool zoom_in) { 1796 void Browser::ContentsZoomChange(bool zoom_in) {
1827 ExecuteCommand(zoom_in ? IDC_ZOOM_PLUS : IDC_ZOOM_MINUS); 1797 ExecuteCommand(zoom_in ? IDC_ZOOM_PLUS : IDC_ZOOM_MINUS);
1828 } 1798 }
1829 1799
1830 bool Browser::IsApplication() const { 1800 bool Browser::IsApplication() const {
1831 return type_ == TYPE_APP; 1801 return type_ == TYPE_APP;
1832 } 1802 }
1833 1803
1834 void Browser::ConvertContentsToApplication(TabContents* contents) { 1804 void Browser::ConvertContentsToApplication(TabContents* contents) {
1835 WebContents* web_contents = contents->AsWebContents();
1836 if (!web_contents || !web_contents->web_app()) {
1837 NOTREACHED();
1838 return;
1839 }
1840
1841 int index = tabstrip_model_.GetIndexOfTabContents(contents); 1805 int index = tabstrip_model_.GetIndexOfTabContents(contents);
1842 if (index < 0) 1806 if (index < 0)
1843 return; 1807 return;
1844 1808
1845 WebApp* app = web_contents->web_app(); 1809 const GURL& url = contents->controller()->GetActiveEntry()->url();
1846 const std::wstring& app_name = app->name().empty() ? 1810 const std::wstring& app_name = ComputeApplicationNameFromURL(url);
brettw 2009/02/02 06:26:46 Same string comment.
1847 ComputeApplicationNameFromURL(app->url()) : app->name();
1848 RegisterAppPrefs(app_name); 1811 RegisterAppPrefs(app_name);
1849 1812
1850 tabstrip_model_.DetachTabContentsAt(index); 1813 tabstrip_model_.DetachTabContentsAt(index);
1851 Browser* browser = Browser::CreateForApp(app_name, profile_); 1814 Browser* browser = Browser::CreateForApp(app_name, profile_);
1852 browser->tabstrip_model()->AppendTabContents(contents, true); 1815 browser->tabstrip_model()->AppendTabContents(contents, true);
1853 browser->window()->Show(); 1816 browser->window()->Show();
1854 } 1817 }
1855 1818
1856 void Browser::ContentsStateChanged(TabContents* source) { 1819 void Browser::ContentsStateChanged(TabContents* source) {
1857 int index = tabstrip_model_.GetIndexOfTabContents(source); 1820 int index = tabstrip_model_.GetIndexOfTabContents(source);
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
2441 2404
2442 void Browser::AdvanceFindSelection(bool forward_direction) { 2405 void Browser::AdvanceFindSelection(bool forward_direction) {
2443 GetSelectedTabContents()->AsWebContents()->view()->FindInPage( 2406 GetSelectedTabContents()->AsWebContents()->view()->FindInPage(
2444 *this, true, forward_direction); 2407 *this, true, forward_direction);
2445 } 2408 }
2446 2409
2447 void Browser::CloseFrame() { 2410 void Browser::CloseFrame() {
2448 window_->Close(); 2411 window_->Close();
2449 } 2412 }
2450 2413
2414 #endif // OS_WIN
2415
2451 // static 2416 // static
2452 std::wstring Browser::ComputeApplicationNameFromURL(const GURL& url) { 2417 std::wstring Browser::ComputeApplicationNameFromURL(const GURL& url) {
2453 std::string t; 2418 std::string t;
2454 t.append(url.host()); 2419 t.append(url.host());
2455 t.append("_"); 2420 t.append("_");
2456 t.append(url.path()); 2421 t.append(url.path());
2457 return UTF8ToWide(t); 2422 return UTF8ToWide(t);
2458 } 2423 }
2459 2424
2460 // static 2425 // static
(...skipping 11 matching lines...) Expand all
2472 2437
2473 // We need to register the window position pref. 2438 // We need to register the window position pref.
2474 std::wstring window_pref(prefs::kBrowserWindowPlacement); 2439 std::wstring window_pref(prefs::kBrowserWindowPlacement);
2475 window_pref.append(L"_"); 2440 window_pref.append(L"_");
2476 window_pref.append(app_name); 2441 window_pref.append(app_name);
2477 PrefService* prefs = g_browser_process->local_state(); 2442 PrefService* prefs = g_browser_process->local_state();
2478 DCHECK(prefs); 2443 DCHECK(prefs);
2479 2444
2480 prefs->RegisterDictionaryPref(window_pref.c_str()); 2445 prefs->RegisterDictionaryPref(window_pref.c_str());
2481 } 2446 }
2482
2483 #endif // OS_WIN
OLDNEW
« no previous file with comments | « chrome/browser/browser.h ('k') | chrome/browser/browser.scons » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698