6ff111a141
* Don't use JSON to send the result of `ipcRenderer.sendSync`. - Change the return type of AtomViewHostMsg_Message_Sync from `base::string16` to `base::ListValue` - Adjust lib/browser/api/web-contents.js and /lib/renderer/api/ipc-renderer.js to wrap/unwrap return values to/from array, instead of serializing/deserializing JSON. This change can greatly improve `ipcRenderer.sendSync` calls where the return value contains Buffer instances, because those are converted to Array before being serialized to JSON(which has no efficient way of representing byte arrays). A simple benchmark where remote.require('fs') was used to read a 16mb file got at least 5x faster, not to mention it used a lot less memory. This difference tends increases with larger buffers. * Don't base64 encode Buffers * Don't allocate V8ValueConverter on the heap * Replace hidden global.sandbox with NodeBindings::IsInitialized() * Refactoring: check NodeBindings::IsInitialized() in V8ValueConverter * Refactor problematic test to make it more reliable * Add tests for NaN and Infinity |
||
---|---|---|
.. | ||
answer.js | ||
asar.js | ||
call.js | ||
check-arguments.js | ||
circular.js | ||
class.js | ||
crash.js | ||
create_socket.js | ||
declare-buffer.js | ||
declare-global.js | ||
declare-process.js | ||
delete-buffer.js | ||
error-properties.js | ||
exception.js | ||
export-function-with-properties.js | ||
fork_ping.js | ||
function-with-args.js | ||
function-with-missing-properties.js | ||
function-with-properties.js | ||
function.js | ||
hello-child.js | ||
hello.js | ||
id.js | ||
inspector-binding.js | ||
locale-compare.js | ||
no-asar.js | ||
no-prototype.js | ||
original-fs.js | ||
ping.js | ||
preload-inject-ipc.js | ||
preload-ipc.js | ||
preload-node-off-wrapper.js | ||
preload-node-off.js | ||
preload-pdf-loaded-in-nested-subframe.js | ||
preload-pdf-loaded-in-subframe.js | ||
preload-pdf-loaded.js | ||
preload-required-module.js | ||
preload-sandbox.js | ||
preload-sandboxæø åü.js | ||
preload-set-global.js | ||
preload-webview.js | ||
preload.js | ||
print_name.js | ||
process-stdout.js | ||
process_args.js | ||
promise.js | ||
property.js | ||
rejected-promise.js | ||
remote-object-set.js | ||
remote-static.js | ||
run-as-node.js | ||
runas.js | ||
send-later.js | ||
set-global-preload-1.js | ||
set-global-preload-2.js | ||
set-global-preload-3.js | ||
set-global.js | ||
set-immediate.js | ||
test.coffee | ||
to-string-non-function.js | ||
unhandled-rejection.js |