<?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>165807</bug_id>
          
          <creation_ts>2016-12-13 10:29:50 -0800</creation_ts>
          <short_desc>Small refactor: Use HashCountedSet rather than HashMap&lt;..., int&gt; to store client counts in WebPlaybackSessionManager{,Proxy}.</short_desc>
          <delta_ts>2016-12-16 14:06:36 -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>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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jeremyj-wk</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1259439</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-12-13 10:29:50 -0800</bug_when>
    <thetext>Small refactor: Use HashCountedSet rather than HashMap&lt;..., int&gt; to store client counts in WebPlaybackSessionManager{,Proxy}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259441</commentid>
    <comment_count>1</comment_count>
      <attachid>297021</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-12-13 10:33:05 -0800</bug_when>
    <thetext>Created attachment 297021
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259445</commentid>
    <comment_count>2</comment_count>
      <attachid>297024</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-12-13 10:41:48 -0800</bug_when>
    <thetext>Created attachment 297024
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260712</commentid>
    <comment_count>3</comment_count>
      <attachid>297024</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-12-16 13:02:58 -0800</bug_when>
    <thetext>Comment on attachment 297024
Patch

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

&gt; Source/WebKit2/UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:37
&gt;  #include &lt;wtf/HashSet.h&gt;

Nit: you can probably delete this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260732</commentid>
    <comment_count>4</comment_count>
      <attachid>297024</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-12-16 13:37:47 -0800</bug_when>
    <thetext>Comment on attachment 297024
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:37
&gt;&gt;  #include &lt;wtf/HashSet.h&gt;
&gt; 
&gt; Nit: you can probably delete this.

Unfortunately, there&apos;s another HashMap member and another HashSet member in this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260741</commentid>
    <comment_count>5</comment_count>
      <attachid>297024</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-16 14:06:32 -0800</bug_when>
    <thetext>Comment on attachment 297024
Patch

Clearing flags on attachment: 297024

Committed r209937: &lt;http://trac.webkit.org/changeset/209937&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260742</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-16 14:06:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297021</attachid>
            <date>2016-12-13 10:33:05 -0800</date>
            <delta_ts>2016-12-13 10:33:54 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-165807-20161213103220.patch</filename>
            <type>text/plain</type>
            <size>7429</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5NzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGFiODU2NjljOGJkZGRi
