| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2012 Ericsson AB. All rights reserved. | 3 * Copyright (C) 2012 Ericsson AB. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 988 void ensureInitialized() const; | 988 void ensureInitialized() const; |
| 989 | 989 |
| 990 mutable int m_scriptId; | 990 mutable int m_scriptId; |
| 991 mutable int m_lineNumber; | 991 mutable int m_lineNumber; |
| 992 mutable String m_resourceName; | 992 mutable String m_resourceName; |
| 993 mutable v8::Handle<v8::Function> m_function; | 993 mutable v8::Handle<v8::Function> m_function; |
| 994 }; | 994 }; |
| 995 | 995 |
| 996 PassRefPtr<TraceEvent::ConvertableToTraceFormat> devToolsTraceEventData(v8::Isol
ate*, ExecutionContext*, v8::Handle<v8::Function>); | 996 PassRefPtr<TraceEvent::ConvertableToTraceFormat> devToolsTraceEventData(v8::Isol
ate*, ExecutionContext*, v8::Handle<v8::Function>); |
| 997 | 997 |
| 998 class AttributesWithObservableSideEffectOnGet final { |
| 999 public: |
| 1000 // Returns true iff |domObject| is a DOM object and whose attribute named |
| 1001 // |attributeName| has no observable side effect when "get" is called. |
| 1002 static bool hasNoSideEffect(v8::Isolate*, v8::Handle<v8::Value> domObject, v
8::Handle<v8::Value> attributeName); |
| 1003 |
| 1004 // Registers a DOM attribute which has side effect when "get" is called. |
| 1005 static void add(const WrapperTypeInfo*, String attributeName); |
| 1006 |
| 1007 private: |
| 1008 typedef Vector<std::pair<const WrapperTypeInfo*, String>> AttributeSet; |
| 1009 |
| 1010 static AttributeSet* attributesWithSideEffectOnGet(); |
| 1011 }; |
| 1012 |
| 998 class V8RethrowTryCatchScope final { | 1013 class V8RethrowTryCatchScope final { |
| 999 public: | 1014 public: |
| 1000 explicit V8RethrowTryCatchScope(v8::TryCatch& block) : m_block(block) { } | 1015 explicit V8RethrowTryCatchScope(v8::TryCatch& block) : m_block(block) { } |
| 1001 ~V8RethrowTryCatchScope() | 1016 ~V8RethrowTryCatchScope() |
| 1002 { | 1017 { |
| 1003 // ReThrow() is a no-op if no exception has been caught, so always call. | 1018 // ReThrow() is a no-op if no exception has been caught, so always call. |
| 1004 m_block.ReThrow(); | 1019 m_block.ReThrow(); |
| 1005 } | 1020 } |
| 1006 | 1021 |
| 1007 private: | 1022 private: |
| 1008 v8::TryCatch& m_block; | 1023 v8::TryCatch& m_block; |
| 1009 }; | 1024 }; |
| 1010 | 1025 |
| 1011 // Callback functions used by generated code. | 1026 // Callback functions used by generated code. |
| 1012 void v8ConstructorAttributeGetterAsProperty(v8::Local<v8::String> propertyName,
const v8::PropertyCallbackInfo<v8::Value>&); | 1027 void v8ConstructorAttributeGetterAsProperty(v8::Local<v8::String> propertyName,
const v8::PropertyCallbackInfo<v8::Value>&); |
| 1013 void v8ConstructorAttributeGetterAsAccessor(const v8::FunctionCallbackInfo<v8::V
alue>&); | 1028 void v8ConstructorAttributeGetterAsAccessor(const v8::FunctionCallbackInfo<v8::V
alue>&); |
| 1014 | 1029 |
| 1015 typedef void (*InstallTemplateFunction)(v8::Local<v8::FunctionTemplate>, v8::Iso
late*); | 1030 typedef void (*InstallTemplateFunction)(v8::Local<v8::FunctionTemplate>, v8::Iso
late*); |
| 1016 | 1031 |
| 1017 } // namespace blink | 1032 } // namespace blink |
| 1018 | 1033 |
| 1019 #endif // V8Binding_h | 1034 #endif // V8Binding_h |
| OLD | NEW |