<?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>76750</bug_id>
          
          <creation_ts>2012-01-20 16:10:39 -0800</creation_ts>
          <short_desc>[windows] Convert usage of GetDC to HWndDC Part 2.</short_desc>
          <delta_ts>2012-01-23 17:32:01 -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>Platform</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>
          
          <blocked>76303</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>aroben</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dslomov</cc>
    
    <cc>levin+threading</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>539886</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2012-01-20 16:10:39 -0800</bug_when>
    <thetext>These usages are where I changed (usually buggy) functionality. 

Usually these were leaks. In one case, I reduced the lifetime of a dc because it allowed for simpler code (when using an RAII class like HWndDC). In another case, the code was using OwnPtr&lt;HDC&gt; when it should not have been so the HDC was getting deleted when it should have been released.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539893</commentid>
    <comment_count>1</comment_count>
      <attachid>123402</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2012-01-20 16:16:54 -0800</bug_when>
    <thetext>Created attachment 123402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539895</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-20 16:19:10 -0800</bug_when>
    <thetext>Attachment 123402 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/win/WebNodeHighlight.cpp:138:  Use OwnPtr&lt;HDC&gt; when calling CreateCompatibleDC to avoid potential memory leaks.  [runtime/leaky_pattern] [5]
Source/WebKit/win/FullscreenVideoController.cpp:489:  Use OwnPtr&lt;HDC&gt; when calling CreateCompatibleDC to avoid potential memory leaks.  [runtime/leaky_pattern] [5]
Source/WebKit2/Shared/win/ShareableBitmapWin.cpp:46:  Use OwnPtr&lt;HDC&gt; when calling CreateCompatibleDC to avoid potential memory leaks.  [runtime/leaky_pattern] [5]
Source/WebKit/chromium/ChangeLog:3:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 4 in 31 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539906</commentid>
    <comment_count>3</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2012-01-20 16:29:51 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 123402 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
&gt; 
&gt; Source/WebKit/win/WebNodeHighlight.cpp:138:  Use OwnPtr&lt;HDC&gt; when calling CreateCompatibleDC to avoid potential memory leaks.  [runtime/leaky_pattern] [5]
&gt; Source/WebKit/win/FullscreenVideoController.cpp:489:  Use OwnPtr&lt;HDC&gt; when calling CreateCompatibleDC to avoid potential memory leaks.  [runtime/leaky_pattern] [5]
&gt; Source/WebKit2/Shared/win/ShareableBitmapWin.cpp:46:  Use OwnPtr&lt;HDC&gt; when calling CreateCompatibleDC to avoid potential memory leaks.  [runtime/leaky_pattern] [5]
&gt; Source/WebKit/chromium/ChangeLog:3:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
&gt; Total errors found: 4 in 31 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

Filed: https://bugs.webkit.org/show_bug.cgi?id=76752</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540563</commentid>
    <comment_count>4</comment_count>
      <attachid>123402</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-01-23 08:30:30 -0800</bug_when>
    <thetext>Comment on attachment 123402
Patch

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

&gt; Source/WebKit/win/FullscreenVideoController.cpp:494
&gt; -    HDC windowDC = GetDC(m_hudWindow);
&gt; -    HDC bitmapDC = CreateCompatibleDC(windowDC);
&gt; -    ::ReleaseDC(m_hudWindow, windowDC);
&gt; -    HGDIOBJ oldBitmap = SelectObject(bitmapDC, m_bitmap.get());
&gt; +    OwnPtr&lt;HDC&gt; bitmapDC = createCompatibleDCForWindow(m_hudWindow);

I don&apos;t think the separate function is needed. You can just do: OwnPtr&lt;HDC&gt; bitmapDC = CreateCompatibleDC(HwndDC(m_hudWindow));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541024</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2012-01-23 17:32:01 -0800</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/105667

