| Index: components/web_resource/web_resource_service.cc
|
| diff --git a/components/web_resource/web_resource_service.cc b/components/web_resource/web_resource_service.cc
|
| index b2d0e4b67da27d84a19ccae9370c4888da95f8e0..1afd22eef4ead5c51edbd832b065d600cb0439dc 100644
|
| --- a/components/web_resource/web_resource_service.cc
|
| +++ b/components/web_resource/web_resource_service.cc
|
| @@ -39,7 +39,8 @@ WebResourceService::WebResourceService(
|
| int start_fetch_delay_ms,
|
| int cache_update_delay_ms,
|
| net::URLRequestContextGetter* request_context,
|
| - const char* disable_network_switch)
|
| + const char* disable_network_switch,
|
| + const ParseJSONCallback& parse_json_callback)
|
| : prefs_(prefs),
|
| resource_request_allowed_notifier_(prefs, disable_network_switch),
|
| in_fetch_(false),
|
| @@ -49,6 +50,7 @@ WebResourceService::WebResourceService(
|
| start_fetch_delay_ms_(start_fetch_delay_ms),
|
| cache_update_delay_ms_(cache_update_delay_ms),
|
| request_context_(request_context),
|
| + parse_json_callback_(parse_json_callback),
|
| weak_ptr_factory_(this) {
|
| resource_request_allowed_notifier_.Init(this);
|
| DCHECK(prefs);
|
| @@ -78,15 +80,17 @@ void WebResourceService::OnURLFetchComplete(const net::URLFetcher* source) {
|
| if (data.empty() || data == "{}") {
|
| OnUnpackFinished(make_scoped_ptr(new base::DictionaryValue()).Pass());
|
| } else {
|
| - ParseJSON(data, base::Bind(&WebResourceService::OnUnpackFinished,
|
| - weak_ptr_factory_.GetWeakPtr()),
|
| - base::Bind(&WebResourceService::OnUnpackError,
|
| - weak_ptr_factory_.GetWeakPtr()));
|
| + parse_json_callback_.Run(data,
|
| + base::Bind(&WebResourceService::OnUnpackFinished,
|
| + weak_ptr_factory_.GetWeakPtr()),
|
| + base::Bind(&WebResourceService::OnUnpackError,
|
| + weak_ptr_factory_.GetWeakPtr()));
|
| }
|
| } else {
|
| // Don't parse data if attempt to download was unsuccessful.
|
| // Stop loading new web resource data, and silently exit.
|
| - // We do not call ParseJSON(), so we need to call EndFetch() ourselves.
|
| + // We do not call parse_json_callback_, so we need to call EndFetch()
|
| + // ourselves.
|
| EndFetch();
|
| }
|
| }
|
|
|