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

Side by Side Diff: blimp/client/android/blimp_toolbar.cc

Issue 1422363008: Add a basic UI to the Android Blimp client. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed unused icon Created 5 years, 1 month 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
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "blimp/client/android/blimp_toolbar.h"
6
7 #include "base/android/jni_string.h"
8 #include "jni/BlimpToolbar_jni.h"
9 #include "third_party/skia/include/core/SkBitmap.h"
10 #include "ui/gfx/android/java_bitmap.h"
11 #include "url/gurl.h"
12
13 namespace blimp {
14
15 // static
16 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& jobj) {
17 return reinterpret_cast<intptr_t>(new BlimpToolbar(env, jobj));
18 }
19
20 // static
21 bool BlimpToolbar::RegisterJni(JNIEnv* env) {
22 return RegisterNativesImpl(env);
23 }
24
25 BlimpToolbar::BlimpToolbar(JNIEnv* env,
26 const base::android::JavaParamRef<jobject>& jobj) {
27 java_obj_.Reset(env, jobj);
28 }
29
30 BlimpToolbar::~BlimpToolbar() {}
31
32 void BlimpToolbar::Destroy(JNIEnv* env, jobject jobj) {
33 delete this;
34 }
35
36 void BlimpToolbar::OnUrlTextEntered(JNIEnv* env, jobject jobj, jstring text) {
37 // TODO(dtrainor): Notify the content lite NavigationController.
38 }
39
40 void BlimpToolbar::OnReloadPressed(JNIEnv* env, jobject jobj) {
41 // TODO(dtrainor): Notify the content lite NavigationController.
42 }
43
44 jboolean BlimpToolbar::OnBackPressed(JNIEnv* env, jobject jobj) {
45 // TODO(dtrainor): Notify the content lite NavigationController.
46 // TODO(dtrainor): Find a way to determine whether or not we're at the end of
47 // our history stack.
48 return true;
49 }
50
51 void BlimpToolbar::OnNavigationStateChanged(const GURL* url,
52 const SkBitmap* favicon,
53 const std::string* title) {
54 JNIEnv* env = base::android::AttachCurrentThread();
55
56 ScopedJavaLocalRef<jstring> jurl;
57 ScopedJavaLocalRef<jobject> jfavicon;
58 ScopedJavaLocalRef<jstring> jtitle;
59
60 if (url)
61 jurl = base::android::ConvertUTF8ToJavaString(env, url->spec());
62
63 if (favicon)
64 jfavicon = gfx::ConvertToJavaBitmap(favicon);
65
66 if (title)
67 jtitle = base::android::ConvertUTF8ToJavaString(env, *title);
68
69 Java_BlimpToolbar_onNavigationStateChanged(env,
70 java_obj_.obj(),
71 jurl.obj(),
72 jfavicon.obj(),
73 jtitle.obj());
74 }
75
76 } // namespace blimp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698