<?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>172495</bug_id>
          
          <creation_ts>2017-05-23 02:01:26 -0700</creation_ts>
          <short_desc>Zoom in/out is slow in Safari with large PDFs</short_desc>
          <delta_ts>2017-05-23 11:58:30 -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>WebKit 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>bdakin</cc>
    
    <cc>kling</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1311794</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-05-23 02:01:26 -0700</bug_when>
    <thetext>Zoom in/out is slow in Safari with large PDFs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311795</commentid>
    <comment_count>1</comment_count>
      <attachid>310987</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-05-23 02:01:52 -0700</bug_when>
    <thetext>Created attachment 310987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311907</commentid>
    <comment_count>2</comment_count>
      <attachid>310987</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-05-23 09:49:38 -0700</bug_when>
    <thetext>Comment on attachment 310987
Patch

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

&gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:1156
&gt; +    size_t pageCount = [m_pdfDocument pageCount];
&gt; +    for (size_t i = 0; i &lt; pageCount; ++i)
&gt; +        m_pageBoxes.append(enclosingIntRect([[m_pdfDocument pageAtIndex:i] boundsForBox:kPDFDisplayBoxCropBox]));

I&apos;m no expert on this code, but shouldn&apos;t we clear m_pageBoxes somehow before appending all the boxes to it?
Or is this going to only run once?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311916</commentid>
    <comment_count>3</comment_count>
      <attachid>310987</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-05-23 10:10:01 -0700</bug_when>
    <thetext>Comment on attachment 310987
Patch

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

&gt;&gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:1156
&gt;&gt; +        m_pageBoxes.append(enclosingIntRect([[m_pdfDocument pageAtIndex:i] boundsForBox:kPDFDisplayBoxCropBox]));
&gt; 
&gt; I&apos;m no expert on this code, but shouldn&apos;t we clear m_pageBoxes somehow before appending all the boxes to it?
&gt; Or is this going to only run once?

