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

Side by Side Diff: Source/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp

Issue 12211130: Merge 142565 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1410/
Patch Set: Created 7 years, 10 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 | « Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 if (!script) 63 if (!script)
64 return v8::Undefined(); 64 return v8::Undefined();
65 65
66 v8::Handle<v8::Context> v8Context = script->context(); 66 v8::Handle<v8::Context> v8Context = script->context();
67 if (function->IsString()) { 67 if (function->IsString()) {
68 if (ContentSecurityPolicy* policy = workerContext->contentSecurityPolicy ()) { 68 if (ContentSecurityPolicy* policy = workerContext->contentSecurityPolicy ()) {
69 if (!policy->allowEval()) 69 if (!policy->allowEval())
70 return v8Integer(0, args.GetIsolate()); 70 return v8Integer(0, args.GetIsolate());
71 } 71 }
72 WTF::String stringFunction = toWebCoreString(function); 72 WTF::String stringFunction = toWebCoreString(function);
73 timerId = DOMTimer::install(workerContext, adoptPtr(new ScheduledAction( v8Context, stringFunction, workerContext->url())), timeout, singleShot); 73 timerId = DOMTimer::install(workerContext, adoptPtr(new ScheduledAction( v8Context, stringFunction, workerContext->url(), args.GetIsolate())), timeout, s ingleShot);
74 } else if (function->IsFunction()) { 74 } else if (function->IsFunction()) {
75 size_t paramCount = argumentCount >= 2 ? argumentCount - 2 : 0; 75 size_t paramCount = argumentCount >= 2 ? argumentCount - 2 : 0;
76 v8::Local<v8::Value>* params = 0; 76 v8::Local<v8::Value>* params = 0;
77 if (paramCount > 0) { 77 if (paramCount > 0) {
78 params = new v8::Local<v8::Value>[paramCount]; 78 params = new v8::Local<v8::Value>[paramCount];
79 for (size_t i = 0; i < paramCount; ++i) 79 for (size_t i = 0; i < paramCount; ++i)
80 params[i] = args[i+2]; 80 params[i] = args[i+2];
81 } 81 }
82 // ScheduledAction takes ownership of actual params and releases them in its destructor. 82 // ScheduledAction takes ownership of actual params and releases them in its destructor.
83 OwnPtr<ScheduledAction> action = adoptPtr(new ScheduledAction(v8Context, v8::Handle<v8::Function>::Cast(function), paramCount, params)); 83 OwnPtr<ScheduledAction> action = adoptPtr(new ScheduledAction(v8Context, v8::Handle<v8::Function>::Cast(function), paramCount, params, args.GetIsolate() ));
84 // FIXME: We should use a OwnArrayPtr for params. 84 // FIXME: We should use a OwnArrayPtr for params.
85 delete [] params; 85 delete [] params;
86 timerId = DOMTimer::install(workerContext, action.release(), timeout, si ngleShot); 86 timerId = DOMTimer::install(workerContext, action.release(), timeout, si ngleShot);
87 } else 87 } else
88 return v8::Undefined(); 88 return v8::Undefined();
89 89
90 return v8Integer(timerId, args.GetIsolate()); 90 return v8Integer(timerId, args.GetIsolate());
91 } 91 }
92 92
93 v8::Handle<v8::Value> V8WorkerContext::importScriptsCallback(const v8::Arguments & args) 93 v8::Handle<v8::Value> V8WorkerContext::importScriptsCallback(const v8::Arguments & args)
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 return v8NullWithCheck(isolate); 136 return v8NullWithCheck(isolate);
137 137
138 v8::Handle<v8::Object> global = script->context()->Global(); 138 v8::Handle<v8::Object> global = script->context()->Global();
139 ASSERT(!global.IsEmpty()); 139 ASSERT(!global.IsEmpty());
140 return global; 140 return global;
141 } 141 }
142 142
143 } // namespace WebCore 143 } // namespace WebCore
144 144
145 #endif // ENABLE(WORKERS) 145 #endif // ENABLE(WORKERS)
OLDNEW
« no previous file with comments | « Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698