Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(279)

Issue 23712002: Cleanup network type matching. (Closed)

Created:
7 years, 3 months ago by pneubeck (no reviews)
Modified:
7 years, 3 months ago
Reviewers:
xiyuan, stevenjb, justinlin
CC:
chromium-reviews, dbeam+watch-options_chromium.org, extensions-reviews_chromium.org, cbentzel+watch_chromium.org, sadrul, nkostylev+watch_chromium.org, ben+watch_chromium.org, tburkard+watch_chromium.org, gspencer+watch_chromium.org, gauravsh+watch_chromium.org, gavinp+prer_chromium.org, dominich+watch_chromium.org, oshima+watch_chromium.org, chromium-apps-reviews_chromium.org, stevenjb+watch_chromium.org, davemoore+watch_chromium.org
Visibility:
Public.

Description

Cleanup network type matching. Before, both concrete network types (like Wimax) and type patterns (like Mobile) were represented as strings. In some cases, a variable could be both a concrete type or a pattern and was compared to another pattern. This is hard to read and operands of the comparison can easily be swapped by mistake. Implementing the comparison of patterns didn't scale. This change adds a new class that encapsulates network type patterns and represents them internally as a more scalable bit vector. It's now explicit which functions accept a type pattern as an argument. This also adds support for Shill's network type kEthernetEap. BUG=126870 (API change, used in chrome/browser/ui/webui/{chromeos,help}) TBR=xiyuan@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=222620

Patch Set 1 #

Total comments: 10

Patch Set 2 : Generalized network type matching. #

Total comments: 13

Patch Set 3 : Addressed Steven's comments. #

Patch Set 4 : Added unit tests and rebased. #

Total comments: 9

Patch Set 5 : Addressed comments. #

Patch Set 6 : Rebased on NetworkStateHandler fix. #

Patch Set 7 : EthernetEap is not connectable, remove some of it's occurrences. #

