OLD | NEW |
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/ui/intents/web_intent_picker_controller.h" | 5 #include "chrome/browser/ui/intents/web_intent_picker_controller.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 // |action|, |type| pair. | 51 // |action|, |type| pair. |
52 void Fetch(const string16& action, const string16& type); | 52 void Fetch(const string16& action, const string16& type); |
53 | 53 |
54 // Cancels the WebDataService request. | 54 // Cancels the WebDataService request. |
55 void Cancel(); | 55 void Cancel(); |
56 | 56 |
57 private: | 57 private: |
58 // WebIntentsRegistry::Consumer implementation. | 58 // WebIntentsRegistry::Consumer implementation. |
59 virtual void OnIntentsQueryDone( | 59 virtual void OnIntentsQueryDone( |
60 WebIntentsRegistry::QueryID, | 60 WebIntentsRegistry::QueryID, |
61 const std::vector<WebIntentServiceData>& intents) OVERRIDE; | 61 const std::vector<webkit_glue::WebIntentServiceData>& services) OVERRIDE; |
62 | 62 |
63 // A weak pointer to the picker controller. | 63 // A weak pointer to the picker controller. |
64 WebIntentPickerController* controller_; | 64 WebIntentPickerController* controller_; |
65 | 65 |
66 // A weak pointer to the web intents registry. | 66 // A weak pointer to the web intents registry. |
67 WebIntentsRegistry* web_intents_registry_; | 67 WebIntentsRegistry* web_intents_registry_; |
68 | 68 |
69 // The ID of the current web intents request. The value will be -1 if | 69 // The ID of the current web intents request. The value will be -1 if |
70 // there is no request in flight. | 70 // there is no request in flight. |
71 WebIntentsRegistry::QueryID query_id_; | 71 WebIntentsRegistry::QueryID query_id_; |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 } | 222 } |
223 | 223 |
224 void WebIntentPickerController::OnCancelled() { | 224 void WebIntentPickerController::OnCancelled() { |
225 InvokingTabObserver forwarder(wrapper_, NULL, routing_id_); | 225 InvokingTabObserver forwarder(wrapper_, NULL, routing_id_); |
226 forwarder.Send(new IntentsMsg_WebIntentReply( | 226 forwarder.Send(new IntentsMsg_WebIntentReply( |
227 0, webkit_glue::WEB_INTENT_PICKER_CANCELLED, string16(), intent_id_)); | 227 0, webkit_glue::WEB_INTENT_PICKER_CANCELLED, string16(), intent_id_)); |
228 ClosePicker(); | 228 ClosePicker(); |
229 } | 229 } |
230 | 230 |
231 void WebIntentPickerController::OnWebIntentDataAvailable( | 231 void WebIntentPickerController::OnWebIntentDataAvailable( |
232 const std::vector<WebIntentServiceData>& intent_data) { | 232 const std::vector<webkit_glue::WebIntentServiceData>& services) { |
233 urls_.clear(); | 233 urls_.clear(); |
234 for (size_t i = 0; i < intent_data.size(); ++i) { | 234 for (size_t i = 0; i < services.size(); ++i) { |
235 urls_.push_back(intent_data[i].service_url); | 235 urls_.push_back(services[i].service_url); |
236 } | 236 } |
237 | 237 |
238 // Tell the picker to initialize N urls to the default favicon | 238 // Tell the picker to initialize N urls to the default favicon |
239 picker_->SetServiceURLs(urls_); | 239 picker_->SetServiceURLs(urls_); |
240 favicon_fetcher_->Fetch(urls_); | 240 favicon_fetcher_->Fetch(urls_); |
241 pending_async_count_--; | 241 pending_async_count_--; |
242 } | 242 } |
243 | 243 |
244 void WebIntentPickerController::OnFaviconDataAvailable( | 244 void WebIntentPickerController::OnFaviconDataAvailable( |
245 size_t index, | 245 size_t index, |
(...skipping 28 matching lines...) Expand all Loading... |
274 void WebIntentPickerController::WebIntentDataFetcher::Fetch( | 274 void WebIntentPickerController::WebIntentDataFetcher::Fetch( |
275 const string16& action, | 275 const string16& action, |
276 const string16& type) { | 276 const string16& type) { |
277 DCHECK(query_id_ == -1) << "Fetch already in process."; | 277 DCHECK(query_id_ == -1) << "Fetch already in process."; |
278 controller_->pending_async_count_++; | 278 controller_->pending_async_count_++; |
279 query_id_ = web_intents_registry_->GetIntentProviders(action, type, this); | 279 query_id_ = web_intents_registry_->GetIntentProviders(action, type, this); |
280 } | 280 } |
281 | 281 |
282 void WebIntentPickerController::WebIntentDataFetcher::OnIntentsQueryDone( | 282 void WebIntentPickerController::WebIntentDataFetcher::OnIntentsQueryDone( |
283 WebIntentsRegistry::QueryID, | 283 WebIntentsRegistry::QueryID, |
284 const std::vector<WebIntentServiceData>& intents) { | 284 const std::vector<webkit_glue::WebIntentServiceData>& services) { |
285 controller_->OnWebIntentDataAvailable(intents); | 285 controller_->OnWebIntentDataAvailable(services); |
286 query_id_ = -1; | 286 query_id_ = -1; |
287 } | 287 } |
288 | 288 |
289 WebIntentPickerController::FaviconFetcher::FaviconFetcher( | 289 WebIntentPickerController::FaviconFetcher::FaviconFetcher( |
290 WebIntentPickerController* controller, | 290 WebIntentPickerController* controller, |
291 FaviconService* favicon_service) | 291 FaviconService* favicon_service) |
292 : controller_(controller), | 292 : controller_(controller), |
293 favicon_service_(favicon_service) { | 293 favicon_service_(favicon_service) { |
294 } | 294 } |
295 | 295 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 if (gfx::PNGCodec::Decode(favicon_data.image_data->front(), | 328 if (gfx::PNGCodec::Decode(favicon_data.image_data->front(), |
329 favicon_data.image_data->size(), | 329 favicon_data.image_data->size(), |
330 &icon_bitmap)) { | 330 &icon_bitmap)) { |
331 controller_->OnFaviconDataAvailable(index, icon_bitmap); | 331 controller_->OnFaviconDataAvailable(index, icon_bitmap); |
332 return; | 332 return; |
333 } | 333 } |
334 } | 334 } |
335 | 335 |
336 controller_->OnFaviconDataUnavailable(index); | 336 controller_->OnFaviconDataUnavailable(index); |
337 } | 337 } |
OLD | NEW |