Package org.eclipse.swt.browser

# Class Browser

java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.swt.browser.Browser

All Implemented Interfaces:
  `Drawable`

public class Browser extends Composite
Instances of this class implement the browser user interface metaphor. It allows the user to visualize and navigate through HTML documents.

Note that although this class is a subclass of `Composite`, it does not make sense to set a layout on it.

Styles:
  NONE, WEBKIT
Events:
  CloseWindowListener, LocationListener, OpenWindowListener, ProgressListener, StatusTextListener, TitleListener, VisibilityWindowListener

IMPORTANT: This class is not intended to be subclassed.

Since:
  3.0
See Also:
  - Browser snippets
  - SWT Examples: ControlExample, BrowserExample
  - Sample code and further information
Restriction:
  This class is not intended to be subclassed by clients.

## Field Summary

### Fields inherited from class org.eclipse.swt.widgets.Control

`handle`

### Fields inherited from class org.eclipse.swt.widgets.Widget

`nativeZoom`

## Constructor Summary

Constructors
Constructor
Description
`Browser(Composite parent, int style)`
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

## Method Summary

Modifier and Type
Method
Description
`void`
`addAuthenticationListener(AuthenticationListener listener)`
Adds the listener to the collection of listeners who will be notified when authentication is required.
`void`
`addCloseWindowListener(CloseWindowListener listener)`
Adds the listener to the collection of listeners who will be notified when the window hosting the receiver should be closed.
`void`
`addLocationListener(LocationListener listener)`
Adds the listener to the collection of listeners who will be notified when the current location has changed or is about to change.
`void`
`addOpenWindowListener(OpenWindowListener listener)`
Adds the listener to the collection of listeners who will be notified when a new window needs to be created.
`void`
`addProgressListener(ProgressListener listener)`
Adds the listener to the collection of listeners who will be notified when a progress is made during the loading of the current URL or when the loading of the current URL has been completed.
`void`
`addStatusTextListener(StatusTextListener listener)`
Adds the listener to the collection of listeners who will be notified when the status text is changed.
`void`
`addTitleListener(TitleListener listener)`
Adds the listener to the collection of listeners who will be notified when the title of the current document is available or has changed.
`void`
`addVisibilityWindowListener(VisibilityWindowListener listener)`
Adds the listener to the collection of listeners who will be notified when a window hosting the receiver needs to be displayed or hidden.
`boolean`
`back()`
Navigate to the previous session history item.
`protected void`
`checkSubclass()`
Checks that this class can be subclassed.
`protected void`
`checkWidget()`
Throws an `SWTException` if the receiver can not be accessed by the caller.
`static void`
`clearSessions()`
Clears all session cookies from all current Browser instances.
`boolean`
`close()`
Attempts to dispose the receiver, but allows the dispose to be vetoed by the user in response to an `onbeforeunload` listener in the Browser's current page.
`Object`
`evaluate(String script)`
Returns the result, if any, of executing the specified script.
`Object`
`evaluate(String script, boolean trusted)`
Returns the result, if any, of executing the specified script.
`boolean`
`execute(String script)`
Executes the specified script.
`boolean`
`forward()`
Navigate to the next session history item.
`String`
`getBrowserType()`
Returns the type of native browser being used by this instance.
`static String`
`getCookie(String name, String url)`
Returns the value of a cookie that is associated with a URL.
`boolean`
`getJavascriptEnabled()`
Returns `true` if javascript will be allowed to run in pages subsequently viewed in the receiver, and `false` otherwise.
`int`
`getStyle()`
Returns the receiver's style information.
`String`
`getText()`
Returns a string with HTML that represents the content of the current page.
`String`
`getUrl()`
Returns the current URL.
`Object`
`getWebBrowser()`
Deprecated.
SWT.MOZILLA is deprecated and XULRunner as a browser renderer is no longer supported.
`boolean`
`isBackEnabled()`
Returns `true` if the receiver can navigate to the previous session history item, and `false` otherwise.
`boolean`
`isFocusControl()`
Returns `true` if the receiver has the user-interface focus, and `false` otherwise.
`boolean`
`isForwardEnabled()`
Returns `true` if the receiver can navigate to the next session history item, and `false` otherwise.
`void`
`refresh()`
Refresh the current page.
`void`
`removeAuthenticationListener(AuthenticationListener listener)`
Removes the listener from the collection of listeners who will be notified when authentication is required.
`void`
`removeCloseWindowListener(CloseWindowListener listener)`
Removes the listener from the collection of listeners who will be notified when the window hosting the receiver should be closed.
`void`
`removeLocationListener(LocationListener listener)`
Removes the listener from the collection of listeners who will be notified when the current location is changed or about to be changed.
`void`
`removeOpenWindowListener(OpenWindowListener listener)`
Removes the listener from the collection of listeners who will be notified when a new window needs to be created.
`void`
`removeProgressListener(ProgressListener listener)`
Removes the listener from the collection of listeners who will be notified when a progress is made during the loading of the current URL or when the loading of the current URL has been completed.
`void`
`removeStatusTextListener(StatusTextListener listener)`
Removes the listener from the collection of listeners who will be notified when the status text is changed.
`void`
`removeTitleListener(TitleListener listener)`
Removes the listener from the collection of listeners who will be notified when the title of the current document is available or has changed.
`void`
`removeVisibilityWindowListener(VisibilityWindowListener listener)`
Removes the listener from the collection of listeners who will be notified when a window hosting the receiver needs to be displayed or hidden.
`static boolean`
`setCookie(String value, String url)`
Sets a cookie on a URL.
`void`
`setJavascriptEnabled(boolean enabled)`
Sets whether javascript will be allowed to run in pages subsequently viewed in the receiver.
`boolean`
`setText(String html)`
Renders a string containing HTML.
`boolean`
`setText(String html, boolean trusted)`
Renders a string containing HTML.
`boolean`
`setUrl(String url)`
Begins loading a URL.
`boolean`
`setUrl(String url, String postData, String[] headers)`
Begins loading a URL.
`void`
`stop()`
Stop any loading and rendering activity.
`String`
`toString()`
Returns a string containing a concise, human-readable description of the receiver.

