[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-changes
Subject:    [webkit-changes] [35822] branches/XBL2
From:       jchaffraix () webkit ! org
Date:       2008-08-18 20:53:16
Message-ID: 20080818205318.900EB1F9843 () beta ! macosforge ! org
[Download RAW message or body]

[Attachment #2 (text/html)]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[35822] branches/XBL2</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: \
verdana,arial,helvetica,sans-serif; font-size: 10pt;  } #msg dl a { font-weight: \
bold} #msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: \
bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: \
6px; } #logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em \
0; } #logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg \
h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } \
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; \
} #logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: \
-1.5em; padding-left: 1.5em; } #logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em \
1em 0 1em; background: white;} #logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid \
#fa0; border-bottom: 1px solid #fa0; background: #fff; } #logmsg table th { \
text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted \
#fa0; } #logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: \
0.2em 0.5em; } #logmsg table thead th { text-align: center; border-bottom: 1px solid \
#fa0; } #logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: \
6px; } #patch { width: 100%; }
#patch h4 {font-family: \
verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
 #patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, \
#patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins \
{background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del \
{background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, \
                .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a \
href="http://trac.webkit.org/projects/webkit/changeset/35822">35822</a></dd> \
<dt>Author</dt> <dd>jchaffraix@webkit.org</dd> <dt>Date</dt> <dd>2008-08-18 13:53:16 \
-0700 (Mon, 18 Aug 2008)</dd> </dl>

<h3>Log Message</h3>
<pre>WebCore:

2008-08-18  Julien Chaffraix  &lt;jchaffraix@webkit.org&gt;

        Reviewed by Eric.

        Bug 20347: [XBL] Add support for DocumentXBL interface

        - Add a custom NamedNodeMap for document.bindingsDocument
        as it is a static map that throws NO_MODIFICATIN_ALLOWED_ERR
        on modification.

        Test: fast/xbl/xbl-bindingDocuments.html

        * GNUmakefile.am: Add NamedStaticDocumentMap.cpp.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * dom/Document.cpp:
        (WebCore::Document::Document): Initialize m_bindingDocuments.
        (WebCore::Document::~Document): Zero m_bindingDocuments.
        (WebCore::Document::bindingDocuments): Getter method.
        (WebCore::Document::loadBindingDocument): Stub method as we need an helper
        class to load bindings.
        (WebCore::Document::createBindingDocumentsIfNeeded):
        * dom/Document.h:
        * dom/Document.idl: Add documentXBL interface.
        * dom/NamedStaticDocumentMap.cpp: Added.
        (WebCore::NamedStaticDocumentMap::NamedStaticDocumentMap):
        (WebCore::NamedStaticDocumentMap::~NamedStaticDocumentMap):
        (WebCore::NamedStaticDocumentMap::getNamedItem):
        (WebCore::NamedStaticDocumentMap::removeNamedItem):
        (WebCore::NamedStaticDocumentMap::getNamedItemNS):
        (WebCore::NamedStaticDocumentMap::removeNamedItemNS):
        (WebCore::NamedStaticDocumentMap::setNamedItem):
        (WebCore::NamedStaticDocumentMap::item):
        (WebCore::NamedStaticDocumentMap::addItem):
        * dom/NamedStaticDocumentMap.h: Added.
        (WebCore::NamedStaticDocumentMap::create):
        (WebCore::NamedStaticDocumentMap::length):
        (WebCore::NamedStaticDocumentMap::clear): Custom NamedNodeMap
        that match the specification.

LayoutTests:

2008-08-18  Julien Chaffraix  &lt;jchaffraix@webkit.org&gt;

        Reviewed by Eric.

        Test case for bug 20347: [XBL] Add support for DocumentXBL interface

        * fast/xbl/resources/bindingDocuments.js: Added.
        * fast/xbl/xbl-bindingDocuments-expected.txt: Added.
        * fast/xbl/xbl-bindingDocuments.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchesXBL2LayoutTestsChangeLog">branches/XBL2/LayoutTests/ChangeLog</a></li>
 <li><a href="#branchesXBL2WebCoreChangeLog">branches/XBL2/WebCore/ChangeLog</a></li>
<li><a href="#branchesXBL2WebCoreGNUmakefileam">branches/XBL2/WebCore/GNUmakefile.am</a></li>
 <li><a href="#branchesXBL2WebCoreWebCorepro">branches/XBL2/WebCore/WebCore.pro</a></li>
 <li><a href="#branchesXBL2WebCoreWebCorexcodeprojprojectpbxproj">branches/XBL2/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
 <li><a href="#branchesXBL2WebCoredomDocumentcpp">branches/XBL2/WebCore/dom/Document.cpp</a></li>
 <li><a href="#branchesXBL2WebCoredomDocumenth">branches/XBL2/WebCore/dom/Document.h</a></li>
 <li><a href="#branchesXBL2WebCoredomDocumentidl">branches/XBL2/WebCore/dom/Document.idl</a></li>
 </ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#branchesXBL2LayoutTestsfastxblresourcesbindingDocumentsjs">branches/XBL2/LayoutTests/fast/xbl/resources/bindingDocuments.js</a></li>
 <li><a href="#branchesXBL2LayoutTestsfastxblxblbindingDocumentsexpectedtxt">branches/XBL2/LayoutTests/fast/xbl/xbl-bindingDocuments-expected.txt</a></li>
 <li><a href="#branchesXBL2LayoutTestsfastxblxblbindingDocumentshtml">branches/XBL2/LayoutTests/fast/xbl/xbl-bindingDocuments.html</a></li>
 <li><a href="#branchesXBL2WebCoredomNamedStaticDocumentMapcpp">branches/XBL2/WebCore/dom/NamedStaticDocumentMap.cpp</a></li>
 <li><a href="#branchesXBL2WebCoredomNamedStaticDocumentMaph">branches/XBL2/WebCore/dom/NamedStaticDocumentMap.h</a></li>
 </ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchesXBL2LayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/XBL2/LayoutTests/ChangeLog (35821 => \
35822)</h4> <pre class="diff"><span>
<span class="info">--- branches/XBL2/LayoutTests/ChangeLog	2008-08-18 20:21:57 UTC \
                (rev 35821)
+++ branches/XBL2/LayoutTests/ChangeLog	2008-08-18 20:53:16 UTC (rev 35822)
</span><span class="lines">@@ -2,6 +2,16 @@
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Eric.
</span><span class="cx"> 
</span><ins>+        Test case for bug 20347: [XBL] Add support for DocumentXBL \
interface +
+        * fast/xbl/resources/bindingDocuments.js: Added.
+        * fast/xbl/xbl-bindingDocuments-expected.txt: Added.
+        * fast/xbl/xbl-bindingDocuments.html: Added.
+
+2008-08-18  Julien Chaffraix  &lt;jchaffraix@webkit.org&gt;
+
+        Reviewed by Eric.
+
</ins><span class="cx">         Test case for bug 20263: [XBL] Add loading code for \
XBLBinding </span><span class="cx"> 
</span><span class="cx">         * fast/xbl/resources/xbl-failed-binding.xbl: Added.
</span></span></pre></div>
<a id="branchesXBL2LayoutTestsfastxblresourcesbindingDocumentsjs"></a>
<div class="addfile"><h4>Added: \
branches/XBL2/LayoutTests/fast/xbl/resources/bindingDocuments.js (0 => 35822)</h4> \
<pre class="diff"><span> <span class="info">--- \
branches/XBL2/LayoutTests/fast/xbl/resources/bindingDocuments.js	                     \
                (rev 0)
+++ branches/XBL2/LayoutTests/fast/xbl/resources/bindingDocuments.js	2008-08-18 \
20:53:16 UTC (rev 35822) </span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+description(
+&quot;This test checks the behaviour of document.bindingDocuments as specified by \
the XBL specification.&quot; +);
+
+debug(&quot;Initial value of bindingDocuments&quot;);
+debug(&quot;&quot;);
+
+var bindingDocuments = document.bindingDocuments;
+shouldBeEqualToString(&quot;bindingDocuments.toString()&quot;, &quot;[object \
NamedNodeMap]&quot;); +shouldBe(&quot;bindingDocuments.length&quot;, &quot;0&quot;);
+shouldBeNull(&quot;bindingDocuments.getNamedItem('foobar')&quot;);
+shouldBeNull(&quot;bindingDocuments.item(0)&quot;);
+
+debug(&quot;&quot;);
+debug(&quot;Try changing the empty bindingDocuments&quot;);
+debug(&quot;&quot;);
+
+shouldThrow(&quot;bindingDocuments.setNamedItem(bindingDocuments.item(0))&quot;, \
'&quot;Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7&quot;'); \
+shouldThrow(&quot;bindingDocuments.setNamedItemNS(bindingDocuments.item(0))&quot;, \
'&quot;Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7&quot;'); \
+shouldThrow(&quot;bindingDocuments.removeNamedItem('foobar')&quot;, '&quot;Error: \
NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7&quot;'); \
+shouldThrow(&quot;bindingDocuments.removeNamedItemNS('', 'foobar')&quot;, \
'&quot;Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7&quot;'); +
+debug(&quot;&quot;);
+debug(&quot;Add a value to bindingDocuments and check the results (This part should \
fail as the loading code is not implemented)&quot;); +debug(&quot;&quot;);
+
+document.loadBindingDocument(&quot;resources/xbl-passed-binding.xbl&quot;);
+
+shouldBe(&quot;bindingDocuments.length&quot;, &quot;1&quot;);
+shouldBeEqualToString(&quot;bindingDocuments.item(0).toString()&quot;, &quot;[object \
Document]&quot;); +shouldBeTrue(&quot;bindingDocuments.getNamedItem('resources/xbl-passed-binding.xbl')&quot;, \
&quot;bindingDocuments.item(0)&quot;); \
+shouldBe(&quot;bindingDocuments.getNamedItemNS('', \
'resources/xbl-passed-binding.xbl')&quot;, &quot;bindingDocuments.item(0)&quot;); \
+shouldBe(&quot;bindingDocuments.getNamedItemNS('', \
'resources/xbl-passed-binding.xbl')&quot;, &quot;bindingDocuments.item(0)&quot;); \
+shouldBeNull(&quot;bindingDocuments.getNamedItemNS('foobar', \
'resources/xbl-passed-binding.xbl')&quot;); +
+debug(&quot;&quot;);
+debug(&quot;Try to change an existing value&quot;);
+debug(&quot;&quot;);
+
+shouldThrow(&quot;bindingDocuments.setNamedItem(bindingDocuments.item(0))&quot;, \
'&quot;Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7&quot;'); \
+shouldThrow(&quot;bindingDocuments.setNamedItemNS(bindingDocuments.item(0))&quot;, \
'&quot;Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7&quot;'); \
+shouldThrow(&quot;bindingDocuments.removeNamedItem('resources/xbl-passed-binding.xbl')&quot;, \
'&quot;Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7&quot;'); \
+shouldThrow(&quot;bindingDocuments.removeNamedItemNS('', \
'resources/xbl-passed-binding.xbl')&quot;, '&quot;Error: NO_MODIFICATION_ALLOWED_ERR: \
DOM Exception 7&quot;'); +
+successfullyParsed = true;
</ins></span></pre></div>
<a id="branchesXBL2LayoutTestsfastxblxblbindingDocumentsexpectedtxt"></a>
<div class="addfile"><h4>Added: \
branches/XBL2/LayoutTests/fast/xbl/xbl-bindingDocuments-expected.txt (0 => \
35822)</h4> <pre class="diff"><span>
<span class="info">--- \
branches/XBL2/LayoutTests/fast/xbl/xbl-bindingDocuments-expected.txt	                 \
                (rev 0)
+++ branches/XBL2/LayoutTests/fast/xbl/xbl-bindingDocuments-expected.txt	2008-08-18 \
20:53:16 UTC (rev 35822) </span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+This test checks the behaviour of document.bindingDocuments as specified \
by the XBL specification. +
+On success, you will see a series of &quot;PASS&quot; messages, followed by \
&quot;TEST COMPLETE&quot;. +
+
+Initial value of bindingDocuments
+
+PASS bindingDocuments.toString() is &quot;[object NamedNodeMap]&quot;
+PASS bindingDocuments.length is 0
+PASS bindingDocuments.getNamedItem('foobar') is null
+PASS bindingDocuments.item(0) is null
+
+Try changing the empty bindingDocuments
+
+PASS bindingDocuments.setNamedItem(bindingDocuments.item(0)) threw exception Error: \
NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7. +PASS \
bindingDocuments.setNamedItemNS(bindingDocuments.item(0)) threw exception Error: \
NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7. +PASS \
bindingDocuments.removeNamedItem('foobar') threw exception Error: \
NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7. +PASS \
bindingDocuments.removeNamedItemNS('', 'foobar') threw exception Error: \
NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7. +
+Add a value to bindingDocuments and check the results (This part should fail as the \
loading code is not implemented) +
+FAIL bindingDocuments.length should be 1. Was 0.
+FAIL bindingDocuments.item(0).toString() should be [object Document]. Threw \
exception TypeError: Null value +FAIL \
bindingDocuments.getNamedItem('resources/xbl-passed-binding.xbl') should be true (of \
type boolean). Was null (of type object). +PASS bindingDocuments.getNamedItemNS('', \
'resources/xbl-passed-binding.xbl') is bindingDocuments.item(0) +PASS \
bindingDocuments.getNamedItemNS('', 'resources/xbl-passed-binding.xbl') is \
bindingDocuments.item(0) +PASS bindingDocuments.getNamedItemNS('foobar', \
'resources/xbl-passed-binding.xbl') is null +
+Try to change an existing value
+
+PASS bindingDocuments.setNamedItem(bindingDocuments.item(0)) threw exception Error: \
NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7. +PASS \
bindingDocuments.setNamedItemNS(bindingDocuments.item(0)) threw exception Error: \
NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7. +PASS \
bindingDocuments.removeNamedItem('resources/xbl-passed-binding.xbl') threw exception \
Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7. +PASS \
bindingDocuments.removeNamedItemNS('', 'resources/xbl-passed-binding.xbl') threw \
exception Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7. +PASS \
successfullyParsed is true +
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="branchesXBL2LayoutTestsfastxblxblbindingDocumentshtml"></a>
<div class="addfile"><h4>Added: \
branches/XBL2/LayoutTests/fast/xbl/xbl-bindingDocuments.html (0 => 35822)</h4> <pre \
class="diff"><span> <span class="info">--- \
branches/XBL2/LayoutTests/fast/xbl/xbl-bindingDocuments.html	                        \
                (rev 0)
+++ branches/XBL2/LayoutTests/fast/xbl/xbl-bindingDocuments.html	2008-08-18 20:53:16 \
UTC (rev 35822) </span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;link rel=&quot;stylesheet&quot; \
href=&quot;../js/resources/js-test-style.css&quot;&gt; +&lt;script \
src=&quot;../js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt; +&lt;/head&gt;
+&lt;body&gt;
+&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
+&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
+&lt;script src=&quot;resources/bindingDocuments.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;../js/resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="branchesXBL2WebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/XBL2/WebCore/ChangeLog (35821 => \
35822)</h4> <pre class="diff"><span>
<span class="info">--- branches/XBL2/WebCore/ChangeLog	2008-08-18 20:21:57 UTC (rev \
                35821)
+++ branches/XBL2/WebCore/ChangeLog	2008-08-18 20:53:16 UTC (rev 35822)
</span><span class="lines">@@ -2,6 +2,46 @@
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Eric.
</span><span class="cx"> 
</span><ins>+        Bug 20347: [XBL] Add support for DocumentXBL interface
+
+        - Add a custom NamedNodeMap for document.bindingsDocument
+        as it is a static map that throws NO_MODIFICATIN_ALLOWED_ERR
+        on modification.
+
+        Test: fast/xbl/xbl-bindingDocuments.html
+
+        * GNUmakefile.am: Add NamedStaticDocumentMap.cpp.
+        * WebCore.pro: Ditto.
+        * WebCore.xcodeproj/project.pbxproj: Ditto.
+        * dom/Document.cpp:
+        (WebCore::Document::Document): Initialize m_bindingDocuments.
+        (WebCore::Document::~Document): Zero m_bindingDocuments.
+        (WebCore::Document::bindingDocuments): Getter method.
+        (WebCore::Document::loadBindingDocument): Stub method as we need an helper
+        class to load bindings.
+        (WebCore::Document::createBindingDocumentsIfNeeded):
+        * dom/Document.h:
+        * dom/Document.idl: Add documentXBL interface.
+        * dom/NamedStaticDocumentMap.cpp: Added.
+        (WebCore::NamedStaticDocumentMap::NamedStaticDocumentMap):
+        (WebCore::NamedStaticDocumentMap::~NamedStaticDocumentMap):
+        (WebCore::NamedStaticDocumentMap::getNamedItem):
+        (WebCore::NamedStaticDocumentMap::removeNamedItem):
+        (WebCore::NamedStaticDocumentMap::getNamedItemNS):
+        (WebCore::NamedStaticDocumentMap::removeNamedItemNS):
+        (WebCore::NamedStaticDocumentMap::setNamedItem):
+        (WebCore::NamedStaticDocumentMap::item):
+        (WebCore::NamedStaticDocumentMap::addItem):
+        * dom/NamedStaticDocumentMap.h: Added.
+        (WebCore::NamedStaticDocumentMap::create):
+        (WebCore::NamedStaticDocumentMap::length):
+        (WebCore::NamedStaticDocumentMap::clear): Custom NamedNodeMap
+        that match the specification.
+
+2008-08-18  Julien Chaffraix  &lt;jchaffraix@webkit.org&gt;
+
+        Reviewed by Eric.
+
</ins><span class="cx">         Bug 20263: [XBL] Add loading code for XBLBinding
</span><span class="cx"> 
</span><span class="cx">         Test: fast/xbl/xbl-empty-fragment-loadBinding.html
</span></span></pre></div>
<a id="branchesXBL2WebCoreGNUmakefileam"></a>
<div class="modfile"><h4>Modified: branches/XBL2/WebCore/GNUmakefile.am (35821 => \
35822)</h4> <pre class="diff"><span>
<span class="info">--- branches/XBL2/WebCore/GNUmakefile.am	2008-08-18 20:21:57 UTC \
                (rev 35821)
+++ branches/XBL2/WebCore/GNUmakefile.am	2008-08-18 20:53:16 UTC (rev 35822)
</span><span class="lines">@@ -1443,6 +1443,7 @@
</span><span class="cx"> 	DerivedSources/XBLNames.cpp
</span><span class="cx"> 
</span><span class="cx"> webcore_sources += \
</span><ins>+	WebCore/dom/NamedStaticDocumentMap.cpp \
</ins><span class="cx"> 	WebCore/loader/CachedXBLDocument.cpp \
</span><span class="cx"> 	WebCore/xbl/XBLBinding.cpp \
</span><span class="cx"> 	WebCore/xbl/XBLBindingElement.cpp \
</span></span></pre></div>
<a id="branchesXBL2WebCoreWebCorepro"></a>
<div class="modfile"><h4>Modified: branches/XBL2/WebCore/WebCore.pro (35821 => \
35822)</h4> <pre class="diff"><span>
<span class="info">--- branches/XBL2/WebCore/WebCore.pro	2008-08-18 20:21:57 UTC (rev \
                35821)
+++ branches/XBL2/WebCore/WebCore.pro	2008-08-18 20:53:16 UTC (rev 35822)
</span><span class="lines">@@ -1235,6 +1235,7 @@
</span><span class="cx">     INCLUDEPATH += xbl
</span><span class="cx"> 
</span><span class="cx">     SOURCES += \
</span><ins>+        dom/NamedStaticDocumentMap.cpp \
</ins><span class="cx">         loader/CachedXBLDocument.cpp \
</span><span class="cx">         xbl/XBLBinding.cpp \
</span><span class="cx">         xbl/XBLBindingElement.cpp \
</span></span></pre></div>
<a id="branchesXBL2WebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: \
branches/XBL2/WebCore/WebCore.xcodeproj/project.pbxproj (35821 => 35822)</h4> <pre \
class="diff"><span> <span class="info">--- \
branches/XBL2/WebCore/WebCore.xcodeproj/project.pbxproj	2008-08-18 20:21:57 UTC (rev \
                35821)
+++ branches/XBL2/WebCore/WebCore.xcodeproj/project.pbxproj	2008-08-18 20:53:16 UTC \
(rev 35822) </span><span class="lines">@@ -1831,6 +1831,8 @@
</span><span class="cx"> 		A1172D6E0E0C539E00175C88 /* XBLDocument.h in Headers */ = \
{isa = PBXBuildFile; fileRef = A1172D6D0E0C539E00175C88 /* XBLDocument.h */; }; \
</span><span class="cx"> 		A14EF7AC0E3F106900DA9F39 /* XBLBindingElement.cpp in \
Sources */ = {isa = PBXBuildFile; fileRef = A14EF7AB0E3F106900DA9F39 /* \
XBLBindingElement.cpp */; }; </span><span class="cx"> 		A15A3FFD0E4C80CE00C4335A /* \
XBLBinding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = \
A15A3FFC0E4C80CE00C4335A /* XBLBinding.cpp */; }; \
</span><ins>+		A17DE0170E50AD1D008CD116 /* NamedStaticDocumentMap.cpp in Sources */ = \
{isa = PBXBuildFile; fileRef = A17DE0150E50AD1D008CD116 /* NamedStaticDocumentMap.cpp \
*/; }; +		A17DE0180E50AD1D008CD116 /* NamedStaticDocumentMap.h in Headers */ = {isa = \
PBXBuildFile; fileRef = A17DE0160E50AD1D008CD116 /* NamedStaticDocumentMap.h */; }; \
</ins><span class="cx"> 		A718760E0B2A120100A16ECE /* DragActions.h in Headers */ = \
{isa = PBXBuildFile; fileRef = A718760D0B2A120100A16ECE /* DragActions.h */; settings \
= {ATTRIBUTES = (Private, ); }; }; </span><span class="cx"> \
A71878900B2D04AC00A16ECE /* DragControllerMac.mm in Sources */ = {isa = PBXBuildFile; \
fileRef = A718788F0B2D04AC00A16ECE /* DragControllerMac.mm */; }; </span><span \
class="cx"> 		A7352C190B1BB89D00A986D0 /* RenderSVGBlock.cpp in Sources */ = {isa = \
PBXBuildFile; fileRef = A7352C170B1BB89D00A986D0 /* RenderSVGBlock.cpp */; }; \
</span><span class="lines">@@ -6307,6 +6309,8 @@ </span><span class="cx"> \
A1172D6D0E0C539E00175C88 /* XBLDocument.h */ = {isa = PBXFileReference; fileEncoding \
= 4; lastKnownFileType = sourcecode.c.h; path = XBLDocument.h; sourceTree = \
&quot;&lt;group&gt;&quot;; }; </span><span class="cx"> 		A14EF7AB0E3F106900DA9F39 /* \
XBLBindingElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; \
lastKnownFileType = sourcecode.cpp.cpp; path = XBLBindingElement.cpp; sourceTree = \
&quot;&lt;group&gt;&quot;; }; </span><span class="cx"> 		A15A3FFC0E4C80CE00C4335A /* \
XBLBinding.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = \
sourcecode.cpp.cpp; path = XBLBinding.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; \
</span><ins>+		A17DE0150E50AD1D008CD116 /* NamedStaticDocumentMap.cpp */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = \
NamedStaticDocumentMap.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; \
+		A17DE0160E50AD1D008CD116 /* NamedStaticDocumentMap.h */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
NamedStaticDocumentMap.h; sourceTree = &quot;&lt;group&gt;&quot;; }; </ins><span \
class="cx"> 		A718760D0B2A120100A16ECE /* DragActions.h */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DragActions.h; \
sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span class="cx"> \
A718788F0B2D04AC00A16ECE /* DragControllerMac.mm */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = \
DragControllerMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="cx"> 		A7352C170B1BB89D00A986D0 /* RenderSVGBlock.cpp */ = {isa = \
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = \
RenderSVGBlock.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="lines">@@ -13226,6 +13230,8 @@ </span><span class="cx"> \
85ACA9F90A9B631000671E90 /* NamedNodeMap.idl */, </span><span class="cx"> \
A81872190977D3C0005826D9 /* NameNodeList.cpp */, </span><span class="cx"> \
A81872130977D3C0005826D9 /* NameNodeList.h */, \
</span><ins>+				A17DE0150E50AD1D008CD116 /* NamedStaticDocumentMap.cpp */, \
+				A17DE0160E50AD1D008CD116 /* NamedStaticDocumentMap.h */, </ins><span class="cx"> \
A8C4A7EE09D563270003AC8D /* Node.cpp */, </span><span class="cx"> \
14115B5109F84B7100CA4FC1 /* Node.h */, </span><span class="cx"> \
14DC0D0B09FECFA4007B0235 /* Node.idl */, </span><span class="lines">@@ -15333,6 \
+15339,7 @@ </span><span class="cx"> 				A10D20A80E386DCF007E500B /* \
XBLBindingManager.h in Headers */, </span><span class="cx"> \
A10D21400E389A0D007E500B /* XBLBindingElement.h in Headers */, </span><span \
class="cx"> 				A10D21420E389A18007E500B /* XBLTemplateElement.h in Headers */, \
</span><ins>+				A17DE0180E50AD1D008CD116 /* NamedStaticDocumentMap.h in Headers */, \
</ins><span class="cx"> 			); </span><span class="cx"> \
runOnlyForDeploymentPostprocessing = 0; </span><span class="cx"> 		};
</span><span class="lines">@@ -17111,6 +17118,7 @@
</span><span class="cx"> 				A10D20A70E386DCF007E500B /* XBLBindingManager.cpp in \
Sources */, </span><span class="cx"> 				A14EF7AC0E3F106900DA9F39 /* \
XBLBindingElement.cpp in Sources */, </span><span class="cx"> \
A15A3FFD0E4C80CE00C4335A /* XBLBinding.cpp in Sources */, \
</span><ins>+				A17DE0170E50AD1D008CD116 /* NamedStaticDocumentMap.cpp in Sources \
*/, </ins><span class="cx"> 			);
</span><span class="cx"> 			runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx"> 		};
</span></span></pre></div>
<a id="branchesXBL2WebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: branches/XBL2/WebCore/dom/Document.cpp (35821 => \
35822)</h4> <pre class="diff"><span>
<span class="info">--- branches/XBL2/WebCore/dom/Document.cpp	2008-08-18 20:21:57 UTC \
                (rev 35821)
