<?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>44914</bug_id>
          
          <creation_ts>2010-08-30 17:44:04 -0700</creation_ts>
          <short_desc>[chromium] Add an interface for platform copy/paste drag/drop data objects</short_desc>
          <delta_ts>2010-08-31 07:39:30 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>44727</blocked>
    
    <blocked>44917</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Daniel Cheng">dcheng</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>271809</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2010-08-30 17:44:04 -0700</bug_when>
    <thetext>This is useful because we do not plan on copying all the data over in WebView::dragTargetDragEnter anymore. Instead of manually nesting many if&apos;s and else&apos;s in ClipboardChromium or ChromiumDataObject, we use virtual dispatch.

ReadableDataObject and WritableDataObject will implement this interface:
ReadableDataObject is used to retrieve clipboard and drag/drop data via IPCs; WritableDataObject is (theoretically) to buffer writes until WebViewHost::startDragging or the (currently non-existent) Pasteboard equivalent is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271812</commentid>
    <comment_count>1</comment_count>
      <attachid>65985</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2010-08-30 17:47:14 -0700</bug_when>
    <thetext>Created attachment 65985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271824</commentid>
    <comment_count>2</comment_count>
      <attachid>65985</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-30 18:03:38 -0700</bug_when>
    <thetext>Comment on attachment 65985
Patch

&gt; diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
&gt; +        [chromium] Add an interface for platform copy/paste drag/drop data objects
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=44914

Nit: Please add a sentence explaining the general goal (ie., something about so we can eventually support arbitrary data types).

&gt; diff --git a/WebCore/platform/chromium/ChromiumDataObjectNew.h b/WebCore/platform/chromium/ChromiumDataObjectNew.h
&gt; +    virtual String getData(const String&amp; type, bool&amp; succeeded) const = 0;
&gt; +    virtual bool setData(const String&amp; type, const String&amp; data) = 0;

It seems like these methods should use the same style.  Two possibilities: both return a bool (on success) or just remove the bool param complete from getdata (do we need to differentiate between empty and fail?).  The other getters below don&apos;t seem to use a bool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271826</commentid>
    <comment_count>3</comment_count>
      <attachid>65989</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2010-08-30 18:10:00 -0700</bug_when>
    <thetext>Created attachment 65989
Patch

