Index: xfa/fxjse/context.cpp |
diff --git a/xfa/fxjse/context.cpp b/xfa/fxjse/context.cpp |
index a277d4d412aa61a947361a58a1ac2596e30c3370..75be76d6730724743d0fe8d6757667840ee5e2d2 100644 |
--- a/xfa/fxjse/context.cpp |
+++ b/xfa/fxjse/context.cpp |
@@ -10,6 +10,37 @@ |
#include "xfa/fxjse/scope_inline.h" |
#include "xfa/fxjse/value.h" |
+namespace { |
+ |
+const FX_CHAR szCompatibleModeScript[] = |
Tom Sepez
2016/06/01 22:05:49
note: not CHAR* anymore.
|
+ "(function(global, list) {\n" |
+ " 'use strict';\n" |
+ " var objname;\n" |
+ " for (objname in list) {\n" |
+ " var globalobj = global[objname];\n" |
+ " if (globalobj) {\n" |
+ " list[objname].forEach(function(name) {\n" |
+ " if (!globalobj[name]) {\n" |
+ " Object.defineProperty(globalobj, name, {\n" |
+ " writable: true,\n" |
+ " enumerable: false,\n" |
+ " value: (function(obj) {\n" |
+ " if (arguments.length === 0) {\n" |
+ " throw new TypeError('missing argument 0 when calling " |
+ " function ' + objname + '.' + name);\n" |
+ " }\n" |
+ " return globalobj.prototype[name].apply(obj, " |
+ " Array.prototype.slice.call(arguments, 1));\n" |
+ " })\n" |
+ " });\n" |
+ " }\n" |
+ " });\n" |
+ " }\n" |
+ " }\n" |
+ "}(this, {String: ['substr', 'toUpperCase']}));"; |
+ |
+} // namespace |
+ |
v8::Local<v8::Object> FXJSE_GetGlobalObjectFromContext( |
const v8::Local<v8::Context>& hContext) { |
return hContext->Global()->GetPrototype().As<v8::Object>(); |
@@ -73,39 +104,8 @@ CFXJSE_Value* FXJSE_Context_GetGlobalObject(CFXJSE_Context* pContext) { |
return lpValue; |
} |
-static const FX_CHAR* szCompatibleModeScripts[] = { |
- "(function(global, list) {\n" |
- " 'use strict';\n" |
- " var objname;\n" |
- " for (objname in list) {\n" |
- " var globalobj = global[objname];\n" |
- " if (globalobj) {\n" |
- " list[objname].forEach(function(name) {\n" |
- " if (!globalobj[name]) {\n" |
- " Object.defineProperty(globalobj, name, {\n" |
- " writable: true,\n" |
- " enumerable: false,\n" |
- " value: (function(obj) {\n" |
- " if (arguments.length === 0) {\n" |
- " throw new TypeError('missing argument 0 when calling " |
- " function ' + objname + '.' + name);\n" |
- " }\n" |
- " return globalobj.prototype[name].apply(obj, " |
- " Array.prototype.slice.call(arguments, 1));\n" |
- " })\n" |
- " });\n" |
- " }\n" |
- " });\n" |
- " }\n" |
- " }\n" |
- "}(this, {String: ['substr', 'toUpperCase']}));"}; |
-void FXJSE_Context_EnableCompatibleMode(CFXJSE_Context* pContext, |
- uint32_t dwCompatibleFlags) { |
- for (uint32_t i = 0; i < (uint32_t)FXJSE_COMPATIBLEMODEFLAGCOUNT; i++) { |
- if (dwCompatibleFlags & (1 << i)) { |
- FXJSE_ExecuteScript(pContext, szCompatibleModeScripts[i], NULL, NULL); |
- } |
- } |
+void FXJSE_Context_EnableCompatibleMode(CFXJSE_Context* pContext) { |
+ FXJSE_ExecuteScript(pContext, szCompatibleModeScript, nullptr, nullptr); |
} |
FX_BOOL FXJSE_ExecuteScript(CFXJSE_Context* pContext, |