<?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>145321</bug_id>
          
          <creation_ts>2015-05-22 14:44:23 -0700</creation_ts>
          <short_desc>Avoid doing an extra layout in some cases while doing scale-to-fit</short_desc>
          <delta_ts>2015-05-22 16:00:43 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1096956</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-05-22 14:44:23 -0700</bug_when>
    <thetext>Avoid doing an extra layout in some cases while doing scale-to-fit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096957</commentid>
    <comment_count>1</comment_count>
      <attachid>253607</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-05-22 14:44:43 -0700</bug_when>
    <thetext>Created attachment 253607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096960</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-05-22 14:49:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/184797</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096980</commentid>
    <comment_count>3</comment_count>
      <attachid>253607</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-05-22 15:49:16 -0700</bug_when>
    <thetext>Comment on attachment 253607
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:318
&gt; +        m_isScalingViewToFitDocument = true;

Why do we have to add this new flag? Down in this block we setFixedLayoutSize() with the scaled width. Can&apos;t we use the following condition to check whether we are in scaling mode or not:

m_webPage.fixedLayoutSize().width() &lt; m_lastDocumentSizeForScaleToFit.width()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096984</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-05-22 16:00:43 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 253607 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=253607&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:318
&gt; &gt; +        m_isScalingViewToFitDocument = true;
&gt; 
&gt; Why do we have to add this new flag? Down in this block we
&gt; setFixedLayoutSize() with the scaled width. Can&apos;t we use the following
&gt; condition to check whether we are in scaling mode or not:
&gt; 
&gt; m_webPage.fixedLayoutSize().width() &lt; m_lastDocumentSizeForScaleToFit.width()

Originally there were other cases (page load for example) that would cause the flag to get un-set, but that is no longer the case. Possible we could do something better, but it&apos;s nice to be explicit, too.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253607</attachid>
            <date>2015-05-22 14:44:43 -0700</date>
            <delta_ts>2015-05-22 14:47:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145321-20150522144437.patch</filename>
            <type>text/plain</type>
            <size>5195</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDhhODRjZTc2MGZhYzYw
