<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jan 9, 2012, at 12:29 AM, David Bruant wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
  
    <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
  
  <div bgcolor="#FFFFFF" text="#000000">
    Le 09/01/2012 06:29, Brendan Eich a écrit :
    <blockquote cite="mid:96D74D02-548B-44F2-8ED0-A45BB5EA92D5@mozilla.com" type="cite">
      <div>
        <div>On Jan 8, 2012, at 7:20 PM, John J Barton wrote:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite">
          <div class="gmail_quote">On Sun, Jan 8, 2012 at 3:35 PM,
            Brendan Eich <span dir="ltr"><<a moz-do-not-send="true" href="mailto:brendan@mozilla.com">brendan@mozilla.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin-top: 0px;
              margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex;
              border-left-width: 1px; border-left-color: rgb(204, 204,
              204); border-left-style: solid; padding-left: 1ex;
              position: static; z-index: auto; ">
              <div style="word-wrap:break-word">
                <div class="im">
                  <div>
                    <blockquote type="cite">
                      <div class="gmail_quote">
                        <div>Firebug uses a library bind a lot, and we
                          continually struggled with the memoization
                          problem; we did not try to solve it in part
                          because we hated Firebug's bind: it made
                          debugging even more painful since it messes up
                          the call stack. Using the ES bind() ends up
                          not being a win, since I now have exactly the
                          same problems.</div>
                      </div>
                    </blockquote>
                    <br>
                  </div>
                </div>
                <div>I have a question: why is bind used so much in
                  Firebug for event listeners, when the DOM guarantees
                  to dispatch them with the event target bound to
                  |this|? Way back in '95, I created event handlers but
                  did not add bind (it had to be discovered later). But
                  dynamic |this| binding combined with DOM event
                  target-based listening and handling kept this properly
                  bound. What has changed?</div>
                <span class="HOEnZb"><font color="#888888">
                    <div><br>
                    </div>
                  </font></span></div>
            </blockquote>
            <div>Sorry I don't know what you mean here.</div>
          </div>
        </blockquote>
        <br>
      </div>
      <div>Why all the this-binding in Firebug if (as you suggested and
        a grep seems to confirm [but I skimmed]) the methods being
        this-bound are all or mostly event listeners? The DOM dispatches
        event handlers on the correct |this|.</div>
    </blockquote>
    Relevant related documentation:
<a class="moz-txt-link-freetext" href="https://developer.mozilla.org/en/JavaScript/Reference/Operators/this#As_a_DOM_event_handler">https://developer.mozilla.org/en/JavaScript/Reference/Operators/this#As_a_DOM_event_handler</a><br></div></blockquote><div><br></div>Do you mean this "(some browsers do not follow this convention for listeners added dynamically with methods other than <code>addEventListener</code>)." part? Ghastly but not browsers Firebug targets (namely, Firefox), right? </div><div><br></div><div>/be</div></body></html>