Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / components / dom_distiller / core / url_utils_android.cc
index 2f12d34..fcadd52 100644 (file)
@@ -7,8 +7,10 @@
 #include <string>
 
 #include "base/android/jni_string.h"
+#include "components/dom_distiller/core/url_constants.h"
 #include "components/dom_distiller/core/url_utils.h"
 #include "jni/DomDistillerUrlUtils_jni.h"
+#include "net/base/url_util.h"
 #include "url/gurl.h"
 
 namespace dom_distiller {
@@ -34,6 +36,32 @@ jstring GetDistillerViewUrlFromUrl(JNIEnv* env,
   return base::android::ConvertUTF8ToJavaString(env, view_url.spec()).Release();
 }
 
+jstring GetOriginalUrlFromDistillerUrl(JNIEnv* env,
+                                       jclass clazz,
+                                       jstring j_url) {
+  GURL url(base::android::ConvertJavaStringToUTF8(env, j_url));
+  if (!url.is_valid())
+    return NULL;
+
+  std::string original_url_str;
+  net::GetValueForKeyInQuery(url, kUrlKey, &original_url_str);
+  GURL original_url(original_url_str);
+  if (!original_url.is_valid())
+    return NULL;
+
+  return base::android::ConvertUTF8ToJavaString(env, original_url.spec())
+      .Release();
+}
+
+jboolean IsUrlReportable(JNIEnv* env,
+                         jclass clazz,
+                         jstring j_scheme,
+                         jstring j_url) {
+  std::string scheme(base::android::ConvertJavaStringToUTF8(env, j_scheme));
+  GURL url(base::android::ConvertJavaStringToUTF8(env, j_url));
+  return dom_distiller::url_utils::IsUrlReportable(scheme, url);
+}
+
 bool RegisterUrlUtils(JNIEnv* env) { return RegisterNativesImpl(env); }
 
 }  // namespace android