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

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

Issue 542113003: bindings: Introduces ScriptWrappable::associateWithWrapper in addition to wrap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 3 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, 2011, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 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) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved.
9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved.
(...skipping 5758 matching lines...) Expand 10 before | Expand all | Expand 10 after
5769 v8::Handle<v8::Object> wrapper = DOMDataStore::getWrapperNonTemplate(thi s, isolate); 5769 v8::Handle<v8::Object> wrapper = DOMDataStore::getWrapperNonTemplate(thi s, isolate);
5770 if (!wrapper.IsEmpty()) 5770 if (!wrapper.IsEmpty())
5771 return wrapper; 5771 return wrapper;
5772 } 5772 }
5773 5773
5774 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext , wrapperType, toScriptWrappableBase(), isolate); 5774 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext , wrapperType, toScriptWrappableBase(), isolate);
5775 if (UNLIKELY(wrapper.IsEmpty())) 5775 if (UNLIKELY(wrapper.IsEmpty()))
5776 return wrapper; 5776 return wrapper;
5777 5777
5778 wrapperType->installConditionallyEnabledProperties(wrapper, isolate); 5778 wrapperType->installConditionallyEnabledProperties(wrapper, isolate);
5779 return associateWithWrapper(wrapperType, wrapper, isolate);
5780 }
5781
5782 v8::Handle<v8::Object> Document::associateWithWrapper(const WrapperTypeInfo* wra pperType, v8::Handle<v8::Object> wrapper, v8::Isolate* isolate)
5783 {
5779 wrapperType->refObject(toScriptWrappableBase()); 5784 wrapperType->refObject(toScriptWrappableBase());
5780 V8DOMWrapper::associateObjectWithWrapperNonTemplate(this, wrapperType, wrapp er, isolate); 5785 V8DOMWrapper::associateObjectWithWrapperNonTemplate(this, wrapperType, wrapp er, isolate);
5781
5782 DOMWrapperWorld& world = DOMWrapperWorld::current(isolate); 5786 DOMWrapperWorld& world = DOMWrapperWorld::current(isolate);
5783 if (world.isMainWorld() && frame()) 5787 if (world.isMainWorld() && frame())
5784 frame()->script().windowProxy(world)->updateDocumentWrapper(wrapper); 5788 frame()->script().windowProxy(world)->updateDocumentWrapper(wrapper);
haraken 2014/09/05 16:41:39 The line 5876 - 5788 should be put in Document::wr
Yuki 2014/09/08 07:56:05 As we talked offline, we need two entry points for
5785
5786 return wrapper; 5789 return wrapper;
5787 } 5790 }
5788 5791
5789 void Document::trace(Visitor* visitor) 5792 void Document::trace(Visitor* visitor)
5790 { 5793 {
5791 #if ENABLE(OILPAN) 5794 #if ENABLE(OILPAN)
5792 visitor->trace(m_importsController); 5795 visitor->trace(m_importsController);
5793 visitor->trace(m_docType); 5796 visitor->trace(m_docType);
5794 visitor->trace(m_implementation); 5797 visitor->trace(m_implementation);
5795 visitor->trace(m_autofocusElement); 5798 visitor->trace(m_autofocusElement);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
5851 using namespace blink; 5854 using namespace blink;
5852 void showLiveDocumentInstances() 5855 void showLiveDocumentInstances()
5853 { 5856 {
5854 WeakDocumentSet& set = liveDocumentSet(); 5857 WeakDocumentSet& set = liveDocumentSet();
5855 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); 5858 fprintf(stderr, "There are %u documents currently alive:\n", set.size());
5856 for (WeakDocumentSet::const_iterator it = set.begin(); it != set.end(); ++it ) { 5859 for (WeakDocumentSet::const_iterator it = set.begin(); it != set.end(); ++it ) {
5857 fprintf(stderr, "- Document %p URL: %s\n", *it, (*it)->url().string().ut f8().data()); 5860 fprintf(stderr, "- Document %p URL: %s\n", *it, (*it)->url().string().ut f8().data());
5858 } 5861 }
5859 } 5862 }
5860 #endif 5863 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698