blob: 6dfd71baed87d1c36d38c37fa4f1d7b0ead59e42 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_DELEGATE_H_
#define CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_DELEGATE_H_
#include <string>
#include "chrome/browser/ui/intents/web_intent_picker_model.h"
#include "webkit/glue/window_open_disposition.h"
namespace content {
class WebContents;
}
// A class used to notify the delegate when the user has chosen a web intent
// service.
class WebIntentPickerDelegate {
public:
// Base destructor.
virtual ~WebIntentPickerDelegate() {}
// Called when the user has chosen a service.
virtual void OnServiceChosen(
const GURL& url,
webkit_glue::WebIntentServiceData::Disposition disposition) = 0;
// Called when the picker has created WebContents to use for inline
// disposition.
virtual void OnInlineDispositionWebContentsCreated(
content::WebContents* web_contents) = 0;
// Called when the user has chosen to install a suggested extension.
virtual void OnExtensionInstallRequested(const std::string& id) = 0;
// Called when the user has chosen to visit the CWS entry for an extension.
// |id| is the extension id.
// |disposition| is user-requested disposition for opening the extension
// link.
virtual void OnExtensionLinkClicked(
const std::string& id,
WindowOpenDisposition disposition) = 0;
// Called when the user chooses to get more suggestions from CWS.
// |disposition| is user-requested disposition for opening the suggestions
// link.
virtual void OnSuggestionsLinkClicked(WindowOpenDisposition disposition) = 0;
// Called when the user cancels out of the dialog.
virtual void OnUserCancelledPickerDialog() = 0;
// Called when the user wants to pick another service from within inline
// disposition.
virtual void OnChooseAnotherService() = 0;
// Called when the dialog stops showing.
virtual void OnClosing() = 0;
};
#endif // CHROME_BROWSER_UI_INTENTS_WEB_INTENT_PICKER_DELEGATE_H_