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

Side by Side Diff: Source/bindings/dart/custom/DartFormDataCustom.cpp

Issue 469373002: Bindings generation emits (more) correct null checking (Closed) Base URL: svn://svn.chromium.org/blink/branches/dart/dartium
Patch Set: Adding in fixes to binding generation Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011, Google Inc. 1 // Copyright 2011, Google Inc.
2 // All rights reserved. 2 // All rights reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // * Redistributions of source code must retain the above copyright 8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer. 9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above 10 // * Redistributions in binary form must reproduce the above
(...skipping 19 matching lines...) Expand all
30 #include "config.h" 30 #include "config.h"
31 #include "DartFormData.h" 31 #include "DartFormData.h"
32 32
33 #include "DartBlob.h" 33 #include "DartBlob.h"
34 #include "DartHTMLFormElement.h" 34 #include "DartHTMLFormElement.h"
35 35
36 namespace WebCore { 36 namespace WebCore {
37 37
38 namespace DartFormDataInternal { 38 namespace DartFormDataInternal {
39 39
40 void constructorCallback(Dart_NativeArguments args)
41 {
42 Dart_Handle exception = 0;
43 {
44 HTMLFormElement* form = 0;
45 if (!Dart_IsNull(Dart_GetNativeArgument(args, 0))) {
46 form = DartHTMLFormElement::toNative(Dart_GetNativeArgument(args, 0) , exception);
47 if (exception)
48 goto fail;
49 }
50
51 DartDOMWrapper::returnToDart<DartFormData>(args, DOMFormData::create(for m));
52 return;
53 }
54
55 fail:
56 Dart_ThrowException(exception);
57 ASSERT_NOT_REACHED();
58 }
59
60 void appendCallback(Dart_NativeArguments args) 40 void appendCallback(Dart_NativeArguments args)
61 { 41 {
62 Dart_Handle exception = 0; 42 Dart_Handle exception = 0;
63 { 43 {
64 DOMFormData* receiver = DartDOMWrapper::receiver<DOMFormData>(args); 44 DOMFormData* receiver = DartDOMWrapper::receiver<DOMFormData>(args);
65 45
66 DartStringAdapter name = DartUtilities::dartToString(args, 1, exception) ; 46 DartStringAdapter name = DartUtilities::dartToString(args, 1, exception) ;
67 if (exception) 47 if (exception)
68 goto fail; 48 goto fail;
69 49
70 Dart_Handle arg2 = Dart_GetNativeArgument(args, 2); 50 Dart_Handle arg2 = Dart_GetNativeArgument(args, 2);
71 51
72 if (Dart_IsString(arg2)) { 52 if (Dart_IsString(arg2)) {
73 ASSERT(Dart_GetNativeArgumentCount(args) == 3); 53 ASSERT(Dart_GetNativeArgumentCount(args) == 3);
74 54
75 DartStringAdapter value = DartUtilities::dartToString(arg2, exceptio n); 55 DartStringAdapter value = DartUtilities::dartToString(arg2, exceptio n);
76 if (exception) 56 if (exception)
77 goto fail; 57 goto fail;
78 58
79 receiver->append(name, value); 59 receiver->append(name, value);
80 return; 60 return;
81 } 61 }
82 62
83 Blob* blob = DartBlob::toNative(arg2, exception); 63 Blob* blob = DartBlob::toNativeWithNullCheck(arg2, exception);
84 if (exception) 64 if (exception)
85 goto fail; 65 goto fail;
86 66
87 if (Dart_GetNativeArgumentCount(args) == 3) { 67 if (Dart_GetNativeArgumentCount(args) == 3) {
88 receiver->append(name, blob); 68 receiver->append(name, blob);
89 return; 69 return;
90 } 70 }
91 71
92 DartStringAdapter filename = DartUtilities::dartToStringWithNullCheck(ar gs, 3, exception); 72 DartStringAdapter filename = DartUtilities::dartToStringWithNullCheck(ar gs, 3, exception);
93 if (exception) 73 if (exception)
94 goto fail; 74 goto fail;
95 75
96 receiver->append(name, blob, filename); 76 receiver->append(name, blob, filename);
97 return; 77 return;
98 } 78 }
99 79
100 fail: 80 fail:
101 Dart_ThrowException(exception); 81 Dart_ThrowException(exception);
102 ASSERT_NOT_REACHED(); 82 ASSERT_NOT_REACHED();
103 } 83 }
104 84
105 } 85 }
106 86
107 } 87 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698