Currently, the device-memory client hints header is attached in the Blink in the renderer process. However, when browser side navigation is enabled, then main frame navigation requests are sent over the network in the browser process itself. So, a way is needed to attach the device-memory header in the browser process.
This would require some refactor:
1. Move the logic to determine the memory size from third_party/WebKit/Source/platform/MemoryCoordinator.cpp to third_party/WebKit/common/ so it can be accessed from chrome/browser.
2. Add logic in chrome/browser/chrome_content_browser_client.cc to attach headers based on persistent client hints. This would be called from
content/browser/frame_host/navigation_request.cc.
Comment 1 by bugdroid1@chromium.org
, Sep 13 2017