<?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>67198</bug_id>
          
          <creation_ts>2011-08-30 05:44:43 -0700</creation_ts>
          <short_desc>Web Inspector: console view does a style recalculation per each addMessage call</short_desc>
          <delta_ts>2011-08-31 05:12:58 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>458861</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-08-30 05:44:43 -0700</bug_when>
    <thetext>it is bad from the performance point of view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458862</commentid>
    <comment_count>1</comment_count>
      <attachid>105620</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-08-30 05:48:05 -0700</bug_when>
    <thetext>Created attachment 105620
[patch] initial version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458863</commentid>
    <comment_count>2</comment_count>
      <attachid>105620</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-08-30 05:55:31 -0700</bug_when>
    <thetext>Comment on attachment 105620
[patch] initial version

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

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:286
&gt; +        if (!this._isScrollIntoViewScheduled() &amp;&amp; ((msg instanceof WebInspector.ConsoleCommandResult) || this.messagesElement.isScrolledToBottom()))

this._scrollIntoViewTimer is already checked in _scheduleScrollIntoView(), isn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458866</commentid>
    <comment_count>3</comment_count>
      <attachid>105620</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-08-30 06:00:25 -0700</bug_when>
    <thetext>Comment on attachment 105620
[patch] initial version

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

&gt;&gt; Source/WebCore/inspector/front-end/ConsoleView.js:286
&gt;&gt; +        if (!this._isScrollIntoViewScheduled() &amp;&amp; ((msg instanceof WebInspector.ConsoleCommandResult) || this.messagesElement.isScrolledToBottom()))
&gt; 
&gt; this._scrollIntoViewTimer is already checked in _scheduleScrollIntoView(), isn&apos;t it?

the problem is in this.messagesElement.isScrolledToBottom call. This call is forcing style recalculation. 
In the old code we do style recalculation even if we already scheduled the scroll action.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458874</commentid>
    <comment_count>4</comment_count>
      <attachid>105620</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-30 06:44:21 -0700</bug_when>
    <thetext>Comment on attachment 105620
[patch] initial version

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

&gt;&gt;&gt; Source/WebCore/inspector/front-end/ConsoleView.js:286
&gt;&gt;&gt; +        if (!this._isScrollIntoViewScheduled() &amp;&amp; ((msg instanceof WebInspector.ConsoleCommandResult) || this.messagesElement.isScrolledToBottom()))
&gt;&gt; 
&gt;&gt; this._scrollIntoViewTimer is already checked in _scheduleScrollIntoView(), isn&apos;t it?
&gt; 
&gt; the problem is in this.messagesElement.isScrolledToBottom call. This call is forcing style recalculation. 
&gt; In the old code we do style recalculation even if we already scheduled the scroll action.

isScrolledToBottom() should be called *before* the new message has been added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458914</commentid>
    <comment_count>5</comment_count>
      <attachid>105632</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-08-30 08:20:00 -0700</bug_when>
    <thetext>Created attachment 105632
[patch] second iteration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459563</commentid>
    <comment_count>6</comment_count>
      <attachid>105632</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-08-31 05:12:51 -0700</bug_when>
    <thetext>Comment on attachment 105632
[patch] second iteration

Clearing flags on attachment: 105632

Committed r94178: &lt;http://trac.webkit.org/changeset/94178&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459564</commentid>
    <comment_count>7</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-08-31 05:12:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105620</attachid>
            <date>2011-08-30 05:48:05 -0700</date>
            <delta_ts>2011-08-30 08:20:00 -0700</delta_ts>
            <desc>[patch] initial version</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>2230</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0YTYyN2E2Li4xNGIyOTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDgtMzAgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNvbnNvbGUgdmlldyBkb2VzIGEgc3R5bGUgcmVjYWxj
