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

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