• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 CHROME_BROWSER_UI_WEBUI_BOOKMARKS_UI_H_
6 #define CHROME_BROWSER_UI_WEBUI_BOOKMARKS_UI_H_
7 #pragma once
8 
9 #include <string>
10 
11 #include "chrome/browser/ui/webui/chrome_url_data_manager.h"
12 #include "content/browser/webui/web_ui.h"
13 
14 class GURL;
15 class RefCountedMemory;
16 
17 // This class provides the source for chrome://bookmarks/
18 class BookmarksUIHTMLSource : public ChromeURLDataManager::DataSource {
19  public:
20   BookmarksUIHTMLSource();
21 
22   // Called when the network layer has requested a resource underneath
23   // the path we registered.
24   virtual void StartDataRequest(const std::string& path,
25                                 bool is_incognito,
26                                 int request_id);
27   virtual std::string GetMimeType(const std::string& path) const;
28 
29  private:
30   DISALLOW_COPY_AND_ASSIGN(BookmarksUIHTMLSource);
31 };
32 
33 // This class is used to hook up chrome://bookmarks/ which in turn gets
34 // overridden by an extension.
35 class BookmarksUI : public WebUI {
36  public:
37   explicit BookmarksUI(TabContents* contents);
38 
39   static RefCountedMemory* GetFaviconResourceBytes();
40 
41  private:
42   DISALLOW_COPY_AND_ASSIGN(BookmarksUI);
43 };
44 
45 #endif  // CHROME_BROWSER_UI_WEBUI_BOOKMARKS_UI_H_
46