dWxhdGlvbiBwZXIgZWFjaCBhZGRNZXNzYWdlIGNhbGwuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5OAorCisgICAgICAgIEl0IGlzIGJhZCBmcm9t
IHRoZSBwZXJmb3JtYW5jZSBwb2ludCBvZiB2aWV3LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUuX2lzU2Ny
b2xsSW50b1ZpZXdTY2hlZHVsZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3
LnByb3RvdHlwZS5fYXBwZW5kQ29uc29sZU1lc3NhZ2UpOgorCiAyMDExLTA4LTMwICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGxhc3RDaGFuZ2VXYXNVc2VyRWRp
dCBjb250aW51ZXMgdG8gcmV0dXJuIHRydWUgd2hlbiBpbm5lclRleHQgb3IgdGV4dENvbnRlbnQg
aXMgbW9kaWZpZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
bnNvbGVWaWV3LmpzCmluZGV4IDMyN2NhNjcuLjQxOGIxMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAtMjQxLDYgKzI0MSwx
MSBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlz
LnRvZ2dsZUNvbnNvbGVCdXR0b24udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNob3cg
Y29uc29sZS4iKTsKICAgICB9LAogCisgICAgX2lzU2Nyb2xsSW50b1ZpZXdTY2hlZHVsZWQ6IGZ1
bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiAhIXRoaXMuX3Njcm9sbEludG9WaWV3VGlt
ZXI7CisgICAgfSwKKwogICAgIF9zY2hlZHVsZVNjcm9sbEludG9WaWV3OiBmdW5jdGlvbigpCiAg
ICAgewogICAgICAgICBpZiAodGhpcy5fc2Nyb2xsSW50b1ZpZXdUaW1lcikKQEAgLTI2MSw4ICsy
NjYsNiBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogCiAgICAgX2Fw
cGVuZENvbnNvbGVNZXNzYWdlOiBmdW5jdGlvbihtc2cpCiAgICAgewotICAgICAgICB2YXIgc2hv
dWxkU2Nyb2xsVG9MYXN0TWVzc2FnZSA9IHRoaXMubWVzc2FnZXNFbGVtZW50LmlzU2Nyb2xsZWRU
b0JvdHRvbSgpOwotCiAgICAgICAgIHRoaXMubWVzc2FnZXMucHVzaChtc2cpOwogCiAgICAgICAg
IGlmIChtc2cudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBl
LkVuZEdyb3VwKSB7CkBAIC0yODAsNyArMjgzLDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAgICAgIC8vIEFsd2F5cyBzY3JvbGwgd2hl
biBjb21tYW5kIHJlc3VsdCBhcnJpdmVzLgotICAgICAgICBpZiAoc2hvdWxkU2Nyb2xsVG9MYXN0
TWVzc2FnZSB8fCAobXNnIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5kUmVz
dWx0KSkKKyAgICAgICAgaWYgKCF0aGlzLl9pc1Njcm9sbEludG9WaWV3U2NoZWR1bGVkKCkgJiYg
KChtc2cgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQpIHx8IHRo
aXMubWVzc2FnZXNFbGVtZW50LmlzU2Nyb2xsZWRUb0JvdHRvbSgpKSkKICAgICAgICAgICAgIHRo
aXMuX3NjaGVkdWxlU2Nyb2xsSW50b1ZpZXcoKTsKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZl
bnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcuRXZlbnRzLkVudHJ5QWRkZWQs
IG1zZyk7Cg==
</data>
<flag name="review"
          id="101836"
          type_id="1"
          status="-"
          setter="yurys"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105632</attachid>
            <date>2011-08-30 08:20:00 -0700</date>
            <delta_ts>2011-08-31 05:12:51 -0700</delta_ts>
            <desc>[patch] second iteration</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>2412</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0YTYyN2E2Li4xNGIyOTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDgtMzAgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNvbnNvbGUgdmlldyBkb2VzIGEgc3R5bGUgcmVjYWxj
