OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Harri Porten (porten@kde.org) | 2 * Copyright (C) 2000 Harri Porten (porten@kde.org) |
3 * Copyright (C) 2001 Peter Kelly (pmk@post.com) | 3 * Copyright (C) 2001 Peter Kelly (pmk@post.com) |
4 * Copyright (C) 2004-2006 Apple Computer, Inc. | 4 * Copyright (C) 2004-2006 Apple Computer, Inc. |
5 * Copyright (C) 2006 James G. Speth (speth@end.com) | 5 * Copyright (C) 2006 James G. Speth (speth@end.com) |
6 * Copyright (C) 2006 Samuel Weinig (sam@webkit.org) | 6 * Copyright (C) 2006 Samuel Weinig (sam@webkit.org) |
7 * Copyright 2007, 2008 Google Inc. All Rights Reserved. | 7 * Copyright 2007, 2008 Google Inc. All Rights Reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Lesser General Public | 10 * modify it under the terms of the GNU Lesser General Public |
(...skipping 1311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1322 v8::Handle<v8::Value> result = | 1322 v8::Handle<v8::Value> result = |
1323 holder->GetRealNamedPropertyInPrototypeChain(name); | 1323 holder->GetRealNamedPropertyInPrototypeChain(name); |
1324 if (!result.IsEmpty()) | 1324 if (!result.IsEmpty()) |
1325 return result; | 1325 return result; |
1326 | 1326 |
1327 // Lazy initialization map keeps global properties that can be lazily | 1327 // Lazy initialization map keeps global properties that can be lazily |
1328 // initialized. The value is the code to instantiate the property. | 1328 // initialized. The value is the code to instantiate the property. |
1329 // It must return the value of property after initialization. | 1329 // It must return the value of property after initialization. |
1330 static HashMap<String, String> kLazyInitMap; | 1330 static HashMap<String, String> kLazyInitMap; |
1331 if (kLazyInitMap.isEmpty()) { | 1331 if (kLazyInitMap.isEmpty()) { |
| 1332 // "new Image()" does not appear to be well-defined in a spec, but Safari, |
| 1333 // Opera, and Firefox all consider it to always create an HTML image |
| 1334 // element, regardless of the current doctype. |
1332 kLazyInitMap.set("Image", | 1335 kLazyInitMap.set("Image", |
1333 "function Image() { \ | 1336 "function Image() { \ |
1334 return document.createElement('image'); \ | 1337 return document.createElementNS( \ |
| 1338 'http://www.w3.org/1999/xhtml', 'img'); \ |
1335 }; \ | 1339 }; \ |
1336 Image"); | 1340 Image"); |
1337 kLazyInitMap.set("Option", | 1341 kLazyInitMap.set("Option", |
1338 "function Option(text, value, defaultSelected, selected) { \ | 1342 "function Option(text, value, defaultSelected, selected) { \ |
1339 var option = document.createElement('option'); \ | 1343 var option = document.createElement('option'); \ |
1340 if (text == null) return option; \ | 1344 if (text == null) return option; \ |
1341 option.text = text; \ | 1345 option.text = text; \ |
1342 if (value == null) return option; \ | 1346 if (value == null) return option; \ |
1343 option.value = value; \ | 1347 option.value = value; \ |
1344 if (defaultSelected == null) return option; \ | 1348 if (defaultSelected == null) return option; \ |
(...skipping 2290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3635 #undef MAKE_CASE | 3639 #undef MAKE_CASE |
3636 | 3640 |
3637 default: | 3641 default: |
3638 return V8ClassIndex::INVALID_CLASS_INDEX; | 3642 return V8ClassIndex::INVALID_CLASS_INDEX; |
3639 } | 3643 } |
3640 } | 3644 } |
3641 | 3645 |
3642 #endif // ENABLE(SVG) | 3646 #endif // ENABLE(SVG) |
3643 | 3647 |
3644 } // namespace WebCore | 3648 } // namespace WebCore |
OLD | NEW |