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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. @@ -534,11 +534,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(last_committed_entry->GetURL())) {
  11. - content_restrictions |= CONTENT_RESTRICTION_SAVE;
  12. - }
  13. }
  14. return content_restrictions;
  15. }
  16. @@ -1663,8 +1658,7 @@ bool CanSavePage(const Browser* browser)
  17. DownloadPrefs::DownloadRestriction::ALL_FILES) {
  18. return false;
  19. }
  20. - return !browser->is_type_devtools() &&
  21. - !(GetContentRestrictions(browser) & CONTENT_RESTRICTION_SAVE);
  22. + return true;
  23. }
  24. void Print(Browser* browser) {
  25. --- a/components/offline_pages/core/offline_page_model.cc
  26. +++ b/components/offline_pages/core/offline_page_model.cc
  27. @@ -21,7 +21,7 @@ OfflinePageModel::SavePageParams::~SaveP
  28. // static
  29. bool OfflinePageModel::CanSaveURL(const GURL& url) {
  30. - return url.is_valid() && url.SchemeIsHTTPOrHTTPS();
  31. + return url.is_valid();
  32. }
  33. OfflinePageModel::OfflinePageModel() = default;
  34. --- a/content/common/url_schemes.cc
  35. +++ b/content/common/url_schemes.cc
  36. @@ -24,13 +24,21 @@ namespace {
  37. bool g_registered_url_schemes = false;
  38. const char* const kDefaultSavableSchemes[] = {
  39. + url::kAboutScheme,
  40. + url::kBlobScheme,
  41. + url::kContentScheme,
  42. url::kHttpScheme,
  43. url::kHttpsScheme,
  44. url::kFileScheme,
  45. url::kFileSystemScheme,
  46. kChromeDevToolsScheme,
  47. kChromeUIScheme,
  48. - url::kDataScheme
  49. + url::kDataScheme,
  50. + url::kJavaScriptScheme,
  51. + url::kMailToScheme,
  52. + url::kWsScheme,
  53. + url::kWssScheme,
  54. + kViewSourceScheme
  55. };
  56. // These lists are lazily initialized below and are leaked on shutdown to
  57. --- a/content/public/common/url_utils.cc
  58. +++ b/content/public/common/url_utils.cc
  59. @@ -32,11 +32,7 @@ bool HasWebUIOrigin(const url::Origin& o
  60. }
  61. bool IsSavableURL(const GURL& url) {
  62. - for (auto& scheme : GetSavableSchemes()) {
  63. - if (url.SchemeIs(scheme))
  64. - return true;
  65. - }
  66. - return false;
  67. + return true;
  68. }
  69. bool IsURLHandledByNetworkStack(const GURL& url) {