Also, since we know how many things are getting appened, you can reserve capacity and then do uncheckedAppends.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311958</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-05-23 11:36:02 -0700</bug_when>
    <thetext>(In reply to Andreas Kling from comment #2)
&gt; Comment on attachment 310987 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=310987&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:1156
&gt; &gt; +    size_t pageCount = [m_pdfDocument pageCount];
&gt; &gt; +    for (size_t i = 0; i &lt; pageCount; ++i)
&gt; &gt; +        m_pageBoxes.append(enclosingIntRect([[m_pdfDocument pageAtIndex:i] boundsForBox:kPDFDisplayBoxCropBox]));
&gt; 
&gt; I&apos;m no expert on this code, but shouldn&apos;t we clear m_pageBoxes somehow
&gt; before appending all the boxes to it?
&gt; Or is this going to only run once?

LOL, yes, and this has always been broken, but has never really mattered much because we only use the first box... which means we can simplify this a great deal and do even less work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311974</commentid>
    <comment_count>5</comment_count>
      <attachid>311035</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-05-23 11:50:33 -0700</bug_when>
    <thetext>Created attachment 311035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311975</commentid>
    <comment_count>6</comment_count>
      <attachid>311035</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-05-23 11:53:06 -0700</bug_when>
    <thetext>Comment on attachment 311035
Patch

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

&gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:1160
&gt; +    m_firstPageHeight = static_cast&lt;unsigned&gt;(CGCeiling([[m_pdfDocument pageAtIndex:0] boundsForBox:kPDFDisplayBoxCropBox].size.height));

Do we always have a page 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311976</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-05-23 11:58:30 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/217288/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310987</attachid>
            <date>2017-05-23 02:01:52 -0700</date>
            <delta_ts>2017-05-23 11:50:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172495-20170523020151.patch</filename>
            <type>text/plain</type>
            <size>2177</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWJiZWIzZjk0NDY4OTc5
YTVmZTUyZDg5ZjQ4ODE4ZjU1ZTBlNjY4Ni4uZTZlN2E2ZjE1OGI4Y2QzNmNkNzczNTgxOTIzM2I2
OTJjMTViM2ZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA1LTIzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFpvb20gaW4vb3V0
IGlzIHNsb3cgaW4gU2FmYXJpIHdpdGggbGFyZ2UgUERGcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zMjMzODYzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAg
ICAgUGF0Y2ggYnkgSmVyZW15IEJyaWRvbi4KKworICAgICAgICBObyB0ZXN0czsganVzdCBhIHBl
cmZvcm1hbmNlIGltcHJvdmVtZW50LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BE
Ri9QREZQbHVnaW4ubW06CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdpbjo6Y29tcHV0ZVBhZ2VC
b3hlcyk6CisgICAgICAgIFVzZSBQREZLaXQgaW5zdGVhZCBvZiBDR1BERiB0byBjb21wdXRlIHBh
Z2UgYm94ZXMsIHNvIHdlIGNhbiB0YWtlCisgICAgICAgIGFkdmFudGFnZSBvZiBQREZLaXQgb3B0
aW1pemF0aW9ucy4gUERGS2l0IGFsc28gaGFuZGxlcyBib3ggZmFsbGJhY2ssCisgICAgICAgIHNv
IHdlIGRvbid0IG5lZWQgdG8gZG8gdGhhdCBvdXJzZWx2ZXMuCisKIDIwMTctMDUtMjIgIE1pY2hh
ZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEFkZCBldmVu
IG1vcmUgaW5wdXQgdmFsaWRhdGlvbiBpbiBDb25uZWN0aW9uOjpwcm9jZXNzTWVzc2FnZSgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdp
bi5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1t
CmluZGV4IDRkN2VkMDU4ODZmYTM0NjlmYTI0MjM2NDBjZjJmZDI1MTE4YWIzZTcuLmI0NTgwMjJl
ZWU4NzEwZDA2OGNmYTM3ZWFiZWU2YWM2ZWZlMmRkYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCkBAIC0xMTUxLDE2ICsxMTUx
LDkgQEAgdm9pZCBQREZQbHVnaW46OmNvbnRlbnRzU2NhbGVGYWN0b3JDaGFuZ2VkKGZsb2F0KQog
CiB2b2lkIFBERlBsdWdpbjo6Y29tcHV0ZVBhZ2VCb3hlcygpCiB7Ci0gICAgc2l6ZV90IHBhZ2VD
b3VudCA9IENHUERGRG9jdW1lbnRHZXROdW1iZXJPZlBhZ2VzKFttX3BkZkRvY3VtZW50IGRvY3Vt
ZW50UmVmXSk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYWdlQ291bnQ7ICsraSkgewot
ICAgICAgICBDR1BERlBhZ2VSZWYgcGRmUGFnZSA9IENHUERGRG9jdW1lbnRHZXRQYWdlKFttX3Bk
ZkRvY3VtZW50IGRvY3VtZW50UmVmXSwgaSArIDEpOwotICAgICAgICBBU1NFUlQocGRmUGFnZSk7
Ci0KLSAgICAgICAgQ0dSZWN0IGJveCA9IENHUERGUGFnZUdldEJveFJlY3QocGRmUGFnZSwga0NH
UERGQ3JvcEJveCk7Ci0gICAgICAgIGlmIChDR1JlY3RJc0VtcHR5KGJveCkpCi0gICAgICAgICAg
ICBib3ggPSBDR1BERlBhZ2VHZXRCb3hSZWN0KHBkZlBhZ2UsIGtDR1BERk1lZGlhQm94KTsKLSAg
ICAgICAgbV9wYWdlQm94ZXMuYXBwZW5kKEludFJlY3QoYm94KSk7Ci0gICAgfQorICAgIHNpemVf
dCBwYWdlQ291bnQgPSBbbV9wZGZEb2N1bWVudCBwYWdlQ291bnRdOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgcGFnZUNvdW50OyArK2kpCisgICAgICAgIG1fcGFnZUJveGVzLmFwcGVuZChl
bmNsb3NpbmdJbnRSZWN0KFtbbV9wZGZEb2N1bWVudCBwYWdlQXRJbmRleDppXSBib3VuZHNGb3JC
b3g6a1BERkRpc3BsYXlCb3hDcm9wQm94XSkpOwogfQogCiB2b2lkIFBERlBsdWdpbjo6Y2FsY3Vs
YXRlU2l6ZXMoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311035</attachid>
            <date>2017-05-23 11:50:33 -0700</date>
            <delta_ts>2017-05-23 11:53:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172495-20170523115029.patch</filename>
            <type>text/plain</type>
            <size>5104</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWJiZWIzZjk0NDY4OTc5
YTVmZTUyZDg5ZjQ4ODE4ZjU1ZTBlNjY4Ni4uOWNmMGMzZWI5MzRmMzVjZWUwZjA0MDI0N2JhMjNj
ZTNhYTBmY2QwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTA1LTIzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFpvb20gaW4vb3V0
IGlzIHNsb3cgaW4gU2FmYXJpIHdpdGggbGFyZ2UgUERGcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zMjMzODYzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyB0ZXN0czsganVzdCBhIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbToKKyAgICAgICAgKFdlYktpdDo6UERGUGx1Z2lu
Ojpjb21wdXRlUGFnZUJveGVzKToKKyAgICAgICAgVXNlIFBERktpdCBpbnN0ZWFkIG9mIENHUERG
IHRvIGNvbXB1dGUgdGhlIGZpcnN0IHBhZ2UgYm94LCBzbyB3ZSBjYW4gdGFrZQorICAgICAgICBh
ZHZhbnRhZ2Ugb2YgUERGS2l0IG9wdGltaXphdGlvbnMuIFBERktpdCBhbHNvIGhhbmRsZXMgYm94
IGZhbGxiYWNrLAorICAgICAgICBzbyB3ZSBkb24ndCBuZWVkIHRvIGRvIHRoYXQgb3Vyc2VsdmVz
LiBTdG9wIGZldGNoaW5nIGFsbCB0aGUgYm94ZXMsIGFzCisgICAgICAgIHdlIG9ubHkgc2VlbSB0
byB1c2UgdGhlIGZpcnN0IG9uZS4KKwogMjAxNy0wNS0yMiAgTWljaGFlbCBDYXRhbnphcm8gIDxt
Y2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIGV2ZW4gbW9yZSBpbnB1dCB2YWxp
ZGF0aW9uIGluIENvbm5lY3Rpb246OnByb2Nlc3NNZXNzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oCmluZGV4IDFkZTFiN2U1ZGRm
ZDdmZTQ1MTc4ZjcyYmI5NTYxYjJlYmM0Yzg5M2UuLjRjNjNhN2ViZGQ0Y2M2NTkyNzQwMDBmYWZl
ZjNkYWJkOTk5ZDViZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BERi9QREZQbHVnaW4uaApAQCAtMjMxLDcgKzIzMSw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBkZXN0cm95U2Nyb2xsYmFyKFdlYkNvcmU6OlNjcm9sbGJhck9yaWVudGF0aW9uKTsKICAgICB2
b2lkIHBkZkRvY3VtZW50RGlkTG9hZCgpOwogICAgIHZvaWQgYWRkQXJjaGl2ZVJlc291cmNlKCk7
Ci0gICAgdm9pZCBjb21wdXRlUGFnZUJveGVzKCk7CiAgICAgdm9pZCBjYWxjdWxhdGVTaXplcygp
OwogICAgIHZvaWQgcnVuU2NyaXB0c0luUERGRG9jdW1lbnQoKTsKIApAQCAtMzIyLDcgKzMyMSw3
IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPENGTXV0YWJsZURhdGFSZWY+IG1fZGF0YTsKIAog
ICAgIFJldGFpblB0cjxQREZEb2N1bWVudD4gbV9wZGZEb2N1bWVudDsKLSAgICBWZWN0b3I8V2Vi
Q29yZTo6SW50UmVjdD4gbV9wYWdlQm94ZXM7CisgICAgdW5zaWduZWQgbV9maXJzdFBhZ2VIZWln
aHQgeyAwIH07CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3BkZkRvY3VtZW50U2l6ZTsgLy8gQWxs
IHBhZ2VzLCBpbmNsdWRpbmcgZ2Fwcy4KIAogICAgIFJlZlB0cjxXZWJDb3JlOjpTY3JvbGxiYXI+
IG1faG9yaXpvbnRhbFNjcm9sbGJhcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KaW5kZXggNGQ3ZWQwNTg4NmZhMzQ2OWZhMjQyMzY0
MGNmMmZkMjUxMThhYjNlNy4uMGRlYjI1NjUwY2EwMDc3OTAwM2EzYTAzZGM3OThjOGExYWJjMDZk
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4ubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4ubW0KQEAgLTU0LDYgKzU0LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQVhPYmplY3RDYWNo
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcmNoaXZlUmVzb3VyY2UuaD4KICNpbXBvcnQgPFdlYkNv
cmUvQ2hyb21lLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9y
dCA8V2ViQ29yZS9DdXJzb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRGljdGlvbmFyeUxvb2t1cC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgpAQCAtNjg0LDE4ICs2ODUsMTcg
QEAgdm9pZCBQREZQbHVnaW46OnVwZGF0ZVNjcm9sbGJhcnMoKQogCiAgICAgSW50U2l6ZSBzY3Jv
bGxiYXJTcGFjZSA9IHNjcm9sbGJhckludHJ1c2lvbigpOwogCi0gICAgaW50IHBhZ2VTdGVwID0g
bV9wYWdlQm94ZXMuaXNFbXB0eSgpID8gMCA6IG1fcGFnZUJveGVzWzBdLmhlaWdodCgpOwotCiAg
ICAgaWYgKG1faG9yaXpvbnRhbFNjcm9sbGJhcikgewotICAgICAgICBtX2hvcml6b250YWxTY3Jv
bGxiYXItPnNldFN0ZXBzKFNjcm9sbGJhcjo6cGl4ZWxzUGVyTGluZVN0ZXAoKSwgcGFnZVN0ZXAp
OworICAgICAgICBtX2hvcml6b250YWxTY3JvbGxiYXItPnNldFN0ZXBzKFNjcm9sbGJhcjo6cGl4
ZWxzUGVyTGluZVN0ZXAoKSwgbV9maXJzdFBhZ2VIZWlnaHQpOwogICAgICAgICBtX2hvcml6b250
YWxTY3JvbGxiYXItPnNldFByb3BvcnRpb24obV9zaXplLndpZHRoKCkgLSBzY3JvbGxiYXJTcGFj
ZS53aWR0aCgpLCBtX3BkZkRvY3VtZW50U2l6ZS53aWR0aCgpKTsKICAgICAgICAgSW50UmVjdCBz
Y3JvbGxiYXJSZWN0KHBsdWdpblZpZXcoKS0+eCgpLCBwbHVnaW5WaWV3KCktPnkoKSArIG1fc2l6
ZS5oZWlnaHQoKSAtIG1faG9yaXpvbnRhbFNjcm9sbGJhci0+aGVpZ2h0KCksIG1fc2l6ZS53aWR0
aCgpLCBtX2hvcml6b250YWxTY3JvbGxiYXItPmhlaWdodCgpKTsKICAgICAgICAgaWYgKG1fdmVy
dGljYWxTY3JvbGxiYXIpCiAgICAgICAgICAgICBzY3JvbGxiYXJSZWN0LmNvbnRyYWN0KG1fdmVy
dGljYWxTY3JvbGxiYXItPndpZHRoKCksIDApOwogICAgICAgICBtX2hvcml6b250YWxTY3JvbGxi
YXItPnNldEZyYW1lUmVjdChzY3JvbGxiYXJSZWN0KTsKICAgICB9CisKICAgICBpZiAobV92ZXJ0
aWNhbFNjcm9sbGJhcikgewotICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5zZXRTdGVwcyhT
Y3JvbGxiYXI6OnBpeGVsc1BlckxpbmVTdGVwKCksIHBhZ2VTdGVwKTsKKyAgICAgICAgbV92ZXJ0
aWNhbFNjcm9sbGJhci0+c2V0U3RlcHMoU2Nyb2xsYmFyOjpwaXhlbHNQZXJMaW5lU3RlcCgpLCBt
X2ZpcnN0UGFnZUhlaWdodCk7CiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxiYXItPnNldFByb3Bv
cnRpb24obV9zaXplLmhlaWdodCgpIC0gc2Nyb2xsYmFyU3BhY2UuaGVpZ2h0KCksIG1fcGRmRG9j
dW1lbnRTaXplLmhlaWdodCgpKTsKICAgICAgICAgSW50UmVjdCBzY3JvbGxiYXJSZWN0KEludFJl
Y3QocGx1Z2luVmlldygpLT54KCkgKyBtX3NpemUud2lkdGgoKSAtIG1fdmVydGljYWxTY3JvbGxi
YXItPndpZHRoKCksIHBsdWdpblZpZXcoKS0+eSgpLCBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0
aCgpLCBtX3NpemUuaGVpZ2h0KCkpKTsKICAgICAgICAgaWYgKG1faG9yaXpvbnRhbFNjcm9sbGJh
cikKQEAgLTExNDksMzAgKzExNDksMTUgQEAgdm9pZCBQREZQbHVnaW46OmNvbnRlbnRzU2NhbGVG
YWN0b3JDaGFuZ2VkKGZsb2F0KQogICAgIHVwZGF0ZVBhZ2VBbmREZXZpY2VTY2FsZUZhY3RvcnMo
KTsKIH0KIAotdm9pZCBQREZQbHVnaW46OmNvbXB1dGVQYWdlQm94ZXMoKQotewotICAgIHNpemVf
dCBwYWdlQ291bnQgPSBDR1BERkRvY3VtZW50R2V0TnVtYmVyT2ZQYWdlcyhbbV9wZGZEb2N1bWVu
dCBkb2N1bWVudFJlZl0pOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFnZUNvdW50OyAr
K2kpIHsKLSAgICAgICAgQ0dQREZQYWdlUmVmIHBkZlBhZ2UgPSBDR1BERkRvY3VtZW50R2V0UGFn
ZShbbV9wZGZEb2N1bWVudCBkb2N1bWVudFJlZl0sIGkgKyAxKTsKLSAgICAgICAgQVNTRVJUKHBk
ZlBhZ2UpOwotCi0gICAgICAgIENHUmVjdCBib3ggPSBDR1BERlBhZ2VHZXRCb3hSZWN0KHBkZlBh
Z2UsIGtDR1BERkNyb3BCb3gpOwotICAgICAgICBpZiAoQ0dSZWN0SXNFbXB0eShib3gpKQotICAg
ICAgICAgICAgYm94ID0gQ0dQREZQYWdlR2V0Qm94UmVjdChwZGZQYWdlLCBrQ0dQREZNZWRpYUJv
eCk7Ci0gICAgICAgIG1fcGFnZUJveGVzLmFwcGVuZChJbnRSZWN0KGJveCkpOwotICAgIH0KLX0K
LQogdm9pZCBQREZQbHVnaW46OmNhbGN1bGF0ZVNpemVzKCkKIHsKICAgICBpZiAoW3BkZkRvY3Vt
ZW50KCkgaXNMb2NrZWRdKSB7CisgICAgICAgIG1fZmlyc3RQYWdlSGVpZ2h0ID0gMDsKICAgICAg
ICAgc2V0UERGRG9jdW1lbnRTaXplKEludFNpemUoMCwgMCkpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGNvbWUgc3RyYWlnaHQgZnJvbSBQREZL
aXQuCi0gICAgY29tcHV0ZVBhZ2VCb3hlcygpOwotCisgICAgbV9maXJzdFBhZ2VIZWlnaHQgPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oQ0dDZWlsaW5nKFtbbV9wZGZEb2N1bWVudCBwYWdlQXRJbmRl
eDowXSBib3VuZHNGb3JCb3g6a1BERkRpc3BsYXlCb3hDcm9wQm94XS5zaXplLmhlaWdodCkpOwog
ICAgIHNldFBERkRvY3VtZW50U2l6ZShJbnRTaXplKFttX3BkZkxheWVyQ29udHJvbGxlciBjb250
ZW50U2l6ZVJlc3BlY3Rpbmdab29tXSkpOwogfQogCg==
</data>
<flag name="review"
          id="332064"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>