<?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>149069</bug_id>
          
          <creation_ts>2015-09-11 11:49:07 -0700</creation_ts>
          <short_desc>Should use CARenderServerRenderLayerWithTransform for snapshots on iOS</short_desc>
          <delta_ts>2015-09-11 16:06:52 -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>Other</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="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125229</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-09-11 11:49:07 -0700</bug_when>
    <thetext>We should use CARenderServerRenderLayerWithTransform for snapshots on iOS. This will let us own the backing IOSurface, which will let us make them purgeable and share more code with Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125232</commentid>
    <comment_count>1</comment_count>
      <attachid>261010</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-09-11 12:02:21 -0700</bug_when>
    <thetext>Created attachment 261010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125233</commentid>
    <comment_count>2</comment_count>
      <attachid>261010</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-11 12:04:57 -0700</bug_when>
    <thetext>Comment on attachment 261010
Patch

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

&gt; Source/WebKit2/ChangeLog:11
&gt; +        This will let us own the backing IOSurface, which will let us make them 
&gt; +        purgeable and share more code with Mac.

Except we&apos;re not going to make them purgeable for now and it&apos;s not clear that that is actually the plan so maybe we shouldn&apos;t mention that part :D

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:1110
&gt; +    auto surface = WebCore::IOSurface::create(WebCore::expandedIntSize(snapshotSize), WebCore::ColorSpaceDeviceRGB);

We should do more perf testing here.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:1111
&gt; +    CARenderServerRenderLayerWithTransform(MACH_PORT_NULL, self.layer.context.contextId, reinterpret_cast&lt;uint64_t&gt;(self.layer), surface-&gt;surface(), 0, 0, &amp;transform);

I wonder if we have to use some other function on older OSes, like _snapshotWhatever does? Probably.

&gt; Source/WebKit2/UIProcess/mac/ViewSnapshotStore.h:-44
&gt; -#if PLATFORM(MAC)

YAYYYYY</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125234</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-11 12:05:17 -0700</bug_when>
    <thetext>Also not sure I can really review this :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125249</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-09-11 14:25:19 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 261010 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261010&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:11
&gt; &gt; +        This will let us own the backing IOSurface, which will let us make them 
&gt; &gt; +        purgeable and share more code with Mac.
&gt; 
&gt; Except we&apos;re not going to make them purgeable for now and it&apos;s not clear
&gt; that that is actually the plan so maybe we shouldn&apos;t mention that part :D
&gt; 

Fixed this!

&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:1110
&gt; &gt; +    auto surface = WebCore::IOSurface::create(WebCore::expandedIntSize(snapshotSize), WebCore::ColorSpaceDeviceRGB);
&gt; 
&gt; We should do more perf testing here.
&gt; 

Perf bot watcher has been alerted! 

&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:1111
&gt; &gt; +    CARenderServerRenderLayerWithTransform(MACH_PORT_NULL, self.layer.context.contextId, reinterpret_cast&lt;uint64_t&gt;(self.layer), surface-&gt;surface(), 0, 0, &amp;transform);
&gt; 
&gt; I wonder if we have to use some other function on older OSes, like
&gt; _snapshotWhatever does? Probably.
&gt; 

Tim and I considered this, and he changed his mind.

&gt; &gt; Source/WebKit2/UIProcess/mac/ViewSnapshotStore.h:-44
&gt; &gt; -#if PLATFORM(MAC)
&gt; 
&gt; YAYYYYY


YAY. Thanks Tim!

http://trac.webkit.org/changeset/189628</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125253</commentid>
    <comment_count>5</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-09-11 14:29:09 -0700</bug_when>
    <thetext>Build fix: http://trac.webkit.org/changeset/189630</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125279</commentid>
    <comment_count>6</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-09-11 15:34:15 -0700</bug_when>
    <thetext>Another build fix: http://trac.webkit.org/changeset/189635</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125286</commentid>
    <comment_count>7</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-09-11 16:06:52 -0700</bug_when>
    <thetext>More build fix: http://trac.webkit.org/changeset/189637</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261010</attachid>
            <date>2015-09-11 12:02:21 -0700</date>
            <delta_ts>2015-09-11 12:04:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>9899</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTYyNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE1LTA5LTExICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBTaG91bGQgdXNlIENBUmVuZGVyU2Vy
