<?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>138227</bug_id>
          
          <creation_ts>2014-10-30 13:37:36 -0700</creation_ts>
          <short_desc>Make CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement() faster</short_desc>
          <delta_ts>2014-10-31 14:43:34 -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>CSS</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1045098</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-30 13:37:36 -0700</bug_when>
    <thetext>CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement() currently does a lot of if checks, even though some of them are mutually exclusive. We can reduce the amount of checks by using &quot;else ifs&quot; instead of ifs where appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045122</commentid>
    <comment_count>1</comment_count>
      <attachid>240699</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-30 14:24:14 -0700</bug_when>
    <thetext>Created attachment 240699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045134</commentid>
    <comment_count>2</comment_count>
      <attachid>240703</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-30 14:38:58 -0700</bug_when>
    <thetext>Created attachment 240703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045384</commentid>
    <comment_count>3</comment_count>
      <attachid>240703</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-31 14:43:30 -0700</bug_when>
    <thetext>Comment on attachment 240703
Patch

Clearing flags on attachment: 240703

Committed r175427: &lt;http://trac.webkit.org/changeset/175427&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045385</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-31 14:43:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240699</attachid>
            <date>2014-10-30 14:24:14 -0700</date>
            <delta_ts>2014-10-30 14:38:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138227-20141030142423.patch</filename>
            <type>text/plain</type>
            <size>8364</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1Mzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk1OGJkZmFkMjM2YjNh
