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

Side by Side Diff: Source/core/dom/Document.h

Issue 16904002: Avoid leaking objects between isolated worlds via attribute event listeners (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2011 Google Inc. All rights reserved. 9 * Copyright (C) 2011 Google Inc. All rights reserved.
10 * 10 *
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 void textRemoved(Node*, unsigned offset, unsigned length); 694 void textRemoved(Node*, unsigned offset, unsigned length);
695 void textNodesMerged(Text* oldNode, unsigned offset); 695 void textNodesMerged(Text* oldNode, unsigned offset);
696 void textNodeSplit(Text* oldNode); 696 void textNodeSplit(Text* oldNode);
697 697
698 void setDOMWindow(DOMWindow* domWindow) { m_domWindow = domWindow; } 698 void setDOMWindow(DOMWindow* domWindow) { m_domWindow = domWindow; }
699 DOMWindow* domWindow() const { return m_domWindow; } 699 DOMWindow* domWindow() const { return m_domWindow; }
700 // In DOM Level 2, the Document's DOMWindow is called the defaultView. 700 // In DOM Level 2, the Document's DOMWindow is called the defaultView.
701 DOMWindow* defaultView() const { return domWindow(); } 701 DOMWindow* defaultView() const { return domWindow(); }
702 702
703 // Helper functions for forwarding DOMWindow event related tasks to the DOMW indow if it exists. 703 // Helper functions for forwarding DOMWindow event related tasks to the DOMW indow if it exists.
704 void setWindowAttributeEventListener(const AtomicString& eventType, PassRefP tr<EventListener>); 704 void setWindowAttributeEventListener(const AtomicString& eventType, PassRefP tr<EventListener>, DOMWrapperWorld* = 0);
705 EventListener* getWindowAttributeEventListener(const AtomicString& eventType ); 705 EventListener* getWindowAttributeEventListener(const AtomicString& eventType , DOMWrapperWorld*);
706 void dispatchWindowEvent(PassRefPtr<Event>, PassRefPtr<EventTarget> = 0); 706 void dispatchWindowEvent(PassRefPtr<Event>, PassRefPtr<EventTarget> = 0);
707 707
708 PassRefPtr<Event> createEvent(const String& eventType, ExceptionCode&); 708 PassRefPtr<Event> createEvent(const String& eventType, ExceptionCode&);
709 709
710 // keep track of what types of event listeners are registered, so we don't 710 // keep track of what types of event listeners are registered, so we don't
711 // dispatch events unnecessarily 711 // dispatch events unnecessarily
712 enum ListenerType { 712 enum ListenerType {
713 DOMSUBTREEMODIFIED_LISTENER = 1, 713 DOMSUBTREEMODIFIED_LISTENER = 1,
714 DOMNODEINSERTED_LISTENER = 1 << 1, 714 DOMNODEINSERTED_LISTENER = 1 << 1,
715 DOMNODEREMOVED_LISTENER = 1 << 2, 715 DOMNODEREMOVED_LISTENER = 1 << 2,
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
1493 inline bool Node::isDocumentNode() const 1493 inline bool Node::isDocumentNode() const
1494 { 1494 {
1495 return this == documentInternal(); 1495 return this == documentInternal();
1496 } 1496 }
1497 1497
1498 Node* eventTargetNodeForDocument(Document*); 1498 Node* eventTargetNodeForDocument(Document*);
1499 1499
1500 } // namespace WebCore 1500 } // namespace WebCore
1501 1501
1502 #endif // Document_h 1502 #endif // Document_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698