(In reply to comment #4)
&gt; (From update of attachment 123402 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=123402&amp;action=review
&gt; &gt; +    OwnPtr&lt;HDC&gt; bitmapDC = createCompatibleDCForWindow(m_hudWindow);
&gt; 
&gt; I don&apos;t think the separate function is needed. You can just do: OwnPtr&lt;HDC&gt; bitmapDC = CreateCompatibleDC(HwndDC(m_hudWindow));

Done.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123402</attachid>
            <date>2012-01-20 16:16:54 -0800</date>
            <delta_ts>2012-01-23 08:30:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76750-20120120161653.patch</filename>
            <type>text/plain</type>
            <size>10375</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggMzg0ZmFhNWQw
MTVlNTI1MDk2YjU2ZjJlMTVjMzRjY2ZjN2Q2ODhiNy4uYmY0MTI0ZjE1ZDM5MDJlOGY1M2YyYWYy
MzVlNjUzODM1ZDdmN2ZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEy
LTAxLTE3ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBbd2lu
ZG93c10gQ29udmVydCB1c2FnZXMgb2YgR2V0REMgdG8gSFduZERDIFBhcnQgMi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzUwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKGNyZWF0ZUNvbXBhdGlibGVEQ0ZvcldpbmRvdyk6IE1v
dmVkIG91dCB0aGUgY29kZSB3aGljaCBjcmVhdGVzIGEgREMgZm9yIGEgd2luZG93CisgICAgICAg
IHRvIGtlZXAgdGhlIHNhbWUgc2NvcGUgZm9yIHRoZSBEQyBsaWZldGltZS4KKyAgICAgICAgKEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXI6OmRyYXcpOiAgU3dpdGNoIHRvIHVzaW5nIE93blB0cjxI
REM+CisgICAgICAgIHNpbmNlIGNyZWF0ZUNvbXBhdGlibGVEQ0ZvcldpbmRvdyByZXR1cm5zIGEg
UGFzc093blB0ci4KKyAgICAgICAgKiBXZWJOb2RlSGlnaGxpZ2h0LmNwcDoKKyAgICAgICAgKFdl
Yk5vZGVIaWdobGlnaHQ6OnVwZGF0ZSk6IAorICAgICAgICAgIENsZWFuZWQgdXAgbGVha3MgZnJv
bSBjYWxsaW5nIEdldERDIHdpdGhvdXQgcmVsZWFzZS4KKyAgICAgICAgICBOb3RlIHRoYXQgdGhl
cmUgaXMgYSBwb3RlbnRpYWwgbGVhayBvZiBoZGMgdGhhdCBwcmV2aW91c2x5IGV4aXN0ZWQKKyAg
ICAgICAgICBhbmQgc3RpbGwgZG9lcyBpbiBhbiBlYXJseSBleGl0IHNjZW5hcmlvLiAoVGhpcyBj
b3VsZCBiZSBlYXNpbHkgZml4ZWQKKyAgICAgICAgICBieSB1c2luZyBPd25QdHI8SERDPiBidXQg
SSB3YXMgdHJ5aW5nIHRvIGtlZXAgdGhpcyBwYXRjaCBmb2N1c2VkLikKKyAgICAgICAgKiBXZWJW
aWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OnNjcm9sbEJhY2tpbmdTdG9yZSk6IFR5cGljYWwg
Y29udmVyc2lvbi4KKyAgICAgICAgKFdlYlZpZXc6OnVwZGF0ZUJhY2tpbmdTdG9yZSk6IFJlZHVj
ZWQgdGhlIHNjb3BlIG9mIHdpbmRvd0RDIHRvIGJlCisgICAgICAgIHJpZ2h0IHdoZXJlIGl0IGlz
IGJlaW5nIHVzZWQuCisgICAgICAgIChXZWJWaWV3OjpwZXJmb3JtTGF5ZXJlZFdpbmRvd1VwZGF0
ZSk6IFR5cGljYWwgY29udmVyc2lvbi4KKyAgICAgICAgKFdlYlZpZXc6OnBhaW50SW50b0JhY2tp
bmdTdG9yZSk6IERpdHRvLgorCiAyMDEyLTAxLTA3ICBBbmRyZWFzIEtsaW5nICA8YXdlc29tZWts
aW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBXaW5kb3dzIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCA1NDUzNzlmYzYwN2U4MjA3M2VkNjgyZWE0YmMyMzAxZmU4NDUwMmM1Li5iNTEyYWIxNmJmMWEw
NTYxMjM4Y2ZjNjRmMTYxOGYzNjhmMDM0YTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTItMDEtMTcgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFt3aW5kb3dzXSBDb252ZXJ0IHVzYWdlcyBvZiBHZXREQyB0byBIV25kREMgUGFydCAyLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC93aW4v
U2hhcmVhYmxlQml0bWFwV2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
Ojp3aW5kb3dzQ29udGV4dCk6IEZpeCBpbmNvcnJlY3QgdXNhZ2Ugb2YgT3duUHRyPEhEQz4gd2hp
Y2gKKyAgICAgICAgd291bGQgZG8gYSBEZWxldGVEQyBpbnN0ZWFkIG9mIGEgUmVsZWFzZURDLgor
CiAyMDEyLTAxLTIwICBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5j
b20+CiAKICAgICAgICAgW1F0XSBUcmlnZ2VyIGZvcmNpbmcgYWNjZWxlcmF0ZWQgY29tcG9zaXRp
bmcgZnJvbSB0aGUgVUkgcHJvY2VzcyBzaWRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAppbmRleCAzMDQwNWM2N2RlYjQzNmNmYWM0NGUzNTZh
MWFhZGQ1OTExMDU5ZGQyLi4zNDkzNTg4NDgxMTkwODdkM2UxYTNhYjY0MThkZWU0OTNiMTU1Mjkx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNw
cApAQCAtMzcsMTEgKzM3LDE0IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9Gb250U2VsZWN0b3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29u
dGV4dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSFduZERDLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
YWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNBTGF5ZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1RleHRSdW4uaD4KICNpbmNsdWRlIDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UvV2ViS2l0
U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW5jbHVkZSA8d2luZG93c3guaD4KKyNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC00ODAsMTQgKzQ4MywxOCBA
QCBzdGF0aWMgU3RyaW5nIHRpbWVUb1N0cmluZyhmbG9hdCB0aW1lKQogICAgIHJldHVybiBTdHJp
bmc6OmZvcm1hdCgiJXMlMDJkOiUwMmQiLCAodGltZSA8IDAgPyAiLSIgOiAiIiksIG1pbnV0ZXMs
IHNlY29uZHMpOwogfQogCitzdGF0aWMgUGFzc093blB0cjxIREM+IGNyZWF0ZUNvbXBhdGlibGVE
Q0ZvcldpbmRvdyhIV05EIGh3bmQpCit7CisgICAgSFduZERDIHdpbmRvd0RDKGh3bmQpOworICAg
IHJldHVybiBhZG9wdFB0cihDcmVhdGVDb21wYXRpYmxlREMod2luZG93REMpKTsKK30KKwogdm9p
ZCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjpkcmF3KCkKIHsKLSAgICBIREMgd2luZG93REMg
PSBHZXREQyhtX2h1ZFdpbmRvdyk7Ci0gICAgSERDIGJpdG1hcERDID0gQ3JlYXRlQ29tcGF0aWJs
ZURDKHdpbmRvd0RDKTsKLSAgICA6OlJlbGVhc2VEQyhtX2h1ZFdpbmRvdywgd2luZG93REMpOwot
ICAgIEhHRElPQkogb2xkQml0bWFwID0gU2VsZWN0T2JqZWN0KGJpdG1hcERDLCBtX2JpdG1hcC5n
ZXQoKSk7CisgICAgT3duUHRyPEhEQz4gYml0bWFwREMgPSBjcmVhdGVDb21wYXRpYmxlRENGb3JX
aW5kb3cobV9odWRXaW5kb3cpOworICAgIEhHRElPQkogb2xkQml0bWFwID0gU2VsZWN0T2JqZWN0
KGJpdG1hcERDLmdldCgpLCBtX2JpdG1hcC5nZXQoKSk7CiAKLSAgICBHcmFwaGljc0NvbnRleHQg
Y29udGV4dChiaXRtYXBEQywgdHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoYml0
bWFwREMuZ2V0KCksIHRydWUpOwogCiAgICAgY29udGV4dC5zYXZlKCk7CiAKQEAgLTU0OSwxMiAr
NTU2LDExIEBAIHZvaWQgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcjo6ZHJhdygpCiAgICAgU0la
RSBzaXplID0geyB3aW5kb3dXaWR0aCwgd2luZG93SGVpZ2h0IH07CiAgICAgUE9JTlQgc291cmNl
UG9pbnQgPSB7MCwgMH07CiAgICAgUE9JTlQgZGVzdFBvaW50ID0geyBtX2h1ZFBvc2l0aW9uLngo
KSwgbV9odWRQb3NpdGlvbi55KCkgfTsKLSAgICBCT09MIHJlc3VsdCA9IFVwZGF0ZUxheWVyZWRX
aW5kb3cobV9odWRXaW5kb3csIDAsICZkZXN0UG9pbnQsICZzaXplLCBiaXRtYXBEQywgJnNvdXJj
ZVBvaW50LCAwLCAmYmxlbmRGdW5jdGlvbiwgVUxXX0FMUEhBKTsKKyAgICBCT09MIHJlc3VsdCA9
IFVwZGF0ZUxheWVyZWRXaW5kb3cobV9odWRXaW5kb3csIDAsICZkZXN0UG9pbnQsICZzaXplLCBi
aXRtYXBEQy5nZXQoKSwgJnNvdXJjZVBvaW50LCAwLCAmYmxlbmRGdW5jdGlvbiwgVUxXX0FMUEhB
KTsKIAogICAgIGNvbnRleHQucmVzdG9yZSgpOwogCi0gICAgOjpTZWxlY3RPYmplY3QoYml0bWFw
REMsIG9sZEJpdG1hcCk7Ci0gICAgOjpEZWxldGVEQyhiaXRtYXBEQyk7CisgICAgOjpTZWxlY3RP
YmplY3QoYml0bWFwREMuZ2V0KCksIG9sZEJpdG1hcCk7CiB9CiAKIExSRVNVTFQgRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlcjo6aHVkV25kUHJvYyhIV05EIHduZCwgVUlOVCBtZXNzYWdlLCBXUEFS
QU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
V2ViTm9kZUhpZ2hsaWdodC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJOb2RlSGlnaGxpZ2h0
LmNwcAppbmRleCA1OTUyNzIzY2ZiZTg1MzdlN2Q5ODIxMzQ3MThjNzkyOGRlYTIyMTBhLi5jMzVk
MGI2YWJlZDJhY2I4YTk4NWExZjhhOTllZmZhMjE3YTdkOWViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJOb2RlSGlnaGxpZ2h0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJOb2RlSGlnaGxpZ2h0LmNwcApAQCAtMzMsMTEgKzMzLDEyIEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9CaXRtYXBJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db2xvci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9IV25kREMuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oPgot
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTEzNCw3
ICsxMzUsNyBAQCB2b2lkIFdlYk5vZGVIaWdobGlnaHQ6OnVwZGF0ZSgpCiB7CiAgICAgQVNTRVJU
KG1fb3ZlcmxheSk7CiAKLSAgICBIREMgaGRjID0gOjpDcmVhdGVDb21wYXRpYmxlREMoOjpHZXRE
QyhtX292ZXJsYXkpKTsKKyAgICBIREMgaGRjID0gOjpDcmVhdGVDb21wYXRpYmxlREMoSFduZERD
KG1fb3ZlcmxheSkpOwogICAgIGlmICghaGRjKQogICAgICAgICByZXR1cm47CiAKQEAgLTE3NCw4
ICsxNzUsNyBAQCB2b2lkIFdlYk5vZGVIaWdobGlnaHQ6OnVwZGF0ZSgpCiAgICAgZHN0UG9pbnQu
eCA9IHdlYlZpZXdSZWN0LmxlZnQ7CiAgICAgZHN0UG9pbnQueSA9IHdlYlZpZXdSZWN0LnRvcDsK
IAotICAgIDo6VXBkYXRlTGF5ZXJlZFdpbmRvdyhtX292ZXJsYXksIDo6R2V0REMoMCksICZkc3RQ
b2ludCwgJnNpemUsIGhkYywgJnNyY1BvaW50LCAwLCAmYmYsIFVMV19BTFBIQSk7Ci0KKyAgICA6
OlVwZGF0ZUxheWVyZWRXaW5kb3cobV9vdmVybGF5LCBIV25kREMoMCksICZkc3RQb2ludCwgJnNp
emUsIGhkYywgJnNyY1BvaW50LCAwLCAmYmYsIFVMV19BTFBIQSk7CiAgICAgOjpEZWxldGVEQyho
ZGMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IDU3ZDM0NTgyMTQ5YmYyMGJhNWJiMDUw
ODYwMTEyNWU3OGY2NWRiNTcuLjYxNWZhMTEyM2QwMTYyYjk5M2RiOGY2NDNhYzU1YmFiMzY0MGYy
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC05NSw2ICs5NSw3IEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9HcmFwaGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxNZWRpYUVsZW1l
bnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxOYW1lcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
SFduZERDLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IaXN0b3J5SXRlbS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvSGl0VGVzdFJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hpdFRlc3RSZXN1bHQu
aD4KQEAgLTg2Miw3ICs4NjMsNyBAQCB2b2lkIFdlYlZpZXc6OnNjcm9sbEJhY2tpbmdTdG9yZShG
cmFtZVZpZXcqIGZyYW1lVmlldywgaW50IGR4LCBpbnQgZHksIGNvbnN0IEludAogICAgIEhSR04g
dXBkYXRlUmVnaW9uID0gOjpDcmVhdGVSZWN0UmduKDAsIDAsIDAsIDApOwogCiAgICAgLy8gQ29s
bGVjdCBvdXIgZGV2aWNlIGNvbnRleHQgaW5mbyBhbmQgc2VsZWN0IHRoZSBiaXRtYXAgdG8gc2Ny
b2xsLgotICAgIEhEQyB3aW5kb3dEQyA9IDo6R2V0REMobV92aWV3V2luZG93KTsKKyAgICBIV25k
REMgd2luZG93REMobV92aWV3V2luZG93KTsKICAgICBIREMgYml0bWFwREMgPSA6OkNyZWF0ZUNv
bXBhdGlibGVEQyh3aW5kb3dEQyk7CiAgICAgSEdESU9CSiBvbGRCaXRtYXAgPSA6OlNlbGVjdE9i
amVjdChiaXRtYXBEQywgbV9iYWNraW5nU3RvcmVCaXRtYXAtPmhhbmRsZSgpKTsKICAgICAKQEAg
LTg4OCw3ICs4ODksNiBAQCB2b2lkIFdlYlZpZXc6OnNjcm9sbEJhY2tpbmdTdG9yZShGcmFtZVZp
ZXcqIGZyYW1lVmlldywgaW50IGR4LCBpbnQgZHksIGNvbnN0IEludAogICAgIC8vIENsZWFuIHVw
LgogICAgIDo6U2VsZWN0T2JqZWN0KGJpdG1hcERDLCBvbGRCaXRtYXApOwogICAgIDo6RGVsZXRl
REMoYml0bWFwREMpOwotICAgIDo6UmVsZWFzZURDKG1fdmlld1dpbmRvdywgd2luZG93REMpOwog
fQogCiB2b2lkIFdlYlZpZXc6OnNpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmIG5ld1NpemUpCkBA
IC05NTgsMTEgKzk1OCwxMCBAQCB2b2lkIFdlYlZpZXc6OnVwZGF0ZUJhY2tpbmdTdG9yZShGcmFt
ZVZpZXcqIGZyYW1lVmlldywgSERDIGRjLCBib29sIGJhY2tpbmdTdG9yZQogCiAgICAgTE9DQUxf
R0RJX0NPVU5URVIoMCwgX19GVU5DVElPTl9fKTsKIAotICAgIEhEQyB3aW5kb3dEQyA9IDA7CiAg
ICAgSERDIGJpdG1hcERDID0gZGM7CiAgICAgSEdESU9CSiBvbGRCaXRtYXAgPSAwOwogICAgIGlm
ICghZGMpIHsKLSAgICAgICAgd2luZG93REMgPSA6OkdldERDKG1fdmlld1dpbmRvdyk7CisgICAg
ICAgIEhXbmREQyB3aW5kb3dEQyhtX3ZpZXdXaW5kb3cpOwogICAgICAgICBiaXRtYXBEQyA9IDo6
Q3JlYXRlQ29tcGF0aWJsZURDKHdpbmRvd0RDKTsKICAgICAgICAgb2xkQml0bWFwID0gOjpTZWxl
Y3RPYmplY3QoYml0bWFwREMsIG1fYmFja2luZ1N0b3JlQml0bWFwLT5oYW5kbGUoKSk7CiAgICAg
fQpAQCAtOTk2LDcgKzk5NSw2IEBAIHZvaWQgV2ViVmlldzo6dXBkYXRlQmFja2luZ1N0b3JlKEZy
YW1lVmlldyogZnJhbWVWaWV3LCBIREMgZGMsIGJvb2wgYmFja2luZ1N0b3JlCiAgICAgaWYgKCFk
YykgewogICAgICAgICA6OlNlbGVjdE9iamVjdChiaXRtYXBEQywgb2xkQml0bWFwKTsKICAgICAg
ICAgOjpEZWxldGVEQyhiaXRtYXBEQyk7Ci0gICAgICAgIDo6UmVsZWFzZURDKG1fdmlld1dpbmRv
dywgd2luZG93REMpOwogICAgIH0KIAogICAgIEdkaUZsdXNoKCk7CkBAIC0xMDA4LDcgKzEwMDYs
NyBAQCB2b2lkIFdlYlZpZXc6OnBlcmZvcm1MYXllcmVkV2luZG93VXBkYXRlKCkKICAgICBpZiAo
IW1fYmFja2luZ1N0b3JlQml0bWFwKQogICAgICAgICByZXR1cm47CiAKLSAgICBIREMgaGRjU2Ny
ZWVuID0gOjpHZXREQyhtX3ZpZXdXaW5kb3cpOworICAgIEhXbmREQyBoZGNTY3JlZW4obV92aWV3
V2luZG93KTsKICAgICBPd25QdHI8SERDPiBoZGNNZW0gPSBhZG9wdFB0cig6OkNyZWF0ZUNvbXBh
dGlibGVEQyhoZGNTY3JlZW4pKTsKICAgICBIQklUTUFQIGhibU9sZCA9IHN0YXRpY19jYXN0PEhC
SVRNQVA+KDo6U2VsZWN0T2JqZWN0KGhkY01lbS5nZXQoKSwgbV9iYWNraW5nU3RvcmVCaXRtYXAt
PmhhbmRsZSgpKSk7CiAKQEAgLTEwMjYsNyArMTAyNCw2IEBAIHZvaWQgV2ViVmlldzo6cGVyZm9y
bUxheWVyZWRXaW5kb3dVcGRhdGUoKQogICAgIDo6VXBkYXRlTGF5ZXJlZFdpbmRvdyhtX3ZpZXdX
aW5kb3csIGhkY1NjcmVlbiwgMCwgJndpbmRvd1NpemUsIGhkY01lbS5nZXQoKSwgJmxheWVyUG9z
LCAwLCAmYmxlbmRGdW5jdGlvbiwgVUxXX0FMUEhBKTsKIAogICAgIDo6U2VsZWN0T2JqZWN0KGhk
Y01lbS5nZXQoKSwgaGJtT2xkKTsKLSAgICA6OlJlbGVhc2VEQygwLCBoZGNTY3JlZW4pOwogfQog
CiB2b2lkIFdlYlZpZXc6OnBhaW50KEhEQyBkYywgTFBBUkFNIG9wdGlvbnMpCkBAIC0xMTMyLDEz
ICsxMTI5LDE0IEBAIHZvaWQgV2ViVmlldzo6cGFpbnRJbnRvQmFja2luZ1N0b3JlKEZyYW1lVmll
dyogZnJhbWVWaWV3LCBIREMgYml0bWFwREMsIGNvbnN0IEluCiAgICAgUkVDVCByZWN0ID0gZGly
dHlSZWN0OwogCiAjaWYgRkxBU0hfQkFDS0lOR19TVE9SRV9SRURSQVcKLSAgICBIREMgZGMgPSA6
OkdldERDKG1fdmlld1dpbmRvdyk7Ci0gICAgT3duUHRyPEhCUlVTSD4geWVsbG93QnJ1c2goQ3Jl
YXRlU29saWRCcnVzaChSR0IoMjU1LCAyNTUsIDApKSk7Ci0gICAgRmlsbFJlY3QoZGMsICZyZWN0
LCB5ZWxsb3dCcnVzaC5nZXQoKSk7Ci0gICAgR2RpRmx1c2goKTsKLSAgICBTbGVlcCg1MCk7Ci0g
ICAgcGFpbnRJbnRvV2luZG93KGJpdG1hcERDLCBkYywgZGlydHlSZWN0KTsKLSAgICA6OlJlbGVh
c2VEQyhtX3ZpZXdXaW5kb3csIGRjKTsKKyAgICB7CisgICAgICAgIEhXbmREQyBkYyhtX3ZpZXdX
aW5kb3cpOworICAgICAgICBPd25QdHI8SEJSVVNIPiB5ZWxsb3dCcnVzaChDcmVhdGVTb2xpZEJy
dXNoKFJHQigyNTUsIDI1NSwgMCkpKTsKKyAgICAgICAgRmlsbFJlY3QoZGMsICZyZWN0LCB5ZWxs
b3dCcnVzaC5nZXQoKSk7CisgICAgICAgIEdkaUZsdXNoKCk7CisgICAgICAgIFNsZWVwKDUwKTsK
KyAgICAgICAgcGFpbnRJbnRvV2luZG93KGJpdG1hcERDLCBkYywgZGlydHlSZWN0KTsKKyAgICB9
CiAjZW5kaWYKIAogICAgIEdyYXBoaWNzQ29udGV4dCBnYyhiaXRtYXBEQywgbV90cmFuc3BhcmVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL1NoYXJlYWJsZUJpdG1h
cFdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL1NoYXJlYWJsZUJpdG1hcFdpbi5j
cHAKaW5kZXggYmYyM2RjZGZmOWE2NWVkZmQxZDBkMTc5ZTQ4NmE2YjgzYjcwZDIzNi4uMmVkODQy
OGIwNmM1NDljNjllMmJiZGIwNGIwNmRmZGM4Y2NlOWM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL3dpbi9TaGFyZWFibGVCaXRtYXBXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC93aW4vU2hhcmVhYmxlQml0bWFwV2luLmNwcApAQCAtMjgsNiArMjgsNyBAQAog
CiAjaW5jbHVkZSA8V2ViQ29yZS9CaXRtYXBJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFw
aGljc0NvbnRleHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0hXbmREQy5oPgogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIApAQCAtMzksMTAgKzQwLDEwIEBAIEhEQyBTaGFyZWFibGVCaXRtYXA6
OndpbmRvd3NDb250ZXh0KCkgY29uc3QKICAgICBpZiAobV93aW5kb3dzQ29udGV4dCkKICAgICAg
ICAgcmV0dXJuIG1fd2luZG93c0NvbnRleHQuZ2V0KCk7CiAKLSAgICBPd25QdHI8SERDPiBzY3Jl
ZW5EQyA9IGFkb3B0UHRyKDo6R2V0REMoMCkpOworICAgIEhXbmREQyBzY3JlZW5EQygwKTsKICAg
ICBCaXRtYXBJbmZvIGJtSW5mbyA9IEJpdG1hcEluZm86OmNyZWF0ZUJvdHRvbVVwKG1fc2l6ZSk7
CiAKLSAgICBtX3dpbmRvd3NDb250ZXh0ID0gYWRvcHRQdHIoOjpDcmVhdGVDb21wYXRpYmxlREMo
c2NyZWVuREMuZ2V0KCkpKTsKKyAgICBtX3dpbmRvd3NDb250ZXh0ID0gYWRvcHRQdHIoOjpDcmVh
dGVDb21wYXRpYmxlREMoc2NyZWVuREMpKTsKICAgICBtX3dpbmRvd3NCaXRtYXAgPSBhZG9wdFB0
cihDcmVhdGVESUJTZWN0aW9uKG1fd2luZG93c0NvbnRleHQuZ2V0KCksICZibUluZm8sIERJQl9S
R0JfQ09MT1JTLCAwLCBtX3NoYXJlZE1lbW9yeS0+aGFuZGxlKCksIDApKTsKICAgICA6OlNlbGVj
dE9iamVjdChtX3dpbmRvd3NDb250ZXh0LmdldCgpLCBtX3dpbmRvd3NCaXRtYXAuZ2V0KCkpOwog
Cg==
</data>
<flag name="review"
          id="124454"
          type_id="1"
          status="+"
          setter="aroben"
    />
    <flag name="commit-queue"
          id="124455"
          type_id="3"
          status="-"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>