<?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>77743</bug_id>
          
          <creation_ts>2012-02-03 08:43:34 -0800</creation_ts>
          <short_desc>[GTK] WebKitWebView does a lot of work during size_allocate when not mapped</short_desc>
          <delta_ts>2012-02-06 09:59: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>WebKitGTK</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="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>kalevlember</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>548757</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-03 08:43:34 -0800</bug_when>
    <thetext>The way GTK+ 3.x works now, GtkNotebook will unmap its children, but still call size_allocate on them. This means that the cost of resizing a GtkNotebook full of WebKitWebView (a web browser) is the cost of resizing every single WebView there. This is quite expensive and leads to very sluggish resizing of Epiphany.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548789</commentid>
    <comment_count>1</comment_count>
      <attachid>125351</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-03 09:30:10 -0800</bug_when>
    <thetext>Created attachment 125351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548792</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-03 09:33:56 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549045</commentid>
    <comment_count>3</comment_count>
    <who name="Kalev Lember">kalevlember</who>
    <bug_when>2012-02-03 13:55:34 -0800</bug_when>
    <thetext>*** Bug 77760 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549604</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-02-05 12:24:25 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; The way GTK+ 3.x works now, GtkNotebook will unmap its children, but still call size_allocate on them. This means that the cost of resizing a GtkNotebook full of WebKitWebView (a web browser) is the cost of resizing every single WebView there. This is quite expensive and leads to very sluggish resizing of Epiphany.

I&apos;m not sure what have changed between gtk 2 and 3 here, but gtk2 also maps/unmaps the children. It&apos;s done when switching tabs, gtk_widget_set_child_visible() is called with TRUE for the new tab and FALSE for the old one. GtkNotebook checks the visibility of the children before calling size_allocate for the child, like other containers. In this case, according to gtk_notebook_set_current_page() doc, children of a notebook should be visible, and that&apos;s why size_allocate is always called for all children. I think this patch is actually a workaround for the gtk issue (fixing a specific case of a WebView inside a GtkNotebook), and it should be fixed in GTK+, otherwise all gtk widgets should do the same just in case they are added to a GtkNotebook. I&apos;ve filed a bug report to GTK+ and attached a patch there:

