<?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>57050</bug_id>
          
          <creation_ts>2011-03-24 13:50:14 -0700</creation_ts>
          <short_desc>Untangle dependency between event ancestor chain computation and InspectorDOMAgent.</short_desc>
          <delta_ts>2011-03-24 15:20:26 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>55515</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>373056</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-03-24 13:50:14 -0700</bug_when>
    <thetext>Untangle dependency between event ancestor chain computation and InspectorDOMAgent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373066</commentid>
    <comment_count>1</comment_count>
      <attachid>86826</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-03-24 13:58:25 -0700</bug_when>
    <thetext>Created attachment 86826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373123</commentid>
    <comment_count>2</comment_count>
      <attachid>86826</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-24 15:02:58 -0700</bug_when>
    <thetext>Comment on attachment 86826
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=86826&amp;action=review

&gt; Source/WebCore/ChangeLog:9
&gt; +        Inspector&apos;s list of event listeners does not need to invoke Node::getEventListeners,
&gt; +        because it simply needs a list of all ancestors of a node.

How did you know it only needed that?

&gt; Source/WebCore/ChangeLog:16
&gt; +        (WebCore::Node::dispatchGenericEvent): Move inDocument check out here from
&gt; +            getEventAncestors.

Why?

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:748
&gt;      // The Node&apos;s Event Ancestors (not including self)

I don’t think that calling these “Event Ancestors” is all that clear since it’s not necessarily the same objects you’d send a DOM event to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373125</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-03-24 15:06:49 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 86826 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=86826&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        Inspector&apos;s list of event listeners does not need to invoke Node::getEventListeners,
&gt; &gt; +        because it simply needs a list of all ancestors of a node.
&gt; 
&gt; How did you know it only needed that?

The Inspector method just looks at all ancestors, outside the context of an event, and doesn&apos;t ever use the target/currentTarget parts of the EventContext.

I&apos;ll update the ChangeLog to clarify.

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:16
&gt; &gt; +        (WebCore::Node::dispatchGenericEvent): Move inDocument check out here from
&gt; &gt; +            getEventAncestors.
&gt; 
&gt; Why?

Ah, good catch. This is unnecessary, now that I am passing node in. This is a vestigial bit, I&apos;ll remove.

&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:748
&gt; &gt;      // The Node&apos;s Event Ancestors (not including self)
&gt; 
&gt; I don’t think that calling these “Event Ancestors” is all that clear since it’s not necessarily the same objects you’d send a DOM event to.

Right. These are just node ancestors. I&apos;ll change the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373138</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-03-24 15:20:26 -0700</bug_when>
    <thetext>Committed r81909: &lt;http://trac.webkit.org/changeset/81909&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86826</attachid>
            <date>2011-03-24 13:58:25 -0700</date>
            <delta_ts>2011-03-24 15:02:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57050-20110324135824.patch</filename>
            <type>text/plain</type>
            <size>5252</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE4OTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwM2NhMTgxY2YwY2NjYmEy
