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 487f76cd7bb143213ce430191027e312bb80ebf2..ce7406951ac289889e1c1e05eed32a6b3f36703b 100644 |
--- a/chrome/browser/ui/intents/web_intent_picker_controller.h |
+++ b/chrome/browser/ui/intents/web_intent_picker_controller.h |
@@ -57,6 +57,15 @@ class WebIntentPickerController |
void ShowDialog(const string16& action, |
const string16& type); |
+ // Called by the location bar to see whether the web intents picker affordance |
+ // should be shown. TODO(gbillock): refactor this into a |
+ // LocationBarPageToolModel. |
+ bool ShowLocationBarPickerTool(); |
+ |
+ // Called to notify a controller for a page hosting a web intents service |
+ // that the source WebContents has been destroyed. |
+ void SourceWebContentsDestroyed(content::WebContents* source); |
+ |
protected: |
// content::NotificationObserver implementation. |
virtual void Observe(int type, |
@@ -84,7 +93,6 @@ class WebIntentPickerController |
friend class WebIntentPickerControllerTest; |
friend class WebIntentPickerControllerBrowserTest; |
friend class WebIntentPickerControllerIncognitoBrowserTest; |
- friend class InvokingTabObserver; |
// Gets a notification when the return message is sent to the source tab, |
// so we can close the picker dialog or service tab. |
@@ -98,6 +106,15 @@ class WebIntentPickerController |
picker_model_->set_observer(observer); |
} |
+ // Notify the controller that its TabContents is hosting a web intents |
+ // service. Sets the source and dispatcher for the invoking client. |
+ void SetWindowDispositionSource(content::WebContents* source, |
+ content::WebIntentsDispatcher* dispatcher); |
+ |
+ // Called to notify a controller for a page hosting a web intents service |
+ // that the source dispatcher has been replied on. |
+ void SourceDispatcherReplied(webkit_glue::WebIntentReplyType reply_type); |
groby-ooo-7-16
2012/07/26 17:44:08
It seems odd that the controller needs to know abo
Greg Billock
2012/07/26 18:03:30
The main reason for this is that the intent may ha
|
+ |
// Called by the WebIntentsRegistry, returning |services|, which is |
// a list of WebIntentServiceData matching the query. |
void OnWebIntentServicesAvailable( |
@@ -189,6 +206,15 @@ class WebIntentPickerController |
// case, a picker may be non-NULL before it is shown. |
bool picker_shown_; |
+ // Weak pointer to the source WebContents for the intent if the TabContents |
+ // with which this controller is associated is hosting a web intents window |
groby-ooo-7-16
2012/07/26 17:44:08
To clarify - did you mean "hosting a web intent se
Greg Billock
2012/07/26 18:03:30
Yes, that's the right reading. Any better wording?
|
+ // disposition service. |
+ content::WebContents* window_disposition_source_; |
+ |
+ // If this tab is hosting a web intents service, a weak pointer to dispatcher |
+ // that invoked us. Weak pointer. |
+ content::WebIntentsDispatcher* source_intents_dispatcher_; |
+ |
// 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. |