Chromium Code Reviews| Index: chrome/browser/ui/webui/md_bookmarks_ui.cc |
| diff --git a/chrome/browser/ui/webui/md_bookmarks_ui.cc b/chrome/browser/ui/webui/md_bookmarks_ui.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f86493a2a5c049f60b7751c5639ec0cf51a155b5 |
| --- /dev/null |
| +++ b/chrome/browser/ui/webui/md_bookmarks_ui.cc |
| @@ -0,0 +1,98 @@ |
| +// Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/ui/webui/md_bookmarks_ui.h" |
| + |
| +#include "base/memory/ref_counted_memory.h" |
| +#include "chrome/browser/profiles/profile.h" |
| +#include "chrome/common/chrome_features.h" |
| +#include "chrome/common/url_constants.h" |
| +#include "chrome/grit/browser_resources.h" |
| +#include "chrome/grit/generated_resources.h" |
| +#include "chrome/grit/theme_resources.h" |
| +#include "components/strings/grit/components_strings.h" |
| +#include "content/public/browser/url_data_source.h" |
| +#include "content/public/browser/web_ui.h" |
| +#include "content/public/browser/web_ui_data_source.h" |
| +#include "ui/base/resource/resource_bundle.h" |
| + |
| +namespace { |
| + |
| +content::WebUIDataSource* CreateMdBookmarksUIHTMLSource(Profile* profile) { |
| + content::WebUIDataSource* source = |
| + content::WebUIDataSource::Create(chrome::kChromeUIBookmarksHost); |
| + |
| + // Localized strings (alphabetical order). |
| + source->AddLocalizedString("title", IDS_BOOKMARK_MANAGER_TITLE); |
| + source->AddLocalizedString("search_button", |
| + IDS_BOOKMARK_MANAGER_SEARCH_BUTTON); |
| + source->AddLocalizedString("folders_menu", IDS_BOOKMARK_MANAGER_FOLDERS_MENU); |
| + source->AddLocalizedString("organize_menu", |
| + IDS_BOOKMARK_MANAGER_ORGANIZE_MENU); |
| + source->AddLocalizedString("show_in_folder", |
| + IDS_BOOKMARK_MANAGER_SHOW_IN_FOLDER); |
| + source->AddLocalizedString("sort", IDS_BOOKMARK_MANAGER_SORT); |
| + source->AddLocalizedString("import_menu", IDS_BOOKMARK_MANAGER_IMPORT_MENU); |
| + source->AddLocalizedString("export_menu", IDS_BOOKMARK_MANAGER_EXPORT_MENU); |
| + source->AddLocalizedString("rename_folder", IDS_BOOKMARK_BAR_RENAME_FOLDER); |
| + source->AddLocalizedString("edit", IDS_BOOKMARK_BAR_EDIT); |
| + source->AddLocalizedString("should_open_all", |
| + IDS_BOOKMARK_BAR_SHOULD_OPEN_ALL); |
| + source->AddLocalizedString("open_incognito", IDS_BOOKMARK_BAR_OPEN_INCOGNITO); |
| + source->AddLocalizedString("open_in_new_tab", |
| + IDS_BOOKMARK_BAR_OPEN_IN_NEW_TAB); |
| + source->AddLocalizedString("open_in_new_window", |
| + IDS_BOOKMARK_BAR_OPEN_IN_NEW_WINDOW); |
| + source->AddLocalizedString("add_new_bookmark", |
| + IDS_BOOKMARK_BAR_ADD_NEW_BOOKMARK); |
| + source->AddLocalizedString("new_folder", IDS_BOOKMARK_BAR_NEW_FOLDER); |
| + source->AddLocalizedString("open_all", IDS_BOOKMARK_BAR_OPEN_ALL); |
| + source->AddLocalizedString("open_all_new_window", |
| + IDS_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW); |
| + source->AddLocalizedString("open_all_incognito", |
| + IDS_BOOKMARK_BAR_OPEN_ALL_INCOGNITO); |
| + source->AddLocalizedString("remove", IDS_BOOKMARK_BAR_REMOVE); |
| + source->AddLocalizedString("copy", IDS_CONTENT_CONTEXT_COPY); |
| + source->AddLocalizedString("cut", IDS_CONTENT_CONTEXT_CUT); |
| + source->AddLocalizedString("paste", IDS_CONTENT_CONTEXT_PASTE); |
| + source->AddLocalizedString("delete", IDS_CONTENT_CONTEXT_DELETE); |
| + source->AddLocalizedString("undo_delete", IDS_UNDO_DELETE); |
| + source->AddLocalizedString("new_folder_name", |
| + IDS_BOOKMARK_EDITOR_NEW_FOLDER_NAME); |
| + source->AddLocalizedString("name_input_placeholder", |
| + IDS_BOOKMARK_MANAGER_NAME_INPUT_PLACE_HOLDER); |
| + source->AddLocalizedString("url_input_placeholder", |
| + IDS_BOOKMARK_MANAGER_URL_INPUT_PLACE_HOLDER); |
| + source->AddLocalizedString("invalid_url", IDS_BOOKMARK_MANAGER_INVALID_URL); |
| + source->AddLocalizedString("recent", IDS_BOOKMARK_MANAGER_RECENT); |
| + source->AddLocalizedString("search", IDS_BOOKMARK_MANAGER_SEARCH); |
| + source->AddLocalizedString("save", IDS_SAVE); |
| + source->AddLocalizedString("cancel", IDS_CANCEL); |
|
Dan Beam
2016/10/29 01:10:00
dang, can we add this as needed?
calamity
2016/11/01 02:37:59
Good point. Done.
|
| + |
| + source->SetDefaultResource(IDR_MD_BOOKMARKS_BOOKMARKS_HTML); |
| + source->SetJsonPath("strings.js"); |
| + |
| + return source; |
| +} |
| + |
| +} // namespace |
| + |
| +MdBookmarksUI::MdBookmarksUI(content::WebUI* web_ui) : WebUIController(web_ui) { |
| + // Set up the chrome://bookmarks/ source. |
| + Profile* profile = Profile::FromWebUI(web_ui); |
| + content::WebUIDataSource::Add(profile, |
| + CreateMdBookmarksUIHTMLSource(profile)); |
| +} |
| + |
| +// static |
| +bool MdBookmarksUI::IsEnabled() { |
| + return base::FeatureList::IsEnabled(features::kMaterialDesignBookmarks); |
| +} |
| + |
| +// static |
| +base::RefCountedMemory* MdBookmarksUI::GetFaviconResourceBytes( |
|
Dan Beam
2016/10/29 01:10:00
can we de-dupe this with other bookmarks?
calamity
2016/11/01 02:37:59
Done.
|
| + ui::ScaleFactor scale_factor) { |
| + return ui::ResourceBundle::GetSharedInstance().LoadDataResourceBytesForScale( |
| + IDR_BOOKMARKS_FAVICON, scale_factor); |
| +} |