+++ branches/XBL2/WebCore/dom/Document.cpp	2008-08-18 20:53:16 UTC (rev 35822)
</span><span class="lines">@@ -127,6 +127,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(XBL)
</span><ins>+#include &quot;NamedStaticDocumentMap.h&quot;
</ins><span class="cx"> #include &quot;XBLBindingManager.h&quot;
</span><span class="cx"> #include &quot;XBLElement.h&quot;
</span><span class="cx"> #include &quot;XBLElementFactory.h&quot;
</span><span class="lines">@@ -280,6 +281,9 @@
</span><span class="cx"> #if ENABLE(SVG)
</span><span class="cx">     , m_svgExtensions(0)
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(XBL)
+    , m_bindingDocuments(0)
+#endif
</ins><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><span class="cx">     , m_hasDashboardRegions(false)
</span><span class="cx">     , m_dashboardRegionsDirty(false)
</span><span class="lines">@@ -406,6 +410,8 @@
</span><span class="cx"> #if ENABLE(XBL)
</span><span class="cx">     XBLBindingManager* manager = \
XBLBindingManager::sharedInstance(); </span><span class="cx">     \
manager-&gt;clearBindingSheets(this); </span><ins>+
+    m_bindingDocuments = 0;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     XMLHttpRequest::detachRequests(this);
</span><span class="lines">@@ -3650,6 +3656,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(XBL)
</span><ins>+
</ins><span class="cx"> void \
Document::addBindingSheet(PassRefPtr&lt;CSSStyleSheet&gt; sheet) </span><span \
class="cx"> { </span><span class="cx">     XBLBindingManager* manager = \
XBLBindingManager::sharedInstance(); </span><span class="lines">@@ -3661,6 +3668,30 \
@@ </span><span class="cx">     XBLBindingManager* manager = \
XBLBindingManager::sharedInstance(); </span><span class="cx">     \
manager-&gt;removeBindingSheet(this, sheet); </span><span class="cx"> }
</span><ins>+
+NamedNodeMap* Document::bindingDocuments()
+{
+    createBindingDocumentsIfNeeded();
+
+    return m_bindingDocuments.get();
+}
+
+Document* Document::loadBindingDocument(const String&amp; documentURI)
+{
+    createBindingDocumentsIfNeeded();
+
+    // FIXME: we need to load the required document with
+    // some helper class.
+
+    return 0;
+}
+
+void Document::createBindingDocumentsIfNeeded()
+{
+    if (!m_bindingDocuments)
+        m_bindingDocuments = NamedStaticDocumentMap::create();
+}
+
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;HTMLCollection&gt; Document::images()
</span></span></pre></div>
<a id="branchesXBL2WebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: branches/XBL2/WebCore/dom/Document.h (35821 => \
35822)</h4> <pre class="diff"><span>
<span class="info">--- branches/XBL2/WebCore/dom/Document.h	2008-08-18 20:21:57 UTC \
                (rev 35821)
