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

Side by Side Diff: Source/WebCore/bindings/dart/custom/DartDOMStringMapCustom.cpp

Issue 10660025: Cleanup dart to string conversions. (Closed) Base URL: svn://svn.chromium.org/multivm/trunk/webkit
Patch Set: . Created 8 years, 5 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 (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "DartDOMStringMap.h" 6 #include "DartDOMStringMap.h"
7 7
8 namespace WebCore { 8 namespace WebCore {
9 9
10 namespace DartDOMStringMapInternal { 10 namespace DartDOMStringMapInternal {
11 11
12 static void containsKeyCallback(Dart_NativeArguments args) 12 static void containsKeyCallback(Dart_NativeArguments args)
13 { 13 {
14 DartApiScope dartApiScope; 14 DartApiScope dartApiScope;
15 Dart_Handle exception = 0; 15 Dart_Handle exception = 0;
16 { 16 {
17 DOMStringMap* receiver = DartDOMWrapper::receiver<DOMStringMap>(args); 17 DOMStringMap* receiver = DartDOMWrapper::receiver<DOMStringMap>(args);
18 18
19 ParameterAdapter<String> key(Dart_GetNativeArgument(args, 1)); 19 DartStringAdapter key = DartUtilities::dartToString(Dart_GetNativeArgume nt(args, 1), exception);
20 if (!key.conversionSuccessful()) { 20 if (exception)
21 exception = key.exception();
22 goto fail; 21 goto fail;
23 }
24 22
25 Dart_SetReturnValue(args, DartUtilities::boolToDart(receiver->contains(k ey))); 23 Dart_SetReturnValue(args, DartUtilities::boolToDart(receiver->contains(k ey)));
26 return; 24 return;
27 } 25 }
28 26
29 fail: 27 fail:
30 Dart_ThrowException(exception); 28 Dart_ThrowException(exception);
31 ASSERT_NOT_REACHED(); 29 ASSERT_NOT_REACHED();
32 } 30 }
33 31
34 static void itemCallback(Dart_NativeArguments args) 32 static void itemCallback(Dart_NativeArguments args)
35 { 33 {
36 DartApiScope dartApiScope; 34 DartApiScope dartApiScope;
37 Dart_Handle exception = 0; 35 Dart_Handle exception = 0;
38 { 36 {
39 DOMStringMap* receiver = DartDOMWrapper::receiver<DOMStringMap>(args); 37 DOMStringMap* receiver = DartDOMWrapper::receiver<DOMStringMap>(args);
40 38
41 ParameterAdapter<String> key(Dart_GetNativeArgument(args, 1)); 39 DartStringAdapter key = DartUtilities::dartToString(Dart_GetNativeArgume nt(args, 1), exception);
42 if (!key.conversionSuccessful()) { 40 if (exception)
43 exception = key.exception();
44 goto fail; 41 goto fail;
45 }
46 42
47 Dart_SetReturnValue(args, DartUtilities::stringToDart(receiver->item(key ))); 43 Dart_SetReturnValue(args, DartUtilities::stringToDart(receiver->item(key )));
48 return; 44 return;
49 } 45 }
50 46
51 fail: 47 fail:
52 Dart_ThrowException(exception); 48 Dart_ThrowException(exception);
53 ASSERT_NOT_REACHED(); 49 ASSERT_NOT_REACHED();
54 } 50 }
55 51
56 static void setItemCallback(Dart_NativeArguments args) 52 static void setItemCallback(Dart_NativeArguments args)
57 { 53 {
58 DartApiScope dartApiScope; 54 DartApiScope dartApiScope;
59 Dart_Handle exception = 0; 55 Dart_Handle exception = 0;
60 { 56 {
61 DOMStringMap* receiver = DartDOMWrapper::receiver<DOMStringMap>(args); 57 DOMStringMap* receiver = DartDOMWrapper::receiver<DOMStringMap>(args);
62 58
63 ParameterAdapter<String> key(Dart_GetNativeArgument(args, 1)); 59 DartStringAdapter key = DartUtilities::dartToString(Dart_GetNativeArgume nt(args, 1), exception);
64 if (!key.conversionSuccessful()) { 60 if (exception)
65 exception = key.exception();
66 goto fail; 61 goto fail;
67 }
68 62
69 ParameterAdapter<String> value(Dart_GetNativeArgument(args, 2)); 63 DartStringAdapter value = DartUtilities::dartToString(Dart_GetNativeArgu ment(args, 2), exception);
70 if (!value.conversionSuccessful()) { 64 if (exception)
71 exception = value.exception();
72 goto fail; 65 goto fail;
73 }
74 66
75 ExceptionCode ec = 0; 67 ExceptionCode ec = 0;
76 receiver->setItem(key, value, ec); 68 receiver->setItem(key, value, ec);
77 if (UNLIKELY(ec)) { 69 if (UNLIKELY(ec)) {
78 exception = DartDOMWrapper::exceptionCodeToDartException(ec); 70 exception = DartDOMWrapper::exceptionCodeToDartException(ec);
79 goto fail; 71 goto fail;
80 } 72 }
81 73
82 return; 74 return;
83 } 75 }
84 76
85 fail: 77 fail:
86 Dart_ThrowException(exception); 78 Dart_ThrowException(exception);
87 ASSERT_NOT_REACHED(); 79 ASSERT_NOT_REACHED();
88 } 80 }
89 81
90 static void removeCallback(Dart_NativeArguments args) 82 static void removeCallback(Dart_NativeArguments args)
91 { 83 {
92 DartApiScope dartApiScope; 84 DartApiScope dartApiScope;
93 Dart_Handle exception = 0; 85 Dart_Handle exception = 0;
94 { 86 {
95 DOMStringMap* receiver = DartDOMWrapper::receiver<DOMStringMap>(args); 87 DOMStringMap* receiver = DartDOMWrapper::receiver<DOMStringMap>(args);
96 88
97 ParameterAdapter<String> key(Dart_GetNativeArgument(args, 1)); 89 DartStringAdapter key = DartUtilities::dartToString(Dart_GetNativeArgume nt(args, 1), exception);
98 if (!key.conversionSuccessful()) { 90 if (exception)
99 exception = key.exception();
100 goto fail; 91 goto fail;
101 }
102 92
103 String value = receiver->item(key); 93 String value = receiver->item(key);
104 94
105 ExceptionCode ec = 0; 95 ExceptionCode ec = 0;
106 receiver->deleteItem(key, ec); 96 receiver->deleteItem(key, ec);
107 if (UNLIKELY(ec)) { 97 if (UNLIKELY(ec)) {
108 exception = DartDOMWrapper::exceptionCodeToDartException(ec); 98 exception = DartDOMWrapper::exceptionCodeToDartException(ec);
109 goto fail; 99 goto fail;
110 } 100 }
111 101
(...skipping 29 matching lines...) Expand all
141 131
142 fail: 132 fail:
143 Dart_ThrowException(exception); 133 Dart_ThrowException(exception);
144 ASSERT_NOT_REACHED(); 134 ASSERT_NOT_REACHED();
145 } 135 }
146 136
147 } 137 }
148 138
149 Dart_NativeFunction DartDOMStringMap::resolver(Dart_Handle nameHandle, int argum entCount) 139 Dart_NativeFunction DartDOMStringMap::resolver(Dart_Handle nameHandle, int argum entCount)
150 { 140 {
151 String name = DartUtilities::dartStringToString(nameHandle); 141 String name = DartUtilities::toString(nameHandle);
152 142
153 if (argumentCount == 2 && name == "DOMStringMap_containsKey_Callback") 143 if (argumentCount == 2 && name == "DOMStringMap_containsKey_Callback")
154 return DartDOMStringMapInternal::containsKeyCallback; 144 return DartDOMStringMapInternal::containsKeyCallback;
155 if (argumentCount == 2 && name == "DOMStringMap_item_Callback") 145 if (argumentCount == 2 && name == "DOMStringMap_item_Callback")
156 return DartDOMStringMapInternal::itemCallback; 146 return DartDOMStringMapInternal::itemCallback;
157 if (argumentCount == 3 && name == "DOMStringMap_setItem_Callback") 147 if (argumentCount == 3 && name == "DOMStringMap_setItem_Callback")
158 return DartDOMStringMapInternal::setItemCallback; 148 return DartDOMStringMapInternal::setItemCallback;
159 if (argumentCount == 2 && name == "DOMStringMap_remove_Callback") 149 if (argumentCount == 2 && name == "DOMStringMap_remove_Callback")
160 return DartDOMStringMapInternal::removeCallback; 150 return DartDOMStringMapInternal::removeCallback;
161 if (argumentCount == 1 && name == "DOMStringMap_getKeys_Callback") 151 if (argumentCount == 1 && name == "DOMStringMap_getKeys_Callback")
162 return DartDOMStringMapInternal::getKeysCallback; 152 return DartDOMStringMapInternal::getKeysCallback;
163 153
164 return 0; 154 return 0;
165 } 155 }
166 156
167 const char* const DartDOMStringMap::dartImplementationClassName = "DOMStringMapI mplementation"; 157 const char* const DartDOMStringMap::dartImplementationClassName = "DOMStringMapI mplementation";
168 } 158 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698