dmVyUmVuZGVyTGF5ZXJXaXRoVHJhbnNmb3JtIGZvciBzbmFwc2hvdHMgb24gaU9TCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkwNjkKKyAgICAgICAg
LWFuZCBjb3JyZXNwb25kaW5nLQorICAgICAgICByZGFyOi8vcHJvYmxlbS8xOTcyNjk1MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgd2lsbCBs
ZXQgdXMgb3duIHRoZSBiYWNraW5nIElPU3VyZmFjZSwgd2hpY2ggd2lsbCBsZXQgdXMgbWFrZSB0
aGVtIAorICAgICAgICBwdXJnZWFibGUgYW5kIHNoYXJlIG1vcmUgY29kZSB3aXRoIE1hYy4KKwor
ICAgICAgICBVc2UgQ0FSZW5kZXJTZXJ2ZXJSZW5kZXJMYXllcldpdGhUcmFuc2Zvcm0KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJW
aWV3IF90YWtlVmlld1NuYXBzaG90XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfem9vbVRvUG9p
bnQ6YXRTY2FsZTphbmltYXRlZDpdKToKKworICAgICAgICBXZSBjYW4gZWxpbWluYXRlIHRoaW5n
cyBuZWVkZWQgZm9yIHRoZSBzbG90LWJhc2VkIEFQSS4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1ZpZXdTbmFwc2hvdFN0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6OlZpZXdTbmFwc2hvdDo6c2V0
RGV2aWNlU2NhbGVGYWN0b3IpOgorICAgICAgICAoV2ViS2l0OjpWaWV3U25hcHNob3Q6OmRldmlj
ZVNjYWxlRmFjdG9yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld1NuYXBzaG90OjpzdXJmYWNlKToK
KyAgICAgICAgKFdlYktpdDo6Vmlld1NuYXBzaG90OjppbWFnZVNpemVJbkJ5dGVzKToKKyAgICAg
ICAgKFdlYktpdDo6Vmlld1NuYXBzaG90OjpzaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1ZpZXdTbmFwc2hvdFN0b3JlLm1tOgorICAgICAgICAoV2ViS2l0OjpWaWV3U25hcHNob3RTdG9y
ZTo6c2luZ2xldG9uKToKKyAgICAgICAgKFdlYktpdDo6Vmlld1NuYXBzaG90U3RvcmU6OmRpZEFk
ZEltYWdlVG9TbmFwc2hvdCk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdTbmFwc2hvdFN0b3JlOjpk
aXNjYXJkU25hcHNob3RJbWFnZXMpOgorICAgICAgICAoV2ViS2l0OjpWaWV3U25hcHNob3Q6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdTbmFwc2hvdDo6Vmlld1NuYXBzaG90KToKKyAg
ICAgICAgKFdlYktpdDo6Vmlld1NuYXBzaG90Ojp+Vmlld1NuYXBzaG90KToKKyAgICAgICAgKFdl
YktpdDo6Vmlld1NuYXBzaG90OjpzZXRTdXJmYWNlKToKKyAgICAgICAgKFdlYktpdDo6Vmlld1Nu
YXBzaG90OjpoYXNJbWFnZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdTbmFwc2hvdDo6Y2xlYXJJ
bWFnZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdTbmFwc2hvdDo6YXNMYXllckNvbnRlbnRzKToK
KyAgICAgICAgKFdlYktpdDo6Vmlld1NuYXBzaG90U3RvcmU6OnNuYXBzaG90dGluZ0NvbnRleHQp
OiBEZWxldGVkLgorCiAyMDE1LTA5LTExICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNv
bT4KIAogICAgICAgICBbSlNDXSBXZWFrIHNob3VsZCBvbmx5IGFjY2VwdCBjZWxsIHBvaW50ZWVz
LgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0JKHJldmlzaW9uIDE4OTYyNSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAzLDIwICsxMTAzLDE0IEBA
IC0gKHZvaWQpX3Jlc3RvcmVQYWdlU3RhdGVUb1Vub2JzY3VyZWRDZW4KIC0gKFBhc3NSZWZQdHI8
V2ViS2l0OjpWaWV3U25hcHNob3Q+KV90YWtlVmlld1NuYXBzaG90CiB7CiAgICAgZmxvYXQgZGV2
aWNlU2NhbGUgPSBXS0dldFNjcmVlblNjYWxlRmFjdG9yKCk7Ci0gICAgQ0dTaXplIHNuYXBzaG90
U2l6ZSA9IHNlbGYuYm91bmRzLnNpemU7Ci0gICAgc25hcHNob3RTaXplLndpZHRoICo9IGRldmlj
ZVNjYWxlOwotICAgIHNuYXBzaG90U2l6ZS5oZWlnaHQgKj0gZGV2aWNlU2NhbGU7Ci0KLSAgICB1
aW50MzJfdCBzbG90SUQgPSBbV2ViS2l0OjpWaWV3U25hcHNob3RTdG9yZTo6c25hcHNob3R0aW5n
Q29udGV4dCgpIGNyZWF0ZUltYWdlU2xvdDpzbmFwc2hvdFNpemUgaGFzQWxwaGE6WUVTXTsKLQot
ICAgIGlmICghc2xvdElEKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBXZWJDb3JlOjpG
bG9hdFNpemUgc25hcHNob3RTaXplKHNlbGYuYm91bmRzLnNpemUpOworICAgIHNuYXBzaG90U2l6
ZS5zY2FsZShkZXZpY2VTY2FsZSwgZGV2aWNlU2NhbGUpOwogCiAgICAgQ0FUcmFuc2Zvcm0zRCB0
cmFuc2Zvcm0gPSBDQVRyYW5zZm9ybTNETWFrZVNjYWxlKGRldmljZVNjYWxlLCBkZXZpY2VTY2Fs
ZSwgMSk7Ci0gICAgQ0FSZW5kZXJTZXJ2ZXJDYXB0dXJlTGF5ZXJXaXRoVHJhbnNmb3JtKE1BQ0hf
UE9SVF9OVUxMLCBzZWxmLmxheWVyLmNvbnRleHQuY29udGV4dElkLCAodWludDY0X3Qpc2VsZi5s
YXllciwgc2xvdElELCAwLCAwLCAmdHJhbnNmb3JtKTsKKyAgICBhdXRvIHN1cmZhY2UgPSBXZWJD
b3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShXZWJDb3JlOjpleHBhbmRlZEludFNpemUoc25hcHNob3RT
aXplKSwgV2ViQ29yZTo6Q29sb3JTcGFjZURldmljZVJHQik7CisgICAgQ0FSZW5kZXJTZXJ2ZXJS
ZW5kZXJMYXllcldpdGhUcmFuc2Zvcm0oTUFDSF9QT1JUX05VTEwsIHNlbGYubGF5ZXIuY29udGV4
dC5jb250ZXh0SWQsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KHNlbGYubGF5ZXIpLCBzdXJm
YWNlLT5zdXJmYWNlKCksIDAsIDAsICZ0cmFuc2Zvcm0pOwogCi0gICAgV2ViQ29yZTo6SW50U2l6
ZSBpbWFnZVNpemUgPSBXZWJDb3JlOjpleHBhbmRlZEludFNpemUoV2ViQ29yZTo6RmxvYXRTaXpl
KHNuYXBzaG90U2l6ZSkpOwotICAgIHJldHVybiBXZWJLaXQ6OlZpZXdTbmFwc2hvdDo6Y3JlYXRl
KHNsb3RJRCwgaW1hZ2VTaXplLCBpbWFnZVNpemUud2lkdGgoKSAqIGltYWdlU2l6ZS5oZWlnaHQo
KSAqIDQpOworICAgIHJldHVybiBXZWJLaXQ6OlZpZXdTbmFwc2hvdDo6Y3JlYXRlKG51bGxwdHIp
OwogfQogCiAtICh2b2lkKV96b29tVG9Qb2ludDooV2ViQ29yZTo6RmxvYXRQb2ludClwb2ludCBh
dFNjYWxlOihkb3VibGUpc2NhbGUgYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld1NuYXBzaG90U3RvcmUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdTbmFwc2hvdFN0b3JlLmgJKHJldmlz
aW9uIDE4OTYyNSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld1NuYXBzaG90
U3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTQgKzQxLDYgQEAgdHlwZWRlZiBzdHJ1Y3Qg
b2JqY19vYmplY3QgKmlkOwogCiBPQkpDX0NMQVNTIENBQ29udGV4dDsKIAotI2lmIFBMQVRGT1JN
KE1BQykKLSNkZWZpbmUgVVNFX0lPU1VSRkFDRV9WSUVXX1NOQVBTSE9UUyAxCi0jZGVmaW5lIFVT
RV9SRU5ERVJfU0VSVkVSX1ZJRVdfU05BUFNIT1RTIDAKLSNlbHNlCi0jZGVmaW5lIFVTRV9JT1NV
UkZBQ0VfVklFV19TTkFQU0hPVFMgMAotI2RlZmluZSBVU0VfUkVOREVSX1NFUlZFUl9WSUVXX1NO
QVBTSE9UUyAxCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSU9TdXJmYWNl
OwogfQpAQCAtNjEsMTEgKzUzLDcgQEAgY2xhc3MgV2ViUGFnZVByb3h5OwogCiBjbGFzcyBWaWV3
U25hcHNob3QgOiBwdWJsaWMgUmVmQ291bnRlZDxWaWV3U25hcHNob3Q+IHsKIHB1YmxpYzoKLSNp
ZiBVU0VfSU9TVVJGQUNFX1ZJRVdfU05BUFNIT1RTCiAgICAgc3RhdGljIFJlZjxWaWV3U25hcHNo
b3Q+IGNyZWF0ZShzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPik7Ci0jZWxpZiBV
U0VfUkVOREVSX1NFUlZFUl9WSUVXX1NOQVBTSE9UUwotICAgIHN0YXRpYyBSZWY8Vmlld1NuYXBz
aG90PiBjcmVhdGUodWludDMyX3Qgc2xvdElELCBXZWJDb3JlOjpJbnRTaXplLCBzaXplX3QgaW1h
Z2VTaXplSW5CeXRlcyk7Ci0jZW5kaWYKIAogICAgIH5WaWV3U25hcHNob3QoKTsKIApAQCAtODIs
MjkgKzcwLDIwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERldmljZVNjYWxlRmFjdG9yKGZsb2F0
IGRldmljZVNjYWxlRmFjdG9yKSB7IG1fZGV2aWNlU2NhbGVGYWN0b3IgPSBkZXZpY2VTY2FsZUZh
Y3RvcjsgfQogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9k
ZXZpY2VTY2FsZUZhY3RvcjsgfQogCi0gICAgc2l6ZV90IGltYWdlU2l6ZUluQnl0ZXMoKSBjb25z
dCB7IHJldHVybiBtX2ltYWdlU2l6ZUluQnl0ZXM7IH0KLSNpZiBVU0VfSU9TVVJGQUNFX1ZJRVdf
U05BUFNIT1RTCiAgICAgV2ViQ29yZTo6SU9TdXJmYWNlKiBzdXJmYWNlKCkgY29uc3QgeyByZXR1
cm4gbV9zdXJmYWNlLmdldCgpOyB9Ci0jZW5kaWYKLSAgICBXZWJDb3JlOjpJbnRTaXplIHNpemUo
KSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KKworICAgIHNpemVfdCBpbWFnZVNpemVJbkJ5dGVz
KCkgY29uc3QgeyByZXR1cm4gbV9zdXJmYWNlID8gbV9zdXJmYWNlLT50b3RhbEJ5dGVzKCkgOiAw
OyB9CisgICAgV2ViQ29yZTo6SW50U2l6ZSBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zdXJmYWNl
ID8gbV9zdXJmYWNlLT5zaXplKCkgOiBXZWJDb3JlOjpJbnRTaXplKCk7IH0KKworICAgIHZvaWQg
c2V0U3VyZmFjZShzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPik7CiAKIHByaXZh
dGU6Ci0jaWYgVVNFX0lPU1VSRkFDRV9WSUVXX1NOQVBTSE9UUwogICAgIGV4cGxpY2l0IFZpZXdT
bmFwc2hvdChzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPik7Ci0jZWxpZiBVU0Vf
UkVOREVSX1NFUlZFUl9WSUVXX1NOQVBTSE9UUwotICAgIGV4cGxpY2l0IFZpZXdTbmFwc2hvdCh1
aW50MzJfdCBzbG90SUQsIFdlYkNvcmU6OkludFNpemUsIHNpemVfdCBpbWFnZVNpemVJbkJ5dGVz
KTsKLSNlbmRpZgogCi0jaWYgVVNFX0lPU1VSRkFDRV9WSUVXX1NOQVBTSE9UUwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IG1fc3VyZmFjZTsKLSNlbGlmIFVTRV9SRU5E
RVJfU0VSVkVSX1ZJRVdfU05BUFNIT1RTCi0gICAgdWludDMyX3QgbV9zbG90SUQ7Ci0jZW5kaWYK
IAotICAgIHNpemVfdCBtX2ltYWdlU2l6ZUluQnl0ZXM7CiAgICAgdWludDY0X3QgbV9yZW5kZXJU
cmVlU2l6ZTsKICAgICBmbG9hdCBtX2RldmljZVNjYWxlRmFjdG9yOwotICAgIFdlYkNvcmU6Oklu
dFNpemUgbV9zaXplOwogICAgIFdlYkNvcmU6OkNvbG9yIG1fYmFja2dyb3VuZENvbG9yOwogfTsK
IApAQCAtMTIxLDEwICsxMDAsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpc2NhcmRTbmFwc2hv
dEltYWdlcygpOwogCi0jaWYgVVNFX1JFTkRFUl9TRVJWRVJfVklFV19TTkFQU0hPVFMKLSAgICBz
dGF0aWMgQ0FDb250ZXh0ICpzbmFwc2hvdHRpbmdDb250ZXh0KCk7Ci0jZW5kaWYKLQogcHJpdmF0
ZToKICAgICB2b2lkIGRpZEFkZEltYWdlVG9TbmFwc2hvdChWaWV3U25hcHNob3QmKTsKICAgICB2
b2lkIHdpbGxSZW1vdmVJbWFnZUZyb21TbmFwc2hvdChWaWV3U25hcHNob3QmKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld1NuYXBzaG90U3RvcmUubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3U25hcHNob3RTdG9yZS5tbQko
cmV2aXNpb24gMTg5NjI1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3U25h
cHNob3RTdG9yZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzcsMTEgKzM3LDEwIEBACiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCi0jaWYgVVNFX0lPU1VSRkFDRV9WSUVXX1NOQVBTSE9UUwot
c3RhdGljIGNvbnN0IHNpemVfdCBtYXhpbXVtU25hcHNob3RDYWNoZVNpemUgPSA0MDAgKiAoMTAy
NCAqIDEwMjQpOwotI2VsaWYgVVNFX1JFTkRFUl9TRVJWRVJfVklFV19TTkFQU0hPVFMKLS8vIEJl
Y2F1c2UgcmVuZGVyIHNlcnZlciBzbmFwc2hvdHMgYXJlIG5vdCBwdXJnZWFibGUsIHdlIHNob3Vs
ZCBrZWVwIGZld2VyIGFyb3VuZC4KKyNpZiBQTEFURk9STShJT1MpCiBzdGF0aWMgY29uc3Qgc2l6
ZV90IG1heGltdW1TbmFwc2hvdENhY2hlU2l6ZSA9IDUwICogKDEwMjQgKiAxMDI0KTsKKyNlbHNl
CitzdGF0aWMgY29uc3Qgc2l6ZV90IG1heGltdW1TbmFwc2hvdENhY2hlU2l6ZSA9IDQwMCAqICgx
MDI0ICogMTAyNCk7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC02MiwyNCArNjEs
NiBAQCBWaWV3U25hcHNob3RTdG9yZSYgVmlld1NuYXBzaG90U3RvcmU6OnNpCiAgICAgcmV0dXJu
IHN0b3JlOwogfQogCi0jaWYgVVNFX1JFTkRFUl9TRVJWRVJfVklFV19TTkFQU0hPVFMKLUNBQ29u
dGV4dCAqVmlld1NuYXBzaG90U3RvcmU6OnNuYXBzaG90dGluZ0NvbnRleHQoKQotewotICAgIHN0
YXRpYyBDQUNvbnRleHQgKmNvbnRleHQ7Ci0gICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNl
VG9rZW47Ci0gICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewotICAgICAgICBOU0RpY3Rp
b25hcnkgKm9wdGlvbnMgPSBAewotICAgICAgICAgICAga0NBQ29udGV4dERpc3BsYXlOYW1lOiBA
IldlYktpdFNuYXBzaG90dGluZyIsCi0gICAgICAgICAgICBrQ0FDb250ZXh0SWdub3Jlc0hpdFRl
c3Q6IEBZRVMsCi0gICAgICAgICAgICBrQ0FDb250ZXh0RGlzcGxheUlkIDogQDIwMDAwCi0gICAg
ICAgIH07Ci0gICAgICAgIGNvbnRleHQgPSBbW0NBQ29udGV4dCByZW1vdGVDb250ZXh0V2l0aE9w
dGlvbnM6b3B0aW9uc10gcmV0YWluXTsKLSAgICB9KTsKLQotICAgIHJldHVybiBjb250ZXh0Owot
fQotI2VuZGlmCi0KIHZvaWQgVmlld1NuYXBzaG90U3RvcmU6OmRpZEFkZEltYWdlVG9TbmFwc2hv
dChWaWV3U25hcHNob3QmIHNuYXBzaG90KQogewogICAgIGJvb2wgaXNOZXdFbnRyeSA9IG1fc25h
cHNob3RzV2l0aEltYWdlcy5hZGQoJnNuYXBzaG90KS5pc05ld0VudHJ5OwpAQCAtMTMyLDMwICsx
MTMsMTMgQEAgdm9pZCBWaWV3U25hcHNob3RTdG9yZTo6ZGlzY2FyZFNuYXBzaG90SQogICAgICAg
ICBtX3NuYXBzaG90c1dpdGhJbWFnZXMuZmlyc3QoKS0+Y2xlYXJJbWFnZSgpOwogfQogCi0KLSNp
ZiBVU0VfSU9TVVJGQUNFX1ZJRVdfU05BUFNIT1RTCiBSZWY8Vmlld1NuYXBzaG90PiBWaWV3U25h
cHNob3Q6OmNyZWF0ZShzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBzdXJmYWNlKQogewogICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFZpZXdTbmFwc2hvdChXVEY6Om1vdmUoc3VyZmFjZSkpKTsK
IH0KLSNlbGlmIFVTRV9SRU5ERVJfU0VSVkVSX1ZJRVdfU05BUFNIT1RTCi1SZWY8Vmlld1NuYXBz
aG90PiBWaWV3U25hcHNob3Q6OmNyZWF0ZSh1aW50MzJfdCBzbG90SUQsIEludFNpemUgc2l6ZSwg
c2l6ZV90IGltYWdlU2l6ZUluQnl0ZXMpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVmll
d1NuYXBzaG90KHNsb3RJRCwgc2l6ZSwgaW1hZ2VTaXplSW5CeXRlcykpOwotfQotI2VuZGlmCiAK
LSNpZiBVU0VfSU9TVVJGQUNFX1ZJRVdfU05BUFNIT1RTCiBWaWV3U25hcHNob3Q6OlZpZXdTbmFw
c2hvdChzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBzdXJmYWNlKQogICAgIDogbV9zdXJmYWNl
KFdURjo6bW92ZShzdXJmYWNlKSkKLSAgICAsIG1faW1hZ2VTaXplSW5CeXRlcyhtX3N1cmZhY2Ut
PnRvdGFsQnl0ZXMoKSkKLSAgICAsIG1fc2l6ZShtX3N1cmZhY2UtPnNpemUoKSkKLSNlbGlmIFVT
RV9SRU5ERVJfU0VSVkVSX1ZJRVdfU05BUFNIT1RTCi1WaWV3U25hcHNob3Q6OlZpZXdTbmFwc2hv
dCh1aW50MzJfdCBzbG90SUQsIEludFNpemUgc2l6ZSwgc2l6ZV90IGltYWdlU2l6ZUluQnl0ZXMp
Ci0gICAgOiBtX3Nsb3RJRChzbG90SUQpCi0gICAgLCBtX2ltYWdlU2l6ZUluQnl0ZXMoaW1hZ2VT
aXplSW5CeXRlcykKLSAgICAsIG1fc2l6ZShzaXplKQotI2VuZGlmCiB7CiAgICAgaWYgKGhhc0lt
YWdlKCkpCiAgICAgICAgIFZpZXdTbmFwc2hvdFN0b3JlOjpzaW5nbGV0b24oKS5kaWRBZGRJbWFn
ZVRvU25hcHNob3QoKnRoaXMpOwpAQCAtMTY2LDEzICsxMzAsMjEgQEAgVmlld1NuYXBzaG90Ojp+
Vmlld1NuYXBzaG90KCkKICAgICBjbGVhckltYWdlKCk7CiB9CiAKK3ZvaWQgVmlld1NuYXBzaG90
OjpzZXRTdXJmYWNlKHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IHN1cmZhY2Up
Cit7CisgICAgQVNTRVJUKCFtX3N1cmZhY2UpOworICAgIGlmICghc3VyZmFjZSkgeworICAgICAg
ICBjbGVhckltYWdlKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3N1cmZhY2Ug
PSBXVEY6Om1vdmUoc3VyZmFjZSk7CisgICAgVmlld1NuYXBzaG90U3RvcmU6OnNpbmdsZXRvbigp
LmRpZEFkZEltYWdlVG9TbmFwc2hvdCgqdGhpcyk7Cit9CisKIGJvb2wgVmlld1NuYXBzaG90Ojpo
YXNJbWFnZSgpIGNvbnN0CiB7Ci0jaWYgVVNFX0lPU1VSRkFDRV9WSUVXX1NOQVBTSE9UUwogICAg
IHJldHVybiAhIW1fc3VyZmFjZTsKLSNlbGlmIFVTRV9SRU5ERVJfU0VSVkVSX1ZJRVdfU05BUFNI
T1RTCi0gICAgcmV0dXJuIG1fc2xvdElEOwotI2VuZGlmCiB9CiAKIHZvaWQgVmlld1NuYXBzaG90
OjpjbGVhckltYWdlKCkKQEAgLTE4MiwxOCArMTU0LDExIEBAIHZvaWQgVmlld1NuYXBzaG90Ojpj
bGVhckltYWdlKCkKIAogICAgIFZpZXdTbmFwc2hvdFN0b3JlOjpzaW5nbGV0b24oKS53aWxsUmVt
b3ZlSW1hZ2VGcm9tU25hcHNob3QoKnRoaXMpOwogCi0jaWYgVVNFX0lPU1VSRkFDRV9WSUVXX1NO
QVBTSE9UUwogICAgIG1fc3VyZmFjZSA9IG51bGxwdHI7Ci0jZWxpZiBVU0VfUkVOREVSX1NFUlZF
Ul9WSUVXX1NOQVBTSE9UUwotICAgIFtWaWV3U25hcHNob3RTdG9yZTo6c25hcHNob3R0aW5nQ29u
dGV4dCgpIGRlbGV0ZVNsb3Q6bV9zbG90SURdOwotICAgIG1fc2xvdElEID0gMDsKLSNlbmRpZgot
ICAgIG1faW1hZ2VTaXplSW5CeXRlcyA9IDA7CiB9CiAKIGlkIFZpZXdTbmFwc2hvdDo6YXNMYXll
ckNvbnRlbnRzKCkKIHsKLSNpZiBVU0VfSU9TVVJGQUNFX1ZJRVdfU05BUFNIT1RTCiAgICAgaWYg
KCFtX3N1cmZhY2UpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBAIC0yMDMsOSArMTY4LDYg
QEAgaWQgVmlld1NuYXBzaG90Ojphc0xheWVyQ29udGVudHMoKQogICAgIH0KIAogICAgIHJldHVy
biAoaWQpbV9zdXJmYWNlLT5zdXJmYWNlKCk7Ci0jZWxpZiBVU0VfUkVOREVSX1NFUlZFUl9WSUVX
X1NOQVBTSE9UUwotICAgIHJldHVybiBbQ0FDb250ZXh0IG9iamVjdEZvclNsb3Q6bV9zbG90SURd
OwotI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="286203"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>