Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(269)

Issue 1430003004: ABANDONED: Revert to using a default referrer for save-page-as download jobs. (Closed)

Created:
5 years, 1 month ago by Łukasz Anforowicz
Modified:
5 years, 1 month ago
Reviewers:
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, darin-cc_chromium.org, mkwst+moarreviews-renderer_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

ABANDONED - REPLACED WITH crrev.com/1418513023 --------------------------------------------------------- Revert to using a default referrer for save-page-as download jobs. This CL effectively reverts crrev.com/1425013004, but does so in a minimal way, avoiding interaction and conflicts with the other changes happening around save_package.cc: - The core change made by crrev.com/1425013004 was having render_frame_impl.cc send an actual referrer url and policy (see |referrer| in crrev.com/1425013004/patch/20001/30004) rather that using the defaults that used to be provided by savable_resources.cc (see crrev.com/1425013004/patch/20001/30005). - This CL reverts the "core change" from the previous item by going back to always sending a default referrer. This CL has been tested by running tests introduced in crrev.com/1411253013 with and without this CL. Without this CL the test added by crrev.com/1411253013 fails with a callstack very similar (*) to the one reported in crbug.com/550289. The test passes with this CL. This makes me highly confident that the changes to render_frame_impl.cc made by the current CL are the right changes to address crbug.com/550289 in the short-term. Note - this CL should avoid the crash reported in crbug.com/550289, but a separate, follow-up CL will still be needed in the long-term (to use an actual referrer for downloads trigerred by save-page). (*) Very similar callstack = [32538:32569:1104/113512:FATAL:chrome_network_delegate.cc(148)] Check failed: false. 0 0x7fdba8402e4e base::debug::StackTrace::StackTrace() 1 0x7fdba8318fcf logging::LogMessage::~LogMessage() 2 0x0000017abb27 (anonymous namespace)::ReportInvalidReferrerSend() 3 0x0000017ab945 ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader() 4 0x7fdba70de092 net::NetworkDelegate::CancelURLRequestWithPolicyViolatingReferrerHeader() 5 0x7fdba709b9b5 net::LayeredNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader() 6 0x7fdba70de092 net::NetworkDelegate::CancelURLRequestWithPolicyViolatingReferrerHeader() 7 0x7fdba7612798 net::URLRequest::StartJob() 8 0x7fdba76121f1 net::URLRequest::BeforeRequestComplete() 9 0x7fdba7611a87 net::URLRequest::Start() 10 0x7fdba1ac07e9 content::ResourceLoader::StartRequestInternal() 11 0x7fdba1ac0697 content::ResourceLoader::StartRequest() 12 0x7fdba1aa0bf0 content::ResourceDispatcherHostImpl::StartLoading() 13 0x7fdba1a96f63 content::ResourceDispatcherHostImpl::BeginRequestInternal() 14 0x7fdba1a9f6e3 content::ResourceDispatcherHostImpl::BeginSaveFile() 15 0x7fdba17d7a9e content::SaveFileManager::OnSaveURL() BUG=550289, 526786

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2 lines, -2 lines) Patch
M content/renderer/render_frame_impl.cc View 1 chunk +2 lines, -2 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 1 (1 generated)
Łukasz Anforowicz
5 years, 1 month ago (2015-11-05 21:30:10 UTC) #1
Description was changed from

==========
Revert to using a default referrer for save-page-as download jobs.

This CL effectively reverts crrev.com/1425013004, but does so in
a minimal way, avoiding interaction and conflicts with the other
changes happening around save_package.cc:

- The core change made by crrev.com/1425013004 was having
  render_frame_impl.cc send an actual referrer url and policy (see
  |referrer| in crrev.com/1425013004/patch/20001/30004) rather that
  using the defaults that used to be provided by savable_resources.cc
  (see crrev.com/1425013004/patch/20001/30005).

- This CL reverts the "core change" from the previous item by
  going back to always sending a default referrer.

This CL has been tested by running tests introduced in
crrev.com/1411253013 with and without this CL.  Without this CL the test
added by crrev.com/1411253013 fails with a callstack very similar (*) to
the one reported in crbug.com/550289.  The test passes with this CL.
This makes me highly confident that the changes to render_frame_impl.cc
made by the current CL are the right changes to address crbug.com/550289
in the short-term.

Note - this CL should avoid the crash reported in crbug.com/550289, but
a separate, follow-up CL will still be needed in the long-term (to use
an actual referrer for downloads trigerred by save-page).

