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

Side by Side Diff: chrome/browser/android/ntp_snippets_bridge.h

Issue 1723493002: [NTP Snippets] Fetch/load snippets on startup, and pass them on NTP creation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gcmtaskservice
Patch Set: rebase Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_ANDROID_NTP_SNIPPETS_BRIDGE_H_ 5 #ifndef CHROME_BROWSER_ANDROID_NTP_SNIPPETS_BRIDGE_H_
6 #define CHROME_BROWSER_ANDROID_NTP_SNIPPETS_BRIDGE_H_ 6 #define CHROME_BROWSER_ANDROID_NTP_SNIPPETS_BRIDGE_H_
7 7
8 #include <jni.h> 8 #include <jni.h>
9 9
10 #include "base/android/scoped_java_ref.h" 10 #include "base/android/scoped_java_ref.h"
11 #include "base/scoped_observer.h" 11 #include "base/scoped_observer.h"
12 #include "components/ntp_snippets/ntp_snippets_service.h" 12 #include "components/ntp_snippets/ntp_snippets_service.h"
13 13
14 // The C++ counterpart to NTPSnippetsBridge.java. Enables Java code to access 14 // The C++ counterpart to NTPSnippetsBridge.java. Enables Java code to access
15 // the list of snippets to show on the NTP 15 // the list of snippets to show on the NTP
16 class NTPSnippetsBridge : public ntp_snippets::NTPSnippetsServiceObserver { 16 class NTPSnippetsBridge : public ntp_snippets::NTPSnippetsServiceObserver {
17 public: 17 public:
18 explicit NTPSnippetsBridge(JNIEnv* env, 18 NTPSnippetsBridge(JNIEnv* env,
19 jobject j_profile, 19 const base::android::JavaParamRef<jobject>& j_profile);
20 jobject j_observer);
21 void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); 20 void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
22 21
22 void SetObserver(JNIEnv* env,
23 const base::android::JavaParamRef<jobject>& obj,
24 const base::android::JavaParamRef<jobject>& j_observer);
25
23 static bool Register(JNIEnv* env); 26 static bool Register(JNIEnv* env);
24 27
25 private: 28 private:
26 ~NTPSnippetsBridge() override; 29 ~NTPSnippetsBridge() override;
27 30
28 // NTPSnippetsServiceObserver overrides 31 // NTPSnippetsServiceObserver overrides
29 void NTPSnippetsServiceLoaded( 32 void NTPSnippetsServiceLoaded(
30 ntp_snippets::NTPSnippetsService* service) override; 33 ntp_snippets::NTPSnippetsService* service) override;
31 void NTPSnippetsServiceShutdown( 34 void NTPSnippetsServiceShutdown(
32 ntp_snippets::NTPSnippetsService* service) override; 35 ntp_snippets::NTPSnippetsService* service) override;
33 36
34 ntp_snippets::NTPSnippetsService* ntp_snippets_service_; 37 ntp_snippets::NTPSnippetsService* ntp_snippets_service_;
35 38
36 base::android::ScopedJavaGlobalRef<jobject> observer_; 39 base::android::ScopedJavaGlobalRef<jobject> observer_;
37 ScopedObserver<ntp_snippets::NTPSnippetsService, 40 ScopedObserver<ntp_snippets::NTPSnippetsService,
38 ntp_snippets::NTPSnippetsServiceObserver> 41 ntp_snippets::NTPSnippetsServiceObserver>
39 snippet_service_observer_; 42 snippet_service_observer_;
40 43
41 DISALLOW_COPY_AND_ASSIGN(NTPSnippetsBridge); 44 DISALLOW_COPY_AND_ASSIGN(NTPSnippetsBridge);
42 }; 45 };
43 46
44 #endif // CHROME_BROWSER_ANDROID_NTP_SNIPPETS_BRIDGE_H_ 47 #endif // CHROME_BROWSER_ANDROID_NTP_SNIPPETS_BRIDGE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698