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

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

Issue 9003014: Replace WebUI::tab_contents() with web_contents() and switch all users to use web_contents.h inst... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' 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
« no previous file with comments | « chrome/browser/ui/webui/uber/uber_ui.h ('k') | chrome/browser/ui/webui/web_ui_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/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 "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/ui/webui/chrome_url_data_manager.h" 9 #include "chrome/browser/ui/webui/chrome_url_data_manager.h"
10 #include "chrome/browser/ui/webui/chrome_web_ui_data_source.h" 10 #include "chrome/browser/ui/webui/chrome_web_ui_data_source.h"
11 #include "chrome/browser/ui/webui/chrome_web_ui_factory.h" 11 #include "chrome/browser/ui/webui/chrome_web_ui_factory.h"
12 #include "chrome/browser/ui/webui/extensions/extensions_ui.h" 12 #include "chrome/browser/ui/webui/extensions/extensions_ui.h"
13 #include "chrome/browser/ui/webui/options2/options_ui2.h" 13 #include "chrome/browser/ui/webui/options2/options_ui2.h"
14 #include "chrome/common/url_constants.h" 14 #include "chrome/common/url_constants.h"
15 #include "content/browser/tab_contents/tab_contents.h" 15 #include "content/browser/tab_contents/tab_contents.h"
16 #include "grit/browser_resources.h" 16 #include "grit/browser_resources.h"
17 17
18 using content::WebContents;
19
18 namespace { 20 namespace {
19 21
20 ChromeWebUIDataSource* CreateUberHTMLSource() { 22 ChromeWebUIDataSource* CreateUberHTMLSource() {
21 ChromeWebUIDataSource* source = 23 ChromeWebUIDataSource* source =
22 new ChromeWebUIDataSource(chrome::kChromeUIUberHost); 24 new ChromeWebUIDataSource(chrome::kChromeUIUberHost);
23 25
24 source->set_json_path("strings.js"); 26 source->set_json_path("strings.js");
25 source->add_resource_path("uber.js", IDR_UBER_JS); 27 source->add_resource_path("uber.js", IDR_UBER_JS);
26 source->set_default_resource(IDR_UBER_HTML); 28 source->set_default_resource(IDR_UBER_HTML);
27 return source; 29 return source;
28 } 30 }
29 31
30 } // namespace 32 } // namespace
31 33
32 UberUI::UberUI(TabContents* contents) : ChromeWebUI(contents) { 34 UberUI::UberUI(WebContents* contents) : ChromeWebUI(contents) {
33 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext()); 35 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
34 profile->GetChromeURLDataManager()->AddDataSource(CreateUberHTMLSource()); 36 profile->GetChromeURLDataManager()->AddDataSource(CreateUberHTMLSource());
35 37
36 RegisterSubpage(chrome::kChromeUISettingsFrameURL); 38 RegisterSubpage(chrome::kChromeUISettingsFrameURL);
37 RegisterSubpage(chrome::kChromeUIExtensionsFrameURL); 39 RegisterSubpage(chrome::kChromeUIExtensionsFrameURL);
38 } 40 }
39 41
40 UberUI::~UberUI() { 42 UberUI::~UberUI() {
41 STLDeleteValues(&sub_uis_); 43 STLDeleteValues(&sub_uis_);
42 } 44 }
43 45
44 void UberUI::RegisterSubpage(const std::string& page_url) { 46 void UberUI::RegisterSubpage(const std::string& page_url) {
45 ChromeWebUI* web_ui = static_cast<ChromeWebUI*>( 47 ChromeWebUI* web_ui = static_cast<ChromeWebUI*>(
46 ChromeWebUIFactory::GetInstance()->CreateWebUIForURL(tab_contents_, 48 ChromeWebUIFactory::GetInstance()->CreateWebUIForURL(
47 GURL(page_url))); 49 static_cast<TabContents*>(web_contents_), GURL(page_url)));
48 50
49 web_ui->set_frame_xpath("//iframe[@src='" + page_url + "']"); 51 web_ui->set_frame_xpath("//iframe[@src='" + page_url + "']");
50 sub_uis_[page_url] = web_ui; 52 sub_uis_[page_url] = web_ui;
51 } 53 }
52 54
53 void UberUI::RenderViewCreated(RenderViewHost* render_view_host) { 55 void UberUI::RenderViewCreated(RenderViewHost* render_view_host) {
54 for (SubpageMap::iterator iter = sub_uis_.begin(); iter != sub_uis_.end(); 56 for (SubpageMap::iterator iter = sub_uis_.begin(); iter != sub_uis_.end();
55 ++iter) { 57 ++iter) {
56 iter->second->RenderViewCreated(render_view_host); 58 iter->second->RenderViewCreated(render_view_host);
57 } 59 }
(...skipping 26 matching lines...) Expand all
84 SubpageMap::iterator subpage = sub_uis_.find(source_url.GetOrigin().spec()); 86 SubpageMap::iterator subpage = sub_uis_.find(source_url.GetOrigin().spec());
85 if (subpage == sub_uis_.end()) { 87 if (subpage == sub_uis_.end()) {
86 // The message was sent from the uber page itself. 88 // The message was sent from the uber page itself.
87 DCHECK_EQ(std::string(chrome::kChromeUIUberHost), source_url.host()); 89 DCHECK_EQ(std::string(chrome::kChromeUIUberHost), source_url.host());
88 ChromeWebUI::OnWebUISend(source_url, message, args); 90 ChromeWebUI::OnWebUISend(source_url, message, args);
89 } else { 91 } else {
90 // The message was sent from a subpage. 92 // The message was sent from a subpage.
91 subpage->second->OnWebUISend(source_url, message, args); 93 subpage->second->OnWebUISend(source_url, message, args);
92 } 94 }
93 } 95 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/uber/uber_ui.h ('k') | chrome/browser/ui/webui/web_ui_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698