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

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

Issue 8734016: Make platform apps use and require a different container ("shell" instead of "panel") (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 years 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/browser_browsertest.cc » ('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 <windows.h> 8 #include <windows.h>
9 #include <shellapi.h> 9 #include <shellapi.h>
10 #endif // OS_WIN 10 #endif // OS_WIN
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 WindowOpenDisposition disposition) { 614 WindowOpenDisposition disposition) {
615 TabContents* tab = NULL; 615 TabContents* tab = NULL;
616 ExtensionPrefs* prefs = profile->GetExtensionService()->extension_prefs(); 616 ExtensionPrefs* prefs = profile->GetExtensionService()->extension_prefs();
617 prefs->SetActiveBit(extension->id(), true); 617 prefs->SetActiveBit(extension->id(), true);
618 618
619 UMA_HISTOGRAM_ENUMERATION("Extensions.AppLaunchContainer", container, 100); 619 UMA_HISTOGRAM_ENUMERATION("Extensions.AppLaunchContainer", container, 100);
620 620
621 switch (container) { 621 switch (container) {
622 case extension_misc::LAUNCH_WINDOW: 622 case extension_misc::LAUNCH_WINDOW:
623 case extension_misc::LAUNCH_PANEL: 623 case extension_misc::LAUNCH_PANEL:
624 case extension_misc::LAUNCH_SHELL:
624 tab = Browser::OpenApplicationWindow(profile, extension, container, 625 tab = Browser::OpenApplicationWindow(profile, extension, container,
625 override_url, NULL); 626 override_url, NULL);
626 break; 627 break;
627 case extension_misc::LAUNCH_TAB: { 628 case extension_misc::LAUNCH_TAB: {
628 tab = Browser::OpenApplicationTab(profile, extension, override_url, 629 tab = Browser::OpenApplicationTab(profile, extension, override_url,
629 disposition); 630 disposition);
630 break; 631 break;
631 } 632 }
632 default: 633 default:
633 NOTREACHED(); 634 NOTREACHED();
(...skipping 10 matching lines...) Expand all
644 const GURL& url_input, 645 const GURL& url_input,
645 Browser** app_browser) { 646 Browser** app_browser) {
646 DCHECK(!url_input.is_empty() || extension); 647 DCHECK(!url_input.is_empty() || extension);
647 GURL url = UrlForExtension(extension, url_input); 648 GURL url = UrlForExtension(extension, url_input);
648 649
649 std::string app_name; 650 std::string app_name;
650 app_name = extension ? 651 app_name = extension ?
651 web_app::GenerateApplicationNameFromExtensionId(extension->id()) : 652 web_app::GenerateApplicationNameFromExtensionId(extension->id()) :
652 web_app::GenerateApplicationNameFromURL(url); 653 web_app::GenerateApplicationNameFromURL(url);
653 654
654 Type type = extension && (container == extension_misc::LAUNCH_PANEL) ? 655 Type type = TYPE_POPUP;
655 TYPE_PANEL : TYPE_POPUP; 656 if (extension) {
657 switch (container) {
658 case extension_misc::LAUNCH_PANEL:
659 type = TYPE_PANEL;
660 break;
661 case extension_misc::LAUNCH_SHELL:
662 type = TYPE_SHELL;
663 break;
664 default: break;
665 }
666 }
656 667
657 gfx::Rect window_bounds; 668 gfx::Rect window_bounds;
658 if (extension) { 669 if (extension) {
659 window_bounds.set_width(extension->launch_width()); 670 window_bounds.set_width(extension->launch_width());
660 window_bounds.set_height(extension->launch_height()); 671 window_bounds.set_height(extension->launch_height());
661 } 672 }
662 673
663 Browser* browser = Browser::CreateForApp(type, app_name, window_bounds, 674 Browser* browser = Browser::CreateForApp(type, app_name, window_bounds,
664 profile); 675 profile);
665 676
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
863 switch (type_) { 874 switch (type_) {
864 case TYPE_TABBED: 875 case TYPE_TABBED:
865 return true; 876 return true;
866 case TYPE_POPUP: 877 case TYPE_POPUP:
867 // Only save the window placement of popups if they are restored, 878 // Only save the window placement of popups if they are restored,
868 // or the window belongs to DevTools. 879 // or the window belongs to DevTools.
869 return browser_defaults::kRestorePopups || is_devtools(); 880 return browser_defaults::kRestorePopups || is_devtools();
870 case TYPE_PANEL: 881 case TYPE_PANEL:
871 // Do not save the window placement of panels. 882 // Do not save the window placement of panels.
872 return false; 883 return false;
884 case TYPE_SHELL:
885 return true;
873 default: 886 default:
874 return false; 887 return false;
875 } 888 }
876 } 889 }
877 890
878 void Browser::SaveWindowPlacement(const gfx::Rect& bounds, 891 void Browser::SaveWindowPlacement(const gfx::Rect& bounds,
879 ui::WindowShowState show_state) { 892 ui::WindowShowState show_state) {
880 // Save to the session storage service, used when reloading a past session. 893 // Save to the session storage service, used when reloading a past session.
881 // Note that we don't want to be the ones who cause lazy initialization of 894 // Note that we don't want to be the ones who cause lazy initialization of
882 // the session service. This function gets called during initial window 895 // the session service. This function gets called during initial window
(...skipping 4425 matching lines...) Expand 10 before | Expand all | Expand 10 after
5308 window_->GetLocationBar()->ShowFirstRunBubble(bubble_type); 5321 window_->GetLocationBar()->ShowFirstRunBubble(bubble_type);
5309 } else { 5322 } else {
5310 GlobalErrorService* service = 5323 GlobalErrorService* service =
5311 GlobalErrorServiceFactory::GetForProfile(profile()); 5324 GlobalErrorServiceFactory::GetForProfile(profile());
5312 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView(); 5325 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView();
5313 if (error) { 5326 if (error) {
5314 error->ShowBubbleView(this); 5327 error->ShowBubbleView(this);
5315 } 5328 }
5316 } 5329 }
5317 } 5330 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/browser_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698