NzNhMzNmZDZjMmJhMjBhZTJjMDkzYjkzZS4uM2VkZTVjYzllNzk4ODkxNTMxOGY5ZjAwODY2NWIw
M2M0NDBhMmZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE0LTEwLTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBDU1NEZWZhdWx0U3R5
bGVTaGVldHM6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoKSBmYXN0ZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODIyNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc3RydWN0dXJl
IENTU0RlZmF1bHRTdHlsZVNoZWV0czo6ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVu
dCgpCisgICAgICAgIGEgYml0IHRvIGRvIGxlc3MgaWYgY2hlY2tzLiBUaGUgcHJldmlvdXMgaW1w
bGVtZW50YXRpb24gd2FzIGRvaW5nIDcgaWYKKyAgICAgICAgY2hlY2tzIG5vIG1hdHRlciB0aGUg
aW5wdXQgdmFsdWUuIFRoZSBuZXcgaW1wbGVtZW50YXRpb24gZG9lcyBsZXNzCisgICAgICAgIGlm
IGNoZWNrcyBkZXBlbmRpbmcgb24gdGhlIGlucHV0IHR5cGUuCisKKyAgICAgICAgQWxzbywgdGhl
IGlzSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KCkgd2FzIHNob3dpbmcgaW4gdGhlIHByb2ZpbGVz
IHNvCisgICAgICAgIEkgdXBkYXRlZCB0aGUgY29uZGl0aW9uIHRvIG9ubHkgZG8gdGhpcyB2aXJ0
dWFsIGZ1bmN0aW9uIGNhbGwgaWYgdGhlCisgICAgICAgIGlucHV0IGlzIGFuIEhUTUxEaXZFbGVt
ZW50ICh3aGljaCB3ZSBjYW4gY2hlY2sgbW9yZSBlZmZpY2llbnRseSkuCisKKyAgICAgICAgV2l0
aCB0aGUgY2hhbmdlLCBJIHNlZSB0aGF0IHdlJ3JlIHNwZW5kaW5nIGFib3V0IH4yNiUgbGVzcyB0
aW1lIGluCisgICAgICAgIHRoaXMgbWV0aG9kIHdoZW4gcnVubmluZyBzcGVlZG9tZXRlci4gSG93
ZXZlciwgdGhlIGltcGFjdCBvbiB0aGUKKyAgICAgICAgb3ZlcmFsbCBzY29yZSBpcyB3aXRoaW4g
bm9pc2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAg
ICAgICAgKiBjc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0RlZmF1bHRTdHlsZVNoZWV0czo6ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVu
dCk6CisKIDIwMTQtMTAtMzAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGRpYWdub3N0aWMgbG9nZ2luZyB0byB0cmFjayBwYWdlIGxvYWRzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmNwcAppbmRleCA3Mjg4
MGJjMmE2NzNkMjk4Y2YxMWFjMDk0NmQ2ZjBiMjkyMmI5MWZjLi5jYTE0MGNjNzkwNmMzNjlmNjI5
N2VjM2FmNGNiM2YxYTUyYTgyY2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
RGVmYXVsdFN0eWxlU2hlZXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRGVmYXVs
dFN0eWxlU2hlZXRzLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJ1bGVTZXQuaCIKKyNpbmNsdWRlICJT
VkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCiAjaW5jbHVkZSAi
VXNlckFnZW50U3R5bGVTaGVldHMuaCIKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
QEAgLTE1OCwzNSArMTU5LDYxIEBAIHZvaWQgQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjplbnN1cmVE
ZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQsCiAgICAgICAgIGNo
YW5nZWREZWZhdWx0U3R5bGUgPSB0cnVlOwogICAgIH0KIAotICAgIGlmIChlbGVtZW50LmlzU1ZH
RWxlbWVudCgpICYmICFzdmdTdHlsZVNoZWV0KSB7Ci0gICAgICAgIC8vIFNWRyBydWxlcy4KLSAg
ICAgICAgc3ZnU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChzdmdVc2VyQWdlbnRTdHlsZVNoZWV0
LCBzaXplb2Yoc3ZnVXNlckFnZW50U3R5bGVTaGVldCkpOwotICAgICAgICBkZWZhdWx0U3R5bGUt
PmFkZFJ1bGVzRnJvbVNoZWV0KHN2Z1N0eWxlU2hlZXQsIHNjcmVlbkV2YWwoKSk7Ci0gICAgICAg
IGRlZmF1bHRQcmludFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChzdmdTdHlsZVNoZWV0LCBwcmlu
dEV2YWwoKSk7Ci0gICAgICAgIGNoYW5nZWREZWZhdWx0U3R5bGUgPSB0cnVlOworICAgIGlmIChp
czxIVE1MRWxlbWVudD4oZWxlbWVudCkpIHsKKyAgICAgICAgaWYgKGlzPEhUTUxPYmplY3RFbGVt
ZW50PihlbGVtZW50KSB8fCBpczxIVE1MRW1iZWRFbGVtZW50PihlbGVtZW50KSkgeworICAgICAg
ICAgICAgaWYgKCFwbHVnSW5zU3R5bGVTaGVldCkgeworICAgICAgICAgICAgICAgIFN0cmluZyBw
bHVnSW5zUnVsZXMgPSBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKGVsZW1lbnQuZG9jdW1lbnQo
KS5wYWdlKCkpLT5leHRyYVBsdWdJbnNTdHlsZVNoZWV0KCkgKyBlbGVtZW50LmRvY3VtZW50KCku
cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5wbHVnSW5FeHRyYVN0eWxlU2hlZXQoKTsKKyAgICAg
ICAgICAgICAgICBpZiAocGx1Z0luc1J1bGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAg
ICAgcGx1Z0luc1J1bGVzID0gU3RyaW5nKHBsdWdJbnNVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXpl
b2YocGx1Z0luc1VzZXJBZ2VudFN0eWxlU2hlZXQpKTsKKyAgICAgICAgICAgICAgICBwbHVnSW5z
U3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChwbHVnSW5zUnVsZXMpOworICAgICAgICAgICAgICAg
IGRlZmF1bHRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGx1Z0luc1N0eWxlU2hlZXQsIHNjcmVl
bkV2YWwoKSk7CisgICAgICAgICAgICAgICAgY2hhbmdlZERlZmF1bHRTdHlsZSA9IHRydWU7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyNpZiBFTkFCTEUoVklERU8pCisgICAgICAgIGVsc2Ug
aWYgKGlzPEhUTUxNZWRpYUVsZW1lbnQ+KGVsZW1lbnQpKSB7CisgICAgICAgICAgICBpZiAoIW1l
ZGlhQ29udHJvbHNTdHlsZVNoZWV0KSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIG1lZGlhUnVs
ZXMgPSBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKGVsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCkp
LT5tZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOworICAgICAgICAgICAgICAgIGlmIChtZWRpYVJ1
bGVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFSdWxlcyA9IFN0cmluZyht
ZWRpYUNvbnRyb2xzVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKG1lZGlhQ29udHJvbHNVc2Vy
QWdlbnRTdHlsZVNoZWV0KSkgKyBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKGVsZW1lbnQuZG9j
dW1lbnQoKS5wYWdlKCkpLT5leHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CisgICAgICAg
ICAgICAgICAgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQobWVkaWFSdWxl
cyk7CisgICAgICAgICAgICAgICAgZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChtZWRp
YUNvbnRyb2xzU3R5bGVTaGVldCwgc2NyZWVuRXZhbCgpKTsKKyAgICAgICAgICAgICAgICBkZWZh
dWx0UHJpbnRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQobWVkaWFDb250cm9sc1N0eWxlU2hlZXQs
IHByaW50RXZhbCgpKTsKKyAgICAgICAgICAgICAgICBjaGFuZ2VkRGVmYXVsdFN0eWxlID0gdHJ1
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmIC8vIEVOQUJMRShWSURFTykKKyNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICAgICAgZWxzZSBpZiAoaXM8SFRNTERpdkVs
ZW1lbnQ+KGVsZW1lbnQpICYmIGVsZW1lbnQuaXNJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQoKSkg
eworICAgICAgICAgICAgaWYgKCFpbWFnZUNvbnRyb2xzU3R5bGVTaGVldCkgeworICAgICAgICAg
ICAgICAgIFN0cmluZyBpbWFnZUNvbnRyb2xzUnVsZXMgPSBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQ
YWdlKGVsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCkpLT5pbWFnZUNvbnRyb2xzU3R5bGVTaGVldCgp
OworICAgICAgICAgICAgICAgIGltYWdlQ29udHJvbHNTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0
KGltYWdlQ29udHJvbHNSdWxlcyk7CisgICAgICAgICAgICAgICAgZGVmYXVsdFN0eWxlLT5hZGRS
dWxlc0Zyb21TaGVldChpbWFnZUNvbnRyb2xzU3R5bGVTaGVldCwgc2NyZWVuRXZhbCgpKTsKKyAg
ICAgICAgICAgICAgICBkZWZhdWx0UHJpbnRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQoaW1hZ2VD
b250cm9sc1N0eWxlU2hlZXQsIHByaW50RXZhbCgpKTsKKyAgICAgICAgICAgICAgICBjaGFuZ2Vk
RGVmYXVsdFN0eWxlID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmIC8v
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIH0gZWxzZSBpZiAoaXM8U1ZHRWxlbWVudD4o
ZWxlbWVudCkpIHsKKyAgICAgICAgaWYgKCFzdmdTdHlsZVNoZWV0KSB7CisgICAgICAgICAgICAv
LyBTVkcgcnVsZXMuCisgICAgICAgICAgICBzdmdTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0KHN2
Z1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihzdmdVc2VyQWdlbnRTdHlsZVNoZWV0KSk7Cisg
ICAgICAgICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KHN2Z1N0eWxlU2hlZXQs
IHNjcmVlbkV2YWwoKSk7CisgICAgICAgICAgICBkZWZhdWx0UHJpbnRTdHlsZS0+YWRkUnVsZXNG
cm9tU2hlZXQoc3ZnU3R5bGVTaGVldCwgcHJpbnRFdmFsKCkpOworICAgICAgICAgICAgY2hhbmdl
ZERlZmF1bHRTdHlsZSA9IHRydWU7CisgICAgICAgIH0KICAgICB9Ci0KICNpZiBFTkFCTEUoTUFU
SE1MKQotICAgIGlmIChpczxNYXRoTUxFbGVtZW50PihlbGVtZW50KSAmJiAhbWF0aE1MU3R5bGVT
aGVldCkgewotICAgICAgICAvLyBNYXRoTUwgcnVsZXMuCi0gICAgICAgIG1hdGhNTFN0eWxlU2hl
ZXQgPSBwYXJzZVVBU2hlZXQobWF0aG1sVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKG1hdGht
bFVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKLSAgICAgICAgZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zy
b21TaGVldChtYXRoTUxTdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOwotICAgICAgICBkZWZhdWx0
UHJpbnRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQobWF0aE1MU3R5bGVTaGVldCwgcHJpbnRFdmFs
KCkpOwotICAgICAgICBjaGFuZ2VkRGVmYXVsdFN0eWxlID0gdHJ1ZTsKKyAgICBlbHNlIGlmIChp
czxNYXRoTUxFbGVtZW50PihlbGVtZW50KSkgeworICAgICAgICBpZiAoIW1hdGhNTFN0eWxlU2hl
ZXQpIHsKKyAgICAgICAgICAgIC8vIE1hdGhNTCBydWxlcy4KKyAgICAgICAgICAgIG1hdGhNTFN0
eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQobWF0aG1sVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9m
KG1hdGhtbFVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKKyAgICAgICAgICAgIGRlZmF1bHRTdHlsZS0+
YWRkUnVsZXNGcm9tU2hlZXQobWF0aE1MU3R5bGVTaGVldCwgc2NyZWVuRXZhbCgpKTsKKyAgICAg
ICAgICAgIGRlZmF1bHRQcmludFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChtYXRoTUxTdHlsZVNo
ZWV0LCBwcmludEV2YWwoKSk7CisgICAgICAgICAgICBjaGFuZ2VkRGVmYXVsdFN0eWxlID0gdHJ1
ZTsKKyAgICAgICAgfQogICAgIH0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKFZJREVPKQotICAgIGlm
ICghbWVkaWFDb250cm9sc1N0eWxlU2hlZXQgJiYgKGlzPEhUTUxWaWRlb0VsZW1lbnQ+KGVsZW1l
bnQpIHx8IGlzPEhUTUxBdWRpb0VsZW1lbnQ+KGVsZW1lbnQpKSkgewotICAgICAgICBTdHJpbmcg
bWVkaWFSdWxlcyA9IFJlbmRlclRoZW1lOjp0aGVtZUZvclBhZ2UoZWxlbWVudC5kb2N1bWVudCgp
LnBhZ2UoKSktPm1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7Ci0gICAgICAgIGlmIChtZWRpYVJ1
bGVzLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1lZGlhUnVsZXMgPSBTdHJpbmcobWVkaWFDb250
cm9sc1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihtZWRpYUNvbnRyb2xzVXNlckFnZW50U3R5
bGVTaGVldCkpICsgUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShlbGVtZW50LmRvY3VtZW50KCku
cGFnZSgpKS0+ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOwotICAgICAgICBtZWRpYUNv
bnRyb2xzU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChtZWRpYVJ1bGVzKTsKLSAgICAgICAgZGVm
YXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCwgc2Ny
ZWVuRXZhbCgpKTsKLSAgICAgICAgZGVmYXVsdFByaW50U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0
KG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0LCBwcmludEV2YWwoKSk7Ci0gICAgICAgIGNoYW5nZWRE
ZWZhdWx0U3R5bGUgPSB0cnVlOwotICAgIH0KLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShNQVRI
TUwpCiAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgaWYgKCFmdWxsc2NyZWVuU3R5
bGVTaGVldCAmJiBlbGVtZW50LmRvY3VtZW50KCkud2Via2l0SXNGdWxsU2NyZWVuKCkpIHsKQEAg
LTE5NiwyNiArMjIzLDcgQEAgdm9pZCBDU1NEZWZhdWx0U3R5bGVTaGVldHM6OmVuc3VyZURlZmF1
bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCwKICAgICAgICAgZGVmYXVs
dFF1aXJrc1N0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChmdWxsc2NyZWVuU3R5bGVTaGVldCwgc2Ny
ZWVuRXZhbCgpKTsKICAgICAgICAgY2hhbmdlZERlZmF1bHRTdHlsZSA9IHRydWU7CiAgICAgfQot
I2VuZGlmCi0KLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBpZiAoIWltYWdlQ29u
dHJvbHNTdHlsZVNoZWV0ICYmIGVsZW1lbnQuaXNJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQoKSkg
ewotICAgICAgICBTdHJpbmcgaW1hZ2VDb250cm9sc1J1bGVzID0gUmVuZGVyVGhlbWU6OnRoZW1l
Rm9yUGFnZShlbGVtZW50LmRvY3VtZW50KCkucGFnZSgpKS0+aW1hZ2VDb250cm9sc1N0eWxlU2hl
ZXQoKTsKLSAgICAgICAgaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQoaW1h
Z2VDb250cm9sc1J1bGVzKTsKLSAgICAgICAgZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVl
dChpbWFnZUNvbnRyb2xzU3R5bGVTaGVldCwgc2NyZWVuRXZhbCgpKTsKLSAgICAgICAgZGVmYXVs
dFByaW50U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KGltYWdlQ29udHJvbHNTdHlsZVNoZWV0LCBw
cmludEV2YWwoKSk7Ci0gICAgICAgIGNoYW5nZWREZWZhdWx0U3R5bGUgPSB0cnVlOwotICAgIH0K
LSNlbmRpZgotCi0gICAgaWYgKCFwbHVnSW5zU3R5bGVTaGVldCAmJiAoaXM8SFRNTE9iamVjdEVs
ZW1lbnQ+KGVsZW1lbnQpIHx8IGlzPEhUTUxFbWJlZEVsZW1lbnQ+KGVsZW1lbnQpKSkgewotICAg
ICAgICBTdHJpbmcgcGx1Z0luc1J1bGVzID0gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShlbGVt
ZW50LmRvY3VtZW50KCkucGFnZSgpKS0+ZXh0cmFQbHVnSW5zU3R5bGVTaGVldCgpICsgZWxlbWVu
dC5kb2N1bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkucGx1Z0luRXh0cmFTdHlsZVNo
ZWV0KCk7Ci0gICAgICAgIGlmIChwbHVnSW5zUnVsZXMuaXNFbXB0eSgpKQotICAgICAgICAgICAg
cGx1Z0luc1J1bGVzID0gU3RyaW5nKHBsdWdJbnNVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2Yo
cGx1Z0luc1VzZXJBZ2VudFN0eWxlU2hlZXQpKTsKLSAgICAgICAgcGx1Z0luc1N0eWxlU2hlZXQg
PSBwYXJzZVVBU2hlZXQocGx1Z0luc1J1bGVzKTsKLSAgICAgICAgZGVmYXVsdFN0eWxlLT5hZGRS
dWxlc0Zyb21TaGVldChwbHVnSW5zU3R5bGVTaGVldCwgc2NyZWVuRXZhbCgpKTsKLSAgICAgICAg
Y2hhbmdlZERlZmF1bHRTdHlsZSA9IHRydWU7Ci0gICAgfQorI2VuZGlmIC8vIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKIAogICAgIEFTU0VSVChkZWZhdWx0U3R5bGUtPmZlYXR1cmVzKCkuaWRzSW5S
dWxlcy5pc0VtcHR5KCkpOwogICAgIEFTU0VSVChtYXRoTUxTdHlsZVNoZWV0IHx8IGRlZmF1bHRT
dHlsZS0+ZmVhdHVyZXMoKS5zaWJsaW5nUnVsZXMuaXNFbXB0eSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240703</attachid>
            <date>2014-10-30 14:38:58 -0700</date>
            <delta_ts>2014-10-31 14:43:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138227-20141030143907.patch</filename>
            <type>text/plain</type>
            <size>8399</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODZkNjc3MzBmODNiNzEz
