See summary.
Created attachment 28801 [details] Proposed fix.
Comment on attachment 28801 [details] Proposed fix. Proper design for all these hidden dependency helpers is out of scope for this scrubbing, so LGTM, good to land after these changes: > + if (ec) { > + V8Proxy::SetDOMException(ec); > + return v8::Handle<v8::Value>(); > + } I have a helper in V8Proxy.h that might be useful here, throwError > + if (ec) { > + V8Proxy::SetDOMException(ec); > + return v8::Handle<v8::Value>(); > + } ... and here. > + if (args.Length() < 2) { > + V8Proxy::ThrowError(V8Proxy::SYNTAX_ERROR, "Not enough arguments"); > + return v8::Undefined(); > + } ... and here. > + if (ec) { > + V8Proxy::SetDOMException(ec); > + return v8::Handle<v8::Value>(); > + } ... and here. > + INC_STATS("DOM.XMLHttpRequest.getResponseHeader()"); > + if (args.Length() < 1) { > + V8Proxy::ThrowError(V8Proxy::SYNTAX_ERROR, "Not enough arguments"); > + return v8::Undefined(); > + } Ditto. > + if (ec) { > + V8Proxy::SetDOMException(ec); > + return v8::Handle<v8::Value>(); > + } > + return v8StringOrNull(result); > +} Same thing. > + if (args.Length() < 1) { > + V8Proxy::ThrowError(V8Proxy::SYNTAX_ERROR, "Not enough arguments"); > + return v8::Undefined(); > + } Analogously.
Committed as r41898.