| 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 class NodeFilter; | 64 class NodeFilter; |
| 65 class WorkerGlobalScope; | 65 class WorkerGlobalScope; |
| 66 class XPathNSResolver; | 66 class XPathNSResolver; |
| 67 | 67 |
| 68 template <typename T> | 68 template <typename T> |
| 69 struct V8TypeOf { | 69 struct V8TypeOf { |
| 70 // |Type| provides C++ -> V8 type conversion for DOM wrappers. | 70 // |Type| provides C++ -> V8 type conversion for DOM wrappers. |
| 71 // The Blink binding code generator will generate specialized version of | 71 // The Blink binding code generator will generate specialized version of |
| 72 // V8TypeOf for each wrapper class. | 72 // V8TypeOf for each wrapper class. |
| 73 typedef void Type; | 73 typedef void Type; |
| 74 STATIC_ONLY(V8TypeOf); |
| 74 }; | 75 }; |
| 75 | 76 |
| 76 namespace TraceEvent { | 77 namespace TraceEvent { |
| 77 class ConvertableToTraceFormat; | 78 class ConvertableToTraceFormat; |
| 78 } | 79 } |
| 79 | 80 |
| 80 // Helpers for throwing JavaScript TypeErrors for arity mismatches. | 81 // Helpers for throwing JavaScript TypeErrors for arity mismatches. |
| 81 CORE_EXPORT void setArityTypeError(ExceptionState&, const char* valid, unsigned
provided); | 82 CORE_EXPORT void setArityTypeError(ExceptionState&, const char* valid, unsigned
provided); |
| 82 CORE_EXPORT v8::Local<v8::Value> createMinimumArityTypeErrorForMethod(v8::Isolat
e*, const char* method, const char* type, unsigned expected, unsigned provided); | 83 CORE_EXPORT v8::Local<v8::Value> createMinimumArityTypeErrorForMethod(v8::Isolat
e*, const char* method, const char* type, unsigned expected, unsigned provided); |
| 83 v8::Local<v8::Value> createMinimumArityTypeErrorForConstructor(v8::Isolate*, con
st char* type, unsigned expected, unsigned provided); | 84 v8::Local<v8::Value> createMinimumArityTypeErrorForConstructor(v8::Isolate*, con
st char* type, unsigned expected, unsigned provided); |
| (...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1020 | 1021 |
| 1021 // Result values for platform object 'deleter' methods, | 1022 // Result values for platform object 'deleter' methods, |
| 1022 // http://www.w3.org/TR/WebIDL/#delete | 1023 // http://www.w3.org/TR/WebIDL/#delete |
| 1023 enum DeleteResult { | 1024 enum DeleteResult { |
| 1024 DeleteSuccess, | 1025 DeleteSuccess, |
| 1025 DeleteReject, | 1026 DeleteReject, |
| 1026 DeleteUnknownProperty | 1027 DeleteUnknownProperty |
| 1027 }; | 1028 }; |
| 1028 | 1029 |
| 1029 class V8IsolateInterruptor : public ThreadState::Interruptor { | 1030 class V8IsolateInterruptor : public ThreadState::Interruptor { |
| 1031 WTF_MAKE_FAST_ALLOCATED(V8IsolateInterruptor); |
| 1030 public: | 1032 public: |
| 1031 explicit V8IsolateInterruptor(v8::Isolate* isolate) | 1033 explicit V8IsolateInterruptor(v8::Isolate* isolate) |
| 1032 : m_isolate(isolate) | 1034 : m_isolate(isolate) |
| 1033 { | 1035 { |
| 1034 } | 1036 } |
| 1035 | 1037 |
| 1036 static void onInterruptCallback(v8::Isolate* isolate, void* data) | 1038 static void onInterruptCallback(v8::Isolate* isolate, void* data) |
| 1037 { | 1039 { |
| 1038 V8IsolateInterruptor* interruptor = reinterpret_cast<V8IsolateInterrupto
r*>(data); | 1040 V8IsolateInterruptor* interruptor = reinterpret_cast<V8IsolateInterrupto
r*>(data); |
| 1039 interruptor->onInterrupted(); | 1041 interruptor->onInterrupted(); |
| 1040 } | 1042 } |
| 1041 | 1043 |
| 1042 void requestInterrupt() override | 1044 void requestInterrupt() override |
| 1043 { | 1045 { |
| 1044 m_isolate->RequestInterrupt(&onInterruptCallback, this); | 1046 m_isolate->RequestInterrupt(&onInterruptCallback, this); |
| 1045 } | 1047 } |
| 1046 | 1048 |
| 1047 private: | 1049 private: |
| 1048 v8::Isolate* m_isolate; | 1050 v8::Isolate* m_isolate; |
| 1049 }; | 1051 }; |
| 1050 | 1052 |
| 1051 class DevToolsFunctionInfo final { | 1053 class DevToolsFunctionInfo final { |
| 1054 STACK_ALLOCATED(); |
| 1052 public: | 1055 public: |
| 1053 explicit DevToolsFunctionInfo(v8::Local<v8::Function>& function) | 1056 explicit DevToolsFunctionInfo(v8::Local<v8::Function>& function) |
| 1054 : m_scriptId(0) | 1057 : m_scriptId(0) |
| 1055 , m_lineNumber(1) | 1058 , m_lineNumber(1) |
| 1056 , m_function(function) | 1059 , m_function(function) |
| 1057 { | 1060 { |
| 1058 ASSERT(!m_function.IsEmpty()); | 1061 ASSERT(!m_function.IsEmpty()); |
| 1059 } | 1062 } |
| 1060 | 1063 |
| 1061 DevToolsFunctionInfo(int scriptId, const String& resourceName, int lineNumbe
r) | 1064 DevToolsFunctionInfo(int scriptId, const String& resourceName, int lineNumbe
r) |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1081 PassRefPtr<TraceEvent::ConvertableToTraceFormat> devToolsTraceEventData(v8::Isol
ate*, ExecutionContext*, v8::Local<v8::Function>); | 1084 PassRefPtr<TraceEvent::ConvertableToTraceFormat> devToolsTraceEventData(v8::Isol
ate*, ExecutionContext*, v8::Local<v8::Function>); |
| 1082 | 1085 |
| 1083 // Callback functions used by generated code. | 1086 // Callback functions used by generated code. |
| 1084 CORE_EXPORT void v8ConstructorAttributeGetter(v8::Local<v8::Name> propertyName,
const v8::PropertyCallbackInfo<v8::Value>&); | 1087 CORE_EXPORT void v8ConstructorAttributeGetter(v8::Local<v8::Name> propertyName,
const v8::PropertyCallbackInfo<v8::Value>&); |
| 1085 | 1088 |
| 1086 typedef void (*InstallTemplateFunction)(v8::Local<v8::FunctionTemplate>, v8::Iso
late*); | 1089 typedef void (*InstallTemplateFunction)(v8::Local<v8::FunctionTemplate>, v8::Iso
late*); |
| 1087 | 1090 |
| 1088 } // namespace blink | 1091 } // namespace blink |
| 1089 | 1092 |
| 1090 #endif // V8Binding_h | 1093 #endif // V8Binding_h |
| OLD | NEW |