enable-page-saving-on-more-pages.patch 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # Add more URL schemes allowed for saving
  2. --- a/chrome/browser/ui/browser_commands.cc
  3. +++ b/chrome/browser/ui/browser_commands.cc
  4. @@ -387,12 +387,6 @@ int GetContentRestrictions(const Browser
  5. CoreTabHelper* core_tab_helper =
  6. CoreTabHelper::FromWebContents(current_tab);
  7. content_restrictions = core_tab_helper->content_restrictions();
  8. - NavigationEntry* last_committed_entry =
  9. - current_tab->GetController().GetLastCommittedEntry();
  10. - if (!content::IsSavableURL(
  11. - last_committed_entry ? last_committed_entry->GetURL() : GURL()) ||
  12. - current_tab->ShowingInterstitialPage())
  13. - content_restrictions |= CONTENT_RESTRICTION_SAVE;
  14. if (current_tab->ShowingInterstitialPage())
  15. content_restrictions |= CONTENT_RESTRICTION_PRINT;
  16. }
  17. @@ -1119,8 +1113,7 @@ bool CanSavePage(const Browser* browser)
  18. prefs::kAllowFileSelectionDialogs)) {
  19. return false;
  20. }
  21. - return !browser->is_type_devtools() &&
  22. - !(GetContentRestrictions(browser) & CONTENT_RESTRICTION_SAVE);
  23. + return true;
  24. }
  25. void Print(Browser* browser) {
  26. --- a/components/offline_pages/core/offline_page_model.cc
  27. +++ b/components/offline_pages/core/offline_page_model.cc
  28. @@ -22,7 +22,7 @@ OfflinePageModel::SavePageParams::~SaveP
  29. // static
  30. bool OfflinePageModel::CanSaveURL(const GURL& url) {
  31. - return url.is_valid() && url.SchemeIsHTTPOrHTTPS();
  32. + return url.is_valid();
  33. }
  34. OfflinePageModel::OfflinePageModel() = default;
  35. --- a/content/common/url_schemes.cc
  36. +++ b/content/common/url_schemes.cc
  37. @@ -22,6 +22,9 @@ namespace {
  38. bool g_registered_url_schemes = false;
  39. const char* const kDefaultSavableSchemes[] = {
  40. + url::kAboutScheme,
  41. + url::kBlobScheme,
  42. + url::kContentScheme,
  43. url::kHttpScheme,
  44. url::kHttpsScheme,
  45. url::kFileScheme,
  46. @@ -29,7 +32,13 @@ const char* const kDefaultSavableSchemes
  47. url::kFtpScheme,
  48. kChromeDevToolsScheme,
  49. kChromeUIScheme,
  50. - url::kDataScheme
  51. + url::kDataScheme,
  52. + url::kJavaScriptScheme,
  53. + url::kMailToScheme,
  54. + url::kWsScheme,
  55. + url::kWssScheme,
  56. + kGuestScheme,
  57. + kViewSourceScheme
  58. };
  59. // These lists are lazily initialized below and are leaked on shutdown to
  60. --- a/content/public/common/url_utils.cc
  61. +++ b/content/public/common/url_utils.cc
  62. @@ -28,11 +28,7 @@ bool HasWebUIScheme(const GURL& url) {
  63. }
  64. bool IsSavableURL(const GURL& url) {
  65. - for (auto& scheme : GetSavableSchemes()) {
  66. - if (url.SchemeIs(scheme))
  67. - return true;
  68. - }
  69. - return false;
  70. + return true;
  71. }
  72. bool IsURLHandledByNetworkStack(const GURL& url) {