<?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>167195</bug_id>
          
          <creation_ts>2017-01-19 00:03:05 -0800</creation_ts>
          <short_desc>[GTK] Do not update the backing store state unnecessarily when page visibility changes</short_desc>
          <delta_ts>2017-01-19 01:01:03 -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>WebKitGTK</component>
          <version>WebKit Local 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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1268058</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-19 00:03:05 -0800</bug_when>
    <thetext>I&apos;ve noticed that we are receiving UpdateBackingStoreState messages in the web process even when size and scale factor didn&apos;t change. That&apos;s quite unfortunate because we do a lot of work unnecessarily and we tell the threaded compositor that the size changed. This is not only a problem because it&apos;s not rue, but also because changing the size is a sync operation in the threade compositor, so we block the compositing thread for nothing. This is happening because the WebPageProxy notifies the drawing area that the backing store is discardable when the page is not visible, and that always produces a new backing store state. In accelerating compositing mode we don&apos;t even have a backing store to discard, so we should check we have something to discard and also make sure we only generate a new backing store state if we really discarded the backing store.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268059</commentid>
    <comment_count>1</comment_count>
      <attachid>299237</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-19 00:06:10 -0800</bug_when>
    <thetext>Created attachment 299237
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268062</commentid>
    <comment_count>2</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2017-01-19 00:33:13 -0800</bug_when>
    <thetext>Well, perhaps I was too fast. Are we sure that the call to backingStoreStateDidChange(DoNotRespondImmediately); does not have side effects for other platforms?. It might be the case that they don&apos;t perform heavy operations but have to do somethin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268068</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-19 00:45:37 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Well, perhaps I was too fast. Are we sure that the call to
&gt; backingStoreStateDidChange(DoNotRespondImmediately); does not have side
&gt; effects for other platforms?. It might be the case that they don&apos;t perform
&gt; heavy operations but have to do somethin.

I&apos;m sure, because DrawingAreaProxyImpl is only used by GTK+ port :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268071</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-19 01:01:03 -0800</bug_when>
    <thetext>Committed r210920: &lt;http://trac.webkit.org/changeset/210920&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299237</attachid>
            <date>2017-01-19 00:06:10 -0800</date>
            <delta_ts>2017-01-19 00:30:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-backing-store-state.diff</filename>
            <type>text/plain</type>
            <size>2678</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0YWM4ZTgwOGY0Yi4uM2MwOWJjNzA0ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNy0wMS0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gRG8gbm90IHVwZGF0ZSB0aGUgYmFja2luZyBzdG9y
