OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CONTENT_PUBLIC_BROWSER_CONTENT_VIEW_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_ANDROID_CONTENT_VIEW_CORE_H_ |
6 #define CONTENT_PUBLIC_BROWSER_CONTENT_VIEW_H_ | 6 #define CONTENT_PUBLIC_BROWSER_ANDROID_CONTENT_VIEW_CORE_H_ |
| 7 #pragma once |
7 | 8 |
8 #include <jni.h> | 9 #include <jni.h> |
9 | 10 |
10 class GURL; | 11 class GURL; |
11 | 12 |
12 namespace content { | 13 namespace content { |
13 | 14 |
14 class WebContents; | 15 class WebContents; |
15 | 16 |
16 // Native side of the ContentView.java, the primary FrameLayout of | 17 // Native side of the ContentViewCore.java, which is the primary way of |
17 // Chromium on Android. This is a public interface used by native | 18 // communicating with the native Chromium code on Android. This is a |
18 // code outside of the content module. | 19 // public interface used by native code outside of the content module. |
19 // | 20 // |
20 // TODO(jrg): this is a shell. Upstream the rest. | 21 // TODO(jrg): this is a shell. Upstream the rest. |
21 // | 22 // |
22 // TODO(jrg): downstream, this class derives from | 23 // TODO(jrg): downstream, this class derives from |
23 // base::SupportsWeakPtr<ContentView>. Issues raised in | 24 // base::SupportsWeakPtr<ContentViewCore>. Issues raised in |
24 // http://codereview.chromium.org/10536066/ make us want to rethink | 25 // http://codereview.chromium.org/10536066/ make us want to rethink |
25 // ownership issues. | 26 // ownership issues. |
26 // FOR THE MERGE (downstream), re-add derivation from | 27 // FOR THE MERGE (downstream), re-add derivation from |
27 // base::SupportsWeakPtr<ContentView> to keep everything else working | 28 // base::SupportsWeakPtr<ContentViewCore> to keep everything else working |
28 // until this issue is resolved. | 29 // until this issue is resolved. |
29 // http://b/6666045 | 30 // http://b/6666045 |
30 class ContentView { | 31 class ContentViewCore { |
31 public: | 32 public: |
32 virtual void Destroy(JNIEnv* env, jobject obj) = 0; | 33 virtual void Destroy(JNIEnv* env, jobject obj) = 0; |
33 | 34 |
34 static ContentView* Create(JNIEnv* env, jobject obj, | 35 static ContentViewCore* Create(JNIEnv* env, jobject obj, |
35 WebContents* web_contents); | 36 WebContents* web_contents); |
36 static ContentView* GetNativeContentView(JNIEnv* env, jobject obj); | 37 static ContentViewCore* GetNativeContentViewCore(JNIEnv* env, jobject obj); |
37 | 38 |
38 // -------------------------------------------------------------------------- | 39 // -------------------------------------------------------------------------- |
39 // Public methods that call to Java via JNI | 40 // Public methods that call to Java via JNI |
40 // -------------------------------------------------------------------------- | 41 // -------------------------------------------------------------------------- |
41 | 42 |
42 virtual void StartContentIntent(const GURL& content_url) = 0; | 43 virtual void StartContentIntent(const GURL& content_url) = 0; |
43 | 44 |
44 protected: | 45 protected: |
45 virtual ~ContentView() {}; | 46 virtual ~ContentViewCore() {}; |
46 }; | 47 }; |
47 | 48 |
48 }; // namespace content | 49 }; // namespace content |
49 | 50 |
50 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_VIEW_H_ | 51 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_VIEW_CORE_H_ |
OLD | NEW |