<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>35791</bug_id>
          
          <creation_ts>2010-03-05 08:12:16 -0800</creation_ts>
          <short_desc>2x execCommand ReadAV@NULL</short_desc>
          <delta_ts>2010-05-20 05:02:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows Vista</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://code.google.com/p/chromium/issues/detail?id=34575</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Berend-Jan Wever">skylined</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>morrita</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>196436</commentid>
    <comment_count>0</comment_count>
    <who name="Berend-Jan Wever">skylined</who>
    <bug_when>2010-03-05 08:12:16 -0800</bug_when>
    <thetext>Repro:

&lt;BODY&gt;&lt;/BODY&gt;
&lt;SCRIPT&gt;
  document.designMode = &quot;on&quot;;
  document.execCommand(&quot;selectall&quot;);
  document.execCommand(&quot;InsertLineBreak&quot;);
  document.execCommand(&quot;InsertLineBreak&quot;);
  document.execCommand(&quot;forecolor&quot;, false, 1); // Optional, see note
  document.execCommand(&quot;InsertText&quot;, false, 1);
  document.execCommand(&quot;SelectAll&quot;);
  document.execCommand(&quot;createlink&quot;, false, 1);
  document.execCommand(&quot;justifycenter&quot;, false);
&lt;/SCRIPT&gt;

The &quot;forecolor&quot; line is optional: there are two different crashes that can 
happen, one with and one without it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197409</commentid>
    <comment_count>1</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-03-08 17:15:46 -0800</bug_when>
    <thetext>I will see if I can get a stack trace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197411</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-03-08 17:33:03 -0800</bug_when>
    <thetext>#0  0x040ee740 in WebCore::comparePositions (a=@0xbfffd9a8, b=@0xbfffd798) at /Users/tc/webkit/WebKit/WebCore/editing/htmlediting.cpp:101
#1  0x03e214b8 in WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary (this=0x17988f00, pos=@0xbfffd9a8) at /Users/tc/webkit/WebKit/WebCore/editing/CompositeEditCommand.cpp:666
#2  0x03d9e94f in WebCore::ApplyStyleCommand::applyBlockStyle (this=0x17988f00, style=0x17988df0) at /Users/tc/webkit/WebKit/WebCore/editing/ApplyStyleCommand.cpp:613
#3  0x03d9ef39 in WebCore::ApplyStyleCommand::doApply (this=0x17988f00) at /Users/tc/webkit/WebKit/WebCore/editing/ApplyStyleCommand.cpp:568
#4  0x03ff6f11 in WebCore::EditCommand::apply (this=0x17988f00) at /Users/tc/webkit/WebKit/WebCore/editing/EditCommand.cpp:91
#5  0x03ff6fa5 in WebCore::applyCommand (command=@0xbfffdae8) at /Users/tc/webkit/WebKit/WebCore/editing/EditCommand.cpp:217
#6  0x03ffd3f0 in WebCore::Editor::applyParagraphStyle (this=0x81e8cd0, style=0x17988df0, editingAction=WebCore::EditActionUnspecified) at /Users/tc/webkit/WebKit/WebCore/editing/Editor.cpp:747
#7  0x04006ff6 in WebCore::executeApplyParagraphStyle (frame=0x81e8800, source=WebCore::CommandFromDOM, action=WebCore::EditActionCenter, propertyID=1105, propertyValue=@0xbfffdb7c) at /Users/tc/webkit/WebKit/WebCore/editing/EditorCommand.cpp:188
#8  0x040071ce in WebCore::executeJustifyCenter (frame=0x81e8800, source=WebCore::CommandFromDOM) at /Users/tc/webkit/WebKit/WebCore/editing/EditorCommand.cpp:552
#9  0x040034f7 in WebCore::Editor::Command::execute (this=0xbfffdbe4, parameter=@0xbfffdc54, triggeringEvent=0x0) at /Users/tc/webkit/WebKit/WebCore/editing/EditorCommand.cpp:1525
#10 0x03f3a2b5 in WebCore::Document::execCommand (this=0x822ea00, commandName=@0xbfffdc58, userInterface=false, value=@0xbfffdc54) at /Users/tc/webkit/WebKit/WebCore/dom/Document.cpp:3491
#11 0x0422f33c in WebCore::jsDocumentPrototypeFunctionExecCommand (exec=0x14e9e390, thisValue={u = {asEncodedJSValue = -8455908544, asDouble = -nan(0xffffe07fd1340), asBits = {payload = 134026048, tag = -2}}}, args=@0xbfffdc8c) at /Users/tc/webkit/WebKit/WebKitBuild/Debug/DerivedSources/WebCore/JSDocument.cpp:1879</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200629</commentid>
    <comment_count>3</comment_count>
      <attachid>50884</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-17 02:51:48 -0700</bug_when>
    <thetext>Created attachment 50884
