New issue
Advanced search Search tips

Issue 719108 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Feature


Sign in to add a comment

Expose RTT, bandwidth and effective connection type estimates using NetInfo JS API

Project Member Reported by tbansal@chromium.org, May 6 2017

Issue description

Expose RTT, bandwidth and effective connection type estimates using NetInfo JS API. As we speak, the NetInfo spec is in the process of being updated.
 

Comment 1 Deleted

Comment 2 Deleted

Cc: igrigo...@chromium.org
Labels: SpeedTransparency
Blockedon: 719511

Comment 5 by bengr@chromium.org, May 8 2017

Labels: -Type-Bug -Pri-3 M-60 OS-All Pri-2 Type-Feature
Labels: -Pri-2 Pri-1
Status: Started (was: Assigned)

Comment 8 by bengr@chromium.org, May 12 2017

For posterity, please add links to relevant docs.
Blockedon: 717278
This was linked for web-platform-tests from the Intent to Ship on blink-dev. Is this API possible to write meaningful shared tests for, or is the heuristic entirely UA-defined so that no behavior can be ruled out and cause a test failure?
Project Member

Comment 12 by bugdroid1@chromium.org, May 22 2017

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

commit 99d8aeb59f72b051b8f4b4af8a55b54c22dedfda
Author: tbansal <tbansal@chromium.org>
Date: Mon May 22 19:12:58 2017

Expose RTT and downlink bandwidth using experimental Javascript API

Initial draft spec is here: https://cdn.rawgit.com/WICG/netinfo/ect/index.html

The API is runtime enabled feature, and is currently set to
"experimental".

This CL only implements "rtt" and "downlink" attributes. "ect" and
callback (when there is a change in network quality) will be
implemented in forthcoming CLs.

BUG= 719108 

Review-Url: https://codereview.chromium.org/2863973003
Cr-Commit-Position: refs/heads/master@{#473649}

[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/content/browser/net/network_quality_observer_impl.cc
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/content/browser/net_info_browsertest.cc
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/content/common/renderer.mojom
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/content/renderer/render_thread_impl.h
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/content/test/data/net_info.html
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/net/nqe/network_quality_estimator.h
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/net/nqe/network_quality_estimator_test_util.cc
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/net/nqe/network_quality_estimator_test_util.h
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/fast/dom/Window/resources/window-property-collector.js
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/netinfo/basic-operation-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/netinfo/basic-operation.html
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/Source/core/frame/UseCounter.h
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/Source/modules/netinfo/NetworkInformation.cpp
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/Source/modules/netinfo/NetworkInformation.h
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/Source/modules/netinfo/NetworkInformation.idl
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/Source/platform/exported/WebNetworkStateNotifier.cpp
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/Source/platform/network/NetworkStateNotifier.cpp
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/Source/platform/network/NetworkStateNotifier.h
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/Source/platform/network/NetworkStateNotifierTest.cpp
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/public/platform/DEPS
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/third_party/WebKit/public/platform/WebNetworkStateNotifier.h
[modify] https://crrev.com/99d8aeb59f72b051b8f4b4af8a55b54c22dedfda/tools/metrics/histograms/enums.xml

> Is this API possible to write meaningful shared tests for, or is the heuristic entirely UA-defined so that no behavior can be ruled out and cause a test failure?

I think there are some cases we can test, like what is reported when there is no connectivity, plus other edge cases. Otherwise, I do think we want to keep the behavior as UA-defined and allow for flexibility.. Tarun, WDYT?
Blockedon: 725282
Re#13: yes, that sounds about right. The estimation algorithm is UA dependent, but we can check for certain high level conditions (e.g., if the device is connected to a network, then the estimates should be in a valid range).
Blockedon: 726762
Blockedon: 727285
Project Member

Comment 18 by bugdroid1@chromium.org, Jun 6 2017

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

commit b11d7ccc96b8092074b85b884337a4bfe7e7723c
Author: tbansal <tbansal@chromium.org>
Date: Tue Jun 06 21:34:51 2017

NetInfo external Web LayoutTest

The tests verify whether different NetInfo attributes are enabled.

BUG= 719108 

Review-Url: https://codereview.chromium.org/2908103002
Cr-Commit-Position: refs/heads/master@{#477415}

[add] https://crrev.com/b11d7ccc96b8092074b85b884337a4bfe7e7723c/third_party/WebKit/LayoutTests/external/wpt/netinfo/netinfo-basics.html

Project Member

Comment 19 by bugdroid1@chromium.org, Jun 7 2017

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

commit ae909c654a05c690b8d37d035b392e83363c6d25
Author: tbansal <tbansal@chromium.org>
Date: Wed Jun 07 14:33:31 2017

Add test names for NetInfo tests

BUG= 719108 

Review-Url: https://codereview.chromium.org/2926103002
Cr-Commit-Position: refs/heads/master@{#477636}

[modify] https://crrev.com/ae909c654a05c690b8d37d035b392e83363c6d25/third_party/WebKit/LayoutTests/external/wpt/netinfo/netinfo-basics.html

Blockedon: 727786
Blocking: 723068
Blockedon: 731797
Blockedon: 756029
Labels: -M-60 M-61
Components: Internals>Network>NetInfo
Status: Fixed (was: Started)

Sign in to add a comment