YWMzMGMwMTkwYTkxYTE3ZGE0ZTRjYzkwNS4uMjA5ZTQzNGRkMjI3Zjg2MzAxNjE3OGM5NmFlMDI3
NGMwY2NlNmVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE0LTEwLTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgTWFrZSBDU1NEZWZhdWx0U3R5
bGVTaGVldHM6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoKSBmYXN0ZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODIyNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc3RydWN0dXJl
IENTU0RlZmF1bHRTdHlsZVNoZWV0czo6ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVu
dCgpCisgICAgICAgIGEgYml0IHRvIGRvIGxlc3MgaWYgY2hlY2tzLiBUaGUgcHJldmlvdXMgaW1w
bGVtZW50YXRpb24gd2FzIGRvaW5nIDcgaWYKKyAgICAgICAgY2hlY2tzIG5vIG1hdHRlciB0aGUg
aW5wdXQgdmFsdWUuIFRoZSBuZXcgaW1wbGVtZW50YXRpb24gZG9lcyBsZXNzCisgICAgICAgIGlm
IGNoZWNrcyBkZXBlbmRpbmcgb24gdGhlIGlucHV0IHR5cGUuCisKKyAgICAgICAgQWxzbywgdGhl
IGlzSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KCkgd2FzIHNob3dpbmcgaW4gdGhlIHByb2ZpbGVz
IHNvCisgICAgICAgIEkgdXBkYXRlZCB0aGUgY29uZGl0aW9uIHRvIG9ubHkgZG8gdGhpcyB2aXJ0
dWFsIGZ1bmN0aW9uIGNhbGwgaWYgdGhlCisgICAgICAgIGlucHV0IGlzIGFuIEhUTUxEaXZFbGVt
ZW50ICh3aGljaCB3ZSBjYW4gY2hlY2sgbW9yZSBlZmZpY2llbnRseSkuCisKKyAgICAgICAgV2l0
aCB0aGUgY2hhbmdlLCBJIHNlZSB0aGF0IHdlJ3JlIHNwZW5kaW5nIGFib3V0IH4yNiUgbGVzcyB0
aW1lIGluCisgICAgICAgIHRoaXMgbWV0aG9kIHdoZW4gcnVubmluZyBzcGVlZG9tZXRlci4gSG93
ZXZlciwgdGhlIGltcGFjdCBvbiB0aGUKKyAgICAgICAgb3ZlcmFsbCBzY29yZSBpcyB3aXRoaW4g
bm9pc2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAg
ICAgICAgKiBjc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0RlZmF1bHRTdHlsZVNoZWV0czo6ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVu
dCk6CisKKzIwMTQtMTAtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAg
ICAgICBPcHRpbWl6ZSBIVE1MVmlkZW9FbGVtZW50IC8gSFRNTEF1ZGlvRWxlbWVudCB0eXBlIGNo
ZWNrcyBhIGJpdAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM4MjAyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NEZWZhdWx0U3R5
bGVTaGVldHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5j
cHAKaW5kZXggMzUyOGI2Y2FlZDhjMDNjZDNjN2FmYmE2YzdhYmFkNzA4ZTQzYzNlMi4uY2ExNDBj
Yzc5MDZjMzY5ZjYyOTdlYzNhZjRjYjNmMWE1MmE4MmNlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJSdWxlU2V0Lmgi
CisjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5o
IgogI2luY2x1ZGUgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CkBAIC0xNTgsMzUgKzE1OSw2MSBAQCB2b2lkIENTU0RlZmF1bHRTdHlsZVNo
ZWV0czo6ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudChFbGVtZW50JiBlbGVtZW50
LAogICAgICAgICBjaGFuZ2VkRGVmYXVsdFN0eWxlID0gdHJ1ZTsKICAgICB9CiAKLSAgICBpZiAo
ZWxlbWVudC5pc1NWR0VsZW1lbnQoKSAmJiAhc3ZnU3R5bGVTaGVldCkgewotICAgICAgICAvLyBT
VkcgcnVsZXMuCi0gICAgICAgIHN2Z1N0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQoc3ZnVXNlckFn
ZW50U3R5bGVTaGVldCwgc2l6ZW9mKHN2Z1VzZXJBZ2VudFN0eWxlU2hlZXQpKTsKLSAgICAgICAg
ZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChzdmdTdHlsZVNoZWV0LCBzY3JlZW5FdmFs
KCkpOwotICAgICAgICBkZWZhdWx0UHJpbnRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQoc3ZnU3R5
bGVTaGVldCwgcHJpbnRFdmFsKCkpOwotICAgICAgICBjaGFuZ2VkRGVmYXVsdFN0eWxlID0gdHJ1
ZTsKKyAgICBpZiAoaXM8SFRNTEVsZW1lbnQ+KGVsZW1lbnQpKSB7CisgICAgICAgIGlmIChpczxI
VE1MT2JqZWN0RWxlbWVudD4oZWxlbWVudCkgfHwgaXM8SFRNTEVtYmVkRWxlbWVudD4oZWxlbWVu
dCkpIHsKKyAgICAgICAgICAgIGlmICghcGx1Z0luc1N0eWxlU2hlZXQpIHsKKyAgICAgICAgICAg
ICAgICBTdHJpbmcgcGx1Z0luc1J1bGVzID0gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShlbGVt
ZW50LmRvY3VtZW50KCkucGFnZSgpKS0+ZXh0cmFQbHVnSW5zU3R5bGVTaGVldCgpICsgZWxlbWVu
dC5kb2N1bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkucGx1Z0luRXh0cmFTdHlsZVNo
ZWV0KCk7CisgICAgICAgICAgICAgICAgaWYgKHBsdWdJbnNSdWxlcy5pc0VtcHR5KCkpCisgICAg
ICAgICAgICAgICAgICAgIHBsdWdJbnNSdWxlcyA9IFN0cmluZyhwbHVnSW5zVXNlckFnZW50U3R5
bGVTaGVldCwgc2l6ZW9mKHBsdWdJbnNVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAgICAgICAg
ICAgICAgcGx1Z0luc1N0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQocGx1Z0luc1J1bGVzKTsKKyAg
ICAgICAgICAgICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KHBsdWdJbnNTdHls
ZVNoZWV0LCBzY3JlZW5FdmFsKCkpOworICAgICAgICAgICAgICAgIGNoYW5nZWREZWZhdWx0U3R5
bGUgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisjaWYgRU5BQkxFKFZJREVPKQor
ICAgICAgICBlbHNlIGlmIChpczxIVE1MTWVkaWFFbGVtZW50PihlbGVtZW50KSkgeworICAgICAg
ICAgICAgaWYgKCFtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCkgeworICAgICAgICAgICAgICAgIFN0
cmluZyBtZWRpYVJ1bGVzID0gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShlbGVtZW50LmRvY3Vt
ZW50KCkucGFnZSgpKS0+bWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKTsKKyAgICAgICAgICAgICAg
ICBpZiAobWVkaWFSdWxlcy5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIG1lZGlhUnVs
ZXMgPSBTdHJpbmcobWVkaWFDb250cm9sc1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihtZWRp
YUNvbnRyb2xzVXNlckFnZW50U3R5bGVTaGVldCkpICsgUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFn
ZShlbGVtZW50LmRvY3VtZW50KCkucGFnZSgpKS0+ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVl
dCgpOworICAgICAgICAgICAgICAgIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0ID0gcGFyc2VVQVNo
ZWV0KG1lZGlhUnVsZXMpOworICAgICAgICAgICAgICAgIGRlZmF1bHRTdHlsZS0+YWRkUnVsZXNG
cm9tU2hlZXQobWVkaWFDb250cm9sc1N0eWxlU2hlZXQsIHNjcmVlbkV2YWwoKSk7CisgICAgICAg
ICAgICAgICAgZGVmYXVsdFByaW50U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KG1lZGlhQ29udHJv
bHNTdHlsZVNoZWV0LCBwcmludEV2YWwoKSk7CisgICAgICAgICAgICAgICAgY2hhbmdlZERlZmF1
bHRTdHlsZSA9IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZiAvLyBFTkFC
TEUoVklERU8pCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgICAgIGVsc2UgaWYg
KGlzPEhUTUxEaXZFbGVtZW50PihlbGVtZW50KSAmJiBlbGVtZW50LmlzSW1hZ2VDb250cm9sc1Jv
b3RFbGVtZW50KCkpIHsKKyAgICAgICAgICAgIGlmICghaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQp
IHsKKyAgICAgICAgICAgICAgICBTdHJpbmcgaW1hZ2VDb250cm9sc1J1bGVzID0gUmVuZGVyVGhl
bWU6OnRoZW1lRm9yUGFnZShlbGVtZW50LmRvY3VtZW50KCkucGFnZSgpKS0+aW1hZ2VDb250cm9s
c1N0eWxlU2hlZXQoKTsKKyAgICAgICAgICAgICAgICBpbWFnZUNvbnRyb2xzU3R5bGVTaGVldCA9
IHBhcnNlVUFTaGVldChpbWFnZUNvbnRyb2xzUnVsZXMpOworICAgICAgICAgICAgICAgIGRlZmF1
bHRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQoaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQsIHNjcmVl
bkV2YWwoKSk7CisgICAgICAgICAgICAgICAgZGVmYXVsdFByaW50U3R5bGUtPmFkZFJ1bGVzRnJv
bVNoZWV0KGltYWdlQ29udHJvbHNTdHlsZVNoZWV0LCBwcmludEV2YWwoKSk7CisgICAgICAgICAg
ICAgICAgY2hhbmdlZERlZmF1bHRTdHlsZSA9IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB9IGVsc2UgaWYgKGlz
PFNWR0VsZW1lbnQ+KGVsZW1lbnQpKSB7CisgICAgICAgIGlmICghc3ZnU3R5bGVTaGVldCkgewor
ICAgICAgICAgICAgLy8gU1ZHIHJ1bGVzLgorICAgICAgICAgICAgc3ZnU3R5bGVTaGVldCA9IHBh
cnNlVUFTaGVldChzdmdVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2Yoc3ZnVXNlckFnZW50U3R5
bGVTaGVldCkpOworICAgICAgICAgICAgZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChz
dmdTdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOworICAgICAgICAgICAgZGVmYXVsdFByaW50U3R5
bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KHN2Z1N0eWxlU2hlZXQsIHByaW50RXZhbCgpKTsKKyAgICAg
ICAgICAgIGNoYW5nZWREZWZhdWx0U3R5bGUgPSB0cnVlOworICAgICAgICB9CiAgICAgfQotCiAj
aWYgRU5BQkxFKE1BVEhNTCkKLSAgICBpZiAoaXM8TWF0aE1MRWxlbWVudD4oZWxlbWVudCkgJiYg
IW1hdGhNTFN0eWxlU2hlZXQpIHsKLSAgICAgICAgLy8gTWF0aE1MIHJ1bGVzLgotICAgICAgICBt
YXRoTUxTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0KG1hdGhtbFVzZXJBZ2VudFN0eWxlU2hlZXQs
IHNpemVvZihtYXRobWxVc2VyQWdlbnRTdHlsZVNoZWV0KSk7Ci0gICAgICAgIGRlZmF1bHRTdHls
ZS0+YWRkUnVsZXNGcm9tU2hlZXQobWF0aE1MU3R5bGVTaGVldCwgc2NyZWVuRXZhbCgpKTsKLSAg
ICAgICAgZGVmYXVsdFByaW50U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KG1hdGhNTFN0eWxlU2hl
ZXQsIHByaW50RXZhbCgpKTsKLSAgICAgICAgY2hhbmdlZERlZmF1bHRTdHlsZSA9IHRydWU7Cisg
ICAgZWxzZSBpZiAoaXM8TWF0aE1MRWxlbWVudD4oZWxlbWVudCkpIHsKKyAgICAgICAgaWYgKCFt
YXRoTUxTdHlsZVNoZWV0KSB7CisgICAgICAgICAgICAvLyBNYXRoTUwgcnVsZXMuCisgICAgICAg
ICAgICBtYXRoTUxTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0KG1hdGhtbFVzZXJBZ2VudFN0eWxl
U2hlZXQsIHNpemVvZihtYXRobWxVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAgICAgICAgICBk
ZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KG1hdGhNTFN0eWxlU2hlZXQsIHNjcmVlbkV2
YWwoKSk7CisgICAgICAgICAgICBkZWZhdWx0UHJpbnRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQo
bWF0aE1MU3R5bGVTaGVldCwgcHJpbnRFdmFsKCkpOworICAgICAgICAgICAgY2hhbmdlZERlZmF1
bHRTdHlsZSA9IHRydWU7CisgICAgICAgIH0KICAgICB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShW
SURFTykKLSAgICBpZiAoIW1lZGlhQ29udHJvbHNTdHlsZVNoZWV0ICYmIGlzPEhUTUxNZWRpYUVs
ZW1lbnQ+KGVsZW1lbnQpKSB7Ci0gICAgICAgIFN0cmluZyBtZWRpYVJ1bGVzID0gUmVuZGVyVGhl
bWU6OnRoZW1lRm9yUGFnZShlbGVtZW50LmRvY3VtZW50KCkucGFnZSgpKS0+bWVkaWFDb250cm9s
c1N0eWxlU2hlZXQoKTsKLSAgICAgICAgaWYgKG1lZGlhUnVsZXMuaXNFbXB0eSgpKQotICAgICAg
ICAgICAgbWVkaWFSdWxlcyA9IFN0cmluZyhtZWRpYUNvbnRyb2xzVXNlckFnZW50U3R5bGVTaGVl
dCwgc2l6ZW9mKG1lZGlhQ29udHJvbHNVc2VyQWdlbnRTdHlsZVNoZWV0KSkgKyBSZW5kZXJUaGVt
ZTo6dGhlbWVGb3JQYWdlKGVsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCkpLT5leHRyYU1lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0KCk7Ci0gICAgICAgIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0ID0gcGFy
c2VVQVNoZWV0KG1lZGlhUnVsZXMpOwotICAgICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJv
bVNoZWV0KG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOwotICAgICAgICBk
ZWZhdWx0UHJpbnRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQobWVkaWFDb250cm9sc1N0eWxlU2hl
ZXQsIHByaW50RXZhbCgpKTsKLSAgICAgICAgY2hhbmdlZERlZmF1bHRTdHlsZSA9IHRydWU7Ci0g
ICAgfQotI2VuZGlmCisjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKIAogI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKICAgICBpZiAoIWZ1bGxzY3JlZW5TdHlsZVNoZWV0ICYmIGVsZW1lbnQuZG9j
dW1lbnQoKS53ZWJraXRJc0Z1bGxTY3JlZW4oKSkgewpAQCAtMTk2LDI2ICsyMjMsNyBAQCB2b2lk
IENTU0RlZmF1bHRTdHlsZVNoZWV0czo6ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVu
dChFbGVtZW50JiBlbGVtZW50LAogICAgICAgICBkZWZhdWx0UXVpcmtzU3R5bGUtPmFkZFJ1bGVz
RnJvbVNoZWV0KGZ1bGxzY3JlZW5TdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOwogICAgICAgICBj
aGFuZ2VkRGVmYXVsdFN0eWxlID0gdHJ1ZTsKICAgICB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQotICAgIGlmICghaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQgJiYgZWxl
bWVudC5pc0ltYWdlQ29udHJvbHNSb290RWxlbWVudCgpKSB7Ci0gICAgICAgIFN0cmluZyBpbWFn
ZUNvbnRyb2xzUnVsZXMgPSBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKGVsZW1lbnQuZG9jdW1l
bnQoKS5wYWdlKCkpLT5pbWFnZUNvbnRyb2xzU3R5bGVTaGVldCgpOwotICAgICAgICBpbWFnZUNv
bnRyb2xzU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChpbWFnZUNvbnRyb2xzUnVsZXMpOwotICAg
ICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KGltYWdlQ29udHJvbHNTdHlsZVNo
ZWV0LCBzY3JlZW5FdmFsKCkpOwotICAgICAgICBkZWZhdWx0UHJpbnRTdHlsZS0+YWRkUnVsZXNG
cm9tU2hlZXQoaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQsIHByaW50RXZhbCgpKTsKLSAgICAgICAg
Y2hhbmdlZERlZmF1bHRTdHlsZSA9IHRydWU7Ci0gICAgfQotI2VuZGlmCi0KLSAgICBpZiAoIXBs
dWdJbnNTdHlsZVNoZWV0ICYmIChpczxIVE1MT2JqZWN0RWxlbWVudD4oZWxlbWVudCkgfHwgaXM8
SFRNTEVtYmVkRWxlbWVudD4oZWxlbWVudCkpKSB7Ci0gICAgICAgIFN0cmluZyBwbHVnSW5zUnVs
ZXMgPSBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKGVsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCkp
LT5leHRyYVBsdWdJbnNTdHlsZVNoZWV0KCkgKyBlbGVtZW50LmRvY3VtZW50KCkucGFnZSgpLT5j
aHJvbWUoKS5jbGllbnQoKS5wbHVnSW5FeHRyYVN0eWxlU2hlZXQoKTsKLSAgICAgICAgaWYgKHBs
dWdJbnNSdWxlcy5pc0VtcHR5KCkpCi0gICAgICAgICAgICBwbHVnSW5zUnVsZXMgPSBTdHJpbmco
cGx1Z0luc1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihwbHVnSW5zVXNlckFnZW50U3R5bGVT
aGVldCkpOwotICAgICAgICBwbHVnSW5zU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChwbHVnSW5z
UnVsZXMpOwotICAgICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KHBsdWdJbnNT
dHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOwotICAgICAgICBjaGFuZ2VkRGVmYXVsdFN0eWxlID0g
dHJ1ZTsKLSAgICB9CisjZW5kaWYgLy8gRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogCiAgICAgQVNT
RVJUKGRlZmF1bHRTdHlsZS0+ZmVhdHVyZXMoKS5pZHNJblJ1bGVzLmlzRW1wdHkoKSk7CiAgICAg
QVNTRVJUKG1hdGhNTFN0eWxlU2hlZXQgfHwgZGVmYXVsdFN0eWxlLT5mZWF0dXJlcygpLnNpYmxp
bmdSdWxlcy5pc0VtcHR5KCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>