OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. 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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 HTMLAllCollection* imp = V8HTMLAllCollection::toNative(info.Holder()); | 80 HTMLAllCollection* imp = V8HTMLAllCollection::toNative(info.Holder()); |
81 v8SetReturnValue(info, getItem(imp, info[0], info)); | 81 v8SetReturnValue(info, getItem(imp, info[0], info)); |
82 } | 82 } |
83 | 83 |
84 void V8HTMLAllCollection::legacyCallCustom(const v8::FunctionCallbackInfo<v8::Va
lue>& info) | 84 void V8HTMLAllCollection::legacyCallCustom(const v8::FunctionCallbackInfo<v8::Va
lue>& info) |
85 { | 85 { |
86 if (info.Length() < 1) | 86 if (info.Length() < 1) |
87 return; | 87 return; |
88 | 88 |
89 HTMLAllCollection* imp = V8HTMLAllCollection::toNative(info.Holder()); | 89 HTMLAllCollection* imp = V8HTMLAllCollection::toNative(info.Holder()); |
90 Node* ownerNode = imp->ownerNode(); | 90 Node& ownerNode = imp->ownerNode(); |
91 ASSERT(ownerNode); | |
92 | 91 |
93 UseCounter::count(ownerNode->document(), UseCounter::DocumentAllLegacyCall); | 92 UseCounter::count(ownerNode.document(), UseCounter::DocumentAllLegacyCall); |
94 | 93 |
95 if (info.Length() == 1) { | 94 if (info.Length() == 1) { |
96 v8SetReturnValue(info, getItem(imp, info[0], info)); | 95 v8SetReturnValue(info, getItem(imp, info[0], info)); |
97 return; | 96 return; |
98 } | 97 } |
99 | 98 |
100 // If there is a second argument it is the index of the item we want. | 99 // If there is a second argument it is the index of the item we want. |
101 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, name, info[0]); | 100 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, name, info[0]); |
102 v8::Local<v8::Uint32> index = info[1]->ToArrayIndex(); | 101 v8::Local<v8::Uint32> index = info[1]->ToArrayIndex(); |
103 if (index.IsEmpty()) | 102 if (index.IsEmpty()) |
104 return; | 103 return; |
105 | 104 |
106 if (Node* node = imp->namedItemWithIndex(name, index->Uint32Value())) { | 105 if (Node* node = imp->namedItemWithIndex(name, index->Uint32Value())) { |
107 v8SetReturnValueFast(info, node, imp); | 106 v8SetReturnValueFast(info, node, imp); |
108 return; | 107 return; |
109 } | 108 } |
110 } | 109 } |
111 | 110 |
112 } // namespace WebCore | 111 } // namespace WebCore |
OLD | NEW |