Package com.biglybt.ui.swt.browser
Class BrowserContext
- java.lang.Object
-
- com.biglybt.core.messenger.ClientMessageContextImpl
-
- com.biglybt.ui.swt.browser.BrowserContext
-
- All Implemented Interfaces:
ClientMessageContext
,java.util.EventListener
,org.eclipse.swt.events.DisposeListener
,org.eclipse.swt.internal.SWTEventListener
public class BrowserContext extends ClientMessageContextImpl implements org.eclipse.swt.events.DisposeListener
Manages the context for a single SWTBrowser
component, including listeners and messages.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
BrowserContext.loadingListener
-
Nested classes/interfaces inherited from interface com.biglybt.core.messenger.ClientMessageContext
ClientMessageContext.torrentURLHandler
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
allowPopups
private boolean
autoReloadPending
private BrowserWrapper
browser
private TimerEventPeriodic
checkURLEvent
private static java.lang.String
CONTEXT_KEY
private org.eclipse.swt.widgets.Display
display
private boolean
forceVisibleAfterLoad
private static java.lang.String
KEY_ENABLE_MENU
private java.lang.String[]
lastRetryData
private java.lang.String
lastValidURL
private java.util.List<java.lang.String>
listJS
private java.util.List
loadingListeners
private MessageDispatcherSWT
messageDispatcherSWT
private AEMonitor
mon_listJS
private boolean
pageLoading
private long
pageLoadingEnd
private long
pageLoadingStart
private java.lang.String[]
popoutBlacklist
private java.lang.String[]
popoutWhitelist
private ClientMessageContext.torrentURLHandler
torrentURLHandler
private org.eclipse.swt.widgets.Control
widgetWaitIndicator
-
Constructor Summary
Constructors Constructor Description BrowserContext(java.lang.String _id, BrowserWrapper _browser, org.eclipse.swt.widgets.Control _widgetWaitingIndicator, boolean _forceVisibleAfterLoad)
Creates a context and registers the given browser.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(BrowserContext.loadingListener l)
void
addMessageListener(BrowserMessageListener listener)
boolean
allowPopups()
private void
deregisterBrowser()
boolean
executeInBrowser(java.lang.String javascript)
void
fillWithRetry(java.lang.String s, java.lang.String s2)
java.lang.Object
getBrowserData(java.lang.String key)
protected java.lang.String[]
getContentTypes(java.lang.String event_location, java.lang.String _referer)
private java.lang.String
getShortJavascript(java.lang.String javascript)
boolean
isPageLoading()
private boolean
isPopoutBlocked(java.lang.String location)
protected boolean
mayExecute(java.lang.String javascript)
protected boolean
maySend(java.lang.String key, java.lang.String op, java.util.Map params)
protected boolean
openTorrent(BrowserWrapper browser, org.eclipse.swt.browser.LocationEvent event)
boolean
sendBrowserMessage(java.lang.String key, java.lang.String op)
Sends a message to the JavaScript message dispatcher in the page.boolean
sendBrowserMessage(java.lang.String key, java.lang.String op, java.util.Collection params)
boolean
sendBrowserMessage(java.lang.String key, java.lang.String op, java.util.Map params)
Sends a message to the JavaScript message dispatcher in the page.void
setAllowPopups(boolean allowPopups)
void
setAutoReloadPending(boolean is_pending, boolean aborted)
void
setBrowserData(java.lang.String key, java.lang.Object value)
protected void
setPageLoading(boolean b, java.lang.String url)
void
setPopoutBlacklist(java.lang.String[] list)
void
setPopoutWhitelist(java.lang.String[] list)
void
setTorrentURLHandler(ClientMessageContext.torrentURLHandler handler)
void
widgetDisposed(org.eclipse.swt.events.DisposeEvent event)
-
Methods inherited from class com.biglybt.core.messenger.ClientMessageContextImpl
debug, debug, getDispatcher, getID, removeMessageListener, removeMessageListener, setMessageDispatcher
-
-
-
-
Field Detail
-
CONTEXT_KEY
private static final java.lang.String CONTEXT_KEY
- See Also:
- Constant Field Values
-
KEY_ENABLE_MENU
private static final java.lang.String KEY_ENABLE_MENU
- See Also:
- Constant Field Values
-
browser
private BrowserWrapper browser
-
display
private org.eclipse.swt.widgets.Display display
-
pageLoading
private boolean pageLoading
-
pageLoadingStart
private long pageLoadingStart
-
pageLoadingEnd
private long pageLoadingEnd
-
lastValidURL
private java.lang.String lastValidURL
-
forceVisibleAfterLoad
private final boolean forceVisibleAfterLoad
-
checkURLEvent
private TimerEventPeriodic checkURLEvent
-
widgetWaitIndicator
private org.eclipse.swt.widgets.Control widgetWaitIndicator
-
messageDispatcherSWT
private MessageDispatcherSWT messageDispatcherSWT
-
torrentURLHandler
private ClientMessageContext.torrentURLHandler torrentURLHandler
-
loadingListeners
private java.util.List loadingListeners
-
mon_listJS
private AEMonitor mon_listJS
-
listJS
private java.util.List<java.lang.String> listJS
-
allowPopups
private boolean allowPopups
-
popoutWhitelist
private java.lang.String[] popoutWhitelist
-
popoutBlacklist
private java.lang.String[] popoutBlacklist
-
autoReloadPending
private volatile boolean autoReloadPending
-
lastRetryData
private java.lang.String[] lastRetryData
-
-
Constructor Detail
-
BrowserContext
public BrowserContext(java.lang.String _id, BrowserWrapper _browser, org.eclipse.swt.widgets.Control _widgetWaitingIndicator, boolean _forceVisibleAfterLoad)
Creates a context and registers the given browser.- Parameters:
_id
- unique identifier of this context_browser
- the browser to be registered
-
-
Method Detail
-
openTorrent
protected boolean openTorrent(BrowserWrapper browser, org.eclipse.swt.browser.LocationEvent event)
-
getContentTypes
protected java.lang.String[] getContentTypes(java.lang.String event_location, java.lang.String _referer)
-
setPageLoading
protected void setPageLoading(boolean b, java.lang.String url)
- Parameters:
b
-url
-- Since:
- 3.1.1.1
-
setTorrentURLHandler
public void setTorrentURLHandler(ClientMessageContext.torrentURLHandler handler)
- Specified by:
setTorrentURLHandler
in interfaceClientMessageContext
-
setAutoReloadPending
public void setAutoReloadPending(boolean is_pending, boolean aborted)
-
fillWithRetry
public void fillWithRetry(java.lang.String s, java.lang.String s2)
-
deregisterBrowser
private void deregisterBrowser()
-
addMessageListener
public void addMessageListener(BrowserMessageListener listener)
- Specified by:
addMessageListener
in interfaceClientMessageContext
- Overrides:
addMessageListener
in classClientMessageContextImpl
-
getBrowserData
public java.lang.Object getBrowserData(java.lang.String key)
- Specified by:
getBrowserData
in interfaceClientMessageContext
-
setBrowserData
public void setBrowserData(java.lang.String key, java.lang.Object value)
- Specified by:
setBrowserData
in interfaceClientMessageContext
-
sendBrowserMessage
public boolean sendBrowserMessage(java.lang.String key, java.lang.String op)
Description copied from interface:ClientMessageContext
Sends a message to the JavaScript message dispatcher in the page.- Specified by:
sendBrowserMessage
in interfaceClientMessageContext
- Parameters:
key
- identifies the listener to receive the messageop
- identifies the operation to perform
-
sendBrowserMessage
public boolean sendBrowserMessage(java.lang.String key, java.lang.String op, java.util.Map params)
Description copied from interface:ClientMessageContext
Sends a message to the JavaScript message dispatcher in the page.- Specified by:
sendBrowserMessage
in interfaceClientMessageContext
- Parameters:
key
- identifies the listener to receive the messageop
- identifies the operation to performparams
- optional message parameters
-
sendBrowserMessage
public boolean sendBrowserMessage(java.lang.String key, java.lang.String op, java.util.Collection params)
- Specified by:
sendBrowserMessage
in interfaceClientMessageContext
- Returns:
-
maySend
protected boolean maySend(java.lang.String key, java.lang.String op, java.util.Map params)
-
executeInBrowser
public boolean executeInBrowser(java.lang.String javascript)
- Specified by:
executeInBrowser
in interfaceClientMessageContext
-
mayExecute
protected boolean mayExecute(java.lang.String javascript)
-
widgetDisposed
public void widgetDisposed(org.eclipse.swt.events.DisposeEvent event)
- Specified by:
widgetDisposed
in interfaceorg.eclipse.swt.events.DisposeListener
-
getShortJavascript
private java.lang.String getShortJavascript(java.lang.String javascript)
-
isPageLoading
public boolean isPageLoading()
-
addListener
public void addListener(BrowserContext.loadingListener l)
-
setAllowPopups
public void setAllowPopups(boolean allowPopups)
-
allowPopups
public boolean allowPopups()
-
setPopoutWhitelist
public void setPopoutWhitelist(java.lang.String[] list)
-
setPopoutBlacklist
public void setPopoutBlacklist(java.lang.String[] list)
-
isPopoutBlocked
private boolean isPopoutBlocked(java.lang.String location)
-
-