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

Unified Diff: chrome/browser/android/dom_distiller/feedback_reporter_android.cc

Issue 208263010: Fix a problem that FeedbackReportingView is stacked infinitely whenever navigating to chrome-distil… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/dom_distiller/feedback_reporter_android.cc
diff --git a/chrome/browser/android/dom_distiller/feedback_reporter_android.cc b/chrome/browser/android/dom_distiller/feedback_reporter_android.cc
index 37867bb01d143edeae5f40a02546d543352f3576..c0b4a5c6eb4864e3556e1f898256fa34bf02fd07 100644
--- a/chrome/browser/android/dom_distiller/feedback_reporter_android.cc
+++ b/chrome/browser/android/dom_distiller/feedback_reporter_android.cc
@@ -5,11 +5,11 @@
#include "chrome/browser/android/dom_distiller/feedback_reporter_android.h"
#include "base/android/jni_android.h"
-#include "base/android/jni_string.h"
#include "base/command_line.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/url_constants.h"
#include "components/dom_distiller/core/feedback_reporter.h"
+#include "components/dom_distiller/core/url_utils.h"
#include "content/public/browser/navigation_details.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/web_contents_observer.h"
@@ -17,9 +17,6 @@
#include "jni/FeedbackReporter_jni.h"
#include "url/gurl.h"
-using base::android::ConvertJavaStringToUTF8;
-using base::android::ConvertUTF8ToJavaString;
-
namespace dom_distiller {
namespace android {
@@ -35,15 +32,6 @@ void ReportQuality(JNIEnv* env, jclass clazz, jboolean j_good) {
FeedbackReporter::ReportQuality(j_good);
}
-// static
-jboolean IsReportableUrl(JNIEnv* env, jclass clazz, jstring j_url_str) {
- const std::string url_str = ConvertJavaStringToUTF8(env, j_url_str);
- const GURL url(url_str);
- if (!url.is_valid())
- return false;
- return url.scheme() == chrome::kDomDistillerScheme;
-}
-
FeedbackReporterAndroid::FeedbackReporterAndroid(JNIEnv* env, jobject obj)
: weak_java_feedback_reporter_(env, obj) {}
@@ -66,14 +54,12 @@ void FeedbackReporterAndroid::DidNavigateMainFrame(
ScopedJavaLocalRef<jobject> jobj = weak_java_feedback_reporter_.get(env);
if (jobj.is_null())
return;
- base::android::ScopedJavaLocalRef<jstring> j_current_overlay_url_str =
- Java_FeedbackReporter_getCurrentOverlayUrl(env, jobj.obj());
- std::string current_overlay_url_str =
- ConvertJavaStringToUTF8(j_current_overlay_url_str);
- GURL current_overlay_url(current_overlay_url_str);
- GURL navigation_url = details.entry->GetURL();
- if (!current_overlay_url.is_valid() || navigation_url != current_overlay_url)
- Java_FeedbackReporter_dismissOverlay(env, jobj.obj());
+ Java_FeedbackReporter_dismissOverlay(env, jobj.obj());
+ GURL url = details.entry->GetURL();
+ if (dom_distiller::url_utils::IsUrlReportable(
+ chrome::kDomDistillerScheme, url)) {
+ Java_FeedbackReporter_showOverlay(env, jobj.obj());
+ }
}
jlong Init(JNIEnv* env, jobject obj) {

Powered by Google App Engine
This is Rietveld 408576698