PlzNavigate: passing multiple extra_headers in LoadURLParams doesn't work
Reported by
tsniatow...@opera.com,
Sep 11 2017
|
|||
Issue descriptionChrome Version: master@Sep10 (d88a223e383cc4b24fcd137d28a8126d2efc11a2) What steps will reproduce the problem? (1) End up calling NavigationControllerImpl::LoadURLWithParams (2) Have more than one extra header in params.extra_headers, separated by \n as per the docs for LoadURLParams (3) Have PlzNavigate enabled What is the expected result? All passed extra_headers are sent. What happens instead? DFATAL in http_request_headers.cc(146), or zero headers work (in non-dcheck builds). This is likely caused by a confusion as to whether the single-string headers should be passes \n-separated, or \r\n-separated. LoadURLParams says they should be \n-separated, NavigationEntryImpl wants then \r\n-separated. Outside PlzNavigate, enough data-conversion happens on the trip back from Blink to ensure they are \r\n anyway by the time they get to http_request_headers.cc, but the shorted PlzNavigate path fails to account for that difference. The fix would be to either make LoadUrlParams also assume a \r\n-separated list of headers, or fix NavigationControllerImpl so it converts. I'm trying the latter as it looks like less code needs to change. Note there doesn't seem to be any unit or browser tests that try to pass more than one extra_header in LoadURLParams.
,
Sep 14 2017
,
Sep 14 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by bugdroid1@chromium.org
, Sep 11 2017