Interface HtmlRendererContext

All Known Implementing Classes:
AbstractHtmlRendererContext, SimpleHtmlRendererContext

public interface HtmlRendererContext
The HtmlRendererContext interface must be implemented in order to use the Cobra HTML renderer. An instance of this interface will be called back whenever the renderer needs to perform an action that it is not designed to know how to perform on its own, e.g. opening a browser window or a context menu. In many ways this interface parallers the Javascript Window class (which in reality represents a browser frame, not a window).

A simple implementation of this interface is provided in SimpleHtmlRendererContext.

See Also:
  • Method Details

    • linkClicked

      void linkClicked(HTMLElement linkNode, URL url, String target)
      Performs a link click. Implementations should invoke navigate(URL, String).
      Parameters:
      linkNode - The HTML node that was clicked.
      url - The destination URL.
      target - Same as the target attribute in the HTML anchor tag, i.e. _top, _blank, etc.
    • getFrames

      HTMLCollection getFrames()
      Gets a collection of frames from the document currently in the context.
    • submitForm

      void submitForm(String method, URL action, String target, String enctype, FormInput[] formInputs)
      Submits a HTML form. Note that when the the method is "GET", parameters are still expected to be part of formInputs.
      Parameters:
      method - The request method, GET or POST.
      action - The destination URL.
      target - Same as the target attribute in the FORM tag, i.e. _blank, _top, etc.
      enctype - The encoding type.
      formInputs - An array of FormInput instances.
    • createBrowserFrame

      BrowserFrame createBrowserFrame()
      Creates a BrowserFrame instance.
    • getUserAgentContext

      UserAgentContext getUserAgentContext()
      Gets the user agent context.
    • getHtmlObject

      HtmlObject getHtmlObject(HTMLElement element)
      Gets a HtmlObject instance that implements a OBJECT tag from HTML.
      Parameters:
      element - The DOM element for the object, which may either represent an OBJECT, EMBED or an APPLET tag.
      Returns:
      Implementations of this method must return null if they have any problems producing a HtmlObject instance. This is particularly true of OBJECT tags, where inner HTML of the tag must be rendered if the OBJECT content cannot be handled.
    • onContextMenu

      boolean onContextMenu(HTMLElement element, MouseEvent event)
      This method is called when a visual element is right-clicked.
      Parameters:
      element - The narrowest element enclosing the mouse location.
      event - The mouse event.
      Returns:
      The method should return true to continue propagating the event, or false to stop propagating it.
    • onMouseClick

      boolean onMouseClick(HTMLElement element, MouseEvent event)
      This method is called when there's a mouse click on an element.
      Parameters:
      element - The narrowest element enclosing the mouse location.
      event - The mouse event.
      Returns:
      The method should return true to continue propagating the event, or false to stop propagating it.
    • onDoubleClick

      boolean onDoubleClick(HTMLElement element, MouseEvent event)
      This method is called when there's a mouse double-click on an element.
      Parameters:
      element - The narrowest element enclosing the mouse location.
      event - The mouse event.
      Returns:
      The method should return true to continue propagating the event, or false to stop propagating it.
    • onMouseOver

      void onMouseOver(HTMLElement element, MouseEvent event)
      This method is called when the mouse first hovers over an element.
      Parameters:
      element - The element that the mouse has just entered.
      event - The mouse event.
    • onMouseOut

      void onMouseOut(HTMLElement element, MouseEvent event)
      This method is called when the mouse no longer hovers a given element.
      Parameters:
      element - The element that the mouse has just exited.
      event - The mouse event.
    • isImageLoadingEnabled

      boolean isImageLoadingEnabled()
      This method should return true if and only if image loading needs to be enabled.
    • alert

      void alert(String message)
      Opens an alert dialog.
      Parameters:
      message - Message shown by the dialog.
    • back

      void back()
      Goes to the previous page in the browser's history.
    • blur

      void blur()
      Relinquishes focus.
    • close

      void close()
      Closes the browser window, provided this is allowed for the current context.
    • confirm

      boolean confirm(String message)
      Opens a confirmation dialog.
      Parameters:
      message - The message shown by the confirmation dialog.
      Returns:
      True if the user selects YES.
    • focus

      void focus()
      Requests focus for the current window.
    • open

      HtmlRendererContext open(String absoluteUrl, String windowName, String windowFeatures, boolean replace)
      Deprecated.
      Opens a separate browser window and renders a URL.
      Parameters:
      absoluteUrl - The URL to be rendered.
      windowName - The name of the new window.
      windowFeatures - The features of the new window (same as in Javascript open method).
      replace -
      Returns:
      A new HtmlRendererContext instance.
    • open

      HtmlRendererContext open(URL url, String windowName, String windowFeatures, boolean replace)
      Opens a separate browser window and renders a URL.
      Parameters:
      url - The URL to be rendered.
      windowName - The name of the new window.
      windowFeatures - The features of the new window (same as in Javascript open method).
      replace -
      Returns:
      A new HtmlRendererContext instance.
    • prompt

      String prompt(String message, String inputDefault)
      Shows a prompt dialog.
      Parameters:
      message - The message shown by the dialog.
      inputDefault - The default input value.
      Returns:
      The user's input value.
    • scroll

      void scroll(int x, int y)
      Scrolls the client area.
      Parameters:
      x - Document's x coordinate.
      y - Document's y coordinate.
    • scrollBy

      void scrollBy(int x, int y)
      Scrolls the client area.
      Parameters:
      x - Horizontal pixels to scroll.
      y - Vertical pixels to scroll.
    • resizeTo

      void resizeTo(int width, int height)
      Resizes the window.
      Parameters:
      width - The new width.
      height - The new height.
    • resizeBy

      void resizeBy(int byWidth, int byHeight)
      Resizes the window.
      Parameters:
      byWidth - The number of pixels to resize the width by.
      byHeight - The number of pixels to resize the height by.
    • isClosed

      boolean isClosed()
      Gets a value indicating if the window is closed.
    • getDefaultStatus

      String getDefaultStatus()
    • setDefaultStatus

      void setDefaultStatus(String value)
    • getName

      String getName()
      Gets the window name.
    • getParent

      HtmlRendererContext getParent()
      Gets the parent of the frame/window in the current context.
    • getOpener

      HtmlRendererContext getOpener()
      Gets the opener of the frame/window in the current context.
    • setOpener

      void setOpener(HtmlRendererContext opener)
      Sets the context that opened the current frame/window.
      Parameters:
      opener - A HtmlRendererContext.
    • getStatus

      String getStatus()
      Gets the window status text.
    • setStatus

      void setStatus(String message)
      Sets the window status text.
      Parameters:
      message - A string.
    • getTop

      Gets the top-most browser frame/window.
    • isVisitedLink

      boolean isVisitedLink(HTMLLinkElement link)
      It should return true if the link provided has been visited.
    • reload

      void reload()
      Reloads the current document.
    • getHistoryLength

      int getHistoryLength()
      Gets the number of pages in the history list.
    • getCurrentURL

      String getCurrentURL()
      Gets the current URL in history.
    • getNextURL

      String getNextURL()
      Gets the next URL in the history.
    • getPreviousURL

      String getPreviousURL()
      Gets the previous URL in the history.
    • forward

      void forward()
      Goes forward one page.
    • moveInHistory

      void moveInHistory(int offset)
      Navigates the history according to the given offset.
      Parameters:
      offset - A positive or negative number. -1 is equivalent to back(). +1 is equivalent to forward().
    • goToHistoryURL

      void goToHistoryURL(String url)
      Navigates to a URL in the history list.