OGQzODBkYzM5YjUwNDcwY2NjODUwOTAzLi43YWFhODIzYmRlOTAyZGNiMjAyNmUyMzFiN2M1Zjdm
ZDdkMjI5ZjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKK2YyMDExLTAzLTI0ICBEaW1p
dHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW50YW5nbGUgZGVwZW5kZW5jeSBiZXR3ZWVu
IGV2ZW50IGFuY2VzdG9yIGNoYWluIGNvbXB1dGF0aW9uIGFuZCBJbnNwZWN0b3JET01BZ2VudC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3MDUwCisK
KyAgICAgICAgSW5zcGVjdG9yJ3MgbGlzdCBvZiBldmVudCBsaXN0ZW5lcnMgZG9lcyBub3QgbmVl
ZCB0byBpbnZva2UgTm9kZTo6Z2V0RXZlbnRMaXN0ZW5lcnMsCisgICAgICAgIGJlY2F1c2UgaXQg
c2ltcGx5IG5lZWRzIGEgbGlzdCBvZiBhbGwgYW5jZXN0b3JzIG9mIGEgbm9kZS4KKworICAgICAg
ICBObyBmdW5jdGlvbmFsIGNoYW5nZSwgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldEV2ZW50QW5jZXN0b3Jz
KTogQ29udmVydGVkIGludG8gYSBzdGF0aWMgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpO
b2RlOjpkaXNwYXRjaEdlbmVyaWNFdmVudCk6IE1vdmUgaW5Eb2N1bWVudCBjaGVjayBvdXQgaGVy
ZSBmcm9tCisgICAgICAgICAgICBnZXRFdmVudEFuY2VzdG9ycy4KKyAgICAgICAgKiBkb20vTm9k
ZS5oOiBSZW1vdmVkIGRlY2wsIG1vdmVkIEV2ZW50RGlzcGF0Y2hCZWhhdmlvciBlbnVtIGluc2lk
ZS4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZSk6IFJl
cGxhY2VkIHRoZSBjYWxsCisgICAgICAgICAgICB0byBnZXRFdmVudEFuY2VzdG9ycyB3aXRoIGEg
c2ltcGxlIGFuY2VzdG9yIHRyYXZlcnNhbCBsb29wLgorCiAyMDExLTAzLTI0ICBTYW0gV2Vpbmln
ICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKaW5kZXggYmRlMTc0ZDFhZjMxMzE1MTgxMWFhOGFlZTE5MmQxZmU0OGZjYzQz
Yi4uNTk1NmE1NzQyNjViZTU1NmQ4NzRiY2I3NTIxZWIxOGVhZDE0OWI5MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcApAQCAtMjYyNywxMyArMjYyNywxNSBAQCBzdGF0aWMgaW5saW5lIEV2ZW50VGFyZ2V0KiBl
dmVudFRhcmdldFJlc3BlY3RpbmdTVkdUYXJnZXRSdWxlcyhOb2RlKiByZWZlcmVuY2VObwogICAg
IHJldHVybiByZWZlcmVuY2VOb2RlOwogfQogCi12b2lkIE5vZGU6OmdldEV2ZW50QW5jZXN0b3Jz
KFZlY3RvcjxFdmVudENvbnRleHQ+JiBhbmNlc3RvcnMsIEV2ZW50VGFyZ2V0KiBvcmlnaW5hbFRh
cmdldCwgRXZlbnREaXNwYXRjaEJlaGF2aW9yIGJlaGF2aW9yKQotewotICAgIGlmICghaW5Eb2N1
bWVudCgpKQotICAgICAgICByZXR1cm47CitlbnVtIEV2ZW50RGlzcGF0Y2hCZWhhdmlvciB7Cisg
ICAgUmV0YXJnZXRFdmVudCwKKyAgICBTdGF5SW5zaWRlU2hhZG93RE9NCit9OwogCitzdGF0aWMg
dm9pZCBnZXRFdmVudEFuY2VzdG9ycyhOb2RlKiBub2RlLCBWZWN0b3I8RXZlbnRDb250ZXh0PiYg
YW5jZXN0b3JzLCBFdmVudFRhcmdldCogb3JpZ2luYWxUYXJnZXQsIEV2ZW50RGlzcGF0Y2hCZWhh
dmlvciBiZWhhdmlvcikKK3sKICAgICBFdmVudFRhcmdldCogdGFyZ2V0ID0gb3JpZ2luYWxUYXJn
ZXQ7Ci0gICAgTm9kZSogYW5jZXN0b3IgPSB0aGlzOworICAgIE5vZGUqIGFuY2VzdG9yID0gbm9k
ZTsKICAgICBib29sIHNob3VsZFNraXBOZXh0QW5jZXN0b3IgPSBmYWxzZTsKICAgICB3aGlsZSAo
dHJ1ZSkgewogICAgICAgICBpZiAoYW5jZXN0b3ItPmlzU2hhZG93Um9vdCgpKSB7CkBAIC0yNzE0
LDcgKzI3MTYsOCBAQCBib29sIE5vZGU6OmRpc3BhdGNoR2VuZXJpY0V2ZW50KFBhc3NSZWZQdHI8
RXZlbnQ+IHBycEV2ZW50KQogICAgIFJlZlB0cjxOb2RlPiB0aGlzTm9kZSh0aGlzKTsKICAgICBS
ZWZQdHI8RXZlbnRUYXJnZXQ+IG9yaWdpbmFsVGFyZ2V0ID0gZXZlbnQtPnRhcmdldCgpOwogICAg
IFZlY3RvcjxFdmVudENvbnRleHQ+IGFuY2VzdG9yczsKLSAgICBnZXRFdmVudEFuY2VzdG9ycyhh
bmNlc3RvcnMsIG9yaWdpbmFsVGFyZ2V0LmdldCgpLCBkZXRlcm1pbmVEaXNwYXRjaEJlaGF2aW9y
KGV2ZW50LmdldCgpKSk7CisgICAgaWYgKGluRG9jdW1lbnQoKSkKKyAgICAgICAgZ2V0RXZlbnRB
bmNlc3RvcnModGhpcywgYW5jZXN0b3JzLCBvcmlnaW5hbFRhcmdldC5nZXQoKSwgZGV0ZXJtaW5l
RGlzcGF0Y2hCZWhhdmlvcihldmVudC5nZXQoKSkpOwogCiAgICAgV2luZG93RXZlbnRDb250ZXh0
IHdpbmRvd0NvbnRleHQoZXZlbnQuZ2V0KCksIHRoaXMsIHRvcEV2ZW50Q29udGV4dChhbmNlc3Rv
cnMpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggZTM4OTVhNjhlMGJmOTBkY2Q2NTU2OTJkNTc4MjI4ZjAz
NDVmYmE1NC4uMjhlZWJiMmU1YzI2YjFhZDA4ZTA5YmU0ZGNkMmU3MzAzYzJmZTJkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5oCkBAIC04NywxMSArODcsNiBAQCBlbnVtIFN0eWxlQ2hhbmdlVHlwZSB7CiAgICAgU3lu
dGhldGljU3R5bGVDaGFuZ2UgPSAzIDw8IG5vZGVTdHlsZUNoYW5nZVNoaWZ0CiB9OwogCi1lbnVt
IEV2ZW50RGlzcGF0Y2hCZWhhdmlvciB7Ci0gICAgUmV0YXJnZXRFdmVudCwKLSAgICBTdGF5SW5z
aWRlU2hhZG93RE9NCi19OwotCiBjbGFzcyBOb2RlIDogcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJs
aWMgVHJlZVNoYXJlZDxDb250YWluZXJOb2RlPiwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CiAg
ICAgZnJpZW5kIGNsYXNzIERvY3VtZW50OwogcHVibGljOgpAQCAtMjI1LDkgKzIyMCw2IEBAIHB1
YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBlbmNsb3NpbmcgZXZlbnQgcGFyZW50IG5vZGUgKG9y
IHNlbGYpIHRoYXQsIHdoZW4gY2xpY2tlZCwgd291bGQgdHJpZ2dlciBhIG5hdmlnYXRpb24uCiAg
ICAgTm9kZSogZW5jbG9zaW5nTGlua0V2ZW50UGFyZW50T3JTZWxmKCk7CiAKLSAgICAvLyBOb2Rl
IGFuY2VzdG9ycyB3aGVuIGNvbmNlcm5lZCBhYm91dCBldmVudCBmbG93LgotICAgIHZvaWQgZ2V0
RXZlbnRBbmNlc3RvcnMoVmVjdG9yPEV2ZW50Q29udGV4dD4mIGFuY2VzdG9ycywgRXZlbnRUYXJn
ZXQqLCBFdmVudERpc3BhdGNoQmVoYXZpb3IgPSBSZXRhcmdldEV2ZW50KTsKLQogICAgIGJvb2wg
aXNCbG9ja0Zsb3coKSBjb25zdDsKICAgICBib29sIGlzQmxvY2tGbG93T3JCbG9ja1RhYmxlKCkg
Y29uc3Q7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmNwcAppbmRleCA2NTcyMDA1NDI0ZjU5MDBiMDJmNTA4MDcwZDU5YTczOGYwNDkyNDJlLi4x
NTIzODBlM2E5NWRmYTZkMWVkM2U1YWY0NzYzYzNhNmRjMGI3N2RhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTc0NiwxNyArNzQ2LDE4
IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZShFcnJv
clN0cmluZyosIGludCBub2RlSWQsIFJlZlB0CiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFRo
ZSBOb2RlJ3MgRXZlbnQgQW5jZXN0b3JzIChub3QgaW5jbHVkaW5nIHNlbGYpCi0gICAgVmVjdG9y
PEV2ZW50Q29udGV4dD4gYW5jZXN0b3JzOwotICAgIG5vZGUtPmdldEV2ZW50QW5jZXN0b3JzKGFu
Y2VzdG9ycywgbm9kZSk7CisgICAgVmVjdG9yPENvbnRhaW5lck5vZGUqPiBhbmNlc3RvcnM7Cisg
ICAgZm9yIChDb250YWluZXJOb2RlKiBhbmNlc3RvciA9IG5vZGUtPnBhcmVudE9ySG9zdE5vZGUo
KTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudE9ySG9zdE5vZGUoKSkKKyAg
ICAgICAgYW5jZXN0b3JzLmFwcGVuZChhbmNlc3Rvcik7CiAKICAgICAvLyBOb2RlcyBhbmQgdGhl
aXIgTGlzdGVuZXJzIGZvciB0aGUgY29uY2VybmVkIGV2ZW50IHR5cGVzIChvcmRlciBpcyB0b3Ag
dG8gYm90dG9tKQogICAgIFZlY3RvcjxFdmVudExpc3RlbmVySW5mbz4gZXZlbnRJbmZvcm1hdGlv
bjsKICAgICBmb3IgKHNpemVfdCBpID0gYW5jZXN0b3JzLnNpemUoKTsgaTsgLS1pKSB7Ci0gICAg
ICAgIE5vZGUqIGFuY2VzdG9yID0gYW5jZXN0b3JzW2kgLSAxXS5ub2RlKCk7CisgICAgICAgIENv
bnRhaW5lck5vZGUqIGFuY2VzdG9yID0gYW5jZXN0b3JzW2kgLSAxXTsKICAgICAgICAgZm9yIChz
aXplX3QgaiA9IDA7IGogPCBldmVudFR5cGVzTGVuZ3RoOyArK2opIHsKICAgICAgICAgICAgIEF0
b21pY1N0cmluZyYgdHlwZSA9IGV2ZW50VHlwZXNbal07CiAgICAgICAgICAgICBpZiAoYW5jZXN0
b3ItPmhhc0V2ZW50TGlzdGVuZXJzKHR5cGUpKQotICAgICAgICAgICAgICAgIGV2ZW50SW5mb3Jt
YXRpb24uYXBwZW5kKEV2ZW50TGlzdGVuZXJJbmZvKHN0YXRpY19jYXN0PE5vZGUqPihhbmNlc3Rv
ciksIHR5cGUsIGFuY2VzdG9yLT5nZXRFdmVudExpc3RlbmVycyh0eXBlKSkpOworICAgICAgICAg
ICAgICAgIGV2ZW50SW5mb3JtYXRpb24uYXBwZW5kKEV2ZW50TGlzdGVuZXJJbmZvKGFuY2VzdG9y
LCB0eXBlLCBhbmNlc3Rvci0+Z2V0RXZlbnRMaXN0ZW5lcnModHlwZSkpKTsKICAgICAgICAgfQog
ICAgIH0KIAo=
</data>
<flag name="review"
          id="79180"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>