1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/webui/mojo_web_ui_controller.h"
7 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/ui/webui/mojo_web_ui_handler.h"
9 #include "content/public/browser/render_process_host.h"
10 #include "content/public/browser/web_ui_data_source.h"
11 #include "content/public/common/bindings_policy.h"
12 #include "third_party/mojo/src/mojo/public/cpp/system/core.h"
14 MojoWebUIControllerBase::MojoWebUIControllerBase(content::WebUI
* contents
)
15 : WebUIController(contents
), mojo_data_source_(NULL
) {
18 MojoWebUIControllerBase::~MojoWebUIControllerBase() {
21 void MojoWebUIControllerBase::RenderViewCreated(
22 content::RenderViewHost
* render_view_host
) {
23 render_view_host
->AllowBindings(content::BINDINGS_POLICY_WEB_UI
);
26 void MojoWebUIControllerBase::AddMojoResourcePath(const std::string
& path
,
28 if (!mojo_data_source_
) {
29 mojo_data_source_
= content::WebUIDataSource::AddMojoDataSource(
30 Profile::FromWebUI(web_ui()));
32 mojo_data_source_
->AddResourcePath(path
, resource_id
);