Commit 06e332a9 authored by Becca Hughes's avatar Becca Hughes Committed by Commit Bot

Setup mojo for Kaleidoscope NTP module

Adds a dedicated KaleidoscopeNTPDataProvider that
provides the methods that are needed by the NTP.

BUG=1114862

Change-Id: I29c182f5c032f8dc0553bbe14b405f228942d3eb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2357521Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarTibor Goldschwendt <tiborg@chromium.org>
Commit-Queue: Becca Hughes <beccahughes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#798863}
parent 7a9d7b86
......@@ -104,6 +104,7 @@
#include "chrome/browser/accessibility/caption_host_impl.h"
#include "chrome/browser/badging/badge_manager.h"
#include "chrome/browser/media/feeds/media_feeds_store.mojom.h"
#include "chrome/browser/media/kaleidoscope/kaleidoscope_data_provider_impl.h"
#include "chrome/browser/media/kaleidoscope/kaleidoscope_ui.h"
#include "chrome/browser/media/kaleidoscope/mojom/kaleidoscope.mojom.h"
#include "chrome/browser/payments/payment_request_factory.h"
......@@ -121,6 +122,7 @@
#include "chrome/browser/ui/webui/tab_search/tab_search.mojom.h"
#include "chrome/browser/ui/webui/tab_search/tab_search_ui.h"
#include "chrome/common/caption.mojom.h"
#include "chrome/common/webui_url_constants.h"
#include "media/mojo/mojom/speech_recognition_service.mojom.h"
#endif
......@@ -639,7 +641,7 @@ void PopulateChromeWebUIFrameBinders(
#if !defined(OS_ANDROID)
RegisterWebUIControllerInterfaceBinder<media::mojom::KaleidoscopeDataProvider,
KaleidoscopeUI>(map);
KaleidoscopeUI, NewTabPageUI>(map);
#endif // !defined(OS_ANDROID)
#if defined(OS_CHROMEOS)
......
......@@ -1489,6 +1489,7 @@ static_library("ui") {
"//build:lacros_buildflags",
"//chrome/app/vector_icons",
"//chrome/browser:theme_properties",
"//chrome/browser/media/kaleidoscope/mojom",
"//chrome/browser/media/router",
"//chrome/browser/nearby_sharing/certificates",
"//chrome/browser/nearby_sharing/client",
......
......@@ -7,6 +7,10 @@
#include <memory>
#include <utility>
#include "chrome/browser/buildflags.h"
#include "chrome/browser/media/kaleidoscope/constants.h"
#include "chrome/browser/media/kaleidoscope/kaleidoscope_data_provider_impl.h"
#include "chrome/browser/media/kaleidoscope/kaleidoscope_ui.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search/instant_service.h"
#include "chrome/browser/search/instant_service_factory.h"
......@@ -301,6 +305,13 @@ void NewTabPageUI::BindInterface(
std::move(pending_page_handler), profile_);
}
void NewTabPageUI::BindInterface(
mojo::PendingReceiver<media::mojom::KaleidoscopeDataProvider>
pending_page_handler) {
kaleidoscope_data_provider_ = std::make_unique<KaleidoscopeDataProviderImpl>(
std::move(pending_page_handler), profile_);
}
void NewTabPageUI::CreatePageHandler(
mojo::PendingRemote<new_tab_page::mojom::Page> pending_page,
mojo::PendingReceiver<new_tab_page::mojom::PageHandler>
......
......@@ -6,6 +6,7 @@
#define CHROME_BROWSER_UI_WEBUI_NEW_TAB_PAGE_NEW_TAB_PAGE_UI_H_
#include "base/macros.h"
#include "chrome/browser/media/kaleidoscope/mojom/kaleidoscope.mojom.h"
#include "chrome/browser/promo_browser_command/promo_browser_command.mojom-forward.h"
#include "chrome/browser/search/instant_service_observer.h"
#include "chrome/browser/ui/webui/new_tab_page/new_tab_page.mojom.h"
......@@ -23,6 +24,7 @@ class WebUI;
}
class GURL;
class InstantService;
class KaleidoscopeDataProviderImpl;
class NewTabPageHandler;
class Profile;
......@@ -49,6 +51,13 @@ class NewTabPageUI : public ui::MojoWebUIController,
mojo::PendingReceiver<promo_browser_command::mojom::CommandHandler>
pending_receiver);
// Instantiates the implementor of the
// media::mojom::KaleidoscopeNTPDataProvider mojo interface passing the
// pending receiver that will be internally bound.
void BindInterface(
mojo::PendingReceiver<media::mojom::KaleidoscopeDataProvider>
pending_receiver);
private:
// new_tab_page::mojom::PageHandlerFactory:
void CreatePageHandler(
......@@ -80,6 +89,9 @@ class NewTabPageUI : public ui::MojoWebUIController,
// performance.
base::Time navigation_start_time_;
// Mojo implementations for modules:
std::unique_ptr<KaleidoscopeDataProviderImpl> kaleidoscope_data_provider_;
WEB_UI_CONTROLLER_TYPE_DECL();
DISALLOW_COPY_AND_ASSIGN(NewTabPageUI);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment