New issue
Advanced search Search tips

Issue 818450 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 4
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Inconsistent User Agent between normal and XHR requests in some devices

Reported by nemp...@gmail.com, Mar 3 2018

Issue description

Example URL:
https://www.giannakazakou.gr

Steps to reproduce the problem:
Open any page that uses AJAX

What is the expected behavior?
The XHR requests should have exactly the same User Agent with the normal (non-XHR) requests

What went wrong?
On my device (OnePlus 5T), the XHR requests have the following user agent: "Mozilla/5.0 (Linux; Android 8.0.0; Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36", whereas the non-XHR requests have the following user agent: "Mozilla/5.0 (Linux; Android 8.0.0; ONEPLUS A5010 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36" (notice the "ONEPLUS A5010 " difference).

Did this work before? N/A 

Chrome version: 64.0.3282.137  Channel: stable
OS Version: 8.0
Flash Version: 

This affects many OnePlus devices (see https://stackoverflow.com/questions/8685750/difference-between-ajax-request-and-a-regular-browser-request), but debugging the issue from the backend of my website, it seems to also affect devices from other brands (I can see Redmi Note 4, MI MAX, SM-J320FN, Redmi Note, PRA-LX1 and other device types in my logs).
 
Labels: Needs-triage-Mobile
Cc: mmenke@chromium.org
Components: -Internals>Network Blink>Loader
Hrm....that's weird.  You are sure the difference is XHR vs non-XHR, and not HTTP vs HTTPS, HTTP/2 vs HTTP/1.x, QUIC vs HTTP, or frame request vs subresource request, right?  These are all things that can alter the path a request goes through a bit, and I just want to be sure we're looking at the right paths for differences.

The network stack proper doesn't know what an XHR is, and the level above does, but doesn't set the user agent header, so seems like this would have t ocome from the renderer, assuming there's no MitM proxy doing this.

Could you attach a net-export log?  Instructions:  https://dev.chromium.org/for-testers/providing-network-details 

Comment 3 by nemp...@gmail.com, Mar 6 2018

Yes, the difference is definitely XHR vs non-XHR, all requests are HTTPS HTTP/2 requests.
I am attaching a net-export log file; I just enabled logging and loaded the Google homepage (I see in the developer tools that there is one XHR request that indeed has the user agent problem)
chrome-net-export-log.json
293 KB View Download
Components: UI>Browser>Navigation
The only request in that long with ONEPLUS is a main frame request (https://www.google.gr/.*).  All other requests don't use it - I believe the other requests are not all XHRs, since they have different priorities (MEDIUM, LOWEST, IDLE), and different Accept headers (XHRs use "*/*", but there are some image accept headers, too, which can't be set on XHR requests, I believe).

So I think this may be a navigation request issue, rather than an XHR one.

Comment 5 by nemp...@gmail.com, Mar 7 2018

OK, no objection to that. It still is a big issue, though, and I found out the hard way while trying to figure out why sessions were invalidated in my e-commerce website (I had turned on user-agent validation).
Any ideas why this could be happening?
Cc: pnangunoori@chromium.org
Labels: Triaged-Mobile Needs-Feedback
nemphys@ -- Thanks for reporting this issue. Could you please share the expected screenshot on other devices vs behavior observed on One Plus A5010. That would help us in reproducing and triaging the issue further.

Attaching the screenshot One Plus A5000.

Thanks!
818450.jpg
4.3 MB View Download

Comment 7 by nemp...@gmail.com, Mar 9 2018

A screenshot makes no sense for this issue, since it does not affect page rendering.
I most of the websites it might not affect *anything*, I just spotted it because I was having session resets due to user-agent session validation.
Project Member

Comment 8 by sheriffbot@chromium.org, Mar 9 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: tzik@chromium.org
+tzik who may remind something. IIRC, tzik optimized some code that genetated UA strings before.

Comment 10 by tzik@chromium.org, Mar 14 2018

The device name is from base::HardwareModelName(), and is set to UA string at BuildOSCpuInfo() in //content/common/user_agent.cc:88.
My guess is that the return value depends on whether it's called on the browser process or the renderer process due to the sandbox. And, the main resource request contains the device name because it's initiated from the browser process after PlzNavigate is enabled.

We should probably just remove the model name from the UA string?
Are we sending the user agent from blink with every request?  If so, that seems like a waste of resources.  The network stack already knows it, and will attach it as needed.
Owner: yhirano@chromium.org
Status: Assigned (was: Unconfirmed)
Tentatively assigning to me.
Labels: Needs-Feedback
nemphys@, can you tell me what's written in the "HTTP_USER_AGENT" row in http://www.puni.net/~mimori/cgi-bin/httpenv.cgi ?

Can you also tell me the output of https://output.jsbin.com/gupacir/?

Thanks,

Comment 14 by nemp...@gmail.com, Apr 19 2018

Sorry for the late reply, the HTTP_USER_AGENT is "Mozilla/5.0 (Linux; Android 8.1.0; ONEPLUS A5010 Build/OPM1.171019.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.106 Mobile Safari/537.36" (same as the User-Agent value I see in the request headers in Dev Tools).

The output of https://output.jsbin.com/gupacir/? is "USER-AGENT = Mozilla/5.0 (Linux; Android 8.1.0; Build/OPM1.171019.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.106 Mobile Safari/537.36".
Hmm, I tested with two Android devices but the outputs look identical on both sites for each device. Strange...

Are you opening / attaching Devtools?
Cc: japhet@chromium.org
> tzik@
> We should probably just remove the model name from the UA string?

I'm reluctant to do that because changing the user-agent string sounds controversial - If you are willing to do that, I will assign this bug to you.

Also, that sounds a bit arbitrary, as other values such as android build code name and android build id are also gotten in the same way. I don't understand the inconsistency.

> mmenke@
> Are we sending the user agent from blink with every request?  If so, that seems like a waste of resources.  The network stack already knows it, and will attach it as needed.

Attaching the user-agent header is needed at least when it is overriden. AFAIK there are two overriding pathes, one is devtools and another is 
RenderFrameImpl::UserAgentOverride.

Probably we can stop attaching the user-agent header when it's not overriden, and that will solve this specific issue. That said, the user-agent string is exposed in other ways (navigator.userAgent for example), so I think we need the string in renderer in any way.


My proposal is getting the user agent string in the browser process and copying it to the renderer over mojo. What do you think?
I agree when it's overridden, we should attach it, but those sound like exceptional cases.  The main concern about attaching it is that headers typically take up a lot of memory, and we start rejecting requests when they take up too much - not passing around unnecessary headers at least slightly reduces the chance of that happening.

Having the user agent come from one single place sound great to me.  I' assume we'd also removing GetUserAgent() from chrome_content_client.cc from chrome/common and move it to chrome/browser somewhere.
Project Member

Comment 18 by bugdroid1@chromium.org, May 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8199e09d56eb19bb37eff8339c6ca81c2f60c8cf

commit 8199e09d56eb19bb37eff8339c6ca81c2f60c8cf
Author: Makoto Shimazu <shimazu@chromium.org>
Date: Fri May 11 06:03:14 2018

Create EmbeddedWorkerInstanceClient from the Render interface

This change is to create EmbeddedWorkerInstanceClient from the Renderer
interface. It used to be created from the InterfaceRegistry, but we didn't have
guarantee of IPC message orderings between StartWorker and messages onto the
Renderer interface. StartWorker needs to be run after initialization of the
renderer (crrev.com/c/1031693 will introduce SetUserAgent message), so this CL
is to put the very first IPC for the service worker, which is establishing the
Mojo connection, on the Renderer interface.

Bug:  818450 
Change-Id: I5a5d64fa9aef73ca602633b2b3664110d0a761c9
Reviewed-on: https://chromium-review.googlesource.com/1053042
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557804}
[modify] https://crrev.com/8199e09d56eb19bb37eff8339c6ca81c2f60c8cf/content/browser/service_worker/embedded_worker_instance.cc
[modify] https://crrev.com/8199e09d56eb19bb37eff8339c6ca81c2f60c8cf/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/8199e09d56eb19bb37eff8339c6ca81c2f60c8cf/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/8199e09d56eb19bb37eff8339c6ca81c2f60c8cf/content/browser/service_worker/embedded_worker_test_helper.h
[modify] https://crrev.com/8199e09d56eb19bb37eff8339c6ca81c2f60c8cf/content/common/renderer.mojom
[modify] https://crrev.com/8199e09d56eb19bb37eff8339c6ca81c2f60c8cf/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/8199e09d56eb19bb37eff8339c6ca81c2f60c8cf/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/8199e09d56eb19bb37eff8339c6ca81c2f60c8cf/content/renderer/render_thread_impl.h

Project Member

Comment 19 by bugdroid1@chromium.org, May 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4

commit b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4
Author: Yutaka Hirano <yhirano@chromium.org>
Date: Thu May 17 05:48:25 2018

Stop getting the user-agent string in renderer

It is suspected that due to sandbox a user-agent string gotten in a
renderer process is difference from that gotten in the browser process.

This CL removes the call in renderer. Instead, the value is passed from
the browser process.

This is a speculative fix. If it doesn't fix the issue, I will revert it.

Further refactoring will be done in subsequent CLs (after confirming that
this CL fixes the issue).

Bug:  818450 
Change-Id: Ie657c858f582ecdaee5c3245751068615969c890
Reviewed-on: https://chromium-review.googlesource.com/1031693
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559429}
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/browser/service_worker/embedded_worker_test_helper.cc
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/child/blink_platform_impl.cc
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/child/blink_platform_impl.h
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/common/renderer.mojom
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/public/common/content_client.h
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/public/renderer/render_thread.h
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/public/test/mock_render_thread.cc
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/public/test/mock_render_thread.h
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/renderer/render_thread_impl.h
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/b0465f7f1ab77ae73cf2dd4c0950fee51f7528d4/content/renderer/renderer_blink_platform_impl.h

Hi nemphys@, I landed a speculative fix but I cannot see if it fixes your problem as I cannot reproduce the issue. Can you verify the fix? It's available on  68.0.3434.0 and newer.
nemphys@: ping

Comment 22 by nemp...@gmail.com, May 30 2018

Downloading Chrome Dev (68.0.3440.0) on my phone right now, will check and reply.

Comment 23 by nemp...@gmail.com, May 30 2018

With the latest Chrome Dev (68.0.3440.0), both non-XHR and XHR requests seem to have the same User Agent: Android 8.1.0; ONEPLUS A5010 Build/OPM1.171019.011.

Does this mean we should consider it fixed?
Labels: -Needs-Feedback
Thank you! I think so, but I will keep this issue open for a while until I land some cleanup changes.
Project Member

Comment 25 by bugdroid1@chromium.org, Nov 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4c5c7509d418278fb0006ce64ef400c028e774ba

commit 4c5c7509d418278fb0006ce64ef400c028e774ba
Author: Yutaka Hirano <yhirano@chromium.org>
Date: Wed Nov 28 08:39:39 2018

[ServiceWorker] Stop using GetUserAgent from non-browser process

The result of ContentClient::GetUserAgent is known to be incorrect in
the renderer process, so get the value in the browser and pass it via
IPC.