(*) Very similar callstack =
  [32538:32569:1104/113512:FATAL:chrome_network_delegate.cc(148)] Check failed:
false.
  0 0x7fdba8402e4e base::debug::StackTrace::StackTrace()
  1 0x7fdba8318fcf logging::LogMessage::~LogMessage()
  2 0x0000017abb27 (anonymous namespace)::ReportInvalidReferrerSend()
  3 0x0000017ab945
ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader()
  4 0x7fdba70de092
net::NetworkDelegate::CancelURLRequestWithPolicyViolatingReferrerHeader()
  5 0x7fdba709b9b5
net::LayeredNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader()
  6 0x7fdba70de092
net::NetworkDelegate::CancelURLRequestWithPolicyViolatingReferrerHeader()
  7 0x7fdba7612798 net::URLRequest::StartJob()
  8 0x7fdba76121f1 net::URLRequest::BeforeRequestComplete()
  9 0x7fdba7611a87 net::URLRequest::Start()
  10 0x7fdba1ac07e9 content::ResourceLoader::StartRequestInternal()
  11 0x7fdba1ac0697 content::ResourceLoader::StartRequest()
  12 0x7fdba1aa0bf0 content::ResourceDispatcherHostImpl::StartLoading()
  13 0x7fdba1a96f63 content::ResourceDispatcherHostImpl::BeginRequestInternal()
  14 0x7fdba1a9f6e3 content::ResourceDispatcherHostImpl::BeginSaveFile()
  15 0x7fdba17d7a9e content::SaveFileManager::OnSaveURL()

BUG=550289, 526786
==========

to

==========
ABANDONED - REPLACED WITH crrev.com/1418513023
---------------------------------------------------------

Revert to using a default referrer for save-page-as download jobs.

This CL effectively reverts crrev.com/1425013004, but does so in
a minimal way, avoiding interaction and conflicts with the other
changes happening around save_package.cc:

- The core change made by crrev.com/1425013004 was having
  render_frame_impl.cc send an actual referrer url and policy (see
  |referrer| in crrev.com/1425013004/patch/20001/30004) rather that
  using the defaults that used to be provided by savable_resources.cc
  (see crrev.com/1425013004/patch/20001/30005).

- This CL reverts the "core change" from the previous item by
  going back to always sending a default referrer.

This CL has been tested by running tests introduced in
crrev.com/1411253013 with and without this CL.  Without this CL the test
added by crrev.com/1411253013 fails with a callstack very similar (*) to
the one reported in crbug.com/550289.  The test passes with this CL.
This makes me highly confident that the changes to render_frame_impl.cc
made by the current CL are the right changes to address crbug.com/550289
in the short-term.

Note - this CL should avoid the crash reported in crbug.com/550289, but
a separate, follow-up CL will still be needed in the long-term (to use
an actual referrer for downloads trigerred by save-page).

(*) Very similar callstack =
  [32538:32569:1104/113512:FATAL:chrome_network_delegate.cc(148)] Check failed:
false.
  0 0x7fdba8402e4e base::debug::StackTrace::StackTrace()
  1 0x7fdba8318fcf logging::LogMessage::~LogMessage()
  2 0x0000017abb27 (anonymous namespace)::ReportInvalidReferrerSend()
  3 0x0000017ab945
ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader()
  4 0x7fdba70de092
net::NetworkDelegate::CancelURLRequestWithPolicyViolatingReferrerHeader()
  5 0x7fdba709b9b5
net::LayeredNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader()
  6 0x7fdba70de092
net::NetworkDelegate::CancelURLRequestWithPolicyViolatingReferrerHeader()
  7 0x7fdba7612798 net::URLRequest::StartJob()
  8 0x7fdba76121f1 net::URLRequest::BeforeRequestComplete()
  9 0x7fdba7611a87 net::URLRequest::Start()
  10 0x7fdba1ac07e9 content::ResourceLoader::StartRequestInternal()
  11 0x7fdba1ac0697 content::ResourceLoader::StartRequest()
  12 0x7fdba1aa0bf0 content::ResourceDispatcherHostImpl::StartLoading()
  13 0x7fdba1a96f63 content::ResourceDispatcherHostImpl::BeginRequestInternal()
  14 0x7fdba1a9f6e3 content::ResourceDispatcherHostImpl::BeginSaveFile()
  15 0x7fdba17d7a9e content::SaveFileManager::OnSaveURL()

BUG=550289, 526786
==========

Powered by Google App Engine
This is Rietveld 408576698