OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 | 74 |
75 // These three types are subtypes of HTMLPlugInElement. | 75 // These three types are subtypes of HTMLPlugInElement. |
76 HTMLPlugInElement* element = V8HTMLAppletElement::toImplWithTypeCheck(isolat
e, info.Holder()); | 76 HTMLPlugInElement* element = V8HTMLAppletElement::toImplWithTypeCheck(isolat
e, info.Holder()); |
77 if (!element) { | 77 if (!element) { |
78 element = V8HTMLEmbedElement::toImplWithTypeCheck(isolate, info.Holder()
); | 78 element = V8HTMLEmbedElement::toImplWithTypeCheck(isolate, info.Holder()
); |
79 if (!element) { | 79 if (!element) { |
80 element = V8HTMLObjectElement::toImplWithTypeCheck(isolate, info.Hol
der()); | 80 element = V8HTMLObjectElement::toImplWithTypeCheck(isolate, info.Hol
der()); |
81 } | 81 } |
82 } | 82 } |
83 if (element) { | 83 if (element) { |
84 if (RefPtr<SharedPersistent<v8::Object> > wrapper = element->pluginWrapp
er()) { | 84 if (RefPtr<SharedPersistent<v8::Object>> wrapper = element->pluginWrappe
r()) { |
85 v8::HandleScope handleScope(isolate); | 85 v8::HandleScope handleScope(isolate); |
86 npObject = v8ObjectToNPObject(wrapper->newLocal(isolate)); | 86 npObject = v8ObjectToNPObject(wrapper->newLocal(isolate)); |
87 } else { | 87 } else { |
88 npObject = 0; | 88 npObject = 0; |
89 } | 89 } |
90 } else { | 90 } else { |
91 // The holder object is not a subtype of HTMLPlugInElement, it must be a
n NPObject which has three | 91 // The holder object is not a subtype of HTMLPlugInElement, it must be a
n NPObject which has three |
92 // internal fields. | 92 // internal fields. |
93 if (info.Holder()->InternalFieldCount() != npObjectInternalFieldCount) { | 93 if (info.Holder()->InternalFieldCount() != npObjectInternalFieldCount) { |
94 V8ThrowException::throwReferenceError(info.GetIsolate(), "NPMethod c
alled on non-NPObject"); | 94 V8ThrowException::throwReferenceError(info.GetIsolate(), "NPMethod c
alled on non-NPObject"); |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 v8::HandleScope scope(isolate); | 487 v8::HandleScope scope(isolate); |
488 v8::Handle<v8::Object> wrapper = staticNPObjectMap().newLocal(object, isolat
e); | 488 v8::Handle<v8::Object> wrapper = staticNPObjectMap().newLocal(object, isolat
e); |
489 if (!wrapper.IsEmpty()) { | 489 if (!wrapper.IsEmpty()) { |
490 V8DOMWrapper::clearNativeInfo(wrapper, npObjectTypeInfo()); | 490 V8DOMWrapper::clearNativeInfo(wrapper, npObjectTypeInfo()); |
491 staticNPObjectMap().removeAndDispose(object); | 491 staticNPObjectMap().removeAndDispose(object); |
492 _NPN_ReleaseObject(object); | 492 _NPN_ReleaseObject(object); |
493 } | 493 } |
494 } | 494 } |
495 | 495 |
496 } // namespace blink | 496 } // namespace blink |
OLD | NEW |