<?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>75986</bug_id>
          
          <creation_ts>2012-01-10 12:50:58 -0800</creation_ts>
          <short_desc>DispatchOnConnectionQueue messages should have a Connection parameter</short_desc>
          <delta_ts>2012-01-10 13:14:31 -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>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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>533314</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-01-10 12:50:58 -0800</bug_when>
    <thetext>DispatchOnConnectionQueue messages should have a Connection parameter</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533317</commentid>
    <comment_count>1</comment_count>
      <attachid>121895</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-01-10 12:53:46 -0800</bug_when>
    <thetext>Created attachment 121895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533323</commentid>
    <comment_count>2</comment_count>
      <attachid>121895</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-01-10 13:01:00 -0800</bug_when>
    <thetext>Comment on attachment 121895
Patch

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

&gt; Source/WebKit2/Platform/CoreIPC/HandleMessage.h:211
&gt; +// Dispatch functions with connection parameter.
&gt; +template&lt;typename C, typename MF, typename P1, typename P2&gt;
&gt; +void callMemberFunction(Connection* connection, const Arguments2&lt;P1, P2&gt;&amp; args, C* object, MF function)
&gt; +{
&gt; +    (object-&gt;*function)(connection, args.argument1, args.argument2);
&gt; +}
&gt; +
&gt; +// Dispatch functions with connection parameter.
&gt; +template&lt;typename C, typename MF, typename P1&gt;
&gt; +void callMemberFunction(Connection* connection, const Arguments1&lt;P1&gt;&amp; args, C* object, MF function)
&gt; +{
&gt; +    (object-&gt;*function)(connection, args.argument1);
&gt; +}

I was expecting these to be listed in the opposite order to match the rest of the file.

&gt; Source/WebKit2/Scripts/webkit2/messages.py:317
&gt;      dispatch_function = &apos;handleMessage&apos;
&gt;      if message_is_variadic(message):
&gt;          dispatch_function += &apos;Variadic&apos;

Maybe you should add after this:

if message.has_attribute(DISPATCH_ON_CONNECTION_QUEUE_ATTRIBUTE):
    dispatch_function += &apos;OnConnectionQueue&apos;

&gt; Source/WebKit2/Scripts/webkit2/messages.py:325
&gt; +    if message.has_attribute(DISPATCH_ON_CONNECTION_QUEUE_ATTRIBUTE):
&gt; +        result.append(&apos;        CoreIPC::%sOnConnectionQueue&lt;Messages::%s::%s&gt;(connection, arguments, this, &amp;%s);\n&apos; % (dispatch_function, receiver.name, message.name, handler_function(receiver, message)))
&gt; +        result.append(&apos;        didHandleMessage = true;\n&apos;)
&gt; +    else:
&gt; +        result.append(&apos;        CoreIPC::%s&lt;Messages::%s::%s&gt;(arguments, this, &amp;%s);\n&apos; % (dispatch_function, receiver.name, message.name, handler_function(receiver, message)))

…and then this can become:

dispatch_function_args = [&apos;arguments, &apos;this&apos;, &apos;&amp;%s&apos; % handler_function(receiver, message)]
if message.has_attribute(DISPATCH_ON_CONNECTION_QUEUE_ATTRIBUTE):
    dispatch_function_args.insert(0, &apos;connection&apos;)
