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

Side by Side Diff: chrome/browser/ui/webui/uber/uber_ui.cc

Issue 9265020: [uber] make the navigation controls an iframe (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: revert overlay change so extensions can use it Created 8 years, 11 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
OLDNEW
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/webui/uber/uber_ui.h" 5 #include "chrome/browser/ui/webui/uber/uber_ui.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/ui/webui/chrome_url_data_manager.h" 10 #include "chrome/browser/ui/webui/chrome_url_data_manager.h"
(...skipping 11 matching lines...) Expand all
22 using content::WebContents; 22 using content::WebContents;
23 23
24 namespace { 24 namespace {
25 25
26 ChromeWebUIDataSource* CreateUberHTMLSource() { 26 ChromeWebUIDataSource* CreateUberHTMLSource() {
27 ChromeWebUIDataSource* source = 27 ChromeWebUIDataSource* source =
28 new ChromeWebUIDataSource(chrome::kChromeUIUberHost); 28 new ChromeWebUIDataSource(chrome::kChromeUIUberHost);
29 29
30 source->set_json_path("strings.js"); 30 source->set_json_path("strings.js");
31 source->add_resource_path("uber.js", IDR_UBER_JS); 31 source->add_resource_path("uber.js", IDR_UBER_JS);
32 source->add_resource_path("uber_utils.js", IDR_UBER_UTILS_JS);
32 source->set_default_resource(IDR_UBER_HTML); 33 source->set_default_resource(IDR_UBER_HTML);
33 34
35 // Hack alert: continue showing "Loading..." until a real title is set.
36 source->AddLocalizedString("pageTitle", IDS_TAB_LOADING_TITLE);
37
38 source->AddString("settingsHost",
39 ASCIIToUTF16(chrome::kChromeUISettingsHost));
40 source->AddString("extensionsHost",
41 ASCIIToUTF16(chrome::kChromeUIExtensionsHost));
42
43 #if defined(OS_CHROMEOS)
44 source->AddString("aboutPageHost",
45 ASCIIToUTF16(chrome::kAboutOptionsSubPage));
46 #endif
47 return source;
48 }
49
50 ChromeWebUIDataSource* CreateUberFrameHTMLSource() {
51 ChromeWebUIDataSource* source =
52 new ChromeWebUIDataSource(chrome::kChromeUIUberFrameHost);
53
54 source->set_json_path("strings.js");
55 source->add_resource_path("uber_frame.js", IDR_UBER_FRAME_JS);
56 source->set_default_resource(IDR_UBER_FRAME_HTML);
57
34 source->AddLocalizedString("shortProductName", IDS_SHORT_PRODUCT_NAME); 58 source->AddLocalizedString("shortProductName", IDS_SHORT_PRODUCT_NAME);
35 59
36 source->AddString("settingsHost", 60 source->AddString("settingsHost",
37 ASCIIToUTF16(chrome::kChromeUISettingsHost)); 61 ASCIIToUTF16(chrome::kChromeUISettingsHost));
38 source->AddLocalizedString("settingsDisplayName", IDS_SETTINGS_TITLE); 62 source->AddLocalizedString("settingsDisplayName", IDS_SETTINGS_TITLE);
39 source->AddString("extensionsHost", 63 source->AddString("extensionsHost",
40 ASCIIToUTF16(chrome::kChromeUIExtensionsHost)); 64 ASCIIToUTF16(chrome::kChromeUIExtensionsHost));
41 source->AddLocalizedString("extensionsDisplayName", 65 source->AddLocalizedString("extensionsDisplayName",
42 IDS_MANAGE_EXTENSIONS_SETTING_WINDOWS_TITLE); 66 IDS_MANAGE_EXTENSIONS_SETTING_WINDOWS_TITLE);
43
44 #if defined(OS_CHROMEOS) 67 #if defined(OS_CHROMEOS)
45 source->AddString("aboutPageHost", 68 source->AddString("aboutPageHost",
46 ASCIIToUTF16(chrome::kAboutOptionsSubPage)); 69 ASCIIToUTF16(chrome::kAboutOptionsSubPage));
47 source->AddLocalizedString("aboutPageDisplayName", IDS_ABOUT_TAB_TITLE); 70 source->AddLocalizedString("aboutPageDisplayName", IDS_ABOUT_TAB_TITLE);
48 #endif 71 #endif
72
49 return source; 73 return source;
50 } 74 }
51 75
52 } // namespace 76 } // namespace
53 77
54 UberUI::UberUI(content::WebUI* web_ui) : WebUIController(web_ui) { 78 UberUI::UberUI(content::WebUI* web_ui) : WebUIController(web_ui) {
55 Profile* profile = Profile::FromWebUI(web_ui); 79 Profile* profile = Profile::FromWebUI(web_ui);
56 profile->GetChromeURLDataManager()->AddDataSource(CreateUberHTMLSource()); 80 profile->GetChromeURLDataManager()->AddDataSource(CreateUberHTMLSource());
57 81
82 RegisterSubpage(chrome::kChromeUIUberFrameURL);
58 RegisterSubpage(chrome::kChromeUISettingsFrameURL); 83 RegisterSubpage(chrome::kChromeUISettingsFrameURL);
59 RegisterSubpage(chrome::kChromeUIExtensionsFrameURL); 84 RegisterSubpage(chrome::kChromeUIExtensionsFrameURL);
60 #if defined(OS_CHROMEOS) 85 #if defined(OS_CHROMEOS)
61 RegisterSubpage(chrome::kChromeUIAboutPageFrameURL); 86 RegisterSubpage(chrome::kChromeUIAboutPageFrameURL);
62 #endif 87 #endif
63 } 88 }
64 89
65 UberUI::~UberUI() { 90 UberUI::~UberUI() {
66 STLDeleteValues(&sub_uis_); 91 STLDeleteValues(&sub_uis_);
67 } 92 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 return false; 131 return false;
107 } 132 }
108 133
109 // The message was sent from a subpage. 134 // The message was sent from a subpage.
110 // TODO(jam) fix this to use interface 135 // TODO(jam) fix this to use interface
111 //return subpage->second->GetController()->OverrideHandleWebUIMessage( 136 //return subpage->second->GetController()->OverrideHandleWebUIMessage(
112 // source_url, message, args); 137 // source_url, message, args);
113 subpage->second->ProcessWebUIMessage(source_url, message, args); 138 subpage->second->ProcessWebUIMessage(source_url, message, args);
114 return true; 139 return true;
115 } 140 }
141
142 // UberFrameUI
143
144 UberFrameUI::UberFrameUI(content::WebUI* web_ui) : WebUIController(web_ui) {
145 Profile* profile = Profile::FromWebUI(web_ui);
146 profile->GetChromeURLDataManager()->AddDataSource(
147 CreateUberFrameHTMLSource());
148 }
149
150 UberFrameUI::~UberFrameUI() {
151 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698