| Index: webkit/appcache/appcache_host.cc
|
| diff --git a/webkit/appcache/appcache_host.cc b/webkit/appcache/appcache_host.cc
|
| index ddc9bd2ede544daada51b5a33252798104c0132f..dd9f9fb7b3a6ac65bde3feefb71948e6f483fe85 100644
|
| --- a/webkit/appcache/appcache_host.cc
|
| +++ b/webkit/appcache/appcache_host.cc
|
| @@ -41,8 +41,7 @@ AppCacheHost::AppCacheHost(int host_id, AppCacheFrontend* frontend,
|
| pending_main_resource_cache_id_(kNoCacheId),
|
| pending_selected_cache_id_(kNoCacheId),
|
| frontend_(frontend), service_(service),
|
| - pending_get_status_callback_(NULL), pending_start_update_callback_(NULL),
|
| - pending_swap_cache_callback_(NULL), pending_callback_param_(NULL),
|
| + pending_callback_param_(NULL),
|
| main_resource_was_fallback_(false), main_resource_blocked_(false),
|
| associated_cache_info_pending_(false) {
|
| }
|
| @@ -69,9 +68,9 @@ void AppCacheHost::RemoveObserver(Observer* observer) {
|
| void AppCacheHost::SelectCache(const GURL& document_url,
|
| const int64 cache_document_was_loaded_from,
|
| const GURL& manifest_url) {
|
| - DCHECK(!pending_start_update_callback_ &&
|
| - !pending_swap_cache_callback_ &&
|
| - !pending_get_status_callback_ &&
|
| + DCHECK(pending_start_update_callback_.is_null() &&
|
| + pending_swap_cache_callback_.is_null() &&
|
| + pending_get_status_callback_.is_null() &&
|
| !is_selection_pending());
|
|
|
| origin_in_use_ = document_url.GetOrigin();
|
| @@ -125,9 +124,9 @@ void AppCacheHost::SelectCache(const GURL& document_url,
|
|
|
| void AppCacheHost::SelectCacheForWorker(int parent_process_id,
|
| int parent_host_id) {
|
| - DCHECK(!pending_start_update_callback_ &&
|
| - !pending_swap_cache_callback_ &&
|
| - !pending_get_status_callback_ &&
|
| + DCHECK(pending_start_update_callback_.is_null() &&
|
| + pending_swap_cache_callback_.is_null() &&
|
| + pending_get_status_callback_.is_null() &&
|
| !is_selection_pending());
|
|
|
| parent_process_id_ = parent_process_id;
|
| @@ -136,9 +135,9 @@ void AppCacheHost::SelectCacheForWorker(int parent_process_id,
|
| }
|
|
|
| void AppCacheHost::SelectCacheForSharedWorker(int64 appcache_id) {
|
| - DCHECK(!pending_start_update_callback_ &&
|
| - !pending_swap_cache_callback_ &&
|
| - !pending_get_status_callback_ &&
|
| + DCHECK(pending_start_update_callback_.is_null() &&
|
| + pending_swap_cache_callback_.is_null() &&
|
| + pending_get_status_callback_.is_null() &&
|
| !is_selection_pending());
|
|
|
| if (appcache_id != kNoCacheId) {
|
| @@ -158,11 +157,11 @@ void AppCacheHost::MarkAsForeignEntry(const GURL& document_url,
|
| SelectCache(document_url, kNoCacheId, GURL());
|
| }
|
|
|
| -void AppCacheHost::GetStatusWithCallback(GetStatusCallback* callback,
|
| +void AppCacheHost::GetStatusWithCallback(const GetStatusCallback& callback,
|
| void* callback_param) {
|
| - DCHECK(!pending_start_update_callback_ &&
|
| - !pending_swap_cache_callback_ &&
|
| - !pending_get_status_callback_);
|
| + DCHECK(pending_start_update_callback_.is_null() &&
|
| + pending_swap_cache_callback_.is_null() &&
|
| + pending_get_status_callback_.is_null());
|
|
|
| pending_get_status_callback_ = callback;
|
| pending_callback_param_ = callback_param;
|
| @@ -173,20 +172,18 @@ void AppCacheHost::GetStatusWithCallback(GetStatusCallback* callback,
|
| }
|
|
|
| void AppCacheHost::DoPendingGetStatus() {
|
| - DCHECK(pending_get_status_callback_);
|
| + DCHECK_EQ(false, pending_get_status_callback_.is_null());
|
|
|
| - pending_get_status_callback_->Run(
|
| - GetStatus(), pending_callback_param_);
|
| -
|
| - pending_get_status_callback_ = NULL;
|
| + pending_get_status_callback_.Run(GetStatus(), pending_callback_param_);
|
| + pending_get_status_callback_.Reset();
|
| pending_callback_param_ = NULL;
|
| }
|
|
|
| -void AppCacheHost::StartUpdateWithCallback(StartUpdateCallback* callback,
|
| +void AppCacheHost::StartUpdateWithCallback(const StartUpdateCallback& callback,
|
| void* callback_param) {
|
| - DCHECK(!pending_start_update_callback_ &&
|
| - !pending_swap_cache_callback_ &&
|
| - !pending_get_status_callback_);
|
| + DCHECK(pending_start_update_callback_.is_null() &&
|
| + pending_swap_cache_callback_.is_null() &&
|
| + pending_get_status_callback_.is_null());
|
|
|
| pending_start_update_callback_ = callback;
|
| pending_callback_param_ = callback_param;
|
| @@ -197,7 +194,7 @@ void AppCacheHost::StartUpdateWithCallback(StartUpdateCallback* callback,
|
| }
|
|
|
| void AppCacheHost::DoPendingStartUpdate() {
|
| - DCHECK(pending_start_update_callback_);
|
| + DCHECK_EQ(false, pending_start_update_callback_.is_null());
|
|
|
| // 6.9.8 Application cache API
|
| bool success = false;
|
| @@ -209,18 +206,16 @@ void AppCacheHost::DoPendingStartUpdate() {
|
| }
|
| }
|
|
|
| - pending_start_update_callback_->Run(
|
| - success, pending_callback_param_);
|
| -
|
| - pending_start_update_callback_ = NULL;
|
| + pending_start_update_callback_.Run(success, pending_callback_param_);
|
| + pending_start_update_callback_.Reset();
|
| pending_callback_param_ = NULL;
|
| }
|
|
|
| -void AppCacheHost::SwapCacheWithCallback(SwapCacheCallback* callback,
|
| +void AppCacheHost::SwapCacheWithCallback(const SwapCacheCallback& callback,
|
| void* callback_param) {
|
| - DCHECK(!pending_start_update_callback_ &&
|
| - !pending_swap_cache_callback_ &&
|
| - !pending_get_status_callback_);
|
| + DCHECK(pending_start_update_callback_.is_null() &&
|
| + pending_swap_cache_callback_.is_null() &&
|
| + pending_get_status_callback_.is_null());
|
|
|
| pending_swap_cache_callback_ = callback;
|
| pending_callback_param_ = callback_param;
|
| @@ -231,7 +226,7 @@ void AppCacheHost::SwapCacheWithCallback(SwapCacheCallback* callback,
|
| }
|
|
|
| void AppCacheHost::DoPendingSwapCache() {
|
| - DCHECK(pending_swap_cache_callback_);
|
| + DCHECK_EQ(false, pending_swap_cache_callback_.is_null());
|
|
|
| // 6.9.8 Application cache API
|
| bool success = false;
|
| @@ -247,10 +242,8 @@ void AppCacheHost::DoPendingSwapCache() {
|
| }
|
| }
|
|
|
| - pending_swap_cache_callback_->Run(
|
| - success, pending_callback_param_);
|
| -
|
| - pending_swap_cache_callback_ = NULL;
|
| + pending_swap_cache_callback_.Run(success, pending_callback_param_);
|
| + pending_swap_cache_callback_.Reset();
|
| pending_callback_param_ = NULL;
|
| }
|
|
|
| @@ -403,11 +396,11 @@ void AppCacheHost::FinishCacheSelection(
|
| }
|
|
|
| // Respond to pending callbacks now that we have a selection.
|
| - if (pending_get_status_callback_)
|
| + if (!pending_get_status_callback_.is_null())
|
| DoPendingGetStatus();
|
| - else if (pending_start_update_callback_)
|
| + else if (!pending_start_update_callback_.is_null())
|
| DoPendingStartUpdate();
|
| - else if (pending_swap_cache_callback_)
|
| + else if (!pending_swap_cache_callback_.is_null())
|
| DoPendingSwapCache();
|
|
|
| FOR_EACH_OBSERVER(Observer, observers_, OnCacheSelectionComplete(this));
|
|
|