summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-20 00:05:54 +0000
committereroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-20 00:05:54 +0000
commit051b74fdf31cb369f0f16811bc58d425a9c3dd04 (patch)
treed43dde42112978714b94d1bd668b79cb2758db4d
parent2a9d601b66de546afaaa4f5aedaf2c26bfb21020 (diff)
downloadchromium_src-051b74fdf31cb369f0f16811bc58d425a9c3dd04.zip
chromium_src-051b74fdf31cb369f0f16811bc58d425a9c3dd04.tar.gz
chromium_src-051b74fdf31cb369f0f16811bc58d425a9c3dd04.tar.bz2
Revert 63135 - Update icons to show lowdata and very lowdata for 3G data.
Seems to be repsonsible for a compile failure. BUG=chromium-os:5608 TEST=manual Review URL: http://codereview.chromium.org/3748005 TBR=chocobo@chromium.org Review URL: http://codereview.chromium.org/3923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63145 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/app/theme/statusbar_network_3g.pngbin2847 -> 103 bytes
-rw-r--r--chrome/app/theme/statusbar_network_3g_lowdata.pngbin103 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_3g_vlowdata.pngbin2827 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars1_lowdata.pngbin131904 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars1_vlowdata.pngbin3016 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars2_lowdata.pngbin3093 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars2_vlowdata.pngbin3093 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars3_lowdata.pngbin3095 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars3_vlowdata.pngbin3092 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars4_lowdata.pngbin3158 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars4_vlowdata.pngbin3154 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars5_lowdata.pngbin3147 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars5_vlowdata.pngbin3150 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars6_lowdata.pngbin3223 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars6_vlowdata.pngbin3214 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars7_lowdata.pngbin3203 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars7_vlowdata.pngbin3204 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars8_lowdata.pngbin3255 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars8_vlowdata.pngbin3250 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars9_lowdata.pngbin3232 -> 0 bytes
-rw-r--r--chrome/app/theme/statusbar_network_bars9_vlowdata.pngbin3228 -> 0 bytes
-rw-r--r--chrome/app/theme/theme_resources.grd20
-rw-r--r--chrome/browser/chromeos/cros/network_library.cc42
-rw-r--r--chrome/browser/chromeos/cros/network_library.h28
-rw-r--r--chrome/browser/chromeos/dom_ui/internet_options_handler.cc14
-rw-r--r--chrome/browser/chromeos/dom_ui/internet_options_handler.h3
-rw-r--r--chrome/browser/chromeos/network_message_observer.cc57
-rw-r--r--chrome/browser/chromeos/network_message_observer.h9
-rw-r--r--chrome/browser/chromeos/status/network_menu.cc101
-rw-r--r--chrome/browser/chromeos/status/network_menu.h10
-rw-r--r--chrome/browser/chromeos/status/network_menu_button.cc33
-rw-r--r--chrome/browser/chromeos/status/network_menu_button.h1
32 files changed, 100 insertions, 218 deletions
diff --git a/chrome/app/theme/statusbar_network_3g.png b/chrome/app/theme/statusbar_network_3g.png
index b276ad2..556136f 100644
--- a/chrome/app/theme/statusbar_network_3g.png
+++ b/chrome/app/theme/statusbar_network_3g.png
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_3g_lowdata.png b/chrome/app/theme/statusbar_network_3g_lowdata.png
deleted file mode 100644
index 556136f..0000000
--- a/chrome/app/theme/statusbar_network_3g_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_3g_vlowdata.png b/chrome/app/theme/statusbar_network_3g_vlowdata.png
deleted file mode 100644
index bcf46aa..0000000
--- a/chrome/app/theme/statusbar_network_3g_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars1_lowdata.png b/chrome/app/theme/statusbar_network_bars1_lowdata.png
deleted file mode 100644
index 69b6181..0000000
--- a/chrome/app/theme/statusbar_network_bars1_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars1_vlowdata.png b/chrome/app/theme/statusbar_network_bars1_vlowdata.png
deleted file mode 100644
index 5932ffd..0000000
--- a/chrome/app/theme/statusbar_network_bars1_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars2_lowdata.png b/chrome/app/theme/statusbar_network_bars2_lowdata.png
deleted file mode 100644
index a58fc13..0000000
--- a/chrome/app/theme/statusbar_network_bars2_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars2_vlowdata.png b/chrome/app/theme/statusbar_network_bars2_vlowdata.png
deleted file mode 100644
index 6817f3d..0000000
--- a/chrome/app/theme/statusbar_network_bars2_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars3_lowdata.png b/chrome/app/theme/statusbar_network_bars3_lowdata.png
deleted file mode 100644
index e36b8c6..0000000
--- a/chrome/app/theme/statusbar_network_bars3_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars3_vlowdata.png b/chrome/app/theme/statusbar_network_bars3_vlowdata.png
deleted file mode 100644
index 4e1a9038..0000000
--- a/chrome/app/theme/statusbar_network_bars3_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars4_lowdata.png b/chrome/app/theme/statusbar_network_bars4_lowdata.png
deleted file mode 100644
index 9e5bc94..0000000
--- a/chrome/app/theme/statusbar_network_bars4_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars4_vlowdata.png b/chrome/app/theme/statusbar_network_bars4_vlowdata.png
deleted file mode 100644
index 1ac34f6..0000000
--- a/chrome/app/theme/statusbar_network_bars4_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars5_lowdata.png b/chrome/app/theme/statusbar_network_bars5_lowdata.png
deleted file mode 100644
index a00a902..0000000
--- a/chrome/app/theme/statusbar_network_bars5_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars5_vlowdata.png b/chrome/app/theme/statusbar_network_bars5_vlowdata.png
deleted file mode 100644
index 67a03fa..0000000
--- a/chrome/app/theme/statusbar_network_bars5_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars6_lowdata.png b/chrome/app/theme/statusbar_network_bars6_lowdata.png
deleted file mode 100644
index dd002c8..0000000
--- a/chrome/app/theme/statusbar_network_bars6_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars6_vlowdata.png b/chrome/app/theme/statusbar_network_bars6_vlowdata.png
deleted file mode 100644
index 629ab40..0000000
--- a/chrome/app/theme/statusbar_network_bars6_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars7_lowdata.png b/chrome/app/theme/statusbar_network_bars7_lowdata.png
deleted file mode 100644
index 5ff211d..0000000
--- a/chrome/app/theme/statusbar_network_bars7_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars7_vlowdata.png b/chrome/app/theme/statusbar_network_bars7_vlowdata.png
deleted file mode 100644
index 40839fc..0000000
--- a/chrome/app/theme/statusbar_network_bars7_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars8_lowdata.png b/chrome/app/theme/statusbar_network_bars8_lowdata.png
deleted file mode 100644
index 21320fa..0000000
--- a/chrome/app/theme/statusbar_network_bars8_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars8_vlowdata.png b/chrome/app/theme/statusbar_network_bars8_vlowdata.png
deleted file mode 100644
index dff8aeb..0000000
--- a/chrome/app/theme/statusbar_network_bars8_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars9_lowdata.png b/chrome/app/theme/statusbar_network_bars9_lowdata.png
deleted file mode 100644
index 50b6489..0000000
--- a/chrome/app/theme/statusbar_network_bars9_lowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/statusbar_network_bars9_vlowdata.png b/chrome/app/theme/statusbar_network_bars9_vlowdata.png
deleted file mode 100644
index 1678f03..0000000
--- a/chrome/app/theme/statusbar_network_bars9_vlowdata.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd
index ec967bc..e7d6007 100644
--- a/chrome/app/theme/theme_resources.grd
+++ b/chrome/app/theme/theme_resources.grd
@@ -526,45 +526,25 @@
<include name="IDR_STATUSBAR_FEEDBACK_PRESSED" file="statusbar_feedback_pressed.png" type="BINDATA" />
<include name="IDR_STATUSBAR_MENU" file="statusbar_menu.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_3G" file="statusbar_network_3g.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_3G_LOWDATA" file="statusbar_network_3g_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_3G_VLOWDATA" file="statusbar_network_3g_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS0" file="statusbar_network_bars0.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS1" file="statusbar_network_bars1.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS1_BLACK" file="statusbar_network_bars1b.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS1_LOWDATA" file="statusbar_network_bars1_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS1_VLOWDATA" file="statusbar_network_bars1_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS2" file="statusbar_network_bars2.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS2_BLACK" file="statusbar_network_bars2b.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS2_LOWDATA" file="statusbar_network_bars2_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS2_VLOWDATA" file="statusbar_network_bars2_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS3" file="statusbar_network_bars3.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS3_BLACK" file="statusbar_network_bars3b.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS3_LOWDATA" file="statusbar_network_bars3_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS3_VLOWDATA" file="statusbar_network_bars3_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS4" file="statusbar_network_bars4.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS4_BLACK" file="statusbar_network_bars4b.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS4_LOWDATA" file="statusbar_network_bars4_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS4_VLOWDATA" file="statusbar_network_bars4_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS5" file="statusbar_network_bars5.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS5_BLACK" file="statusbar_network_bars5b.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS5_LOWDATA" file="statusbar_network_bars5_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS5_VLOWDATA" file="statusbar_network_bars5_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS6" file="statusbar_network_bars6.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS6_BLACK" file="statusbar_network_bars6b.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS6_LOWDATA" file="statusbar_network_bars6_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS6_VLOWDATA" file="statusbar_network_bars6_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS7" file="statusbar_network_bars7.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS7_BLACK" file="statusbar_network_bars7b.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS7_LOWDATA" file="statusbar_network_bars7_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS7_VLOWDATA" file="statusbar_network_bars7_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS8" file="statusbar_network_bars8.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS8_BLACK" file="statusbar_network_bars8b.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS8_LOWDATA" file="statusbar_network_bars8_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS8_VLOWDATA" file="statusbar_network_bars8_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS9" file="statusbar_network_bars9.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS9_BLACK" file="statusbar_network_bars9b.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS9_LOWDATA" file="statusbar_network_bars9_lowdata.png" type="BINDATA" />
- <include name="IDR_STATUSBAR_NETWORK_BARS9_VLOWDATA" file="statusbar_network_bars9_vlowdata.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_BARS_PRESSED" file="statusbar_network_bars_pressed.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_DISCONNECTED" file="statusbar_network_disconnected.png" type="BINDATA" />
<include name="IDR_STATUSBAR_NETWORK_EDGE" file="statusbar_network_edge.png" type="BINDATA" />
diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc
index 5e43c89..a5a53df 100644
--- a/chrome/browser/chromeos/cros/network_library.cc
+++ b/chrome/browser/chromeos/cros/network_library.cc
@@ -264,35 +264,6 @@ bool CellularNetwork::is_gsm() const {
network_technology_ != NETWORK_TECHNOLOGY_UNKNOWN;
}
-CellularNetwork::DataLeft CellularNetwork::data_left() const {
- if (data_plans_.empty())
- return DATA_NORMAL;
- CellularDataPlan plan = data_plans_[0];
- if (plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED) {
- int64 remaining = plan.plan_end_time - plan.update_time;
- if (remaining <= 0)
- return DATA_NONE;
- else if (remaining <= kCellularDataVeryLowSecs)
- return DATA_VERY_LOW;
- else if (remaining <= kCellularDataLowSecs)
- return DATA_LOW;
- else
- return DATA_NORMAL;
- } else if (plan.plan_type == CELLULAR_DATA_PLAN_METERED_PAID ||
- plan.plan_type == CELLULAR_DATA_PLAN_METERED_BASE) {
- int64 remaining = plan.plan_data_bytes - plan.data_bytes_used;
- if (remaining <= 0)
- return DATA_NONE;
- else if (remaining <= kCellularDataVeryLowBytes)
- return DATA_VERY_LOW;
- else if (remaining <= kCellularDataLowBytes)
- return DATA_LOW;
- else
- return DATA_NORMAL;
- }
- return DATA_NORMAL;
-}
-
std::string CellularNetwork::GetNetworkTechnologyString() const {
// No need to localize these cellular technology abbreviations.
switch (network_technology_) {
@@ -1025,9 +996,7 @@ class NetworkLibraryImpl : public NetworkLibrary {
test_plan.plan_type = CELLULAR_DATA_PLAN_METERED_PAID;
test_plan.update_time = base::Time::Now().ToInternalValue() /
base::Time::kMicrosecondsPerSecond;
- chromeos::CellularDataPlanList test_plans;
- test_plans.push_back(test_plan);
- cellular_.SetDataPlans(test_plans);
+ cellular_data_plans_.push_back(test_plan);
}
void UpdateSystemInfo() {
@@ -1086,7 +1055,9 @@ class NetworkLibraryImpl : public NetworkLibrary {
}
void NotifyCellularDataPlanChanged() {
- FOR_EACH_OBSERVER(Observer, observers_, CellularDataPlanChanged(this));
+ FOR_EACH_OBSERVER(Observer, observers_,
+ CellularDataPlanChanged(cellular_.service_path(),
+ cellular_data_plans_));
}
void UpdateNetworkStatus() {
@@ -1142,7 +1113,7 @@ class NetworkLibraryImpl : public NetworkLibrary {
}
void UpdateCellularDataPlan(const CellularDataPlanList& data_plans) {
- cellular_.SetDataPlans(data_plans);
+ cellular_data_plans_ = data_plans;
NotifyCellularDataPlanChanged();
}
@@ -1172,6 +1143,9 @@ class NetworkLibraryImpl : public NetworkLibrary {
// The current connected (or connecting) cellular network.
CellularNetwork cellular_;
+ // The data plan for the current cellular network.
+ CellularDataPlanList cellular_data_plans_;
+
// The remembered cellular networks.
CellularNetworkVector remembered_cellular_networks_;
diff --git a/chrome/browser/chromeos/cros/network_library.h b/chrome/browser/chromeos/cros/network_library.h
index 4a672d5..7f7a7b1 100644
--- a/chrome/browser/chromeos/cros/network_library.h
+++ b/chrome/browser/chromeos/cros/network_library.h
@@ -17,18 +17,6 @@
namespace chromeos {
-// Cellular network is considered low data when less than 60 minues.
-static const int kCellularDataLowSecs = 60 * 60;
-
-// Cellular network is considered low data when less than 30 minues.
-static const int kCellularDataVeryLowSecs = 30 * 60;
-
-// Cellular network is considered low data when less than 100MB.
-static const int kCellularDataLowBytes = 100 * 1024 * 1024;
-
-// Cellular network is considered very low data when less than 50MB.
-static const int kCellularDataVeryLowBytes = 50 * 1024 * 1024;
-
class Network {
public:
const std::string& service_path() const { return service_path_; }
@@ -130,13 +118,6 @@ class WirelessNetwork : public Network {
class CellularNetwork : public WirelessNetwork {
public:
- enum DataLeft {
- DATA_NORMAL,
- DATA_LOW,
- DATA_VERY_LOW,
- DATA_NONE
- };
-
CellularNetwork();
explicit CellularNetwork(const ServiceInfo& service)
: WirelessNetwork() {
@@ -169,7 +150,6 @@ class CellularNetwork : public WirelessNetwork {
const std::string& last_update() const { return last_update_; }
const unsigned int prl_version() const { return prl_version_; }
bool is_gsm() const;
- DataLeft data_left() const;
// WirelessNetwork overrides.
virtual void Clear();
@@ -179,7 +159,7 @@ class CellularNetwork : public WirelessNetwork {
return data_plans_;
}
- void SetDataPlans(const CellularDataPlanList& data_plans) {
+ void SetDataPlans(CellularDataPlanList& data_plans) {
data_plans_ = data_plans;
}
// Return a string representation of network technology.
@@ -323,7 +303,8 @@ class NetworkLibrary {
// Called when the network has changed. (wifi networks, and ethernet)
virtual void NetworkChanged(NetworkLibrary* obj) = 0;
// Called when the cellular data plan has changed.
- virtual void CellularDataPlanChanged(NetworkLibrary* obj) {}
+ virtual void CellularDataPlanChanged(const std::string& service_path,
+ const CellularDataPlanList& plans) {}
};
virtual ~NetworkLibrary() {}
@@ -407,7 +388,8 @@ class NetworkLibrary {
// Initiates cellular data plan refresh. Plan data will be passed through
// Network::Observer::CellularDataPlanChanged callback.
- virtual void RefreshCellularDataPlans(const CellularNetwork& network) = 0;
+ virtual void RefreshCellularDataPlans(
+ const CellularNetwork& network) = 0;
// Disconnect from the specified wireless (either cellular or wifi) network.
virtual void DisconnectFromWirelessNetwork(
diff --git a/chrome/browser/chromeos/dom_ui/internet_options_handler.cc b/chrome/browser/chromeos/dom_ui/internet_options_handler.cc
index b9e6fdc..c98733b 100644
--- a/chrome/browser/chromeos/dom_ui/internet_options_handler.cc
+++ b/chrome/browser/chromeos/dom_ui/internet_options_handler.cc
@@ -23,6 +23,7 @@
#include "chrome/browser/browser_window.h"
#include "chrome/browser/chromeos/cros/cros_library.h"
#include "chrome/browser/chromeos/status/network_menu.h"
+#include "chrome/browser/chromeos/network_message_observer.h"
#include "chrome/browser/dom_ui/dom_ui_util.h"
#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/browser/tab_contents/tab_contents_view.h"
@@ -325,11 +326,10 @@ void InternetOptionsHandler::NetworkChanged(chromeos::NetworkLibrary* cros) {
}
void InternetOptionsHandler::CellularDataPlanChanged(
- chromeos::NetworkLibrary* obj) {
+ const std::string& service_path,
+ const chromeos::CellularDataPlanList& plans) {
if (!dom_ui_)
return;
- const chromeos::CellularNetwork cellular = obj->cellular_network();
- const chromeos::CellularDataPlanList& plans = cellular.GetDataPlans();
DictionaryValue connection_plans;
ListValue* plan_list = new ListValue();
for (chromeos::CellularDataPlanList::const_iterator iter = plans.begin();
@@ -337,7 +337,7 @@ void InternetOptionsHandler::CellularDataPlanChanged(
++iter) {
plan_list->Append(CellularDataPlanToDictionary(*iter));
}
- connection_plans.SetString("servicePath", cellular.service_path());
+ connection_plans.SetString("servicePath", service_path);
connection_plans.Set("plans", plan_list);
dom_ui_->CallJavascriptFunction(
L"options.InternetOptions.updateCellularPlans", connection_plans);
@@ -416,7 +416,7 @@ string16 InternetOptionsHandler::GetPlanWarning(
if (time_left <= 0) {
return l10n_util::GetStringFUTF16(
IDS_NETWORK_MINUTES_REMAINING_MESSAGE, ASCIIToUTF16("0"));
- } else if (time_left <= chromeos::kCellularDataVeryLowSecs) {
+ } else if (time_left <= chromeos::kDataNearingExpirationSecs) {
return l10n_util::GetStringFUTF16(
IDS_NETWORK_MINUTES_UNTIL_EXPIRATION_MESSAGE,
UTF8ToUTF16(base::Int64ToString(time_left/60)));
@@ -428,10 +428,10 @@ string16 InternetOptionsHandler::GetPlanWarning(
if (bytes_remaining <= 0) {
return l10n_util::GetStringFUTF16(
IDS_NETWORK_DATA_REMAINING_MESSAGE, ASCIIToUTF16("0"));
- } else if (bytes_remaining <= chromeos::kCellularDataVeryLowBytes) {
+ } else if (bytes_remaining <= chromeos::kDataLowDataBytes) {
return l10n_util::GetStringFUTF16(
IDS_NETWORK_DATA_REMAINING_MESSAGE,
- UTF8ToUTF16(base::Int64ToString(bytes_remaining/(1024*1024))));
+ UTF8ToUTF16(base::Int64ToString(bytes_remaining/1024)));
}
}
return string16();
diff --git a/chrome/browser/chromeos/dom_ui/internet_options_handler.h b/chrome/browser/chromeos/dom_ui/internet_options_handler.h
index f960121..658791d 100644
--- a/chrome/browser/chromeos/dom_ui/internet_options_handler.h
+++ b/chrome/browser/chromeos/dom_ui/internet_options_handler.h
@@ -30,7 +30,8 @@ class InternetOptionsHandler : public OptionsPageUIHandler,
// NetworkLibrary::Observer implementation.
virtual void NetworkChanged(chromeos::NetworkLibrary* obj);
- virtual void CellularDataPlanChanged(chromeos::NetworkLibrary* obj);
+ virtual void CellularDataPlanChanged(const std::string& service_path,
+ const chromeos::CellularDataPlanList& plans);
private:
// Passes data needed to show details overlay for network.
diff --git a/chrome/browser/chromeos/network_message_observer.cc b/chrome/browser/chromeos/network_message_observer.cc
index 438f433..c4df580 100644
--- a/chrome/browser/chromeos/network_message_observer.cc
+++ b/chrome/browser/chromeos/network_message_observer.cc
@@ -143,16 +143,15 @@ void NetworkMessageObserver::NetworkChanged(NetworkLibrary* obj) {
CreateModalPopup(view);
}
-void NetworkMessageObserver::CellularDataPlanChanged(NetworkLibrary* obj) {
- const CellularNetwork& cellular = obj->cellular_network();
+void NetworkMessageObserver::CellularDataPlanChanged(
+ const std::string& service_path, const CellularDataPlanList& plans) {
// Active plan is the first one in the list. Use empty one if none found.
- const CellularDataPlanList& plans = cellular.GetDataPlans();
CellularDataPlan plan = plans.empty() ? CellularDataPlan() : plans[0];
// If connected cellular network changed, or data plan is different, then
// it's a new network. Then hide all previous notifications.
bool new_plan = false;
- if (cellular.service_path() != cellular_service_path_) {
- cellular_service_path_ = cellular.service_path();
+ if (service_path != cellular_service_path_) {
+ cellular_service_path_ = service_path;
new_plan = true;
} else if (plan.plan_name != cellular_data_plan_.plan_name ||
plan.plan_type != cellular_data_plan_.plan_type) {
@@ -179,32 +178,50 @@ void NetworkMessageObserver::CellularDataPlanChanged(NetworkLibrary* obj) {
}
}
- if (plan.plan_type != CELLULAR_DATA_PLAN_UNKNOWN) {
- if (cellular.data_left() == CellularNetwork::DATA_NONE) {
+ if (plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED) {
+ // Time based plan. Show nearing expiration and data expiration.
+ int64 time_left = plan.plan_end_time - plan.update_time;
+ if (time_left <= 0) {
notification_low_data_.Hide();
- int message = plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED ?
- IDS_NETWORK_MINUTES_REMAINING_MESSAGE :
- IDS_NETWORK_DATA_REMAINING_MESSAGE;
notification_no_data_.Show(l10n_util::GetStringFUTF16(
- message, ASCIIToUTF16("0")),
+ IDS_NETWORK_MINUTES_REMAINING_MESSAGE, ASCIIToUTF16("0")),
l10n_util::GetStringUTF16(IDS_NETWORK_PURCHASE_MORE_MESSAGE),
NewCallback(this, &NetworkMessageObserver::MobileSetup),
false, false);
- } else if (cellular.data_left() == CellularNetwork::DATA_VERY_LOW) {
+ } else if (time_left <= kDataNearingExpirationSecs) {
notification_no_data_.Hide();
- int message = plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED ?
- IDS_NETWORK_MINUTES_REMAINING_MESSAGE :
- IDS_NETWORK_DATA_REMAINING_MESSAGE;
- int64 remaining = plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED ?
- (plan.plan_end_time - plan.update_time) / 60 :
- (plan.plan_data_bytes - plan.data_bytes_used) / (1024 * 1024);
notification_low_data_.Show(l10n_util::GetStringFUTF16(
- message, UTF8ToUTF16(base::Int64ToString(remaining))),
+ IDS_NETWORK_MINUTES_UNTIL_EXPIRATION_MESSAGE,
+ UTF8ToUTF16(base::Int64ToString(time_left/60))),
l10n_util::GetStringUTF16(IDS_NETWORK_PURCHASE_MORE_MESSAGE),
NewCallback(this, &NetworkMessageObserver::MobileSetup),
false, false);
} else {
- // Got data, so hide notifications.
+ // Got more data, so hide notifications.
+ notification_low_data_.Hide();
+ notification_no_data_.Hide();
+ }
+ } else if (plan.plan_type == CELLULAR_DATA_PLAN_METERED_PAID ||
+ plan.plan_type == CELLULAR_DATA_PLAN_METERED_BASE) {
+ // Metered plan. Show low data and out of data.
+ int64 bytes_remaining = plan.plan_data_bytes - plan.data_bytes_used;
+ if (bytes_remaining <= 0) {
+ notification_low_data_.Hide();
+ notification_no_data_.Show(l10n_util::GetStringFUTF16(
+ IDS_NETWORK_DATA_REMAINING_MESSAGE, ASCIIToUTF16("0")),
+ l10n_util::GetStringUTF16(IDS_NETWORK_PURCHASE_MORE_MESSAGE),
+ NewCallback(this, &NetworkMessageObserver::MobileSetup),
+ false, false);
+ } else if (bytes_remaining <= kDataLowDataBytes) {
+ notification_no_data_.Hide();
+ notification_low_data_.Show(l10n_util::GetStringFUTF16(
+ IDS_NETWORK_DATA_REMAINING_MESSAGE,
+ UTF8ToUTF16(base::Int64ToString(bytes_remaining/1024))),
+ l10n_util::GetStringUTF16(IDS_NETWORK_PURCHASE_MORE_MESSAGE),
+ NewCallback(this, &NetworkMessageObserver::MobileSetup),
+ false, false);
+ } else {
+ // Got more data, so hide notifications.
notification_low_data_.Hide();
notification_no_data_.Hide();
}
diff --git a/chrome/browser/chromeos/network_message_observer.h b/chrome/browser/chromeos/network_message_observer.h
index 8cf603a..c92f6e2 100644
--- a/chrome/browser/chromeos/network_message_observer.h
+++ b/chrome/browser/chromeos/network_message_observer.h
@@ -20,6 +20,12 @@ class WindowDelegate;
namespace chromeos {
+// We show nearing expiration notification when less than 30 minutes.
+static const int kDataNearingExpirationSecs = 30 * 60;
+
+// We show low data notification when less than 50MB.
+static const int kDataLowDataBytes = 50 * 1024;
+
// The network message observer displays a system notification for network
// messages.
@@ -36,7 +42,8 @@ class NetworkMessageObserver : public NetworkLibrary::Observer {
// NetworkLibrary::Observer implementation.
virtual void NetworkChanged(NetworkLibrary* obj);
- virtual void CellularDataPlanChanged(NetworkLibrary* obj);
+ virtual void CellularDataPlanChanged(const std::string& service_path,
+ const CellularDataPlanList& plans);
bool initialized_;
// Wifi networks by service path.
diff --git a/chrome/browser/chromeos/status/network_menu.cc b/chrome/browser/chromeos/status/network_menu.cc
index ad9caf2..d23e7ff 100644
--- a/chrome/browser/chromeos/status/network_menu.cc
+++ b/chrome/browser/chromeos/status/network_menu.cc
@@ -45,57 +45,6 @@ namespace chromeos {
// static
const int NetworkMenu::kNumWifiImages = 9;
-// NOTE: Use an array rather than just calculating a resource number to avoid
-// creating implicit ordering dependencies on the resource values.
-// static
-const int NetworkMenu::kBarsImages[kNumWifiImages] = {
- IDR_STATUSBAR_NETWORK_BARS1,
- IDR_STATUSBAR_NETWORK_BARS2,
- IDR_STATUSBAR_NETWORK_BARS3,
- IDR_STATUSBAR_NETWORK_BARS4,
- IDR_STATUSBAR_NETWORK_BARS5,
- IDR_STATUSBAR_NETWORK_BARS6,
- IDR_STATUSBAR_NETWORK_BARS7,
- IDR_STATUSBAR_NETWORK_BARS8,
- IDR_STATUSBAR_NETWORK_BARS9,
-};
-// static
-const int NetworkMenu::kBarsImagesBlack[kNumWifiImages] = {
- IDR_STATUSBAR_NETWORK_BARS1_BLACK,
- IDR_STATUSBAR_NETWORK_BARS2_BLACK,
- IDR_STATUSBAR_NETWORK_BARS3_BLACK,
- IDR_STATUSBAR_NETWORK_BARS4_BLACK,
- IDR_STATUSBAR_NETWORK_BARS5_BLACK,
- IDR_STATUSBAR_NETWORK_BARS6_BLACK,
- IDR_STATUSBAR_NETWORK_BARS7_BLACK,
- IDR_STATUSBAR_NETWORK_BARS8_BLACK,
- IDR_STATUSBAR_NETWORK_BARS9_BLACK,
-};
-// static
-const int NetworkMenu::kBarsImagesLowData[kNumWifiImages] = {
- IDR_STATUSBAR_NETWORK_BARS1_LOWDATA,
- IDR_STATUSBAR_NETWORK_BARS2_LOWDATA,
- IDR_STATUSBAR_NETWORK_BARS3_LOWDATA,
- IDR_STATUSBAR_NETWORK_BARS4_LOWDATA,
- IDR_STATUSBAR_NETWORK_BARS5_LOWDATA,
- IDR_STATUSBAR_NETWORK_BARS6_LOWDATA,
- IDR_STATUSBAR_NETWORK_BARS7_LOWDATA,
- IDR_STATUSBAR_NETWORK_BARS8_LOWDATA,
- IDR_STATUSBAR_NETWORK_BARS9_LOWDATA,
-};
-// static
-const int NetworkMenu::kBarsImagesVLowData[kNumWifiImages] = {
- IDR_STATUSBAR_NETWORK_BARS1_VLOWDATA,
- IDR_STATUSBAR_NETWORK_BARS2_VLOWDATA,
- IDR_STATUSBAR_NETWORK_BARS3_VLOWDATA,
- IDR_STATUSBAR_NETWORK_BARS4_VLOWDATA,
- IDR_STATUSBAR_NETWORK_BARS5_VLOWDATA,
- IDR_STATUSBAR_NETWORK_BARS6_VLOWDATA,
- IDR_STATUSBAR_NETWORK_BARS7_VLOWDATA,
- IDR_STATUSBAR_NETWORK_BARS8_VLOWDATA,
- IDR_STATUSBAR_NETWORK_BARS9_VLOWDATA,
-};
-
NetworkMenu::NetworkMenu()
: min_width_(-1) {
network_menu_.reset(NetworkMenuUI::CreateMenu2(this));
@@ -371,32 +320,36 @@ void NetworkMenu::UpdateMenu() {
// static
SkBitmap NetworkMenu::IconForNetworkStrength(int strength, bool black) {
// Compose wifi icon by superimposing various icons.
- int index = static_cast<int>(strength / 100.0 *
- nextafter(static_cast<float>(kNumWifiImages), 0));
- index = std::max(std::min(index, kNumWifiImages - 1), 0);
- const int* images = black ? kBarsImagesBlack : kBarsImages;
- return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]);
-}
+ // NOTE: Use an array rather than just calculating a resource number to avoid
+ // creating implicit ordering dependencies on the resource values.
+ static const int kBarsImages[kNumWifiImages] = {
+ IDR_STATUSBAR_NETWORK_BARS1,
+ IDR_STATUSBAR_NETWORK_BARS2,
+ IDR_STATUSBAR_NETWORK_BARS3,
+ IDR_STATUSBAR_NETWORK_BARS4,
+ IDR_STATUSBAR_NETWORK_BARS5,
+ IDR_STATUSBAR_NETWORK_BARS6,
+ IDR_STATUSBAR_NETWORK_BARS7,
+ IDR_STATUSBAR_NETWORK_BARS8,
+ IDR_STATUSBAR_NETWORK_BARS9,
+ };
+ static const int kBarsBlackImages[kNumWifiImages] = {
+ IDR_STATUSBAR_NETWORK_BARS1_BLACK,
+ IDR_STATUSBAR_NETWORK_BARS2_BLACK,
+ IDR_STATUSBAR_NETWORK_BARS3_BLACK,
+ IDR_STATUSBAR_NETWORK_BARS4_BLACK,
+ IDR_STATUSBAR_NETWORK_BARS5_BLACK,
+ IDR_STATUSBAR_NETWORK_BARS6_BLACK,
+ IDR_STATUSBAR_NETWORK_BARS7_BLACK,
+ IDR_STATUSBAR_NETWORK_BARS8_BLACK,
+ IDR_STATUSBAR_NETWORK_BARS9_BLACK,
+ };
-SkBitmap NetworkMenu::IconForNetworkStrength(CellularNetwork cellular) {
- // Compose wifi icon by superimposing various icons.
- int index = static_cast<int>(cellular.strength() / 100.0 *
+ int index = static_cast<int>(strength / 100.0 *
nextafter(static_cast<float>(kNumWifiImages), 0));
index = std::max(std::min(index, kNumWifiImages - 1), 0);
- const int* images;
- switch (cellular.data_left()) {
- case CellularNetwork::DATA_NONE:
- case CellularNetwork::DATA_VERY_LOW:
- images = kBarsImagesVLowData;
- break;
- case CellularNetwork::DATA_LOW:
- images = kBarsImagesLowData;
- break;
- case CellularNetwork::DATA_NORMAL:
- images = kBarsImages;
- break;
- }
- return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]);
+ return *ResourceBundle::GetSharedInstance().GetBitmapNamed(
+ black ? kBarsBlackImages[index] : kBarsImages[index]);
}
// static
diff --git a/chrome/browser/chromeos/status/network_menu.h b/chrome/browser/chromeos/status/network_menu.h
index 3c8d322..8419cfe 100644
--- a/chrome/browser/chromeos/status/network_menu.h
+++ b/chrome/browser/chromeos/status/network_menu.h
@@ -114,10 +114,6 @@ class NetworkMenu : public views::ViewMenuDelegate,
// on a light background or a white icon for display on a dark background.
static SkBitmap IconForNetworkStrength(int strength, bool black);
- // Returns the Icon for a network strength for CellularNetwork |cellular|.
- // This returns different colored bars depending on cellular data left.
- static SkBitmap IconForNetworkStrength(CellularNetwork cellular);
-
// This method will convert the |icon| bitmap to the correct size for display.
// If the |badge| icon is not empty, it will draw that on top of the icon.
static SkBitmap IconForDisplay(SkBitmap icon, SkBitmap badge);
@@ -194,12 +190,6 @@ class NetworkMenu : public views::ViewMenuDelegate,
// The number of wifi strength images.
static const int kNumWifiImages;
- // Bars image resources.
- static const int kBarsImages[];
- static const int kBarsImagesBlack[];
- static const int kBarsImagesLowData[];
- static const int kBarsImagesVLowData[];
-
// Our menu items.
MenuItemVector menu_items_;
diff --git a/chrome/browser/chromeos/status/network_menu_button.cc b/chrome/browser/chromeos/status/network_menu_button.cc
index 3d43f18..c16383e 100644
--- a/chrome/browser/chromeos/status/network_menu_button.cc
+++ b/chrome/browser/chromeos/status/network_menu_button.cc
@@ -120,16 +120,11 @@ void NetworkMenuButton::NetworkChanged(NetworkLibrary* cros) {
IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP,
UTF8ToWide(cros->wifi_network().name())));
} else if (cros->cellular_connected()) {
- const CellularNetwork& cellular = cros->cellular_network();
- if (cellular.data_left() == CellularNetwork::DATA_NONE) {
- // If no data, then we show 0 bars.
- SetIcon(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0));
- } else {
- SetIcon(IconForNetworkStrength(cellular));
- }
+ SetIcon(IconForNetworkStrength(
+ cros->cellular_network().strength(), false));
SetTooltipText(l10n_util::GetStringF(
IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP,
- UTF8ToWide(cellular.name())));
+ UTF8ToWide(cros->cellular_network().name())));
} else {
SetIcon(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0));
SetTooltipText(l10n_util::GetString(
@@ -141,20 +136,9 @@ void NetworkMenuButton::NetworkChanged(NetworkLibrary* cros) {
SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED));
} else if (!cros->ethernet_connected() && !cros->wifi_connected() &&
(cros->cellular_connecting() || cros->cellular_connected())) {
- int id;
- switch (cros->cellular_network().data_left()) {
- case CellularNetwork::DATA_NONE:
- case CellularNetwork::DATA_VERY_LOW:
- id = IDR_STATUSBAR_NETWORK_3G_VLOWDATA;
- break;
- case CellularNetwork::DATA_LOW:
- id = IDR_STATUSBAR_NETWORK_3G_LOWDATA;
- break;
- case CellularNetwork::DATA_NORMAL:
- id = IDR_STATUSBAR_NETWORK_3G;
- break;
- }
- SetBadge(*rb.GetBitmapNamed(id));
+ // TODO(chocobo): Check cellular network 3g/edge.
+ SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G));
+// SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE));
} else {
SetBadge(SkBitmap());
}
@@ -169,11 +153,6 @@ void NetworkMenuButton::NetworkChanged(NetworkLibrary* cros) {
UpdateMenu();
}
-void NetworkMenuButton::CellularDataPlanChanged(NetworkLibrary* cros) {
- // Call NetworkChanged which will update the icon.
- NetworkChanged(cros);
-}
-
void NetworkMenuButton::SetBadge(const SkBitmap& badge) {
badge_ = badge;
}
diff --git a/chrome/browser/chromeos/status/network_menu_button.h b/chrome/browser/chromeos/status/network_menu_button.h
index 79c5cdb..bb5ff96 100644
--- a/chrome/browser/chromeos/status/network_menu_button.h
+++ b/chrome/browser/chromeos/status/network_menu_button.h
@@ -56,7 +56,6 @@ class NetworkMenuButton : public StatusAreaButton,
// NetworkLibrary::Observer implementation.
virtual void NetworkChanged(NetworkLibrary* obj);
- virtual void CellularDataPlanChanged(NetworkLibrary* obj);
// Sets the badge icon.
void SetBadge(const SkBitmap& badge);