org.symbian.tools.wrttools.previewer/src/org/symbian/tools/wrttools/previewer/preview/MozillaPreviewPage.java
author Paul Beusterien <paulb@symbian.org>
Tue, 29 Jun 2010 14:08:50 -0700
changeset 401 72386743b723
parent 397 e5346aff014d
permissions -rw-r--r--
Improve TMW messages - bug 3121
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
     1
package org.symbian.tools.wrttools.previewer.preview;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
     2
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
     3
import java.io.File;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
     4
import java.io.IOException;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
     5
import java.net.URL;
303
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
     6
import java.util.Iterator;
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
     7
import java.util.Map;
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
     8
import java.util.Properties;
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
     9
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    10
import org.eclipse.core.net.proxy.IProxyData;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    11
import org.eclipse.core.net.proxy.IProxyService;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    12
import org.eclipse.core.resources.IProject;
303
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    13
import org.eclipse.core.runtime.CoreException;
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    14
import org.eclipse.core.runtime.FileLocator;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    15
import org.eclipse.core.runtime.Platform;
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    16
import org.eclipse.jface.action.Action;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    17
import org.eclipse.jface.action.IToolBarManager;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    18
import org.eclipse.jface.action.Separator;
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    19
import org.eclipse.swt.SWT;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    20
import org.eclipse.swt.browser.Browser;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    21
import org.eclipse.swt.widgets.Composite;
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    22
import org.mozilla.interfaces.nsICookie;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    23
import org.mozilla.interfaces.nsICookieManager;
285
bf9d8e184dd0 Offline mode support on Mac was fixed
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 124
diff changeset
    24
import org.mozilla.interfaces.nsIIOService;
bf9d8e184dd0 Offline mode support on Mac was fixed
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 124
diff changeset
    25
import org.mozilla.interfaces.nsIIOService2;
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    26
import org.mozilla.interfaces.nsIPrefBranch;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    27
import org.mozilla.interfaces.nsIServiceManager;
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    28
import org.mozilla.interfaces.nsISimpleEnumerator;
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    29
import org.mozilla.xpcom.Mozilla;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    30
import org.osgi.framework.Bundle;
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    31
import org.symbian.tools.wrttools.previewer.Images;
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    32
import org.symbian.tools.wrttools.previewer.PreviewerPlugin;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    33
import org.symbian.tools.wrttools.previewer.http.WebAppInterface;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    34
import org.symbian.tools.wrttools.previewer.http.WebappManager;
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    35
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    36
public class MozillaPreviewPage extends AbstractPreviewPage {
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    37
    public class ClearPreferencesAction extends Action {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    38
        public ClearPreferencesAction() {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    39
            setText("Clear");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    40
            setImageDescriptor(PreviewerPlugin.getImageDescriptor(Images.CLEAR_PREFS));
401
72386743b723 Improve TMW messages - bug 3121
Paul Beusterien <paulb@symbian.org>
parents: 397
diff changeset
    41
            setDescription("Forget all Mobile Web application preference values");
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    42
            setToolTipText(getDescription());
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    43
        }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    44
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    45
        @Override
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    46
        public void run() {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    47
            clearPreferences();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    48
        }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    49
    }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    50
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    51
    public static final String XUL_RUNNER_BUNDLE = "org.mozilla.xulrunner";
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    52
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    53
    private static final String XUL_RUNNER_PATH_PARAMETER = "org.eclipse.swt.browser.XULRunnerPath";
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    54
    private nsIPrefBranch mozillaPrefs;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    55
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    56
    public MozillaPreviewPage(IProject project, PreviewView previewView) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    57
        super(project, previewView);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    58
    }
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    59
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    60
    public void clearPreferences() {
303
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    61
        boolean needsRefresh = false;
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    62
        nsIServiceManager servMgr = null;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    63
        try {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    64
            servMgr = Mozilla.getInstance().getServiceManager();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    65
            if (servMgr != null) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    66
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    67
                nsICookieManager cookieManager = (nsICookieManager) servMgr.getServiceByContractID(
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    68
                        "@mozilla.org/cookiemanager;1", nsICookieManager.NS_ICOOKIEMANAGER_IID);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    69
                nsISimpleEnumerator enumerator = cookieManager.getEnumerator();
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
    70
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    71
                while (enumerator.hasMoreElements()) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    72
                    nsICookie cookie = (nsICookie) enumerator.getNext().queryInterface(nsICookie.NS_ICOOKIE_IID);
303
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    73
                    cookieManager.remove(cookie.getHost(), cookie.getName(), cookie.getPath(), false);
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    74
                    needsRefresh = true;
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    75
                }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    76
            }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    77
        } catch (Exception x) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    78
            PreviewerPlugin.log(x);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    79
            // known to throw NullPointException on Mac OS when you're not using 
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    80
            // Mozilla. We don't want to pollute the error log with this
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    81
            return;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    82
        }