Bug:  818450 
Change-Id: Ia1af4c237b9d63059c634cd0bbb41ab53436b8cd
Reviewed-on: https://chromium-review.googlesource.com/c/1352119
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611599}
[modify] https://crrev.com/4c5c7509d418278fb0006ce64ef400c028e774ba/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/4c5c7509d418278fb0006ce64ef400c028e774ba/content/common/service_worker/embedded_worker.mojom
[modify] https://crrev.com/4c5c7509d418278fb0006ce64ef400c028e774ba/content/renderer/service_worker/embedded_worker_instance_client_impl.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Nov 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/09142d5973cdfa57808b20e4acbaf35e700582b2

commit 09142d5973cdfa57808b20e4acbaf35e700582b2
Author: Yutaka Hirano <yhirano@chromium.org>
Date: Fri Nov 30 05:30:56 2018

[Printing] Stop using GetUserAgent from non-browser process

Using GetUserAgent in a sandboxed process results in a wrong value, so
get the string in the browser process and pass it to other processes.

Bug:  818450 
Change-Id: Ic8a0ca4c602617f9444bcb23327eda46b560c1b5
Reviewed-on: https://chromium-review.googlesource.com/c/1353052
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612575}
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/chrome/browser/printing/printing_init.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/chrome/renderer/chrome_content_renderer_client.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/chrome/renderer/chrome_content_renderer_client.h
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/chrome/utility/chrome_content_utility_client.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/printing/browser/print_composite_client.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/printing/browser/print_composite_client.h
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/printing/browser/print_manager_utils.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/printing/browser/print_manager_utils.h
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/services/pdf_compositor/pdf_compositor_impl.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/services/pdf_compositor/pdf_compositor_impl.h
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/services/pdf_compositor/pdf_compositor_impl_unittest.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/services/pdf_compositor/pdf_compositor_service.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/services/pdf_compositor/pdf_compositor_service.h
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/services/pdf_compositor/pdf_compositor_service_unittest.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/services/pdf_compositor/public/cpp/pdf_compositor_service_factory.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/services/pdf_compositor/public/cpp/pdf_compositor_service_factory.h
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/components/services/pdf_compositor/public/interfaces/pdf_compositor.mojom
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/content/public/renderer/content_renderer_client.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/content/public/renderer/content_renderer_client.h
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/09142d5973cdfa57808b20e4acbaf35e700582b2/headless/lib/utility/headless_content_utility_client.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Dec 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/968d6254e1d7044912286c5b0b4e4847bf3790a8

