OLD | NEW |
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 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 return notHandledByInterceptor(); | 529 return notHandledByInterceptor(); |
530 | 530 |
531 v8::Handle<v8::Object> holder = V8Proxy::LookupDOMWrapper(V8ClassIndex::DOMW
INDOW, info.This()); | 531 v8::Handle<v8::Object> holder = V8Proxy::LookupDOMWrapper(V8ClassIndex::DOMW
INDOW, info.This()); |
532 if (holder.IsEmpty()) | 532 if (holder.IsEmpty()) |
533 return notHandledByInterceptor(); | 533 return notHandledByInterceptor(); |
534 | 534 |
535 DOMWindow* window = V8Proxy::ToNativeObject<DOMWindow>(V8ClassIndex::DOMWIND
OW, holder); | 535 DOMWindow* window = V8Proxy::ToNativeObject<DOMWindow>(V8ClassIndex::DOMWIND
OW, holder); |
536 if (!window) | 536 if (!window) |
537 return notHandledByInterceptor(); | 537 return notHandledByInterceptor(); |
538 | 538 |
539 String propName = toWebCoreString(name); | |
540 | |
541 Frame* frame = window->frame(); | 539 Frame* frame = window->frame(); |
542 // window is detached from a frame. | 540 // window is detached from a frame. |
543 if (!frame) | 541 if (!frame) |
544 return notHandledByInterceptor(); | 542 return notHandledByInterceptor(); |
545 | 543 |
| 544 AtomicString propName = v8StringToAtomicWebCoreString(name); |
| 545 |
546 // Search sub-frames. | 546 // Search sub-frames. |
547 Frame* child = frame->tree()->child(propName); | 547 Frame* child = frame->tree()->child(propName); |
548 if (child) | 548 if (child) |
549 return V8Proxy::ToV8Object(V8ClassIndex::DOMWINDOW, child->domWindow()); | 549 return V8Proxy::ToV8Object(V8ClassIndex::DOMWINDOW, child->domWindow()); |
550 | 550 |
551 // Search IDL functions defined in the prototype | 551 // Search IDL functions defined in the prototype |
552 v8::Handle<v8::Value> result = holder->GetRealNamedPropertyInPrototypeChain(
name); | 552 v8::Handle<v8::Value> result = holder->GetRealNamedPropertyInPrototypeChain(
name); |
553 if (!result.IsEmpty()) | 553 if (!result.IsEmpty()) |
554 return result; | 554 return result; |
555 | 555 |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 } | 689 } |
690 | 690 |
691 CALLBACK_FUNC_DECL(DOMWindowClearInterval) | 691 CALLBACK_FUNC_DECL(DOMWindowClearInterval) |
692 { | 692 { |
693 INC_STATS("DOM.DOMWindow.clearInterval"); | 693 INC_STATS("DOM.DOMWindow.clearInterval"); |
694 ClearTimeoutImpl(args); | 694 ClearTimeoutImpl(args); |
695 return v8::Undefined(); | 695 return v8::Undefined(); |
696 } | 696 } |
697 | 697 |
698 } // namespace WebCore | 698 } // namespace WebCore |
OLD | NEW |