303
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    83
        try {
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    84
            Properties properties = ProjectPreferencesManager.getProjectProperties(project);
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    85
            for (Iterator<Map.Entry<Object, Object>> i = properties.entrySet().iterator(); i.hasNext();) {
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    86
                Map.Entry<Object, Object> entry = i.next();
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    87
                if (entry.getKey() == null || !entry.getKey().toString().startsWith("__SYM_")) {
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    88
                    i.remove();
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    89
                    needsRefresh = true;
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    90
                }
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    91
            }
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    92
            if (needsRefresh) {
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    93
                ProjectPreferencesManager.setProjectProperties(project, properties);
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    94
            }
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    95
        } catch (IOException e) {
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    96
            PreviewerPlugin.log(e);
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    97
        } catch (CoreException e) {
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
    98
            PreviewerPlugin.log(e);
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
    99
        }
303
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
   100
        if (needsRefresh) {
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
   101
            refresh(true);
a619b3ef3095 Bug 2482 - Store previewer user information in workspace
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 288
diff changeset
   102
        }
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   103
    }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   104
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   105
    private synchronized void initMozilla() {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   106
        if (System.getProperty(XUL_RUNNER_PATH_PARAMETER) == null) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   107
            Bundle bundle = Platform.getBundle(XUL_RUNNER_BUNDLE);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   108
            if (bundle != null) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   109
                URL resourceUrl = bundle.getResource("xulrunner"); //$NON-NLS-1$
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   110
                if (resourceUrl != null) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   111
                    try {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   112
                        URL fileUrl = FileLocator.toFileURL(resourceUrl);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   113
                        File file = new File(fileUrl.getPath());
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   114
                        System.setProperty(XUL_RUNNER_PATH_PARAMETER, file.getAbsolutePath());
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   115
                    } catch (IOException e) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   116
                        PreviewerPlugin.log(e);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   117
                    }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   118
                }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   119
            }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   120
        }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   121
    }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   122
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   123
    @Override
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   124
    protected Browser createBrowser(Composite parent) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   125
        initMozilla();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   126
        final Browser browser = new Browser(parent, SWT.MOZILLA);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   127
        bypassSameOriginPolicy();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   128
        applyProxySettings();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   129
        return browser;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   130
    }
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
   131
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   132
    private void applyProxySettings() {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   133
        IProxyService px = PreviewerPlugin.getDefault().getProxyService();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   134
        if (px != null) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   135
            boolean proxyEnabled = px.isProxiesEnabled();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   136
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   137
            boolean systemProxy = px.isSystemProxiesEnabled();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   138
            if (proxyEnabled && !systemProxy) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   139
                IProxyData pd = px.getProxyData(IProxyData.HTTP_PROXY_TYPE);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   140
                if (pd != null && mozillaPrefs != null) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   141
                    String host = pd.getHost();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   142
                    int port = pd.getPort();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   143
                    if (host != null && port != -1) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   144
                        mozillaPrefs.setIntPref("network.proxy.type", 1);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   145
                        mozillaPrefs.setCharPref("network.proxy.http", host);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   146
                        mozillaPrefs.setIntPref("network.proxy.http_port", port);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   147
                    }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   148
                }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   149
            }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   150
        } else {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   151
            Exception e = new Exception();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   152
            PreviewerPlugin.log("Proxy service returned null", e);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   153
        }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   154
    }
