|
|
Created:
4 years, 2 months ago by jam Modified:
4 years, 2 months ago Reviewers:
Fady Samuel CC:
chromium-reviews, chromium-apps-reviews_chromium.org, extensions-reviews_chromium.org Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionFix cross-renderer resource loads for <webview> with PlzNavigate.
This is done by sharing the logic that ExtensionProtocolHandler does in ExtensionNavigationThrottle. The former doesn't have enough information for navigation requests since the process id isn't known, which is why the logic is shared into the extensions navigation throttle.
The other fix is to convert WebViewGuest to use the new navigation callbacks.
This fixes
WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/*
WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/*
WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/*
WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/*
WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/*
with plzNavigate
BUG=504347
Committed: https://crrev.com/6adb8c23bd7b3fe24398c5500a2f89c758e36a4d
Cr-Commit-Position: refs/heads/master@{#425073}
Patch Set 1 #Patch Set 2 : update #Patch Set 3 : merge #Patch Set 4 : fix #
Total comments: 4
Patch Set 5 : review comments #
Messages
Total messages: 49 (42 generated)
The CQ bit was checked by jam@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: CLs for remote refs other than refs/pending/heads/master must contain NOTRY=true and NOPRESUBMIT=true in order for the CQ to process them
The CQ bit was checked by jam@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: CLs for remote refs other than refs/pending/heads/master must contain NOTRY=true and NOPRESUBMIT=true in order for the CQ to process them
The CQ bit was checked by jam@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
Patchset #1 (id:1) has been deleted
The CQ bit was checked by jam@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...)
The CQ bit was checked by jam@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by jam@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by jam@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #4 (id:80001) has been deleted
Patchset #2 (id:40001) has been deleted
The CQ bit was checked by jam@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== fix <webview> with plznavigate BUG= ========== to ========== fix <webview> with plznavigate This fixes WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/* WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/* WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/* WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/* WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/* with plzNavigate BUG= ==========
Description was changed from ========== fix <webview> with plznavigate This fixes WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/* WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/* WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/* WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/* WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/* with plzNavigate BUG= ========== to ========== fix <webview> with plznavigate This fixes WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/* WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/* WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/* WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/* WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/* with plzNavigate BUG=504347 ==========
jam@chromium.org changed reviewers: + fsamuel@chromium.org
Description was changed from ========== fix <webview> with plznavigate This fixes WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/* WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/* WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/* WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/* WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/* with plzNavigate BUG=504347 ========== to ========== Fix cross-renderer resource loads for <webview> with PlzNavigate. This is done by sharing the logic that ExtensionProtocolHandler does in ExtensionNavigationThrottle. The former doesn't have enough information for navigation requests since the process id isn't known, which is why the logic is shared into the extensions navigation throttle. The other fix is to convert WebViewGuest to use the new navigation callbacks. This fixes WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/* WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/* WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/* WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/* WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/* with plzNavigate BUG=504347 ==========
https://codereview.chromium.org/2411293002/diff/120001/extensions/browser/gue... File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/2411293002/diff/120001/extensions/browser/gue... extensions/browser/guest_view/web_view/web_view_guest.cc:819: : net::ERR_BLOCKED_BY_CLIENT; This would happen if the load is blocked by the webrequest API, presumably? A comment would be nice, as someone looking back at this code would likely be confused here I think. https://codereview.chromium.org/2411293002/diff/120001/extensions/browser/url... File extensions/browser/url_request_util.cc (right): https://codereview.chromium.org/2411293002/diff/120001/extensions/browser/url... extensions/browser/url_request_util.cc:49: if (AllowCrossRendererResourceLoad(is_guest, extension, owner_extension, Can we call this something else? It's a bit confusing to have two methods with the same name and different signatures here with one calling the other.
https://codereview.chromium.org/2411293002/diff/120001/extensions/browser/gue... File extensions/browser/guest_view/web_view/web_view_guest.cc (right): https://codereview.chromium.org/2411293002/diff/120001/extensions/browser/gue... extensions/browser/guest_view/web_view/web_view_guest.cc:819: : net::ERR_BLOCKED_BY_CLIENT; On 2016/10/13 15:33:01, Fady Samuel wrote: > This would happen if the load is blocked by the webrequest API, presumably? A > comment would be nice, as someone looking back at this code would likely be > confused here I think. Right. the error code ERR_BLOCKED_BY_CLIENT keeps the behavior the same between IO/UI thread blocking. Added comment https://codereview.chromium.org/2411293002/diff/120001/extensions/browser/url... File extensions/browser/url_request_util.cc (right): https://codereview.chromium.org/2411293002/diff/120001/extensions/browser/url... extensions/browser/url_request_util.cc:49: if (AllowCrossRendererResourceLoad(is_guest, extension, owner_extension, On 2016/10/13 15:33:01, Fady Samuel wrote: > Can we call this something else? It's a bit confusing to have two methods with > the same name and different signatures here with one calling the other. Done.
The CQ bit was checked by jam@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm
The CQ bit was checked by jam@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Fix cross-renderer resource loads for <webview> with PlzNavigate. This is done by sharing the logic that ExtensionProtocolHandler does in ExtensionNavigationThrottle. The former doesn't have enough information for navigation requests since the process id isn't known, which is why the logic is shared into the extensions navigation throttle. The other fix is to convert WebViewGuest to use the new navigation callbacks. This fixes WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/* WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/* WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/* WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/* WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/* with plzNavigate BUG=504347 ========== to ========== Fix cross-renderer resource loads for <webview> with PlzNavigate. This is done by sharing the logic that ExtensionProtocolHandler does in ExtensionNavigationThrottle. The former doesn't have enough information for navigation requests since the process id isn't known, which is why the logic is shared into the extensions navigation throttle. The other fix is to convert WebViewGuest to use the new navigation callbacks. This fixes WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/* WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/* WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/* WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/* WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/* with plzNavigate BUG=504347 ==========
Message was sent while issue was closed.
Committed patchset #5 (id:140001)
Message was sent while issue was closed.
Description was changed from ========== Fix cross-renderer resource loads for <webview> with PlzNavigate. This is done by sharing the logic that ExtensionProtocolHandler does in ExtensionNavigationThrottle. The former doesn't have enough information for navigation requests since the process id isn't known, which is why the logic is shared into the extensions navigation throttle. The other fix is to convert WebViewGuest to use the new navigation callbacks. This fixes WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/* WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/* WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/* WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/* WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/* with plzNavigate BUG=504347 ========== to ========== Fix cross-renderer resource loads for <webview> with PlzNavigate. This is done by sharing the logic that ExtensionProtocolHandler does in ExtensionNavigationThrottle. The former doesn't have enough information for navigation requests since the process id isn't known, which is why the logic is shared into the extensions navigation throttle. The other fix is to convert WebViewGuest to use the new navigation callbacks. This fixes WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/* WebViewTests/WebViewTest.Shim_TestInvalidChromeExtensionURL/* WebViewTests/WebViewTest.Shim_TestLoadAbortChromeExtensionURLWrongPartition/* WebViewTests/WebViewTest.Shim_TestLoadAbortEmptyResponse/* WebViewTests/WebViewTest.Shim_TestLoadStartLoadRedirect/* with plzNavigate BUG=504347 Committed: https://crrev.com/6adb8c23bd7b3fe24398c5500a2f89c758e36a4d Cr-Commit-Position: refs/heads/master@{#425073} ==========
Message was sent while issue was closed.
Patchset 5 (id:??) landed as https://crrev.com/6adb8c23bd7b3fe24398c5500a2f89c758e36a4d Cr-Commit-Position: refs/heads/master@{#425073} |