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

Side by Side Diff: chrome/browser/ui/webui/about_page/about_page_ui.cc

Issue 9224002: Make WebUI objects not derive from WebUI. WebUI objects own the controller. This is the ownership... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync to head to clear linux_chromeos browsertest failures 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/about_page/about_page_ui.h" 5 #include "chrome/browser/ui/webui/about_page/about_page_ui.h"
6 6
7 #include "chrome/browser/profiles/profile.h" 7 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/ui/webui/about_page/about_page_handler.h" 8 #include "chrome/browser/ui/webui/about_page/about_page_handler.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/shared_resources_data_source.h" 11 #include "chrome/browser/ui/webui/shared_resources_data_source.h"
12 #include "chrome/common/url_constants.h" 12 #include "chrome/common/url_constants.h"
13 #include "content/browser/webui/web_ui.h"
13 #include "content/public/browser/web_contents.h" 14 #include "content/public/browser/web_contents.h"
14 #include "grit/browser_resources.h" 15 #include "grit/browser_resources.h"
15 16
16 namespace { 17 namespace {
17 18
18 ChromeWebUIDataSource* CreateAboutPageHTMLSource() { 19 ChromeWebUIDataSource* CreateAboutPageHTMLSource() {
19 ChromeWebUIDataSource* source = 20 ChromeWebUIDataSource* source =
20 new ChromeWebUIDataSource(chrome::kChromeUIAboutPageFrameHost); 21 new ChromeWebUIDataSource(chrome::kChromeUIAboutPageFrameHost);
21 22
22 source->set_json_path("strings.js"); 23 source->set_json_path("strings.js");
23 source->add_resource_path("about_page.js", IDR_ABOUT_PAGE_JS); 24 source->add_resource_path("about_page.js", IDR_ABOUT_PAGE_JS);
24 source->set_default_resource(IDR_ABOUT_PAGE_HTML); 25 source->set_default_resource(IDR_ABOUT_PAGE_HTML);
25 return source; 26 return source;
26 } 27 }
27 28
28 } // namespace 29 } // namespace
29 30
30 AboutPageUI::AboutPageUI(content::WebContents* contents) 31 AboutPageUI::AboutPageUI(WebUI* web_ui)
31 : WebUI(contents, this) { 32 : WebUIController(web_ui) {
32 Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext()); 33 Profile* profile = Profile::FromBrowserContext(
34 web_ui->web_contents()->GetBrowserContext());
33 ChromeWebUIDataSource* source = CreateAboutPageHTMLSource(); 35 ChromeWebUIDataSource* source = CreateAboutPageHTMLSource();
34 profile->GetChromeURLDataManager()->AddDataSource(source); 36 profile->GetChromeURLDataManager()->AddDataSource(source);
35 profile->GetChromeURLDataManager()->AddDataSource( 37 profile->GetChromeURLDataManager()->AddDataSource(
36 new SharedResourcesDataSource()); 38 new SharedResourcesDataSource());
37 39
38 AboutPageHandler* handler = new AboutPageHandler(); 40 AboutPageHandler* handler = new AboutPageHandler();
39 handler->GetLocalizedValues(source->localized_strings()); 41 handler->GetLocalizedValues(source->localized_strings());
40 AddMessageHandler(handler); 42 web_ui->AddMessageHandler(handler);
41 } 43 }
42 44
43 AboutPageUI::~AboutPageUI() { 45 AboutPageUI::~AboutPageUI() {
44 } 46 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698