<?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>149516</bug_id>
          
          <creation_ts>2015-09-23 22:02:21 -0700</creation_ts>
          <short_desc>[Win] Support composited content in WebView render-to-context methods</short_desc>
          <delta_ts>2015-09-24 20:41: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>Layout and Rendering</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1128438</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-23 22:02:21 -0700</bug_when>
    <thetext>The current implementations of WebView::paintDocumentRectToContext and WebView::paintScrollViewRectToContextAtPoint only draw GDI-based content into the passed device context. This causes CALayer-based information to be skipped, since it typically draws on its own 60-hz timer outside of the normal paint operation.

The purpose of these two methods is to allow a WebView to be rendered into a specific device context, usually representing a bitmap or back buffer. Consequently, we should perform a draw operation from the CALayerTree into the context when this method is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128439</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-23 22:02:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/22635080&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128444</commentid>
    <comment_count>2</comment_count>
      <attachid>261862</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-23 23:02:27 -0700</bug_when>
    <thetext>Created attachment 261862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128496</commentid>
    <comment_count>3</comment_count>
      <attachid>261862</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-09-24 08:10:36 -0700</bug_when>
    <thetext>Comment on attachment 261862
Patch

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

&gt; Source/WebKit/win/WebView.cpp:6165
&gt; +            ::ValidateRect(m_viewWindow, nullptr);

Is it correct to validate a rect in the window when you may be painting into an unrelated DC?

&gt; Source/WebKit/win/WebView.cpp:6192
&gt; +            ::ValidateRect(m_viewWindow, nullptr);

Ditto. Also why isn&apos;t this code shared?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128498</commentid>
    <comment_count>4</comment_count>
      <attachid>261862</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-24 08:59:41 -0700</bug_when>
    <thetext>Comment on attachment 261862
Patch

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

&gt;&gt; Source/WebKit/win/WebView.cpp:6165
&gt;&gt; +            ::ValidateRect(m_viewWindow, nullptr);
&gt; 
&gt; Is it correct to validate a rect in the window when you may be painting into an unrelated DC?

I think you are right. This should not be used here.

&gt;&gt; Source/WebKit/win/WebView.cpp:6192
&gt;&gt; +            ::ValidateRect(m_viewWindow, nullptr);
&gt; 
&gt; Ditto. Also why isn&apos;t this code shared?

It should be. I&apos;ll revise that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128652</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-24 20:41:52 -0700</bug_when>
    <thetext>Committed r190235: &lt;http://trac.webkit.org/changeset/190235&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261862</attachid>
            <date>2015-09-23 23:02:27 -0700</date>
            <delta_ts>2015-09-24 08:10:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149516-20150923231827.patch</filename>
            <type>text/plain</type>
            <size>8366</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDE5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE1LTA5LTIzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFN1cHBvcnQgY29t
