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

Side by Side Diff: chrome/browser/chromeos/cros/network_library.cc

Issue 7633046: Fix VPN icon issues (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix mock expectations. Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/cros/network_library.h" 5 #include "chrome/browser/chromeos/cros/network_library.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 10
(...skipping 1807 matching lines...) Expand 10 before | Expand all | Expand 10 after
1818 } 1818 }
1819 1819
1820 void NetworkLibraryImplBase::RemoveUserActionObserver( 1820 void NetworkLibraryImplBase::RemoveUserActionObserver(
1821 UserActionObserver* observer) { 1821 UserActionObserver* observer) {
1822 user_action_observers_.RemoveObserver(observer); 1822 user_action_observers_.RemoveObserver(observer);
1823 } 1823 }
1824 1824
1825 // Use flimflam's ordering of the services to determine which type of 1825 // Use flimflam's ordering of the services to determine which type of
1826 // network to return (i.e. don't assume priority of network types). 1826 // network to return (i.e. don't assume priority of network types).
1827 // Note: This does not include any virtual networks. 1827 // Note: This does not include any virtual networks.
1828 namespace {
1829 Network* highest_priority(Network* a, Network*b) {
1830 if (!a)
1831 return b;
1832 if (!b)
1833 return a;
1834 if (b->priority_order() < a->priority_order())
1835 return b;
1836 return a;
1837 }
1838 }
1839
1828 const Network* NetworkLibraryImplBase::active_network() const { 1840 const Network* NetworkLibraryImplBase::active_network() const {
1829 Network* result = NULL; 1841 Network* result = NULL;
1830 if (ethernet_ && ethernet_->is_active()) 1842 if (ethernet_ && ethernet_->is_active())
1831 result = ethernet_; 1843 result = ethernet_;
1832 if ((active_wifi_ && active_wifi_->is_active()) && 1844 if (active_wifi_ && active_wifi_->is_active())
1833 (!result || 1845 result = highest_priority(result, active_wifi_);
1834 active_wifi_->priority_order_ < result->priority_order_)) 1846 if (active_cellular_ && active_cellular_->is_active())
1835 result = active_wifi_; 1847 result = highest_priority(result, active_cellular_);
1836 if ((active_cellular_ && active_cellular_->is_active()) && 1848 if (active_virtual_ && active_virtual_->is_active())
1837 (!result || 1849 result = highest_priority(result, active_virtual_);
1838 active_cellular_->priority_order_ < result->priority_order_))
1839 result = active_cellular_;
1840 return result; 1850 return result;
1841 } 1851 }
1842 1852
1843 const Network* NetworkLibraryImplBase::connected_network() const { 1853 const Network* NetworkLibraryImplBase::connected_network() const {
1844 Network* result = NULL; 1854 Network* result = NULL;
1845 if (ethernet_ && ethernet_->connected()) 1855 if (ethernet_ && ethernet_->connected())
1846 result = ethernet_; 1856 result = ethernet_;
1847 if ((active_wifi_ && active_wifi_->connected()) && 1857 if (active_wifi_ && active_wifi_->connected())
1848 (!result || 1858 result = highest_priority(result, active_wifi_);
1849 active_wifi_->priority_order_ < result->priority_order_)) 1859 if (active_cellular_ && active_cellular_->connected())
1850 result = active_wifi_; 1860 result = highest_priority(result, active_cellular_);
1851 if ((active_cellular_ && active_cellular_->connected()) &&
1852 (!result ||
1853 active_cellular_->priority_order_ < result->priority_order_))
1854 result = active_cellular_;
1855 return result; 1861 return result;
1856 } 1862 }
1857 1863
1858 // Connecting order in logical prefernce. 1864 // Connecting order in logical prefernce.
1859 const Network* NetworkLibraryImplBase::connecting_network() const { 1865 const Network* NetworkLibraryImplBase::connecting_network() const {
1860 if (ethernet_connecting()) 1866 if (ethernet_connecting())
1861 return ethernet_network(); 1867 return ethernet_network();
1862 else if (wifi_connecting()) 1868 else if (wifi_connecting())
1863 return wifi_network(); 1869 return wifi_network();
1864 else if (cellular_connecting()) 1870 else if (cellular_connecting())
(...skipping 2729 matching lines...) Expand 10 before | Expand all | Expand 10 after
4594 return network_library; 4600 return network_library;
4595 } 4601 }
4596 4602
4597 ///////////////////////////////////////////////////////////////////////////// 4603 /////////////////////////////////////////////////////////////////////////////
4598 4604
4599 } // namespace chromeos 4605 } // namespace chromeos
4600 4606
4601 // Allows InvokeLater without adding refcounting. This class is a Singleton and 4607 // Allows InvokeLater without adding refcounting. This class is a Singleton and
4602 // won't be deleted until it's last InvokeLater is run. 4608 // won't be deleted until it's last InvokeLater is run.
4603 DISABLE_RUNNABLE_METHOD_REFCOUNT(chromeos::NetworkLibraryImplBase); 4609 DISABLE_RUNNABLE_METHOD_REFCOUNT(chromeos::NetworkLibraryImplBase);
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/cros/network_library.h ('k') | chrome/browser/chromeos/network_login_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698