Author: yradtsevich
Date: 2011-10-28 12:44:25 -0400 (Fri, 28 Oct 2011)
New Revision: 36073
Modified:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.webkit/src/org/jboss/tools/browsersim/webkit/WebKitBrowserFactory.java
Log:
https://issues.jboss.org/browse/JBIDE-9539 : Browsersim app for testing mobile/desktop web
apps
- added automatic selection of WebKitBrowser implementation using system properties
Modified:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.webkit/src/org/jboss/tools/browsersim/webkit/WebKitBrowserFactory.java
===================================================================
---
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.webkit/src/org/jboss/tools/browsersim/webkit/WebKitBrowserFactory.java 2011-10-28
15:33:49 UTC (rev 36072)
+++
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.webkit/src/org/jboss/tools/browsersim/webkit/WebKitBrowserFactory.java 2011-10-28
16:44:25 UTC (rev 36073)
@@ -11,13 +11,40 @@
package org.jboss.tools.browsersim.webkit;
import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.browsersim.webkit.internal.WebKitBrowser_gtk_linux_x86;
+import org.jboss.tools.browsersim.webkit.internal.WebKitBrowser_gtk_linux_x86_64;
+import org.jboss.tools.browsersim.webkit.internal.WebKitBrowser_webkit_cocoa_macos;
import org.jboss.tools.browsersim.webkit.internal.WebKitBrowser_win32_win32_x86;
/**
* @author "Yahor Radtsevich (yradtsevich)"
*/
public class WebKitBrowserFactory {
+ private static final String CURRENT_PLATFORM;
+ static {
+
+ String ws = System.getProperty("osgi.ws");
+ System.out.println(ws);
+ ws = (ws == null) ? "" : ws;
+ String os = System.getProperty("osgi.os");
+ os = (os == null) ? "" : os;
+ String arch = System.getProperty("osgi.arch");
+ arch = (arch == null) ? "" : arch;
+
+ CURRENT_PLATFORM = ws + '.' + os + ("macosx".equals(os) ?
"" : '.' + arch);
+ }
+
public static AbstractWebKitBrowser createWebKitBrowser(Composite parent, int style) {
- return new WebKitBrowser_win32_win32_x86(parent, style);
+ if (CURRENT_PLATFORM.equals("gtl.linux.x86")) {
+ return new WebKitBrowser_gtk_linux_x86(parent, style);
+ } else if (CURRENT_PLATFORM.equals("gtl.linux.x86_64")) {
+ return new WebKitBrowser_gtk_linux_x86_64(parent, style);
+ } else if (CURRENT_PLATFORM.equals("cocoa.macosx")) {
+ return new WebKitBrowser_webkit_cocoa_macos(parent, style);
+ } else if (CURRENT_PLATFORM.equals("win32.win32.x86")) {
+ return new WebKitBrowser_win32_win32_x86(parent, style);
+ }
+
+ return null;
}
}