Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4879)

Unified Diff: chrome/renderer/chrome_render_frame_observer.h

Issue 2393513004: Convert app banners to use Mojo. (Closed)
Patch Set: Rebase Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/chrome_render_frame_observer.h
diff --git a/chrome/renderer/chrome_render_frame_observer.h b/chrome/renderer/chrome_render_frame_observer.h
index 19bac5baeb74a1889911ebf112e6d8b3002e9a5e..43d19668ea7951a0654d13a60c4c3037e0b9b6b2 100644
--- a/chrome/renderer/chrome_render_frame_observer.h
+++ b/chrome/renderer/chrome_render_frame_observer.h
@@ -5,10 +5,14 @@
#ifndef CHROME_RENDERER_CHROME_RENDER_FRAME_OBSERVER_H_
#define CHROME_RENDERER_CHROME_RENDER_FRAME_OBSERVER_H_
+#include <memory>
+
#include "base/macros.h"
#include "base/timer/timer.h"
#include "chrome/common/prerender_types.h"
#include "content/public/renderer/render_frame_observer.h"
+#include "mojo/public/cpp/bindings/binding.h"
+#include "third_party/WebKit/public/platform/modules/app_banner/app_banner.mojom.h"
class GURL;
@@ -26,8 +30,12 @@ class TranslateHelper;
// This class holds the Chrome specific parts of RenderFrame, and has the same
// lifetime.
-class ChromeRenderFrameObserver : public content::RenderFrameObserver {
+class ChromeRenderFrameObserver : public content::RenderFrameObserver,
+ public blink::mojom::AppBannerClient {
public:
+ static void BindBannerClient(
dcheng 2016/10/07 07:03:16 Nit: any reason this needs to be static?
dominickn 2016/10/13 00:18:15 Nope! Done.
+ ChromeRenderFrameObserver* observer,
+ mojo::InterfaceRequest<blink::mojom::AppBannerClient> request);
explicit ChromeRenderFrameObserver(content::RenderFrame* render_frame);
~ChromeRenderFrameObserver() override;
@@ -52,8 +60,13 @@ class ChromeRenderFrameObserver : public content::RenderFrameObserver {
int callback_id);
void OnPrintNodeUnderContextMenu();
void OnSetClientSidePhishingDetection(bool enable_phishing_detection);
- void OnAppBannerPromptRequest(int request_id,
- const std::string& platform);
+
+ // blink::mojom::AppBannerClient implementation.
+ void BannerPromptRequest(
+ blink::mojom::AppBannerServicePtr banner_service,
+ blink::mojom::AppBannerEventRequest event_request,
+ const std::string& platform,
+ const BannerPromptRequestCallback& callback) override;
// Captures page information using the top (main) frame of a frame tree.
// Currently, this page information is just the text content of the all
@@ -65,6 +78,8 @@ class ChromeRenderFrameObserver : public content::RenderFrameObserver {
void CapturePageTextLater(TextCaptureType capture_type,
base::TimeDelta delay);
+ std::unique_ptr<mojo::Binding<blink::mojom::AppBannerClient>> banner_binding_;
+
// Have the same lifetime as us.
translate::TranslateHelper* translate_helper_;
safe_browsing::PhishingClassifierDelegate* phishing_classifier_;

Powered by Google App Engine
This is Rietveld 408576698