### Methods inherited from class org.eclipse.swt.widgets.Composite

`changed, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList`

### Methods inherited from class org.eclipse.swt.widgets.Scrollable

`computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar, setScrollbarsMode`

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getData, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setAutoscalingMode, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setData, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, addTypedListener, dispose, getData, getDisplay, getListeners, getTypedListeners, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, removeListener, removeTypedListener, reskin, setData`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.swt.graphics.Drawable

`isAutoScalable`

## Constructor Details

### Browser

public Browser(Composite parent, int style)
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
  `parent` - a widget which will be the parent of the new instance (cannot be null)
  `style` - the style of widget to construct
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  `SWTError` -
  - ERROR_NO_HANDLES if a handle could not be obtained for browser creation
Since:
  3.0
See Also:
  - `Widget.getStyle()`

## Method Details

### checkWidget

protected void checkWidget()
Description copied from class: `Widget`
Throws an `SWTException` if the receiver can not be accessed by the caller. This may include both checks on the state of the receiver and more generally on the entire execution context. This method should be called by widget implementors to enforce the standard SWT invariants.

Currently, it is an error to invoke any method (other than `isDisposed()`) on a widget that has had its `dispose()` method called. It is also an error to call widget methods from any thread that is different from the thread that created the widget.

In future releases of SWT, there may be more or fewer error checks and exceptions may be thrown for different reasons.

Overrides:
  `checkWidget` in class `Widget`

### clearSessions

public static void clearSessions()
Clears all session cookies from all current Browser instances.

Since:
  3.2

### getCookie

public static String getCookie(String name, String url)
Returns the value of a cookie that is associated with a URL. Note that cookies are shared amongst all Browser instances.

Parameters:
  `name` - the cookie name
  `url` - the URL that the cookie is associated with
Returns:
  the cookie value, or `null` if no such cookie exists
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the name is null
  - ERROR_NULL_ARGUMENT - if the url is null
Since:
  3.5

### setCookie

public static boolean setCookie(String value, String url)
Sets a cookie on a URL. Note that cookies are shared amongst all Browser instances. The `value` parameter must be a cookie header string that complies with RFC 2109. The value is passed through to the native browser unchanged.

Example value strings: `foo=bar` (basic session cookie) `foo=bar; path=/; domain=.eclipse.org` (session cookie) `foo=bar; expires=Tue, 01-Jan-2030 00:00:01 GMT` (persistent cookie) `foo=; expires=Thu, 01-Jan-1970 00:00:01 GMT` (deletes cookie `foo`)

Parameters:
  `value` - the cookie value
  `url` - the URL to associate the cookie with
Returns:
  `true` if the cookie was successfully set and `false` otherwise
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the value is null
  - ERROR_NULL_ARGUMENT - if the url is null
Since:
  3.5

### addAuthenticationListener

public void addAuthenticationListener(AuthenticationListener listener)
Adds the listener to the collection of listeners who will be notified when authentication is required.

This notification occurs when a page requiring authentication is encountered.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.5

### addCloseWindowListener

public void addCloseWindowListener(CloseWindowListener listener)
Adds the listener to the collection of listeners who will be notified when the window hosting the receiver should be closed.

This notification occurs when a javascript command such as `window.close` gets executed by a `Browser`.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### addLocationListener

public void addLocationListener(LocationListener listener)
Adds the listener to the collection of listeners who will be notified when the current location has changed or is about to change.

This notification typically occurs when the application navigates to a new location with `setUrl(String)` or when the user activates a hyperlink.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### addOpenWindowListener

public void addOpenWindowListener(OpenWindowListener listener)
Adds the listener to the collection of listeners who will be notified when a new window needs to be created.

This notification occurs when a javascript command such as `window.open` gets executed by a `Browser`.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### addProgressListener

public void addProgressListener(ProgressListener listener)
Adds the listener to the collection of listeners who will be notified when a progress is made during the loading of the current URL or when the loading of the current URL has been completed.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### addStatusTextListener

public void addStatusTextListener(StatusTextListener listener)
Adds the listener to the collection of listeners who will be notified when the status text is changed.

The status text is typically displayed in the status bar of a browser application.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### addTitleListener

public void addTitleListener(TitleListener listener)
Adds the listener to the collection of listeners who will be notified when the title of the current document is available or has changed.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### addVisibilityWindowListener

public void addVisibilityWindowListener(VisibilityWindowListener listener)
Adds the listener to the collection of listeners who will be notified when a window hosting the receiver needs to be displayed or hidden.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### back

public boolean back()
Navigate to the previous session history item.

Returns:
  `true` if the operation was successful and `false` otherwise
Throws:
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0
See Also:
  - `forward()`

### checkSubclass

protected void checkSubclass()
Description copied from class: `Widget`
Checks that this class can be subclassed.

The SWT class library is intended to be subclassed only at specific, controlled points (most notably, `Composite` and `Canvas` when implementing new widgets). This method enforces this rule unless it is overridden.

IMPORTANT: By providing an implementation of this method that allows a subclass of a class which does not normally allow subclassing to be created, the implementer agrees to be fully responsible for the fact that any such subclass will likely fail between SWT releases and will be strongly platform specific. No support is provided for user-written classes which are implemented in this fashion.

The ability to subclass outside of the allowed SWT classes is intended purely to enable those not on the SWT development team to implement patches in order to get around specific limitations in advance of when those limitations can be addressed by the team. Subclassing should not be attempted without an intimate and detailed understanding of the hierarchy.

Overrides:
  `checkSubclass` in class `Composite`

### execute

public boolean execute(String script)
Executes the specified script.

Executes a script containing javascript commands in the context of the current document. If document-defined functions or properties are accessed by the script then this method should not be invoked until the document has finished loading (`ProgressListener.completed()` gives notification of this).

Parameters:
  `script` - the script with javascript commands
Returns:
  `true` if the operation was successful and `false` otherwise
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the script is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.1
See Also:
  - `ProgressListener.completed(ProgressEvent)`

### close

public boolean close()
Attempts to dispose the receiver, but allows the dispose to be vetoed by the user in response to an `onbeforeunload` listener in the Browser's current page.

Returns:
  `true` if the receiver was disposed, and `false` otherwise
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  3.6
See Also:
  - `Widget.dispose()`

### evaluate

public Object evaluate(String script) throws SWTException
Returns the result, if any, of executing the specified script.

Evaluates a script containing javascript commands in the context of the current document. If document-defined functions or properties are accessed by the script then this method should not be invoked until the document has finished loading (`ProgressListener.completed()` gives notification of this).

If the script returns a value with a supported type then a java representation of the value is returned. The supported javascript -> java mappings are:

- javascript null or undefined -> `null`
- javascript number -> `java.lang.Double`
- javascript string -> `java.lang.String`
- javascript boolean -> `java.lang.Boolean`
- javascript array whose elements are all of supported types -> `java.lang.Object[]`

An `SWTException` is thrown if the return value has an unsupported type, or if evaluating the script causes a javascript error to be thrown.

Parameters:
  `script` - the script with javascript commands
Returns:
  the return value, if any, of executing the script
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the script is null
  `SWTException` -
  - ERROR_FAILED_EVALUATE when the script evaluation causes a javascript error to be thrown
  - ERROR_INVALID_RETURN_VALUE when the script returns a value of unsupported type
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.5
See Also:
  - `evaluate(String,boolean)`
  - `ProgressListener.completed(ProgressEvent)`

### evaluate

public Object evaluate(String script, boolean trusted) throws SWTException
Returns the result, if any, of executing the specified script.

Evaluates a script containing javascript commands. When `trusted` is `true` script is executed in the context of Chrome with Chrome security privileges. When `trusted` is `false` script is executed in the context of the current document with normal privileges.

If document-defined functions or properties are accessed by the script then this method should not be invoked until the document has finished loading (`ProgressListener.completed()` gives notification of this).

If the script returns a value with a supported type then a java representation of the value is returned. The supported javascript -> java mappings are:

- javascript null or undefined -> `null`
- javascript number -> `java.lang.Double`
- javascript string -> `java.lang.String`
- javascript boolean -> `java.lang.Boolean`
- javascript array whose elements are all of supported types -> `java.lang.Object[]`

An `SWTException` is thrown if the return value has an unsupported type, or if evaluating the script causes a javascript error to be thrown.

Parameters:
  `script` - the script with javascript commands
  `trusted` - `true` or `false` depending on the security context to be used
Returns:
  the return value, if any, of executing the script
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the script is null
  `SWTException` -
  - ERROR_FAILED_EVALUATE when the script evaluation causes a javascript error to be thrown
  - ERROR_INVALID_RETURN_VALUE when the script returns a value of unsupported type
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
See Also:
  - `ProgressListener.completed(ProgressEvent)`

### forward

public boolean forward()
Navigate to the next session history item.

Returns:
  `true` if the operation was successful and `false` otherwise
Throws:
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0
See Also:
  - `back()`

### getBrowserType

public String getBrowserType()
Returns the type of native browser being used by this instance. Examples: "ie", "webkit"

Returns:
  the type of the native browser
Since:
  3.5

### getJavascriptEnabled

public boolean getJavascriptEnabled()
Returns `true` if javascript will be allowed to run in pages subsequently viewed in the receiver, and `false` otherwise. Note that this may not reflect the javascript enablement on the currently- viewed page if `setJavascriptEnabled()` has been invoked during its lifetime.

Returns:
  the receiver's javascript enabled state
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  3.5
See Also:
  - `setJavascriptEnabled(boolean)`

### getStyle

public int getStyle()
Description copied from class: `Widget`
Returns the receiver's style information.

Note that the value which is returned by this method may not match the value which was provided to the constructor when the receiver was created. This can occur when the underlying operating system does not support a particular combination of requested styles. For example, if the platform widget used to implement a particular SWT widget always has scroll bars, the result of calling this method would always have the `SWT.H_SCROLL` and `SWT.V_SCROLL` bits set.

Overrides:
  `getStyle` in class `Widget`
Returns:
  the style bits

### getText

public String getText()
Returns a string with HTML that represents the content of the current page.

Returns:
  HTML representing the current page or an empty `String` if this is empty.

  Note, the exact return value is platform dependent. For example on Windows, the returned string is the proccessed webpage with javascript executed and missing html tags added. On Linux and OS X, this returns the original HTML before the browser has processed it.

Throws:
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.4

### getUrl

public String getUrl()
Returns the current URL.

Returns:
  the current URL or an empty `String` if there is no current URL
Throws:
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0
See Also:
  - `setUrl(java.lang.String)`

### getWebBrowser

@Deprecated public Object getWebBrowser()
Deprecated.
SWT.MOZILLA is deprecated and XULRunner as a browser renderer is no longer supported.
Returns the JavaXPCOM `nsIWebBrowser` for the receiver, or `null` if it is not available. In order for an `nsIWebBrowser` to be returned all of the following must be true:

- the receiver's style must be `SWT.MOZILLA`
- the classes from JavaXPCOM >= 1.8.1.2 must be resolvable at runtime
- the version of the underlying XULRunner must be >= 1.8.1.2

Returns:
  the receiver's JavaXPCOM `nsIWebBrowser` or `null`
Since:
  3.3

### isBackEnabled

public boolean isBackEnabled()
Returns `true` if the receiver can navigate to the previous session history item, and `false` otherwise.

Returns:
  the receiver's back command enabled state
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  - `back()`

### isFocusControl

public boolean isFocusControl()
Description copied from class: `Control`
Returns `true` if the receiver has the user-interface focus, and `false` otherwise.

Overrides:
  `isFocusControl` in class `Control`
Returns:
  the receiver's focus state

### isForwardEnabled

public boolean isForwardEnabled()
Returns `true` if the receiver can navigate to the next session history item, and `false` otherwise.

Returns:
  the receiver's forward command enabled state
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  - `forward()`

### refresh

public void refresh()
Refresh the current page.

Throws:
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### removeAuthenticationListener

public void removeAuthenticationListener(AuthenticationListener listener)
Removes the listener from the collection of listeners who will be notified when authentication is required.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.5

### removeCloseWindowListener

public void removeCloseWindowListener(CloseWindowListener listener)
Removes the listener from the collection of listeners who will be notified when the window hosting the receiver should be closed.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### removeLocationListener

public void removeLocationListener(LocationListener listener)
Removes the listener from the collection of listeners who will be notified when the current location is changed or about to be changed.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### removeOpenWindowListener

public void removeOpenWindowListener(OpenWindowListener listener)
Removes the listener from the collection of listeners who will be notified when a new window needs to be created.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### removeProgressListener

public void removeProgressListener(ProgressListener listener)
Removes the listener from the collection of listeners who will be notified when a progress is made during the loading of the current URL or when the loading of the current URL has been completed.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### removeStatusTextListener

public void removeStatusTextListener(StatusTextListener listener)
Removes the listener from the collection of listeners who will be notified when the status text is changed.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### removeTitleListener

public void removeTitleListener(TitleListener listener)
Removes the listener from the collection of listeners who will be notified when the title of the current document is available or has changed.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### removeVisibilityWindowListener

public void removeVisibilityWindowListener(VisibilityWindowListener listener)
Removes the listener from the collection of listeners who will be notified when a window hosting the receiver needs to be displayed or hidden.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### setJavascriptEnabled

public void setJavascriptEnabled(boolean enabled)
Sets whether javascript will be allowed to run in pages subsequently viewed in the receiver. Note that setting this value does not affect the running of javascript in the current page.

Note: When using the `SWT.EDGE` browser on Windows disabling javascript has certain side effects, e.g. proper support for `MouseEvent` depends on it and, when disabled, a limited timer-based fallback implementation is used.

Parameters:
  `enabled` - the receiver's new javascript enabled state
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  3.5

### setText

public boolean setText(String html)
Renders a string containing HTML. The rendering of the content occurs asynchronously. The rendered page will be given trusted permissions; to render the page with untrusted permissions use `setText(String html, boolean trusted)` instead.

The html parameter is Unicode-encoded since it is a java `String`. As a result, the HTML meta tag charset should not be set. The charset is implied by the `String` itself.

Parameters:
  `html` - the HTML content to be rendered
Returns:
  true if the operation was successful and false otherwise.
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the html is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0
See Also:
  - `setText(String,boolean)`
  - `setUrl(java.lang.String)`

### setText

public boolean setText(String html, boolean trusted)
Renders a string containing HTML. The rendering of the content occurs asynchronously. The rendered page can be given either trusted or untrusted permissions.

The `html` parameter is Unicode-encoded since it is a java `String`. As a result, the HTML meta tag charset should not be set. The charset is implied by the `String` itself.

The `trusted` parameter affects the permissions that will be granted to the rendered page. Specifying `true` for trusted gives the page permissions equivalent to a page on the local file system, while specifying `false` for trusted gives the page permissions equivalent to a page from the internet. Page content should be specified as trusted if the invoker created it or trusts its source, since this would allow (for instance) style sheets on the local file system to be referenced. Page content should be specified as untrusted if its source is not trusted or is not known.

Parameters:
  `html` - the HTML content to be rendered
  `trusted` - `false` if the rendered page should be granted restricted permissions and `true` otherwise
Returns:
  `true` if the operation was successful and `false` otherwise.
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the html is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.6
See Also:
  - `setText(String)`
  - `setUrl(java.lang.String)`

### setUrl

public boolean setUrl(String url)
Begins loading a URL. The loading of its content occurs asynchronously.

Parameters:
  `url` - the URL to be loaded
Returns:
  true if the operation was successful and false otherwise.
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the url is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0
See Also:
  - `getUrl()`
  - `setUrl(String,String,String[])`

### setUrl

public boolean setUrl(String url, String postData, String[] headers)
Begins loading a URL. The loading of its content occurs asynchronously.

If the URL causes an HTTP request to be initiated then the provided `postData` and `header` arguments, if any, are sent with the request. A value in the `headers` argument must be a name-value pair with a colon separator in order to be sent (for example: "`user-agent: custom`").

Parameters:
  `url` - the URL to be loaded
  `postData` - post data to be sent with the request, or `null`
  `headers` - header lines to be sent with the request, or `null`
Returns:
  `true` if the operation was successful and `false` otherwise.
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the url is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.6

### stop

public void stop()
Stop any loading and rendering activity.

Throws:
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
  - ERROR_WIDGET_DISPOSED when the widget has been disposed
Since:
  3.0

### toString

public String toString()
Description copied from class: `Widget`
Returns a string containing a concise, human-readable description of the receiver.

Overrides:
  `toString` in class `Composite`
Returns:
  a string representation of the receiver