[Read Anything] Add stubbed toolbar to Read Anything side panel
This CL adds a stubbed toolbar to the Read Anything feature (previously
referred to as Reader Mode). We add a simple button and a label in
preparation for future UI work. Here is the view:
https://screenshot.googleplex.com/5mt6zcfdkTf3wEa.png
This CL is mostly structural and the view is not considered
finalized. Future CLs will implement the view once the UI
is approved.
AX-Relnotes: N/A
Bug: 1266555
Change-Id: Ie629d46764547984706f028a94105d1dc17cc502
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3527437
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Caroline Rising <corising@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Mark Schillaci <mschillaci@google.com>
Cr-Commit-Position: refs/heads/main@{#984566}
diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc
index 840face..2b46aad 100644
--- a/chrome/browser/chrome_browser_interface_binders.cc
+++ b/chrome/browser/chrome_browser_interface_binders.cc
@@ -158,7 +158,7 @@
#include "chrome/browser/ui/webui/read_later/read_later.mojom.h"
#include "chrome/browser/ui/webui/read_later/read_later_ui.h"
#include "chrome/browser/ui/webui/read_later/side_panel/bookmarks_side_panel_ui.h"
-#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.h"
+#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.h"
#include "chrome/browser/ui/webui/settings/settings_ui.h"
#include "chrome/browser/ui/webui/tab_search/tab_search.mojom.h"
#include "chrome/browser/ui/webui/tab_search/tab_search_ui.h"
@@ -878,8 +878,7 @@
if (features::IsReadAnythingEnabled()) {
if (base::FeatureList::IsEnabled(features::kUnifiedSidePanel)) {
RegisterWebUIControllerInterfaceBinder<
- read_anything::mojom::PageHandlerFactory, ReadAnythingSidePanelUI>(
- map);
+ read_anything::mojom::PageHandlerFactory, ReadAnythingUI>(map);
} else {
RegisterWebUIControllerInterfaceBinder<
read_anything::mojom::PageHandlerFactory, ReadLaterUI>(map);
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 3c8e5cf..951421b 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1584,10 +1584,15 @@
"webui/read_later/side_panel/bookmarks_page_handler.h",
"webui/read_later/side_panel/bookmarks_side_panel_ui.cc",
"webui/read_later/side_panel/bookmarks_side_panel_ui.h",
+ "webui/read_later/side_panel/read_anything/read_anything_constants.h",
+ "webui/read_later/side_panel/read_anything/read_anything_container_view.cc",
+ "webui/read_later/side_panel/read_anything/read_anything_container_view.h",
"webui/read_later/side_panel/read_anything/read_anything_page_handler.cc",
"webui/read_later/side_panel/read_anything/read_anything_page_handler.h",
- "webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.cc",
- "webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.h",
+ "webui/read_later/side_panel/read_anything/read_anything_toolbar_view.cc",
+ "webui/read_later/side_panel/read_anything/read_anything_toolbar_view.h",
+ "webui/read_later/side_panel/read_anything/read_anything_ui.cc",
+ "webui/read_later/side_panel/read_anything/read_anything_ui.h",
"webui/realbox/realbox_handler.cc",
"webui/realbox/realbox_handler.h",
"webui/sanitized_image_source.cc",
diff --git a/chrome/browser/ui/views/side_panel/side_panel_coordinator.cc b/chrome/browser/ui/views/side_panel/side_panel_coordinator.cc
index a9d23be..f7435aca 100644
--- a/chrome/browser/ui/views/side_panel/side_panel_coordinator.cc
+++ b/chrome/browser/ui/views/side_panel/side_panel_coordinator.cc
@@ -21,7 +21,7 @@
#include "chrome/browser/ui/views/side_panel/side_panel_web_ui_view.h"
#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
#include "chrome/browser/ui/webui/read_later/side_panel/bookmarks_side_panel_ui.h"
-#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.h"
+#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_container_view.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/grit/generated_resources.h"
#include "components/feature_engagement/public/feature_constants.h"
@@ -346,14 +346,7 @@
std::unique_ptr<views::View> SidePanelCoordinator::CreateReadAnythingWebView(
Browser* browser) {
- return std::make_unique<SidePanelWebUIViewT<ReadAnythingSidePanelUI>>(
- browser, base::RepeatingClosure(),
- base::BindRepeating(&SidePanelCoordinator::Close, base::Unretained(this)),
- std::make_unique<BubbleContentsWrapperT<ReadAnythingSidePanelUI>>(
- GURL(chrome::kChromeUIReadAnythingSidePanelURL), browser->profile(),
- IDS_READ_ANYTHING_TITLE,
- /*webui_resizes_host=*/false,
- /*esc_closes_ui=*/false));
+ return std::make_unique<ReadAnythingContainerView>(browser);
}
void SidePanelCoordinator::OnEntryRegistered(SidePanelEntry* entry) {
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
index ca3b83b..ae16fbf 100644
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -151,7 +151,7 @@
#include "chrome/browser/ui/webui/privacy_sandbox/privacy_sandbox_dialog_ui.h"
#include "chrome/browser/ui/webui/read_later/read_later_ui.h"
#include "chrome/browser/ui/webui/read_later/side_panel/bookmarks_side_panel_ui.h"
-#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.h"
+#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.h"
#include "chrome/browser/ui/webui/settings/settings_ui.h"
#include "chrome/browser/ui/webui/settings/settings_utils.h"
#include "chrome/browser/ui/webui/signin/sync_confirmation_ui.h"
@@ -864,7 +864,7 @@
return &NewWebUI<BookmarksSidePanelUI>;
if (features::IsReadAnythingEnabled()) {
if (url.host_piece() == chrome::kChromeUIReadAnythingSidePanelHost)
- return &NewWebUI<ReadAnythingSidePanelUI>;
+ return &NewWebUI<ReadAnythingUI>;
}
// Settings are implemented with native UI elements on Android.
if (url.host_piece() == chrome::kChromeUISettingsHost)
diff --git a/chrome/browser/ui/webui/read_later/side_panel/read_anything/DEPS b/chrome/browser/ui/webui/read_later/side_panel/read_anything/DEPS
new file mode 100644
index 0000000..55c8a9c
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/side_panel/read_anything/DEPS
@@ -0,0 +1,5 @@
+specific_include_rules = {
+ "read_anything_container_view.cc": [
+ "+chrome/browser/ui/views",
+ ],
+}
\ No newline at end of file
diff --git a/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_constants.h b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_constants.h
new file mode 100644
index 0000000..fd06525
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_constants.h
@@ -0,0 +1,25 @@
+// Copyright 2022 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.
+
+#ifndef CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_CONSTANTS_H_
+#define CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_CONSTANTS_H_
+
+#include "ui/gfx/color_palette.h"
+#include "ui/views/layout/flex_layout.h"
+
+// Various constants used throughout the Read Anything feature.
+namespace {
+
+// Visual constants for Read Anything feature.
+// TODO(1226555): Replace these with final values provided by UI.
+const SkColor kReadAnythingBackgroundColor = SK_ColorWHITE;
+const SkColor kReadAnythingSeperatorColor = gfx::kGoogleGrey700;
+const int kInternalInsets = 6;
+const int kFontSize = 16;
+const int kIconSize = 16;
+const int kIconCornerRadius = 2;
+
+} // namespace
+
+#endif // CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_CONSTANTS_H_
diff --git a/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_container_view.cc b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_container_view.cc
new file mode 100644
index 0000000..714930c
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_container_view.cc
@@ -0,0 +1,71 @@
+// Copyright 2022 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/read_later/side_panel/read_anything/read_anything_container_view.h"
+
+#include "chrome/browser/ui/views/frame/browser_view.h"
+#include "chrome/browser/ui/views/side_panel/side_panel_web_ui_view.h"
+#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_constants.h"
+#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_toolbar_view.h"
+#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.h"
+#include "chrome/common/webui_url_constants.h"
+#include "chrome/grit/generated_resources.h"
+#include "ui/gfx/geometry/geometry_export.h"
+#include "ui/views/background.h"
+#include "ui/views/controls/separator.h"
+#include "ui/views/layout/flex_layout.h"
+
+ReadAnythingContainerView::ReadAnythingContainerView(Browser* browser) {
+ // Create and set a FlexLayout LayoutManager for this view, set background.
+ auto layout = std::make_unique<views::FlexLayout>();
+ layout->SetOrientation(views::LayoutOrientation::kVertical)
+ .SetMainAxisAlignment(views::LayoutAlignment::kStart)
+ .SetCrossAxisAlignment(views::LayoutAlignment::kStretch)
+ .SetInteriorMargin(gfx::Insets(kInternalInsets));
+
+ SetLayoutManager(std::move(layout));
+ SetBackground(views::CreateSolidBackground(kReadAnythingBackgroundColor));
+
+ // Create the toolbar for the side panel.
+ auto toolbar = std::make_unique<ReadAnythingToolbarView>();
+ toolbar->SetProperty(
+ views::kFlexBehaviorKey,
+ views::FlexSpecification(views::MinimumFlexSizeRule::kPreferred,
+ views::MaximumFlexSizeRule::kScaleToMaximum)
+ .WithOrder(1));
+
+ // Create a separator.
+ auto separator = std::make_unique<views::Separator>();
+ separator->SetColor(kReadAnythingSeperatorColor);
+ separator->SetProperty(
+ views::kFlexBehaviorKey,
+ views::FlexSpecification(views::MinimumFlexSizeRule::kPreferred,
+ views::MaximumFlexSizeRule::kScaleToMaximum)
+ .WithOrder(2));
+
+ // Create the main content view for the side panel.
+ auto content_web_view = std::make_unique<SidePanelWebUIViewT<ReadAnythingUI>>(
+ browser,
+ /* on_show_cb= */ base::RepeatingClosure(),
+ /* close_cb= */ base::RepeatingClosure(),
+ /* contents_wrapper= */
+ std::make_unique<BubbleContentsWrapperT<ReadAnythingUI>>(
+ /* webui_url= */ GURL(chrome::kChromeUIReadAnythingSidePanelURL),
+ /* browser_context= */ browser->profile(),
+ /* task_manager_string_id= */ IDS_READ_ANYTHING_TITLE,
+ /* webui_resizes_host= */ false,
+ /* esc_closes_ui= */ false));
+ content_web_view->SetProperty(
+ views::kFlexBehaviorKey,
+ views::FlexSpecification(views::MinimumFlexSizeRule::kPreferred,
+ views::MaximumFlexSizeRule::kUnbounded)
+ .WithOrder(3));
+
+ // Add all components to view.
+ AddChildView(std::move(toolbar));
+ AddChildView(std::move(separator));
+ AddChildView(std::move(content_web_view));
+}
+
+ReadAnythingContainerView::~ReadAnythingContainerView() = default;
diff --git a/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_container_view.h b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_container_view.h
new file mode 100644
index 0000000..6e81fbc
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_container_view.h
@@ -0,0 +1,19 @@
+// Copyright 2022 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.
+
+#ifndef CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_CONTAINER_VIEW_H_
+#define CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_CONTAINER_VIEW_H_
+
+#include "ui/views/view.h"
+
+class Browser;
+
+// Generic View to hold the entirety of the "Read Anything" side panel.
+class ReadAnythingContainerView : public views::View {
+ public:
+ explicit ReadAnythingContainerView(Browser* browser);
+ ReadAnythingContainerView(const ReadAnythingContainerView&) = delete;
+ ~ReadAnythingContainerView() override;
+};
+#endif // CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_CONTAINER_VIEW_H_
diff --git a/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_toolbar_view.cc b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_toolbar_view.cc
new file mode 100644
index 0000000..55e328f
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_toolbar_view.cc
@@ -0,0 +1,59 @@
+// Copyright 2022 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/read_later/side_panel/read_anything/read_anything_toolbar_view.h"
+
+#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_constants.h"
+#include "components/vector_icons/vector_icons.h"
+#include "ui/gfx/color_palette.h"
+#include "ui/gfx/geometry/geometry_export.h"
+#include "ui/views/background.h"
+#include "ui/views/controls/button/image_button.h"
+#include "ui/views/controls/button/image_button_factory.h"
+#include "ui/views/controls/highlight_path_generator.h"
+#include "ui/views/controls/label.h"
+#include "ui/views/layout/box_layout.h"
+#include "ui/views/layout/layout_types.h"
+
+ReadAnythingToolbarView::ReadAnythingToolbarView() {
+ // Create and set a BoxLayout LayoutManager for this view.
+ auto layout = std::make_unique<views::BoxLayout>(
+ views::BoxLayout::Orientation::kHorizontal);
+ layout->set_main_axis_alignment(views::BoxLayout::MainAxisAlignment::kStart);
+ layout->set_cross_axis_alignment(
+ views::BoxLayout::CrossAxisAlignment::kStretch);
+ layout->set_inside_border_insets(gfx::Insets(kInternalInsets));
+
+ SetLayoutManager(std::move(layout));
+
+ // Create a title for the toolbar.
+ // TODO(1266555): This is a placeholder title/content, remove for final UI.
+ auto title = std::make_unique<views::Label>();
+ title->SetHorizontalAlignment(gfx::HorizontalAlignment::ALIGN_LEFT);
+ title->SetText(u" sans-serif \u25BE");
+ title->SetBackground(views::CreateSolidBackground(SK_ColorWHITE));
+ title->SetFontList(gfx::FontList({"Roboto", "Arial", "sans-serif"},
+ gfx::Font::FontStyle::NORMAL, kFontSize,
+ gfx::Font::Weight::NORMAL));
+
+ // Create a Settings button with a callback.
+ views::Button::PressedCallback settings_callback =
+ base::BindRepeating(&ReadAnythingToolbarView::OnSettingsClicked,
+ weak_pointer_factory_.GetWeakPtr());
+ auto settings_button =
+ views::CreateVectorImageButton(std::move(settings_callback));
+ views::SetImageFromVectorIcon(settings_button.get(),
+ vector_icons::kSettingsIcon, kIconSize,
+ SK_ColorBLACK);
+ views::InstallCircleHighlightPathGenerator(settings_button.get(),
+ gfx::Insets(kIconCornerRadius));
+
+ // Add all components to view.
+ AddChildView(std::move(settings_button));
+ AddChildView(std::move(title));
+}
+
+void ReadAnythingToolbarView::OnSettingsClicked() {}
+
+ReadAnythingToolbarView::~ReadAnythingToolbarView() = default;
diff --git a/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_toolbar_view.h b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_toolbar_view.h
new file mode 100644
index 0000000..639fca0
--- /dev/null
+++ b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_toolbar_view.h
@@ -0,0 +1,23 @@
+// Copyright 2022 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.
+
+#ifndef CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_TOOLBAR_VIEW_H_
+#define CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_TOOLBAR_VIEW_H_
+
+#include "base/memory/weak_ptr.h"
+#include "ui/views/view.h"
+
+// Generic View for the toolbar of the Read Anything side panel.
+class ReadAnythingToolbarView : public views::View {
+ public:
+ ReadAnythingToolbarView();
+ ReadAnythingToolbarView(const ReadAnythingToolbarView&) = delete;
+ ~ReadAnythingToolbarView() override;
+
+ private:
+ void OnSettingsClicked();
+ base::WeakPtrFactory<ReadAnythingToolbarView> weak_pointer_factory_{this};
+};
+
+#endif // CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_TOOLBAR_VIEW_H_
diff --git a/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.cc b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.cc
similarity index 86%
rename from chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.cc
rename to chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.cc
index c81eaab1..7bd6a0f 100644
--- a/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.cc
+++ b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.cc
@@ -2,7 +2,7 @@
// 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/read_later/side_panel/read_anything/read_anything_side_panel_ui.h"
+#include "chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.h"
#include <string>
#include <utility>
@@ -22,7 +22,7 @@
#include "ui/base/webui/web_ui_util.h"
#include "ui/views/style/platform_style.h"
-ReadAnythingSidePanelUI::ReadAnythingSidePanelUI(content::WebUI* web_ui)
+ReadAnythingUI::ReadAnythingUI(content::WebUI* web_ui)
: ui::MojoBubbleWebUIController(web_ui) {
content::WebUIDataSource* source = content::WebUIDataSource::Create(
chrome::kChromeUIReadAnythingSidePanelHost);
@@ -39,16 +39,17 @@
source);
}
-ReadAnythingSidePanelUI::~ReadAnythingSidePanelUI() = default;
+ReadAnythingUI::~ReadAnythingUI() = default;
-WEB_UI_CONTROLLER_TYPE_IMPL(ReadAnythingSidePanelUI)
+WEB_UI_CONTROLLER_TYPE_IMPL(ReadAnythingUI)
-void ReadAnythingSidePanelUI::BindInterface(
+void ReadAnythingUI::BindInterface(
mojo::PendingReceiver<read_anything::mojom::PageHandlerFactory> receiver) {
read_anything_page_factory_receiver_.reset();
read_anything_page_factory_receiver_.Bind(std::move(receiver));
}
-void ReadAnythingSidePanelUI::CreatePageHandler(
+
+void ReadAnythingUI::CreatePageHandler(
mojo::PendingRemote<read_anything::mojom::Page> page,
mojo::PendingReceiver<read_anything::mojom::PageHandler> receiver) {
DCHECK(page);
diff --git a/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.h b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.h
similarity index 74%
rename from chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.h
rename to chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.h
index e9b59f0..32267b6 100644
--- a/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_side_panel_ui.h
+++ b/chrome/browser/ui/webui/read_later/side_panel/read_anything/read_anything_ui.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_SIDE_PANEL_UI_H_
-#define CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_SIDE_PANEL_UI_H_
+#ifndef CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_UI_H_
+#define CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_UI_H_
#include <memory>
@@ -15,14 +15,14 @@
class ReadAnythingPageHandler;
-class ReadAnythingSidePanelUI
- : public ui::MojoBubbleWebUIController,
- public read_anything::mojom::PageHandlerFactory {
+// WebUI that holds the distilled page contents.
+class ReadAnythingUI : public ui::MojoBubbleWebUIController,
+ public read_anything::mojom::PageHandlerFactory {
public:
- explicit ReadAnythingSidePanelUI(content::WebUI* web_ui);
- ReadAnythingSidePanelUI(const ReadAnythingSidePanelUI&) = delete;
- ReadAnythingSidePanelUI& operator=(const ReadAnythingSidePanelUI&) = delete;
- ~ReadAnythingSidePanelUI() override;
+ explicit ReadAnythingUI(content::WebUI* web_ui);
+ ReadAnythingUI(const ReadAnythingUI&) = delete;
+ ReadAnythingUI& operator=(const ReadAnythingUI&) = delete;
+ ~ReadAnythingUI() override;
// Instantiates the implementor of the mojom::PageHandlerFactory mojo
// interface passing the pending receiver that will be internally bound.
@@ -43,4 +43,4 @@
WEB_UI_CONTROLLER_TYPE_DECL();
};
-#endif // CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_SIDE_PANEL_UI_H_
+#endif // CHROME_BROWSER_UI_WEBUI_READ_LATER_SIDE_PANEL_READ_ANYTHING_READ_ANYTHING_UI_H_