summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webframe.h
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/webframe.h')
-rw-r--r--webkit/glue/webframe.h423
1 files changed, 0 insertions, 423 deletions
diff --git a/webkit/glue/webframe.h b/webkit/glue/webframe.h
deleted file mode 100644
index ca3d063..0000000
--- a/webkit/glue/webframe.h
+++ /dev/null
@@ -1,423 +0,0 @@
-// Copyright (c) 2006-2009 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 WEBKIT_GLUE_WEBFRAME_H_
-#define WEBKIT_GLUE_WEBFRAME_H_
-
-#include <vector>
-
-#include "base/scoped_ptr.h"
-#include "base/string16.h"
-#include "skia/ext/bitmap_platform_device.h"
-#include "skia/ext/platform_canvas.h"
-#include "webkit/api/public/WebCanvas.h"
-#include "webkit/api/public/WebURL.h"
-
-class GURL;
-class WebView;
-class WebTextInput;
-struct NPObject;
-
-namespace WebKit {
-class WebData;
-class WebDataSource;
-class WebForm;
-class WebHistoryItem;
-class WebString;
-class WebURLRequest;
-struct WebConsoleMessage;
-struct WebFindOptions;
-struct WebRect;
-struct WebScriptSource;
-struct WebSize;
-struct WebURLError;
-}
-
-#if WEBKIT_USING_V8
-namespace v8 {
- template <class T> class Local;
- class Context;
-}
-#endif
-
-// Every frame in a web page is represented by one WebFrame, including the
-// outermost frame.
-class WebFrame {
- public:
- WebFrame() {}
-
- // The two functions below retrieve WebFrame instances relating the currently
- // executing JavaScript. Since JavaScript can make function calls across
- // frames, though, we need to be more precise.
- //
- // For example, imagine that a JS function in frame A calls a function in
- // frame B, which calls native code, which wants to know what the 'active'
- // frame is.
- //
- // The 'entered context' is the context where execution first entered the
- // script engine; the context that is at the bottom of the JS function stack.
- // RetrieveFrameForEnteredContext() would return Frame A in our example.
- //
- // The 'current context' is the context the JS engine is currently inside of;
- // the context that is at the top of the JS function stack.
- // RetrieveFrameForCurrentContext() would return Frame B in our example.
- static WebFrame* RetrieveFrameForEnteredContext();
- static WebFrame* RetrieveFrameForCurrentContext();
-
- // Binds a C++ class to a JavaScript property of the window object. This
- // should generally be used via CppBoundClass::BindToJavascript() instead of
- // calling it directly.
- virtual void BindToWindowObject(const std::wstring& name,
- NPObject* object) = 0;
-
- virtual void CallJSGC() = 0;
-
- // This grants the currently loaded Document access to all security origins
- // (including file URLs). Use with care. The access is revoked when a new
- // document is loaded into this frame.
- virtual void GrantUniversalAccess() = 0;
-
- virtual NPObject* GetWindowNPObject() = 0;
-
-#if WEBKIT_USING_V8
- // Returns the V8 context for this frame, or an empty handle if there is
- // none.
- virtual v8::Local<v8::Context> GetMainWorldScriptContext() = 0;
-#endif
-
- // Reload the current document.
- virtual void Reload() = 0;
-
- // Loads the given WebURLRequest.
- virtual void LoadRequest(const WebKit::WebURLRequest& request) = 0;
-
- // Loads the given WebHistoryItem. This corresponds to a back/forward
- // navigation.
- virtual void LoadHistoryItem(const WebKit::WebHistoryItem& item) = 0;
-
- // Loads the given data with specific mime type and optional text encoding.
- // For HTML data, base_url indicates the security origin of the document and
- // is used to resolve links. If specified, unreachable_url is reported via
- // WebDataSource::unreachableURL. If replace is false, then this data will
- // be loaded as a normal navigation. Otherwise, the current history item
- // will be replaced.
- virtual void LoadData(
- const WebKit::WebData& data,
- const WebKit::WebString& mime_type,
- const WebKit::WebString& text_encoding,
- const WebKit::WebURL& base_url,
- const WebKit::WebURL& unreachable_url = WebKit::WebURL(),
- bool replace = false) = 0;
-
- // This method is short-hand for calling LoadData, where mime_type is
- // "text/html" and text_encoding is "UTF-8".
- virtual void LoadHTMLString(
- const WebKit::WebData& html,
- const WebKit::WebURL& base_url,
- const WebKit::WebURL& unreachable_url = WebKit::WebURL(),
- bool replace = false) = 0;
-
- // Called to associate the WebURLRequest with this frame. The request will
- // be modified to inherit parameters that allow it to be loaded. This method
- // ends up triggering WebViewDelegate::WillSendRequest.
- virtual void DispatchWillSendRequest(WebKit::WebURLRequest* request) = 0;
-
- // Called from within WebViewDelegate::DidReceiveDocumentData to commit data
- // for the frame that will be used to construct the frame's document.
- virtual void CommitDocumentData(const char* data, size_t data_len) = 0;
-
- // Executes JavaScript in the web frame.
- virtual void ExecuteScript(const WebKit::WebScriptSource& source) = 0;
-
- // Executes JavaScript in a new context associated with the web frame. The
- // script gets its own global scope and its own prototypes for intrinsic
- // JavaScript objects (String, Array, and so-on). It shares the wrappers for
- // all DOM nodes and DOM constructors. extension_group is an
- // embedder-provided specifier that controls which v8 extensions are loaded
- // into the new context - see WebKit::registerExtension for the corresponding
- // specifier.
- virtual void ExecuteScriptInNewContext(
- const WebKit::WebScriptSource* sources, int num_sources,
- int extension_group) = 0;
-
- // Executes JavaScript in a new world associated with the web frame. The
- // script gets its own global scope and its own prototypes for intrinsic
- // JavaScript objects (String, Array, and so-on). It also gets its own
- // wrappers for all DOM nodes and DOM constructors. extension_group is an
- // embedder-provided specifier that controls which v8 extensions are loaded
- // into the new context - see WebKit::registerExtension for the corresponding
- // specifier.
- virtual void ExecuteScriptInNewWorld(
- const WebKit::WebScriptSource* sources, int num_sources,
- int extension_group) = 0;
-
- // Inserts the given CSS styles at the beginning of the document.
- virtual bool InsertCSSStyles(const std::string& css) = 0;
-
- // Returns the WebHistoryItem representing the state of the previous page
- // load for later use when loading. The previous page is the page that was
- // loaded before DidCommitLoadForFrame was received.
- //
- // Returns a null item if there is no valid state to return (for example,
- // there is no previous item). Returns true if the previous item's state was
- // retrieved, even if that state may be empty.
- virtual WebKit::WebHistoryItem GetPreviousHistoryItem() const = 0;
-
- // Returns the WebHistoryItem representing the state of the current page load
- // for later use when loading.
- //
- // Returns a null item if there is no valid state to return (for example,
- // there is no previous item). Returns true if the current item's state was
- // retrieved, even if that state may be empty.
- virtual WebKit::WebHistoryItem GetCurrentHistoryItem() const = 0;
-
- // Returns the current URL of the frame, or an empty GURL if there is no
- // URL to retrieve (for example, the frame may never have had any content).
- virtual GURL GetURL() const = 0;
-
- // Returns the URL to the favorite icon for the frame. An empty GURL is
- // returned if the frame has not finished loading, or the frame's URL
- // protocol is not http or https.
- virtual GURL GetFavIconURL() const = 0;
-
- // Returns the URL to the OpenSearch description document for the frame. If
- // the page does not have a valid document, an empty GURL is returned.
- virtual GURL GetOSDDURL() const = 0;
-
- // Return the minPrefWidth of the content contained in the current Document
- virtual int GetContentsPreferredWidth() const = 0;
-
- // Returns the committed data source, which is the last data source that has
- // successfully started loading. Will return NULL if no provisional data
- // has been committed.
- virtual WebKit::WebDataSource* GetDataSource() const = 0;
-
- // Returns the provisional data source, which is a data source where a
- // request has been made, but we are not sure if we will use data from it
- // (for example, it may be an invalid URL). When the provisional load is
- // "committed," it will become the "real" data source (see GetDataSource
- // above) and the provisional data source will be NULL.
- virtual WebKit::WebDataSource* GetProvisionalDataSource() const = 0;
-
- //
- // @method stopLoading
- // @discussion Stop any pending loads on the frame's data source,
- // and its children.
- // - (void)stopLoading;
- virtual void StopLoading() = 0;
-
- // Returns true if this frame is loading its main resource or a subresource.
- virtual bool IsLoading() const = 0;
-
- // Returns the frame that opened this frame, or NULL if this window has no
- // opener.
- virtual WebFrame* GetOpener() const = 0;
-
- // Returns the frame containing this frame, or NULL of this is a top level
- // frame with no parent.
- virtual WebFrame* GetParent() const = 0;
-
- // Returns the top-most frame in the frame hierarchy containing this frame.
- virtual WebFrame* GetTop() const = 0;
-
- // Returns the child frame with the given xpath.
- // The document of this frame is used as the context node.
- // The xpath may need a recursive traversal if non-trivial
- // A non-trivial xpath will contain a combination of xpaths
- // (delimited by '\n') leading to an inner subframe.
- //
- // Example: /html/body/iframe/\n/html/body/div/iframe/\n/frameset/frame[0]
- // can be broken into 3 xpaths
- // /html/body/iframe evaluates to an iframe within the root frame
- // /html/body/div/iframe evaluates to an iframe within the level-1 iframe
- // /frameset/frame[0] evaluates to first frame within the level-2 iframe
- virtual WebFrame* GetChildFrame(const std::wstring& xpath) const = 0;
-
- // Returns a pointer to the WebView that contains this WebFrame. This
- // pointer is not AddRef'd and is only valid for the lifetime of the WebFrame
- // unless it is AddRef'd separately by the caller.
- virtual WebView* GetView() const = 0;
-
- // Returns a vector of WebForms (corresponds to document.forms).
- virtual void GetForms(std::vector<WebKit::WebForm>* forms) const = 0;
-
- // Returns the serialization of the frame's security origin.
- virtual std::string GetSecurityOrigin() const = 0;
-
- // Fills the contents of this frame into the given string. If the text is
- // longer than max_chars, it will be clipped to that length. Warning: this
- // function may be slow depending on the number of characters retrieved and
- // page complexity. For a typically sized page, expect it to take on the
- // order of milliseconds.
- //
- // If there is room, subframe text will be recursively appended. Each frame
- // will be separated by an empty line.
- virtual void GetContentAsPlainText(int max_chars,
- std::wstring* text) const = 0;
-
- // Searches a frame for a given string.
- //
- // If a match is found, this function will select it (scrolling down to make
- // it visible if needed) and fill in the IntRect (selection_rect) with the
- // location of where the match was found (in screen coordinates).
- //
- // If no match is found, this function clears all tickmarks and highlighting.
- //
- // Returns true if the search string was found, false otherwise.
- virtual bool Find(int request_id,
- const string16& search_text,
- const WebKit::WebFindOptions& options,
- bool wrap_within_frame,
- WebKit::WebRect* selection_rect) = 0;
-
- // Notifies the frame that we are no longer interested in searching. This will
- // abort any asynchronous scoping effort already under way (see the function
- // ScopeStringMatches for details) and erase all tick-marks and highlighting
- // from the previous search. If |clear_selection| is true, it will also make
- // sure the end state for the Find operation does not leave a selection.
- // This can occur when the user clears the search string but does not close
- // the find box.
- virtual void StopFinding(bool clear_selection) = 0;
-
- // Counts how many times a particular string occurs within the frame. It
- // also retrieves the location of the string and updates a vector in the frame
- // so that tick-marks and highlighting can be drawn. This function does its
- // work asynchronously, by running for a certain time-slice and then
- // scheduling itself (co-operative multitasking) to be invoked later
- // (repeating the process until all matches have been found). This allows
- // multiple frames to be searched at the same time and provides a way to
- // cancel at any time (see CancelPendingScopingEffort). The parameter Request
- // specifies what to look for and Reset signals whether this is a brand new
- // request or a continuation of the last scoping effort.
- virtual void ScopeStringMatches(int request_id,
- const string16& search_text,
- const WebKit::WebFindOptions& options,
- bool reset) = 0;
-
- // Cancels any outstanding requests for scoping string matches on a frame.
- virtual void CancelPendingScopingEffort() = 0;
-
- // This function is called on the mainframe during the scoping effort to keep
- // a running tally of the accumulated total match-count for all frames. After
- // updating the count it will notify the render-view about the new count.
- virtual void IncreaseMatchCount(int count, int request_id) = 0;
-
- // Notifies the webview-delegate about a new selection rect. This will result
- // in the browser getting notified. For more information see WebViewDelegate.
- virtual void ReportFindInPageSelection(const WebKit::WebRect& selection_rect,
- int active_match_ordinal,
- int request_id) = 0;
-
- // This function is called on the mainframe to reset the total number of
- // matches found during the scoping effort.
- virtual void ResetMatchCount() = 0;
-
- // Returns true if the frame is visible (defined as width > 0 and height > 0).
- virtual bool Visible() = 0;
-
- // Selects all the text in the frame.
- virtual void SelectAll() = 0;
-
- //
- // - (void)copy:(id)sender;
- virtual void Copy() = 0;
-
- //
- // - (void)cut:(id)sender;
- virtual void Cut() = 0;
-
- //
- // - (void)paste:(id)sender;
- virtual void Paste() = 0;
-
- // Replace the selection text by a given text.
- virtual void Replace(const std::wstring& text) = 0;
-
- // Toggle spell check on and off.
- virtual void ToggleSpellCheck() = 0;
-
- // Return whether spell check is enabled or not in this frame.
- virtual bool SpellCheckEnabled() = 0;
-
- //
- // - (void)delete:(id)sender;
- // Delete as in similar to Cut, not as in teardown
- virtual void Delete() = 0;
-
- // Undo the last text editing command.
- virtual void Undo() = 0;
-
- // Redo the last undone text editing command.
- virtual void Redo() = 0;
-
- // Clear any text selection in the frame.
- virtual void ClearSelection() = 0;
-
- // Checks if there is currently a selected area (indicates that GetSelection
- // would return a non-empty string).
- virtual bool HasSelection() = 0;
-
- // Returns the selected text if there is any. If |as_html| is true, returns
- // the selection as HTML. The return value is encoded in utf-8.
- virtual std::string GetSelection(bool as_html) = 0;
-
- // Returns the full HTML of the page.
- virtual std::string GetFullPageHtml() = 0;
-
- // This function sets a flag within WebKit to instruct it to render the page
- // as View-Source (showing the HTML source for the page).
- virtual void SetInViewSourceMode(bool enable) = 0;
-
- // This function returns whether this frame is in "view-source" mode.
- virtual bool GetInViewSourceMode() const = 0;
-
- // Returns the frame name.
- virtual std::wstring GetName() = 0;
-
- // Returns a pointer to the WebTextInput object associated with the frame.
- // The caller does not own the object returned.
- virtual WebTextInput* GetTextInput() = 0;
-
- // Executes a webkit editor command. The supported commands are a
- // superset of those accepted by javascript:document.execCommand().
- // This method is exposed in order to implement
- // javascript:layoutTestController.execCommand()
- virtual bool ExecuteEditCommandByName(const std::string& name,
- const std::string& value) = 0;
-
- // Checks whether a webkit editor command is currently enabled. This
- // method is exposed in order to implement
- // javascript:layoutTestController.isCommandEnabled()
- virtual bool IsEditCommandEnabled(const std::string& name) = 0;
-
- // Adds a message to the frame's console.
- virtual void AddMessageToConsole(const WebKit::WebConsoleMessage&) = 0;
-
- // The current scroll offset from the top of frame in pixels.
- virtual WebKit::WebSize ScrollOffset() const = 0;
-
- // Reformats the WebFrame for printing. page_size is the page size in
- // pixels. Returns the number of pages that can be printed at the given page
- // size.
- virtual int PrintBegin(const WebKit::WebSize& page_size) = 0;
-
- // Prints one page, and returns the calculated page shrinking factor (usually
- // between 1/1.25 and 1/2). Returns 0 if the page number is invalid or not
- // in printing mode.
- virtual float PrintPage(int page_to_print, WebKit::WebCanvas* canvas) = 0;
-
- // Reformats the WebFrame for screen display.
- virtual void PrintEnd() = 0;
-
- // Only for test_shell
- virtual int PendingFrameUnloadEventCount() const = 0;
-
- protected:
- virtual ~WebFrame() {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(WebFrame);
-};
-
-#endif // WEBKIT_GLUE_WEBFRAME_H_