https://bugzilla.gnome.org/show_bug.cgi?id=669394</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549639</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-05 16:54:27 -0800</bug_when>
    <thetext>(In reply to comment #4)

&gt; https://bugzilla.gnome.org/show_bug.cgi?id=669394

Thanks for the followup! Hopefully this bug is fixed upstream as well. I think we should still use the work-around, for old versions of GTK+ and also because it fixes issues on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549764</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-02-05 23:35:01 -0800</bug_when>
    <thetext>What issues? If we land this, I would include a comment saying that it shouldn&apos;t be necessary, and it&apos;s a workaround for several issues in GTK+, so that if it&apos;s not needed in the future we can just remove it. The problem of this kind of workarounds is that they end up in the code forever and nobody remembers what the code is for and why it was added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549782</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-06 00:14:33 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; What issues? If we land this, I would include a comment saying that it shouldn&apos;t be necessary, and it&apos;s a workaround for several issues in GTK+, so that if it&apos;s not needed in the future we can just remove it. The problem of this kind of workarounds is that they end up in the code forever and nobody remembers what the code is for and why it was added.

This patch also fixes an issue on Windows (see the duplicated bug) where the backing store for the widget is created before it&apos;s mapped. Thus, the change cannot be reverted after the GTK+ bug is fixed, unless the backing store stuff changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549875</commentid>
    <comment_count>8</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-02-06 03:13:30 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; What issues? If we land this, I would include a comment saying that it shouldn&apos;t be necessary, and it&apos;s a workaround for several issues in GTK+, so that if it&apos;s not needed in the future we can just remove it. The problem of this kind of workarounds is that they end up in the code forever and nobody remembers what the code is for and why it was added.

I would say our track record of know about the workarounds and removing them is pretty good, actually, but having a comment has always helped us =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549877</commentid>
    <comment_count>9</comment_count>
      <attachid>125351</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-02-06 03:18:58 -0800</bug_when>
    <thetext>Comment on attachment 125351
Patch

Looks sensible to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550077</commentid>
    <comment_count>10</comment_count>
      <attachid>125351</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-06 09:59:43 -0800</bug_when>
    <thetext>Comment on attachment 125351
Patch

Clearing flags on attachment: 125351

Committed r106816: &lt;http://trac.webkit.org/changeset/106816&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550079</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-06 09:59:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125351</attachid>
            <date>2012-02-03 09:30:10 -0800</date>
            <delta_ts>2012-02-06 09:59:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77743-20120203092959.patch</filename>
            <type>text/plain</type>
            <size>9218</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNmRiZWE2NTYw
Njc1ZTZjNjE3OGIwYWU2NzlmYWY2NzgzYjMwODI1YS4uNzA0NjhlMmM1YTBiNTdjY2VhZmIzNThk
MGJhMmM4OTU3ZmVmMzgwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEy
LTAyLTAzICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAg
ICBbR1RLXSBXZWJLaXRXZWJWaWV3IGRvZXMgYSBsb3Qgb2Ygd29yayBkdXJpbmcgc2l6ZV9hbGxv
Y2F0ZSB3aGVuIG5vdCBtYXBwZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc3NzQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW5zdGVhZCBvZiByZXNpemluZyB0aGUgZ3V0cyBvZiBhIFdlYlZpZXcgd2hl
biBpdCdzIG5vdCBtYXBwZWQsIHdhaXQKKyAgICAgICAgdW50aWwgaXQncyBtYXBwZWQgYW5kIGRv
IG9uZSByZXNpemUuIFRoaXMgcHJldmVudHMgdW5tYXBwZWQgV2ViVmlld3MKKyAgICAgICAgZnJv
bSBhZGRpbmcgdG8gYSBjb250YWluZXIncyByZXNpemUgY29zdC4KKworICAgICAgICAqIHdlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHJlc2l6ZVdlYlZpZXdGcm9tQWxsb2NhdGlv
bik6IEFic3RyYWN0ZWQgb3V0IHRoaXMgaGVscGVyLgorICAgICAgICAod2Via2l0X3dlYl92aWV3
X3NpemVfYWxsb2NhdGUpOiBXYWl0IHVudGlsIG1hcCB0byByZXNpemUgdW1hcHBlZCB3aWRnZXRz
LgorICAgICAgICAod2Via2l0V2ViVmlld01hcCk6IEFkZGVkIHRoaXMgdm1ldGhvZCBpbXBsZW1l
bnRhdGlvbi4KKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KTogQWRkZWQgdm1l
dGhvZC4KKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlld3ByaXZhdGUuaDogQWRkZWQgbmV3
IG5lZWRzUmVzaXplT25NYXAgbWVtYmVyLgorCiAyMDEyLTAyLTAyICBDbGF1ZGlvIFNhYXZlZHJh
ICA8Y3NhYXZlZHJhQGlnYWxpYS5jb20+IGFuZCBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25A
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBXZWJLaXRXZWJWaWV3IHdvbid0IHdvcmsgaW4g
YSBHdGtPZmZzY3JlZW5XaW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjNTU5ODQyMzlhZGNmYjQ1ZDk3MTA0
ZThlMGU0MGZjYjRlZjYxNWIxLi5hZmY4MjI5ZjZkOTgxNjBiYjI2YWU0ZGJjMWNmMmFlYTMwNmM0
NjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDItMDMgIE1hcnRpbiBSb2Jp
bnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFdlYktpdFdlYlZp
ZXcgZG9lcyBhIGxvdCBvZiB3b3JrIGR1cmluZyBzaXplX2FsbG9jYXRlIHdoZW4gbm90IG1hcHBl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NDMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnN0ZWFk
IG9mIHJlc2l6aW5nIHRoZSBndXRzIG9mIGEgV2ViVmlldyB3aGVuIGl0J3Mgbm90IG1hcHBlZCwg
d2FpdAorICAgICAgICB1bnRpbCBpdCdzIG1hcHBlZCBhbmQgZG8gb25lIHJlc2l6ZS4gVGhpcyBw
cmV2ZW50cyB1bm1hcHBlZCBXZWJWaWV3cworICAgICAgICBmcm9tIGFkZGluZyB0byBhIGNvbnRh
aW5lcidzIHJlc2l6ZSBjb3N0LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAoX1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSk6IEFk
ZGVkIGEgbmV3IG1lbWJlciBuZWVkc1Jlc2l6ZU9uTWFwLgorICAgICAgICAocmVzaXplV2ViS2l0
V2ViVmlld0Jhc2VGcm9tQWxsb2NhdGlvbik6IEFic3RyYWN0ZWQgb3V0IHRoaXMgaGVscGVyLgor
ICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VTaXplQWxsb2NhdGUpOiBXYWl0IHVudGlsIG1hcCB0
byByZXNpemUgdW5tYXBwZWQgV2ViVmlld3MuCisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZU1h
cCk6IEFkZGVkIHRoaXMgdm1ldGhvZCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKHdlYmtpdF93
ZWJfdmlld19iYXNlX2NsYXNzX2luaXQpOiBBZGRlZCB2bWV0aG9kLgorCiAyMDEyLTAyLTAyICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgTlBBUEkgd2ls
bCBub3Qgc2VuZCBtb3VzZSB1cCBldmVudHMgd2hlbiBtb3VzZSBpcyBvdXRzaWRlIHBsdWdpbiBh
cmVhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5kZXggYWM2
MTU4YjQ0YTE3MTM2Nzg3Y2U2ZjM1MWZjMDI5YzNiODM3NTkzOS4uYTUxMmQ1NTgxZGZjYjBhMjQx
OTY1NWJjODFlODI3ZDA1YWFlNjg3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJ2aWV3LmNwcApAQCAtODU5LDE4ICs4NTksMTYgQEAgc3RhdGljIHZvaWQgdXBkYXRlQ2hp
bGRBbGxvY2F0aW9uRnJvbVBlbmRpbmdBbGxvY2F0aW9uKEd0a1dpZGdldCogY2hpbGQsIHZvaWQq
KQogICAgICphbGxvY2F0aW9uID0gSW50UmVjdCgpOwogfQogCi1zdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3ZpZXdfc2l6ZV9hbGxvY2F0ZShHdGtXaWRnZXQqIHdpZGdldCwgR3RrQWxsb2NhdGlvbiog
YWxsb2NhdGlvbikKK3N0YXRpYyB2b2lkIHJlc2l6ZVdlYlZpZXdGcm9tQWxsb2NhdGlvbihXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3LCBHdGtBbGxvY2F0aW9uKiBhbGxvY2F0aW9uKQogewotICAgIEdU
S19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92aWV3X3BhcmVudF9jbGFzcyktPnNpemVfYWxsb2Nh
dGUod2lkZ2V0LCBhbGxvY2F0aW9uKTsKLQotICAgIFBhZ2UqIHBhZ2UgPSBjb3JlKFdFQktJVF9X
RUJfVklFVyh3aWRnZXQpKTsKKyAgICBQYWdlKiBwYWdlID0gY29yZSh3ZWJWaWV3KTsKICAgICBJ
bnRTaXplIG9sZFNpemU7CiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gcGFnZS0+bWFp
bkZyYW1lKCktPnZpZXcoKSkgewogICAgICAgICBvbGRTaXplID0gZnJhbWVWaWV3LT5zaXplKCk7
CiAgICAgICAgIGZyYW1lVmlldy0+cmVzaXplKGFsbG9jYXRpb24tPndpZHRoLCBhbGxvY2F0aW9u
LT5oZWlnaHQpOwogICAgIH0KIAotICAgIGd0a19jb250YWluZXJfZm9yYWxsKEdUS19DT05UQUlO
RVIod2lkZ2V0KSwgdXBkYXRlQ2hpbGRBbGxvY2F0aW9uRnJvbVBlbmRpbmdBbGxvY2F0aW9uLCAw
KTsKKyAgICBndGtfY29udGFpbmVyX2ZvcmFsbChHVEtfQ09OVEFJTkVSKHdlYlZpZXcpLCB1cGRh
dGVDaGlsZEFsbG9jYXRpb25Gcm9tUGVuZGluZ0FsbG9jYXRpb24sIDApOwogCiAgICAgV2ViS2l0
OjpDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCA9IHN0YXRpY19jYXN0PFdlYktpdDo6Q2hyb21l
Q2xpZW50Kj4ocGFnZS0+Y2hyb21lKCktPmNsaWVudCgpKTsKICAgICBjaHJvbWVDbGllbnQtPndp
ZGdldFNpemVDaGFuZ2VkKG9sZFNpemUsIEludFNpemUoYWxsb2NhdGlvbi0+d2lkdGgsIGFsbG9j
YXRpb24tPmhlaWdodCkpOwpAQCAtODgxLDYgKzg3OSwzMiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3ZpZXdfc2l6ZV9hbGxvY2F0ZShHdGtXaWRnZXQqIHdpZGdldCwgR3RrQWxsb2NhdGlvbiog
YWxsbwogI2VuZGlmCiB9CiAKK3N0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19zaXplX2FsbG9j
YXRlKEd0a1dpZGdldCogd2lkZ2V0LCBHdGtBbGxvY2F0aW9uKiBhbGxvY2F0aW9uKQoreworICAg
IEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92aWV3X3BhcmVudF9jbGFzcyktPnNpemVfYWxs
b2NhdGUod2lkZ2V0LCBhbGxvY2F0aW9uKTsKKworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcg
PSBXRUJLSVRfV0VCX1ZJRVcod2lkZ2V0KTsKKyAgICBpZiAoIWd0a193aWRnZXRfZ2V0X21hcHBl
ZCh3aWRnZXQpKSB7CisgICAgICAgIHdlYlZpZXctPnByaXYtPm5lZWRzUmVzaXplT25NYXAgPSB0
cnVlOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHJlc2l6ZVdlYlZpZXdGcm9tQWxsb2Nh
dGlvbih3ZWJWaWV3LCBhbGxvY2F0aW9uKTsKK30KKworc3RhdGljIHZvaWQgd2Via2l0V2ViVmll
d01hcChHdGtXaWRnZXQqIHdpZGdldCkKK3sKKyAgICBHVEtfV0lER0VUX0NMQVNTKHdlYmtpdF93
ZWJfdmlld19wYXJlbnRfY2xhc3MpLT5tYXAod2lkZ2V0KTsKKworICAgIFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2lkZ2V0KTsKKyAgICBpZiAoIXdlYlZpZXctPnBy
aXYtPm5lZWRzUmVzaXplT25NYXApCisgICAgICAgIHJldHVybjsKKworICAgIEd0a0FsbG9jYXRp
b24gYWxsb2NhdGlvbjsKKyAgICBndGtfd2lkZ2V0X2dldF9hbGxvY2F0aW9uKHdpZGdldCwgJmFs
bG9jYXRpb24pOworICAgIHJlc2l6ZVdlYlZpZXdGcm9tQWxsb2NhdGlvbih3ZWJWaWV3LCAmYWxs
b2NhdGlvbik7CisgICAgd2ViVmlldy0+cHJpdi0+bmVlZHNSZXNpemVPbk1hcCA9IGZhbHNlOwor
fQorCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfZ3JhYl9mb2N1cyhHdGtXaWRnZXQqIHdp
ZGdldCkKIHsKIApAQCAtMjc2Nyw2ICsyNzkxLDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92
aWV3X2NsYXNzX2luaXQoV2ViS2l0V2ViVmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgd2lk
Z2V0Q2xhc3MtPnF1ZXJ5X3Rvb2x0aXAgPSB3ZWJraXRfd2ViX3ZpZXdfcXVlcnlfdG9vbHRpcDsK
ICAgICB3aWRnZXRDbGFzcy0+c2hvd19oZWxwID0gd2Via2l0X3dlYl92aWV3X3Nob3dfaGVscDsK
ICNlbmRpZgorICAgIHdpZGdldENsYXNzLT5tYXAgPSB3ZWJraXRXZWJWaWV3TWFwOwogCiAgICAg
R3RrQ29udGFpbmVyQ2xhc3MqIGNvbnRhaW5lckNsYXNzID0gR1RLX0NPTlRBSU5FUl9DTEFTUyh3
ZWJWaWV3Q2xhc3MpOwogICAgIGNvbnRhaW5lckNsYXNzLT5hZGQgPSB3ZWJraXRfd2ViX3ZpZXdf
Y29udGFpbmVyX2FkZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJ2aWV3cHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZp
ZXdwcml2YXRlLmgKaW5kZXggOGQyYjdiMDRiYTkyZWM0ZGVmNmVmNmEzYzQzM2QwZDBkN2E4ZDY0
My4uYjlkMGIyOWRiMDkyOGU4ZGYyOTcxNWYyMjgxMDIwYzI2MzFmZTBkNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXdwcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXdwcml2YXRlLmgKQEAgLTYxLDYgKzYx
LDcgQEAgc3RydWN0IF9XZWJLaXRXZWJWaWV3UHJpdmF0ZSB7CiAgICAgR1JlZlB0cjxHdGtJTUNv
bnRleHQ+IGltQ29udGV4dDsKIAogICAgIGdib29sZWFuIHRyYW5zcGFyZW50OworICAgIGJvb2wg
bmVlZHNSZXNpemVPbk1hcDsKIAogI2lmbmRlZiBHVEtfQVBJX1ZFUlNJT05fMgogICAgIC8vIEd0
a1Njcm9sbGFibGVQb2xpY3kgbmVlZHMgdG8gYmUgY2hlY2tlZCB3aGVuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5k
ZXggZDljY2FhMzJhZDdlNWQyMTJiMmRhMzQ0YTE2MDc5ZDdlMGFiMzZkNy4uYWRjYzM0YWUzMjU3
NGNkMzM5ZTQyNmNhMzcxNzgwMzg0Y2ViM2U3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtNzEsNiArNzEs
NyBAQCBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSB7CiAgICAgRHJhZ0ljb24gZHJh
Z0ljb247CiAgICAgSW50U2l6ZSByZXNpemVyU2l6ZTsKICAgICBHUmVmUHRyPEF0a09iamVjdD4g
YWNjZXNzaWJsZTsKKyAgICBib29sIG5lZWRzUmVzaXplT25NYXA7CiB9OwogCiBHX0RFRklORV9U
WVBFKFdlYktpdFdlYlZpZXdCYXNlLCB3ZWJraXRfd2ViX3ZpZXdfYmFzZSwgR1RLX1RZUEVfQ09O
VEFJTkVSKQpAQCAtMjAyLDIwICsyMDMsNDMgQEAgc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZp
ZXdCYXNlRHJhdyhHdGtXaWRnZXQqIHdpZGdldCwgY2Fpcm9fdCogY3IpCiAgICAgcmV0dXJuIEZB
TFNFOwogfQogCitzdGF0aWMgdm9pZCByZXNpemVXZWJLaXRXZWJWaWV3QmFzZUZyb21BbGxvY2F0
aW9uKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgR3RrQWxsb2NhdGlvbiogYWxsb2Nh
dGlvbikKK3sKKyAgICBXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUqIHByaXYgPSB3ZWJWaWV3QmFz
ZS0+cHJpdjsKKworICAgIGlmIChwcml2LT5wYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpCisgICAg
ICAgIHByaXYtPnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKS0+c2V0U2l6ZShJbnRTaXplKGFsbG9j
YXRpb24tPndpZHRoLCBhbGxvY2F0aW9uLT5oZWlnaHQpLCBJbnRTaXplKCkpOworCisgICAgR3Rr
V2lkZ2V0KiB0b3BsZXZlbCA9IGd0a193aWRnZXRfZ2V0X3RvcGxldmVsKEdUS19XSURHRVQod2Vi
Vmlld0Jhc2UpKTsKKyAgICBpZiAod2lkZ2V0SXNPbnNjcmVlblRvcGxldmVsV2luZG93KHRvcGxl
dmVsKSkKKyAgICAgICAgd2Via2l0V2ViVmlld0Jhc2VOb3RpZnlSZXNpemVyU2l6ZUZvcldpbmRv
dyh3ZWJWaWV3QmFzZSwgR1RLX1dJTkRPVyh0b3BsZXZlbCkpOworfQorCiBzdGF0aWMgdm9pZCB3
ZWJraXRXZWJWaWV3QmFzZVNpemVBbGxvY2F0ZShHdGtXaWRnZXQqIHdpZGdldCwgR3RrQWxsb2Nh
dGlvbiogYWxsb2NhdGlvbikKIHsKKyAgICBHVEtfV0lER0VUX0NMQVNTKHdlYmtpdF93ZWJfdmll
d19iYXNlX3BhcmVudF9jbGFzcyktPnNpemVfYWxsb2NhdGUod2lkZ2V0LCBhbGxvY2F0aW9uKTsK
KwogICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSA9IFdFQktJVF9XRUJfVklFV19C
QVNFKHdpZGdldCk7Ci0gICAgV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlKiBwcml2ID0gd2ViVmll
d0Jhc2UtPnByaXY7CisgICAgaWYgKCFndGtfd2lkZ2V0X2dldF9tYXBwZWQoR1RLX1dJREdFVCh3
ZWJWaWV3QmFzZSkpICYmICF3ZWJWaWV3QmFzZS0+cHJpdi0+cGFnZVByb3h5LT5kcmF3aW5nQXJl
YSgpLT5zaXplKCkuaXNFbXB0eSgpKSB7CisgICAgICAgIHdlYlZpZXdCYXNlLT5wcml2LT5uZWVk
c1Jlc2l6ZU9uTWFwID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICByZXNpemVX
ZWJLaXRXZWJWaWV3QmFzZUZyb21BbGxvY2F0aW9uKHdlYlZpZXdCYXNlLCBhbGxvY2F0aW9uKTsK
K30KKworc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VNYXAoR3RrV2lkZ2V0KiB3aWRnZXQp
Cit7CisgICAgR1RLX1dJREdFVF9DTEFTUyh3ZWJraXRfd2ViX3ZpZXdfYmFzZV9wYXJlbnRfY2xh
c3MpLT5tYXAod2lkZ2V0KTsKIAotICAgIGlmICghcHJpdi0+cGFnZVByb3h5LT5kcmF3aW5nQXJl
YSgpKQorICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSA9IFdFQktJVF9XRUJfVklF
V19CQVNFKHdpZGdldCk7CisgICAgaWYgKCF3ZWJWaWV3QmFzZS0+cHJpdi0+bmVlZHNSZXNpemVP
bk1hcCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgR1RLX1dJREdFVF9DTEFTUyh3ZWJraXRfd2Vi
X3ZpZXdfYmFzZV9wYXJlbnRfY2xhc3MpLT5zaXplX2FsbG9jYXRlKHdpZGdldCwgYWxsb2NhdGlv
bik7Ci0gICAgcHJpdi0+cGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpLT5zZXRTaXplKEludFNpemUo
YWxsb2NhdGlvbi0+d2lkdGgsIGFsbG9jYXRpb24tPmhlaWdodCksIEludFNpemUoKSk7CisgICAg
R3RrQWxsb2NhdGlvbiBhbGxvY2F0aW9uOworICAgIGd0a193aWRnZXRfZ2V0X2FsbG9jYXRpb24o
d2lkZ2V0LCAmYWxsb2NhdGlvbik7CisgICAgcmVzaXplV2ViS2l0V2ViVmlld0Jhc2VGcm9tQWxs
b2NhdGlvbih3ZWJWaWV3QmFzZSwgJmFsbG9jYXRpb24pOworICAgIHdlYlZpZXdCYXNlLT5wcml2
LT5uZWVkc1Jlc2l6ZU9uTWFwID0gZmFsc2U7CiAKLSAgICBHdGtXaWRnZXQqIHRvcGxldmVsID0g
Z3RrX3dpZGdldF9nZXRfdG9wbGV2ZWwod2lkZ2V0KTsKLSAgICBpZiAod2lkZ2V0SXNPbnNjcmVl
blRvcGxldmVsV2luZG93KHRvcGxldmVsKSkKLSAgICAgICAgd2Via2l0V2ViVmlld0Jhc2VOb3Rp
ZnlSZXNpemVyU2l6ZUZvcldpbmRvdyh3ZWJWaWV3QmFzZSwgR1RLX1dJTkRPVyh0b3BsZXZlbCkp
OwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0V2ViVmlld0Jhc2VGb2N1c0luRXZlbnQoR3Rr
V2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50Rm9jdXMqIGV2ZW50KQpAQCAtNDU0LDYgKzQ3OCw3IEBA
IHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19iYXNlX2NsYXNzX2luaXQoV2ViS2l0V2ViVmll
d0Jhc2VDbGFzcyogd2Via2l0V2ViVmllCiAgICAgd2lkZ2V0Q2xhc3MtPnJlYWxpemUgPSB3ZWJr
aXRXZWJWaWV3QmFzZVJlYWxpemU7CiAgICAgd2lkZ2V0Q2xhc3MtPmRyYXcgPSB3ZWJraXRXZWJW
aWV3QmFzZURyYXc7CiAgICAgd2lkZ2V0Q2xhc3MtPnNpemVfYWxsb2NhdGUgPSB3ZWJraXRXZWJW
aWV3QmFzZVNpemVBbGxvY2F0ZTsKKyAgICB3aWRnZXRDbGFzcy0+bWFwID0gd2Via2l0V2ViVmll
d0Jhc2VNYXA7CiAgICAgd2lkZ2V0Q2xhc3MtPmZvY3VzX2luX2V2ZW50ID0gd2Via2l0V2ViVmll
d0Jhc2VGb2N1c0luRXZlbnQ7CiAgICAgd2lkZ2V0Q2xhc3MtPmZvY3VzX291dF9ldmVudCA9IHdl
YmtpdFdlYlZpZXdCYXNlRm9jdXNPdXRFdmVudDsKICAgICB3aWRnZXRDbGFzcy0+a2V5X3ByZXNz
X2V2ZW50ID0gd2Via2l0V2ViVmlld0Jhc2VLZXlQcmVzc0V2ZW50Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>