#ifndef WebViewClient_h
#define WebViewClient_h
-#include "../platform/WebColor.h"
#include "../platform/WebGraphicsContext3D.h"
#include "../platform/WebString.h"
#include "WebAXEnums.h"
namespace blink {
class WebAXObject;
-class WebColorChooser;
-class WebColorChooserClient;
class WebCompositorOutputSurface;
class WebDateTimeChooserCompletion;
class WebDragData;
class WebKeyboardEvent;
class WebMIDIClient;
class WebNode;
-class WebNotificationPresenter;
+class WebPushClient;
class WebRange;
-class WebSpeechInputController;
-class WebSpeechInputListener;
class WebSpeechRecognizer;
class WebStorageNamespace;
class WebURL;
class WebURLRequest;
-class WebUserMediaClient;
class WebView;
class WebWidget;
-struct WebColorSuggestion;
struct WebConsoleMessage;
struct WebDateTimeChooserParams;
struct WebPoint;
// Misc ----------------------------------------------------------------
- // Whether or not we should report a detailed message for the given source.
- virtual bool shouldReportDetailedMessageForSource(const WebString& source) { return false; }
-
- // A new message was added to the console.
- virtual void didAddMessageToConsole(
- const WebConsoleMessage&, const WebString& sourceName, unsigned sourceLine, const WebString& stackTrace) { }
-
// Called when script in the page calls window.print(). If frame is
// non-null, then it selects a particular frame, including its
// children, to print. Otherwise, the main frame and its children
// should be printed.
virtual void printPage(WebLocalFrame*) { }
- // Called to retrieve the provider of desktop notifications.
- virtual WebNotificationPresenter* notificationPresenter() { return 0; }
-
// This method enumerates all the files in the path. It returns immediately
// and asynchronously invokes the WebFileChooserCompletion with all the
// files in the directory. Returns false if the WebFileChooserCompletion
// will never be called.
virtual bool enumerateChosenDirectory(const WebString& path, WebFileChooserCompletion*) { return false; }
- // Navigational --------------------------------------------------------
-
- // These notifications bracket any loading that occurs in the WebView.
- virtual void didStartLoading(bool toDifferentDocument) { }
- virtual void didStopLoading() { }
-
- // Notification that some progress was made loading the current page.
- // loadProgress is a value between 0 (nothing loaded) and 1.0 (frame fully
- // loaded).
- virtual void didChangeLoadProgress(WebLocalFrame*, double loadProgress) { }
// Editing -------------------------------------------------------------
// indicating that the default action should be suppressed.
virtual bool handleCurrentKeyboardEvent() { return false; }
- // Dialogs -------------------------------------------------------------
-
- // This method opens the color chooser and returns a new WebColorChooser
- // instance. If there is a WebColorChooser already from the last time this
- // was called, it ends the color chooser by calling endChooser, and replaces
- // it with the new one. The given list of suggestions can be used to show a
- // simple interface with a limited set of choices.
- // FIXME: Should be removed when the chromium side change lands.
- virtual WebColorChooser* createColorChooser(WebColorChooserClient*,
- const WebColor&) { return 0; }
-
- virtual WebColorChooser* createColorChooser(
- WebColorChooserClient*,
- const WebColor&,
- const WebVector<WebColorSuggestion>&) { return 0; }
+ // Dialogs -------------------------------------------------------------
// This method returns immediately after showing the dialog. When the
// dialog is closed, it should call the WebFileChooserCompletion to
// Move the existing notifation popup to the new anchor position.
virtual void moveValidationMessage(const WebRect& anchorInRootView) { }
- // Displays a modal alert dialog containing the given message. Returns
- // once the user dismisses the dialog.
- virtual void runModalAlertDialog(
- WebLocalFrame*, const WebString& message) { }
-
- // Displays a modal confirmation dialog with the given message as
- // description and OK/Cancel choices. Returns true if the user selects
- // 'OK' or false otherwise.
- virtual bool runModalConfirmDialog(
- WebLocalFrame*, const WebString& message) { return false; }
-
- // Displays a modal input dialog with the given message as description
- // and OK/Cancel choices. The input field is pre-filled with
- // defaultValue. Returns true if the user selects 'OK' or false
- // otherwise. Upon returning true, actualValue contains the value of
- // the input field.
- virtual bool runModalPromptDialog(
- WebLocalFrame*, const WebString& message, const WebString& defaultValue,
- WebString* actualValue) { return false; }
-
- // Displays a modal confirmation dialog containing the given message as
- // description and OK/Cancel choices, where 'OK' means that it is okay
- // to proceed with closing the view. Returns true if the user selects
- // 'OK' or false otherwise.
- virtual bool runModalBeforeUnloadDialog(
- WebLocalFrame*, const WebString& message) { return true; }
-
// UI ------------------------------------------------------------------
// Returns comma separated list of accept languages.
virtual WebString acceptLanguages() { return WebString(); }
+
// Session history -----------------------------------------------------
// Tells the embedder to navigate back or forward in session history by
// Notifies embedder about an accessibility event.
virtual void postAccessibilityEvent(const WebAXObject&, WebAXEvent) { }
+
// Developer tools -----------------------------------------------------
// Called to notify the client that the inspector's settings were
virtual void didUpdateInspectorSetting(const WebString& key, const WebString& value) { }
+
// Geolocation ---------------------------------------------------------
// Access the embedder API for (client-based) geolocation client .
// Access the embedder API for (non-client-based) geolocation services.
virtual WebGeolocationService* geolocationService() { return 0; }
- // Speech --------------------------------------------------------------
- // Access the embedder API for speech input services.
- virtual WebSpeechInputController* speechInputController(
- WebSpeechInputListener*) { return 0; }
+ // Speech --------------------------------------------------------------
// Access the embedder API for speech recognition services.
virtual WebSpeechRecognizer* speechRecognizer() { return 0; }
+
// Zoom ----------------------------------------------------------------
// Informs the browser that the zoom levels for this frame have changed from
// action that wasn't initiated by the client.
virtual void zoomLevelChanged() { }
+
// Navigator Content Utils --------------------------------------------
// Registers a new URL handler for the given protocol.
virtual void registerProtocolHandler(const WebString& scheme,
const WebURL& baseUrl,
const WebURL& url,
- const WebString& title)
- {
- registerProtocolHandler(scheme, baseUrl.string(), url.string(), title);
- }
+ const WebString& title) { }
// Unregisters a given URL handler for the given protocol.
- virtual void unregisterProtocolHandler(const WebString& scheme, const WebURL& baseUrl, const WebURL& url)
- {
- unregisterProtocolHandler(scheme, baseUrl.string(), url.string());
- }
+ virtual void unregisterProtocolHandler(const WebString& scheme, const WebURL& baseUrl, const WebURL& url) { }
// Check if a given URL handler is registered for the given protocol.
virtual WebCustomHandlersState isProtocolHandlerRegistered(const WebString& scheme, const WebURL& baseUrl, const WebURL& url)
{
- return isProtocolHandlerRegistered(scheme, baseUrl.string(), url.string());
- }
-
- // These old version APIs need to be removed after synching with chrome side.
- virtual void registerProtocolHandler(const WebString& scheme,
- const WebString& baseUrl,
- const WebString& url,
- const WebString& title) { }
-
- virtual void unregisterProtocolHandler(const WebString& scheme, const WebString& baseUrl, const WebString& url) { }
-
- virtual WebCustomHandlersState isProtocolHandlerRegistered(const WebString& scheme, const WebString& baseUrl, const WebString& url)
- {
return WebCustomHandlersNew;
}
+
// Visibility -----------------------------------------------------------
// Returns the current visibility of the WebView.
return WebPageVisibilityStateVisible;
}
- // Media Streams -------------------------------------------------------
-
- virtual WebUserMediaClient* userMediaClient() { return 0; }
// Web MIDI -------------------------------------------------------------
virtual WebMIDIClient* webMIDIClient() { return 0; }
+ // Push Messaging -------------------------------------------------------
+
+ virtual WebPushClient* webPushClient() { return 0; }
// Content detection ----------------------------------------------------
// Cancels any previously scheduled content intents that have not yet launched.
virtual void cancelScheduledContentIntents() { }
+
// Draggable regions ----------------------------------------------------
// Informs the browser that the draggable regions have been updated.