cG9zaXRlZCBjb250ZW50IGluIFdlYlZpZXcgcmVuZGVyLXRvLWNvbnRleHQgbWV0aG9kcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NTE2CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yMjYzNTA4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmQgdGhlIENBQ0ZMYXllclRyZWVIb3N0IGltcGxl
bWVudGF0aW9uIHRvIHJlbmRlciBpbnRvIGEgcGFzc2VkCisgICAgICAgIGRldmljZSBjb250ZXh0
IHdoZW4gcmVxdWVzdGVkLiBXaGVuIG5vIGNvbnRleHQgaXMgcHJvdmlkZWQgKHRoZSBkZWZhdWx0
CisgICAgICAgIGNhc2UpIHBhaW50IGFzIG5vcm1hbC4KKyAgICAgICAgCisgICAgICAgIFdpbGwg
YmUgdGVzdGVkIGJ5IGV4aXN0aW5nIGNvbXBvc2l0aW5nIHRlc3RzIGluIGEgZnV0dXJlIGJ1Zy4g
RHVtcFJlbmRlclRyZWUKKyAgICAgICAgaGFzIHRvIGJlIGV4dGVuZGVkIHRvIGRvIHRoaXMgcGFp
bnRpbmcgcHJvcGVybHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FD
RkxheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0FDRkxheWVyVHJlZUhvc3Q6
OnBhaW50KTogQWNjZXB0IGFuIG9wdGlvbmFsIEhEQyBhcmd1bWVudCwgYW5kCisgICAgICAgIHBh
c3MgaXQgdG8gdGhlIHJlbmRlciBtZXRob2QuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Evd2luL1dLQ0FDRlZpZXdMYXllclRyZWVIb3N0LmNwcDogQWRkIG1pc3NpbmcgU09GVF9MSU5L
CisgICAgICAgIGNvbW1hbmQgZm9yIHRoZSBXS0NBQ0ZWaWV3RHJhd0ludG9EQy4KKyAgICAgICAg
KFdlYkNvcmU6OldLQ0FDRlZpZXdMYXllclRyZWVIb3N0OjpyZW5kZXIpOiBBY2NlcHQgbmV3IG9w
dGlvbmFsIEhEQyBhcmd1bWVudC4KKyAgICAgICAgSWYgcHJvdmlkZWQsIGNhbGwgV0tDQUNGVmll
d0RyYXdJbnRvREMuIE90aGVyd2lzZSwgY2FsbCBXS0NBQ0ZWSWV3RHJhdy4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vV0tDQUNGVmlld0xheWVyVHJlZUhvc3QuaDoKKwogMjAx
NS0wOS0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBs
aWZ5IC8gT3B0aW1pemUgUmFuZ2U6OnNlbGVjdE5vZGUoKQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJl
ZUhvc3QuY3BwCShyZXZpc2lvbiAxOTAxOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NjEsMTEgKzI2MSwxMSBAQCBzdGF0aWMgdm9pZCBnZXREaXJ0eVJlY3RzKEhXTkQgd2luZG93LCBW
CiAgICAgICAgIG91dFJlY3RzW2ldID0gd2luUmVjdFRvQ0dSZWN0KCpyZWN0LCBjbGllbnRSZWN0
KTsKIH0KIAotdm9pZCBDQUNGTGF5ZXJUcmVlSG9zdDo6cGFpbnQoKQordm9pZCBDQUNGTGF5ZXJU
cmVlSG9zdDo6cGFpbnQoSERDIGRjKQogewogICAgIFZlY3RvcjxDR1JlY3Q+IGRpcnR5UmVjdHM7
CiAgICAgZ2V0RGlydHlSZWN0cyhtX3dpbmRvdywgZGlydHlSZWN0cyk7Ci0gICAgcmVuZGVyKGRp
cnR5UmVjdHMpOworICAgIHJlbmRlcihkaXJ0eVJlY3RzLCBkYyk7CiB9CiAKIHZvaWQgQ0FDRkxh
eWVyVHJlZUhvc3Q6OmZsdXNoUGVuZGluZ0dyYXBoaWNzTGF5ZXJDaGFuZ2VzU29vbigpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhv
c3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93
aW4vQ0FDRkxheWVyVHJlZUhvc3QuaAkocmV2aXNpb24gMTkwMTk1KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Um9vdENoaWxkTGF5
ZXIoUGxhdGZvcm1DQUxheWVyKik7CiAgICAgdm9pZCBzZXRXaW5kb3coSFdORCk7CiAgICAgdm9p
ZCBzZXRQYWdlKFBhZ2UqKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoKTsKKyAgICB2aXJ0dWFs
IHZvaWQgcGFpbnQoSERDID0gbnVsbHB0cik7CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZSgpID0g
MDsKICAgICB2b2lkIGZsdXNoUGVuZGluZ0dyYXBoaWNzTGF5ZXJDaGFuZ2VzU29vbigpOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRTaG91bGRJbnZlcnRDb2xvcnMoYm9vbCk7CkBAIC0xMDgsNyArMTA4
LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBmbHVzaENvbnRleHQoKSA9IDA7CiAg
ICAgdmlydHVhbCBDRlRpbWVJbnRlcnZhbCBsYXN0Q29tbWl0VGltZSgpIGNvbnN0ID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGNvbnN0IFZlY3RvcjxDR1JlY3Q+JiBkaXJ0eVJlY3RzID0g
VmVjdG9yPENHUmVjdD4oKSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZW5kZXIoY29uc3QgVmVj
dG9yPENHUmVjdD4mIGRpcnR5UmVjdHMgPSBWZWN0b3I8Q0dSZWN0PigpLCBIREMgPSBudWxscHRy
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVDb250ZXh0KHZvaWQqIHVzZXJEYXRh
LCBQbGF0Zm9ybUNBTGF5ZXIqKSA9IDA7CiAKICAgICBDQUNGTGF5ZXJUcmVlSG9zdENsaWVudCog
bV9jbGllbnQgeyBudWxscHRyIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS93aW4vV0tDQUNGVmlld0xheWVyVHJlZUhvc3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9XS0NBQ0ZWaWV3TGF5ZXJUcmVl
SG9zdC5jcHAJKHJldmlzaW9uIDE5MDE5NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL3dpbi9XS0NBQ0ZWaWV3TGF5ZXJUcmVlSG9zdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUyLDYgKzUyLDcgQEAgU09GVF9MSU5LKFdlYktpdFF1YXJ0ekNvcmVBZGRpdGlvbnMsIFdL
QwogU09GVF9MSU5LKFdlYktpdFF1YXJ0ekNvcmVBZGRpdGlvbnMsIFdLQ0FDRlZpZXdVcGRhdGUs
IHZvaWQsIF9fY2RlY2wsIChXS0NBQ0ZWaWV3UmVmIHZpZXcsIEhXTkQgd2luZG93LCBjb25zdCBD
R1JlY3QqIGJvdW5kcyksICh2aWV3LCB3aW5kb3csIGJvdW5kcykpCiBTT0ZUX0xJTksoV2ViS2l0
UXVhcnR6Q29yZUFkZGl0aW9ucywgV0tDQUNGVmlld0NhbkRyYXcsIGJvb2wsIF9fY2RlY2wsIChX
S0NBQ0ZWaWV3UmVmIHZpZXcpLCAodmlldykpCiBTT0ZUX0xJTksoV2ViS2l0UXVhcnR6Q29yZUFk
ZGl0aW9ucywgV0tDQUNGVmlld0RyYXcsIHZvaWQsIF9fY2RlY2wsIChXS0NBQ0ZWaWV3UmVmIHZp
ZXcpLCAodmlldykpCitTT0ZUX0xJTksoV2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9ucywgV0tDQUNG
Vmlld0RyYXdJbnRvREMsIHZvaWQsIF9fY2RlY2wsIChXS0NBQ0ZWaWV3UmVmIHZpZXcsIEhEQyBk
YyksICh2aWV3LCBkYykpCiBTT0ZUX0xJTksoV2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9ucywgV0tD
QUNGVmlld0ZsdXNoQ29udGV4dCwgdm9pZCwgX19jZGVjbCwgKFdLQ0FDRlZpZXdSZWYgdmlldyks
ICh2aWV3KSkKIFNPRlRfTElOSyhXZWJLaXRRdWFydHpDb3JlQWRkaXRpb25zLCBXS0NBQ0ZWaWV3
SW52YWxpZGF0ZVJlY3RzLCB2b2lkLCBfX2NkZWNsLCAoV0tDQUNGVmlld1JlZiB2aWV3LCBjb25z
dCBDR1JlY3QgcmVjdHNbXSwgc2l6ZV90IGNvdW50KSwgKHZpZXcsIHJlY3RzLCBjb3VudCkpCiB0
eXBlZGVmIHZvaWQgKCpXS0NBQ0ZWaWV3Q29udGV4dERpZENoYW5nZUNhbGxiYWNrKShXS0NBQ0ZW
aWV3UmVmIHZpZXcsIHZvaWQqIGluZm8pOwpAQCAtMTYyLDEwICsxNjMsMTMgQEAgdm9pZCBXS0NB
Q0ZWaWV3TGF5ZXJUcmVlSG9zdDo6cGFpbnQoKQogICAgIENBQ0ZMYXllclRyZWVIb3N0OjpwYWlu
dCgpOwogfQogCi12b2lkIFdLQ0FDRlZpZXdMYXllclRyZWVIb3N0OjpyZW5kZXIoY29uc3QgVmVj
dG9yPENHUmVjdD4mIGRpcnR5UmVjdHMpCit2b2lkIFdLQ0FDRlZpZXdMYXllclRyZWVIb3N0Ojpy
ZW5kZXIoY29uc3QgVmVjdG9yPENHUmVjdD4mIGRpcnR5UmVjdHMsIEhEQyBkYykKIHsKICAgICBX
S0NBQ0ZWaWV3SW52YWxpZGF0ZVJlY3RzKG1fdmlldy5nZXQoKSwgZGlydHlSZWN0cy5kYXRhKCks
IGRpcnR5UmVjdHMuc2l6ZSgpKTsKLSAgICBXS0NBQ0ZWaWV3RHJhdyhtX3ZpZXcuZ2V0KCkpOwor
ICAgIGlmIChkYykKKyAgICAgICAgV0tDQUNGVmlld0RyYXdJbnRvREMobV92aWV3LmdldCgpLCBk
Yyk7CisgICAgZWxzZQorICAgICAgICBXS0NBQ0ZWaWV3RHJhdyhtX3ZpZXcuZ2V0KCkpOwogfQog
CiB2b2lkIFdLQ0FDRlZpZXdMYXllclRyZWVIb3N0OjpzZXRTaG91bGRJbnZlcnRDb2xvcnMoYm9v
bCBzaG91bGRJbnZlcnRDb2xvcnMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS93aW4vV0tDQUNGVmlld0xheWVyVHJlZUhvc3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vV0tDQUNGVmlld0xheWVyVHJlZUhv
c3QuaAkocmV2aXNpb24gMTkwMTk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Evd2luL1dLQ0FDRlZpZXdMYXllclRyZWVIb3N0LmgJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDcgKzUwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hDb250ZXh0KCk7CiAg
ICAgdmlydHVhbCB2b2lkIGNvbnRleHREaWRDaGFuZ2UoKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFp
bnQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGNvbnN0IFZlY3RvcjxDR1JlY3Q+JiBkaXJ0
eVJlY3RzID0gVmVjdG9yPENHUmVjdD4oKSk7CisgICAgdmlydHVhbCB2b2lkIHJlbmRlcihjb25z
dCBWZWN0b3I8Q0dSZWN0PiYgZGlydHlSZWN0cyA9IFZlY3RvcjxDR1JlY3Q+KCksIEhEQyA9IG51
bGxwdHIpOwogICAgIHZpcnR1YWwgQ0ZUaW1lSW50ZXJ2YWwgbGFzdENvbW1pdFRpbWUoKSBjb25z
dDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkSW52ZXJ0Q29sb3JzKGJvb2wpOwogI2lmIFVT
RShBVkZPVU5EQVRJT04pCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTAxOTUpCisr
KyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
OSBAQAorMjAxNS0wOS0yMyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbV2luXSBTdXBwb3J0IGNvbXBvc2l0ZWQgY29udGVudCBpbiBXZWJWaWV3IHJlbmRl
ci10by1jb250ZXh0IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0OTUxNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI2MzUwODA+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9yIHRoZSB0
d28gcGFpbnQtdG8tY29udGV4dCBtZXRob2RzLCB3aGVuIHdlIGFyZSB1c2luZyBhY2NlbGVyYXRl
ZAorICAgICAgICBjb21wb3NpdGluZyBtYWtlIHN1cmUgdG8gYXNrIHRoZSBDQUNGTGF5ZXJUcmVl
IHRvIHBhaW50IGludG8gdGhlCisgICAgICAgIHByb3ZpZGVkIGNvbnRleHQuIE90aGVyd2lzZSB3
ZSBnZXQgbm8gcGFpbnRlZCBvdXRwdXQuCisgICAgICAgIAorICAgICAgICAqIFdlYlZpZXcuY3Bw
OgorICAgICAgICAoV2ViVmlldzo6cGFpbnREb2N1bWVudFJlY3RUb0NvbnRleHQpOgorICAgICAg
ICAoV2ViVmlldzo6cGFpbnRTY3JvbGxWaWV3UmVjdFRvQ29udGV4dEF0UG9pbnQpOgorCiAyMDE1
LTA5LTIxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtX
aW5dIFNob3cgdGlsZWQgZHJhd2luZyBkZWJ1ZyBvdmVybGF5IG9uIFdpbmRvd3MKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
d2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAxOTAxOTUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjE1MSw2ICs2MTUxLDIyIEBAIEhSRVNVTFQg
V2ViVmlldzo6cGFpbnREb2N1bWVudFJlY3RUb0NvbnQKICAgICBpZiAoIW1fbWFpbkZyYW1lKQog
ICAgICAgICByZXR1cm4gRV9VTkVYUEVDVEVEOwogCisgICAgaWYgKGlzQWNjZWxlcmF0ZWRDb21w
b3NpdGluZygpICYmICF1c2VzTGF5ZXJlZFdpbmRvdygpKSB7CisjaWYgVVNFKENBKQorICAgICAg
ICBtX2xheWVyVHJlZUhvc3QtPmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlc05vdygpOworI2VsaWYg
VVNFKFRFWFRVUkVfTUFQUEVSX0dMKQorICAgICAgICBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdD
b250ZXh0LT5mbHVzaEFuZFJlbmRlckxheWVycygpOworI2VuZGlmCisgICAgICAgIC8vIEZsdXNo
aW5nIG1pZ2h0IGhhdmUgdGFrZW4gdXMgb3V0IG9mIGNvbXBvc2l0aW5nIG1vZGUuCisgICAgICAg
IGlmIChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSkgeworI2lmIFVTRShDQSkKKyAgICAgICAg
ICAgIG1fbGF5ZXJUcmVlSG9zdC0+cGFpbnQoZGV2aWNlQ29udGV4dCk7CisjZW5kaWYKKyAgICAg
ICAgICAgIDo6VmFsaWRhdGVSZWN0KG1fdmlld1dpbmRvdywgbnVsbHB0cik7CisgICAgICAgICAg
ICByZXR1cm4gU19PSzsKKyAgICAgICAgfQorICAgIH0KKwogICAgIHJldHVybiBtX21haW5GcmFt
ZS0+cGFpbnREb2N1bWVudFJlY3RUb0NvbnRleHQocmVjdCwgZGV2aWNlQ29udGV4dCk7CiB9CiAK
QEAgLTYxNjIsNiArNjE3OCwyMiBAQCBIUkVTVUxUIFdlYlZpZXc6OnBhaW50U2Nyb2xsVmlld1Jl
Y3RUb0NvCiAgICAgaWYgKCFtX21haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIEVfVU5FWFBFQ1RF
RDsKIAorICAgIGlmIChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSAmJiAhdXNlc0xheWVyZWRX
aW5kb3coKSkgeworI2lmIFVTRShDQSkKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LT5mbHVzaFBl
bmRpbmdMYXllckNoYW5nZXNOb3coKTsKKyNlbGlmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKKyAg
ICAgICAgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC0+Zmx1c2hBbmRSZW5kZXJMYXll
cnMoKTsKKyNlbmRpZgorICAgICAgICAvLyBGbHVzaGluZyBtaWdodCBoYXZlIHRha2VuIHVzIG91
dCBvZiBjb21wb3NpdGluZyBtb2RlLgorICAgICAgICBpZiAoaXNBY2NlbGVyYXRlZENvbXBvc2l0
aW5nKCkpIHsKKyNpZiBVU0UoQ0EpCisgICAgICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnBhaW50
KGRldmljZUNvbnRleHQpOworI2VuZGlmCisgICAgICAgICAgICA6OlZhbGlkYXRlUmVjdChtX3Zp
ZXdXaW5kb3csIG51bGxwdHIpOworICAgICAgICAgICAgcmV0dXJuIFNfT0s7CisgICAgICAgIH0K
KyAgICB9CisKICAgICByZXR1cm4gbV9tYWluRnJhbWUtPnBhaW50U2Nyb2xsVmlld1JlY3RUb0Nv
bnRleHRBdFBvaW50KHJlY3QsIHB0LCBkZXZpY2VDb250ZXh0KTsKIH0KIAo=
</data>
<flag name="review"
          id="287053"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>