ZSBzdGF0ZSB1bm5lY2Vzc2FyaWx5IHdoZW4gcGFnZSB2aXNpYmlsaXR5IGNoYW5nZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzE5NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEkndmUgbm90aWNlZCB0
aGF0IHdlIGFyZSByZWNlaXZpbmcgVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUgbWVzc2FnZXMgaW4g
dGhlIHdlYiBwcm9jZXNzIGV2ZW4gd2hlbiBzaXplIGFuZCBzY2FsZQorICAgICAgICBmYWN0b3Ig
ZGlkbid0IGNoYW5nZS4gVGhhdCdzIHF1aXRlIHVuZm9ydHVuYXRlIGJlY2F1c2Ugd2UgZG8gYSBs
b3Qgb2Ygd29yayB1bm5lY2Vzc2FyaWx5IGFuZCB3ZSB0ZWxsIHRoZQorICAgICAgICB0aHJlYWRl
ZCBjb21wb3NpdG9yIHRoYXQgdGhlIHNpemUgY2hhbmdlZC4gVGhpcyBpcyBub3Qgb25seSBhIHBy
b2JsZW0gYmVjYXVzZSBpdCdzIG5vdCB0cnVlLCBidXQgYWxzbyBiZWNhdXNlCisgICAgICAgIGNo
YW5naW5nIHRoZSBzaXplIGlzIGEgc3luYyBvcGVyYXRpb24gaW4gdGhlIHRocmVhZGVkIGNvbXBv
c2l0b3IsIHNvIHdlIGJsb2NrIHRoZSBjb21wb3NpdGluZyB0aHJlYWQgZm9yCisgICAgICAgIG5v
dGhpbmcuIFRoaXMgaXMgaGFwcGVuaW5nIGJlY2F1c2UgdGhlIFdlYlBhZ2VQcm94eSBub3RpZmll
cyB0aGUgZHJhd2luZyBhcmVhIHRoYXQgdGhlIGJhY2tpbmcgc3RvcmUgaXMKKyAgICAgICAgZGlz
Y2FyZGFibGUgd2hlbiB0aGUgcGFnZSBpcyBub3QgdmlzaWJsZSwgYW5kIHRoYXQgYWx3YXlzIHBy
b2R1Y2VzIGEgbmV3IGJhY2tpbmcgc3RvcmUgc3RhdGUuIEluIGFjY2VsZXJhdGluZworICAgICAg
ICBjb21wb3NpdGluZyBtb2RlIHdlIGRvbid0IGV2ZW4gaGF2ZSBhIGJhY2tpbmcgc3RvcmUgdG8g
ZGlzY2FyZCwgc28gd2Ugc2hvdWxkIGNoZWNrIHdlIGhhdmUgc29tZXRoaW5nIHRvIGRpc2NhcmQK
KyAgICAgICAgYW5kIGFsc28gbWFrZSBzdXJlIHdlIG9ubHkgZ2VuZXJhdGUgYSBuZXcgYmFja2lu
ZyBzdG9yZSBzdGF0ZSBpZiB3ZSByZWFsbHkgZGlzY2FyZGVkIHRoZSBiYWNraW5nIHN0b3JlLgor
CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3RvcmVTb29uKToK
KyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3Rv
cmUpOgorCiAyMDE3LTAxLTE4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBSZWR1Y2UgcGxhdGZvcm0gaWZkZWZzIGluIFdlYktpdDIgY3VzdG9t
IHByb3RvY29scyBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKaW5kZXggNDQwZGY5YTMzZWUuLjE0NDUzNTRkN2Rj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUlt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5jcHAKQEAgLTE3NSw3ICsxNzUsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjplbnRl
ckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleAogCiB2b2lk
IERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbigpCiB7Ci0gICAg
aWYgKCFtX2lzQmFja2luZ1N0b3JlRGlzY2FyZGFibGUgfHwgbV9kaXNjYXJkQmFja2luZ1N0b3Jl
VGltZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAoIW1fYmFja2luZ1N0b3JlIHx8ICFtX2lzQmFja2lu
Z1N0b3JlRGlzY2FyZGFibGUgfHwgbV9kaXNjYXJkQmFja2luZ1N0b3JlVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2UnbGwgd2FpdCB0aGlzIG1hbnkgc2Vjb25k
cyBhZnRlciB0aGUgbGFzdCBwYWludCBiZWZvcmUgdGhyb3dpbmcgYXdheSBvdXIgYmFja2luZyBz
dG9yZSB0byBzYXZlIG1lbW9yeS4KQEAgLTE4Nyw2ICsxODcsOCBAQCB2b2lkIERyYXdpbmdBcmVh
UHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbigpCiAKIHZvaWQgRHJhd2luZ0FyZWFQ
cm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3RvcmUoKQogeworICAgIGlmICghbV9iYWNraW5nU3Rv
cmUpCisgICAgICAgIHJldHVybjsKICAgICBtX2JhY2tpbmdTdG9yZSA9IG51bGxwdHI7CiAgICAg
YmFja2luZ1N0b3JlU3RhdGVEaWRDaGFuZ2UoRG9Ob3RSZXNwb25kSW1tZWRpYXRlbHkpOwogfQo=
</data>
<flag name="review"
          id="321211"
          type_id="1"
          status="+"
          setter="svillar"
    />
          </attachment>
      

    </bug>

</bugzilla>