<?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>87245</bug_id>
          
          <creation_ts>2012-05-23 03:58:25 -0700</creation_ts>
          <short_desc>[EFL] Ewk_Intent does not expose WebCore::Intent::data()</short_desc>
          <delta_ts>2012-06-01 03:27:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>86841</blocked>
    
    <blocked>86868</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>abarth</cc>
    
    <cc>gbillock</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>oliver</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>631477</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-23 03:58:25 -0700</bug_when>
    <thetext>EFL&apos;s Ewk_Intent does not expose WebCore::Intent::data() yet. The issue is that JSC&apos;s SerializedScriptValue does not expose its wire string.

In order to expose WebCore::Intent::data() in Ewk_Intent, we need to implement SerializedScriptValue::toWireString() and make this method accessible even if INDEXED_DATABASE is disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631487</commentid>
    <comment_count>1</comment_count>
      <attachid>143528</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-23 04:16:50 -0700</bug_when>
    <thetext>Created attachment 143528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631668</commentid>
    <comment_count>2</comment_count>
      <attachid>143528</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-05-23 08:03:04 -0700</bug_when>
    <thetext>Comment on attachment 143528
Patch

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

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:1791
&gt; +    characters.append(data.characters8(), data.length());

Do you need to check data.is8bit() here and create an intermediate representation if it isn&apos;t? Or should wire format strings always be 8-bit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631962</commentid>
    <comment_count>3</comment_count>
      <attachid>143528</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-23 13:19:34 -0700</bug_when>
    <thetext>Comment on attachment 143528
Patch

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

&gt;&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:1791
&gt;&gt; +    characters.append(data.characters8(), data.length());
&gt; 
&gt; Do you need to check data.is8bit() here and create an intermediate representation if it isn&apos;t? Or should wire format strings always be 8-bit?

This isn&apos;t right.  You should create a CString temporary using data.utf8() and then use the accessors on the CString to get the chars out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632465</commentid>
    <comment_count>4</comment_count>
      <attachid>143747</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-23 23:59:36 -0700</bug_when>
    <thetext>Created attachment 143747
Patch

Use String::utf8() as advised by abarth.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632832</commentid>
    <comment_count>5</comment_count>
      <attachid>143747</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-24 08:35:38 -0700</bug_when>
    <thetext>Comment on attachment 143747
Patch

It&apos;s interesting that the JSC version of SerializedScriptValue uses a Vector&lt;unsigned char&gt; for m_data but the V8 version uses String.  I wonder why they&apos;re different.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633776</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-25 03:09:11 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 143747 [details])
&gt; It&apos;s interesting that the JSC version of SerializedScriptValue uses a Vector&lt;unsigned char&gt; for m_data but the V8 version uses String.  I wonder why they&apos;re different.

After looking at the GIT history for both implementation, I don&apos;t see any obvious reason for this difference. I&apos;m adding Oliver in CC in case he has input of this.

Does the patch look valid otherwise?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634357</commentid>
    <comment_count>7</comment_count>
      <attachid>143747</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-25 15:40:10 -0700</bug_when>
    <thetext>Comment on attachment 143747
Patch

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

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:1793
&gt; +    CString dataChars = data.utf8();
&gt; +    Vector&lt;unsigned char&gt; characters;
&gt; +    characters.append(reinterpret_cast&lt;const unsigned char*&gt;(dataChars.data()), dataChars.length());
&gt; +    return adopt(characters);

This looks like it has an extra copy in it.  Here you&apos;re copying the UTF-8 data into the CString and then you&apos;re copying it into the Vector.  Is there really no way to deserialize it without the extra copy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635187</commentid>
    <comment_count>8</comment_count>
      <attachid>144351</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-28 06:54:09 -0700</bug_when>
    <thetext>Created attachment 144351
Patch

After thinking a bit more about it, I went back to my initial proposal.

Note that WTF::String is used here purely has a container for our char buffer. In the JSC case, this is a vector of unsigned char (or LChar), so a 8-Bit buffer.
The JSC::SerializedScriptValue::toWireString() can only return a String that is 8-Bit (as per its implementation in the present patch). Only a String returned from JSC::SerializedScriptValue::toWireString() can be passed to JSC::SerializedScriptValue::createFromWire() and therefore the String passed as argument as to be 8-Bit or it is invalid. I added ASSERTIONS to be safe.

I believe that calling WTF::String::utf8() in this case is wrong because it may cause converting of the data stored in the buffer internally. We specifically don&apos;t want the char buffer to be altered since WTF::String is used purely as a container (which is slightly confusing but matching the V8 API). A binary image might be stored in that buffer and converting to a different encoding will lead to unexpected result.

