List of usage examples for com.google.gwt.dev.shell.designtime JsValue getBoolean
public abstract boolean getBoolean();
From source file:com.google.gdt.eclipse.designer.moz.BrowserShellLinux32.java
License:Open Source License
@Override protected void fetchWindow() throws Exception { // looks like FireFox 1.5 fires this event every time when DOM changed. // We need the first-time event only if (m_window != 0 || m_windowPrivate != 0) { return;/*from w w w.j a v a2s . c o m*/ } nsIWebBrowser webBrowser; if (m_isBrowser33) { // 3.3M5+ Field webBrowserField = m_webBrowser.getClass().getDeclaredField("webBrowser"); webBrowserField.setAccessible(true); webBrowser = (nsIWebBrowser) webBrowserField.get(m_webBrowser); } else { // previous versions webBrowser = (nsIWebBrowser) m_webBrowser; } int /*long*/[] aContentDOMWindow = new int /*long*/[1]; webBrowser.GetContentDOMWindow(aContentDOMWindow); final int /*long*/ window = LowLevelMoz32/*64*/.getScriptObjectProxy(aContentDOMWindow[0]); if (window == 0) { m_unsupportedBrowserVersion = true; return; } System.out.println("window = " + window); m_windowPrivate = window; // add body.onLoad execution watcher // do it async because we can't manipulating with JS here. Display.getCurrent().asyncExec(new Runnable() { public void run() { try { JsValueMoz32/*64*/ externalJSObject = new JsValueMoz32/*64*/(); externalJSObject.setWrappedJavaObject(new GwtOnLoadDispatchObject32/*64*/()); createAndInvoke("__defineExternal", new String[] { "__arg0" }, "window.__wbp_geckoExternal = __arg0;", new int /*long*/[] { externalJSObject.getJsRootedValue() }); } catch (Throwable e) { throw new HostedModeException(HostedModeException.LINUX_HOSTED_MODE_INIT_ERROR, e); } } }); Display.getCurrent().asyncExec(new Runnable() { public void run() { try { JsValue returnVal = createAndInvoke("__isInitializersReady", new String[0], "return (window.__wbp_geckoExternal != undefined) && (window.__wbp_geckoExternal.gwtOnLoad != undefined);", new int[0]); if (!returnVal.isBoolean() || !returnVal.getBoolean()) { throw new HostedModeException(HostedModeException.LINUX_HOSTED_MODE_INIT_ERROR); } } catch (Throwable e) { m_exception[0] = e; } } }); }
From source file:com.google.gdt.eclipse.designer.moz.BrowserShellLinux64.java
License:Open Source License
@Override protected void fetchWindow() throws Exception { // looks like FireFox 1.5 fires this event every time when DOM changed. // We need the first-time event only if (m_window != 0 || m_windowPrivate != 0) { return;//ww w. j a v a2 s . co m } nsIWebBrowser webBrowser; if (m_isBrowser33) { // 3.3M5+ Field webBrowserField = m_webBrowser.getClass().getDeclaredField("webBrowser"); webBrowserField.setAccessible(true); webBrowser = (nsIWebBrowser) webBrowserField.get(m_webBrowser); } else { // previous versions webBrowser = (nsIWebBrowser) m_webBrowser; } long[] aContentDOMWindow = new long[1]; // use reflection for to be compiled under 32bit environment // webBrowser.GetContentDOMWindow(aContentDOMWindow); Method webBrowser_GetContentDOMWindow = webBrowser.getClass().getMethod("GetContentDOMWindow", new Class[] { long[].class }); webBrowser_GetContentDOMWindow.invoke(webBrowser, new Object[] { aContentDOMWindow }); final long window = LowLevelMoz64.getScriptObjectProxy(aContentDOMWindow[0]); if (window == 0) { m_unsupportedBrowserVersion = true; return; } System.out.println("window = " + window); m_windowPrivate = window; // add body.onLoad execution watcher // do it async because we can't manipulating with JS here. Display.getCurrent().asyncExec(new Runnable() { public void run() { try { JsValueMoz64 externalJSObject = new JsValueMoz64(); externalJSObject.setWrappedJavaObject(new GwtOnLoadDispatchObject64()); createAndInvoke("__defineExternal", new String[] { "__arg0" }, "window.__wbp_geckoExternal = __arg0;", new long[] { externalJSObject.getJsRootedValue() }); } catch (Throwable e) { throw new HostedModeException(HostedModeException.LINUX_HOSTED_MODE_INIT_ERROR, e); } } }); Display.getCurrent().asyncExec(new Runnable() { public void run() { try { JsValue returnVal = createAndInvoke("__isInitializersReady", new String[0], "return (window.__wbp_geckoExternal != undefined) && (window.__wbp_geckoExternal.gwtOnLoad != undefined);", new long[0]); if (!returnVal.isBoolean() || !returnVal.getBoolean()) { throw new HostedModeException(HostedModeException.LINUX_HOSTED_MODE_INIT_ERROR); } } catch (Throwable e) { m_exception[0] = e; } } }); }