result.append(&apos;        CoreIPC::%s&lt;Messages::%s::%s&gt;(%s);\n&apos; % (dispatch_function, receiver.name, message.name, &apos;, &apos;.join(dispatch_function_args))
if message.has_attribute(DISPATCH_ON_CONNECTION_QUEUE_ATTRIBUTE):
    result.append(&apos;        didHandleMessage = true;\n&apos;)

In the end, I&apos;m not that sure if this is better. But it does reduce some duplication between the two cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533332</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-01-10 13:14:31 -0800</bug_when>
    <thetext>Committed r104623: &lt;http://trac.webkit.org/changeset/104623&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121895</attachid>
            <date>2012-01-10 12:53:46 -0800</date>
            <delta_ts>2012-01-10 13:00:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75986-20120110125344.patch</filename>
            <type>text/plain</type>
            <size>10871</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmQxNTNiZDY2ODM2OGQw
NzhmYWQ1YjM1NTRhNDhjOTBiMmViNGI4NC4uZTNmOTNhODhlYTY2MDc2MjBlZTRhMGRlYzdjNTE0
M2U5OWMzZTYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAxLTEwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgRGlzcGF0Y2hPbkNv
bm5lY3Rpb25RdWV1ZSBtZXNzYWdlcyBzaG91bGQgaGF2ZSBhIENvbm5lY3Rpb24gcGFyYW1ldGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lc3NhZ2Ug
aGFuZGxlcnMgZm9yIG1lc3NhZ2VzIHdpdGggdGhlIERpc3BhdGNoT25Db25uZWN0aW9uUXVldWUg
c2hvdWxkIGhhdmUgYSBDb3JlSVBDOjpDb25uZWN0aW9uCisgICAgICAgIHBhcmFtZXRlciwgbWFr
aW5nIGl0IGVhc2llciB0byBzZW5kIG1lc3NhZ2VzIGJhY2sgb3ZlciB0aGF0IGNvbm5lY3Rpb24u
CisKKyAgICAgICAgKiBQbGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2UuaDoKKyAgICAgICAg
KENvcmVJUEM6OmNhbGxNZW1iZXJGdW5jdGlvbik6CisgICAgICAgIChDb3JlSVBDOjpoYW5kbGVN
ZXNzYWdlT25Db25uZWN0aW9uUXVldWUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNz
YWdlcy5weToKKyAgICAgICAgKGFzeW5jX2Nhc2Vfc3RhdGVtZW50KToKKyAgICAgICAgKGdlbmVy
YXRlX21lc3NhZ2VfaGFuZGxlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2Vz
X3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNo
ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpFdmVudERpc3BhdGNoZXI6OndoZWVsRXZlbnQpOgor
ICAgICAgICAoV2ViS2l0OjpFdmVudERpc3BhdGNoZXI6Omdlc3R1cmVFdmVudCk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsdWdp
blByb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKwog
MjAxMi0wMS0xMCAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBwb3RlbnRpYWwgTWFjIFdLMiBidWlsZCBmaXguCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5oCmluZGV4
IGQ1N2E1NTJiZWY0NWIwZmIxZmEwMmY2N2ExZWI1MjUwZTE2Yjc0ZjIuLmMzMGE5N2RiMTMwZWZl
ZGZhNWFmYjY2YWVkODI0MWM0ZDFhMDkwMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5oCkBAIC0xOTYsNiArMTk2LDIwIEBAIHZvaWQgY2Fs
bE1lbWJlckZ1bmN0aW9uKGNvbnN0IEFyZ3VtZW50czE8UDE+JiBhcmdzLCBQYXNzUmVmUHRyPFI+
IGRlbGF5ZWRSZXBseSwKICAgICAob2JqZWN0LT4qZnVuY3Rpb24pKGFyZ3MuYXJndW1lbnQxLCBk
ZWxheWVkUmVwbHkpOwogfQogCisvLyBEaXNwYXRjaCBmdW5jdGlvbnMgd2l0aCBjb25uZWN0aW9u
IHBhcmFtZXRlci4KK3RlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQ
MSwgdHlwZW5hbWUgUDI+Cit2b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihDb25uZWN0aW9uKiBjb25u
ZWN0aW9uLCBjb25zdCBBcmd1bWVudHMyPFAxLCBQMj4mIGFyZ3MsIEMqIG9iamVjdCwgTUYgZnVu
Y3Rpb24pCit7CisgICAgKG9iamVjdC0+KmZ1bmN0aW9uKShjb25uZWN0aW9uLCBhcmdzLmFyZ3Vt
ZW50MSwgYXJncy5hcmd1bWVudDIpOworfQorCisvLyBEaXNwYXRjaCBmdW5jdGlvbnMgd2l0aCBj
b25uZWN0aW9uIHBhcmFtZXRlci4KK3RlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0
eXBlbmFtZSBQMT4KK3ZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKENvbm5lY3Rpb24qIGNvbm5lY3Rp
b24sIGNvbnN0IEFyZ3VtZW50czE8UDE+JiBhcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQor
eworICAgIChvYmplY3QtPipmdW5jdGlvbikoY29ubmVjdGlvbiwgYXJncy5hcmd1bWVudDEpOwor
fQorCiAvLyBWYXJpYWRpYyBkaXNwYXRjaCBmdW5jdGlvbnMuCiAKIHRlbXBsYXRlPHR5cGVuYW1l
IEMsIHR5cGVuYW1lIE1GPgpAQCAtMjkwLDYgKzMwNCwxNSBAQCB2b2lkIGhhbmRsZU1lc3NhZ2Uo
QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudERlY29kZXIsIEFyZ3VtZW50RW5jb2RlciogcmVwbHlF
bmNvZAogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBDLCB0eXBlbmFtZSBNRj4K
K3ZvaWQgaGFuZGxlTWVzc2FnZU9uQ29ubmVjdGlvblF1ZXVlKENvbm5lY3Rpb24qIGNvbm5lY3Rp
b24sIEFyZ3VtZW50RGVjb2RlciogYXJndW1lbnREZWNvZGVyLCBDKiBvYmplY3QsIE1GIGZ1bmN0
aW9uKQoreworICAgIHR5cGVuYW1lIFQ6OkRlY29kZVR5cGU6OlZhbHVlVHlwZSBhcmd1bWVudHM7
CisgICAgaWYgKCFhcmd1bWVudERlY29kZXItPmRlY29kZShhcmd1bWVudHMpKQorICAgICAgICBy
ZXR1cm47CisgICAgY2FsbE1lbWJlckZ1bmN0aW9uKGNvbm5lY3Rpb24sIGFyZ3VtZW50cywgb2Jq
ZWN0LCBmdW5jdGlvbik7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEMsIHR5
cGVuYW1lIE1GPgogdm9pZCBoYW5kbGVNZXNzYWdlVmFyaWFkaWMoQXJndW1lbnREZWNvZGVyKiBh
cmd1bWVudERlY29kZXIsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCiB7CiAgICAgdHlwZW5hbWUg
VDo6RGVjb2RlVHlwZTo6VmFsdWVUeXBlIGFyZ3VtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQyL1Njcmlw
dHMvd2Via2l0Mi9tZXNzYWdlcy5weQppbmRleCBjZjlkNWVjMDE5ZDE2Mjg1MTczNjU4MTIxZGRi
YjhkMjUwMzMxNGQxLi42MmI4M2ViMWY1Mjg4MzE3NzgwNmVkMjM4N2FjN2UxNTgwNzIxYTNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKKysr
IGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CkBAIC0zMTEsMTYg
KzMxMSwxOCBAQCBkZWYgaGFuZGxlcl9mdW5jdGlvbihyZWNlaXZlciwgbWVzc2FnZSk6CiAgICAg
cmV0dXJuICclczo6JXMnICUgKHJlY2VpdmVyLm5hbWUsIG1lc3NhZ2UubmFtZVswXS5sb3dlcigp
ICsgbWVzc2FnZS5uYW1lWzE6XSkKIAogCi1kZWYgYXN5bmNfY2FzZV9zdGF0ZW1lbnQocmVjZWl2
ZXIsIG1lc3NhZ2UsIHN0YXRlbWVudF9iZWZvcmVfcmV0dXJuPU5vbmUpOgorZGVmIGFzeW5jX2Nh
c2Vfc3RhdGVtZW50KHJlY2VpdmVyLCBtZXNzYWdlKToKICAgICBkaXNwYXRjaF9mdW5jdGlvbiA9
ICdoYW5kbGVNZXNzYWdlJwogICAgIGlmIG1lc3NhZ2VfaXNfdmFyaWFkaWMobWVzc2FnZSk6CiAg
ICAgICAgIGRpc3BhdGNoX2Z1bmN0aW9uICs9ICdWYXJpYWRpYycKIAogICAgIHJlc3VsdCA9IFtd
CiAgICAgcmVzdWx0LmFwcGVuZCgnICAgIGNhc2UgTWVzc2FnZXM6OiVzOjolczpcbicgJSAocmVj
ZWl2ZXIubmFtZSwgbWVzc2FnZS5pZCgpKSkKLSAgICByZXN1bHQuYXBwZW5kKCcgICAgICAgIENv
cmVJUEM6OiVzPE1lc3NhZ2VzOjolczo6JXM+KGFyZ3VtZW50cywgdGhpcywgJiVzKTtcbicgJSAo
ZGlzcGF0Y2hfZnVuY3Rpb24sIHJlY2VpdmVyLm5hbWUsIG1lc3NhZ2UubmFtZSwgaGFuZGxlcl9m
dW5jdGlvbihyZWNlaXZlciwgbWVzc2FnZSkpKQotICAgIGlmIHN0YXRlbWVudF9iZWZvcmVfcmV0
dXJuOgotICAgICAgICByZXN1bHQuYXBwZW5kKCcgICAgICAgICVzXG4nICUgc3RhdGVtZW50X2Jl
Zm9yZV9yZXR1cm4pCisgICAgaWYgbWVzc2FnZS5oYXNfYXR0cmlidXRlKERJU1BBVENIX09OX0NP
Tk5FQ1RJT05fUVVFVUVfQVRUUklCVVRFKToKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnICAgICAg
ICBDb3JlSVBDOjolc09uQ29ubmVjdGlvblF1ZXVlPE1lc3NhZ2VzOjolczo6JXM+KGNvbm5lY3Rp
b24sIGFyZ3VtZW50cywgdGhpcywgJiVzKTtcbicgJSAoZGlzcGF0Y2hfZnVuY3Rpb24sIHJlY2Vp
dmVyLm5hbWUsIG1lc3NhZ2UubmFtZSwgaGFuZGxlcl9mdW5jdGlvbihyZWNlaXZlciwgbWVzc2Fn
ZSkpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCcgICAgICAgIGRpZEhhbmRsZU1lc3NhZ2UgPSB0
cnVlO1xuJykKKyAgICBlbHNlOgorICAgICAgICByZXN1bHQuYXBwZW5kKCcgICAgICAgIENvcmVJ
UEM6OiVzPE1lc3NhZ2VzOjolczo6JXM+KGFyZ3VtZW50cywgdGhpcywgJiVzKTtcbicgJSAoZGlz
cGF0Y2hfZnVuY3Rpb24sIHJlY2VpdmVyLm5hbWUsIG1lc3NhZ2UubmFtZSwgaGFuZGxlcl9mdW5j
dGlvbihyZWNlaXZlciwgbWVzc2FnZSkpKQogICAgIHJlc3VsdC5hcHBlbmQoJyAgICAgICAgcmV0
dXJuO1xuJykKICAgICByZXR1cm4gc3Vycm91bmRfaW5fY29uZGl0aW9uKCcnLmpvaW4ocmVzdWx0
KSwgbWVzc2FnZS5jb25kaXRpb24pCiAKQEAgLTUzMywxNCArNTM1LDE0IEBAIGRlZiBnZW5lcmF0
ZV9tZXNzYWdlX2hhbmRsZXIoZmlsZSk6CiAgICAgICAgICAgICAgICAgYXN5bmNfbWVzc2FnZXMu
YXBwZW5kKG1lc3NhZ2UpCiAKICAgICBpZiBhc3luY19kaXNwYXRjaF9vbl9jb25uZWN0aW9uX3F1
ZXVlX21lc3NhZ2VzOgotICAgICAgICByZXN1bHQuYXBwZW5kKCd2b2lkICVzOjpkaWRSZWNlaXZl
JXNNZXNzYWdlT25Db25uZWN0aW9uV29ya1F1ZXVlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3Jl
SVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3Vt
ZW50cywgYm9vbCYgZGlkSGFuZGxlTWVzc2FnZSlcbicgJSAocmVjZWl2ZXIubmFtZSwgcmVjZWl2
ZXIubmFtZSkpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoJ3ZvaWQgJXM6OmRpZFJlY2VpdmUlc01l
c3NhZ2VPbkNvbm5lY3Rpb25Xb3JrUXVldWUoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlv
biwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
KiBhcmd1bWVudHMsIGJvb2wmIGRpZEhhbmRsZU1lc3NhZ2UpXG4nICUgKHJlY2VpdmVyLm5hbWUs
IHJlY2VpdmVyLm5hbWUpKQogICAgICAgICByZXN1bHQuYXBwZW5kKCd7XG4nKQogICAgICAgICBy
ZXN1bHQuYXBwZW5kKCcjaWYgQ09NUElMRVIoTVNWQylcbicpCiAgICAgICAgIHJlc3VsdC5hcHBl
bmQoJyNwcmFnbWEgd2FybmluZyhwdXNoKVxuJykKICAgICAgICAgcmVzdWx0LmFwcGVuZCgnI3By
YWdtYSB3YXJuaW5nKGRpc2FibGU6IDQwNjUpXG4nKQogICAgICAgICByZXN1bHQuYXBwZW5kKCcj
ZW5kaWZcbicpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAgICBzd2l0Y2ggKG1lc3NhZ2VJRC5n
ZXQ8TWVzc2FnZXM6OiVzOjpLaW5kPigpKSB7XG4nICUgcmVjZWl2ZXIubmFtZSkKLSAgICAgICAg
cmVzdWx0ICs9IFthc3luY19jYXNlX3N0YXRlbWVudChyZWNlaXZlciwgbWVzc2FnZSwgJ2RpZEhh
bmRsZU1lc3NhZ2UgPSB0cnVlOycpIGZvciBtZXNzYWdlIGluIGFzeW5jX2Rpc3BhdGNoX29uX2Nv
bm5lY3Rpb25fcXVldWVfbWVzc2FnZXNdCisgICAgICAgIHJlc3VsdCArPSBbYXN5bmNfY2FzZV9z
dGF0ZW1lbnQocmVjZWl2ZXIsIG1lc3NhZ2UpIGZvciBtZXNzYWdlIGluIGFzeW5jX2Rpc3BhdGNo
X29uX2Nvbm5lY3Rpb25fcXVldWVfbWVzc2FnZXNdCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAg
ICBkZWZhdWx0OlxuJykKICAgICAgICAgcmVzdWx0LmFwcGVuZCgnICAgICAgICByZXR1cm47XG4n
KQogICAgICAgICByZXN1bHQuYXBwZW5kKCcgICAgfVxuJykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlc191bml0dGVzdC5weSBiL1NvdXJjZS9XZWJL
aXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlc191bml0dGVzdC5weQppbmRleCBkYzZiM2FmZjkw
N2M5M2ViMjhlNWRhYzdkNDlmYTNiMWE5NzA0MzE1Li5kZDlmYmVjYzNmMTkxYjM4ZmJhYmEzOGU2
MzFkODMyMTNkZTA4ZWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtp
dDIvbWVzc2FnZXNfdW5pdHRlc3QucHkKKysrIGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJr
aXQyL21lc3NhZ2VzX3VuaXR0ZXN0LnB5CkBAIC02ODUsNyArNjg1LDcgQEAgYm9vbCBUZXN0TXVs
dGlwbGVBdHRyaWJ1dGVzOjpEZWxheWVkUmVwbHk6OnNlbmQoKQogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlV2ViUGFnZU1lc3NhZ2VPbkNvbm5lY3Rpb25X
b3JrUXVldWUoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdl
SUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzLCBib29sJiBkaWRIYW5kbGVN
ZXNzYWdlKQordm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlV2ViUGFnZU1lc3NhZ2VPbkNvbm5lY3Rp
b25Xb3JrUXVldWUoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVz
c2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMsIGJv
b2wmIGRpZEhhbmRsZU1lc3NhZ2UpCiB7CiAjaWYgQ09NUElMRVIoTVNWQykKICNwcmFnbWEgd2Fy
bmluZyhwdXNoKQpAQCAtNjkzLDcgKzY5Myw3IEBAIHZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZVdl
YlBhZ2VNZXNzYWdlT25Db25uZWN0aW9uV29ya1F1ZXVlKENvcmVJUEM6OkNvbm5lY3Rpb24qCiAj
ZW5kaWYKICAgICBzd2l0Y2ggKG1lc3NhZ2VJRC5nZXQ8TWVzc2FnZXM6OldlYlBhZ2U6OktpbmQ+
KCkpIHsKICAgICBjYXNlIE1lc3NhZ2VzOjpXZWJQYWdlOjpUZXN0Q29ubmVjdGlvblF1ZXVlSUQ6
Ci0gICAgICAgIENvcmVJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYlBhZ2U6OlRlc3RD
b25uZWN0aW9uUXVldWU+KGFyZ3VtZW50cywgdGhpcywgJldlYlBhZ2U6OnRlc3RDb25uZWN0aW9u
UXVldWUpOworICAgICAgICBDb3JlSVBDOjpoYW5kbGVNZXNzYWdlT25Db25uZWN0aW9uUXVldWU8
TWVzc2FnZXM6OldlYlBhZ2U6OlRlc3RDb25uZWN0aW9uUXVldWU+KGNvbm5lY3Rpb24sIGFyZ3Vt
ZW50cywgdGhpcywgJldlYlBhZ2U6OnRlc3RDb25uZWN0aW9uUXVldWUpOwogICAgICAgICBkaWRI
YW5kbGVNZXNzYWdlID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuOwogICAgIGRlZmF1bHQ6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIu
Y3BwCmluZGV4IDY0ODY1ODdkMGZjNTRmMWM5MDQ5ZDQ2N2M3MjU3ODRmMWQ4NTQ3MDcuLjFhOTFk
OGUzYzAyMzQ4NDM5YjlmMzJkY2Y4MzQwNjFmMDEzN2RiZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwCkBAIC03OCw3
ICs3OCw3IEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaWRSZWNlaXZlTWVzc2FnZU9uQ29ubmVj
dGlvbldvcmtRdWV1ZShDb3JlSVBDOjpDb25uZWN0aW9uCiAgICAgfQogfQogCi12b2lkIEV2ZW50
RGlzcGF0Y2hlcjo6d2hlZWxFdmVudCh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYldoZWVsRXZl
bnQmIHdoZWVsRXZlbnQpCit2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6d2hlZWxFdmVudChDb3JlSVBD
OjpDb25uZWN0aW9uKiwgdWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJXaGVlbEV2ZW50JiB3aGVl
bEV2ZW50KQogewogI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCiAgICAgTXV0ZXhMb2Nr
ZXIgbG9ja2VyKG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3JzTXV0ZXgpOwpAQCAtOTYsNyArOTYsNyBA
QCB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6d2hlZWxFdmVudCh1aW50NjRfdCBwYWdlSUQsIGNvbnN0
IFdlYldoZWVsRXZlbnQmIHdoZWVsRXZlbgogfQogCiAjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRT
KQotdm9pZCBFdmVudERpc3BhdGNoZXI6Omdlc3R1cmVFdmVudCh1aW50NjRfdCBwYWdlSUQsIGNv
bnN0IFdlYkdlc3R1cmVFdmVudCYgZ2VzdHVyZUV2ZW50KQordm9pZCBFdmVudERpc3BhdGNoZXI6
Omdlc3R1cmVFdmVudChDb3JlSVBDOjpDb25uZWN0aW9uKiwgdWludDY0X3QgcGFnZUlELCBjb25z
dCBXZWJHZXN0dXJlRXZlbnQmIGdlc3R1cmVFdmVudCkKIHsKICNpZiBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKQogICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3Njcm9sbGluZ0Nvb3JkaW5hdG9y
c011dGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9F
dmVudERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVu
dERpc3BhdGNoZXIuaAppbmRleCA3Y2QyZjk1NTBjZWU0MmYxODA5NGJjOWExM2NlNjFhZDRhYmQy
YzFmLi5mOGM0NTlhZjVhYzRmMTljYTBhNWY3Yzg0YmMwYzY3M2IxZDBjYzc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5oCkBA
IC02Niw5ICs2Niw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNlaXZlRXZlbnREaXNwYXRj
aGVyTWVzc2FnZU9uQ29ubmVjdGlvbldvcmtRdWV1ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29y
ZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cywgYm9v
bCYgZGlkSGFuZGxlTWVzc2FnZSk7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzCi0gICAgdm9p
ZCB3aGVlbEV2ZW50KHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViV2hlZWxFdmVudCYpOworICAg
IHZvaWQgd2hlZWxFdmVudChDb3JlSVBDOjpDb25uZWN0aW9uKiwgdWludDY0X3QgcGFnZUlELCBj
b25zdCBXZWJXaGVlbEV2ZW50Jik7CiAjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQotICAgIHZv
aWQgZ2VzdHVyZUV2ZW50KHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViR2VzdHVyZUV2ZW50Jik7
CisgICAgdm9pZCBnZXN0dXJlRXZlbnQoQ29yZUlQQzo6Q29ubmVjdGlvbiosIHVpbnQ2NF90IHBh
Z2VJRCwgY29uc3QgV2ViR2VzdHVyZUV2ZW50Jik7CiAjZW5kaWYKIAogICAgIC8vIFRoaXMgaXMg
Y2FsbGVkIG9uIHRoZSBtYWluIHRocmVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCmluZGV4IDlmZGNhOTA1MWIyYTUwNTA4YWVjZDRlZWE1ZGI2ZGEyZTExMjdjY2Uu
LjM5YjNiYzhlNWI3YmI4N2E2ZjY4NDQ3OGExYmZlODliMmQ0MzRjZGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtOTQ5LDcgKzk0OSw3IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6Z2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0cygpCiB9CiAKICNpZiBFTkFC
TEUoUExVR0lOX1BST0NFU1MpCi12b2lkIFdlYlByb2Nlc3M6OnBsdWdpblByb2Nlc3NDcmFzaGVk
KGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCkKK3ZvaWQgV2ViUHJvY2Vzczo6cGx1Z2luUHJvY2Vz
c0NyYXNoZWQoQ29yZUlQQzo6Q29ubmVjdGlvbiosIGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCkK
IHsKICAgICBtX3BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5wbHVnaW5Qcm9jZXNzQ3Jh
c2hlZChwbHVnaW5QYXRoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
aW5kZXggYjZmZmY3ZjJmZmFjNDJiMGM1OTk4ZWRlNWY1ODA0ZWQxNjFlYzA4Yi4uMTBkODYxMmFl
ZjlkOTY5NTVkZjBkNDQ5NTA0MWViMTI3NzIyMTQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKQEAgLTE4Miw3ICsxODIsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAg
CiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQotICAgIHZvaWQgcGx1Z2luUHJvY2Vzc0NyYXNo
ZWQoY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoKTsKKyAgICB2b2lkIHBsdWdpblByb2Nlc3NDcmFz
aGVkKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgpOwogI2Vu
ZGlmCiAKICAgICB2b2lkIHN0YXJ0TWVtb3J5U2FtcGxlcihjb25zdCBTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGUmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBkb3VibGUpOwo=
</data>
<flag name="review"
          id="122538"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>