<?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>51162</bug_id>
          
          <creation_ts>2010-12-15 20:07:22 -0800</creation_ts>
          <short_desc>anchor the toolbar to the bottom of the diff if the diff doesn&apos;t take a full screen of height</short_desc>
          <delta_ts>2011-01-20 20:57:49 -0800</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>323032</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-12-15 20:07:22 -0800</bug_when>
    <thetext>anchor the toolbar to the bottom of the diff if the diff doesn&apos;t take a full screen of height</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323033</commentid>
    <comment_count>1</comment_count>
      <attachid>76731</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-12-15 20:08:01 -0800</bug_when>
    <thetext>Created attachment 76731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323050</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-15 22:14:27 -0800</bug_when>
    <thetext>You&apos;re my hero!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323053</commentid>
    <comment_count>3</comment_count>
      <attachid>76731</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-15 22:30:46 -0800</bug_when>
    <thetext>Comment on attachment 76731
Patch

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

I&apos;m glad we have some one working on the review tool who actually, you know, knows HTML+JavaScript+CSS.  :)

&gt; BugsSite/code-review.js:637
&gt; +    $(window).bind(&apos;resize&apos;, updateToolbarAnchorState);

Is this buggy if we&apos;re right on the boundary and someone adds an inline comment?  Or does that generate a resize event?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323343</commentid>
    <comment_count>4</comment_count>
      <attachid>76798</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-12-16 12:11:22 -0800</bug_when>
    <thetext>Created attachment 76798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323344</commentid>
    <comment_count>5</comment_count>
      <attachid>76731</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-12-16 12:12:41 -0800</bug_when>
    <thetext>Comment on attachment 76731
Patch

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

&gt;&gt; BugsSite/code-review.js:637
&gt;&gt; +    $(window).bind(&apos;resize&apos;, updateToolbarAnchorState);
&gt; 
&gt; Is this buggy if we&apos;re right on the boundary and someone adds an inline comment?  Or does that generate a resize event?

Whoops. Good point. I&apos;ve changed it to use a dummy iframe with percentage width/height and detect resizes on that iframe. That way, we&apos;ll trigger this code whenever the body&apos;s width/height changes. Since this is pretty different, I put it up for review again in case you have issue with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326517</commentid>
    <comment_count>6</comment_count>
      <attachid>76798</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-24 01:54:05 -0800</bug_when>
    <thetext>Comment on attachment 76798
Patch

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

Ok.  This patch is kind of crazy.  I&apos;m slightly worried that this script is getting pretty complex.  Well, to be fair, it had kind of gotten out of control before this patch.  :)

&gt; BugsSite/code-review.js:611
&gt; +    if (hasScrollbar &amp;&amp; !toolbar.hasClass(&apos;anchored&apos;))
&gt; +      toolbar.addClass(&apos;anchored&apos;)

Why not just add the class unconditionally?

&gt; BugsSite/code-review.js:614
&gt; +    if (!hasScrollbar)
&gt; +      toolbar.removeClass(&apos;anchored&apos;);

I think there&apos;s a toggle concept in jQuery that helps with this.

&gt; BugsSite/code-review.js:644
&gt; +    $(document.body).append(&apos;&lt;iframe id=&quot;pseudo_resize_event_iframe&quot;&gt;&lt;/iframe&gt;&apos;);
&gt; +    document.getElementById(&apos;pseudo_resize_event_iframe&apos;).contentWindow.addEventListener(&apos;resize&apos;, onBodyResize);

I would have created the iframe elment as a fragment, using $(&apos;&lt;iframe id=&quot;pseudo_resize_event_iframe&quot;&gt;&lt;/iframe&gt;&apos;), appended the element, and then attached the event listener via the DOM directly instead of going back to the document to getElementById.  What if there&apos;s already an element with that ID in the document?  Anyway, it&apos;s not a big deal, it just has most assumptions.

This whole resize thing seems pretty crazy.  Is it really the best way?  I&apos;m willing to believe you since you know way more about this stuff than I do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329188</commentid>
    <comment_count>7</comment_count>
      <attachid>76798</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-04 13:51:07 -0800</bug_when>
    <thetext>Comment on attachment 76798
Patch

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

&gt;&gt; BugsSite/code-review.js:611
&gt;&gt; +      toolbar.addClass(&apos;anchored&apos;)
&gt; 
&gt; Why not just add the class unconditionally?

done.

&gt;&gt; BugsSite/code-review.js:614
&gt;&gt; +      toolbar.removeClass(&apos;anchored&apos;);
&gt; 
&gt; I think there&apos;s a toggle concept in jQuery that helps with this.

done.

&gt;&gt; BugsSite/code-review.js:644
&gt;&gt; +    document.getElementById(&apos;pseudo_resize_event_iframe&apos;).contentWindow.addEventListener(&apos;resize&apos;, onBodyResize);
&gt; 
&gt; I would have created the iframe elment as a fragment, using $(&apos;&lt;iframe id=&quot;pseudo_resize_event_iframe&quot;&gt;&lt;/iframe&gt;&apos;), appended the element, and then attached the event listener via the DOM directly instead of going back to the document to getElementById.  What if there&apos;s already an element with that ID in the document?  Anyway, it&apos;s not a big deal, it just has most assumptions.
&gt; 
&gt; This whole resize thing seems pretty crazy.  Is it really the best way?  I&apos;m willing to believe you since you know way more about this stuff than I do.