commit 968d6254e1d7044912286c5b0b4e4847bf3790a8
Author: Yutaka Hirano <yhirano@chromium.org>
Date: Tue Dec 04 05:09:31 2018

Move GetUserAgent from ContentClient to ContentBrowserClient

Getting a user-agent string in a sandboxed process results in a wrong
value, so move GetUserAgent and GetProduct functions from ContentClient
to ContentBrowserClient.

Bug:  818450 
Change-Id: I611228e8966c13b6429726fbf77302a32108f7d2
Reviewed-on: https://chromium-review.googlesource.com/c/1352086
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: Sergey Poromov <poromov@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613420}
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/android_webview/browser/aw_content_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/android_webview/browser/aw_safe_browsing_ui_manager.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/android_webview/common/aw_content_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/android_webview/common/aw_content_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/android/content/content_utils.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/android/download/download_controller_base.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/android/download/intercept_oma_download_navigation_throttle.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/autofill/risk_util.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/chrome_content_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/chrome_content_browser_client_unittest.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/extensions/chrome_extensions_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/extensions/chrome_extensions_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/invalidation/deprecated_profile_invalidation_provider_factory.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/media/android/remote/remote_media_player_manager.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/media/router/providers/cast/chrome_cast_message_handler.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/net/network_context_configuration_browsertest.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/net/system_network_context_manager.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/printing/printing_init.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/profile_resetter/resettable_settings_snapshot.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/ui/webui/settings/about_handler.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/browser/ui/webui/version_ui.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/common/chrome_content_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/common/chrome_content_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/common/chrome_content_client_unittest.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/common/extensions/chrome_extensions_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chrome/common/extensions/chrome_extensions_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chromecast/browser/cast_content_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chromecast/browser/cast_content_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chromecast/browser/extensions/cast_extensions_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chromecast/browser/extensions/cast_extensions_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chromecast/common/cast_content_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chromecast/common/cast_content_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chromecast/common/cast_extensions_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/chromecast/common/cast_extensions_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/devtools/devtools_http_handler.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/devtools/protocol/browser_handler.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/gpu/gpu_internals_ui.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/media/android/browser_media_player_manager.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/media/android/media_player_renderer.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/service_worker/service_worker_version.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/browser/tracing/tracing_controller_impl.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/public/browser/content_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/public/common/content_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/public/common/content_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/shell/browser/shell_content_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/shell/browser/shell_content_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/shell/browser/shell_url_request_context_getter.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/shell/common/shell_content_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/shell/common/shell_content_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/test/test_content_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/test/test_content_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/test/test_content_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/content/test/test_content_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/browser/api/feedback_private/feedback_service.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/browser/extensions_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/browser/extensions_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/common/extensions_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/common/extensions_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/BUILD.gn
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/browser/shell_content_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/browser/shell_content_browser_client.h
[rename] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/browser/shell_content_browser_client_unittest.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/browser/shell_extensions_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/browser/shell_extensions_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/common/shell_content_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/common/shell_content_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/common/shell_extensions_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/extensions/shell/common/shell_extensions_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/headless/lib/browser/headless_content_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/headless/lib/browser/headless_content_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/headless/lib/headless_content_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/headless/lib/headless_content_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/headless/lib/headless_content_main_delegate.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/webrunner/browser/DEPS
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/webrunner/browser/webrunner_content_browser_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/webrunner/browser/webrunner_content_browser_client.h
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/webrunner/common/DEPS
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/webrunner/common/webrunner_content_client.cc
[modify] https://crrev.com/968d6254e1d7044912286c5b0b4e4847bf3790a8/webrunner/common/webrunner_content_client.h

Status: Fixed (was: Assigned)
Done!

Sign in to add a comment