Chromium Code Reviews| Index: content/browser/android/web_contents_observer_android.cc |
| diff --git a/content/browser/android/web_contents_observer_android.cc b/content/browser/android/web_contents_observer_android.cc |
| index 72b22417d1185a9a1cb1c4a81ede0904333410fb..2975a35c30f67dcac9c0d3584a566a2231072c2a 100644 |
| --- a/content/browser/android/web_contents_observer_android.cc |
| +++ b/content/browser/android/web_contents_observer_android.cc |
| @@ -129,9 +129,16 @@ void WebContentsObserverAndroid::DidNavigateMainFrame( |
| ConvertUTF8ToJavaString(env, params.url.spec())); |
| ScopedJavaLocalRef<jstring> jstring_base_url( |
| ConvertUTF8ToJavaString(env, params.base_url.spec())); |
| + |
| // See http://crbug.com/251330 for why it's determined this way. |
| - bool in_page_navigation = |
| - details.type == NAVIGATION_TYPE_IN_PAGE || details.is_in_page; |
| + url::Replacements<char> replacements; |
| + replacements.ClearRef(); |
| + bool urls_same_ignoring_fragment = |
| + params.url.ReplaceComponents(replacements) == |
| + details.previous_url.ReplaceComponents(replacements); |
| + |
| + bool in_page_navigation = urls_same_ignoring_fragment && |
|
mkosiba (inactive)
2014/06/03 11:31:08
thanks! I guess we could just call this is_fragmen
|
| + (details.type == NAVIGATION_TYPE_IN_PAGE || details.is_in_page); |
| Java_WebContentsObserverAndroid_didNavigateMainFrame( |
| env, obj.obj(), jstring_url.obj(), jstring_base_url.obj(), |
| details.is_navigation_to_different_page(), in_page_navigation); |