dWxhdGlvbiBwZXIgZWFjaCBhZGRNZXNzYWdlIGNhbGwuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5OAorCisgICAgICAgIEl0IGlzIGJhZCBmcm9t
IHRoZSBwZXJmb3JtYW5jZSBwb2ludCBvZiB2aWV3LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUuX2lzU2Ny
b2xsSW50b1ZpZXdTY2hlZHVsZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3
LnByb3RvdHlwZS5fYXBwZW5kQ29uc29sZU1lc3NhZ2UpOgorCiAyMDExLTA4LTMwICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGxhc3RDaGFuZ2VXYXNVc2VyRWRp
dCBjb250aW51ZXMgdG8gcmV0dXJuIHRydWUgd2hlbiBpbm5lclRleHQgb3IgdGV4dENvbnRlbnQg
aXMgbW9kaWZpZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
bnNvbGVWaWV3LmpzCmluZGV4IDMyN2NhNjcuLmQzODRkZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAtMjQxLDYgKzI0MSwx
MSBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlz
LnRvZ2dsZUNvbnNvbGVCdXR0b24udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNob3cg
Y29uc29sZS4iKTsKICAgICB9LAogCisgICAgX2lzU2Nyb2xsSW50b1ZpZXdTY2hlZHVsZWQ6IGZ1
bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiAhIXRoaXMuX3Njcm9sbEludG9WaWV3VGlt
ZXI7CisgICAgfSwKKwogICAgIF9zY2hlZHVsZVNjcm9sbEludG9WaWV3OiBmdW5jdGlvbigpCiAg
ICAgewogICAgICAgICBpZiAodGhpcy5fc2Nyb2xsSW50b1ZpZXdUaW1lcikKQEAgLTI2MSw3ICsy
NjYsMTAgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIF9h
cHBlbmRDb25zb2xlTWVzc2FnZTogZnVuY3Rpb24obXNnKQogICAgIHsKLSAgICAgICAgdmFyIHNo
b3VsZFNjcm9sbFRvTGFzdE1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VzRWxlbWVudC5pc1Njcm9sbGVk
VG9Cb3R0b20oKTsKKyAgICAgICAgLy8gdGhpcy5tZXNzYWdlc0VsZW1lbnQuaXNTY3JvbGxlZFRv
Qm90dG9tKCkgaXMgZm9yY2luZyBzdHlsZSByZWNhbGN1bGF0aW9uLgorICAgICAgICAvLyBXZSBq
dXN0IHNraXAgaXQgaWYgdGhlIHNjcm9sbCBhY3Rpb24gaGFzIGJlZW4gc2NoZWR1bGVkLgorICAg
ICAgICBpZiAoIXRoaXMuX2lzU2Nyb2xsSW50b1ZpZXdTY2hlZHVsZWQoKSAmJiAoKG1zZyBpbnN0
YW5jZW9mIFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdCkgfHwgdGhpcy5tZXNzYWdl
c0VsZW1lbnQuaXNTY3JvbGxlZFRvQm90dG9tKCkpKQorICAgICAgICAgICAgdGhpcy5fc2NoZWR1
bGVTY3JvbGxJbnRvVmlldygpOwogCiAgICAgICAgIHRoaXMubWVzc2FnZXMucHVzaChtc2cpOwog
CkBAIC0yNzksMTAgKzI4Nyw2IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICB0aGlzLmN1cnJlbnRHcm91cC5hZGRNZXNzYWdlKG1zZyk7CiAgICAg
ICAgIH0KIAotICAgICAgICAvLyBBbHdheXMgc2Nyb2xsIHdoZW4gY29tbWFuZCByZXN1bHQgYXJy
aXZlcy4KLSAgICAgICAgaWYgKHNob3VsZFNjcm9sbFRvTGFzdE1lc3NhZ2UgfHwgKG1zZyBpbnN0
YW5jZW9mIFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdCkpCi0gICAgICAgICAgICB0
aGlzLl9zY2hlZHVsZVNjcm9sbEludG9WaWV3KCk7Ci0KICAgICAgICAgdGhpcy5kaXNwYXRjaEV2
ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LkV2ZW50cy5FbnRyeUFkZGVk
LCBtc2cpOwogICAgIH0sCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>