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

Side by Side Diff: chrome/browser/android/tab_android.cc

Issue 2002433002: Handle online and offline redirects via interceptor and offline scheme (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 5 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 #include "chrome/browser/android/tab_android.h" 5 #include "chrome/browser/android/tab_android.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 GURL url = dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl( 794 GURL url = dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl(
795 web_contents()->GetURL()); 795 web_contents()->GetURL());
796 return offline_pages::OfflinePageUtils::HasOfflinePageForOnlineURL( 796 return offline_pages::OfflinePageUtils::HasOfflinePageForOnlineURL(
797 GetProfile(), url); 797 GetProfile(), url);
798 } 798 }
799 799
800 jboolean TabAndroid::IsOfflinePage(JNIEnv* env, 800 jboolean TabAndroid::IsOfflinePage(JNIEnv* env,
801 const JavaParamRef<jobject>& obj) { 801 const JavaParamRef<jobject>& obj) {
802 GURL url = dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl( 802 GURL url = dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl(
803 web_contents()->GetURL()); 803 web_contents()->GetURL());
804 return offline_pages::OfflinePageUtils::IsOfflinePage(GetProfile(), url); 804 return url.SchemeIs(chrome::kOfflinePageScheme);
805 } 805 }
806 806
807 ScopedJavaLocalRef<jstring> TabAndroid::GetOfflinePageOriginalUrl( 807 ScopedJavaLocalRef<jstring> TabAndroid::GetOfflinePageOriginalUrl(
808 JNIEnv* env, 808 JNIEnv* env,
809 const JavaParamRef<jobject>& obj) { 809 const JavaParamRef<jobject>& obj) {
810 GURL url = dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl( 810 GURL url = dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl(
811 web_contents()->GetURL()); 811 web_contents()->GetURL());
812 GURL original_url = 812 if (!url.SchemeIs(chrome::kOfflinePageScheme))
813 offline_pages::OfflinePageUtils::MaybeGetOnlineURLForOfflineURL( 813 return ScopedJavaLocalRef<jstring>();
814 GetProfile(), url); 814 GURL original_url(url.GetContent());
815 if (!original_url.is_valid()) 815 if (!original_url.is_valid() || !original_url.SchemeIsHTTPOrHTTPS())
816 return ScopedJavaLocalRef<jstring>(); 816 return ScopedJavaLocalRef<jstring>();
817 817
818 return ScopedJavaLocalRef<jstring>( 818 return ScopedJavaLocalRef<jstring>(
819 ConvertUTF8ToJavaString(env, original_url.spec())); 819 ConvertUTF8ToJavaString(env, original_url.spec()));
820 } 820 }
821 821
822 bool TabAndroid::HasPrerenderedUrl(JNIEnv* env, 822 bool TabAndroid::HasPrerenderedUrl(JNIEnv* env,
823 const JavaParamRef<jobject>& obj, 823 const JavaParamRef<jobject>& obj,
824 const JavaParamRef<jstring>& url) { 824 const JavaParamRef<jstring>& url) {
825 GURL gurl(base::android::ConvertJavaStringToUTF8(env, url)); 825 GURL gurl(base::android::ConvertJavaStringToUTF8(env, url));
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 static void Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { 901 static void Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
902 TRACE_EVENT0("native", "TabAndroid::Init"); 902 TRACE_EVENT0("native", "TabAndroid::Init");
903 // This will automatically bind to the Java object and pass ownership there. 903 // This will automatically bind to the Java object and pass ownership there.
904 new TabAndroid(env, obj); 904 new TabAndroid(env, obj);
905 } 905 }
906 906
907 // static 907 // static
908 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) { 908 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) {
909 return RegisterNativesImpl(env); 909 return RegisterNativesImpl(env);
910 } 910 }
OLDNEW
« no previous file with comments | « chrome/browser/android/offline_pages/offline_page_tab_helper.cc ('k') | chrome/browser/profiles/profile_io_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698