| 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 |