Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(560)

Side by Side Diff: include/v8.h

Issue 2611643002: [modules] Add an IsModule flag to ScriptOriginOptions. (Closed)
Patch Set: Remove convenience function from API. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** \mainpage V8 API Reference Guide 5 /** \mainpage V8 API Reference Guide
6 * 6 *
7 * V8 is Google's open source JavaScript engine. 7 * V8 is Google's open source JavaScript engine.
8 * 8 *
9 * This set of documents provides reference material generated from the 9 * This set of documents provides reference material generated from the
10 * V8 header file, include/v8.h. 10 * V8 header file, include/v8.h.
(...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 Data(); 955 Data();
956 }; 956 };
957 957
958 958
959 /** 959 /**
960 * The optional attributes of ScriptOrigin. 960 * The optional attributes of ScriptOrigin.
961 */ 961 */
962 class ScriptOriginOptions { 962 class ScriptOriginOptions {
963 public: 963 public:
964 V8_INLINE ScriptOriginOptions(bool is_shared_cross_origin = false, 964 V8_INLINE ScriptOriginOptions(bool is_shared_cross_origin = false,
965 bool is_opaque = false, bool is_wasm = false) 965 bool is_opaque = false, bool is_wasm = false,
966 bool is_module = false)
966 : flags_((is_shared_cross_origin ? kIsSharedCrossOrigin : 0) | 967 : flags_((is_shared_cross_origin ? kIsSharedCrossOrigin : 0) |
967 (is_wasm ? kIsWasm : 0) | (is_opaque ? kIsOpaque : 0)) {} 968 (is_wasm ? kIsWasm : 0) | (is_opaque ? kIsOpaque : 0) |
969 (is_module ? kIsModule : 0)) {}
968 V8_INLINE ScriptOriginOptions(int flags) 970 V8_INLINE ScriptOriginOptions(int flags)
969 : flags_(flags & (kIsSharedCrossOrigin | kIsOpaque | kIsWasm)) {} 971 : flags_(flags &
972 (kIsSharedCrossOrigin | kIsOpaque | kIsWasm | kIsModule)) {}
973
970 bool IsSharedCrossOrigin() const { 974 bool IsSharedCrossOrigin() const {
971 return (flags_ & kIsSharedCrossOrigin) != 0; 975 return (flags_ & kIsSharedCrossOrigin) != 0;
972 } 976 }
973 bool IsOpaque() const { return (flags_ & kIsOpaque) != 0; } 977 bool IsOpaque() const { return (flags_ & kIsOpaque) != 0; }
974 bool IsWasm() const { return (flags_ & kIsWasm) != 0; } 978 bool IsWasm() const { return (flags_ & kIsWasm) != 0; }
979 bool IsModule() const { return (flags_ & kIsModule) != 0; }
980
975 int Flags() const { return flags_; } 981 int Flags() const { return flags_; }
976 982
977 private: 983 private:
978 enum { kIsSharedCrossOrigin = 1, kIsOpaque = 1 << 1, kIsWasm = 1 << 2 }; 984 enum {
985 kIsSharedCrossOrigin = 1,
986 kIsOpaque = 1 << 1,
987 kIsWasm = 1 << 2,
988 kIsModule = 1 << 3
989 };
979 const int flags_; 990 const int flags_;
980 }; 991 };
981 992
982 /** 993 /**
983 * The origin, within a file, of a script. 994 * The origin, within a file, of a script.
984 */ 995 */
985 class ScriptOrigin { 996 class ScriptOrigin {
986 public: 997 public:
987 V8_INLINE ScriptOrigin( 998 V8_INLINE ScriptOrigin(
988 Local<Value> resource_name, 999 Local<Value> resource_name,
989 Local<Integer> resource_line_offset = Local<Integer>(), 1000 Local<Integer> resource_line_offset = Local<Integer>(),
990 Local<Integer> resource_column_offset = Local<Integer>(), 1001 Local<Integer> resource_column_offset = Local<Integer>(),
991 Local<Boolean> resource_is_shared_cross_origin = Local<Boolean>(), 1002 Local<Boolean> resource_is_shared_cross_origin = Local<Boolean>(),
992 Local<Integer> script_id = Local<Integer>(), 1003 Local<Integer> script_id = Local<Integer>(),
993 Local<Value> source_map_url = Local<Value>(), 1004 Local<Value> source_map_url = Local<Value>(),
994 Local<Boolean> resource_is_opaque = Local<Boolean>(), 1005 Local<Boolean> resource_is_opaque = Local<Boolean>(),
995 Local<Boolean> is_wasm = Local<Boolean>()); 1006 Local<Boolean> is_wasm = Local<Boolean>(),
1007 Local<Boolean> is_module = Local<Boolean>());
996 1008
997 V8_INLINE Local<Value> ResourceName() const; 1009 V8_INLINE Local<Value> ResourceName() const;
998 V8_INLINE Local<Integer> ResourceLineOffset() const; 1010 V8_INLINE Local<Integer> ResourceLineOffset() const;
999 V8_INLINE Local<Integer> ResourceColumnOffset() const; 1011 V8_INLINE Local<Integer> ResourceColumnOffset() const;
1000 /** 1012 /**
1001 * Returns true for embedder's debugger scripts 1013 * Returns true for embedder's debugger scripts
1002 */ 1014 */
1003 V8_INLINE Local<Integer> ScriptID() const; 1015 V8_INLINE Local<Integer> ScriptID() const;
1004 V8_INLINE Local<Value> SourceMapUrl() const; 1016 V8_INLINE Local<Value> SourceMapUrl() const;
1005 V8_INLINE ScriptOriginOptions Options() const { return options_; } 1017 V8_INLINE ScriptOriginOptions Options() const { return options_; }
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1176 CachedData* cached_data = NULL); 1188 CachedData* cached_data = NULL);
1177 V8_INLINE Source(Local<String> source_string, 1189 V8_INLINE Source(Local<String> source_string,
1178 CachedData* cached_data = NULL); 1190 CachedData* cached_data = NULL);
1179 V8_INLINE ~Source(); 1191 V8_INLINE ~Source();
1180 1192
1181 // Ownership of the CachedData or its buffers is *not* transferred to the 1193 // Ownership of the CachedData or its buffers is *not* transferred to the
1182 // caller. The CachedData object is alive as long as the Source object is 1194 // caller. The CachedData object is alive as long as the Source object is
1183 // alive. 1195 // alive.
1184 V8_INLINE const CachedData* GetCachedData() const; 1196 V8_INLINE const CachedData* GetCachedData() const;
1185 1197
1198 V8_INLINE const ScriptOriginOptions& GetResourceOptions() const;
1199
1186 // Prevent copying. 1200 // Prevent copying.
1187 Source(const Source&) = delete; 1201 Source(const Source&) = delete;
1188 Source& operator=(const Source&) = delete; 1202 Source& operator=(const Source&) = delete;
1189 1203
1190 private: 1204 private:
1191 friend class ScriptCompiler; 1205 friend class ScriptCompiler;
1192 1206
1193 Local<String> source_string; 1207 Local<String> source_string;
1194 1208
1195 // Origin information 1209 // Origin information
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 Local<String> arguments[], 1432 Local<String> arguments[],
1419 size_t context_extension_count, 1433 size_t context_extension_count,
1420 Local<Object> context_extensions[])); 1434 Local<Object> context_extensions[]));
1421 static V8_WARN_UNUSED_RESULT MaybeLocal<Function> CompileFunctionInContext( 1435 static V8_WARN_UNUSED_RESULT MaybeLocal<Function> CompileFunctionInContext(
1422 Local<Context> context, Source* source, size_t arguments_count, 1436 Local<Context> context, Source* source, size_t arguments_count,
1423 Local<String> arguments[], size_t context_extension_count, 1437 Local<String> arguments[], size_t context_extension_count,
1424 Local<Object> context_extensions[]); 1438 Local<Object> context_extensions[]);
1425 1439
1426 private: 1440 private:
1427 static V8_WARN_UNUSED_RESULT MaybeLocal<UnboundScript> CompileUnboundInternal( 1441 static V8_WARN_UNUSED_RESULT MaybeLocal<UnboundScript> CompileUnboundInternal(
1428 Isolate* isolate, Source* source, CompileOptions options, bool is_module); 1442 Isolate* isolate, Source* source, CompileOptions options);
1429 }; 1443 };
1430 1444
1431 1445
1432 /** 1446 /**
1433 * An error message. 1447 * An error message.
1434 */ 1448 */
1435 class V8_EXPORT Message { 1449 class V8_EXPORT Message {
1436 public: 1450 public:
1437 Local<String> Get() const; 1451 Local<String> Get() const;
1438 1452
(...skipping 7541 matching lines...) Expand 10 before | Expand all | Expand 10 after
8980 return length_; 8994 return length_;
8981 } 8995 }
8982 8996
8983 ScriptOrigin::ScriptOrigin(Local<Value> resource_name, 8997 ScriptOrigin::ScriptOrigin(Local<Value> resource_name,
8984 Local<Integer> resource_line_offset, 8998 Local<Integer> resource_line_offset,
8985 Local<Integer> resource_column_offset, 8999 Local<Integer> resource_column_offset,
8986 Local<Boolean> resource_is_shared_cross_origin, 9000 Local<Boolean> resource_is_shared_cross_origin,
8987 Local<Integer> script_id, 9001 Local<Integer> script_id,
8988 Local<Value> source_map_url, 9002 Local<Value> source_map_url,
8989 Local<Boolean> resource_is_opaque, 9003 Local<Boolean> resource_is_opaque,
8990 Local<Boolean> is_wasm) 9004 Local<Boolean> is_wasm, Local<Boolean> is_module)
8991 : resource_name_(resource_name), 9005 : resource_name_(resource_name),
8992 resource_line_offset_(resource_line_offset), 9006 resource_line_offset_(resource_line_offset),
8993 resource_column_offset_(resource_column_offset), 9007 resource_column_offset_(resource_column_offset),
8994 options_(!resource_is_shared_cross_origin.IsEmpty() && 9008 options_(!resource_is_shared_cross_origin.IsEmpty() &&
8995 resource_is_shared_cross_origin->IsTrue(), 9009 resource_is_shared_cross_origin->IsTrue(),
8996 !resource_is_opaque.IsEmpty() && resource_is_opaque->IsTrue(), 9010 !resource_is_opaque.IsEmpty() && resource_is_opaque->IsTrue(),
8997 !is_wasm.IsEmpty() && is_wasm->IsTrue()), 9011 !is_wasm.IsEmpty() && is_wasm->IsTrue(),
9012 !is_module.IsEmpty() && is_module->IsTrue()),
8998 script_id_(script_id), 9013 script_id_(script_id),
8999 source_map_url_(source_map_url) {} 9014 source_map_url_(source_map_url) {}
9000 9015
9001 Local<Value> ScriptOrigin::ResourceName() const { return resource_name_; } 9016 Local<Value> ScriptOrigin::ResourceName() const { return resource_name_; }
9002 9017
9003 9018
9004 Local<Integer> ScriptOrigin::ResourceLineOffset() const { 9019 Local<Integer> ScriptOrigin::ResourceLineOffset() const {
9005 return resource_line_offset_; 9020 return resource_line_offset_;
9006 } 9021 }
9007 9022
(...skipping 28 matching lines...) Expand all
9036 ScriptCompiler::Source::~Source() { 9051 ScriptCompiler::Source::~Source() {
9037 delete cached_data; 9052 delete cached_data;
9038 } 9053 }
9039 9054
9040 9055
9041 const ScriptCompiler::CachedData* ScriptCompiler::Source::GetCachedData() 9056 const ScriptCompiler::CachedData* ScriptCompiler::Source::GetCachedData()
9042 const { 9057 const {
9043 return cached_data; 9058 return cached_data;
9044 } 9059 }
9045 9060
9061 const ScriptOriginOptions& ScriptCompiler::Source::GetResourceOptions() const {
9062 return resource_options;
9063 }
9046 9064
9047 Local<Boolean> Boolean::New(Isolate* isolate, bool value) { 9065 Local<Boolean> Boolean::New(Isolate* isolate, bool value) {
9048 return value ? True(isolate) : False(isolate); 9066 return value ? True(isolate) : False(isolate);
9049 } 9067 }
9050 9068
9051 void Template::Set(Isolate* isolate, const char* name, Local<Data> value) { 9069 void Template::Set(Isolate* isolate, const char* name, Local<Data> value) {
9052 Set(String::NewFromUtf8(isolate, name, NewStringType::kNormal) 9070 Set(String::NewFromUtf8(isolate, name, NewStringType::kNormal)
9053 .ToLocalChecked(), 9071 .ToLocalChecked(),
9054 value); 9072 value);
9055 } 9073 }
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after
9831 */ 9849 */
9832 9850
9833 9851
9834 } // namespace v8 9852 } // namespace v8
9835 9853
9836 9854
9837 #undef TYPE_CHECK 9855 #undef TYPE_CHECK
9838 9856
9839 9857
9840 #endif // INCLUDE_V8_H_ 9858 #endif // INCLUDE_V8_H_
OLDNEW
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698