For short, the &quot;wire&quot; String here is used merely as an exchange/storage format. It is used in the following scenario in IndexedDB for example:
- Store output of serializedData.toWireString() to the database
- Read data (aka &quot;wire string&quot;) back from database
- Construct back a SerializedScriptValue from the wire string using SerializedScriptValue::createFromWire().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635212</commentid>
    <comment_count>9</comment_count>
      <attachid>144351</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-28 07:40:50 -0700</bug_when>
    <thetext>Comment on attachment 144351
Patch

Clearing flags. I&apos;ll provide the wire string code for JSC::SerializedScriptValue in a separate patch and not use it for the EFL Intent code. Instead, I plan to write an EFL wrapper for SerializedScriptValue (similar to WebSerializedScriptValue).

Relying on the internal representation of the WTF::String in the EFL Intent code is unsafe, especially considering JSC and V8 implementations of SerializedScriptValue use different representations (JSC uses 8bit, V8 appears to be using 16-Bit).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639154</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-06-01 03:27:52 -0700</bug_when>
    <thetext>Ewk_Intent does not need to publicly expose WebCore::Intent::data().</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143528</attachid>
            <date>2012-05-23 04:16:50 -0700</date>
            <delta_ts>2012-05-23 23:59:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>87245_intents_data.patch</filename>
            <type>text/plain</type>
            <size>6203</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1YzIwZmFjLi5iMjA0YWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTItMDUtMjMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXSBFd2tfSW50ZW50IGRvZXMgbm90IGV4cG9zZSBXZWJDb3Jl
