|
Fix an issue that external protocol in subframes are not handled on Android
On android, an InterceptNavigationResourceThrottle is used to intercept all the UrlRequests.
However, this throttle only works if the resource type is main frame.
As a result, any external protocols embedded in subframes cannot launch other intents.
This change addresses the above issue by:
1. revive the ExternalProtocolHandler code path on android so that subframe requests will be handled.
2. passing transition type to ExternalProtocolHandler so android implementation can decide whether to show intent picker.
3. Adding back ExternalProtocolObserver on android, use the common code path to prevent intent from launching without gesture.
BUG= 364522
Committed: https://crrev.com/7573e42dc9fcb20f31f980d5f1fa8125719ce0f0
Cr-Commit-Position: refs/heads/master@{#328570}
Total comments: 1
Total comments: 6
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+200 lines, -81 lines) |
Patch |
|
M |
android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h
|
View
|
1
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc
|
View
|
1
|
1 chunk |
+7 lines, -3 lines |
0 comments
|
Download
|
|
M |
chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
|
View
|
1
2
3
4
5
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationParams.java
|
View
|
1
2
3
|
5 chunks |
+21 lines, -2 lines |
0 comments
|
Download
|
|
M |
chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandlerTest.java
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/chromeos/external_protocol_dialog.cc
|
View
|
1
|
1 chunk |
+5 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/browser/external_protocol/external_protocol_handler.h
|
View
|
1
|
4 chunks |
+13 lines, -12 lines |
0 comments
|
Download
|
|
M |
chrome/browser/external_protocol/external_protocol_handler.cc
|
View
|
1
2
3
4
|
6 chunks |
+31 lines, -16 lines |
0 comments
|
Download
|
|
M |
chrome/browser/external_protocol/external_protocol_handler_unittest.cc
|
View
|
1
2
3
4
5
|
3 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
chrome/browser/prerender/prerender_browsertest.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.h
|
View
|
1
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
|
View
|
1
|
3 chunks |
+24 lines, -15 lines |
0 comments
|
Download
|
|
M |
chrome/browser/ui/android/external_protocol_dialog_android.cc
|
View
|
1
2
|
1 chunk |
+33 lines, -6 lines |
0 comments
|
Download
|
|
M |
chrome/browser/ui/cocoa/external_protocol_dialog.mm
|
View
|
1
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/browser/ui/tab_helpers.cc
|
View
|
1
|
4 chunks |
+2 lines, -2 lines |
2 comments
|
Download
|
|
M |
chrome/browser/ui/views/external_protocol_dialog.cc
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
chrome/chrome_browser.gypi
|
View
|
1
2
3
4
5
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
components/navigation_interception/android/java/src/org/chromium/components/navigation_interception/NavigationParams.java
|
View
|
1
2
|
1 chunk |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
components/navigation_interception/intercept_navigation_resource_throttle.cc
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
components/navigation_interception/navigation_params.h
|
View
|
1
2
|
3 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
components/navigation_interception/navigation_params.cc
|
View
|
1
2
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
components/navigation_interception/navigation_params_android.cc
|
View
|
1
2
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
content/browser/loader/resource_dispatcher_host_impl.cc
|
View
|
1
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/render_widget_host_impl.cc
|
View
|
1
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
content/public/browser/resource_dispatcher_host_delegate.h
|
View
|
1
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|
M |
content/public/browser/resource_dispatcher_host_delegate.cc
|
View
|
1
|
1 chunk |
+7 lines, -3 lines |
0 comments
|
Download
|
Total messages: 49 (15 generated)
|