| 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 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 | 378 |
| 379 void V8Window::openMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& info) | 379 void V8Window::openMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& info) |
| 380 { | 380 { |
| 381 DOMWindow* impl = V8Window::toNative(info.Holder()); | 381 DOMWindow* impl = V8Window::toNative(info.Holder()); |
| 382 ExceptionState exceptionState(info.Holder(), info.GetIsolate()); | 382 ExceptionState exceptionState(info.Holder(), info.GetIsolate()); |
| 383 if (!BindingSecurity::shouldAllowAccessToFrame(impl->frame(), exceptionState
)) { | 383 if (!BindingSecurity::shouldAllowAccessToFrame(impl->frame(), exceptionState
)) { |
| 384 exceptionState.throwIfNeeded(); | 384 exceptionState.throwIfNeeded(); |
| 385 return; | 385 return; |
| 386 } | 386 } |
| 387 | 387 |
| 388 // FIXME: Handle exceptions properly. | 388 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithUndefinedOrNullChe
ck>, urlString, info[0]); |
| 389 String urlString = toWebCoreStringWithUndefinedOrNullCheck(info[0]); | 389 AtomicString frameName; |
| 390 AtomicString frameName = (info[1]->IsUndefined() || info[1]->IsNull()) ? "_b
lank" : toWebCoreAtomicString(info[1]); | 390 if (info[1]->IsUndefined() || info[1]->IsNull()) { |
| 391 String windowFeaturesString = toWebCoreStringWithUndefinedOrNullCheck(info[2
]); | 391 frameName = "_blank"; |
| 392 } else { |
| 393 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, frameNameResour
ce, info[1]); |
| 394 frameName = frameNameResource; |
| 395 } |
| 396 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithUndefinedOrNullChe
ck>, windowFeaturesString, info[2]); |
| 392 | 397 |
| 393 RefPtr<DOMWindow> openedWindow = impl->open(urlString, frameName, windowFeat
uresString, activeDOMWindow(), firstDOMWindow()); | 398 RefPtr<DOMWindow> openedWindow = impl->open(urlString, frameName, windowFeat
uresString, activeDOMWindow(), firstDOMWindow()); |
| 394 if (!openedWindow) | 399 if (!openedWindow) |
| 395 return; | 400 return; |
| 396 | 401 |
| 397 v8SetReturnValueFast(info, openedWindow.release(), impl); | 402 v8SetReturnValueFast(info, openedWindow.release(), impl); |
| 398 } | 403 } |
| 399 | 404 |
| 400 void V8Window::namedPropertyGetterCustom(v8::Local<v8::String> name, const v8::P
ropertyCallbackInfo<v8::Value>& info) | 405 void V8Window::namedPropertyGetterCustom(v8::Local<v8::String> name, const v8::P
ropertyCallbackInfo<v8::Value>& info) |
| 401 { | 406 { |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 561 v8::Handle<v8::Context> context = frame->script().currentWorldContext(); | 566 v8::Handle<v8::Context> context = frame->script().currentWorldContext(); |
| 562 if (context.IsEmpty()) | 567 if (context.IsEmpty()) |
| 563 return v8Undefined(); | 568 return v8Undefined(); |
| 564 | 569 |
| 565 v8::Handle<v8::Object> global = context->Global(); | 570 v8::Handle<v8::Object> global = context->Global(); |
| 566 ASSERT(!global.IsEmpty()); | 571 ASSERT(!global.IsEmpty()); |
| 567 return global; | 572 return global; |
| 568 } | 573 } |
| 569 | 574 |
| 570 } // namespace WebCore | 575 } // namespace WebCore |
| OLD | NEW |