OjpJbnRlbnQ6OmRhdGEoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODcyNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgaW1wbGVtZW50YXRpb24gZm9yIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6dG9X
aXJlU3RyaW5nKCkgYW5kCisgICAgICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlRnJv
bVdpcmUoKS4gVGhlc2UgbWV0aG9kcyBubyBsb25nZXIKKyAgICAgICAgcmVxdWlyZSB0aGUgSU5E
RVhFRF9EQVRBQkFTRSBmbGFnIGFzIHRoZXkgYXJlIG5lZWRlZCBieSBXZWIgSW50ZW50cworICAg
ICAgICBjb2RlIGFzIHdlbGwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0
b1dpcmVTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZUZyb21XaXJlKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaDoKKwogMjAxMi0wNS0yMyAgQWxpY2UgQm94aGFsbCAg
PGFib3hoYWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBWDogQ29udGVudGVkaXRhYmxlIHRh
YmxlcyBzaG91bGQgYWx3YXlzIGJlIGV4cG9zZWQgYXMgZGF0YSB0YWJsZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmluZGV4
IDk3MGM4NTAuLjMzOGY3ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTc2NywxNyArMTc2Nyw2IEBAIFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0
ZShKU0M6OkV4ZWNTdGF0ZSosCiAgICAgcmV0dXJuIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPigpOwogfQogCi1TdHJpbmcgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0b1dpcmVTdHJp
bmcoKSBjb25zdAotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFN0cmluZygp
OwotfQotUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTo6Y3JlYXRlRnJvbVdpcmUoY29uc3QgU3RyaW5nJikKLXsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotICAgIHJldHVybiBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4oKTsKLX0K
LQogUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6bnVtYmVyVmFsdWUoZG91YmxlKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkBAIC0xNzkx
LDYgKzE3ODAsMTggQEAgSlNWYWx1ZSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXpl
KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCoKIH0KICNlbmRpZgogCitTdHJp
bmcgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0b1dpcmVTdHJpbmcoKSBjb25zdAoreworICAgIHJl
dHVybiBTdHJpbmcobV9kYXRhLmRhdGEoKSwgbV9kYXRhLnNpemUoKSk7Cit9CisKK1Bhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZUZy
b21XaXJlKGNvbnN0IFN0cmluZyYgZGF0YSkKK3sKKyAgICBWZWN0b3I8dW5zaWduZWQgY2hhcj4g
Y2hhcmFjdGVyczsKKyAgICBjaGFyYWN0ZXJzLmFwcGVuZChkYXRhLmNoYXJhY3RlcnM4KCksIGRh
dGEubGVuZ3RoKCkpOworICAgIHJldHVybiBhZG9wdChjaGFyYWN0ZXJzKTsKK30KKwogUGFzc1Jl
ZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRl
KEpTQ29udGV4dFJlZiBvcmlnaW5Db250ZXh0LCBKU1ZhbHVlUmVmIGFwaVZhbHVlLCAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBNZXNzYWdlUG9ydEFycmF5KiBtZXNzYWdlUG9ydHMsIEFycmF5QnVmZmVyQXJyYXkqIGFycmF5
QnVmZmVycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCmluZGV4IDk5YmExYzEu
LjMxMmEwYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oCkBAIC05NywxMiArOTcsMTMgQEAgcHVibGljOgogCiAjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gY3JlYXRlRnJvbVdpcmUoY29uc3Qg
U3RyaW5nJiBkYXRhKTsKLSAgICBTdHJpbmcgdG9XaXJlU3RyaW5nKCkgY29uc3Q7CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBudW1iZXJWYWx1ZShkb3VibGUg
dmFsdWUpOwogICAgIEpTQzo6SlNWYWx1ZSBkZXNlcmlhbGl6ZShKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNHbG9iYWxPYmplY3QqKTsKICNlbmRpZgogCisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiBjcmVhdGVGcm9tV2lyZShjb25zdCBTdHJpbmcmIGRhdGEpOwor
ICAgIFN0cmluZyB0b1dpcmVTdHJpbmcoKSBjb25zdDsKKwogICAgIH5TZXJpYWxpemVkU2NyaXB0
VmFsdWUoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAyOTI1YTAwLi4yZjMwNTc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEgQEAKIDIwMTItMDUtMjMgIENocmlzdG9w
aGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAorICAgICAgICBbRUZMXSBF
d2tfSW50ZW50IGRvZXMgbm90IGV4cG9zZSBXZWJDb3JlOjpJbnRlbnQ6OmRhdGEoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcyNDUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaW1wbGVtZW50YXRp
b24gZm9yIGV3a19pbnRlbnRfZGF0YV9nZXQoKSBpbiBFd2tfSW50ZW50IGJ5IHVzaW5nCisgICAg
ICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6dG9XaXJlU3RyaW5nKCkuCisKKyAgICAgICAgKiBl
d2svZXdrX2ludGVudC5jcHA6CisgICAgICAgIChfRXdrX0ludGVudCk6CisgICAgICAgIChld2tf
aW50ZW50X2RhdGFfZ2V0KToKKyAgICAgICAgKGV3a19pbnRlbnRfZnJlZSk6CisgICAgICAgICog
ZXdrL2V3a19pbnRlbnQuaDoKKworMjAxMi0wNS0yMyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlz
dG9waGUuZHVtZXpAaW50ZWwuY29tPgorCiAgICAgICAgIFtFRkxdIEVGTCdzIERSVCBkb2VzIG5v
dCBwcmludCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yIG1lc3NhZ2VzCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTk1NgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ludGVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX2ludGVudC5jcHAKaW5kZXggOTMwMjI2My4uMWYyNGM4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19pbnRlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfaW50ZW50LmNwcApAQCAtNDAsNyArNDAsNiBAQCBzdHJ1Y3QgX0V3a19J
bnRlbnQgewogI2VuZGlmCiAgICAgY29uc3QgY2hhciogYWN0aW9uOwogICAgIGNvbnN0IGNoYXIq
IHR5cGU7Ci0gICAgY29uc3QgY2hhciogZGF0YTsKICAgICBjb25zdCBjaGFyKiBzZXJ2aWNlOwog
fTsKIApAQCAtODUsMTEgKzg0LDEyIEBAIGNvbnN0IGNoYXIqIGV3a19pbnRlbnRfdHlwZV9nZXQo
Y29uc3QgRXdrX0ludGVudCogaW50ZW50KQogI2VuZGlmCiB9CiAKLWNvbnN0IGNoYXIqIGV3a19p
bnRlbnRfZGF0YV9nZXQoY29uc3QgRXdrX0ludGVudCogaW50ZW50KQorY29uc3QgdW5zaWduZWQg
Y2hhciogZXdrX2ludGVudF9kYXRhX2dldChjb25zdCBFd2tfSW50ZW50KiBpbnRlbnQpCiB7CiAj
aWYgRU5BQkxFKFdFQl9JTlRFTlRTKQotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJu
IDA7CisgICAgRVdLX0lOVEVOVF9DT1JFX0dFVF9PUl9SRVRVUk4oaW50ZW50LCBjb3JlLCAwKTsK
KworICAgIHJldHVybiBjb3JlLT5kYXRhKCktPnRvV2lyZVN0cmluZygpLmNoYXJhY3RlcnM4KCk7
CiAjZWxzZQogICAgIHJldHVybiAwOwogI2VuZGlmCkBAIC0xODQsNyArMTg0LDYgQEAgdm9pZCBl
d2tfaW50ZW50X2ZyZWUoRXdrX0ludGVudCogaW50ZW50KQogCiAgICAgZWluYV9zdHJpbmdzaGFy
ZV9kZWwoaW50ZW50LT5hY3Rpb24pOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGludGVudC0+
dHlwZSk7Ci0gICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoaW50ZW50LT5kYXRhKTsKICAgICBlaW5h
X3N0cmluZ3NoYXJlX2RlbChpbnRlbnQtPnNlcnZpY2UpOwogICAgIGRlbGV0ZSBpbnRlbnQ7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ludGVudC5oIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19pbnRlbnQuaAppbmRleCBmNGRjMGE4Li5mOGRlZjFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ludGVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfaW50ZW50LmgKQEAgLTYwLDEzICs2MCw5IEBAIEVBUEkgY29uc3Qg
Y2hhciAqZXdrX2ludGVudF90eXBlX2dldChjb25zdCBFd2tfSW50ZW50ICppbnRlbnQpOwogICoK
ICAqIEBwYXJhbSBpbnRlbnQgaW50ZW50IGl0ZW0gdG8gcXVlcnkuCiAgKgotICogQHJldHVybiB0
aGUgZGF0YSBwb2ludGVyLCB0aGF0IG1heSBiZSBAYyBOVUxMLiBUaGlzIHBvaW50ZXIgaXMKLSAq
ICAgICAgICAgZ3VhcmFudGVlZCB0byBiZSBlaW5hX3N0cmluZ3NoYXJlLCBzbyB3aGVuZXZlciBw
b3NzaWJsZQotICogICAgICAgICBzYXZlIHlvdXJzZWxmIHNvbWUgY3B1IGN5Y2xlcyBhbmQgdXNl
Ci0gKiAgICAgICAgIGVpbmFfc3RyaW5nc2hhcmVfcmVmKCkgaW5zdGVhZCBvZiBlaW5hX3N0cmlu
Z3NoYXJlX2FkZCgpIG9yCi0gKiAgICAgICAgIHN0cmR1cCgpLgorICogQHJldHVybiB0aGUgZGF0
YSBwb2ludGVyLCB0aGF0IG1heSBiZSBAYyBOVUxMLgogICovCi1FQVBJIGNvbnN0IGNoYXIgKmV3
a19pbnRlbnRfZGF0YV9nZXQoY29uc3QgRXdrX0ludGVudCAqaW50ZW50KTsKK0VBUEkgY29uc3Qg
dW5zaWduZWQgY2hhciAqZXdrX2ludGVudF9kYXRhX2dldChjb25zdCBFd2tfSW50ZW50ICppbnRl
bnQpOwogCiAvKioKICAqIFF1ZXJ5IHNlcnZpY2UgZm9yIHRoaXMgaW50ZW50Lgo=
</data>
<flag name="review"
          id="150111"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143747</attachid>
            <date>2012-05-23 23:59:36 -0700</date>
            <delta_ts>2012-05-28 06:54:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>87245_intents_data.patch</filename>
            <type>text/plain</type>
            <size>6248</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwMzI5NGI5Li5mMTc5NTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTItMDUtMjMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXSBFd2tfSW50ZW50IGRvZXMgbm90IGV4cG9zZSBXZWJDb3Jl
