diff --git a/src/virtual-machine.js b/src/virtual-machine.js index 0ce74559d..a4fa4b87f 100644 --- a/src/virtual-machine.js +++ b/src/virtual-machine.js @@ -182,9 +182,10 @@ class VirtualMachine extends EventEmitter { * @return {!Promise} Promise that resolves after targets are installed. */ loadProject (input) { - if (typeof input === 'object' && !ArrayBuffer.isView(input)) { - // If the input is an object and not any ArrayBuffer view - // (this includes all typed arrays and DataViews) + if (typeof input === 'object' && !(input instanceof ArrayBuffer) && + !ArrayBuffer.isView(input)) { + // If the input is an object and not any ArrayBuffer + // or an ArrayBuffer view (this includes all typed arrays and DataViews) // turn the object into a JSON string, because we suspect // this is a project.json as an object // validate expects a string or buffer as input