New issue
Advanced search Search tips

Issue 826950 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 11
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug

Blocked on:
issue 835333
issue 838364



Sign in to add a comment

Add network quality client hints

Project Member Reported by tbansal@chromium.org, Mar 28 2018

Issue description

blink-dev i2i:
https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/tbansal/blink-dev/TS9zT_u2M4k/cuxQfRjGCQAJ

Add 3 new client hints: "rtt", "downlink", "ect".

The client hints should expose the same information as the corresponding JavaScript NetInfo API.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 30 2018

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

commit 6db43b59571b8c38ce7dba4586801c0369361c27
Author: Tarun Bansal <tbansal@chromium.org>
Date: Fri Mar 30 17:31:40 2018

Move some of the NetInfo API methods to NetworkStateNotifier.

Move some of the methods from modules/netinfo/NetworkInformation.h
to platform/network/NetworkStateNotifier.h.

These methods would be called in FrameFetchContext.h when
attaching network quality client hints to the requests.

This CL introduces no functional change.

Change-Id: Ib2772665b656da5d2280183c6d80e5cdce34a3fc
Bug:  826950 
Reviewed-on: https://chromium-review.googlesource.com/982823
Reviewed-by: Josh Karlin <jkarlin@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547200}
[modify] https://crrev.com/6db43b59571b8c38ce7dba4586801c0369361c27/third_party/WebKit/Source/modules/netinfo/NetworkInformation.cpp
[modify] https://crrev.com/6db43b59571b8c38ce7dba4586801c0369361c27/third_party/WebKit/Source/modules/netinfo/NetworkInformation.h
[modify] https://crrev.com/6db43b59571b8c38ce7dba4586801c0369361c27/third_party/WebKit/Source/platform/network/NetworkStateNotifier.cpp
[modify] https://crrev.com/6db43b59571b8c38ce7dba4586801c0369361c27/third_party/WebKit/Source/platform/network/NetworkStateNotifier.h

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 6 2018

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

commit f9cf989a177a50b431af10f6963ce02f251e2592
Author: Tarun Bansal <tbansal@chromium.org>
Date: Fri Apr 06 04:38:01 2018

Refactor of client hints

* Refactor of the browser test code to make it easier
to add new client hints without repetitve code
* Move the effective connection type names to a common
folder so they can also be accessed from
chrome/browser. This is necessary since we need
to add ECT client hint in the next CL on navigation
requests in chrome/browser.

This CL does not make any functional changes.

Bug:  826950 
Change-Id: I7c854fae84738b8d0edece6c6ffd27abcc43bfbc
Reviewed-on: https://chromium-review.googlesource.com/996925
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548670}
[modify] https://crrev.com/f9cf989a177a50b431af10f6963ce02f251e2592/chrome/browser/client_hints/client_hints.cc
[modify] https://crrev.com/f9cf989a177a50b431af10f6963ce02f251e2592/chrome/browser/client_hints/client_hints_browsertest.cc
[modify] https://crrev.com/f9cf989a177a50b431af10f6963ce02f251e2592/content/renderer/effective_connection_type_helper.cc
[modify] https://crrev.com/f9cf989a177a50b431af10f6963ce02f251e2592/third_party/WebKit/Source/platform/network/NetworkStateNotifier.cpp
[modify] https://crrev.com/f9cf989a177a50b431af10f6963ce02f251e2592/third_party/WebKit/common/client_hints/client_hints.cc
[modify] https://crrev.com/f9cf989a177a50b431af10f6963ce02f251e2592/third_party/WebKit/public/common/client_hints/client_hints.h

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 6 2018

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

commit 7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5
Author: Tarun Bansal <tbansal@chromium.org>
Date: Fri Apr 06 22:37:47 2018

Add three network quality client hints

Three network quality client hints are being added:
rtt, downlink, ect.
All three of them are currently runtime disabled.

Currently, when adding network quality client hints to
the navigation requests, no noise is added to the RTT
and downlink network quality client hints.

The next CL will add logic of adding host specific noise to
RTT and downlink network quality hints in
c/b/client_hints/client_hints.cc.

Change-Id: Ic87a98118a4c99df4e46853a3d4d2dcb8f2ed211
Bug:  826950 
Reviewed-on: https://chromium-review.googlesource.com/991089
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548951}
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/chrome/browser/client_hints/client_hints.cc
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/chrome/browser/client_hints/client_hints_browsertest.cc
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/chrome/test/data/client_hints/accept_ch_with_lifetime.html.mock-http-headers
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/chrome/test/data/client_hints/accept_ch_without_lifetime.html.mock-http-headers
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/chrome/test/data/client_hints/accept_ch_without_lifetime_img_localhost.html.mock-http-headers
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/Source/core/loader/FrameFetchContextTest.cpp
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/Source/core/loader/private/FrameClientHintsPreferencesContext.cpp
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/Source/platform/loader/fetch/ClientHintsPreferences.cpp
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/Source/platform/loader/fetch/ClientHintsPreferencesTest.cpp
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/Source/platform/network/NetworkStateNotifier.h
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/Source/platform/runtime_enabled_features.json5
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/common/client_hints/client_hints.cc
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/public/platform/web_client_hints_types.mojom
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/third_party/WebKit/public/platform/web_feature.mojom
[modify] https://crrev.com/7f3fe8cc08dcee50fe0fb993718c6fd11a78b5f5/tools/metrics/histograms/enums.xml

Description: Show this description
Blockedon: 835333
Blockedon: 838364
Project Member

Comment 8 by bugdroid1@chromium.org, Jul 11

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

commit 4198cf93f0d244c1dc9cf16c61b25b453471f22f
Author: Tarun Bansal <tbansal@chromium.org>
Date: Wed Jul 11 06:35:23 2018

Enable netinfo client hints header

blink-dev approval thread: https://groups.google.com/a/chromium.org/d/msg/blink-dev/G_rkd0yo2AM/WaVhRALcAQAJ

Bug:  826950 
Change-Id: If511883b7428f30136642302862b51f14ffe4894
Reviewed-on: https://chromium-review.googlesource.com/1132612
Reviewed-by: Yoav Weiss <yoav@yoav.ws>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574091}
[modify] https://crrev.com/4198cf93f0d244c1dc9cf16c61b25b453471f22f/chrome/browser/client_hints/client_hints_browsertest.cc
[modify] https://crrev.com/4198cf93f0d244c1dc9cf16c61b25b453471f22f/third_party/blink/renderer/platform/runtime_enabled_features.json5

Labels: -M-68 M-69
Status: Fixed (was: Started)
Project Member

Comment 10 by bugdroid1@chromium.org, Oct 16

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

commit 57a35779a1ebd39ea8214585e99ebbfa9363be4e
Author: Tarun Bansal <tbansal@chromium.org>
Date: Tue Oct 16 15:38:53 2018

Enable client hints header by default

These have been in stable since M-69.

Change-Id: Iedd7df0ef4941ba85423c79610ec22c10d567357
Bug:  826950 
Reviewed-on: https://chromium-review.googlesource.com/c/1203316
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599996}
[modify] https://crrev.com/57a35779a1ebd39ea8214585e99ebbfa9363be4e/third_party/blink/renderer/platform/loader/fetch/client_hints_preferences.cc
[modify] https://crrev.com/57a35779a1ebd39ea8214585e99ebbfa9363be4e/third_party/blink/renderer/platform/runtime_enabled_features.json5

Sign in to add a comment