OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 14373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14384 | 14384 |
14385 // Disallow but setting a global callback that will allow the calls. | 14385 // Disallow but setting a global callback that will allow the calls. |
14386 context->AllowCodeGenerationFromStrings(false); | 14386 context->AllowCodeGenerationFromStrings(false); |
14387 V8::SetAllowCodeGenerationFromStringsCallback(&CodeGenerationAllowed); | 14387 V8::SetAllowCodeGenerationFromStringsCallback(&CodeGenerationAllowed); |
14388 CheckCodeGenerationAllowed(); | 14388 CheckCodeGenerationAllowed(); |
14389 | 14389 |
14390 // Set a callback that disallows the code generation. | 14390 // Set a callback that disallows the code generation. |
14391 V8::SetAllowCodeGenerationFromStringsCallback(&CodeGenerationDisallowed); | 14391 V8::SetAllowCodeGenerationFromStringsCallback(&CodeGenerationDisallowed); |
14392 CheckCodeGenerationDisallowed(); | 14392 CheckCodeGenerationDisallowed(); |
14393 } | 14393 } |
| 14394 |
| 14395 |
| 14396 static v8::Handle<Value> NonObjectThis(const v8::Arguments& args) { |
| 14397 return v8::Undefined(); |
| 14398 } |
| 14399 |
| 14400 |
| 14401 THREADED_TEST(CallAPIFunctionOnNonObject) { |
| 14402 v8::HandleScope scope; |
| 14403 LocalContext context; |
| 14404 Handle<FunctionTemplate> templ = v8::FunctionTemplate::New(NonObjectThis); |
| 14405 Handle<Function> function = templ->GetFunction(); |
| 14406 context->Global()->Set(v8_str("f"), function); |
| 14407 TryCatch try_catch; |
| 14408 CompileRun("f.call(2)"); |
| 14409 CHECK(try_catch.HasCaught()); |
| 14410 } |
OLD | NEW |