1// Copyright (c) 2013 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#ifndef CONTENT_BROWSER_WEBUI_CONTENT_WEB_UI_CONTROLLER_FACTORY_H_ 6#define CONTENT_BROWSER_WEBUI_CONTENT_WEB_UI_CONTROLLER_FACTORY_H_ 7 8#include "base/basictypes.h" 9#include "base/memory/singleton.h" 10#include "content/public/browser/web_ui.h" 11#include "content/public/browser/web_ui_controller_factory.h" 12 13namespace content { 14 15class ContentWebUIControllerFactory : public WebUIControllerFactory { 16 public: 17 virtual WebUI::TypeID GetWebUIType(BrowserContext* browser_context, 18 const GURL& url) const OVERRIDE; 19 virtual bool UseWebUIForURL(BrowserContext* browser_context, 20 const GURL& url) const OVERRIDE; 21 virtual bool UseWebUIBindingsForURL(BrowserContext* browser_context, 22 const GURL& url) const OVERRIDE; 23 virtual WebUIController* CreateWebUIControllerForURL( 24 WebUI* web_ui, 25 const GURL& url) const OVERRIDE; 26 27 static ContentWebUIControllerFactory* GetInstance(); 28 29 protected: 30 ContentWebUIControllerFactory(); 31 virtual ~ContentWebUIControllerFactory(); 32 33 private: 34 friend struct DefaultSingletonTraits<ContentWebUIControllerFactory>; 35 36 DISALLOW_COPY_AND_ASSIGN(ContentWebUIControllerFactory); 37}; 38 39} // namespace content 40 41#endif // CONTENT_BROWSER_WEBUI_CONTENT_WEB_UI_CONTROLLER_FACTORY_H_ 42