Changed to create the iframe as a fragment. Changed the id to a classname since I need it for styling.

As for the resize thing, this is the best hack I know of. The proper fix would be to implement resize events on elements (https://bugs.webkit.org/show_bug.cgi?id=17969).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329191</commentid>
    <comment_count>8</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-04 13:53:22 -0800</bug_when>
    <thetext>Committed r75003: &lt;http://trac.webkit.org/changeset/75003&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337056</commentid>
    <comment_count>9</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-01-19 19:20:24 -0800</bug_when>
    <thetext>the iframe resize hack causes crazy-fast flashing in chrome if the page just barely needs a vertical scrollbar and just straight up crashes firefox 3.6 and 4.0 (I think they&apos;re dispatching the resize event synchronously) if the window is resized just so.  not good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337842</commentid>
    <comment_count>10</comment_count>
      <attachid>76798</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-20 20:33:40 -0800</bug_when>
    <thetext>Comment on attachment 76798
Patch

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

&gt; BugsSite/ChangeLog:4
&gt; +

asdf

&gt; BugsSite/ChangeLog:10
&gt; +
&gt; +        * PrettyPatch/PrettyPatch.rb:
&gt; +        * code-review.js:
&gt; +

qwer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337843</commentid>
    <comment_count>11</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-20 20:34:13 -0800</bug_when>
    <thetext>Whoops. Sorry, I was testing. I thought I cancelled the submit correctly. Guess not. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337845</commentid>
    <comment_count>12</comment_count>
      <attachid>76798</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-20 20:49:21 -0800</bug_when>
    <thetext>Comment on attachment 76798
Patch

&gt; diff --git a/BugsSite/ChangeLog b/BugsSite/ChangeLog
&gt; index 75e4d4933fbd9dd6fa58349dafde41529e33d45e..438fc4dee5da06db8dd69846dbdfa0ddb31be34d 100644
&gt; --- a/BugsSite/ChangeLog
&gt; +++ b/BugsSite/ChangeLog
&gt; @@ -1,5 +1,15 @@
&gt;  2010-12-15  Ojan Vafai  &lt;ojan@chromium.org&gt;
&gt;  
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        anchor the toolbar to the bottom of the diff if the diff doesn&apos;t take a full screen of height
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=51162
&gt; +
&gt; +        * PrettyPatch/PrettyPatch.rb:
&gt; +        * code-review.js:
&gt; +
&gt; +2010-12-15  Ojan Vafai  &lt;ojan@chromium.org&gt;
&gt; +
&gt;          Reviewed by Adam Barth.
&gt;  
&gt;          size status bubble to it&apos;s contents on the code review page
&gt; diff --git a/BugsSite/PrettyPatch/PrettyPatch.rb b/BugsSite/PrettyPatch/PrettyPatch.rb
&gt; index 1dd16811c67d344d894898095752c0a111087cd6..45b3a1a5e27275928b8d2ecb824856426149e0f7 100644
&gt; --- a/BugsSite/PrettyPatch/PrettyPatch.rb
&gt; +++ b/BugsSite/PrettyPatch/PrettyPatch.rb
&gt; @@ -120,7 +120,7 @@ private
&gt;      background-color: #f8f8f8;
&gt;      border: 1px solid #ddd;
&gt;      font-family: monospace;
&gt; -    margin: 2em 0px;
&gt; +    margin: 1em 0;
&gt;  }
&gt;  
&gt;  h1 {
&gt; @@ -236,16 +236,19 @@ body {
&gt;  #toolbar {
&gt;    display: -webkit-box;
&gt;    display: -moz-box;
&gt; -  position: fixed;
&gt;    padding: 3px;
&gt;    bottom: 0;
&gt;    left: 0;
&gt;    right: 0;
&gt; -  border-top: 1px solid #ddd;
&gt; +  border: 1px solid #ddd;
&gt;    background-color: #eee;
&gt;    font-family: sans-serif;
&gt;  }
&gt;  
&gt; +#toolbar.anchored {
&gt; +  position: fixed;
&gt; +}
&gt; +
&gt;  #toolbar .actions {
&gt;    float: right;
&gt;  }
&gt; @@ -349,10 +352,18 @@ body {
&gt;  }
&gt;  
&gt;  .statusBubble {
&gt; +  height: 20px;
&gt;    margin: 2px 2px 0 0;
&gt;    border: none;
&gt;    vertical-align: middle;
&gt;  }
&gt; +
&gt; +#pseudo_resize_event_iframe {
&gt; +  height: 10%;
&gt; +  width: 10%;
&gt; +  position: absolute;
&gt; +  top: -11%;
&gt; +}
&gt;  &lt;/style&gt;
&gt;  &lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt; 
&gt;  &lt;script src=&quot;code-review.js?version=16&quot;&gt;&lt;/script&gt;
&gt; diff --git a/BugsSite/code-review.js b/BugsSite/code-review.js
&gt; index c8872208d7da116dd743bf6c7a113f4f0d64d8be..b3e1caf0ee1c00d9b7e83040b74aa7ae1b1e3756 100644
&gt; --- a/BugsSite/code-review.js
&gt; +++ b/BugsSite/code-review.js
&gt; @@ -600,11 +600,25 @@
&gt;      $(&apos;#statusBubbleContainer&apos;).addClass(&apos;wrap&apos;);
&gt;    }
&gt;  
&gt; +  function onBodyResize() {
&gt; +    updateToolbarAnchorState();
&gt; +  }
&gt; +
&gt; +  function updateToolbarAnchorState() {
&gt; +    var hasScrollbar = window.innerWidth &gt; document.documentElement.offsetWidth;
&gt; +    var toolbar = $(&apos;#toolbar&apos;);
&gt; +    if (hasScrollbar &amp;&amp; !toolbar.hasClass(&apos;anchored&apos;))
&gt; +      toolbar.addClass(&apos;anchored&apos;)
&gt; +
&gt; +    if (!hasScrollbar)
&gt; +      toolbar.removeClass(&apos;anchored&apos;);
&gt; +  }
&gt; +
&gt;    $(document).ready(function() {
&gt;      crawlDiff();
&gt;      fetchHistory();
&gt;      $(document.body).prepend(&apos;&lt;div id=&quot;message&quot;&gt;&lt;div class=&quot;help&quot;&gt;Select line numbers to add a comment.&lt;/div&gt;&lt;div class=&quot;commentStatus&quot;&gt;&lt;/div&gt;&lt;/div&gt;&apos;);
&gt; -    $(document.body).prepend(&apos;&lt;div id=&quot;toolbar&quot;&gt;&apos; +
&gt; +    $(document.body).append(&apos;&lt;div id=&quot;toolbar&quot;&gt;&apos; +
&gt;          &apos;&lt;div class=&quot;overallComments&quot;&gt;&apos; +
&gt;              &apos;&lt;textarea placeholder=&quot;Overall comments&quot;&gt;&lt;/textarea&gt;&apos; +
&gt;          &apos;&lt;/div&gt;&apos; +
&gt; @@ -622,6 +636,14 @@
&gt;      $(&apos;.overallComments textarea&apos;).bind(&apos;click&apos;, openOverallComments);
&gt;  
&gt;      $(document.body).prepend(&apos;&lt;div id=&quot;comment_form&quot; class=&quot;inactive&quot;&gt;&lt;div class=&quot;winter&quot;&gt;&lt;/div&gt;&lt;div class=&quot;lightbox&quot;&gt;&lt;iframe id=&quot;reviewform&quot; src=&quot;attachment.cgi?id=&apos; + attachment_id + &apos;&amp;action=reviewform&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt;&apos;);
&gt; +
&gt; +    // Create a dummy iframe and monitor resizes in it&apos;s contentWindow to detect when the top document&apos;s body changes size.
&gt; +    // Using jQuery to get the Window or add the event listener throws an error here.
&gt; +    // Not sure why, but it didn&apos;t seem worth stepping into jQuery obfuscated code to figure out.
&gt; +    $(document.body).append(&apos;&lt;iframe id=&quot;pseudo_resize_event_iframe&quot;&gt;&lt;/iframe&gt;&apos;);
&gt; +    document.getElementById(&apos;pseudo_resize_event_iframe&apos;).contentWindow.addEventListener(&apos;resize&apos;, onBodyResize);
&gt; +
&gt; +    updateToolbarAnchorState();
&gt;    });
&gt;  
&gt;    function discardComment() {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337846</commentid>
    <comment_count>13</comment_count>
      <attachid>76798</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-20 20:50:37 -0800</bug_when>
    <thetext>Comment on attachment 76798
Patch

&gt; diff --git a/BugsSite/ChangeLog b/BugsSite/ChangeLog
&gt; index 75e4d4933fbd9dd6fa58349dafde41529e33d45e..438fc4dee5da06db8dd69846dbdfa0ddb31be34d 100644
&gt; --- a/BugsSite/ChangeLog
&gt; +++ b/BugsSite/ChangeLog
&gt; @@ -1,5 +1,15 @@
&gt;  2010-12-15  Ojan Vafai  &lt;ojan@chromium.org&gt;
&gt;  
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        anchor the toolbar to the bottom of the diff if the diff doesn&apos;t take a full screen of height
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=51162
&gt; +
&gt; +        * PrettyPatch/PrettyPatch.rb:
&gt; +        * code-review.js:
&gt; +
&gt; +2010-12-15  Ojan Vafai  &lt;ojan@chromium.org&gt;
&gt; +
&gt;          Reviewed by Adam Barth.
&gt;  
&gt;          size status bubble to it&apos;s contents on the code review page
&gt; diff --git a/BugsSite/PrettyPatch/PrettyPatch.rb b/BugsSite/PrettyPatch/PrettyPatch.rb
&gt; index 1dd16811c67d344d894898095752c0a111087cd6..45b3a1a5e27275928b8d2ecb824856426149e0f7 100644
&gt; --- a/BugsSite/PrettyPatch/PrettyPatch.rb
&gt; +++ b/BugsSite/PrettyPatch/PrettyPatch.rb
&gt; @@ -120,7 +120,7 @@ private
&gt;      background-color: #f8f8f8;
&gt;      border: 1px solid #ddd;
&gt;      font-family: monospace;
&gt; -    margin: 2em 0px;
&gt; +    margin: 1em 0;
&gt;  }
&gt;  
&gt;  h1 {
&gt; @@ -236,16 +236,19 @@ body {
&gt;  #toolbar {
&gt;    display: -webkit-box;
&gt;    display: -moz-box;
&gt; -  position: fixed;
&gt;    padding: 3px;
&gt;    bottom: 0;
&gt;    left: 0;
&gt;    right: 0;
&gt; -  border-top: 1px solid #ddd;
&gt; +  border: 1px solid #ddd;
&gt;    background-color: #eee;
&gt;    font-family: sans-serif;
&gt;  }
&gt;  
&gt; +#toolbar.anchored {
&gt; +  position: fixed;
&gt; +}
&gt; +
&gt;  #toolbar .actions {
&gt;    float: right;
&gt;  }
&gt; @@ -349,10 +352,18 @@ body {
&gt;  }
&gt;  
&gt;  .statusBubble {
&gt; +  height: 20px;
&gt;    margin: 2px 2px 0 0;
&gt;    border: none;
&gt;    vertical-align: middle;
&gt;  }
&gt; +
&gt; +#pseudo_resize_event_iframe {
&gt; +  height: 10%;
&gt; +  width: 10%;
&gt; +  position: absolute;
&gt; +  top: -11%;
&gt; +}
&gt;  &lt;/style&gt;
&gt;  &lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt; 
&gt;  &lt;script src=&quot;code-review.js?version=16&quot;&gt;&lt;/script&gt;
&gt; diff --git a/BugsSite/code-review.js b/BugsSite/code-review.js
&gt; index c8872208d7da116dd743bf6c7a113f4f0d64d8be..b3e1caf0ee1c00d9b7e83040b74aa7ae1b1e3756 100644
&gt; --- a/BugsSite/code-review.js
&gt; +++ b/BugsSite/code-review.js
&gt; @@ -600,11 +600,25 @@
&gt;      $(&apos;#statusBubbleContainer&apos;).addClass(&apos;wrap&apos;);
&gt;    }
&gt;  
&gt; +  function onBodyResize() {
&gt; +    updateToolbarAnchorState();
&gt; +  }
&gt; +
&gt; +  function updateToolbarAnchorState() {
&gt; +    var hasScrollbar = window.innerWidth &gt; document.documentElement.offsetWidth;
&gt; +    var toolbar = $(&apos;#toolbar&apos;);
&gt; +    if (hasScrollbar &amp;&amp; !toolbar.hasClass(&apos;anchored&apos;))
&gt; +      toolbar.addClass(&apos;anchored&apos;)
&gt; +
&gt; +    if (!hasScrollbar)
&gt; +      toolbar.removeClass(&apos;anchored&apos;);
&gt; +  }
&gt; +
&gt;    $(document).ready(function() {
&gt;      crawlDiff();
&gt;      fetchHistory();
&gt;      $(document.body).prepend(&apos;&lt;div id=&quot;message&quot;&gt;&lt;div class=&quot;help&quot;&gt;Select line numbers to add a comment.&lt;/div&gt;&lt;div class=&quot;commentStatus&quot;&gt;&lt;/div&gt;&lt;/div&gt;&apos;);
&gt; -    $(document.body).prepend(&apos;&lt;div id=&quot;toolbar&quot;&gt;&apos; +
&gt; +    $(document.body).append(&apos;&lt;div id=&quot;toolbar&quot;&gt;&apos; +
&gt;          &apos;&lt;div class=&quot;overallComments&quot;&gt;&apos; +
&gt;              &apos;&lt;textarea placeholder=&quot;Overall comments&quot;&gt;&lt;/textarea&gt;&apos; +
&gt;          &apos;&lt;/div&gt;&apos; +
&gt; @@ -622,6 +636,14 @@
&gt;      $(&apos;.overallComments textarea&apos;).bind(&apos;click&apos;, openOverallComments);
&gt;  
&gt;      $(document.body).prepend(&apos;&lt;div id=&quot;comment_form&quot; class=&quot;inactive&quot;&gt;&lt;div class=&quot;winter&quot;&gt;&lt;/div&gt;&lt;div class=&quot;lightbox&quot;&gt;&lt;iframe id=&quot;reviewform&quot; src=&quot;attachment.cgi?id=&apos; + attachment_id + &apos;&amp;action=reviewform&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt;&apos;);
&gt; +
&gt; +    // Create a dummy iframe and monitor resizes in it&apos;s contentWindow to detect when the top document&apos;s body changes size.
&gt; +    // Using jQuery to get the Window or add the event listener throws an error here.
&gt; +    // Not sure why, but it didn&apos;t seem worth stepping into jQuery obfuscated code to figure out.
&gt; +    $(document.body).append(&apos;&lt;iframe id=&quot;pseudo_resize_event_iframe&quot;&gt;&lt;/iframe&gt;&apos;);
&gt; +    document.getElementById(&apos;pseudo_resize_event_iframe&apos;).contentWindow.addEventListener(&apos;resize&apos;, onBodyResize);
&gt; +
&gt; +    updateToolbarAnchorState();
&gt;    });
&gt;  
&gt;    function discardComment() {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337850</commentid>
    <comment_count>14</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-01-20 20:57:49 -0800</bug_when>
    <thetext>Sorry for all the noise. I&apos;m done now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76731</attachid>
            <date>2010-12-15 20:08:01 -0800</date>
            <delta_ts>2010-12-16 12:12:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51162-20101215200800.patch</filename>
            <type>text/plain</type>
            <size>3165</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0J1Z3NTaXRlL0NoYW5nZUxvZyBiL0J1Z3NTaXRlL0NoYW5nZUxvZwppbmRl
eCA3NWU0ZDQ5MzNmYmQ5ZGQ2ZmE1ODM0OWRhZmRlNDE1MjllMzNkNDVlLi40MzhmYzRkZWU1ZGEw
NmRiOGRkNjk4NDZkYmRmYTBkZGIzMWJlMzRkIDEwMDY0NAotLS0gYS9CdWdzU2l0ZS9DaGFuZ2VM
b2cKKysrIGIvQnVnc1NpdGUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTAtMTItMTUg
IE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBhbmNob3IgdGhlIHRvb2xiYXIgdG8gdGhlIGJvdHRv
bSBvZiB0aGUgZGlmZiBpZiB0aGUgZGlmZiBkb2Vzbid0IHRha2UgYSBmdWxsIHNjcmVlbiBvZiBo
ZWlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUx
MTYyCisKKyAgICAgICAgKiBQcmV0dHlQYXRjaC9QcmV0dHlQYXRjaC5yYjoKKyAgICAgICAgKiBj
b2RlLXJldmlldy5qczoKKworMjAxMC0xMi0xNSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0u
b3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCiAKICAgICAgICAgc2l6ZSBz
dGF0dXMgYnViYmxlIHRvIGl0J3MgY29udGVudHMgb24gdGhlIGNvZGUgcmV2aWV3IHBhZ2UKZGlm
ZiAtLWdpdCBhL0J1Z3NTaXRlL1ByZXR0eVBhdGNoL1ByZXR0eVBhdGNoLnJiIGIvQnVnc1NpdGUv
UHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIKaW5kZXggMWRkMTY4MTFjNjdkMzQ0ZDg5NDg5ODA5
NTc1MmMwYTExMTA4N2NkNi4uOWMxYmMzNjI4NTU2YzNhNzBkMTVlMWM5MDZiM2M1MmM2MDkzMWMy
ZCAxMDA2NDQKLS0tIGEvQnVnc1NpdGUvUHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIKKysrIGIv
QnVnc1NpdGUvUHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIKQEAgLTEyMCw3ICsxMjAsNyBAQCBw
cml2YXRlCiAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsKICAgICBib3JkZXI6IDFweCBz
b2xpZCAjZGRkOwogICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Ci0gICAgbWFyZ2luOiAyZW0g
MHB4OworICAgIG1hcmdpbjogMWVtIDA7CiB9CiAKIGgxIHsKQEAgLTIzNiwxNiArMjM2LDE5IEBA
IGJvZHkgewogI3Rvb2xiYXIgewogICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgZGlzcGxheTog
LW1vei1ib3g7Ci0gIHBvc2l0aW9uOiBmaXhlZDsKICAgcGFkZGluZzogM3B4OwogICBib3R0b206
IDA7CiAgIGxlZnQ6IDA7CiAgIHJpZ2h0OiAwOwotICBib3JkZXItdG9wOiAxcHggc29saWQgI2Rk
ZDsKKyAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsK
ICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiB9CiAKKyN0b29sYmFyLmFuY2hvcmVkIHsKKyAg
cG9zaXRpb246IGZpeGVkOworfQorCiAjdG9vbGJhciAuYWN0aW9ucyB7CiAgIGZsb2F0OiByaWdo
dDsKIH0KQEAgLTM0OSw2ICszNTIsNyBAQCBib2R5IHsKIH0KIAogLnN0YXR1c0J1YmJsZSB7Cisg
IGhlaWdodDogMjBweDsKICAgbWFyZ2luOiAycHggMnB4IDAgMDsKICAgYm9yZGVyOiBub25lOwog
ICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwpkaWZmIC0tZ2l0IGEvQnVnc1NpdGUvY29kZS1yZXZp
ZXcuanMgYi9CdWdzU2l0ZS9jb2RlLXJldmlldy5qcwppbmRleCBjODg3MjIwOGQ3ZGExMTZkZDc0
M2JmNmM3YTExM2Y0ZjBkNjRkOGJlLi4zYzM4MGQxZDQ0NmIwYjA5NTA0YWZhNGNjMGZhMWI2MDkz
OGRlNDc3IDEwMDY0NAotLS0gYS9CdWdzU2l0ZS9jb2RlLXJldmlldy5qcworKysgYi9CdWdzU2l0
ZS9jb2RlLXJldmlldy5qcwpAQCAtNjAwLDExICs2MDAsMjEgQEAKICAgICAkKCcjc3RhdHVzQnVi
YmxlQ29udGFpbmVyJykuYWRkQ2xhc3MoJ3dyYXAnKTsKICAgfQogCisgIGZ1bmN0aW9uIHVwZGF0
ZVRvb2xiYXJBbmNob3JTdGF0ZSgpIHsKKyAgICB2YXIgaGFzU2Nyb2xsYmFyID0gd2luZG93Lmlu
bmVyV2lkdGggPiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGg7CisgICAgdmFy
IHRvb2xiYXIgPSAkKCcjdG9vbGJhcicpOworICAgIGlmIChoYXNTY3JvbGxiYXIgJiYgIXRvb2xi
YXIuaGFzQ2xhc3MoJ2FuY2hvcmVkJykpCisgICAgICB0b29sYmFyLmFkZENsYXNzKCdhbmNob3Jl
ZCcpCisKKyAgICBpZiAoIWhhc1Njcm9sbGJhcikKKyAgICAgIHRvb2xiYXIucmVtb3ZlQ2xhc3Mo
J2FuY2hvcmVkJyk7CisgIH0KKwogICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAg
ICBjcmF3bERpZmYoKTsKICAgICBmZXRjaEhpc3RvcnkoKTsKICAgICAkKGRvY3VtZW50LmJvZHkp
LnByZXBlbmQoJzxkaXYgaWQ9Im1lc3NhZ2UiPjxkaXYgY2xhc3M9ImhlbHAiPlNlbGVjdCBsaW5l
IG51bWJlcnMgdG8gYWRkIGEgY29tbWVudC48L2Rpdj48ZGl2IGNsYXNzPSJjb21tZW50U3RhdHVz
Ij48L2Rpdj48L2Rpdj4nKTsKLSAgICAkKGRvY3VtZW50LmJvZHkpLnByZXBlbmQoJzxkaXYgaWQ9
InRvb2xiYXIiPicgKworICAgICQoZG9jdW1lbnQuYm9keSkuYXBwZW5kKCc8ZGl2IGlkPSJ0b29s
YmFyIj4nICsKICAgICAgICAgJzxkaXYgY2xhc3M9Im92ZXJhbGxDb21tZW50cyI+JyArCiAgICAg
ICAgICAgICAnPHRleHRhcmVhIHBsYWNlaG9sZGVyPSJPdmVyYWxsIGNvbW1lbnRzIj48L3RleHRh
cmVhPicgKwogICAgICAgICAnPC9kaXY+JyArCkBAIC02MjIsNiArNjMyLDkgQEAKICAgICAkKCcu
b3ZlcmFsbENvbW1lbnRzIHRleHRhcmVhJykuYmluZCgnY2xpY2snLCBvcGVuT3ZlcmFsbENvbW1l
bnRzKTsKIAogICAgICQoZG9jdW1lbnQuYm9keSkucHJlcGVuZCgnPGRpdiBpZD0iY29tbWVudF9m
b3JtIiBjbGFzcz0iaW5hY3RpdmUiPjxkaXYgY2xhc3M9IndpbnRlciI+PC9kaXY+PGRpdiBjbGFz
cz0ibGlnaHRib3giPjxpZnJhbWUgaWQ9InJldmlld2Zvcm0iIHNyYz0iYXR0YWNobWVudC5jZ2k/
aWQ9JyArIGF0dGFjaG1lbnRfaWQgKyAnJmFjdGlvbj1yZXZpZXdmb3JtIj48L2lmcmFtZT48L2Rp
dj48L2Rpdj4nKTsKKworICAgIHVwZGF0ZVRvb2xiYXJBbmNob3JTdGF0ZSgpOworICAgICQod2lu
ZG93KS5iaW5kKCdyZXNpemUnLCB1cGRhdGVUb29sYmFyQW5jaG9yU3RhdGUpOwogICB9KTsKIAog
ICBmdW5jdGlvbiBkaXNjYXJkQ29tbWVudCgpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76798</attachid>
            <date>2010-12-16 12:11:22 -0800</date>
            <delta_ts>2011-01-20 20:51:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51162-20101216121121.patch</filename>
            <type>text/plain</type>
            <size>3950</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0J1Z3NTaXRlL0NoYW5nZUxvZyBiL0J1Z3NTaXRlL0NoYW5nZUxvZwppbmRl
eCA3NWU0ZDQ5MzNmYmQ5ZGQ2ZmE1ODM0OWRhZmRlNDE1MjllMzNkNDVlLi40MzhmYzRkZWU1ZGEw
NmRiOGRkNjk4NDZkYmRmYTBkZGIzMWJlMzRkIDEwMDY0NAotLS0gYS9CdWdzU2l0ZS9DaGFuZ2VM
b2cKKysrIGIvQnVnc1NpdGUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTAtMTItMTUg
IE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBhbmNob3IgdGhlIHRvb2xiYXIgdG8gdGhlIGJvdHRv
bSBvZiB0aGUgZGlmZiBpZiB0aGUgZGlmZiBkb2Vzbid0IHRha2UgYSBmdWxsIHNjcmVlbiBvZiBo
ZWlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUx
MTYyCisKKyAgICAgICAgKiBQcmV0dHlQYXRjaC9QcmV0dHlQYXRjaC5yYjoKKyAgICAgICAgKiBj
b2RlLXJldmlldy5qczoKKworMjAxMC0xMi0xNSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0u
b3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCiAKICAgICAgICAgc2l6ZSBz
dGF0dXMgYnViYmxlIHRvIGl0J3MgY29udGVudHMgb24gdGhlIGNvZGUgcmV2aWV3IHBhZ2UKZGlm
ZiAtLWdpdCBhL0J1Z3NTaXRlL1ByZXR0eVBhdGNoL1ByZXR0eVBhdGNoLnJiIGIvQnVnc1NpdGUv
UHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIKaW5kZXggMWRkMTY4MTFjNjdkMzQ0ZDg5NDg5ODA5
NTc1MmMwYTExMTA4N2NkNi4uNDViM2ExYTVlMjcyNzU5MjhiOGQyZWNiODI0ODU2NDI2MTQ5ZTBm
NyAxMDA2NDQKLS0tIGEvQnVnc1NpdGUvUHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIKKysrIGIv
QnVnc1NpdGUvUHJldHR5UGF0Y2gvUHJldHR5UGF0Y2gucmIKQEAgLTEyMCw3ICsxMjAsNyBAQCBw
cml2YXRlCiAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsKICAgICBib3JkZXI6IDFweCBz
b2xpZCAjZGRkOwogICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Ci0gICAgbWFyZ2luOiAyZW0g
MHB4OworICAgIG1hcmdpbjogMWVtIDA7CiB9CiAKIGgxIHsKQEAgLTIzNiwxNiArMjM2LDE5IEBA
IGJvZHkgewogI3Rvb2xiYXIgewogICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgZGlzcGxheTog
LW1vei1ib3g7Ci0gIHBvc2l0aW9uOiBmaXhlZDsKICAgcGFkZGluZzogM3B4OwogICBib3R0b206
IDA7CiAgIGxlZnQ6IDA7CiAgIHJpZ2h0OiAwOwotICBib3JkZXItdG9wOiAxcHggc29saWQgI2Rk
ZDsKKyAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsK
ICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiB9CiAKKyN0b29sYmFyLmFuY2hvcmVkIHsKKyAg
cG9zaXRpb246IGZpeGVkOworfQorCiAjdG9vbGJhciAuYWN0aW9ucyB7CiAgIGZsb2F0OiByaWdo
dDsKIH0KQEAgLTM0OSwxMCArMzUyLDE4IEBAIGJvZHkgewogfQogCiAuc3RhdHVzQnViYmxlIHsK
KyAgaGVpZ2h0OiAyMHB4OwogICBtYXJnaW46IDJweCAycHggMCAwOwogICBib3JkZXI6IG5vbmU7
CiAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiB9CisKKyNwc2V1ZG9fcmVzaXplX2V2ZW50X2lm
cmFtZSB7CisgIGhlaWdodDogMTAlOworICB3aWR0aDogMTAlOworICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgIHRvcDogLTExJTsKK30KIDwvc3R5bGU+CiA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4
Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS40LjIvanF1ZXJ5Lm1pbi5qcyI+PC9z
Y3JpcHQ+IAogPHNjcmlwdCBzcmM9ImNvZGUtcmV2aWV3LmpzP3ZlcnNpb249MTYiPjwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvQnVnc1NpdGUvY29kZS1yZXZpZXcuanMgYi9CdWdzU2l0ZS9jb2RlLXJl
dmlldy5qcwppbmRleCBjODg3MjIwOGQ3ZGExMTZkZDc0M2JmNmM3YTExM2Y0ZjBkNjRkOGJlLi5i
M2UxY2FmMGVlMWMwMGQ5YjdlODMwNDBiNzRhYTdhZTFiMWUzNzU2IDEwMDY0NAotLS0gYS9CdWdz
U2l0ZS9jb2RlLXJldmlldy5qcworKysgYi9CdWdzU2l0ZS9jb2RlLXJldmlldy5qcwpAQCAtNjAw
LDExICs2MDAsMjUgQEAKICAgICAkKCcjc3RhdHVzQnViYmxlQ29udGFpbmVyJykuYWRkQ2xhc3Mo
J3dyYXAnKTsKICAgfQogCisgIGZ1bmN0aW9uIG9uQm9keVJlc2l6ZSgpIHsKKyAgICB1cGRhdGVU
b29sYmFyQW5jaG9yU3RhdGUoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHVwZGF0ZVRvb2xiYXJBbmNo
b3JTdGF0ZSgpIHsKKyAgICB2YXIgaGFzU2Nyb2xsYmFyID0gd2luZG93LmlubmVyV2lkdGggPiBk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGg7CisgICAgdmFyIHRvb2xiYXIgPSAk
KCcjdG9vbGJhcicpOworICAgIGlmIChoYXNTY3JvbGxiYXIgJiYgIXRvb2xiYXIuaGFzQ2xhc3Mo
J2FuY2hvcmVkJykpCisgICAgICB0b29sYmFyLmFkZENsYXNzKCdhbmNob3JlZCcpCisKKyAgICBp
ZiAoIWhhc1Njcm9sbGJhcikKKyAgICAgIHRvb2xiYXIucmVtb3ZlQ2xhc3MoJ2FuY2hvcmVkJyk7
CisgIH0KKwogICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICBjcmF3bERpZmYo
KTsKICAgICBmZXRjaEhpc3RvcnkoKTsKICAgICAkKGRvY3VtZW50LmJvZHkpLnByZXBlbmQoJzxk
aXYgaWQ9Im1lc3NhZ2UiPjxkaXYgY2xhc3M9ImhlbHAiPlNlbGVjdCBsaW5lIG51bWJlcnMgdG8g
YWRkIGEgY29tbWVudC48L2Rpdj48ZGl2IGNsYXNzPSJjb21tZW50U3RhdHVzIj48L2Rpdj48L2Rp
dj4nKTsKLSAgICAkKGRvY3VtZW50LmJvZHkpLnByZXBlbmQoJzxkaXYgaWQ9InRvb2xiYXIiPicg
KworICAgICQoZG9jdW1lbnQuYm9keSkuYXBwZW5kKCc8ZGl2IGlkPSJ0b29sYmFyIj4nICsKICAg
ICAgICAgJzxkaXYgY2xhc3M9Im92ZXJhbGxDb21tZW50cyI+JyArCiAgICAgICAgICAgICAnPHRl
eHRhcmVhIHBsYWNlaG9sZGVyPSJPdmVyYWxsIGNvbW1lbnRzIj48L3RleHRhcmVhPicgKwogICAg
ICAgICAnPC9kaXY+JyArCkBAIC02MjIsNiArNjM2LDE0IEBACiAgICAgJCgnLm92ZXJhbGxDb21t
ZW50cyB0ZXh0YXJlYScpLmJpbmQoJ2NsaWNrJywgb3Blbk92ZXJhbGxDb21tZW50cyk7CiAKICAg
ICAkKGRvY3VtZW50LmJvZHkpLnByZXBlbmQoJzxkaXYgaWQ9ImNvbW1lbnRfZm9ybSIgY2xhc3M9
ImluYWN0aXZlIj48ZGl2IGNsYXNzPSJ3aW50ZXIiPjwvZGl2PjxkaXYgY2xhc3M9ImxpZ2h0Ym94
Ij48aWZyYW1lIGlkPSJyZXZpZXdmb3JtIiBzcmM9ImF0dGFjaG1lbnQuY2dpP2lkPScgKyBhdHRh
Y2htZW50X2lkICsgJyZhY3Rpb249cmV2aWV3Zm9ybSI+PC9pZnJhbWU+PC9kaXY+PC9kaXY+Jyk7
CisKKyAgICAvLyBDcmVhdGUgYSBkdW1teSBpZnJhbWUgYW5kIG1vbml0b3IgcmVzaXplcyBpbiBp
dCdzIGNvbnRlbnRXaW5kb3cgdG8gZGV0ZWN0IHdoZW4gdGhlIHRvcCBkb2N1bWVudCdzIGJvZHkg
Y2hhbmdlcyBzaXplLgorICAgIC8vIFVzaW5nIGpRdWVyeSB0byBnZXQgdGhlIFdpbmRvdyBvciBh
ZGQgdGhlIGV2ZW50IGxpc3RlbmVyIHRocm93cyBhbiBlcnJvciBoZXJlLgorICAgIC8vIE5vdCBz
dXJlIHdoeSwgYnV0IGl0IGRpZG4ndCBzZWVtIHdvcnRoIHN0ZXBwaW5nIGludG8galF1ZXJ5IG9i
ZnVzY2F0ZWQgY29kZSB0byBmaWd1cmUgb3V0LgorICAgICQoZG9jdW1lbnQuYm9keSkuYXBwZW5k
KCc8aWZyYW1lIGlkPSJwc2V1ZG9fcmVzaXplX2V2ZW50X2lmcmFtZSI+PC9pZnJhbWU+Jyk7Cisg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BzZXVkb19yZXNpemVfZXZlbnRfaWZyYW1lJyku
Y29udGVudFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvbkJvZHlSZXNpemUpOwor
CisgICAgdXBkYXRlVG9vbGJhckFuY2hvclN0YXRlKCk7CiAgIH0pOwogCiAgIGZ1bmN0aW9uIGRp
c2NhcmRDb21tZW50KCkgewo=
</data>
<flag name="review"
          id="67803"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>