<?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>59035</bug_id>
          
          <creation_ts>2011-04-20 16:28:43 -0700</creation_ts>
          <short_desc>WebKit2: Need a way to get a snapshot of the visible contents of a page from the UI Process</short_desc>
          <delta_ts>2011-04-21 11:24:35 -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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Jessie Berlin">jberlin</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>eric</cc>
    
    <cc>jberlin</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>389610</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-04-20 16:28:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/8607239&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389628</commentid>
    <comment_count>1</comment_count>
      <attachid>90443</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-04-20 16:40:29 -0700</bug_when>
    <thetext>Created attachment 90443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389656</commentid>
    <comment_count>2</comment_count>
      <attachid>90443</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-04-20 17:11:18 -0700</bug_when>
    <thetext>Comment on attachment 90443
Patch

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

I&apos;m going to let Sam review this, just a couple comments I had.

&gt; Source/WebKit2/ChangeLog:22
&gt; +        with a scale factor of 1.

Is this correct if the view is currently scaled when we ask for the snapshot? The visible contents might be at a scale factor of 2, would we expect the snapshot to show that?

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:3032
&gt; +    process()-&gt;sendSync(Messages::WebPage::VisibleContentsSnapshot(), Messages::WebPage::VisibleContentsSnapshot::Reply(snapshotHandle), m_pageID, 1);

A constant would be nice for the 1 here.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:854
&gt; +    RefPtr&lt;WebImage&gt; snapshotImage = scaledSnapshotInDocumentCoordinates(contentRect, 1, ImageOptionsShareable);

Do we want the 1 here? Or do we want the current scale factor of the frame? (Repeat of question in ChangeLog).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390082</commentid>
    <comment_count>3</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-04-21 09:26:17 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 90443 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90443&amp;action=review
&gt; 
&gt; I&apos;m going to let Sam review this, just a couple comments I had.

Thanks for the feedback!

&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:22
&gt; &gt; +        with a scale factor of 1.
&gt; 
&gt; Is this correct if the view is currently scaled when we ask for the snapshot? The visible contents might be at a scale factor of 2, would we expect the snapshot to show that?

That is already taken into account when the snapshot is made of that rect. The scale factor is any additional scaling that is desired.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:3032
&gt; &gt; +    process()-&gt;sendSync(Messages::WebPage::VisibleContentsSnapshot(), Messages::WebPage::VisibleContentsSnapshot::Reply(snapshotHandle), m_pageID, 1);
&gt; 
&gt; A constant would be nice for the 1 here.

Changed to be:

   // Do not wait for more than a second (arbitrary) for the WebProcess to get the snapshot so
    // that the UI Process is not permanently stuck waiting on a potentially crashing Web Process.
    static const double visibleContentsSnapshotSyncMessageTimeout = 1.0;
    process()-&gt;sendSync(Messages::WebPage::VisibleContentsSnapshot(), Messages::WebPage::VisibleContentsSnapshot::Reply(snapshotHandle), m_pageID, visibleContentsSnapshotSyncMessageTimeout);


&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:854
&gt; &gt; +    RefPtr&lt;WebImage&gt; snapshotImage = scaledSnapshotInDocumentCoordinates(contentRect, 1, ImageOptionsShareable);
&gt; 
&gt; Do we want the 1 here? Or do we want the current scale factor of the frame? (Repeat of question in ChangeLog).

See earlier response. I will update the Changelog comment to say that using a scale factor of one preserves any scaling already done on the web page (e.g. by zooming in or out).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390115</commentid>
    <comment_count>4</comment_count>
      <attachid>90443</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-21 10:17:23 -0700</bug_when>
    <thetext>Comment on attachment 90443
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/WKPagePrivate.h:69
&gt; +WK_EXPORT WKImageRef WKPageVisibleContentsSnapshot(WKPageRef pageRef);

This function name needs to Create in its name to indicate the ownership model.  I think WKPageCreateSnapshotOfVisibleContent() to match the one in the bundle, would be good.

We usually leave the Ref off the parameter name in the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390132</commentid>
    <comment_count>5</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-04-21 10:31:22 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 90443 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90443&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/WKPagePrivate.h:69