+++ branches/XBL2/WebCore/dom/Document.h	2008-08-18 20:53:16 UTC (rev 35822)
</span><span class="lines">@@ -86,6 +86,7 @@
</span><span class="cx">     class IntPoint;
</span><span class="cx">     class JSNode;
</span><span class="cx">     class MouseEventWithHitTestResults;
</span><ins>+    class NamedStaticDocumentMap;
</ins><span class="cx">     class NodeFilter;
</span><span class="cx">     class NodeIterator;
</span><span class="cx">     class Page;
</span><span class="lines">@@ -937,6 +938,9 @@
</span><span class="cx"> #if ENABLE(XBL)
</span><span class="cx">     void addBindingSheet(PassRefPtr&lt;CSSStyleSheet&gt;);
</span><span class="cx">     void removeBindingSheet(CSSStyleSheet*);
</span><ins>+
+    NamedNodeMap* bindingDocuments();
+    Document* loadBindingDocument(const String&amp; documentURI);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void initSecurityContext();
</span><span class="lines">@@ -1000,6 +1004,13 @@
</span><span class="cx">     SVGDocumentExtensions* m_svgExtensions;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(XBL)
+    // The binding documents are lazily created.
+    void createBindingDocumentsIfNeeded();
+
+    RefPtr&lt;NamedStaticDocumentMap&gt; m_bindingDocuments;
+#endif
+
</ins><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><span class="cx">     Vector&lt;DashboardRegionValue&gt; m_dashboardRegions;
</span><span class="cx">     bool m_hasDashboardRegions;
</span></span></pre></div>
<a id="branchesXBL2WebCoredomDocumentidl"></a>
<div class="modfile"><h4>Modified: branches/XBL2/WebCore/dom/Document.idl (35821 => \
35822)</h4> <pre class="diff"><span>
<span class="info">--- branches/XBL2/WebCore/dom/Document.idl	2008-08-18 20:21:57 UTC \
                (rev 35821)