N2NiMjBmOThjNTk5NzFhY2FjZTM2MzNmZC4uYmY1ODk4NWVkYjlmYmQxNmQyMGI4Mzk1YWM0MGVl
YzFmOTY2MmFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTEyLTEyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bGxzY3JlZW4gaW4gV2Vi
S2l0MiBkb2VzIG5vdCByZXN0b3JlIHRvcENvbnRlbnRJbnNldCB1cG9uIGV4aXRpbmc7IGxlYXZl
cyB0b3Agb2YgcGFnZSBub3QgdmlzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1Njk3CisKKyAgICAgICAgRGVsZWdhdGUgdGhlIHZhbHVlcyBv
ZiB0b3BDb250ZW50SW5zZXQoKSBmcm9tIFdlYlZpZXdJbXBsICh1c2VkIGJ5IFdLV2ViVmlldyBh
bmQgV0tWaWV3KSB0byB0aGUKKyAgICAgICAgV2ViUGFnZVByb3h5LCBzbyB0aGF0IHNldHRpbmcg
dGhlIHRvcENvbnRlbnRJbnNldCgpIG9uIFdlYlBhZ2VQcm94eSBpcyByZWZsZWN0ZWQgaW4gdGhl
IGdldHRlcnMKKyAgICAgICAgZm9yIHRoZSB0d28gdmlldyBjbGFzc2VzLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnRvcENvbnRlbnRJbnNldCk6
IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6dXBkYXRlQ29udGVudEluc2V0c0lmQXV0b21hdGlj
KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnRvcENvbnRlbnRJbnNldCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRUb3BDb250ZW50SW5zZXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3SW1wbDo6ZGlzcGF0Y2hTZXRUb3BDb250ZW50SW5zZXQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbToKKyAgICAg
ICAgKC1bV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlciBlbnRlckZ1bGxTY3JlZW46XSk6Cisg
ICAgICAgICgtW1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIgZmluaXNoZWRFbnRlckZ1bGxT
Y3JlZW5BbmltYXRpb246XSk6CisgICAgICAgICgtW1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xs
ZXIgZmluaXNoZWRFeGl0RnVsbFNjcmVlbkFuaW1hdGlvbjpdKToKKyAgICAgICAgKC1bV0tGdWxs
U2NyZWVuV2luZG93Q29udHJvbGxlciBfc2F2ZVRvcENvbnRlbnRJbnNldF0pOiBEZWxldGVkLgor
ICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyIF9yZXN0b3JlVG9wQ29udGVu
dEluc2V0XSk6IERlbGV0ZWQuCisKIDIwMTYtMTItMTEgIEtvbnN0YW50aW4gVG9rYXJldiAgPGFu
bnVsZW5AeWFuZGV4LnJ1PgogCiAgICAgICAgIFVucmV2aWV3ZWQgYXR0ZW1wdCB0byBmaXggRUZM
IGFuZCBNYWMvY21ha2UgYnVpbGRzIGFmdGVyIHIyMDk2NjUuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IGIyOWRhNzg2MWJiMGJjODNiZTMyNzIy
OTMzMmE5YTM4MTkwOWI5MGQuLjY1YTk5Y2U2MzE4ZTRjMzQ3NWRiNDQ4YTUzZGFiY2E3ZTQxOWNm
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBA
IC0xNzAsNyArMTcwLDcgQEAgcHVibGljOgogICAgIGJvb2wgYXV0b21hdGljYWxseUFkanVzdHND
b250ZW50SW5zZXRzKCkgY29uc3QgeyByZXR1cm4gbV9hdXRvbWF0aWNhbGx5QWRqdXN0c0NvbnRl
bnRJbnNldHM7IH0KICAgICB2b2lkIHVwZGF0ZUNvbnRlbnRJbnNldHNJZkF1dG9tYXRpYygpOwog
ICAgIHZvaWQgc2V0VG9wQ29udGVudEluc2V0KENHRmxvYXQpOwotICAgIENHRmxvYXQgdG9wQ29u
dGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BDb250ZW50SW5zZXQ7IH0KKyAgICBDR0Zs
b2F0IHRvcENvbnRlbnRJbnNldCgpIGNvbnN0OwogCiAgICAgdm9pZCBwcmVwYXJlQ29udGVudElu
UmVjdChDR1JlY3QpOwogICAgIHZvaWQgdXBkYXRlVmlld0V4cG9zZWRSZWN0KCk7CkBAIC02MDYs
NyArNjA2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2luZG93T2NjbHVzaW9uRGV0ZWN0aW9u
RW5hYmxlZCB7IHRydWUgfTsKIAogICAgIGJvb2wgbV9hdXRvbWF0aWNhbGx5QWRqdXN0c0NvbnRl
bnRJbnNldHMgeyBmYWxzZSB9OwotICAgIENHRmxvYXQgbV90b3BDb250ZW50SW5zZXQgeyAwIH07
CisgICAgQ0dGbG9hdCBtX3BlbmRpbmdUb3BDb250ZW50SW5zZXQgeyAwIH07CiAgICAgYm9vbCBt
X2RpZFNjaGVkdWxlU2V0VG9wQ29udGVudEluc2V0IHsgZmFsc2UgfTsKIAogICAgIENHU2l6ZSBt
X3Jlc2l6ZVNjcm9sbE9mZnNldCB7IDAsIDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCBlYWQ2MmE1YjMyYzRhNzhjYWMzOGFmODlhMjNh
MDFjYTliOTYzYjVlLi4wZTE3NDAxN2QyODA2NGVkNTY4ZjE2YmEwZjcwZWNkMjRjMzAxNGExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0x
NjE1LDE1ICsxNjE1LDIyIEBAIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZUNvbnRlbnRJbnNldHNJ
ZkF1dG9tYXRpYygpCiAgICAgaWYgKCh3aW5kb3cuc3R5bGVNYXNrICYgTlNXaW5kb3dTdHlsZU1h
c2tGdWxsU2l6ZUNvbnRlbnRWaWV3KSAmJiAhd2luZG93LnRpdGxlYmFyQXBwZWFyc1RyYW5zcGFy
ZW50ICYmICFbbV92aWV3IGVuY2xvc2luZ1Njcm9sbFZpZXddKSB7CiAgICAgICAgIE5TUmVjdCBj
b250ZW50TGF5b3V0UmVjdCA9IFttX3ZpZXcgY29udmVydFJlY3Q6d2luZG93LmNvbnRlbnRMYXlv
dXRSZWN0IGZyb21WaWV3Om5pbF07CiAgICAgICAgIENHRmxvYXQgbmV3VG9wQ29udGVudEluc2V0
ID0gTlNNYXhZKGNvbnRlbnRMYXlvdXRSZWN0KSAtIE5TSGVpZ2h0KGNvbnRlbnRMYXlvdXRSZWN0
KTsKLSAgICAgICAgaWYgKG1fdG9wQ29udGVudEluc2V0ICE9IG5ld1RvcENvbnRlbnRJbnNldCkK
KyAgICAgICAgaWYgKG1fcGFnZS0+dG9wQ29udGVudEluc2V0KCkgIT0gbmV3VG9wQ29udGVudElu
c2V0KQogICAgICAgICAgICAgc2V0VG9wQ29udGVudEluc2V0KG5ld1RvcENvbnRlbnRJbnNldCk7
CiAgICAgfSBlbHNlCiAgICAgICAgIHNldFRvcENvbnRlbnRJbnNldCgwKTsKIH0KIAorQ0dGbG9h
dCBXZWJWaWV3SW1wbDo6dG9wQ29udGVudEluc2V0KCkgY29uc3QKK3sKKyAgICBpZiAobV9kaWRT
Y2hlZHVsZVNldFRvcENvbnRlbnRJbnNldCkKKyAgICAgICAgcmV0dXJuIG1fcGVuZGluZ1RvcENv
bnRlbnRJbnNldDsKKyAgICByZXR1cm4gbV9wYWdlLT50b3BDb250ZW50SW5zZXQoKTsKK30KKwog
dm9pZCBXZWJWaWV3SW1wbDo6c2V0VG9wQ29udGVudEluc2V0KENHRmxvYXQgY29udGVudEluc2V0
KQogewotICAgIG1fdG9wQ29udGVudEluc2V0ID0gY29udGVudEluc2V0OworICAgIG1fcGVuZGlu
Z1RvcENvbnRlbnRJbnNldCA9IGNvbnRlbnRJbnNldDsKIAogICAgIGlmIChtX2RpZFNjaGVkdWxl
U2V0VG9wQ29udGVudEluc2V0KQogICAgICAgICByZXR1cm47CkBAIC0xNjQ0LDcgKzE2NTEsNyBA
QCB2b2lkIFdlYlZpZXdJbXBsOjpkaXNwYXRjaFNldFRvcENvbnRlbnRJbnNldCgpCiAgICAgICAg
IHJldHVybjsKIAogICAgIG1fZGlkU2NoZWR1bGVTZXRUb3BDb250ZW50SW5zZXQgPSBmYWxzZTsK
LSAgICBtX3BhZ2UtPnNldFRvcENvbnRlbnRJbnNldChtX3RvcENvbnRlbnRJbnNldCk7CisgICAg
bV9wYWdlLT5zZXRUb3BDb250ZW50SW5zZXQobV9wZW5kaW5nVG9wQ29udGVudEluc2V0KTsKIH0K
IAogdm9pZCBXZWJWaWV3SW1wbDo6cHJlcGFyZUNvbnRlbnRJblJlY3QoQ0dSZWN0IHJlY3QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVl
bldpbmRvd0NvbnRyb2xsZXIubW0KaW5kZXggZWNmMjUyNjI1NmM0NjkwZjg3ZWU0YTAzYTlmYTM0
MjI1MTkwMmZkNi4uOWUxYzk0N2E2NGFjZjMzNWRjMzIyOWU5YTQ3YjM4ZGM3MmY5MGRlOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dD
b250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2Ny
ZWVuV2luZG93Q29udHJvbGxlci5tbQpAQCAtNDE1LDYgKzQxNSw3IEBAIHN0YXRpYyBjb25zdCBm
bG9hdCBtaW5WaWRlb1dpZHRoID0gNDgwICsgMjAgKyAyMDsgLy8gTm90ZTogS2VlcCBpbiBzeW5j
IHdpdGggbWVkCiAgICAgW3NlbGYgX21hbmFnZXJdLT5zZXRBbmltYXRpbmdGdWxsU2NyZWVuKGZh
bHNlKTsKICAgICBfcGFnZS0+c2NhbGVQYWdlKF9zYXZlZFNjYWxlLCBJbnRQb2ludCgpKTsKICAg
ICBbc2VsZiBfbWFuYWdlcl0tPnJlc3RvcmVTY3JvbGxQb3NpdGlvbigpOworICAgIF9wYWdlLT5z
ZXRUb3BDb250ZW50SW5zZXQoX3NhdmVkVG9wQ29udGVudEluc2V0KTsKIAogICAgIGlmIChfcmVw
YWludENhbGxiYWNrKSB7CiAgICAgICAgIF9yZXBhaW50Q2FsbGJhY2stPmludmFsaWRhdGUoV2Vi
S2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yOjpPd25lcldhc0ludmFsaWRhdGVkKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiM2JiYjg0YjljMjRj
MDdhODFiYTdhOGEzNDgxY2Q4Mjg0NmFiOWU1Li5mODM5ODk0MDQ4MDg5YjMwNzM1YzU5OTA2OTIy
MjUwMTVkNzgxMTBhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMTItMTIgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgRnVsbHNjcmVlbiBpbiBXZWJLaXQyIGRvZXMgbm90IHJl
c3RvcmUgdG9wQ29udGVudEluc2V0IHVwb24gZXhpdGluZzsgbGVhdmVzIHRvcCBvZiBwYWdlIG5v
dCB2aXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjU2OTcKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRnVsbHNjcmVlblRvcENvbnRlbnRJbnNl
dC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE2LTEyLTEyICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5nZUxvZ3MgYmVj
b21lIHJlYWRvbmx5IGFmdGVyIHJlc29sdmluZyBhIGNvbmZsaWN0CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9GdWxsc2NyZWVuVG9wQ29udGVudElu
c2V0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRnVsbHNjcmVl
blRvcENvbnRlbnRJbnNldC5tbQppbmRleCAwMWY2ZTg4OTNjMWYzNzI3M2Y3OTgwMjM3NzhjZGM1
MjFlZWJkMzhmLi5kMTFjODBhYzZlNGRlMzJmYTYxYmVmM2UyZDg3MjkzMTA3YjYyZDEwIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9GdWxsc2NyZWVu
VG9wQ29udGVudEluc2V0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL0Z1bGxzY3JlZW5Ub3BDb250ZW50SW5zZXQubW0KQEAgLTU4LDYgKzU4LDcgQEAgVEVT
VChGdWxsc2NyZWVuLCBUb3BDb250ZW50SW5zZXQpCiAgICAgUmV0YWluUHRyPFdLV2ViVmlld0Nv
bmZpZ3VyYXRpb24+IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBhbGxvY10gaW5pdF0pOwogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
MTAwLCAxMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIFt3ZWJW
aWV3IF9zZXRUb3BDb250ZW50SW5zZXQ6MTBdOworICAgIFt3ZWJWaWV3IF9zZXRBdXRvbWF0aWNh
bGx5QWRqdXN0c0NvbnRlbnRJbnNldHM6Tk9dOwogICAgIFtjb25maWd1cmF0aW9uIHByZWZlcmVu
Y2VzXS5fZnVsbFNjcmVlbkVuYWJsZWQgPSBZRVM7CiAgICAgUmV0YWluUHRyPEZ1bGxzY3JlZW5D
aGFuZ2VNZXNzYWdlSGFuZGxlcj4gaGFuZGxlciA9IGFkb3B0TlMoW1tGdWxsc2NyZWVuQ2hhbmdl
TWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKICAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNv
bnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyLmdldCgpIG5h
bWU6QCJmdWxsc2NyZWVuQ2hhbmdlSGFuZGxlciJdOwpAQCAtNzUsNiArNzYsMTEgQEAgVEVTVChG
dWxsc2NyZWVuLCBUb3BDb250ZW50SW5zZXQpCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZyZWNlaXZlZEZ1bGxzY3JlZW5DaGFuZ2VNZXNzYWdlKTsKICAgICBBU1NFUlRfRVEod2luZG93
LmdldCgpLnNjcmVlbi5mcmFtZS5zaXplLndpZHRoLCB3ZWJWaWV3LmdldCgpLmZyYW1lLnNpemUu
d2lkdGgpOwogICAgIEFTU0VSVF9FUSh3aW5kb3cuZ2V0KCkuc2NyZWVuLmZyYW1lLnNpemUuaGVp
Z2h0ICsgd2ViVmlldy5nZXQoKS5fdG9wQ29udGVudEluc2V0LCB3ZWJWaWV3LmdldCgpLmZyYW1l
LnNpemUuaGVpZ2h0KTsKKworICAgIHJlY2VpdmVkRnVsbHNjcmVlbkNoYW5nZU1lc3NhZ2UgPSBm
YWxzZTsKKyAgICBbd2ViVmlldyBtb3VzZURvd246ZXZlbnRdOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmcmVjZWl2ZWRGdWxsc2NyZWVuQ2hhbmdlTWVzc2FnZSk7CisgICAgQVNTRVJU
X0VRKDEwLCB3ZWJWaWV3LmdldCgpLl90b3BDb250ZW50SW5zZXQpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297024</attachid>
            <date>2016-12-13 10:41:48 -0800</date>
            <delta_ts>2016-12-16 14:06:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165807-20161213104103.patch</filename>
            <type>text/plain</type>
            <size>5948</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5NzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmY1ODk4NWVkYjlmYmQx
