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

Side by Side Diff: chrome/browser/android/banners/app_banner_manager_android.cc

Issue 1308713007: Revert of Append playinline=chrome_inline to the store referrer on native app banner install. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 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 #include "chrome/browser/android/banners/app_banner_manager_android.h" 5 #include "chrome/browser/android/banners/app_banner_manager_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
11 #include "chrome/browser/android/banners/app_banner_data_fetcher_android.h" 11 #include "chrome/browser/android/banners/app_banner_data_fetcher_android.h"
12 #include "chrome/browser/banners/app_banner_metrics.h" 12 #include "chrome/browser/banners/app_banner_metrics.h"
13 #include "chrome/common/chrome_constants.h" 13 #include "chrome/common/chrome_constants.h"
14 #include "content/public/browser/web_contents.h" 14 #include "content/public/browser/web_contents.h"
15 #include "content/public/common/frame_navigate_params.h" 15 #include "content/public/common/frame_navigate_params.h"
16 #include "jni/AppBannerManager_jni.h" 16 #include "jni/AppBannerManager_jni.h"
17 17
18 using base::android::ConvertJavaStringToUTF8; 18 using base::android::ConvertJavaStringToUTF8;
19 using base::android::ConvertJavaStringToUTF16; 19 using base::android::ConvertJavaStringToUTF16;
20 using base::android::ConvertUTF8ToJavaString; 20 using base::android::ConvertUTF8ToJavaString;
21 using base::android::ConvertUTF16ToJavaString; 21 using base::android::ConvertUTF16ToJavaString;
22 22
23 namespace { 23 namespace {
24 24
25 const char kPlayPlatform[] = "play"; 25 const char kPlayPlatform[] = "play";
26 const char kReferrerName[] = "referrer"; 26 const char kReferrerName[] = "referrer";
27 const char kIdName[] = "id"; 27 const char kIdName[] = "id";
28 const char kPlayInlineReferrer[] = "playinline=chrome_inline";
29 28
30 } // anonymous namespace 29 } // anonymous namespace
31 30
32 namespace banners { 31 namespace banners {
33 32
34 AppBannerManagerAndroid::AppBannerManagerAndroid(JNIEnv* env, 33 AppBannerManagerAndroid::AppBannerManagerAndroid(JNIEnv* env,
35 jobject obj, 34 jobject obj,
36 int icon_size) 35 int icon_size)
37 : AppBannerManager(icon_size), 36 : AppBannerManager(icon_size),
38 weak_java_banner_view_manager_(env, obj) { 37 weak_java_banner_view_manager_(env, obj) {
(...skipping 28 matching lines...) Expand all
67 if (jobj.is_null()) 66 if (jobj.is_null())
68 return false; 67 return false;
69 68
70 std::string id_from_app_url = ExtractQueryValueForName(url, kIdName); 69 std::string id_from_app_url = ExtractQueryValueForName(url, kIdName);
71 if (id_from_app_url.size() && id != id_from_app_url) { 70 if (id_from_app_url.size() && id != id_from_app_url) {
72 banners::OutputDeveloperDebugMessage(web_contents(), 71 banners::OutputDeveloperDebugMessage(web_contents(),
73 banners::kIgnoredIdsDoNotMatch); 72 banners::kIgnoredIdsDoNotMatch);
74 return false; 73 return false;
75 } 74 }
76 75
77 std::string referrer = 76 std::string referrer = ExtractQueryValueForName(url, kReferrerName);
78 ExtractQueryValueForName(url, kReferrerName);
79
80 // Attach the chrome_inline referrer value, prefixed with "&" if the referrer
81 // is non empty.
82 if (referrer.empty())
83 referrer = kPlayInlineReferrer;
84 else
85 referrer.append("&").append(kPlayInlineReferrer);
86 77
87 ScopedJavaLocalRef<jstring> jurl( 78 ScopedJavaLocalRef<jstring> jurl(
88 ConvertUTF8ToJavaString(env, data_fetcher()->validated_url().spec())); 79 ConvertUTF8ToJavaString(env, data_fetcher()->validated_url().spec()));
89 ScopedJavaLocalRef<jstring> jpackage( 80 ScopedJavaLocalRef<jstring> jpackage(
90 ConvertUTF8ToJavaString(env, id)); 81 ConvertUTF8ToJavaString(env, id));
91 ScopedJavaLocalRef<jstring> jreferrer( 82 ScopedJavaLocalRef<jstring> jreferrer(
92 ConvertUTF8ToJavaString(env, referrer)); 83 ConvertUTF8ToJavaString(env, referrer));
93 Java_AppBannerManager_fetchAppDetails(env, jobj.obj(), jurl.obj(), 84 Java_AppBannerManager_fetchAppDetails(env, jobj.obj(), jurl.obj(),
94 jpackage.obj(), jreferrer.obj(), 85 jpackage.obj(), jreferrer.obj(),
95 ideal_icon_size()); 86 ideal_icon_size());
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 jdouble indirect_engagement) { 187 jdouble indirect_engagement) {
197 AppBannerManager::ForceEngagementWeightsForTesting(direct_engagement, 188 AppBannerManager::ForceEngagementWeightsForTesting(direct_engagement,
198 indirect_engagement); 189 indirect_engagement);
199 } 190 }
200 191
201 jboolean IsEnabled(JNIEnv* env, jclass clazz) { 192 jboolean IsEnabled(JNIEnv* env, jclass clazz) {
202 return base::FieldTrialList::FindFullName("AppBanners") == "Enabled"; 193 return base::FieldTrialList::FindFullName("AppBanners") == "Enabled";
203 } 194 }
204 195
205 } // namespace banners 196 } // namespace banners
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698