Example usage for com.google.gwt.dev.shell.designtime JsValue getBoolean

List of usage examples for com.google.gwt.dev.shell.designtime JsValue getBoolean

Introduction

In this page you can find the example usage for com.google.gwt.dev.shell.designtime JsValue getBoolean.

Prototype

public abstract boolean getBoolean();

Source Link

Document

Get the value of the object as a boolean.

Usage

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;
            }
        }
    });
}