Chromium Code Reviews| 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_; |