OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009, 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2009, 2011 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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 DOMWindow* imp = V8Window::toNative(info.Holder()); | 206 DOMWindow* imp = V8Window::toNative(info.Holder()); |
207 | 207 |
208 DOMWindow* active = activeDOMWindow(); | 208 DOMWindow* active = activeDOMWindow(); |
209 if (!active) | 209 if (!active) |
210 return; | 210 return; |
211 | 211 |
212 DOMWindow* first = firstDOMWindow(); | 212 DOMWindow* first = firstDOMWindow(); |
213 if (!first) | 213 if (!first) |
214 return; | 214 return; |
215 | 215 |
216 if (Location* location = imp->location()) | 216 if (Location* location = imp->location()) { |
217 location->setHref(active, first, toWebCoreString(value)); | 217 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, href, value); |
| 218 location->setHref(active, first, href); |
| 219 } |
218 } | 220 } |
219 | 221 |
220 void V8Window::openerAttributeSetterCustom(v8::Local<v8::String> name, v8::Local
<v8::Value> value, const v8::PropertyCallbackInfo<void>& info) | 222 void V8Window::openerAttributeSetterCustom(v8::Local<v8::String> name, v8::Local
<v8::Value> value, const v8::PropertyCallbackInfo<void>& info) |
221 { | 223 { |
222 DOMWindow* imp = V8Window::toNative(info.Holder()); | 224 DOMWindow* imp = V8Window::toNative(info.Holder()); |
223 ExceptionState es(info.GetIsolate()); | 225 ExceptionState es(info.GetIsolate()); |
224 if (!BindingSecurity::shouldAllowAccessToFrame(imp->frame(), es)) { | 226 if (!BindingSecurity::shouldAllowAccessToFrame(imp->frame(), es)) { |
225 es.throwIfNeeded(); | 227 es.throwIfNeeded(); |
226 return; | 228 return; |
227 } | 229 } |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 { | 376 { |
375 DOMWindow* impl = V8Window::toNative(args.Holder()); | 377 DOMWindow* impl = V8Window::toNative(args.Holder()); |
376 ExceptionState es(args.GetIsolate()); | 378 ExceptionState es(args.GetIsolate()); |
377 if (!BindingSecurity::shouldAllowAccessToFrame(impl->frame(), es)) { | 379 if (!BindingSecurity::shouldAllowAccessToFrame(impl->frame(), es)) { |
378 es.throwIfNeeded(); | 380 es.throwIfNeeded(); |
379 return; | 381 return; |
380 } | 382 } |
381 | 383 |
382 // FIXME: Handle exceptions properly. | 384 // FIXME: Handle exceptions properly. |
383 String urlString = toWebCoreStringWithUndefinedOrNullCheck(args[0]); | 385 String urlString = toWebCoreStringWithUndefinedOrNullCheck(args[0]); |
384 AtomicString frameName = (args[1]->IsUndefined() || args[1]->IsNull()) ? "_b
lank" : AtomicString(toWebCoreString(args[1])); | 386 AtomicString frameName = (args[1]->IsUndefined() || args[1]->IsNull()) ? "_b
lank" : toWebCoreAtomicString(args[1]); |
385 String windowFeaturesString = toWebCoreStringWithUndefinedOrNullCheck(args[2
]); | 387 String windowFeaturesString = toWebCoreStringWithUndefinedOrNullCheck(args[2
]); |
386 | 388 |
387 RefPtr<DOMWindow> openedWindow = impl->open(urlString, frameName, windowFeat
uresString, activeDOMWindow(), firstDOMWindow()); | 389 RefPtr<DOMWindow> openedWindow = impl->open(urlString, frameName, windowFeat
uresString, activeDOMWindow(), firstDOMWindow()); |
388 if (!openedWindow) | 390 if (!openedWindow) |
389 return; | 391 return; |
390 | 392 |
391 v8SetReturnValueFast(args, openedWindow.release(), impl); | 393 v8SetReturnValueFast(args, openedWindow.release(), impl); |
392 } | 394 } |
393 | 395 |
394 void V8Window::namedPropertyGetterCustom(v8::Local<v8::String> name, const v8::P
ropertyCallbackInfo<v8::Value>& info) | 396 void V8Window::namedPropertyGetterCustom(v8::Local<v8::String> name, const v8::P
ropertyCallbackInfo<v8::Value>& info) |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 v8::Handle<v8::Context> context = frame->script()->currentWorldContext(); | 557 v8::Handle<v8::Context> context = frame->script()->currentWorldContext(); |
556 if (context.IsEmpty()) | 558 if (context.IsEmpty()) |
557 return v8Undefined(); | 559 return v8Undefined(); |
558 | 560 |
559 v8::Handle<v8::Object> global = context->Global(); | 561 v8::Handle<v8::Object> global = context->Global(); |
560 ASSERT(!global.IsEmpty()); | 562 ASSERT(!global.IsEmpty()); |
561 return global; | 563 return global; |
562 } | 564 } |
563 | 565 |
564 } // namespace WebCore | 566 } // namespace WebCore |
OLD | NEW |