Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(267)

Unified Diff: Source/bindings/v8/custom/V8WindowCustom.cpp

Issue 30673002: More informative error messages for non-Transferables. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: More informative error messages for non-Transferables. Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/v8/custom/V8WindowCustom.cpp
diff --git a/Source/bindings/v8/custom/V8WindowCustom.cpp b/Source/bindings/v8/custom/V8WindowCustom.cpp
index 4260d3be5aaf37bca1c517c1c0876a7affd1974b..f16431404a0600350b9ff9642a510bc179a040ab 100644
--- a/Source/bindings/v8/custom/V8WindowCustom.cpp
+++ b/Source/bindings/v8/custom/V8WindowCustom.cpp
@@ -34,6 +34,7 @@
#include "V8HTMLCollection.h"
#include "V8Node.h"
#include "bindings/v8/BindingSecurity.h"
+#include "bindings/v8/ExceptionMessages.h"
#include "bindings/v8/ExceptionState.h"
#include "bindings/v8/ScheduledAction.h"
#include "bindings/v8/ScriptController.h"
@@ -262,8 +263,16 @@ void V8Window::postMessageMethodCustom(const v8::FunctionCallbackInfo<v8::Value>
targetOriginArgIndex = 2;
transferablesArgIndex = 1;
}
- if (!extractTransferables(args[transferablesArgIndex], portArray, arrayBufferArray, args.GetIsolate()))
+ bool notASequence = false;
+ if (!extractTransferables(
+ args[transferablesArgIndex], portArray, arrayBufferArray, notASequence, args.GetIsolate())) {
Mike West 2013/10/22 06:50:40 Nit: line breaks.
+ if (notASequence) {
+ String failedArgument = transferablesArgIndex == 1 ? "Second" : "Third";
+ throwTypeError(ExceptionMessages::failedToExecute(
Mike West 2013/10/22 06:50:40 Nit: line breaks. (If you were feeling particularl
+ "postMessage", "Window", ExceptionMessages::notASequenceType(failedArgument)), args.GetIsolate());
+ }
return;
+ }
}
V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithUndefinedOrNullCheck>, targetOrigin, args[targetOriginArgIndex]);

Powered by Google App Engine
This is Rietveld 408576698