OjpJbnRlbnQ6OmRhdGEoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODcyNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgaW1wbGVtZW50YXRpb24gZm9yIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6dG9X
aXJlU3RyaW5nKCkgYW5kCisgICAgICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlRnJv
bVdpcmUoKS4gVGhlc2UgbWV0aG9kcyBubyBsb25nZXIKKyAgICAgICAgcmVxdWlyZSB0aGUgSU5E
RVhFRF9EQVRBQkFTRSBmbGFnIGFzIHRoZXkgYXJlIG5lZWRlZCBieSBXZWIgSW50ZW50cworICAg
ICAgICBjb2RlIGFzIHdlbGwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0
b1dpcmVTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZUZyb21XaXJlKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaDoKKwogMjAxMi0wNS0yMyAgTHUgR3VhbnF1biAgPGd1
YW5xdW4ubHVAaW50ZWwuY29tPgogCiAgICAgICAgIHNvcnQgdGhlIGFycmF5ICdub25fd3JhcHBl
cl90eXBlcycKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwCmluZGV4IDk3MGM4NTAuLmI3YjU4ODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTc2
NywxNyArMTc2Nyw2IEBAIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBTZXJpYWxp
emVkU2NyaXB0VmFsdWU6OmNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosCiAgICAgcmV0dXJuIFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPigpOwogfQogCi1TdHJpbmcgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOjp0b1dpcmVTdHJpbmcoKSBjb25zdAotewotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgcmV0dXJuIFN0cmluZygpOwotfQotUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlRnJvbVdpcmUoY29uc3QgU3RyaW5nJikK
LXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBQYXNzUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4oKTsKLX0KLQogUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6bnVtYmVyVmFsdWUoZG91YmxlKQogewogICAgIG5vdElt
cGxlbWVudGVkKCk7CkBAIC0xNzkxLDYgKzE3ODAsMTkgQEAgSlNWYWx1ZSBTZXJpYWxpemVkU2Ny
aXB0VmFsdWU6OmRlc2VyaWFsaXplKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVj
dCoKIH0KICNlbmRpZgogCitTdHJpbmcgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0b1dpcmVTdHJp
bmcoKSBjb25zdAoreworICAgIHJldHVybiBTdHJpbmcobV9kYXRhLmRhdGEoKSwgbV9kYXRhLnNp
emUoKSk7Cit9CisKK1Bhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBTZXJpYWxpemVk
U2NyaXB0VmFsdWU6OmNyZWF0ZUZyb21XaXJlKGNvbnN0IFN0cmluZyYgZGF0YSkKK3sKKyAgICBD
U3RyaW5nIGRhdGFDaGFycyA9IGRhdGEudXRmOCgpOworICAgIFZlY3Rvcjx1bnNpZ25lZCBjaGFy
PiBjaGFyYWN0ZXJzOworICAgIGNoYXJhY3RlcnMuYXBwZW5kKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgdW5zaWduZWQgY2hhcio+KGRhdGFDaGFycy5kYXRhKCkpLCBkYXRhQ2hhcnMubGVuZ3RoKCkp
OworICAgIHJldHVybiBhZG9wdChjaGFyYWN0ZXJzKTsKK30KKwogUGFzc1JlZlB0cjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKEpTQ29udGV4dFJl
ZiBvcmlnaW5Db250ZXh0LCBKU1ZhbHVlUmVmIGFwaVZhbHVlLCAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlUG9y
dEFycmF5KiBtZXNzYWdlUG9ydHMsIEFycmF5QnVmZmVyQXJyYXkqIGFycmF5QnVmZmVycywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCmluZGV4IDk5YmExYzEuLjMxMmEwYjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oCkBAIC05NywxMiArOTcsMTMgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBjcmVh
dGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gY3JlYXRlRnJvbVdpcmUoY29uc3QgU3RyaW5nJiBkYXRh
KTsKLSAgICBTdHJpbmcgdG9XaXJlU3RyaW5nKCkgY29uc3Q7CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBudW1iZXJWYWx1ZShkb3VibGUgdmFsdWUpOwogICAg
IEpTQzo6SlNWYWx1ZSBkZXNlcmlhbGl6ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxP
YmplY3QqKTsKICNlbmRpZgogCisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBjcmVhdGVGcm9tV2lyZShjb25zdCBTdHJpbmcmIGRhdGEpOworICAgIFN0cmluZyB0
b1dpcmVTdHJpbmcoKSBjb25zdDsKKwogICAgIH5TZXJpYWxpemVkU2NyaXB0VmFsdWUoKTsKIAog
cHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAyOTI1YTAwLi4yZjMwNTc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjEgQEAKIDIwMTItMDUtMjMgIENocmlzdG9waGUgRHVtZXogIDxj
aHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAorICAgICAgICBbRUZMXSBFd2tfSW50ZW50IGRv
ZXMgbm90IGV4cG9zZSBXZWJDb3JlOjpJbnRlbnQ6OmRhdGEoKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcyNDUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaW1wbGVtZW50YXRpb24gZm9yIGV3a19p
bnRlbnRfZGF0YV9nZXQoKSBpbiBFd2tfSW50ZW50IGJ5IHVzaW5nCisgICAgICAgIFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6dG9XaXJlU3RyaW5nKCkuCisKKyAgICAgICAgKiBld2svZXdrX2ludGVu
dC5jcHA6CisgICAgICAgIChfRXdrX0ludGVudCk6CisgICAgICAgIChld2tfaW50ZW50X2RhdGFf
Z2V0KToKKyAgICAgICAgKGV3a19pbnRlbnRfZnJlZSk6CisgICAgICAgICogZXdrL2V3a19pbnRl
bnQuaDoKKworMjAxMi0wNS0yMyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpA
aW50ZWwuY29tPgorCiAgICAgICAgIFtFRkxdIEVGTCdzIERSVCBkb2VzIG5vdCBwcmludCBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yIG1lc3NhZ2VzCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTk1NgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ludGVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2ludGVudC5jcHAKaW5kZXggOTMwMjI2My4uMWYyNGM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19pbnRlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfaW50ZW50LmNwcApAQCAtNDAsNyArNDAsNiBAQCBzdHJ1Y3QgX0V3a19JbnRlbnQgewogI2Vu
ZGlmCiAgICAgY29uc3QgY2hhciogYWN0aW9uOwogICAgIGNvbnN0IGNoYXIqIHR5cGU7Ci0gICAg
Y29uc3QgY2hhciogZGF0YTsKICAgICBjb25zdCBjaGFyKiBzZXJ2aWNlOwogfTsKIApAQCAtODUs
MTEgKzg0LDEyIEBAIGNvbnN0IGNoYXIqIGV3a19pbnRlbnRfdHlwZV9nZXQoY29uc3QgRXdrX0lu
dGVudCogaW50ZW50KQogI2VuZGlmCiB9CiAKLWNvbnN0IGNoYXIqIGV3a19pbnRlbnRfZGF0YV9n
ZXQoY29uc3QgRXdrX0ludGVudCogaW50ZW50KQorY29uc3QgdW5zaWduZWQgY2hhciogZXdrX2lu
dGVudF9kYXRhX2dldChjb25zdCBFd2tfSW50ZW50KiBpbnRlbnQpCiB7CiAjaWYgRU5BQkxFKFdF
Ql9JTlRFTlRTKQotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgRVdL
X0lOVEVOVF9DT1JFX0dFVF9PUl9SRVRVUk4oaW50ZW50LCBjb3JlLCAwKTsKKworICAgIHJldHVy
biBjb3JlLT5kYXRhKCktPnRvV2lyZVN0cmluZygpLmNoYXJhY3RlcnM4KCk7CiAjZWxzZQogICAg
IHJldHVybiAwOwogI2VuZGlmCkBAIC0xODQsNyArMTg0LDYgQEAgdm9pZCBld2tfaW50ZW50X2Zy
ZWUoRXdrX0ludGVudCogaW50ZW50KQogCiAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoaW50ZW50
LT5hY3Rpb24pOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGludGVudC0+dHlwZSk7Ci0gICAg
ZWluYV9zdHJpbmdzaGFyZV9kZWwoaW50ZW50LT5kYXRhKTsKICAgICBlaW5hX3N0cmluZ3NoYXJl
X2RlbChpbnRlbnQtPnNlcnZpY2UpOwogICAgIGRlbGV0ZSBpbnRlbnQ7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ludGVudC5oIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19pbnRlbnQuaAppbmRleCBmNGRjMGE4Li5mOGRlZjFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2ludGVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfaW50ZW50LmgKQEAgLTYwLDEzICs2MCw5IEBAIEVBUEkgY29uc3QgY2hhciAqZXdrX2lu
dGVudF90eXBlX2dldChjb25zdCBFd2tfSW50ZW50ICppbnRlbnQpOwogICoKICAqIEBwYXJhbSBp
bnRlbnQgaW50ZW50IGl0ZW0gdG8gcXVlcnkuCiAgKgotICogQHJldHVybiB0aGUgZGF0YSBwb2lu
dGVyLCB0aGF0IG1heSBiZSBAYyBOVUxMLiBUaGlzIHBvaW50ZXIgaXMKLSAqICAgICAgICAgZ3Vh
cmFudGVlZCB0byBiZSBlaW5hX3N0cmluZ3NoYXJlLCBzbyB3aGVuZXZlciBwb3NzaWJsZQotICog
ICAgICAgICBzYXZlIHlvdXJzZWxmIHNvbWUgY3B1IGN5Y2xlcyBhbmQgdXNlCi0gKiAgICAgICAg
IGVpbmFfc3RyaW5nc2hhcmVfcmVmKCkgaW5zdGVhZCBvZiBlaW5hX3N0cmluZ3NoYXJlX2FkZCgp
IG9yCi0gKiAgICAgICAgIHN0cmR1cCgpLgorICogQHJldHVybiB0aGUgZGF0YSBwb2ludGVyLCB0
aGF0IG1heSBiZSBAYyBOVUxMLgogICovCi1FQVBJIGNvbnN0IGNoYXIgKmV3a19pbnRlbnRfZGF0
YV9nZXQoY29uc3QgRXdrX0ludGVudCAqaW50ZW50KTsKK0VBUEkgY29uc3QgdW5zaWduZWQgY2hh
ciAqZXdrX2ludGVudF9kYXRhX2dldChjb25zdCBFd2tfSW50ZW50ICppbnRlbnQpOwogCiAvKioK
ICAqIFF1ZXJ5IHNlcnZpY2UgZm9yIHRoaXMgaW50ZW50Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144351</attachid>
            <date>2012-05-28 06:54:09 -0700</date>
            <delta_ts>2012-05-28 07:40:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>87245_intents_data.patch</filename>
            <type>text/plain</type>
            <size>6384</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0Y2Q3YmM4Li45YzVmMDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTItMDUtMjggIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXSBFd2tfSW50ZW50IGRvZXMgbm90IGV4cG9zZSBXZWJDb3Jl
