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

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

Introduction

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

Prototype

public abstract boolean isBoolean();

Source Link

Document

Returns true if the JS value is 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;/*  w w w  .j ava 2s  .com*/
    }
    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;/*from  ww w  .  j a  v a 2  s  .  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;
    }
    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;
            }
        }
    });
}