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#include "chrome/browser/ui/webui/bookmarks_ui.h" 6 7#include "base/memory/ref_counted_memory.h" 8#include "base/memory/singleton.h" 9#include "base/message_loop.h" 10#include "chrome/browser/profiles/profile.h" 11#include "chrome/browser/ui/webui/chrome_url_data_manager.h" 12#include "chrome/common/url_constants.h" 13#include "content/browser/browser_thread.h" 14#include "content/browser/tab_contents/tab_contents.h" 15#include "grit/theme_resources.h" 16#include "ui/base/resource/resource_bundle.h" 17 18//////////////////////////////////////////////////////////////////////////////// 19// 20// BookmarksUIHTMLSource 21// 22//////////////////////////////////////////////////////////////////////////////// 23 24BookmarksUIHTMLSource::BookmarksUIHTMLSource() 25 : DataSource(chrome::kChromeUIBookmarksHost, MessageLoop::current()) { 26} 27 28void BookmarksUIHTMLSource::StartDataRequest(const std::string& path, 29 bool is_incognito, 30 int request_id) { 31 NOTREACHED() << "We should never get here since the extension should have" 32 << "been triggered"; 33 34 SendResponse(request_id, NULL); 35} 36 37std::string BookmarksUIHTMLSource::GetMimeType(const std::string& path) const { 38 NOTREACHED() << "We should never get here since the extension should have" 39 << "been triggered"; 40 return "text/html"; 41} 42 43//////////////////////////////////////////////////////////////////////////////// 44// 45// BookmarksUI 46// 47//////////////////////////////////////////////////////////////////////////////// 48 49BookmarksUI::BookmarksUI(TabContents* contents) : WebUI(contents) { 50 BookmarksUIHTMLSource* html_source = new BookmarksUIHTMLSource(); 51 52 // Set up the chrome://bookmarks/ source. 53 contents->profile()->GetChromeURLDataManager()->AddDataSource(html_source); 54} 55 56// static 57RefCountedMemory* BookmarksUI::GetFaviconResourceBytes() { 58 return ResourceBundle::GetSharedInstance(). 59 LoadDataResourceBytes(IDR_BOOKMARKS_FAVICON); 60} 61