&gt; &gt; +WK_EXPORT WKImageRef WKPageVisibleContentsSnapshot(WKPageRef pageRef);
&gt; 
&gt; This function name needs to Create in its name to indicate the ownership model.  I think WKPageCreateSnapshotOfVisibleContent() to match the one in the bundle, would be good.

Done (and changed all the other instances of visibleContentsSnapshot to createSnapshotOfVisibleContent).

&gt; 
&gt; We usually leave the Ref off the parameter name in the header.

I was wondering what our official style was for that. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390146</commentid>
    <comment_count>6</comment_count>
      <attachid>90443</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-04-21 10:45:19 -0700</bug_when>
    <thetext>Comment on attachment 90443
Patch

Committed in http://trac.webkit.org/changeset/84519</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390177</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-21 11:24:35 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84519 might have broken Qt Linux ARMv7 Release and Qt Windows 32-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90443</attachid>
            <date>2011-04-20 16:40:29 -0700</date>
            <delta_ts>2011-04-21 10:45:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>visibleContentsSnapshotOpensource.patch</filename>
            <type>text/plain</type>
            <size>6922</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NDMxKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDQtMjAgIEplc3NpZSBC
ZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWJLaXQyOiBOZWVkIGEgd2F5IHRvIGdldCBhIHNuYXBzaG90
IG9mIHRoZSB2aXNpYmxlIGNvbnRlbnRzIG9mIGEgcGFnZSBmcm9tIHRoZSBVSSBQcm9jZXNzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwMzUKKwor
ICAgICAgICBBZGRlZCBhIHN5bmMgY2FsbCBmcm9tIHRoZSBVSSBQcm9jZXNzIHRvIHRoZSBXZWIg
UHJvY2VzcyB3aXRoIGNvbW1lbnRzIHNheWluZyB0aGF0IGl0IHNob3VsZAorICAgICAgICBiZSBy
ZW1vdmVkIGFzIHNvb24gYXMgcG9zc2libGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVZpc2libGVDb250ZW50c1NuYXBzaG90KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oOgorCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
dmlzaWJsZUNvbnRlbnRzU25hcHNob3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6dmlzaWJsZUNvbnRlbnRzU25hcHNob3QpOgorICAgICAgICBB
c2sgdGhlIEZyYW1lVmlldyBmb3IgdGhlIHZpc2libGVDb250ZW50UmVjdCwgYW5kIGNhbGwgc2Nh
bGVkU25hcHNob3RJbkRvY3VtZW50Q29vcmRpbmF0ZXMKKyAgICAgICAgd2l0aCBhIHNjYWxlIGZh
Y3RvciBvZiAxLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTEtMDQt
MjAgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ug
dGhlIFdlYiBJbnNlcGN0b3IgY29tZSB0byB0aGUgZnJvbnQgd2hlbiBhIGJyZWFrcG9pbnQgaXMg
aGl0LgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJl
dmlzaW9uIDg0MzYyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMjQsNiArMzAyNCwxNSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6bGlua0NsaWNrZWQoY29uc3QgU3RyCiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpMaW5rQ2xpY2tlZCh1cmwsIGV2ZW50KSwgbV9wYWdlSUQsIDApOwogfQogCitQYXNz
UmVmUHRyPFdlYkltYWdlPiBXZWJQYWdlUHJveHk6OnZpc2libGVDb250ZW50c1NuYXBzaG90KCkK
K3sKKyAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBzbmFwc2hvdEhhbmRsZTsKKyAgICAvLyBE
byBub3Qgd2FpdCBmb3IgbW9yZSB0aGFuIGEgc2Vjb25kIChhcmJpdHJhcnkpIGZvciB0aGUgV2Vi
UHJvY2VzcyB0byBnZXQgdGhlIHNuYXBzaG90IHNvCisgICAgLy8gdGhhdCB0aGUgVUkgUHJvY2Vz
cyBpcyBub3QgcGVybWFuZW50bHkgc3R1Y2sgd2FpdGluZyBvbiBhIHBvdGVudGlhbGx5IGNyYXNo
aW5nIFdlYiBQcm9jZXNzLgorICAgIHByb2Nlc3MoKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBh
Z2U6OlZpc2libGVDb250ZW50c1NuYXBzaG90KCksIE1lc3NhZ2VzOjpXZWJQYWdlOjpWaXNpYmxl
Q29udGVudHNTbmFwc2hvdDo6UmVwbHkoc25hcHNob3RIYW5kbGUpLCBtX3BhZ2VJRCwgMSk7Cisg
ICAgcmV0dXJuIFdlYkltYWdlOjpjcmVhdGUoU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoc25hcHNo
b3RIYW5kbGUpKTsKK30KKwogI2lmIFBMQVRGT1JNKE1BQykKIAogdm9pZCBXZWJQYWdlUHJveHk6
OnN1YnN0aXR1dGlvbnNQYW5lbElzU2hvd2luZyhib29sJiBpc1Nob3dpbmcpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA4NDM2MikKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAt
NDkwLDYgKzQ5MCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzYXZlRGF0YVRvRmlsZUluRG93bmxv
YWRzRm9sZGVyKGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5hbWUsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIGNvbnN0IFN0cmluZyYgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIFdlYkRhdGEqKTsK
IAogICAgIHZvaWQgbGlua0NsaWNrZWQoY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViTW91c2VFdmVu
dCYpOworCisgICAgLy8gRklYTUU6IFRoaXMgaXMgaW4gdmlvbGF0aW9uIG9mIHRoZSBubyBzeW5j
aHJvbm91cyBtZXNzYWdlcyB0byB0aGUgV2ViIFByb2Nlc3MgcG9saWN5IGFuZAorICAgIC8vIHNo
b3VsZCBiZSByZW1vdmVkIGFzIHNvb24gYXMgcG9zc2libGUuCisgICAgUGFzc1JlZlB0cjxXZWJJ
bWFnZT4gdmlzaWJsZUNvbnRlbnRzU25hcHNob3QoKTsKICAKIHByaXZhdGU6CiAgICAgV2ViUGFn
ZVByb3h5KFBhZ2VDbGllbnQqLCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4sIFdlYlBhZ2VH
cm91cCosIHVpbnQ2NF90IHBhZ2VJRCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcAkocmV2aXNpb24gODQzNjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgIlByaW50SW5mby5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUg
IldlYkJhY2tGb3J3YXJkTGlzdC5oIgorI2luY2x1ZGUgIldlYkltYWdlLmgiCiAjaW5jbHVkZSAi
V2ViRGF0YS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlByb2Nl
c3NQcm94eS5oIgpAQCAtNTUwLDMgKzU1MSw5IEBAIHZvaWQgV0tQYWdlRHJhd1BhZ2VzVG9QREYo
V0tQYWdlUmVmIHBhZ2UKIH0KICNlbmRpZgogCitXS0ltYWdlUmVmIFdLUGFnZVZpc2libGVDb250
ZW50c1NuYXBzaG90KFdLUGFnZVJlZiBwYWdlUmVmKQoreworICAgIFJlZlB0cjxXZWJJbWFnZT4g
d2ViSW1hZ2UgPSB0b0ltcGwocGFnZVJlZiktPnZpc2libGVDb250ZW50c1NuYXBzaG90KCk7Cisg
ICAgcmV0dXJuIHRvQVBJKHdlYkltYWdlLnJlbGVhc2UoKS5sZWFrUmVmKCkpOworfQorCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgJKHJl
dmlzaW9uIDg0MzYyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVBy
aXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMTAgQEAgdHlwZWRlZiB2b2lkICgq
V0tQYWdlRHJhd1RvUERGRnVuY3Rpb24pKAogV0tfRVhQT1JUIHZvaWQgV0tQYWdlQmVnaW5Qcmlu
dGluZyhXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tQcmludEluZm8pOwogV0tf
RVhQT1JUIHZvaWQgV0tQYWdlRHJhd1BhZ2VzVG9QREYoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVS
ZWYgZnJhbWUsIHVpbnQzMl90IGZpcnN0LCB1aW50MzJfdCBjb3VudCwgV0tQYWdlRHJhd1RvUERG
RnVuY3Rpb24gY2FsbGJhY2ssIHZvaWQqIGNvbnRleHQpOwogCisvLyBGSVhNRTogVGhpcyBpcyBp
biB2aW9sYXRpb24gb2YgdGhlIG5vIHN5bmNocm9ub3VzIG1lc3NhZ2VzIHRvIHRoZSBXZWIgUHJv
Y2VzcyBwb2xpY3kgYW5kIHNob3VsZAorLy8gYmUgcmVtb3ZlZCBhcyBzb29uIGFzIHBvc3NpYmxl
LgorV0tfRVhQT1JUIFdLSW1hZ2VSZWYgV0tQYWdlVmlzaWJsZUNvbnRlbnRzU25hcHNob3QoV0tQ
YWdlUmVmIHBhZ2VSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNp
b24gODQzNjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTg0NSw2ICs4NDUsMTYgQEAgUGFzc1JlZlB0cjxXZWJJbWFn
ZT4gV2ViUGFnZTo6c25hcHNob3RJbgogICAgIHJldHVybiBzY2FsZWRTbmFwc2hvdEluRG9jdW1l
bnRDb29yZGluYXRlcyhyZWN0LCAxLCBvcHRpb25zKTsKIH0KIAordm9pZCBXZWJQYWdlOjp2aXNp
YmxlQ29udGVudHNTbmFwc2hvdChTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgc25hcHNob3RIYW5k
bGUpCit7CisgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX21haW5GcmFtZS0+Y29yZUZyYW1l
KCktPnZpZXcoKTsKKyAgICBpZiAoIWZyYW1lVmlldykKKyAgICAgICAgcmV0dXJuOworICAgIElu
dFJlY3QgY29udGVudFJlY3QgPSBmcmFtZVZpZXctPnZpc2libGVDb250ZW50UmVjdChmYWxzZSk7
CisgICAgUmVmUHRyPFdlYkltYWdlPiBzbmFwc2hvdEltYWdlID0gc2NhbGVkU25hcHNob3RJbkRv
Y3VtZW50Q29vcmRpbmF0ZXMoY29udGVudFJlY3QsIDEsIEltYWdlT3B0aW9uc1NoYXJlYWJsZSk7
CisgICAgc25hcHNob3RJbWFnZS0+Yml0bWFwKCktPmNyZWF0ZUhhbmRsZShzbmFwc2hvdEhhbmRs
ZSk7Cit9CisKIHZvaWQgV2ViUGFnZTo6cGFnZURpZFNjcm9sbCgpCiB7CiAgICAgLy8gSGlkZSB0
aGUgZmluZCBpbmRpY2F0b3IuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDg0MzYyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAog
I2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlICJQbHVnaW4uaCIKICNpbmNsdWRl
ICJTYW5kYm94RXh0ZW5zaW9uLmgiCisjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5j
bHVkZSAiV2ViRWRpdENvbW1hbmQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RyYWdEYXRhLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9FZGl0b3IuaD4KQEAgLTI2OCw2ICsyNjksNyBAQCBwdWJsaWM6CiAg
ICAgUGFzc1JlZlB0cjxXZWJJbWFnZT4gc25hcHNob3RJblZpZXdDb29yZGluYXRlcyhjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiwgSW1hZ2VPcHRpb25zKTsKICAgICBQYXNzUmVmUHRyPFdlYkltYWdl
PiBzbmFwc2hvdEluRG9jdW1lbnRDb29yZGluYXRlcyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jiwg
SW1hZ2VPcHRpb25zKTsKICAgICBQYXNzUmVmUHRyPFdlYkltYWdlPiBzY2FsZWRTbmFwc2hvdElu
RG9jdW1lbnRDb29yZGluYXRlcyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgZG91YmxlIHNjYWxl
RmFjdG9yLCBJbWFnZU9wdGlvbnMpOworICAgIHZvaWQgdmlzaWJsZUNvbnRlbnRzU25hcHNob3Qo
U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKTsKIAogICAgIHN0YXRpYyBjb25zdCBXZWJFdmVudCog
Y3VycmVudEV2ZW50KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCShyZXZpc2lvbiA4NDM2MikKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTUsNCArMjE1LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSB7CiAjaWYg
UExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAg
SGFuZGxlQ29ycmVjdGlvblBhbmVsUmVzdWx0KFN0cmluZyByZXN1bHQpCiAjZW5kaWYKKworICAg
IFZpc2libGVDb250ZW50c1NuYXBzaG90KCkgLT4gKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpI
YW5kbGUgc25hcHNob3RIYW5kbGUpCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>