#pragma once
#include "include/cef_base.h"
-#include "include/cef_drag_data.h"
#include "include/cef_frame.h"
-#include "include/cef_navigation_entry.h"
#include "include/cef_process_message.h"
#include "include/cef_request_context.h"
#include <vector>
///
// Returns the frame with the specified name, or NULL if not found.
///
- /*--cef(optional_param=name)--*/
+ /*--cef()--*/
virtual CefRefPtr<CefFrame> GetFrame(const CefString& name) =0;
///
class CefRunFileDialogCallback : public virtual CefBase {
public:
///
- // Called asynchronously after the file dialog is dismissed.
- // |selected_accept_filter| is the 0-based index of the value selected from
- // the accept filters array passed to CefBrowserHost::RunFileDialog.
- // |file_paths| will be a single value or a list of values depending on the
- // dialog mode. If the selection was cancelled |file_paths| will be empty.
+ // Called asynchronously after the file dialog is dismissed. If the selection
+ // was successful |file_paths| will be a single value or a list of values
+ // depending on the dialog mode. If the selection was cancelled |file_paths|
+ // will be empty.
///
- /*--cef(index_param=selected_accept_filter,optional_param=file_paths)--*/
+ /*--cef(capi_name=cont)--*/
virtual void OnFileDialogDismissed(
- int selected_accept_filter,
+ CefRefPtr<CefBrowserHost> browser_host,
const std::vector<CefString>& file_paths) =0;
};
-///
-// Callback interface for CefBrowserHost::GetNavigationEntries. The methods of
-// this class will be called on the browser process UI thread.
-///
-/*--cef(source=client)--*/
-class CefNavigationEntryVisitor : public virtual CefBase {
- public:
- ///
- // Method that will be executed. Do not keep a reference to |entry| outside of
- // this callback. Return true to continue visiting entries or false to stop.
- // |current| is true if this entry is the currently loaded navigation entry.
- // |index| is the 0-based index of this entry and |total| is the total number
- // of entries.
- ///
- /*--cef()--*/
- virtual bool Visit(CefRefPtr<CefNavigationEntry> entry,
- bool current,
- int index,
- int total) =0;
-};
-
-
///
// Class used to represent the browser process aspects of a browser window. The
// methods of this class can only be called in the browser process. They may be
/*--cef(source=library)--*/
class CefBrowserHost : public virtual CefBase {
public:
- typedef cef_drag_operations_mask_t DragOperationsMask;
typedef cef_file_dialog_mode_t FileDialogMode;
typedef cef_mouse_button_type_t MouseButtonType;
typedef cef_paint_element_type_t PaintElementType;
/*--cef()--*/
virtual CefRefPtr<CefBrowser> GetBrowser() =0;
+ ///
+ // Call this method before destroying a contained browser window. This method
+ // performs any internal cleanup that may be needed before the browser window
+ // is destroyed. See CefLifeSpanHandler::DoClose() documentation for
+ // additional usage information.
+ ///
+ /*--cef()--*/
+ virtual void ParentWindowWillClose() =0;
+
///
// Request that the browser close. The JavaScript 'onbeforeunload' event will
// be fired. If |force_close| is false the event handler, if any, will be
// Call to run a file chooser dialog. Only a single file chooser dialog may be
// pending at any given time. |mode| represents the type of dialog to display.
// |title| to the title to be used for the dialog and may be empty to show the
- // default title ("Open" or "Save" depending on the mode). |default_file_path|
- // is the path with optional directory and/or file name component that will be
- // initially selected in the dialog. |accept_filters| are used to restrict the
- // selectable file types and may any combination of (a) valid lower-cased MIME
- // types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g.
- // ".txt" or ".png"), or (c) combined description and file extension delimited
- // using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg").
- // |selected_accept_filter| is the 0-based index of the filter that will be
- // selected by default. |callback| will be executed after the dialog is
- // dismissed or immediately if another dialog is already pending. The dialog
- // will be initiated asynchronously on the UI thread.
- ///
- /*--cef(optional_param=title,optional_param=default_file_path,
- optional_param=accept_filters,index_param=selected_accept_filter)--*/
+ // default title ("Open" or "Save" depending on the mode). |default_file_name|
+ // is the default file name to select in the dialog. |accept_types| is a list
+ // of valid lower-cased MIME types or file extensions specified in an input
+ // element and is used to restrict selectable files to such types. |callback|
+ // will be executed after the dialog is dismissed or immediately if another
+ // dialog is already pending. The dialog will be initiated asynchronously on
+ // the UI thread.
+ ///
+ /*--cef(optional_param=title,optional_param=default_file_name,
+ optional_param=accept_types)--*/
virtual void RunFileDialog(FileDialogMode mode,
const CefString& title,
- const CefString& default_file_path,
- const std::vector<CefString>& accept_filters,
- int selected_accept_filter,
+ const CefString& default_file_name,
+ const std::vector<CefString>& accept_types,
CefRefPtr<CefRunFileDialogCallback> callback) =0;
///
// running simultaniously. |forward| indicates whether to search forward or
// backward within the page. |matchCase| indicates whether the search should
// be case-sensitive. |findNext| indicates whether this is the first request
- // or a follow-up. The CefFindHandler instance, if any, returned via
- // CefClient::GetFindHandler will be called to report find results.
+ // or a follow-up.
///
/*--cef()--*/
virtual void Find(int identifier, const CefString& searchText,
virtual void StopFinding(bool clearSelection) =0;
///
- // Open developer tools in its own window. If |inspect_element_at| is non-
- // empty the element at the specified (x,y) location will be inspected.
+ // Open developer tools in its own window.
///
- /*--cef(optional_param=inspect_element_at)--*/
+ /*--cef()--*/
virtual void ShowDevTools(const CefWindowInfo& windowInfo,
CefRefPtr<CefClient> client,
- const CefBrowserSettings& settings,
- const CefPoint& inspect_element_at) =0;
+ const CefBrowserSettings& settings) =0;
///
// Explicitly close the developer tools window if one exists for this browser
/*--cef()--*/
virtual void CloseDevTools() =0;
- ///
- // Retrieve a snapshot of current navigation entries as values sent to the
- // specified visitor. If |current_only| is true only the current navigation
- // entry will be sent, otherwise all navigation entries will be sent.
- ///
- ///
- /*--cef()--*/
- virtual void GetNavigationEntries(
- CefRefPtr<CefNavigationEntryVisitor> visitor,
- bool current_only) =0;
-
///
// Set whether mouse cursor change is disabled.
///
/*--cef()--*/
virtual bool IsMouseCursorChangeDisabled() =0;
- ///
- // If a misspelled word is currently selected in an editable node calling
- // this method will replace it with the specified |word|.
- ///
- /*--cef()--*/
- virtual void ReplaceMisspelling(const CefString& word) =0;
-
- ///
- // Add the specified |word| to the spelling dictionary.
- ///
- /*--cef()--*/
- virtual void AddWordToDictionary(const CefString& word) =0;
-
///
// Returns true if window rendering is disabled.
///
virtual void NotifyScreenInfoChanged() =0;
///
- // Invalidate the view. The browser will call CefRenderHandler::OnPaint
- // asynchronously. This method is only used when window rendering is
- // disabled.
+ // Invalidate the |dirtyRect| region of the view. The browser will call
+ // CefRenderHandler::OnPaint asynchronously with the updated regions. This
+ // method is only used when window rendering is disabled.
///
/*--cef()--*/
- virtual void Invalidate(PaintElementType type) =0;
+ virtual void Invalidate(const CefRect& dirtyRect, PaintElementType type) =0;
///
// Send a key event to the browser.
/*--cef()--*/
virtual void SendCaptureLostEvent() =0;
- ///
- // Notify the browser that the window hosting it is about to be moved or
- // resized. This method is only used on Windows and Linux.
- ///
- /*--cef()--*/
- virtual void NotifyMoveOrResizeStarted() =0;
-
///
// Get the NSTextInputContext implementation for enabling IME on Mac when
// window rendering is disabled.
///
/*--cef()--*/
virtual void HandleKeyEventAfterTextInputClient(CefEventHandle keyEvent) =0;
-
- ///
- // Call this method when the user drags the mouse into the web view (before
- // calling DragTargetDragOver/DragTargetLeave/DragTargetDrop).
- // |drag_data| should not contain file contents as this type of data is not
- // allowed to be dragged into the web view. File contents can be removed using
- // CefDragData::ResetFileContents (for example, if |drag_data| comes from
- // CefRenderHandler::StartDragging).
- // This method is only used when window rendering is disabled.
- ///
- /*--cef()--*/
- virtual void DragTargetDragEnter(CefRefPtr<CefDragData> drag_data,
- const CefMouseEvent& event,
- DragOperationsMask allowed_ops) =0;
-
- ///
- // Call this method each time the mouse is moved across the web view during
- // a drag operation (after calling DragTargetDragEnter and before calling
- // DragTargetDragLeave/DragTargetDrop).
- // This method is only used when window rendering is disabled.
- ///
- /*--cef()--*/
- virtual void DragTargetDragOver(const CefMouseEvent& event,
- DragOperationsMask allowed_ops) =0;
-
- ///
- // Call this method when the user drags the mouse out of the web view (after
- // calling DragTargetDragEnter).
- // This method is only used when window rendering is disabled.
- ///
- /*--cef()--*/
- virtual void DragTargetDragLeave() =0;
-
- ///
- // Call this method when the user completes the drag operation by dropping
- // the object onto the web view (after calling DragTargetDragEnter).
- // The object being dropped is |drag_data|, given as an argument to
- // the previous DragTargetDragEnter call.
- // This method is only used when window rendering is disabled.
- ///
- /*--cef()--*/
- virtual void DragTargetDrop(const CefMouseEvent& event) =0;
-
- ///
- // Call this method when the drag operation started by a
- // CefRenderHandler::StartDragging call has ended either in a drop or
- // by being cancelled. |x| and |y| are mouse coordinates relative to the
- // upper-left corner of the view. If the web view is both the drag source
- // and the drag target then all DragTarget* methods should be called before
- // DragSource* mthods.
- // This method is only used when window rendering is disabled.
- ///
- /*--cef()--*/
- virtual void DragSourceEndedAt(int x, int y, DragOperationsMask op) =0;
-
- ///
- // Call this method when the drag operation started by a
- // CefRenderHandler::StartDragging call has completed. This method may be
- // called immediately without first calling DragSourceEndedAt to cancel a
- // drag operation. If the web view is both the drag source and the drag
- // target then all DragTarget* methods should be called before DragSource*
- // mthods.
- // This method is only used when window rendering is disabled.
- ///
- /*--cef()--*/
- virtual void DragSourceSystemDragEnded() =0;
};
#endif // CEF_INCLUDE_CEF_BROWSER_H_