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 #include "chrome/browser/ui/browser_init.h" | 5 #include "chrome/browser/ui/browser_init.h" |
6 | 6 |
7 #include <algorithm> // For max(). | 7 #include <algorithm> // For max(). |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/environment.h" | 10 #include "base/environment.h" |
(...skipping 795 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
806 const Extension* extension; | 806 const Extension* extension; |
807 if (!GetAppLaunchContainer(profile, app_id, &extension, &launch_container)) | 807 if (!GetAppLaunchContainer(profile, app_id, &extension, &launch_container)) |
808 return false; | 808 return false; |
809 | 809 |
810 // If the user doesn't want to open a tab, fail. | 810 // If the user doesn't want to open a tab, fail. |
811 if (launch_container != extension_misc::LAUNCH_TAB) | 811 if (launch_container != extension_misc::LAUNCH_TAB) |
812 return false; | 812 return false; |
813 | 813 |
814 RecordCmdLineAppHistogram(); | 814 RecordCmdLineAppHistogram(); |
815 | 815 |
816 TabContents* app_tab = Browser::OpenApplicationTab(profile, extension, | 816 TabContents* app_tab = Browser::OpenApplicationTab(profile, extension, GURL(), |
817 NEW_FOREGROUND_TAB); | 817 NEW_FOREGROUND_TAB); |
818 return (app_tab != NULL); | 818 return (app_tab != NULL); |
819 } | 819 } |
820 | 820 |
821 bool BrowserInit::LaunchWithProfile::OpenApplicationWindow(Profile* profile) { | 821 bool BrowserInit::LaunchWithProfile::OpenApplicationWindow(Profile* profile) { |
822 std::string url_string, app_id; | 822 std::string url_string, app_id; |
823 if (!IsAppLaunch(&url_string, &app_id)) | 823 if (!IsAppLaunch(&url_string, &app_id)) |
824 return false; | 824 return false; |
825 | 825 |
826 // This can fail if the app_id is invalid. It can also fail if the | 826 // This can fail if the app_id is invalid. It can also fail if the |
827 // extension is external, and has not yet been installed. | 827 // extension is external, and has not yet been installed. |
828 // TODO(skerner): Do something reasonable here. Pop up a warning panel? | 828 // TODO(skerner): Do something reasonable here. Pop up a warning panel? |
829 // Open an URL to the gallery page of the extension id? | 829 // Open an URL to the gallery page of the extension id? |
830 if (!app_id.empty()) { | 830 if (!app_id.empty()) { |
831 extension_misc::LaunchContainer launch_container; | 831 extension_misc::LaunchContainer launch_container; |
832 const Extension* extension; | 832 const Extension* extension; |
833 if (!GetAppLaunchContainer(profile, app_id, &extension, &launch_container)) | 833 if (!GetAppLaunchContainer(profile, app_id, &extension, &launch_container)) |
834 return false; | 834 return false; |
835 | 835 |
836 // TODO(skerner): Could pass in |extension| and |launch_container|, | 836 // TODO(skerner): Could pass in |extension| and |launch_container|, |
837 // and avoid calling GetAppLaunchContainer() both here and in | 837 // and avoid calling GetAppLaunchContainer() both here and in |
838 // OpenApplicationTab(). | 838 // OpenApplicationTab(). |
839 | 839 |
840 if (launch_container == extension_misc::LAUNCH_TAB) | 840 if (launch_container == extension_misc::LAUNCH_TAB) |
841 return false; | 841 return false; |
842 | 842 |
843 RecordCmdLineAppHistogram(); | 843 RecordCmdLineAppHistogram(); |
844 TabContents* tab_in_app_window = Browser::OpenApplication( | 844 TabContents* tab_in_app_window = Browser::OpenApplication( |
845 profile, extension, launch_container, NEW_WINDOW); | 845 profile, extension, launch_container, GURL(), NEW_WINDOW); |
846 return (tab_in_app_window != NULL); | 846 return (tab_in_app_window != NULL); |
847 } | 847 } |
848 | 848 |
849 if (url_string.empty()) | 849 if (url_string.empty()) |
850 return false; | 850 return false; |
851 | 851 |
852 #if defined(OS_WIN) // Fix up Windows shortcuts. | 852 #if defined(OS_WIN) // Fix up Windows shortcuts. |
853 ReplaceSubstringsAfterOffset(&url_string, 0, "\\x", "%"); | 853 ReplaceSubstringsAfterOffset(&url_string, 0, "\\x", "%"); |
854 #endif | 854 #endif |
855 GURL url(url_string); | 855 GURL url(url_string); |
(...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1549 if (!automation->InitializeChannel(channel_id)) | 1549 if (!automation->InitializeChannel(channel_id)) |
1550 return false; | 1550 return false; |
1551 automation->SetExpectedTabCount(expected_tabs); | 1551 automation->SetExpectedTabCount(expected_tabs); |
1552 | 1552 |
1553 AutomationProviderList* list = g_browser_process->GetAutomationProviderList(); | 1553 AutomationProviderList* list = g_browser_process->GetAutomationProviderList(); |
1554 DCHECK(list); | 1554 DCHECK(list); |
1555 list->AddProvider(automation); | 1555 list->AddProvider(automation); |
1556 | 1556 |
1557 return true; | 1557 return true; |
1558 } | 1558 } |
OLD | NEW |