285
bf9d8e184dd0 Offline mode support on Mac was fixed
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 124
diff changeset
   155
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   156
    private void bypassSameOriginPolicy() {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   157
        WebAppInterface.getInstance();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   158
        try {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   159
            nsIServiceManager servMgr = null;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   160
            try {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   161
                servMgr = Mozilla.getInstance().getServiceManager();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   162
                if (servMgr == null) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   163
                    return;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   164
                }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   165
            } catch (Exception x) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   166
                PreviewerPlugin.log(x);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   167
                // known to throw NullPointException on Mac OS when you're not using 
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   168
                // Mozilla. We don't want to pollute the error log with this
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   169
                return;
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   170
            }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   171
            mozillaPrefs = (nsIPrefBranch) servMgr.getServiceByContractID("@mozilla.org/preferences-service;1",
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   172
                    nsIPrefBranch.NS_IPREFBRANCH_IID);
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
   173
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   174
            mozillaPrefs.setBoolPref("signed.applets.codebase_principal_support", 1);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   175
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   176
            mozillaPrefs.setCharPref("capability.policy.default.XMLDocument.getElementsByTagName", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   177
            mozillaPrefs.setCharPref("capability.policy.default.CDATASection.nodeValue", "allAccess");
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
   178
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   179
            mozillaPrefs.setCharPref("capability.policy.default.HTMLCollection.length", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   180
            mozillaPrefs.setCharPref("capability.policy.default.HTMLCollection.item", "allAccess");
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
   181
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   182
            mozillaPrefs.setCharPref("capability.policy.default.*.nodeValue", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   183
            mozillaPrefs.setCharPref("capability.policy.default.*.nodeType", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   184
            mozillaPrefs.setCharPref("capability.policy.default.*.nodeName", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   185
            mozillaPrefs.setCharPref("capability.policy.default.*.nextSibling", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   186
            mozillaPrefs.setCharPref("capability.policy.default.*.previousSibling", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   187
            mozillaPrefs.setCharPref("capability.policy.default.*.attributes", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   188
            mozillaPrefs.setCharPref("capability.policy.default.*.childNodes", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   189
            mozillaPrefs.setCharPref("capability.policy.default.*.firstChild", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   190
            mozillaPrefs.setCharPref("capability.policy.default.*.getAttribute", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   191
            mozillaPrefs.setCharPref("capability.policy.default.*.getElementsByTagName", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   192
            mozillaPrefs.setCharPref("capability.policy.default.*.lastChild", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   193
            mozillaPrefs.setCharPref("capability.policy.default.*.parentNode", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   194
            mozillaPrefs.setCharPref("capability.policy.default.*.tagName", "allAccess");
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
   195
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   196
            mozillaPrefs.setCharPref("capability.policy.default.XMLDocument.documentElement", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   197
            mozillaPrefs.setCharPref("capability.policy.default.XMLDocument.getElementsByTagName", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   198
            mozillaPrefs.setCharPref("capability.policy.default.XMLHttpRequest.channel", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   199
            mozillaPrefs.setCharPref("capability.policy.default.XMLHttpRequest.open", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   200
            mozillaPrefs.setCharPref("capability.policy.default.XMLHttpRequest.responseText", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   201
            mozillaPrefs.setCharPref("capability.policy.default.XMLHttpRequest.responseXML", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   202
            mozillaPrefs.setCharPref("capability.policy.default.XMLHttpRequest.send", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   203
            mozillaPrefs.setCharPref("capability.policy.default.XMLHttpRequest.setRequestHeader", "allAccess");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   204
            /* to over-ride the internet security dialog when preview browser tries to access local hard drive */
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   205
            mozillaPrefs.setCharPref("capability.principal.codebase.p0.granted",
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   206
                    "UniversalXPConnect  UniversalBrowserRead");
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   207
            String location = "http://" + WebappManager.getHost() + ":" + WebappManager.getPort();
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   208
            mozillaPrefs.setCharPref("capability.principal.codebase.p0.id", location);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   209
            mozillaPrefs.setBoolPref("security.fileuri.strict_origin_policy", 0);
319
40387cc658b4 PhoneGap support work in progress
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 303
diff changeset
   210
40387cc658b4 PhoneGap support work in progress
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 303
diff changeset
   211
            mozillaPrefs.setBoolPref("geo.enabled", 1);
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   212
            // start JavaXPCOM section
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   213
            nsIIOService ioService = (nsIIOService) servMgr.getServiceByContractID("@mozilla.org/network/io-service;1",
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   214
                    nsIIOService.NS_IIOSERVICE_IID);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   215
            nsIIOService2 ioService2 = (nsIIOService2) ioService.queryInterface(nsIIOService2.NS_IIOSERVICE2_IID);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   216
            ioService2.setManageOfflineStatus(false);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   217
            ioService.setOffline(false);
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
   218
288
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   219
            // end JavaXPCOM section
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   220
        } catch (Exception e) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   221
            PreviewerPlugin.log("Error getting preferences", e);
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   222
        }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   223
    }
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   224
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   225
    @Override
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   226
    protected void contributeToToolbar(IToolBarManager toolBar) {
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   227
        toolBar.add(new ClearPreferencesAction());
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   228
        toolBar.add(new Separator());
351bff9a265b Bug 2406 - Preview window sometimes is completely blank.
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 285
diff changeset
   229
    }
55
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
   230
bb6160d0b6f2 Added fallback to default browser if platform is Mac or XULRunner is not available
Eugene Ostroukhov <eostroukhov@gmail.com>
parents:
diff changeset
   231
}