Internal Error caused by JavaScript [message #137411] |
Tue, 23 June 2009 08:53 |
Eclipse User |
|
|
|
Originally posted by: s0181013.mail.inf.tu-dresden.de
This is a multi-part message in MIME format.
--------------030403040901050007040605
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
Hello everyone,
I wanted to get information about plugins that are installed on the
client by using JavaScript. Initially I wanted to use the qooxdoo code
at [1] but unfortunately the Qoxdoo class qx.bom.client.Multimedia, does
not seem to be implemented within rap 1.2. Therefore I wrote and tested
normal JavaScript code (see BrowserContext.html) without any errors.
After implementing a widget, containing that JavaScript code and the
necessary LCA I called the JavaScript method with writer.call. Initially
the internal browser showed '0' as result and my external browser
(Firefox 3.0.11) '22'. After starting the app a third time I get a
recursion error, that starts after the construct within the javaScript
class. Can I somehow correct this or is this a but?
Thanks
Jes
[1] http://demo.qooxdoo.org:8181/current/demobrowser/#bom~Multim edia.html
--------------030403040901050007040605
Content-Type: application/x-javascript;
name="PluginReader.js"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="PluginReader.js"
LyoqDQoqIFRoaXMgY2xhc3MgcmVwcmVzZW50cyB0aGUgY29kZSBmb3IgdGhl IGNsaWVudC1z
aWRlZCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZG9qb0Zvcm0gd2lkZ2V0IA0K Ki8NCg0KLyog
VGhlIEphdmEgQ2xhc3MgdGhhdCB3aWxsIGJlIGVzdGFibGlzaGVkLiAqLw0K cXguQ2xhc3Mu
ZGVmaW5lKCJvcmcuZWNsaXBzZS5yYXAuY29udGV4dHJlYWRlci5QbHVnaW5S ZWFkZXIiLCB7
DQogICAgDQogICAgLyogVXNlIHRoZSBRb294ZG9vIExheW91dCBNYW5hZ2Vy IGFzIHN1cGVy
IGNsYXNzICovDQogICAgZXh0ZW5kOiBxeC51aS5sYXlvdXQuQ2FudmFzTGF5 b3V0LA0KICAg
IA0KICAgIGNvbnN0cnVjdCA6IGZ1bmN0aW9uKGlkKSB7DQogICAgICAgIHRo aXMuYmFzZSgg
YXJndW1lbnRzICk7DQogICAgICAgIC8vIFBvcHVsYXRlIHRoZSBpZCB0byB0 aGUgYnJvd3Nl
cg0KICAgICAgICB0aGlzLnNldEh0bWxBdHRyaWJ1dGUoICJpZCIsIGlkICk7 DQogICAgICAg
IHRoaXMuX2lkID0gaWQ7DQogICAgICAgIGFsZXJ0KCdwbHVnaW5yZWFkZXIg Y29uc3RydWN0
Jyk7DQogICAgfSwNCiAgICAgDQogICAgcHJvcGVydGllcyA6IHsNCiAgICAg ICAgcGx1Z2lu
cyA6IHsNCiAgICAgICAgICAgIGluaXQgOiAiIiwNCiAgICAgICAgICAgIGFw cGx5OiAiX2Rv
QWN0aXZhdGUiLA0KICAgICAgICAgICAgYXBwbHk6ICJfZ2V0UGx1Z2lucyIN CiAgICAgICAg
fQ0KICAgIH0sDQogICAgDQogICAgbWVtYmVycyA6IHsNCiAgICAJX2RvQWN0 aXZhdGUgOiBm
dW5jdGlvbigpIHsNCiAgICAJYWxlcnQoImRvQWN0aXZhdGUiKTsNCiAgICAJ CXZhciBzaGVs
bCA9IG51bGw7DQogICAgCQl2YXIgcGFyZW50ID0gdGhpcy5nZXRQYXJlbnQo KTsNCiAgICAJ
CXdoaWxlKHNoZWxsID09IG51bGwgJiYgcGFyZW50ICE9IG51bGwpIHsNCiAg ICAJCQlpZihw
YXJlbnQuY2xhc3NuYW1lID09IA0KICAgIAkJCQkib3JnLmVjbGlwc2Uuc3d0 LndpZGdldHMu
U2hlbGwiKSB7DQogICAgCQkJCXNoZWxsID0gcGFyZW50Ow0KICAgIAkJCX0N CiAgICAJCQlw
YXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCk7DQogICAgCQl9DQogICAgCQlp ZihzaGVsbCAh
PSBudWxsKSB7DQogICAgCQkJc2hlbGwuc2V0QWN0aXZlQ2hpbGQodGhpcyk7 DQogICAgCQl9
DQogICAgfSwNCiAgICAJX2luY2x1ZGUgOiBmdW5jdGlvbigpIHsNCgkgICAg CXZhciBhID0g
bmF2aWdhdG9yLnBsdWdpbnMubGVuZ3RoOw0KCSAgICAJYWxlcnQoYSk7DQoJ CQlkb2N1bWVu
dC53cml0ZShhKTsNCgkJCXZhciBiID0gIiI7DQoJCQlmb3IoaT0wOyBpPGE7 IGkrKykgew0K
CQkJCWIgPSBuYXZpZ2F0b3IucGx1Z2luc1tpXS5uYW1lOw0KCQkJCWRvY3Vt ZW50LndyaXRl
bG4oYisiPGJyLz4iKTsNCgkJCX0NCgkgICAgfSwNCg0KICAgIAlfZ2V0UGx1 Z2lucyA6IGZ1
bmN0aW9uKCkgew0KICAgIAkJDQoJICAgIAlpZih0aGlzLl9nZXRQbHVnaW5z KCkpew0KCSAg
ICAJCWFsZXJ0KCdfZ2V0UGx1Z2lucycpOw0KICAgICAgICAJIAl0aGlzLl9p bmNsdWRlKCk7
DQogICAgICAgIAkgCQ0KICAgICAgICAJIAkvLyBnZXQgdGhlIEhUTUwncyBi b2R5IGVsZW1l
bnQNCiAgICAgICAgICAgCQl2YXIgYm9keSA9IGRvY3VtZW50LmdldEVsZW1l bnRzQnlUYWdO
YW1lKCdib2R5JylbMF07DQogICAgICAgICAgIA0KICAgICAgICAgICAJCWlm KGJvZHkpIHsN
CiAgICAgICAgICAgCQkNCiAgICAgICAJCQl2YXIgb25sb2FkID0gZG9jdW1l bnQuY3JlYXRl
QXR0cmlidXRlKCdvbmxvYWQnKTsNCiAgICAgICAJCQkNCiAgICAgICAJCQlv bmxvYWQubm9k
ZVZhbHVlID0gJ015RnVuY3Rpb24oKSc7DQogICAgICAgCQkJYm9keS5zZXRB dHRyaWJ1dGVO
b2RlKG9ubG9hZCk7DQogICAgICAgICAgIAkJCQ0KCQkJCWFsZXJ0KGRvY3Vt ZW50LmdldEVs
ZW1lbnRCeUlkKHRoaXMuX2lkKSk7DQoJICAgICAgDQogICAgICAgIAkJdmFy IENvbnRhaW5l
ck9iamVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuX2lkKTsN CiAgICAgICAg
CQlhbGVydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLl9pZCkpOw0K ICAgICAgICAJ
ICAgICAgICAgICAgICAgICANCiAgICAgICAgCQkvLyBTZXQgdGhlIENvbnRh aW5lcnMgU2l6
ZSAgICAgICAgCQ0KICAgICAgICAJCUNvbnRhaW5lck9iamVjdC5zdHlsZS53 aWR0aCA9ICI4
MDBweCI7DQogICAgICAgIAkJQ29udGFpbmVyT2JqZWN0LnN0eWxlLmhlaWdo dCA9ICIxMDY0
cHgiOw0KIAkNCi8vCQkJCUNvbnRhaW5lck9iamVjdC5pbm5lckhUTUwgPQ0K Ly8JCQkJCSc8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vby5h b2xjZG4uY29t
L2Rvam8vMS4yLjAvZG9qby9kb2pvLnhkLmpzIiBkakNvbmZpZz0icGFyc2VP bkxvYWQ6IHRy
dWUiPjwvc2NyaXB0PicrDQovLwkJCQkJJzxzY3JpcHQgdHlwZT0idGV4dC9q YXZhc2NyaXB0
Ij4gZG9qby5yZXF1aXJlKCJkaWppdC5mb3JtLkRhdGVUZXh0Qm94Iik7IDwv c2NyaXB0Picr
DQovLwkJCQkJJ0FiZmx1Z2hhZmVuOiA8aW5wdXQgbGVuZ3RoPSIxMCIgbmFt ZT0iZGVwYXJ0
dXJlQWlycG9ydCIgZG9qb1R5cGU9ImRpaml0LmZvcm0uRGF0ZVRleHRCb3gi Pjxici8+JysN
Ci8vCQkJCQknWmllbGZsdWdoYWZlbjogPGlucHV0IGxlbmd0aD0iMTAiIG5h bWU9ImFycml2
YWxBaXJwb3J0IiBkb2pvVHlwZT0iZGlqaXQuZm9ybS5EYXRlVGV4dEJveCI+ JysNCi8vCQkJ
CQknSGluZmx1Z2RhdHVtOiA8aW5wdXQgbGVuZ3RoPSIxMCIgbmFtZT0iZmls aW5nRGF0ZSIg
ZG9qb1R5cGU9ImRpaml0LmZvcm0uRGF0ZVRleHRCb3giPicrDQovLwkJCQkJ J1ImdXVtbDtj
a2ZsdWdkYXR1bTo8aW5wdXQgbGVuZ3RoPSIxMCIgbmFtZT0iZmlsaW5nRGF0 ZSIgZG9qb1R5
cGU9ImRpaml0LmZvcm0uRGF0ZVRleHRCb3giPicrDQovLwkJCQkJJzxidXR0 b24gZG9qb1R5
cGU9ImRpaml0LmZvcm0uQnV0dG9uIiBvbkNsaWNrPSJhbGVydChcJ0hhbGxv XCcpIj5TZW5k
PC9idXR0b24+JzsNCiAgICAgICAgICAgCQl9DQogICAgICAgICAgICAgICB9 ICAgICAgICAg
ICAgCSANCiAgICAgICB9DQogICAgfQ0KfSk7IA==
--------------030403040901050007040605
Content-Type: text/plain;
name="PluginReaderLCA.java"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="PluginReaderLCA.java"
package org.eclipse.rap.internal.contextreader.pluginreaderkit;
import java.io.IOException;
import org.eclipse.rap.contextreader.PluginReader;
import org.eclipse.rap.dojowidget.DojoForm;
import org.eclipse.rwt.lifecycle.AbstractWidgetLCA;
import org.eclipse.rwt.lifecycle.ControlLCAUtil;
import org.eclipse.rwt.lifecycle.JSWriter;
import org.eclipse.rwt.lifecycle.WidgetUtil;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Widget;
public class PluginReaderLCA extends AbstractWidgetLCA {
/**
* Used to make a specific javaScript function on the client side
* run.
*/
@Override
public void renderInitialization(Widget widget) throws IOException {
System.out.println("ContextWidget renderInitialziation");
JSWriter writer = JSWriter.getWriterFor(widget);
PluginReader pluginreader = (PluginReader) widget;
String id = WidgetUtil.getId( widget );
writer.newWidget( "org.eclipse.rap.contextreader.PluginReader", new Object[]{id} );
writer.set("appearance", "composite");
writer.set("overflow", "hidden");
ControlLCAUtil.writeStyleFlags( ( PluginReader )widget );
writer.call("_getPlugins", null);
//writer.set("plugin", pluginreader.getPlugin());
//System.out.println("Reader Plugins: "+pluginreader.getPlugin());
}
@Override
public void renderChanges(Widget widget) throws IOException {
System.out.println("ContextWidget renderChanges");
// PluginReader pluginreader = ( PluginReader )widget;
// //System.out.println("Reader Plugins: "+pluginreader.getPlugin());
// ControlLCAUtil.writeChanges( (Control) pluginreader );
// JSWriter writer = JSWriter.getWriterFor( widget );
}
@Override
public void readData(Widget widget) {
System.out.println("ContextWidget readData");
}
@Override
public void preserveValues(Widget widget) {
System.out.println("ContextWidget preserveValues");
}
@Override
public void renderDispose(Widget widget) throws IOException {
System.out.println("ContextWidget renderDispose");
}
}
--------------030403040901050007040605
Content-Type: text/html;
name="BrowserContext.html"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="BrowserContext.html"
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAg VHJhbnNpdGlv
bmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0 bWwxLXRyYW5z
aXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn LzE5OTkveGh0
bWwiPg0KPGhlYWQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ DQpmdW5jdGlv
biBNeVRlc3QoKQ0Kew0KCXZhciBhID0gbmF2aWdhdG9yLnBsdWdpbnMubGVu Z3RoOw0KCWFs
ZXJ0KGEpOw0KCWRvY3VtZW50LndyaXRlKGEpOw0KCXZhciBiID0gIiI7DQoJ Zm9yKGk9MDtp
PGE7aSsrKQ0KCXsNCgkJYiA9IG5hdmlnYXRvci5wbHVnaW5zW2ldLm5hbWU7 DQoJCWRvY3Vt
ZW50LndyaXRlbG4oYisiPGJyLz4iKTsNCgl9DQp9DQo8L3NjcmlwdD4NCjwv aGVhZD4NCg0K
PGJvZHkgb25sb2FkPSJNeVRlc3QoKSI+DQo8L2JvZHk+DQo8L2h0bWw+
--------------030403040901050007040605--
|
|
|
|
Powered by
FUDForum. Page generated in 0.24868 seconds