patch v0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201077</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-03-17 17:44:38 -0700</bug_when>
    <thetext>This looks good to me, but I am not a reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207706</commentid>
    <comment_count>5</comment_count>
      <attachid>50884</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-01 23:33:20 -0700</bug_when>
    <thetext>Comment on attachment 50884
patch v0

Seems just using .node()-&gt;inDocument() would be better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208219</commentid>
    <comment_count>6</comment_count>
      <attachid>52477</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-02 22:29:23 -0700</bug_when>
    <thetext>Created attachment 52477
v1; use inDocument()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208220</commentid>
    <comment_count>7</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-02 22:30:45 -0700</bug_when>
    <thetext>Eric, thank you for reviewing!

(In reply to comment #5)
&gt; Seems just using .node()-&gt;inDocument() would be better.
Certainly. I updated the patch to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208394</commentid>
    <comment_count>8</comment_count>
      <attachid>52477</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-04-04 22:26:31 -0700</bug_when>
    <thetext>Comment on attachment 52477
v1; use inDocument()

Could you explain why inDocument is the right check? The node could be somewhere far away in the same document, say in an absolute positioned element, and that wouldn&apos;t be good. I am not sure that&apos;s the right check. It seems clear that a position that&apos;s not even in a document is unusable for some purposes, but it&apos;s not clear to me this is exactly the right check here. It seems far removed from the null dereference as well, so I&apos;m not convinced it would cover all cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208396</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-04 23:21:15 -0700</bug_when>
    <thetext>Darin, thank you for your feedback.

&gt; Could you explain why inDocument is the right check? The node could be
&gt; somewhere far away in the same document, say in an absolute positioned element,
&gt; and that wouldn&apos;t be good. 
In applyBlockStyle(), we assume that nextParagraphStart and paragraphStart
start with a valid, non-orphan node (or null node). 
Such assumption should be OK because these are created from current selection 
and every VisibleSelections are validated. 
Based on such assumption, what we do here is just discarding invalid 
VisiblePosition and re-creating valid one.

The VisiblePosition can become invalid because moveParagraphContentsToNewBlockIfNecessary()
sometimes modify the tree to make it ready to apply style, 
And nodes are possibly removed during the process.

Another approach may be making moveParagraphContentsToNewBlockIfNecessary() not to remove
any nodes. But I&apos;m not sure it is feasible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209457</commentid>
    <comment_count>10</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-04-06 22:47:24 -0700</bug_when>
    <thetext>*** Bug 34568 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228286</commentid>
    <comment_count>11</comment_count>
      <attachid>52477</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-20 02:40:53 -0700</bug_when>
    <thetext>Comment on attachment 52477
v1; use inDocument()

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228308</commentid>
    <comment_count>12</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-05-20 04:14:43 -0700</bug_when>
    <thetext>Commited at http://trac.webkit.org/changeset/59828 - then webkit-patch crashed. 
Could anyone close this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228330</commentid>
    <comment_count>13</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-05-20 05:02:37 -0700</bug_when>
    <thetext>Oops. I could close this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50884</attachid>
            <date>2010-03-17 02:51:48 -0700</date>
            <delta_ts>2010-04-02 22:29:18 -0700</delta_ts>
            <desc>patch v0</desc>
            <filename>bug-35791-20100317185146.patch</filename>
            <type>text/plain</type>
            <size>4539</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZGE3YmEzLi5iYTY5MjdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMt
MTcgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgMnggZXhlY0NvbW1hbmQgUmVhZEFWQE5V
TEwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1Nzkx
CisKKyAgICAgICAgVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLiAgICAgICAg
CisgICAgICAgIAorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvMzU3OTEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kLzM1NzkxLmh0bWw6IEFk
ZGVkLgorCiAyMDEwLTAzLTE2ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2V4ZWNDb21tYW5kLzM1NzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvZXhlY0NvbW1hbmQvMzU3OTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjZjMzc1NWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2V4ZWNDb21tYW5kLzM1NzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworCito
ZWxsbwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC8zNTc5MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC8zNTc5MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlMDIwMGYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kLzM1NzkxLmh0bWwKQEAgLTAsMCArMSwxNiBA
QAorPEJPRFk+PC9CT0RZPgorPFNDUklQVD4KKy8vIFRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTc5MTsgSXQncyBPSyBpZiBpdCBkb2Vzbid0IGNyYXNo
LgorZG9jdW1lbnQuZGVzaWduTW9kZSA9ICJvbiI7Citkb2N1bWVudC5leGVjQ29tbWFuZCgic2Vs
ZWN0YWxsIik7Citkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0TGluZUJyZWFrIikKK2RvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRMaW5lQnJlYWsiKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5k
KCJJbnNlcnRUZXh0IiwgZmFsc2UsICJoZWxsbyIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNyZWF0ZWxpbmsiLCBmYWxzZSwgImh0
dHA6Ly93ZWJraXQub3JnLyIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoImp1c3RpZnljZW50ZXIi
LCBmYWxzZSk7Citkb2N1bWVudC5kZXNpZ25Nb2RlID0gIm9mZiI7CisKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKzwvU0NSSVBUPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAzYWIyZDNhLi41MjkxZjk0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEw
LTAzLTE3ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDJ4IGV4ZWNDb21tYW5kIFJlYWRB
VkBOVUxMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
NTc5MQorCisgICAgICAgIEluIGFwcGx5QmxvY2tTdHlsZSgpLCBhIG5vZGUgd2hpY2ggaXMgcmVm
ZXJyZWQgZnJvbQorICAgICAgICBuZXh0UGFyYWdyYXBoU3RhcnQgc29tZXRpbWVzIHJlbW92ZWQg
ZnJvbSB0aGUgZG9jdW1lbnQgYW5kIGdvZXMKKyAgICAgICAgb3JwaGFuLCBhbmQgdGhhdCBjYXVz
ZXMgYW4gYXNzZXJ0aW9uIGZhaWxlZC4gVGhpcyBpcyBiZWNhdXNlCisgICAgICAgIG1vdmVQYXJh
Z3JhcGhzKCkgcmVwbGFjZXMgdGhlIG5vZGUgd2l0aCBhIG5ldyBvbmUgd2l0aCBzb21lIG5ldwor
ICAgICAgICBzdHlsZXMgYXBwbGllZC4gU28gd2UgcmUtY29tcHV0ZSBuZXh0UGFyYWdyYXBoU3Rh
cnQgaW4gdGhhdCBjYXNlLgorICAgICAgICAKKyAgICAgICAgVGVzdDogZWRpdGluZy9leGVjQ29t
bWFuZC8zNTc5MS5odG1sOiBBZGRlZC4KKworICAgICAgICAqIGRvbS9Qb3NpdGlvbi5oOgorICAg
ICAgICAoV2ViQ29yZTo6UG9zaXRpb246OmlzT3JwaGFuKTogQWRkZWQKKyAgICAgICAgKiBlZGl0
aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5U3R5bGVD
b21tYW5kOjphcHBseUJsb2NrU3R5bGUpOgorICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVBvc2l0
aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb246OmlzT3JwaGFuKTogQWRk
ZWQKKwogMjAxMC0wMy0xNiAgU2hpbmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vUG9zaXRpb24uaCBiL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgKaW5kZXggZmM1ODQ5Zi4u
MjY5Yzk3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUG9zaXRpb24uaAorKysgYi9XZWJDb3Jl
L2RvbS9Qb3NpdGlvbi5oCkBAIC0xMTcsNiArMTE3LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBp
c051bGwoKSBjb25zdCB7IHJldHVybiAhbV9hbmNob3JOb2RlOyB9CiAgICAgYm9vbCBpc05vdE51
bGwoKSBjb25zdCB7IHJldHVybiBtX2FuY2hvck5vZGU7IH0KKyAgICBib29sIGlzT3JwaGFuKCkg
Y29uc3QgeyByZXR1cm4gbV9hbmNob3JOb2RlICYmICFtX2FuY2hvck5vZGUtPnBhcmVudCgpOyB9
CiAKICAgICBFbGVtZW50KiBlbGVtZW50KCkgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24+IGNvbXB1dGVkU3R5bGUoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAgYi9XZWJDb3JlL2VkaXRpbmcv
QXBwbHlTdHlsZUNvbW1hbmQuY3BwCmluZGV4IDFjNzM5ZWMuLmRlZjZmNTIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0
aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcApAQCAtNjE5LDcgKzYxOSwxMSBAQCB2b2lkIEFwcGx5
U3R5bGVDb21tYW5kOjphcHBseUJsb2NrU3R5bGUoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24g
KnN0eWxlKQogICAgICAgICAgICAgICAgIGlmICghbV9yZW1vdmVPbmx5KQogICAgICAgICAgICAg
ICAgICAgICBhZGRCbG9ja1N0eWxlKHN0eWxlQ2hhbmdlLCBzdGF0aWNfY2FzdDxIVE1MRWxlbWVu
dCo+KGJsb2NrLmdldCgpKSk7CiAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChuZXh0
UGFyYWdyYXBoU3RhcnQuaXNPcnBoYW4oKSkKKyAgICAgICAgICAgICAgICBuZXh0UGFyYWdyYXBo
U3RhcnQgPSBlbmRPZlBhcmFncmFwaChwYXJhZ3JhcGhTdGFydCkubmV4dCgpOwogICAgICAgICB9
CisKICAgICAgICAgcGFyYWdyYXBoU3RhcnQgPSBuZXh0UGFyYWdyYXBoU3RhcnQ7CiAgICAgICAg
IG5leHRQYXJhZ3JhcGhTdGFydCA9IGVuZE9mUGFyYWdyYXBoKHBhcmFncmFwaFN0YXJ0KS5uZXh0
KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5o
IGIvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oCmluZGV4IGQ4ODg4MDYuLmZlNzk1
YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaAorKysgYi9X
ZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmgKQEAgLTYxLDYgKzYxLDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX2RlZXBQb3NpdGlvbi5pc051
bGwoKTsgfQogICAgIGJvb2wgaXNOb3ROdWxsKCkgY29uc3QgeyByZXR1cm4gbV9kZWVwUG9zaXRp
b24uaXNOb3ROdWxsKCk7IH0KKyAgICBib29sIGlzT3JwaGFuKCkgY29uc3QgeyByZXR1cm4gbV9k
ZWVwUG9zaXRpb24uaXNPcnBoYW4oKTsgfQogCiAgICAgUG9zaXRpb24gZGVlcEVxdWl2YWxlbnQo
KSBjb25zdCB7IHJldHVybiBtX2RlZXBQb3NpdGlvbjsgfQogICAgIEVBZmZpbml0eSBhZmZpbml0
eSgpIGNvbnN0IHsgQVNTRVJUKG1fYWZmaW5pdHkgPT0gVVBTVFJFQU0gfHwgbV9hZmZpbml0eSA9
PSBET1dOU1RSRUFNKTsgcmV0dXJuIG1fYWZmaW5pdHk7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52477</attachid>
            <date>2010-04-02 22:29:23 -0700</date>
            <delta_ts>2010-05-20 04:36:53 -0700</delta_ts>
            <desc>v1; use inDocument()</desc>
            <filename>bug-35791-20100403142921.patch</filename>
            <type>text/plain</type>
            <size>4529</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YzQ3YTVlLi5hZjYzZGNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDQt
MDIgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICAyeCBleGVjQ29tbWFuZCBS
ZWFkQVZATlVMTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzU3OTEKKworICAgICAgICBUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2gu
ICAgICAgICAKKyAKKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kLzM1NzkxLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC8zNTc5MS5odG1sOiBB
ZGRlZC4KKwogMjAxMC0wMy0zMSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvMzU3OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9leGVjQ29tbWFuZC8zNTc5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNmMzNzU1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvMzU3OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorCisKK2hlbGxvCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5k
LzM1NzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kLzM1NzkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWUwMjAwZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvMzU3OTEuaHRtbApAQCAtMCww
ICsxLDE2IEBACis8Qk9EWT48L0JPRFk+Cis8U0NSSVBUPgorLy8gVGVzdCBmb3IgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NzkxOyBJdCdzIE9LIGlmIGl0IGRvZXNu
J3QgY3Jhc2guCitkb2N1bWVudC5kZXNpZ25Nb2RlID0gIm9uIjsKK2RvY3VtZW50LmV4ZWNDb21t
YW5kKCJzZWxlY3RhbGwiKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRMaW5lQnJlYWsi
KQorZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkluc2VydExpbmVCcmVhayIpOworZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkluc2VydFRleHQiLCBmYWxzZSwgImhlbGxvIik7Citkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIik7Citkb2N1bWVudC5leGVjQ29tbWFuZCgiY3JlYXRlbGluayIsIGZh
bHNlLCAiaHR0cDovL3dlYmtpdC5vcmcvIik7Citkb2N1bWVudC5leGVjQ29tbWFuZCgianVzdGlm
eWNlbnRlciIsIGZhbHNlKTsKK2RvY3VtZW50LmRlc2lnbk1vZGUgPSAib2ZmIjsKKworaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworPC9TQ1JJUFQ+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ0ZjcxYTkuLjg3ZmE3NTIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTAtMDQtMDIgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgMnggZXhlY0NvbW1h
bmQgUmVhZEFWQE5VTEwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM1NzkxCisKKyAgICAgICAgSW4gYXBwbHlCbG9ja1N0eWxlKCksIGEgbm9kZSB3aGlj
aCBpcyByZWZlcnJlZCBmcm9tCisgICAgICAgIG5leHRQYXJhZ3JhcGhTdGFydCBzb21ldGltZXMg
cmVtb3ZlZCBmcm9tIHRoZSBkb2N1bWVudCBhbmQgZ29lcworICAgICAgICBvcnBoYW4sIGFuZCB0
aGF0IGNhdXNlcyBhbiBhc3NlcnRpb24gZmFpbGVkLiBUaGlzIGlzIGJlY2F1c2UKKyAgICAgICAg
bW92ZVBhcmFncmFwaHMoKSByZXBsYWNlcyB0aGUgbm9kZSB3aXRoIGEgbmV3IG9uZSB3aXRoIHNv
bWUgbmV3CisgICAgICAgIHN0eWxlcyBhcHBsaWVkLiBTbyB3ZSByZS1jb21wdXRlIG5leHRQYXJh
Z3JhcGhTdGFydCBpbiB0aGF0IGNhc2UuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9leGVjQ29t
bWFuZC8zNTc5MS5odG1sCisKKyAgICAgICAgKiBkb20vUG9zaXRpb24uaDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvc2l0aW9uOjppc09ycGhhbik6CisgICAgICAgICogZWRpdGluZy9BcHBseVN0eWxl
Q29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVN0eWxlQ29tbWFuZDo6YXBwbHlC
bG9ja1N0eWxlKToKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjppc09ycGhhbik6CisKIDIwMTAtMDMtMzEgIE1P
UklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAgICAgICAgIAogICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1Bvc2l0aW9u
LmggYi9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5oCmluZGV4IGZjNTg0OWYuLmI1OTMxMWIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgKKysrIGIvV2ViQ29yZS9kb20vUG9zaXRpb24u
aApAQCAtMTE3LDYgKzExNyw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgY29uc3Qg
eyByZXR1cm4gIW1fYW5jaG9yTm9kZTsgfQogICAgIGJvb2wgaXNOb3ROdWxsKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbmNob3JOb2RlOyB9CisgICAgYm9vbCBpc09ycGhhbigpIGNvbnN0IHsgcmV0dXJu
IG1fYW5jaG9yTm9kZSAmJiAhbV9hbmNob3JOb2RlLT5pbkRvY3VtZW50KCk7IH0KIAogICAgIEVs
ZW1lbnQqIGVsZW1lbnQoKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPENTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbj4gY29tcHV0ZWRTdHlsZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9l
ZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxl
Q29tbWFuZC5jcHAKaW5kZXggMWM3MzllYy4uZGVmNmY1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9l
ZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvQXBwbHlT
dHlsZUNvbW1hbmQuY3BwCkBAIC02MTksNyArNjE5LDExIEBAIHZvaWQgQXBwbHlTdHlsZUNvbW1h
bmQ6OmFwcGx5QmxvY2tTdHlsZShDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiAqc3R5bGUpCiAg
ICAgICAgICAgICAgICAgaWYgKCFtX3JlbW92ZU9ubHkpCiAgICAgICAgICAgICAgICAgICAgIGFk
ZEJsb2NrU3R5bGUoc3R5bGVDaGFuZ2UsIHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4oYmxvY2su
Z2V0KCkpKTsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKG5leHRQYXJhZ3JhcGhT
dGFydC5pc09ycGhhbigpKQorICAgICAgICAgICAgICAgIG5leHRQYXJhZ3JhcGhTdGFydCA9IGVu
ZE9mUGFyYWdyYXBoKHBhcmFncmFwaFN0YXJ0KS5uZXh0KCk7CiAgICAgICAgIH0KKwogICAgICAg
ICBwYXJhZ3JhcGhTdGFydCA9IG5leHRQYXJhZ3JhcGhTdGFydDsKICAgICAgICAgbmV4dFBhcmFn
cmFwaFN0YXJ0ID0gZW5kT2ZQYXJhZ3JhcGgocGFyYWdyYXBoU3RhcnQpLm5leHQoKTsKICAgICB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmggYi9XZWJDb3Jl
L2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmgKaW5kZXggZDg4ODgwNi4uZmU3OTVhMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oCisrKyBiL1dlYkNvcmUvZWRp
dGluZy9WaXNpYmxlUG9zaXRpb24uaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6CiAKICAgICBi
b29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVlcFBvc2l0aW9uLmlzTnVsbCgpOyB9CiAg
ICAgYm9vbCBpc05vdE51bGwoKSBjb25zdCB7IHJldHVybiBtX2RlZXBQb3NpdGlvbi5pc05vdE51
bGwoKTsgfQorICAgIGJvb2wgaXNPcnBoYW4oKSBjb25zdCB7IHJldHVybiBtX2RlZXBQb3NpdGlv
bi5pc09ycGhhbigpOyB9CiAKICAgICBQb3NpdGlvbiBkZWVwRXF1aXZhbGVudCgpIGNvbnN0IHsg
cmV0dXJuIG1fZGVlcFBvc2l0aW9uOyB9CiAgICAgRUFmZmluaXR5IGFmZmluaXR5KCkgY29uc3Qg
eyBBU1NFUlQobV9hZmZpbml0eSA9PSBVUFNUUkVBTSB8fCBtX2FmZmluaXR5ID09IERPV05TVFJF
QU0pOyByZXR1cm4gbV9hZmZpbml0eTsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>