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

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

Issue 10805094: Mark down in web intents picker controller when it is part of a TabContents that is hosting a web i… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Change assert Created 8 years, 5 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 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);
+
// 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
+ // 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.

Powered by Google App Engine
This is Rietveld 408576698