+++ branches/XBL2/WebCore/dom/Document.idl	2008-08-18 20:53:16 UTC (rev 35822)
</span><span class="lines">@@ -240,6 +240,11 @@
</span><span class="cx">             raises(DOMException);
</span><span class="cx">         NodeList            querySelectorAll(in \
[ConvertUndefinedOrNullToNullString] DOMString selectors) </span><span class="cx">    \
raises(DOMException); </span><ins>+
+#if ENABLE_XBL
+        readonly attribute NamedNodeMap bindingDocuments;
+        Document loadBindingDocument(in DOMString documentURI);
+#endif
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesXBL2WebCoredomNamedStaticDocumentMapcpp"></a>
<div class="addfile"><h4>Added: branches/XBL2/WebCore/dom/NamedStaticDocumentMap.cpp \
(0 => 35822)</h4> <pre class="diff"><span>
<span class="info">--- branches/XBL2/WebCore/dom/NamedStaticDocumentMap.cpp	          \
                (rev 0)
+++ branches/XBL2/WebCore/dom/NamedStaticDocumentMap.cpp	2008-08-18 20:53:16 UTC (rev \
35822) </span><span class="lines">@@ -0,0 +1,112 @@
</span><ins>+/*
+ * Copyright (C) 2008 Julien Chaffraix &lt;jchaffraix@webkit.org&gt;
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include &quot;config.h&quot;
+#include &quot;NamedStaticDocumentMap.h&quot;
+
+#if ENABLE(XBL)
+
+#include &quot;PlatformString.h&quot;
+#include &quot;QualifiedName.h&quot;
+#include &quot;ExceptionCode.h&quot;
+
+namespace WebCore {
+
+NamedStaticDocumentMap::NamedStaticDocumentMap()
+{
+}
+
+NamedStaticDocumentMap::~NamedStaticDocumentMap()
+{
+    m_documents.clear();
+}
+
+PassRefPtr&lt;Node&gt; NamedStaticDocumentMap::getNamedItem(const String&amp; \
documentURI) const +{
+    for (Vector&lt;RefPtr&lt;Document&gt; &gt;::const_iterator it = \
m_documents.begin(); it != m_documents.end(); ++it) +        if ((*it)-&gt;url() == \
documentURI) +            return (*it);
+    return 0;
+}
+
+PassRefPtr&lt;Node&gt; NamedStaticDocumentMap::removeNamedItem(const String&amp; \
/*name*/, ExceptionCode&amp; ec) +{
+    // For all modification, we throw NO_MODIFICATIOM_ALLOWED_ERR.
+    ec = NO_MODIFICATION_ALLOWED_ERR;
+    return 0;
+}
+
+PassRefPtr&lt;Node&gt; NamedStaticDocumentMap::getNamedItemNS(const String&amp; \
namespaceURI, const String&amp; documentURI) const +{
+    // According to the specification, we have to use 'null' as the namespace &amp; \
prefix and the document URL +    // as the name.
+    if (!namespaceURI.isNull())
+        return 0;
+
+    return getNamedItem(documentURI);
+}
+
+PassRefPtr&lt;Node&gt; NamedStaticDocumentMap::removeNamedItemNS(const String&amp; \
/*namespaceURI*/, const String&amp; /*localName*/, ExceptionCode&amp; ec) +{
+    ec = NO_MODIFICATION_ALLOWED_ERR;
+    return 0;
+}
+
+PassRefPtr&lt;Node&gt; NamedStaticDocumentMap::getNamedItem(const QualifiedName&amp; \
documentURI) const +{
+    if (!documentURI.namespaceURI().isNull() || !documentURI.prefix().isNull())
+        return 0;
+
+    return getNamedItem(documentURI.localName());
+}
+
+PassRefPtr&lt;Node&gt; NamedStaticDocumentMap::removeNamedItem(const \
QualifiedName&amp; /*documentURI*/, ExceptionCode&amp; ec) +{
+    ec = NO_MODIFICATION_ALLOWED_ERR;
+    return 0;
+}
+
+PassRefPtr&lt;Node&gt; NamedStaticDocumentMap::setNamedItem(Node*, \
ExceptionCode&amp; ec) +{
+    ec = NO_MODIFICATION_ALLOWED_ERR;
+    return 0;
+}
+
+PassRefPtr&lt;Node&gt; NamedStaticDocumentMap::item(unsigned index) const
+{
+    if (index &gt;= m_documents.size())
+        return 0;
+
+    return m_documents.at(index);
+}
+
+void NamedStaticDocumentMap::addItem(PassRefPtr&lt;Document&gt; document)
+{
+    m_documents.append(document);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(XBL)
</ins></span></pre></div>
<a id="branchesXBL2WebCoredomNamedStaticDocumentMaph"></a>
<div class="addfile"><h4>Added: branches/XBL2/WebCore/dom/NamedStaticDocumentMap.h (0 \
=> 35822)</h4> <pre class="diff"><span>
<span class="info">--- branches/XBL2/WebCore/dom/NamedStaticDocumentMap.h	            \
                (rev 0)
+++ branches/XBL2/WebCore/dom/NamedStaticDocumentMap.h	2008-08-18 20:53:16 UTC (rev \
35822) </span><span class="lines">@@ -0,0 +1,77 @@
</span><ins>+/*
+ * Copyright (C) 2008 Julien Chaffraix &lt;jchaffraix@webkit.org&gt;
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef XBLNodeMap_h
+#define XBLNodeMap_h
+
+#include &quot;config.h&quot;
+
+// This class is used only for document.bindingDocuments
+// and that's why it requires XBL to be enabled.
+#if ENABLE(XBL)
+
+#include &quot;Document.h&quot;
+#include &quot;NamedNodeMap.h&quot;
+#include &quot;Node.h&quot;
+
+namespace WebCore {
+
+    class QualifiedName;
+
+    class NamedStaticDocumentMap : public NamedNodeMap {
+
+    public:
+        static PassRefPtr&lt;NamedStaticDocumentMap&gt; create() { return \
adoptRef(new NamedStaticDocumentMap()); } +
+        virtual PassRefPtr&lt;Node&gt; getNamedItem(const String&amp; name) const;
+        virtual PassRefPtr&lt;Node&gt; removeNamedItem(const String&amp; name, \
ExceptionCode&amp;); +
+        virtual PassRefPtr&lt;Node&gt; getNamedItemNS(const String&amp; \
namespaceURI, const String&amp; localName) const; +        virtual \
PassRefPtr&lt;Node&gt; removeNamedItemNS(const String&amp; namespaceURI, const \
String&amp; localName, ExceptionCode&amp;); +
+        virtual PassRefPtr&lt;Node&gt; getNamedItem(const QualifiedName&amp; \
attrName) const; +        virtual PassRefPtr&lt;Node&gt; removeNamedItem(const \
QualifiedName&amp; attrName, ExceptionCode&amp;); +        virtual \
PassRefPtr&lt;Node&gt; setNamedItem(Node*, ExceptionCode&amp;); +
+        virtual PassRefPtr&lt;Node&gt; item(unsigned index) const;
+        virtual size_t length() const { return m_documents.size(); }
+
+        // Modification methods (not exported to the DOM)
+
+        void addItem(PassRefPtr&lt;Document&gt;);
+        void clear() { m_documents.clear(); }
+
+    private:
+        NamedStaticDocumentMap();
+        ~NamedStaticDocumentMap();
+
+        Vector&lt;RefPtr&lt;Document&gt; &gt; m_documents;
+    };
+
+} // namespace WebCore
+
+#endif // ENABLE(XBL)
+
+#endif // XBLNodeMap_h
</ins></span></pre>
</div>
</div>

</body>
</html>



_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic