From 4c9a571106acaed0fd08b7508a956d70a62e61cb Mon Sep 17 00:00:00 2001 From: Andrew Grieve Date: Tue, 11 Sep 2012 11:26:31 -0400 Subject: [PATCH] Add constant to disable non-exec() messages in Native->JS bridge. --- .../org/apache/cordova/NativeToJsMessageQueue.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/framework/src/org/apache/cordova/NativeToJsMessageQueue.java b/framework/src/org/apache/cordova/NativeToJsMessageQueue.java index 779926d1..a1187063 100755 --- a/framework/src/org/apache/cordova/NativeToJsMessageQueue.java +++ b/framework/src/org/apache/cordova/NativeToJsMessageQueue.java @@ -39,6 +39,10 @@ public class NativeToJsMessageQueue { // This must match the default value in incubator-cordova-js/lib/android/exec.js private static final int DEFAULT_BRIDGE_MODE = 1; + // Set this to true to force plugin results to be encoding as + // JS instead of the custom format (useful for benchmarking). + private static final boolean FORCE_ENCODE_USING_EVAL = false; + /** * The index into registeredListeners to treat as active. */ @@ -202,7 +206,14 @@ public class NativeToJsMessageQueue { if (noResult && keepCallback) { return; } - enqueueMessage(new JsMessage(result, callbackId)); + JsMessage message = new JsMessage(result, callbackId); + if (FORCE_ENCODE_USING_EVAL) { + StringBuilder sb = new StringBuilder(message.calculateEncodedLength() + 50); + message.encodeAsJsMessage(sb); + message = new JsMessage(sb.toString()); + } + + enqueueMessage(message); } private void enqueueMessage(JsMessage message) {