(In reply to comment #2)
&gt; (From update of attachment 65985 [details])
&gt; &gt; diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
&gt; &gt; +        [chromium] Add an interface for platform copy/paste drag/drop data objects
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=44914
&gt; 
&gt; Nit: Please add a sentence explaining the general goal (ie., something about so we can eventually support arbitrary data types).

Done. Updating the other patch as well.

&gt; 
&gt; &gt; diff --git a/WebCore/platform/chromium/ChromiumDataObjectNew.h b/WebCore/platform/chromium/ChromiumDataObjectNew.h
&gt; &gt; +    virtual String getData(const String&amp; type, bool&amp; succeeded) const = 0;
&gt; &gt; +    virtual bool setData(const String&amp; type, const String&amp; data) = 0;
&gt; 
&gt; It seems like these methods should use the same style.  Two possibilities: both return a bool (on success) or just remove the bool param complete from getdata (do we need to differentiate between empty and fail?).  The other getters below don&apos;t seem to use a bool.

This is inherited from Clipboard&apos;s getData() / setData() signature. I agree it&apos;s not ideal, but I don&apos;t feel comfortable changing Clipboard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271827</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-08-30 18:11:33 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; This is inherited from Clipboard&apos;s getData() / setData() signature. I agree it&apos;s not ideal, but I don&apos;t feel comfortable changing Clipboard.

Please file a bug for this.  Bonus points for actually fixing.  Refactoring is important work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272087</commentid>
    <comment_count>5</comment_count>
      <attachid>65989</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-31 07:39:25 -0700</bug_when>
    <thetext>Comment on attachment 65989
Patch

Clearing flags on attachment: 65989

Committed r66483: &lt;http://trac.webkit.org/changeset/66483&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272088</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-31 07:39:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65985</attachid>
            <date>2010-08-30 17:47:14 -0700</date>
            <delta_ts>2010-08-30 18:10:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44914-20100830174712.patch</filename>
            <type>text/plain</type>
            <size>5856</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWJkZGVhOGNjYzY1NDhjOGNiZjc5NGMwMmNmY2NkODE1ZTQxMTdhZS4uMjg5Y2MwMWM1ODQ1NDMz
N2VlOTBkNGQ0NGYyM2M2MzFkNjgyODQ1ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wOC0zMCAgRGFu
aWVsIENoZW5nICA8ZGNoZW5nQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBhbiBpbnRlcmZhY2UgZm9y
IHBsYXRmb3JtIGNvcHkvcGFzdGUgZHJhZy9kcm9wIGRhdGEgb2JqZWN0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ5MTQKKworICAgICAgICBObyBu
ZXcgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vQ2hyb21pdW1EYXRhT2JqZWN0TmV3Lmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmNwcDoKKwogMjAxMC0wOC0zMCAgRXJpYyBD
YXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQppbmRleCBlNWI1N2JhMDhlM2EwMGQ4ZDU5OGNkMmJlNDA3M2Q3MGE5YTBi
ZGY3Li41NTgzMDk4YzAxYWEwN2FlMTM3ZTdhNDMzNzMxN2ZjMDFkMWE1ZjRiIDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjE0
MCw2ICsyMTQwLDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJy
aWRnZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFPYmpl
Y3QuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFPYmpl
Y3QuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1EYXRhT2JqZWN0
TmV3LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVt
LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0u
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW1MaW51
eC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURh
dGFPYmplY3ROZXcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1EYXRhT2Jq
ZWN0TmV3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTNhYzljYjg1NDllNjY5M2RmOWE0YWI1ZTc0ZGUyODIyN2Qz
NmFjYwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21p
dW1EYXRhT2JqZWN0TmV3LmgKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykg
MjAwOCwgMjAwOSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKiAKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENocm9t
aXVtRGF0YU9iamVjdE5ld19oCisjZGVmaW5lIENocm9taXVtRGF0YU9iamVjdE5ld19oCisKKyNp
bmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJT
aGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworLy8gQSBkYXRhIG9iamVjdCBmb3IgaG9sZGluZyBkYXRhIHRoYXQgd291bGQgYmUgaW4g
YSBjbGlwYm9hcmQgb3IgbW92ZWQKKy8vIGR1cmluZyBhIGRyYWctbi1kcm9wIG9wZXJhdGlvbi4g
IFRoaXMgaXMgdGhlIGRhdGEgdGhhdCBXZWJDb3JlIGlzIGF3YXJlCisvLyBvZiBhbmQgaXMgbm90
IHNwZWNpZmljIHRvIGEgcGxhdGZvcm0uCitjbGFzcyBDaHJvbWl1bURhdGFPYmplY3ROZXcgOiBw
dWJsaWMgUmVmQ291bnRlZDxDaHJvbWl1bURhdGFPYmplY3ROZXc+IHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIHZvaWQgY2xlYXJEYXRhKGNvbnN0IFN0cmluZyYgdHlwZSkgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBjbGVhckFsbEV4Y2VwdEZpbGVzKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjbGVh
cigpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzRGF0YSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIEhhc2hTZXQ8U3RyaW5nPiB0eXBlcygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFN0cmlu
ZyBnZXREYXRhKGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCYgc3VjY2VlZGVkKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBib29sIHNldERhdGEoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJp
bmcmIGRhdGEpID0gMDsKKworICAgIC8vIFNwZWNpYWwgYWNjZXNzb3JzIGZvciBVUkwgYW5kIEhU
TUwgc2luY2UgdGhleSBjYXJyeSBhZGRpdGlvbmFsCisgICAgLy8gbWV0YWRhdGEuCisgICAgdmly
dHVhbCBTdHJpbmcgZ2V0VVJMKFN0cmluZyogdGl0bGUpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0VVJMKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7
CisgICAgdmlydHVhbCBTdHJpbmcgZ2V0SFRNTChTdHJpbmcqIGJhc2VVUkwpIGNvbnN0ID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgc2V0SFRNTChjb25zdCBTdHJpbmcmIGh0bWwsIGNvbnN0IEtVUkwm
IGJhc2VVUkwpID0gMDsKKworICAgIHZpcnR1YWwgYm9vbCBoYXNGaWxlbmFtZXMoKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCBWZWN0b3I8U3RyaW5nPiBmaWxlbmFtZXMoKSBjb25zdCA9IDA7CisK
KyAgICAvLyBBY2Nlc3NvcnMgdXNlZCB3aGVuIHRyYW5zZmVycmluZyBkcmFnIGRhdGEgZnJvbSB0
aGUgcmVuZGVyZXIgdG8gdGhlCisgICAgLy8gYnJvd3Nlci4KKyAgICB2aXJ0dWFsIEhhc2hNYXA8
U3RyaW5nLCBTdHJpbmc+IGRhdGFNYXAoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcg
dXJsVGl0bGUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBLVVJMIGh0bWxCYXNlVVJMKCkgY29u
c3QgPSAwOworCisgICAgLy8gVXNlZCBmb3IgdHJhbnNmZXJyaW5nIGZpbGUgZGF0YSBmcm9tIHRo
ZSByZW5kZXJlciB0byB0aGUgYnJvd3Nlci4KKyAgICB2aXJ0dWFsIFN0cmluZyBmaWxlRXh0ZW5z
aW9uKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgU3RyaW5nIGZpbGVDb250ZW50RmlsZW5hbWUo
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZmlsZUNv
bnRlbnQoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldEZpbGVFeHRlbnNpb24oY29u
c3QgU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRGaWxlQ29udGVudEZpbGVuYW1l
KGNvbnN0IFN0cmluZyYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RmlsZUNvbnRlbnQoUGFz
c1JlZlB0cjxTaGFyZWRCdWZmZXI+KSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9h
cmRDaHJvbWl1bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9t
aXVtLmNwcAppbmRleCAyMzUwOGE2OTc4Nzg2ZWNkMzkzZjI0OWEwMGQ4MjEzY2QzNjE5MDMyLi4y
NTkyNGUyMzk2ZGQ2ZmMyOTU0ZDJhZjU3YmZhZWNkMDNiMmVlMTE3IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmNwcAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmNwcApAQCAtMzAsNiArMzAsNyBA
QAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiQ2hyb21pdW1CcmlkZ2UuaCIK
ICNpbmNsdWRlICJDaHJvbWl1bURhdGFPYmplY3QuaCIKKyNpbmNsdWRlICJDaHJvbWl1bURhdGFP
YmplY3ROZXcuaCIKICNpbmNsdWRlICJDbGlwYm9hcmRVdGlsaXRpZXNDaHJvbWl1bS5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRHJhZ0RhdGEuaCIK
</data>
<flag name="review"
          id="54878"
          type_id="1"
          status="+"
          setter="tony"
    />
    <flag name="commit-queue"
          id="54879"
          type_id="3"
          status="-"
          setter="tony"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65989</attachid>
            <date>2010-08-30 18:10:00 -0700</date>
            <delta_ts>2010-08-31 07:39:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>foo.patch</filename>
            <type>text/plain</type>
            <size>5783</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWJkZGVhOC4uZjFiODAwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wOC0zMCAgRGFuaWVsIENoZW5n
ICA8ZGNoZW5nQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBhbiBpbnRlcmZhY2UgZm9yIHBsYXRmb3Jt
IGNvcHkvcGFzdGUgZHJhZy9kcm9wIGRhdGEgb2JqZWN0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ5MTQKKworICAgICAgICBDdXJyZW50bHksIENo
cm9taXVtIG9ubHkgc3VwcG9ydHMgYSBmZXcgaGFyZGNvZGVkIGRhdGEgdHlwZXMgaW4KKyAgICAg
ICAgZXZlbnQuZGF0YVRyYW5zZmVyLiBUaGlzIGlzIHRoZSBmaXJzdCBvZiBzZXZlcmFsIHBhdGNo
ZXMgdG8gYWRkIHN1cHBvcnQKKyAgICAgICAgZm9yIGFyYml0cmFyeSBkYXRhIHR5cGVzLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFPYmplY3ROZXcuaDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwOgorCiAyMDEwLTA4
LTMwICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGU1YjU3YmEuLjU1ODMwOTggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0y
MTQwLDYgKzIxNDAsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVt
QnJpZGdlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtRGF0YU9i
amVjdC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtRGF0YU9i
amVjdC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFPYmpl
Y3ROZXcuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21p
dW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1
bS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bUxp
bnV4LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVt
RGF0YU9iamVjdE5ldy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFP
YmplY3ROZXcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2FjOWNiCi0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFP
YmplY3ROZXcuaApAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDA4LCAy
MDA5LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqIAorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ2hyb21pdW1EYXRh
T2JqZWN0TmV3X2gKKyNkZWZpbmUgQ2hyb21pdW1EYXRhT2JqZWN0TmV3X2gKKworI2luY2x1ZGUg
IktVUkwuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlNoYXJlZEJ1
ZmZlci5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisv
LyBBIGRhdGEgb2JqZWN0IGZvciBob2xkaW5nIGRhdGEgdGhhdCB3b3VsZCBiZSBpbiBhIGNsaXBi
b2FyZCBvciBtb3ZlZAorLy8gZHVyaW5nIGEgZHJhZy1uLWRyb3Agb3BlcmF0aW9uLiAgVGhpcyBp
cyB0aGUgZGF0YSB0aGF0IFdlYkNvcmUgaXMgYXdhcmUKKy8vIG9mIGFuZCBpcyBub3Qgc3BlY2lm
aWMgdG8gYSBwbGF0Zm9ybS4KK2NsYXNzIENocm9taXVtRGF0YU9iamVjdE5ldyA6IHB1YmxpYyBS
ZWZDb3VudGVkPENocm9taXVtRGF0YU9iamVjdE5ldz4geworcHVibGljOgorICAgIHZpcnR1YWwg
dm9pZCBjbGVhckRhdGEoY29uc3QgU3RyaW5nJiB0eXBlKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGNsZWFyQWxsRXhjZXB0RmlsZXMoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyKCkgPSAw
OworICAgIHZpcnR1YWwgYm9vbCBoYXNEYXRhKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgSGFz
aFNldDxTdHJpbmc+IHR5cGVzKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgU3RyaW5nIGdldERh
dGEoY29uc3QgU3RyaW5nJiB0eXBlLCBib29sJiBzdWNjZWVkZWQpIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIGJvb2wgc2V0RGF0YShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgZGF0
YSkgPSAwOworCisgICAgLy8gU3BlY2lhbCBhY2Nlc3NvcnMgZm9yIFVSTCBhbmQgSFRNTCBzaW5j
ZSB0aGV5IGNhcnJ5IGFkZGl0aW9uYWwKKyAgICAvLyBtZXRhZGF0YS4KKyAgICB2aXJ0dWFsIFN0
cmluZyBnZXRVUkwoU3RyaW5nKiB0aXRsZSkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdm9pZCBz
ZXRVUkwoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpID0gMDsKKyAgICB2
aXJ0dWFsIFN0cmluZyBnZXRIVE1MKFN0cmluZyogYmFzZVVSTCkgY29uc3QgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBzZXRIVE1MKGNvbnN0IFN0cmluZyYgaHRtbCwgY29uc3QgS1VSTCYgYmFzZVVS
TCkgPSAwOworCisgICAgdmlydHVhbCBib29sIGhhc0ZpbGVuYW1lcygpIGNvbnN0ID0gMDsKKyAg
ICB2aXJ0dWFsIFZlY3RvcjxTdHJpbmc+IGZpbGVuYW1lcygpIGNvbnN0ID0gMDsKKworICAgIC8v
IEFjY2Vzc29ycyB1c2VkIHdoZW4gdHJhbnNmZXJyaW5nIGRyYWcgZGF0YSBmcm9tIHRoZSByZW5k
ZXJlciB0byB0aGUKKyAgICAvLyBicm93c2VyLgorICAgIHZpcnR1YWwgSGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4gZGF0YU1hcCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFN0cmluZyB1cmxUaXRs
ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIEtVUkwgaHRtbEJhc2VVUkwoKSBjb25zdCA9IDA7
CisKKyAgICAvLyBVc2VkIGZvciB0cmFuc2ZlcnJpbmcgZmlsZSBkYXRhIGZyb20gdGhlIHJlbmRl
cmVyIHRvIHRoZSBicm93c2VyLgorICAgIHZpcnR1YWwgU3RyaW5nIGZpbGVFeHRlbnNpb24oKSBj
b25zdCA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcgZmlsZUNvbnRlbnRGaWxlbmFtZSgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBmaWxlQ29udGVudCgp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RmlsZUV4dGVuc2lvbihjb25zdCBTdHJp
bmcmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldEZpbGVDb250ZW50RmlsZW5hbWUoY29uc3Qg
U3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRGaWxlQ29udGVudChQYXNzUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4pID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9t
aXVtLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3Bw
CmluZGV4IDIzNTA4YTYuLjI1OTI0ZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ2Fj
aGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDaHJvbWl1bUJyaWRnZS5oIgogI2luY2x1ZGUgIkNocm9t
aXVtRGF0YU9iamVjdC5oIgorI2luY2x1ZGUgIkNocm9taXVtRGF0YU9iamVjdE5ldy5oIgogI2lu
Y2x1ZGUgIkNsaXBib2FyZFV0aWxpdGllc0Nocm9taXVtLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJEcmFnRGF0YS5oIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>