Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1282)

Unified Diff: chrome/browser/ui/intents/web_intent_picker_controller.h

Issue 10204010: Handling default service in the web intents picker controller. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/intents/web_intent_picker_controller.h
diff --git a/chrome/browser/ui/intents/web_intent_picker_controller.h b/chrome/browser/ui/intents/web_intent_picker_controller.h
index 44b02f00b87a02f01daaedfcfea097adb18d21ad..4c81b9d86e5cd7856c5438ed96acd465d97d5019 100644
--- a/chrome/browser/ui/intents/web_intent_picker_controller.h
+++ b/chrome/browser/ui/intents/web_intent_picker_controller.h
@@ -104,6 +104,22 @@ class WebIntentPickerController : public content::NotificationObserver,
void OnWebIntentServicesAvailable(
const std::vector<webkit_glue::WebIntentServiceData>& services);
+ // Called when a default service is returned from the WebIntentsRegistry.
+ // (Still called with default_service.service_url empty if there are no
+ // defaults.)
+ void OnWebIntentDefaultsAvailable(
+ const DefaultWebIntentService& default_service);
+
+ // Coordination method which is delegated to by the registry calls to get
+ // services and defaults.
+ void RegistryCallsCompleted();
groby-ooo-7-16 2012/04/24 21:36:51 That's a rather vague description :)
Greg Billock 2012/04/25 16:04:32 improved. On 2012/04/24 21:36:51, groby wrote:
+
+ // Bottom half for dispatching explicit intents. Receives WebIntentServiceData
+ // from the WebIntentsRegistry to check for known urls/extensions and find
+ // disposition data.
+ void WebIntentServicesForExplicitIntent(
+ const std::vector<webkit_glue::WebIntentServiceData>& services);
+
// Called when FaviconData is returned from the FaviconService.
void OnFaviconDataAvailable(FaviconService::Handle handle,
history::FaviconData favicon_data);
@@ -141,6 +157,9 @@ class WebIntentPickerController : public content::NotificationObserver,
// reaches zero.
void AsyncOperationFinished();
+ // If the picker dialog UI surface needs to be created, this creates it.
+ void CreatePicker();
groby-ooo-7-16 2012/04/24 21:36:51 "Helper to create picker dialog UI" is probably en
Greg Billock 2012/04/25 16:04:32 Done.
+
// Closes the currently active picker.
void ClosePicker();
@@ -161,11 +180,19 @@ class WebIntentPickerController : public content::NotificationObserver,
// A count of the outstanding asynchronous calls.
int pending_async_count_;
+ // A count of outstanding WebIntentsRegistry calls.
+ int pending_registry_calls_count_;
+
// Is true if the picker is currently visible.
// This bool is not equivalent to picker != NULL in a unit test. In that
// case, a picker may be non-NULL before it is shown.
bool picker_shown_;
+ // Will be set to the non-empty url of the default service if the
+ // WebIntentsRegistry finds a default service matching the intent being
+ // dispatched.
+ std::string default_service_url_;
groby-ooo-7-16 2012/04/24 21:36:51 Doesn't that belong on the model?
Greg Billock 2012/04/25 16:04:32 Yeah, you're right. It has "action" too. Rejiggeri
+
// Weak pointer to the routing object for the renderer which launched the
// intent. Contains the intent data and a way to signal back to the
// client page.
@@ -175,6 +202,12 @@ class WebIntentPickerController : public content::NotificationObserver,
// close it when a reply is sent.
content::WebContents* service_tab_;
+ // The browser in which the intent was invoked.
+ Browser* browser_;
groby-ooo-7-16 2012/04/24 21:36:51 That's available from the TabContentsWrapper, IIRC
Greg Billock 2012/04/25 16:04:32 Yes, we're currently using static methods to look
+
+ // The intent action the picker is handling.
+ string16 action_;
groby-ooo-7-16 2012/04/24 21:36:51 Do we have to store that here? Can't we query the
Greg Billock 2012/04/25 16:04:32 This is stored from ShowDialog, where now we don't
+
// Request consumer used when asynchronously loading favicons.
CancelableRequestConsumerTSimple<size_t> favicon_consumer_;

Powered by Google App Engine
This is Rietveld 408576698