Index: chrome/browser/tab_contents/tab_contents.cc |
=================================================================== |
--- chrome/browser/tab_contents/tab_contents.cc (revision 27168) |
+++ chrome/browser/tab_contents/tab_contents.cc (working copy) |
@@ -237,6 +237,8 @@ |
current_load_start_(), |
load_state_(net::LOAD_STATE_IDLE), |
load_state_host_(), |
+ upload_size_(0), |
+ upload_position_(0), |
received_page_title_(false), |
is_starred_(false), |
contents_mime_type_(), |
@@ -553,7 +555,12 @@ |
case net::LOAD_STATE_CONNECTING: |
return l10n_util::GetString(IDS_LOAD_STATE_CONNECTING); |
case net::LOAD_STATE_SENDING_REQUEST: |
- return l10n_util::GetString(IDS_LOAD_STATE_SENDING_REQUEST); |
+ if (upload_size_) |
+ return l10n_util::GetStringF( |
+ IDS_LOAD_STATE_SENDING_REQUEST_WITH_PROGRESS, |
+ static_cast<int>((100 * upload_position_) / upload_size_)); |
+ else |
+ return l10n_util::GetString(IDS_LOAD_STATE_SENDING_REQUEST); |
case net::LOAD_STATE_WAITING_FOR_RESPONSE: |
return l10n_util::GetStringF(IDS_LOAD_STATE_WAITING_FOR_RESPONSE, |
load_state_host_); |
@@ -1161,6 +1168,8 @@ |
if (!is_loading) { |
load_state_ = net::LOAD_STATE_IDLE; |
load_state_host_.clear(); |
+ upload_size_ = 0; |
+ upload_position_ = 0; |
} |
render_manager_.SetIsLoading(is_loading); |
@@ -2384,8 +2393,12 @@ |
} |
void TabContents::LoadStateChanged(const GURL& url, |
- net::LoadState load_state) { |
+ net::LoadState load_state, |
+ uint64 upload_position, |
+ uint64 upload_size) { |
load_state_ = load_state; |
+ upload_position_ = upload_position; |
+ upload_size_ = upload_size; |
std::wstring languages = |
profile()->GetPrefs()->GetString(prefs::kAcceptLanguages); |
load_state_host_.clear(); |