172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 3bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// found in the LICENSE file. 4bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 5dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#ifndef CHROME_BROWSER_UI_WEBUI_KEYBOARD_UI_H_ 6dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#define CHROME_BROWSER_UI_WEBUI_KEYBOARD_UI_H_ 7bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#pragma once 8bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 9bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#include <string> 10bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 11dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/ui/webui/chrome_url_data_manager.h" 12dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "content/browser/webui/web_ui.h" 13bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 14bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenclass Profile; 15bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 16bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// The TabContents used for the keyboard page. 1772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenclass KeyboardUI : public WebUI { 18bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen public: 19bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen explicit KeyboardUI(TabContents* manager); 20bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen ~KeyboardUI(); 21bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 22bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen class KeyboardHTMLSource : public ChromeURLDataManager::DataSource { 23bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen public: 24bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen KeyboardHTMLSource(); 25bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 26bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen // Overrides from DataSource 27bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen virtual void StartDataRequest(const std::string& path, 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen bool is_incognito, 29bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen int request_id); 30bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen virtual std::string GetMimeType(const std::string&) const; 31bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 32bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen private: 33bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen virtual ~KeyboardHTMLSource() {} 34bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 35bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen DISALLOW_COPY_AND_ASSIGN(KeyboardHTMLSource); 36bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen }; 37bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 38bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen private: 39bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen DISALLOW_COPY_AND_ASSIGN(KeyboardUI); 40bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}; 41bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen 42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#endif // CHROME_BROWSER_UI_WEBUI_KEYBOARD_UI_H_ 43