Patch Set 8 : Fixed unit test in Debug. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+642 lines, -321 lines) Patch
M ash/system/chromeos/network/network_connect.h View 1 2 chunks +7 lines, -2 lines 0 comments Download
M ash/system/chromeos/network/network_connect.cc View 1 2 3 4 5 6 7 4 chunks +6 lines, -4 lines 0 comments Download
M ash/system/chromeos/network/network_icon.cc View 1 2 3 4 5 6 7 11 chunks +26 lines, -28 lines 0 comments Download
M ash/system/chromeos/network/network_state_list_detailed_view.h View 1 2 chunks +5 lines, -1 line 0 comments Download
M ash/system/chromeos/network/network_state_list_detailed_view.cc View 1 12 chunks +31 lines, -29 lines 0 comments Download
M ash/system/chromeos/network/network_state_notifier.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M ash/system/chromeos/network/tray_network.cc View 1 2 5 chunks +11 lines, -8 lines 0 comments Download
M ash/system/chromeos/network/tray_vpn.cc View 1 4 chunks +6 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/extensions/info_private_api.cc View 1 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/chromeos/login/auth_prewarmer.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/login/helper.cc View 1 3 chunks +9 lines, -9 lines 0 comments Download
M chrome/browser/chromeos/login/proxy_settings_dialog.cc View 1 2 chunks +6 lines, -5 lines 0 comments Download
M chrome/browser/chromeos/mobile/mobile_activator.cc View 1 2 3 4 5 6 7 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc View 1 2 chunks +4 lines, -1 line 0 comments Download
M chrome/browser/chromeos/prerender_condition_network.cc View 1 2 chunks +3 lines, -6 lines 0 comments Download
M chrome/browser/chromeos/settings/device_settings_provider.cc View 1 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/status/network_menu.cc View 1 2 3 4 5 12 chunks +19 lines, -16 lines 0 comments Download
M chrome/browser/chromeos/system/ash_system_tray_delegate.cc View 1 2 3 4 5 6 7 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/extensions/api/dial/dial_service.h View 1 1 chunk +0 lines, -6 lines 0 comments Download
M chrome/browser/extensions/api/dial/dial_service.cc View 1 2 3 4 3 chunks +34 lines, -21 lines 0 comments Download
M chrome/browser/ui/webui/chromeos/choose_mobile_network_ui.cc View 1 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/ui/webui/chromeos/sim_unlock_ui.cc View 1 3 chunks +7 lines, -4 lines 0 comments Download
M chrome/browser/ui/webui/help/help_utils_chromeos.cc View 1 2 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc View 1 2 3 4 5 6 7 16 chunks +47 lines, -50 lines 0 comments Download
M chromeos/chromeos.gyp View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M chromeos/network/managed_state.h View 1 2 chunks +4 lines, -1 line 0 comments Download
M chromeos/network/managed_state.cc View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M chromeos/network/network_change_notifier_chromeos.cc View 1 2 3 4 2 chunks +2 lines, -1 line 0 comments Download
M chromeos/network/network_state_handler.h View 1 9 chunks +26 lines, -30 lines 0 comments Download
M chromeos/network/network_state_handler.cc View 1 2 3 4 5 6 7 13 chunks +40 lines, -62 lines 0 comments Download
M chromeos/network/network_state_handler_unittest.cc View 1 2 4 chunks +38 lines, -22 lines 0 comments Download
M chromeos/network/shill_property_handler_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download
M chromeos/network/shill_property_util.h View 1 2 3 1 chunk +49 lines, -0 lines 0 comments Download
M chromeos/network/shill_property_util.cc View 1 2 3 4 5 6 7 1 chunk +135 lines, -0 lines 0 comments Download
A chromeos/network/shill_property_util_unittest.cc View 1 2 3 4 1 chunk +102 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (0 generated)
pneubeck (no reviews)
7 years, 3 months ago (2013-08-28 15:15:11 UTC) #1
stevenjb
https://codereview.chromium.org/23712002/diff/1/chrome/browser/chromeos/prerender_condition_network.cc File chrome/browser/chromeos/prerender_condition_network.cc (right): https://codereview.chromium.org/23712002/diff/1/chrome/browser/chromeos/prerender_condition_network.cc#newcode25 chrome/browser/chromeos/prerender_condition_network.cc:25: if (default_network->IsTypeEthernet() || type == flimflam::kTypeWifi) I think this ...
7 years, 3 months ago (2013-08-28 15:51:29 UTC) #2
pneubeck (no reviews)
PTAL I changed the kMatchType* constants to a new NetworkTypePattern class, in particular to avoid ...
7 years, 3 months ago (2013-09-02 20:41:21 UTC) #3
pneubeck (no reviews)
@Justin, please take a look at dial_service.* I changed the order of Wifi and Ethernet ...
7 years, 3 months ago (2013-09-03 07:51:22 UTC) #4
stevenjb
https://codereview.chromium.org/23712002/diff/44001/ash/system/chromeos/network/network_connect.cc File ash/system/chromeos/network/network_connect.cc (right): https://codereview.chromium.org/23712002/diff/44001/ash/system/chromeos/network/network_connect.cc#newcode308 ash/system/chromeos/network/network_connect.cc:308: if (technology.Matches(flimflam::kTypeCellular)) { This should be technology.Matches(NetworkTypePattern::Mobile()) https://codereview.chromium.org/23712002/diff/44001/ash/system/chromeos/network/network_icon.cc File ...
7 years, 3 months ago (2013-09-03 16:22:43 UTC) #5
justinlin
thanks for the cleanup! dial_service.cc lgtm https://codereview.chromium.org/23712002/diff/44001/chrome/browser/extensions/api/dial/dial_service.cc File chrome/browser/extensions/api/dial/dial_service.cc (right): https://codereview.chromium.org/23712002/diff/44001/chrome/browser/extensions/api/dial/dial_service.cc#newcode130 chrome/browser/extensions/api/dial/dial_service.cc:130: if (bind_ip_address.size() != ...
7 years, 3 months ago (2013-09-03 17:15:57 UTC) #6
pneubeck (no reviews)
https://codereview.chromium.org/23712002/diff/44001/ash/system/chromeos/network/network_connect.cc File ash/system/chromeos/network/network_connect.cc (right): https://codereview.chromium.org/23712002/diff/44001/ash/system/chromeos/network/network_connect.cc#newcode308 ash/system/chromeos/network/network_connect.cc:308: if (technology.Matches(flimflam::kTypeCellular)) { On 2013/09/03 16:22:43, stevenjb (chromium) wrote: ...
7 years, 3 months ago (2013-09-04 12:57:28 UTC) #7
stevenjb
LGTM w/ minor comments https://codereview.chromium.org/23712002/diff/80001/chrome/browser/extensions/api/dial/dial_service.cc File chrome/browser/extensions/api/dial/dial_service.cc (right): https://codereview.chromium.org/23712002/diff/80001/chrome/browser/extensions/api/dial/dial_service.cc#newcode124 chrome/browser/extensions/api/dial/dial_service.cc:124: ->ConnectedNetworkByType(type); Is this from clang-format? ...
7 years, 3 months ago (2013-09-04 20:40:38 UTC) #8
pneubeck (no reviews)
The browser/interactive_ui tests failed because NetworkStateHandler propagated NetworkState with empty type(). I'll fix that in ...
7 years, 3 months ago (2013-09-05 08:28:34 UTC) #9
stevenjb
https://codereview.chromium.org/23712002/diff/80001/chromeos/network/shill_property_util_unittest.cc File chromeos/network/shill_property_util_unittest.cc (right): https://codereview.chromium.org/23712002/diff/80001/chromeos/network/shill_property_util_unittest.cc#newcode61 chromeos/network/shill_property_util_unittest.cc:61: EXPECT_TRUE(MatchesPattern(wireless_, cellular_)); On 2013/09/05 08:28:34, pneubeck wrote: > On ...
7 years, 3 months ago (2013-09-05 17:17:22 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pneubeck@chromium.org/23712002/77001
7 years, 3 months ago (2013-09-09 09:53:45 UTC) #11
commit-bot: I haz the power
Failed to apply patch for chromeos/network/network_state_handler.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 3 months ago (2013-09-09 09:53:58 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pneubeck@chromium.org/23712002/100001
7 years, 3 months ago (2013-09-11 07:59:40 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pneubeck@chromium.org/23712002/100001
7 years, 3 months ago (2013-09-11 08:06:30 UTC) #14
commit-bot: I haz the power
Retried try job too often on linux_chromeos for step(s) chromeos_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_chromeos&number=153341
7 years, 3 months ago (2013-09-11 09:12:07 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pneubeck@chromium.org/23712002/129001
7 years, 3 months ago (2013-09-11 09:40:02 UTC) #16
commit-bot: I haz the power
Retried try job too often on win7_aura for step(s) interactive_ui_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win7_aura&number=77651
7 years, 3 months ago (2013-09-11 12:43:57 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pneubeck@chromium.org/23712002/129001
7 years, 3 months ago (2013-09-11 16:48:25 UTC) #18
commit-bot: I haz the power
7 years, 3 months ago (2013-09-11 20:38:06 UTC) #19
Message was sent while issue was closed.
Change committed as 222620

Powered by Google App Engine
This is Rietveld 408576698