Home | History | Annotate | Download | only in webui
      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