NmQyMGI4Mzk1YWM0MGVlYzFmOTY2MmFkOS4uNjFiY2JhNTA1ODE3NmEzYzYyMmUyNTIyNjRmOWIy
MjVjMmFjNDExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTEyLTEzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFNtYWxsIHJlZmFjdG9yOiBV
c2UgSGFzaENvdW50ZWRTZXQgcmF0aGVyIHRoYW4gSGFzaE1hcDwuLi4sIGludD4gdG8gc3RvcmUg
Y2xpZW50IGNvdW50cyBpbiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyeyxQcm94eX0uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU4MDcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmFkZENsaWVudEZvckNvbnRleHQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnJlbW92
ZUNsaWVudEZvckNvbnRleHQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlcjo6YWRkQ2xpZW50Rm9yQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXI6OnJlbW92ZUNsaWVudEZvckNvbnRleHQpOgorCiAyMDE2LTEyLTEy
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1bGxzY3JlZW4g
aW4gV2ViS2l0MiBkb2VzIG5vdCByZXN0b3JlIHRvcENvbnRlbnRJbnNldCB1cG9uIGV4aXRpbmc7
IGxlYXZlcyB0b3Agb2YgcGFnZSBub3QgdmlzaWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eS5oCmluZGV4IGRkNTM1ZTM5MjhiMGJlNGI0NDFjNjQ5NzQyNjUyNzdhMzUzMDMzZmUuLjdiZThl
ZDcyZjdkNDc4NGNmOTg1ZmYzZWFkYzU0YTI4ODliM2U1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
Vmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGltZVJhbmdlcy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTIwMyw3ICsyMDQsNyBAQCBwcml2YXRl
OgogICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOwogICAgIEhhc2hNYXA8dWludDY0X3QsIE1vZGVs
SW50ZXJmYWNlVHVwbGU+IG1fY29udGV4dE1hcDsKICAgICB1aW50NjRfdCBtX2NvbnRyb2xzTWFu
YWdlckNvbnRleHRJZCB7IDAgfTsKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBpbnQ+IG1fY2xpZW50
Q291bnRzOworICAgIEhhc2hDb3VudGVkU2V0PHVpbnQ2NF90PiBtX2NsaWVudENvdW50czsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0K
aW5kZXggYzkyYjBhOTgwMWI0YmJjNzQxNmE2NWQ4NGI3ODQ2NmVmY2E3MThkNS4uYWJjYmZjNTkx
NDU5M2UxN2Q3ODQ2MGJlMGIwZDFhMDhlMjQxYzI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5Lm1tCkBAIC0yODEsMzEgKzI4MSwxNiBAQCBQbGF0Zm9ybVdlYlBsYXliYWNrU2Vzc2lv
bkludGVyZmFjZSYgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjplbnN1cmVJbnRlcgog
CiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6YWRkQ2xpZW50Rm9yQ29udGV4
dCh1aW50NjRfdCBjb250ZXh0SWQpCiB7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBtX2NsaWVudENv
dW50cy5hZGQoY29udGV4dElkLCAxKTsKLSAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0VudHJ5KQot
ICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlKys7CisgICAgbV9jbGllbnRDb3VudHMu
YWRkKGNvbnRleHRJZCk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
OjpyZW1vdmVDbGllbnRGb3JDb250ZXh0KHVpbnQ2NF90IGNvbnRleHRJZCkKIHsKLSAgICBBU1NF
UlQobV9jbGllbnRDb3VudHMuY29udGFpbnMoY29udGV4dElkKSk7Ci0KLSAgICBpbnQgY2xpZW50
Q291bnQgPSBtX2NsaWVudENvdW50cy5nZXQoY29udGV4dElkKTsKLSAgICBBU1NFUlQoY2xpZW50
Q291bnQgPiAwKTsKLSAgICBjbGllbnRDb3VudC0tOwotCi0gICAgaWYgKGNsaWVudENvdW50IDw9
IDApIHsKLSAgICAgICAgbV9jbGllbnRDb3VudHMucmVtb3ZlKGNvbnRleHRJZCk7Ci0KLSAgICAg
ICAgUmVmUHRyPFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dD4gbW9kZWw7Ci0gICAgICAg
IFJlZlB0cjxQbGF0Zm9ybVdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZT4gaW50ZXJmYWNlOwot
ICAgICAgICBzdGQ6OnRpZShtb2RlbCwgaW50ZXJmYWNlKSA9IGVuc3VyZU1vZGVsQW5kSW50ZXJm
YWNlKGNvbnRleHRJZCk7Ci0gICAgICAgIGludGVyZmFjZS0+aW52YWxpZGF0ZSgpOwotICAgICAg
ICBtX2NvbnRleHRNYXAucmVtb3ZlKGNvbnRleHRJZCk7CisgICAgaWYgKCFtX2NsaWVudENvdW50
cy5yZW1vdmUoY29udGV4dElkKSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAotICAgIG1fY2xp
ZW50Q291bnRzLnNldChjb250ZXh0SWQsIGNsaWVudENvdW50KTsKKyAgICBlbnN1cmVJbnRlcmZh
Y2UoY29udGV4dElkKS5pbnZhbGlkYXRlKCk7CisgICAgbV9jb250ZXh0TWFwLnJlbW92ZShjb250
ZXh0SWQpOwogfQogCiAjcHJhZ21hIG1hcmsgTWVzc2FnZXMgZnJvbSBXZWJQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dl
YlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29j
b2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCmluZGV4IDQ1MjI2MTU1NGJlYmFkNjU1YjRi
NDNhZTg5YTYzZDVkYmZjNzI2NGUuLjI1NDc5NGFmZmUwODYxMzcxMzY4NjYzNzhjYjkxMDI4ZjI4
ZTVjMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxh
eWJhY2tTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29j
b2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9QbGF0Zm9ybUNBTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYlBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMTUxLDcgKzE1Miw3IEBAIHByb3RlY3RlZDoKICAg
ICBIYXNoTWFwPFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQqLCB1aW50NjRfdD4gbV9tZWRpYUVs
ZW1lbnRzOwogICAgIEhhc2hNYXA8dWludDY0X3QsIE1vZGVsSW50ZXJmYWNlVHVwbGU+IG1fY29u
dGV4dE1hcDsKICAgICB1aW50NjRfdCBtX2NvbnRyb2xzTWFuYWdlckNvbnRleHRJZCB7IDAgfTsK
LSAgICBIYXNoTWFwPHVpbnQ2NF90LCBpbnQ+IG1fY2xpZW50Q291bnRzOworICAgIEhhc2hDb3Vu
dGVkU2V0PHVpbnQ2NF90PiBtX2NsaWVudENvdW50czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCmluZGV4IGNiNzJjNDNmZTk4MDI3MDNmZGYzNDNm
NDgyMWU0N2ViZTZkN2Y5NDUuLmI4MDY2MjM4ZGEwNzBhOGVjMTEyNjk0YmVkOTA0MWI4OTg2NzFm
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29h
L1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KQEAgLTIxMywyNiArMjEzLDE0IEBAIHZvaWQg
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6cmVtb3ZlQ29udGV4dCh1aW50NjRfdCBjb250ZXh0
SWQpCiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6YWRkQ2xpZW50Rm9yQ29udGV4
dCh1aW50NjRfdCBjb250ZXh0SWQpCiB7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBtX2NsaWVudENv
dW50cy5hZGQoY29udGV4dElkLCAxKTsKLSAgICBpZiAoIWFkZFJlc3VsdC5pc05ld0VudHJ5KQot
ICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlKys7CisgICAgbV9jbGllbnRDb3VudHMu
YWRkKGNvbnRleHRJZCk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6cmVt
b3ZlQ2xpZW50Rm9yQ29udGV4dCh1aW50NjRfdCBjb250ZXh0SWQpCiB7CiAgICAgQVNTRVJUKG1f
Y2xpZW50Q291bnRzLmNvbnRhaW5zKGNvbnRleHRJZCkpOwotCi0gICAgaW50IGNsaWVudENvdW50
ID0gbV9jbGllbnRDb3VudHMuZ2V0KGNvbnRleHRJZCk7Ci0gICAgQVNTRVJUKGNsaWVudENvdW50
ID4gMCk7Ci0gICAgY2xpZW50Q291bnQtLTsKLQotICAgIGlmIChjbGllbnRDb3VudCA8PSAwKSB7
Ci0gICAgICAgIG1fY2xpZW50Q291bnRzLnJlbW92ZShjb250ZXh0SWQpOworICAgIGlmIChtX2Ns
aWVudENvdW50cy5yZW1vdmUoY29udGV4dElkKSkKICAgICAgICAgcmVtb3ZlQ29udGV4dChjb250
ZXh0SWQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbV9jbGllbnRDb3VudHMuc2V0
KGNvbnRleHRJZCwgY2xpZW50Q291bnQpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXI6OnNldFVwUGxheWJhY2tDb250cm9sc01hbmFnZXIoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudCYgbWVkaWFFbGVtZW50KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>