NjcyMWY1ZmY4MmMwNjMzZDU0Y2I0MWViNS4uMzFiNWQ1ZTgzZjAwODRjNmVlMGQxZDBjZjcwNjIw
YWRhZmYyMzAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE1LTA1LTIyICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCisgICAgICAgIEF2b2lkIGRvaW5n
IGFuIGV4dHJhIGxheW91dCBpbiBzb21lIGNhc2VzIHdoaWxlIGRvaW5nIHNjYWxlLXRvLWZpdAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzIxCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTA1MTE2NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpU
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2NhbGVWaWV3VG9GaXREb2N1bWVudElmTmVl
ZGVkKToKKyAgICAgICAgSWYgd2UgbWFrZSBpdCB0byBzY2FsZVZpZXdUb0ZpdERvY3VtZW50SWZO
ZWVkZWQgd2l0aCB2YWxpZCBsYXlvdXQsCisgICAgICAgIHRoZSB2aWV3IHdpZHRoIGlzIHN0aWxs
IGxlc3MgdGhhbiB0aGUgbGFzdC1rbm93biBtaW5pbXVtIGRvY3VtZW50IHNpemUsCisgICAgICAg
IGFuZCB0aGUgZG9jdW1lbnQgc2l6ZSBoYXNuJ3QgY2hhbmdlZCwgdXBkYXRlIHRoZSB2aWV3IHNj
YWxlIHdpdGhvdXQKKyAgICAgICAgZG9pbmcgYW4gZXh0cmEgbGF5b3V0LCBrZWVwaW5nIHRoZSBm
aXhlZCBsYXlvdXQgc2l6ZSBhdCB0aGUgcHJldmlvdXNseQorICAgICAgICBjb21wdXRlZCBtaW5p
bXVtIGRvY3VtZW50IHNpemUuCisKKzIwMTUtMDUtMjIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hv
cnRvbkBhcHBsZS5jb20+CisKICAgICAgICAgUmVtb3ZlIGFjdGlvbiBtZW51IHN1cHBvcnQKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTMwNQogICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjEwNzA3NzE+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlv
bkRyYXdpbmdBcmVhLmgKaW5kZXggYmFlZDVmNzMzMjg2OGYyOTYzNjk1NDgzZmYyNzUzZjNiZjRm
NTQ0Zi4uZWE4NDQxYTdhMjgzNWY3MTIwMWUzOWM5YzE3ZjhjMWVkYWMwZTg2YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaApAQCAtMTU0LDcgKzE1NCw3IEBAIHBy
aXZhdGU6CiAKICAgICBWZWN0b3I8dWludDY0X3Q+IG1fZmVuY2VDYWxsYmFja3NGb3JBZnRlck5l
eHRGbHVzaDsKICAgICBib29sIG1fc2hvdWxkU2NhbGVWaWV3VG9GaXREb2N1bWVudCB7IGZhbHNl
IH07Ci0KKyAgICBib29sIG1faXNTY2FsaW5nVmlld1RvRml0RG9jdW1lbnQgeyBmYWxzZSB9Owog
ICAgIFdlYkNvcmU6OkludFNpemUgbV9sYXN0Vmlld1NpemVGb3JTY2FsZVRvRml0OwogICAgIFdl
YkNvcmU6OkludFNpemUgbV9sYXN0RG9jdW1lbnRTaXplRm9yU2NhbGVUb0ZpdDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCBiZjZjM2FhNzYxMmQ3
NTQ0MDIxNDFiNTA5MTgyMmRlNjY0NGVkYWI4Li44ZDNhZjBjYWU2OWE0OGRiMTQwZTMzYjAyYjc4
M2ZlYzc3Zjg5MTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEu
bW0KQEAgLTI3MiwxNyArMjcyLDMzIEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWE6OnNldFNob3VsZFNjYWxlVmlld1RvRml0RG9jdW1lbnQoYm9vbCBzaG91bGRTCiAKIHZvaWQg
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNjYWxlVmlld1RvRml0RG9jdW1lbnRJZk5l
ZWRlZCgpCiB7Ci0gICAgLy8gRklYTUU6IERlZmVyIHNjcm9sbGJhciBmbGFzaGluZyB1bnRpbCBh
ZnRlciB0aGUgc2Vjb25kIGxheW91dC4KLQogICAgIGNvbnN0IGludCBtYXhpbXVtRG9jdW1lbnRX
aWR0aEZvclNjYWxpbmcgPSAxNDQwOwogICAgIGNvbnN0IGZsb2F0IG1pbmltdW1WaWV3U2NhbGUg
PSAwLjE7CiAKICAgICBpZiAoIW1fc2hvdWxkU2NhbGVWaWV3VG9GaXREb2N1bWVudCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX3dlYlBhZ2UubWFpbkZyYW1lKCktPnZpZXcoKS0+bmVl
ZHNMYXlvdXQoKSAmJiBtX2xhc3REb2N1bWVudFNpemVGb3JTY2FsZVRvRml0ID09IG1fd2ViUGFn
ZS5tYWluRnJhbWVWaWV3KCktPnJlbmRlclZpZXcoKS0+dW5zY2FsZWREb2N1bWVudFJlY3QoKS5z
aXplKCkgJiYgbV9sYXN0Vmlld1NpemVGb3JTY2FsZVRvRml0ID09IG1fd2ViUGFnZS5zaXplKCkp
CisgICAgaW50IHZpZXdXaWR0aCA9IG1fd2ViUGFnZS5zaXplKCkud2lkdGgoKTsKKyAgICBib29s
IGRvY3VtZW50V2lkdGhDaGFuZ2VkT3JJbnZhbGlkYXRlZCA9IG1fd2ViUGFnZS5tYWluRnJhbWUo
KS0+dmlldygpLT5uZWVkc0xheW91dCgpIHx8IChtX2xhc3REb2N1bWVudFNpemVGb3JTY2FsZVRv
Rml0LndpZHRoKCkgIT0gbV93ZWJQYWdlLm1haW5GcmFtZVZpZXcoKS0+cmVuZGVyVmlldygpLT51
bnNjYWxlZERvY3VtZW50UmVjdCgpLndpZHRoKCkpOworICAgIGJvb2wgdmlld1dpZHRoQ2hhbmdl
ZCA9IG1fbGFzdFZpZXdTaXplRm9yU2NhbGVUb0ZpdC53aWR0aCgpICE9IHZpZXdXaWR0aDsKKwor
ICAgIGlmICghZG9jdW1lbnRXaWR0aENoYW5nZWRPckludmFsaWRhdGVkICYmICF2aWV3V2lkdGhD
aGFuZ2VkKQogICAgICAgICByZXR1cm47CiAKKyAgICAvLyBUaGUgdmlldyBpcyBub3cgYmlnZ2Vy
IHRoYW4gdGhlIGRvY3VtZW50LCBzbyB3ZSdsbCByZS1ldmFsdWF0ZSB3aGV0aGVyIHdlIGhhdmUg
dG8gc2NhbGUuCisgICAgaWYgKG1faXNTY2FsaW5nVmlld1RvRml0RG9jdW1lbnQgJiYgdmlld1dp
ZHRoID49IG1fbGFzdERvY3VtZW50U2l6ZUZvclNjYWxlVG9GaXQud2lkdGgoKSkKKyAgICAgICAg
bV9pc1NjYWxpbmdWaWV3VG9GaXREb2N1bWVudCA9IGZhbHNlOworCisgICAgLy8gT3VyIGN1cnJl
bnQgdW5kZXJzdGFuZGluZyBvZiB0aGUgZG9jdW1lbnQgd2lkdGggaXMgc3RpbGwgdXAgdG8gZGF0
ZSwgYW5kIHdlJ3JlIGluIHNjYWxpbmcgbW9kZS4KKyAgICAvLyBVcGRhdGUgdGhlIHZpZXdTY2Fs
ZSB3aXRob3V0IGRvaW5nIGFuIGV4dHJhIGxheW91dCB0byByZS1kZXRlcm1pbmUgdGhlIGRvY3Vt
ZW50IHdpZHRoLgorICAgIGlmIChtX2lzU2NhbGluZ1ZpZXdUb0ZpdERvY3VtZW50ICYmICFkb2N1
bWVudFdpZHRoQ2hhbmdlZE9ySW52YWxpZGF0ZWQpIHsKKyAgICAgICAgZmxvYXQgdmlld1NjYWxl
ID0gKGZsb2F0KXZpZXdXaWR0aCAvIChmbG9hdCltX2xhc3REb2N1bWVudFNpemVGb3JTY2FsZVRv
Rml0LndpZHRoKCk7CisgICAgICAgIG1fbGFzdFZpZXdTaXplRm9yU2NhbGVUb0ZpdCA9IG1fd2Vi
UGFnZS5zaXplKCk7CisgICAgICAgIHZpZXdTY2FsZSA9IHN0ZDo6bWF4KHZpZXdTY2FsZSwgbWlu
aW11bVZpZXdTY2FsZSk7CisgICAgICAgIG1fd2ViUGFnZS5zY2FsZVZpZXcodmlld1NjYWxlKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIC8vIExheSBvdXQgYXQgdGhlIHZpZXcgc2l6
ZS4KICAgICBtX3dlYlBhZ2Uuc2V0VXNlRml4ZWRMYXlvdXQoZmFsc2UpOwogICAgIG1fd2ViUGFn
ZS5sYXlvdXRJZk5lZWRlZCgpOwpAQCAtMjkyLDcgKzMwOCw2IEBAIHZvaWQgVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWE6OnNjYWxlVmlld1RvRml0RG9jdW1lbnRJZk5lZWRlZCgpCiAgICAg
bV9sYXN0RG9jdW1lbnRTaXplRm9yU2NhbGVUb0ZpdCA9IGRvY3VtZW50U2l6ZTsKIAogICAgIGlu
dCBkb2N1bWVudFdpZHRoID0gZG9jdW1lbnRTaXplLndpZHRoKCk7Ci0gICAgaW50IHZpZXdXaWR0
aCA9IG1fd2ViUGFnZS5zaXplKCkud2lkdGgoKTsKIAogICAgIGZsb2F0IHZpZXdTY2FsZSA9IDE7
CiAKQEAgLTMwMCw2ICszMTUsNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
OjpzY2FsZVZpZXdUb0ZpdERvY3VtZW50SWZOZWVkZWQoKQogICAgIC8vIHNpdGVzIHRoYXQgd2Fu
dCBob3Jpem9udGFsIHNjcm9sbGJhcnMgdG8gY29udGludWUgdG8gaGF2ZSB0aGVtLgogICAgIGlm
IChkb2N1bWVudFdpZHRoICYmIGRvY3VtZW50V2lkdGggPCBtYXhpbXVtRG9jdW1lbnRXaWR0aEZv
clNjYWxpbmcgJiYgdmlld1dpZHRoIDwgZG9jdW1lbnRXaWR0aCkgewogICAgICAgICAvLyBJZiB0
aGUgZG9jdW1lbnQgZG9lc24ndCBmaXQgaW4gdGhlIHZpZXcsIHNjYWxlIGl0IGRvd24gYnV0IGxh
eSBvdXQgYXQgdGhlIHZpZXcgc2l6ZS4KKyAgICAgICAgbV9pc1NjYWxpbmdWaWV3VG9GaXREb2N1
bWVudCA9IHRydWU7CiAgICAgICAgIG1fd2ViUGFnZS5zZXRVc2VGaXhlZExheW91dCh0cnVlKTsK
ICAgICAgICAgdmlld1NjYWxlID0gKGZsb2F0KXZpZXdXaWR0aCAvIChmbG9hdClkb2N1bWVudFdp
ZHRoOwogICAgICAgICB2aWV3U2NhbGUgPSBzdGQ6Om1heCh2aWV3U2NhbGUsIG1pbmltdW1WaWV3
U2NhbGUpOwo=
</data>
<flag name="review"
          id="278533"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>