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 3// found in the LICENSE file. 4 5#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h" 6 7#include "chrome/browser/profiles/profile.h" 8#include "chrome/browser/ui/webui/omnibox/omnibox_ui_handler.h" 9#include "chrome/common/url_constants.h" 10#include "content/public/browser/web_ui.h" 11#include "content/public/browser/web_ui_controller.h" 12#include "content/public/browser/web_ui_data_source.h" 13#include "grit/browser_resources.h" 14 15OmniboxUI::OmniboxUI(content::WebUI* web_ui) : MojoWebUIController(web_ui) { 16 // Set up the chrome://omnibox/ source. 17 content::WebUIDataSource* html_source = 18 content::WebUIDataSource::Create(chrome::kChromeUIOmniboxHost); 19 html_source->AddResourcePath("omnibox.css", IDR_OMNIBOX_CSS); 20 html_source->AddResourcePath("omnibox.js", IDR_OMNIBOX_JS); 21 html_source->SetDefaultResource(IDR_OMNIBOX_HTML); 22 23 content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), html_source); 24 25 AddMojoResourcePath("chrome/browser/ui/webui/omnibox/omnibox.mojom", 26 IDR_OMNIBOX_MOJO_JS); 27} 28 29OmniboxUI::~OmniboxUI() {} 30 31scoped_ptr<MojoWebUIHandler> OmniboxUI::CreateUIHandler( 32 mojo::InterfaceRequest<OmniboxUIHandlerMojo> request) { 33 return scoped_ptr<MojoWebUIHandler>(mojo::WeakBindToRequest( 34 new OmniboxUIHandler(Profile::FromWebUI(web_ui())), &request)); 35} 36