OjpJbnRlbnQ6OmRhdGEoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODcyNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgaW1wbGVtZW50YXRpb24gZm9yIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6dG9X
aXJlU3RyaW5nKCkgYW5kCisgICAgICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlRnJv
bVdpcmUoKS4gVGhlc2UgbWV0aG9kcyBubyBsb25nZXIKKyAgICAgICAgcmVxdWlyZSB0aGUgSU5E
RVhFRF9EQVRBQkFTRSBmbGFnIGFzIHRoZXkgYXJlIG5lZWRlZCBieSBXZWIgSW50ZW50cworICAg
ICAgICBjb2RlIGFzIHdlbGwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjp0
b1dpcmVTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZUZyb21XaXJlKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaDoKKwogMjAxMi0wNS0yOCAgUGV0ZXIgQmV2ZXJsb28g
IDxwZXRlckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgJkFFbGlnIGRvZXNuJ3QgZ2V0IHJlbmRl
cmVkIGFzIFUrMDBDNgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggOTcwYzg1MC4uZDUyMWRiMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBA
IC0xNzY3LDE3ICsxNzY3LDYgQEAgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKEpTQzo6RXhlY1N0YXRlKiwKICAgICByZXR1cm4g
UGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KCk7CiB9CiAKLVN0cmluZyBTZXJpYWxp
emVkU2NyaXB0VmFsdWU6OnRvV2lyZVN0cmluZygpIGNvbnN0Ci17Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci1QYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZShjb25zdCBTdHJp
bmcmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFBhc3NSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPigpOwotfQotCiBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpudW1iZXJWYWx1ZShkb3VibGUpCiB7CiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKQEAgLTE3OTEsNiArMTc4MCwyMyBAQCBKU1ZhbHVlIFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFs
T2JqZWN0KgogfQogI2VuZGlmCiAKK1N0cmluZyBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OnRvV2ly
ZVN0cmluZygpIGNvbnN0Cit7CisgICAgLy8gU3RyaW5nIGlzIG1lcmVseSB1c2VkIGFzIGEgY29u
dGFpbmVyIGZvciBhIDgtYml0IGJ1ZmZlci4KKyAgICAvLyBObyBjb252ZXJ0aW5nIHNob3VsZCBv
Y2N1ci4KKyAgICByZXR1cm4gU3RyaW5nKG1fZGF0YS5kYXRhKCksIG1fZGF0YS5zaXplKCkpOwor
fQorCitQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gU2VyaWFsaXplZFNjcmlwdFZh
bHVlOjpjcmVhdGVGcm9tV2lyZShjb25zdCBTdHJpbmcmIGRhdGEpCit7CisgICAgVmVjdG9yPHVu
c2lnbmVkIGNoYXI+IGNoYXJhY3RlcnM7CisgICAgLy8gU3RyaW5nIGlzIG1lcmVseSB1c2VkIGFz
IGEgY29udGFpbmVyIGZvciBhIDgtYml0IGJ1ZmZlci4KKyAgICAvLyBObyBjb252ZXJ0aW5nIHNo
b3VsZCBvY2N1ci4KKyAgICBBU1NFUlQoZGF0YS5pczhCaXQoKSk7CisgICAgY2hhcmFjdGVycy5h
cHBlbmQoZGF0YS5jaGFyYWN0ZXJzOCgpLCBkYXRhLmxlbmd0aCgpKTsKKyAgICByZXR1cm4gYWRv
cHQoY2hhcmFjdGVycyk7Cit9CisKIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBT
ZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShKU0NvbnRleHRSZWYgb3JpZ2luQ29udGV4dCwg
SlNWYWx1ZVJlZiBhcGlWYWx1ZSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVBvcnRBcnJheSogbWVzc2FnZVBv
cnRzLCBBcnJheUJ1ZmZlckFycmF5KiBhcnJheUJ1ZmZlcnMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuaAppbmRleCA5OWJhMWMxLi4zMTJhMGIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaApAQCAtOTcsMTIgKzk3
LDEzIEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gY3JlYXRlKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+IGNyZWF0ZUZyb21XaXJlKGNvbnN0IFN0cmluZyYgZGF0YSk7Ci0gICAgU3RyaW5nIHRv
V2lyZVN0cmluZygpIGNvbnN0OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4gbnVtYmVyVmFsdWUoZG91YmxlIHZhbHVlKTsKICAgICBKU0M6OkpTVmFsdWUgZGVz
ZXJpYWxpemUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAjZW5kaWYK
IAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gY3JlYXRlRnJv
bVdpcmUoY29uc3QgU3RyaW5nJiBkYXRhKTsKKyAgICBTdHJpbmcgdG9XaXJlU3RyaW5nKCkgY29u
c3Q7CisKICAgICB+U2VyaWFsaXplZFNjcmlwdFZhbHVlKCk7CiAKIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKaW5kZXggNTk3ODg2OS4uMjM5YTI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDEyLTA1LTI4ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBp
bnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gRXdrX0ludGVudCBkb2VzIG5vdCBleHBvc2UgV2Vi
Q29yZTo6SW50ZW50OjpkYXRhKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg3MjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGltcGxlbWVudGF0aW9uIGZvciBld2tfaW50ZW50X2RhdGFfZ2V0KCkg
aW4gRXdrX0ludGVudCBieSB1c2luZworICAgICAgICBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OnRv
V2lyZVN0cmluZygpLgorCisgICAgICAgICogZXdrL2V3a19pbnRlbnQuY3BwOgorICAgICAgICAo
X0V3a19JbnRlbnQpOgorICAgICAgICAoZXdrX2ludGVudF9kYXRhX2dldCk6CisgICAgICAgIChl
d2tfaW50ZW50X2ZyZWUpOgorICAgICAgICAqIGV3ay9ld2tfaW50ZW50Lmg6CisKIDIwMTItMDUt
MjUgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CiAK
ICAgICAgICAgW0VGTF0gQVBJIGZvciBQYWdlR3JvdXAgdmlzaXRlZCBsaW5rcyBoYXNoIHBvcHVs
YXRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfaW50ZW50LmNwcCBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfaW50ZW50LmNwcAppbmRleCA5MzAyMjYzLi5kYTIy
NGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ludGVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19pbnRlbnQuY3BwCkBAIC00MCw3ICs0MCw2IEBA
IHN0cnVjdCBfRXdrX0ludGVudCB7CiAjZW5kaWYKICAgICBjb25zdCBjaGFyKiBhY3Rpb247CiAg
ICAgY29uc3QgY2hhciogdHlwZTsKLSAgICBjb25zdCBjaGFyKiBkYXRhOwogICAgIGNvbnN0IGNo
YXIqIHNlcnZpY2U7CiB9OwogCkBAIC04NSwxMSArODQsMTQgQEAgY29uc3QgY2hhciogZXdrX2lu
dGVudF90eXBlX2dldChjb25zdCBFd2tfSW50ZW50KiBpbnRlbnQpCiAjZW5kaWYKIH0KIAotY29u
c3QgY2hhciogZXdrX2ludGVudF9kYXRhX2dldChjb25zdCBFd2tfSW50ZW50KiBpbnRlbnQpCitj
b25zdCB1bnNpZ25lZCBjaGFyKiBld2tfaW50ZW50X2RhdGFfZ2V0KGNvbnN0IEV3a19JbnRlbnQq
IGludGVudCkKIHsKICNpZiBFTkFCTEUoV0VCX0lOVEVOVFMpCi0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4gMDsKKyAgICBFV0tfSU5URU5UX0NPUkVfR0VUX09SX1JFVFVSTihpbnRl
bnQsIGNvcmUsIDApOworCisgICAgU3RyaW5nIGRhdGEgPSBjb3JlLT5kYXRhKCktPnRvV2lyZVN0
cmluZygpOworICAgIEFTU0VSVChkYXRhLmlzOEJpdCgpKTsKKyAgICByZXR1cm4gZGF0YS5jaGFy
YWN0ZXJzOCgpOwogI2Vsc2UKICAgICByZXR1cm4gMDsKICNlbmRpZgpAQCAtMTg0LDcgKzE4Niw2
IEBAIHZvaWQgZXdrX2ludGVudF9mcmVlKEV3a19JbnRlbnQqIGludGVudCkKIAogICAgIGVpbmFf
c3RyaW5nc2hhcmVfZGVsKGludGVudC0+YWN0aW9uKTsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2Rl
bChpbnRlbnQtPnR5cGUpOwotICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGludGVudC0+ZGF0YSk7
CiAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoaW50ZW50LT5zZXJ2aWNlKTsKICAgICBkZWxldGUg
aW50ZW50OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19pbnRlbnQu
aCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfaW50ZW50LmgKaW5kZXggZjRkYzBhOC4uZjhk
ZWYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19pbnRlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ludGVudC5oCkBAIC02MCwxMyArNjAsOSBAQCBF
QVBJIGNvbnN0IGNoYXIgKmV3a19pbnRlbnRfdHlwZV9nZXQoY29uc3QgRXdrX0ludGVudCAqaW50
ZW50KTsKICAqCiAgKiBAcGFyYW0gaW50ZW50IGludGVudCBpdGVtIHRvIHF1ZXJ5LgogICoKLSAq
IEByZXR1cm4gdGhlIGRhdGEgcG9pbnRlciwgdGhhdCBtYXkgYmUgQGMgTlVMTC4gVGhpcyBwb2lu
dGVyIGlzCi0gKiAgICAgICAgIGd1YXJhbnRlZWQgdG8gYmUgZWluYV9zdHJpbmdzaGFyZSwgc28g
d2hlbmV2ZXIgcG9zc2libGUKLSAqICAgICAgICAgc2F2ZSB5b3Vyc2VsZiBzb21lIGNwdSBjeWNs
ZXMgYW5kIHVzZQotICogICAgICAgICBlaW5hX3N0cmluZ3NoYXJlX3JlZigpIGluc3RlYWQgb2Yg
ZWluYV9zdHJpbmdzaGFyZV9hZGQoKSBvcgotICogICAgICAgICBzdHJkdXAoKS4KKyAqIEByZXR1
cm4gdGhlIGRhdGEgcG9pbnRlciwgdGhhdCBtYXkgYmUgQGMgTlVMTC4KICAqLwotRUFQSSBjb25z
dCBjaGFyICpld2tfaW50ZW50X2RhdGFfZ2V0KGNvbnN0IEV3a19JbnRlbnQgKmludGVudCk7CitF
QVBJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmV3a19pbnRlbnRfZGF0YV9nZXQoY29uc3QgRXdrX0lu
dGVudCAqaW50ZW50KTsKIAogLyoqCiAgKiBRdWVyeSBzZXJ2aWNlIGZvciB0aGlzIGludGVudC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>