<?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>35760</bug_id>
          
          <creation_ts>2010-03-04 11:55:06 -0800</creation_ts>
          <short_desc>[Chromium] Adding Chromium -&gt; WebCore touch type conversions</short_desc>
          <delta_ts>2010-03-04 22:09:33 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Garret Kelly">gdk</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>196171</commentid>
    <comment_count>0</comment_count>
    <who name="Garret Kelly">gdk</who>
    <bug_when>2010-03-04 11:55:06 -0800</bug_when>
    <thetext>Adding platform event/point builders for the corresponding Chromium types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196174</commentid>
    <comment_count>1</comment_count>
      <attachid>50043</attachid>
    <who name="Garret Kelly">gdk</who>
    <bug_when>2010-03-04 12:01:22 -0800</bug_when>
    <thetext>Created attachment 50043
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196215</commentid>
    <comment_count>2</comment_count>
      <attachid>50043</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-04 14:00:35 -0800</bug_when>
    <thetext>Comment on attachment 50043
Initial patch

Aren&apos;t PlatformTouchEvent used as stack objects?  They&apos;re not ref-counted, so I assume no one holds pointers to them.  In that case, virtual methods (like virtual destructors) make no sense!

This seems like the wrong model.  Normally Platform*Event classes are passed a WebKit-layer class pointer and they convert that.  This seems to be going the opposite way for reasons I dont&apos; understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196229</commentid>
    <comment_count>3</comment_count>
    <who name="Garret Kelly">gdk</who>
    <bug_when>2010-03-04 14:22:42 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 50043 [details])
&gt; Aren&apos;t PlatformTouchEvent used as stack objects?  They&apos;re not ref-counted, so I
&gt; assume no one holds pointers to them.  In that case, virtual methods (like
&gt; virtual destructors) make no sense!

Fair enough. I&apos;ll remove the virtual destructors.

&gt; This seems like the wrong model.  Normally Platform*Event classes are passed a
&gt; WebKit-layer class pointer and they convert that.  This seems to be going the
&gt; opposite way for reasons I dont&apos; understand.

In Chromium, WebInputEvents (the Chromium layer types) are converted to their WebKit-layer counterparts by subclassing them and handling the conversion in their constructors (The Platform*Builder classes). This logic lives in WebKit/WebKit/chromium/src/WebInputEventConversion.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196230</commentid>
    <comment_count>4</comment_count>
      <attachid>50054</attachid>
    <who name="Garret Kelly">gdk</who>
    <bug_when>2010-03-04 14:23:47 -0800</bug_when>
    <thetext>Created attachment 50054
First-round review changes

Removed virtual destructors from PlatformTouchEvent and PlatformTouchPoint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196358</commentid>
    <comment_count>5</comment_count>
      <attachid>50054</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-04 22:09:29 -0800</bug_when>
    <thetext>Comment on attachment 50054
First-round review changes

Clearing flags on attachment: 50054

Committed r55572: &lt;http://trac.webkit.org/changeset/55572&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196359</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-04 22:09:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50043</attachid>
            <date>2010-03-04 12:01:22 -0800</date>
            <delta_ts>2010-03-04 14:23:47 -0800</delta_ts>
            <desc>Initial patch</desc>
            <filename>upstream-platform-converter.patch</filename>
            <type>text/plain</type>
            <size>6718</size>
            <attacher name="Garret Kelly">gdk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTVkY2ViMS4uNGI5YTVhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMy0wNCAgR2FycmV0IEtlbGx5
ICA8Z2RrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2luZyBwcml2YXRlIG1lbWJlcnMgZnJvbSBQbGF0Zm9ybVRvdWNo
RXZlbnQgYW5kIFBsYXRmb3JtVG91Y2hQb2ludAorICAgICAgICB0byBiZSBwcm90ZWN0ZWQsIHNv
IHRoYXQgQ2hyb21pdW0ncyBQbGF0Zm9ybVRvdWNoRXZlbnRCdWlsZGVyIGFuZAorICAgICAgICBQ
bGF0Zm9ybVRvdWNoUG9pbnRCdWlsZGVyIGNhbiBhY2Nlc3MgdGhlbS4gRXhlcmNpc2VkIGJ5IHRo
ZQorICAgICAgICBmYXN0L2V2ZW50cy90b3VjaCB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NzYwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9Q
bGF0Zm9ybVRvdWNoRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hFdmVu
dDo6flBsYXRmb3JtVG91Y2hFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1Ub3Vj
aFBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6On5QbGF0Zm9y
bVRvdWNoUG9pbnQpOgorCiAyMDEwLTAzLTA0ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Q
bGF0Zm9ybVRvdWNoRXZlbnQuaAppbmRleCAwZDJkMDM1Li4yMDVkMWU1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogI2VsaWYg
UExBVEZPUk0oQU5EUk9JRCkKICAgICBQbGF0Zm9ybVRvdWNoRXZlbnQoY29uc3QgSW50UG9pbnQm
IHdpbmRvd1BvcywgVG91Y2hFdmVudFR5cGUsIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUpOwog
I2VuZGlmCisgICAgdmlydHVhbCB+UGxhdGZvcm1Ub3VjaEV2ZW50KCkgeyB9CiAKICAgICBUb3Vj
aEV2ZW50VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgY29uc3QgVmVj
dG9yPFBsYXRmb3JtVG91Y2hQb2ludD4mIHRvdWNoUG9pbnRzKCkgY29uc3QgeyByZXR1cm4gbV90
b3VjaFBvaW50czsgfQpAQCAtNjcsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaGlmdEtl
eSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hpZnRLZXk7IH0KICAgICBib29sIG1ldGFLZXkoKSBjb25z
dCB7IHJldHVybiBtX21ldGFLZXk7IH0KIAotcHJpdmF0ZToKK3Byb3RlY3RlZDoKICAgICBUb3Vj
aEV2ZW50VHlwZSBtX3R5cGU7CiAgICAgVmVjdG9yPFBsYXRmb3JtVG91Y2hQb2ludD4gbV90b3Vj
aFBvaW50czsKICAgICBib29sIG1fY3RybEtleTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1Ub3VjaFBvaW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hQ
b2ludC5oCmluZGV4IGQ0Zjg1NWUuLmFhODhiZTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRv
dWNoUG9pbnQuaApAQCAtNDksMTMgKzQ5LDE0IEBAIHB1YmxpYzoKICNlbGlmIFBMQVRGT1JNKEFO
RFJPSUQpCiAgICAgUGxhdGZvcm1Ub3VjaFBvaW50KGNvbnN0IEludFBvaW50JiB3aW5kb3dQb3Ms
IFN0YXRlKTsKICNlbmRpZgorICAgIHZpcnR1YWwgflBsYXRmb3JtVG91Y2hQb2ludCgpIHsgfQog
CiAgICAgdW5zaWduZWQgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAgICAgU3RhdGUgc3Rh
dGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgSW50UG9pbnQgc2NyZWVuUG9zKCkg
Y29uc3QgeyByZXR1cm4gbV9zY3JlZW5Qb3M7IH0KICAgICBJbnRQb2ludCBwb3MoKSBjb25zdCB7
IHJldHVybiBtX3BvczsgfQogICAgIAotcHJpdmF0ZToKK3Byb3RlY3RlZDoKICAgICB1bnNpZ25l
ZCBtX2lkOwogICAgIFN0YXRlIG1fc3RhdGU7CiAgICAgSW50UG9pbnQgbV9zY3JlZW5Qb3M7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwppbmRleCBhZGY5NmI5Li4yM2QzNTUwIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OSBAQAorMjAxMC0wMy0wNCAgR2FycmV0IEtlbGx5ICA8Z2RrQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgUGxhdGZv
cm1Ub3VjaEV2ZW50QnVpbGRlciBhbmQgUGxhdGZvcm1Ub3VjaFBvaW50QnVpbGRlciBmb3IKKyAg
ICAgICAgY29udmVydGluZyBDaHJvbWl1bSBXZWJUb3VjaEV2ZW50IGFuZCBXZWJUb3VjaFBvaW50
IHR5cGVzIHRvCisgICAgICAgIGNvcnJlc3BvbmRpbmcgV2ViQ29yZSB0eXBlcy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NzYwCisKKyAgICAgICAg
KiBzcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwOgorICAgICAgICAoV2ViS2l0Ojp0b1Bs
YXRmb3JtVG91Y2hFdmVudFR5cGUpOgorICAgICAgICAoV2ViS2l0Ojp0b1BsYXRmb3JtVG91Y2hQ
b2ludFN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1Ub3VjaFBvaW50QnVpbGRlcjo6
UGxhdGZvcm1Ub3VjaFBvaW50QnVpbGRlcik6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtVG91
Y2hFdmVudEJ1aWxkZXI6OlBsYXRmb3JtVG91Y2hFdmVudEJ1aWxkZXIpOgorICAgICAgICAqIHNy
Yy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5oOgorCiAyMDEwLTAzLTA0ICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZDogY2hyb21p
dW0gdGVzdHMgZml4LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2
ZW50Q29udmVyc2lvbi5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252
ZXJzaW9uLmNwcAppbmRleCAxNDdmODhiLi4yNDA2ZTRhIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcAorKysgYi9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcApAQCAtMTY4LDYgKzE2OCw2MyBAQCBi
b29sIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXI6OmlzQ2hhcmFjdGVyS2V5KCkgY29uc3QK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCitzdGF0aWMg
aW5saW5lIFRvdWNoRXZlbnRUeXBlIHRvUGxhdGZvcm1Ub3VjaEV2ZW50VHlwZShjb25zdCBXZWJJ
bnB1dEV2ZW50OjpUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBX
ZWJJbnB1dEV2ZW50OjpUb3VjaFN0YXJ0OgorICAgICAgICByZXR1cm4gVG91Y2hTdGFydDsKKyAg
ICBjYXNlIFdlYklucHV0RXZlbnQ6OlRvdWNoTW92ZToKKyAgICAgICAgcmV0dXJuIFRvdWNoTW92
ZTsKKyAgICBjYXNlIFdlYklucHV0RXZlbnQ6OlRvdWNoRW5kOgorICAgICAgICByZXR1cm4gVG91
Y2hFbmQ7CisgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpUb3VjaENhbmNlbDoKKyAgICAgICAgcmV0
dXJuIFRvdWNoQ2FuY2VsOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIH0KK30KKworc3RhdGljIGlubGluZSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRl
IHRvUGxhdGZvcm1Ub3VjaFBvaW50U3RhdGUoY29uc3QgV2ViVG91Y2hQb2ludDo6U3RhdGUgc3Rh
dGUpCit7CisgICAgc3dpdGNoIChzdGF0ZSkgeworICAgIGNhc2UgV2ViVG91Y2hQb2ludDo6U3Rh
dGVSZWxlYXNlZDoKKyAgICAgICAgcmV0dXJuIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxl
YXNlZDsKKyAgICBjYXNlIFdlYlRvdWNoUG9pbnQ6OlN0YXRlUHJlc3NlZDoKKyAgICAgICAgcmV0
dXJuIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2VkOworICAgIGNhc2UgV2ViVG91Y2hQ
b2ludDo6U3RhdGVNb3ZlZDoKKyAgICAgICAgcmV0dXJuIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91
Y2hNb3ZlZDsKKyAgICBjYXNlIFdlYlRvdWNoUG9pbnQ6OlN0YXRlU3RhdGlvbmFyeToKKyAgICAg
ICAgcmV0dXJuIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hTdGF0aW9uYXJ5OworICAgIGNhc2Ug
V2ViVG91Y2hQb2ludDo6U3RhdGVDYW5jZWxsZWQ6CisgICAgICAgIHJldHVybiBQbGF0Zm9ybVRv
dWNoUG9pbnQ6OlRvdWNoQ2FuY2VsbGVkOworICAgIGNhc2UgV2ViVG91Y2hQb2ludDo6U3RhdGVV
bmRlZmluZWQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KK30KKworUGxh
dGZvcm1Ub3VjaFBvaW50QnVpbGRlcjo6UGxhdGZvcm1Ub3VjaFBvaW50QnVpbGRlcihXaWRnZXQq
IHdpZGdldCwgY29uc3QgV2ViVG91Y2hQb2ludCYgcG9pbnQpCit7CisgICAgbV9pZCA9IHBvaW50
LmlkOworICAgIG1fc3RhdGUgPSB0b1BsYXRmb3JtVG91Y2hQb2ludFN0YXRlKHBvaW50LnN0YXRl
KTsKKyAgICBtX3BvcyA9IHdpZGdldC0+Y29udmVydEZyb21Db250YWluaW5nV2luZG93KHBvaW50
LnBvc2l0aW9uKTsKKyAgICBtX3NjcmVlblBvcyA9IHBvaW50LnNjcmVlblBvc2l0aW9uOworfQor
CitQbGF0Zm9ybVRvdWNoRXZlbnRCdWlsZGVyOjpQbGF0Zm9ybVRvdWNoRXZlbnRCdWlsZGVyKFdp
ZGdldCogd2lkZ2V0LCBjb25zdCBXZWJUb3VjaEV2ZW50JiBldmVudCkKK3sKKyAgICBtX3R5cGUg
PSB0b1BsYXRmb3JtVG91Y2hFdmVudFR5cGUoZXZlbnQudHlwZSk7CisgICAgbV9jdHJsS2V5ID0g
ZXZlbnQubW9kaWZpZXJzICYgV2ViSW5wdXRFdmVudDo6Q29udHJvbEtleTsKKyAgICBtX2FsdEtl
eSA9IGV2ZW50Lm1vZGlmaWVycyAmIFdlYklucHV0RXZlbnQ6OkFsdEtleTsKKyAgICBtX3NoaWZ0
S2V5ID0gZXZlbnQubW9kaWZpZXJzICYgV2ViSW5wdXRFdmVudDo6U2hpZnRLZXk7CisgICAgbV9t
ZXRhS2V5ID0gZXZlbnQubW9kaWZpZXJzICYgV2ViSW5wdXRFdmVudDo6TWV0YUtleTsKKworICAg
IG1fdG91Y2hQb2ludHMucmVzaXplKGV2ZW50LnRvdWNoUG9pbnRzTGVuZ3RoKTsKKyAgICBmb3Ig
KGludCBpID0gMDsgaSA8IGV2ZW50LnRvdWNoUG9pbnRzTGVuZ3RoOyArK2kpCisgICAgICAgIG1f
dG91Y2hQb2ludHMuYXBwZW5kKFBsYXRmb3JtVG91Y2hQb2ludEJ1aWxkZXIod2lkZ2V0LCBldmVu
dC50b3VjaFBvaW50c1tpXSkpOworfQorI2VuZGlmCisKIHN0YXRpYyBpbnQgZ2V0V2ViSW5wdXRN
b2RpZmllcnMoY29uc3QgVUlFdmVudFdpdGhLZXlTdGF0ZSYgZXZlbnQpCiB7CiAgICAgaW50IG1v
ZGlmaWVycyA9IDA7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZl
bnRDb252ZXJzaW9uLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJz
aW9uLmgKaW5kZXggNGM5Y2Y4Mi4uYmY4YmIyMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViSW5wdXRFdmVudENvbnZlcnNpb24uaApAQCAtMzcsNiArMzcsNyBAQAogCiAjaW5jbHVkZSAi
UGxhdGZvcm1LZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50Lmgi
CisjaW5jbHVkZSAiUGxhdGZvcm1Ub3VjaEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVl
bEV2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTcyLDYgKzczLDE4IEBAIHB1Ymxp
YzoKICAgICBib29sIGlzQ2hhcmFjdGVyS2V5KCkgY29uc3Q7CiB9OwogCisjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKK2NsYXNzIFBsYXRmb3JtVG91Y2hQb2ludEJ1aWxkZXIgOiBwdWJsaWMgV2Vi
Q29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50IHsKK3B1YmxpYzoKKyAgICBQbGF0Zm9ybVRvdWNoUG9p
bnRCdWlsZGVyKFdlYkNvcmU6OldpZGdldCosIGNvbnN0IFdlYlRvdWNoUG9pbnQmKTsKK307CisK
K2NsYXNzIFBsYXRmb3JtVG91Y2hFdmVudEJ1aWxkZXIgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZv
cm1Ub3VjaEV2ZW50IHsKK3B1YmxpYzoKKyAgICBQbGF0Zm9ybVRvdWNoRXZlbnRCdWlsZGVyKFdl
YkNvcmU6OldpZGdldCosIGNvbnN0IFdlYlRvdWNoRXZlbnQmKTsKK307CisjZW5kaWYKKwogLy8g
Q29udmVydHMgYSBXZWJDb3JlOjpNb3VzZUV2ZW50IHRvIGEgY29ycmVzcG9uZGluZyBXZWJNb3Vz
ZUV2ZW50LiB2aWV3IGlzCiAvLyB0aGUgU2Nyb2xsVmlldyBjb3JyZXNwb25kaW5nIHRvIHRoZSBl
dmVudC4gIFJldHVybnMgdHJ1ZSBpZiBzdWNjZXNzZnVsLgogLy8gTk9URTogVGhpcyBpcyBvbmx5
IGltcGxlbWVudGVkIGZvciBtb3VzZW1vdmUsIG1vdXNlb3ZlciwgbW91c2VvdXQsCg==
</data>
<flag name="review"
          id="33079"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50054</attachid>
            <date>2010-03-04 14:23:47 -0800</date>
            <delta_ts>2010-03-04 22:09:29 -0800</delta_ts>
            <desc>First-round review changes</desc>
            <filename>upstream-platform-event-conversion.patch</filename>
            <type>text/plain</type>
            <size>6171</size>
            <attacher name="Garret Kelly">gdk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjA3MTE2ZS4uZjhiMGNkOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMy0wNCAgR2FycmV0IEtlbGx5
ICA8Z2RrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2luZyBwcml2YXRlIG1lbWJlcnMgZnJvbSBQbGF0Zm9ybVRvdWNo
RXZlbnQgYW5kIFBsYXRmb3JtVG91Y2hQb2ludAorICAgICAgICB0byBiZSBwcm90ZWN0ZWQsIHNv
IHRoYXQgQ2hyb21pdW0ncyBQbGF0Zm9ybVRvdWNoRXZlbnRCdWlsZGVyIGFuZAorICAgICAgICBQ
bGF0Zm9ybVRvdWNoUG9pbnRCdWlsZGVyIGNhbiBhY2Nlc3MgdGhlbS4gRXhlcmNpc2VkIGJ5IHRo
ZQorICAgICAgICBmYXN0L2V2ZW50cy90b3VjaCB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NzYwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9Q
bGF0Zm9ybVRvdWNoRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hFdmVu
dDo6flBsYXRmb3JtVG91Y2hFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1Ub3Vj
aFBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6On5QbGF0Zm9y
bVRvdWNoUG9pbnQpOgorCiAyMDEwLTAzLTA0ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBhdHRlbXB0IHRvIGZpeCBXaW5kb3dzIGJ1
aWxkLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaEV2ZW50LmgKaW5kZXggMGQyZDAzNS4uNDVl
ZGQwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoRXZlbnQuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCkBAIC02Nyw3ICs2Nyw3
IEBAIHB1YmxpYzoKICAgICBib29sIHNoaWZ0S2V5KCkgY29uc3QgeyByZXR1cm4gbV9zaGlmdEtl
eTsgfQogICAgIGJvb2wgbWV0YUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YUtleTsgfQogCi1w
cml2YXRlOgorcHJvdGVjdGVkOgogICAgIFRvdWNoRXZlbnRUeXBlIG1fdHlwZTsKICAgICBWZWN0
b3I8UGxhdGZvcm1Ub3VjaFBvaW50PiBtX3RvdWNoUG9pbnRzOwogICAgIGJvb2wgbV9jdHJsS2V5
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgKaW5kZXggZDRmODU1ZS4uYzg3ZDA2
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oCkBAIC01NSw3ICs1NSw3IEBA
IHB1YmxpYzoKICAgICBJbnRQb2ludCBzY3JlZW5Qb3MoKSBjb25zdCB7IHJldHVybiBtX3NjcmVl
blBvczsgfQogICAgIEludFBvaW50IHBvcygpIGNvbnN0IHsgcmV0dXJuIG1fcG9zOyB9CiAgICAg
Ci1wcml2YXRlOgorcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1faWQ7CiAgICAgU3RhdGUgbV9z
dGF0ZTsKICAgICBJbnRQb2ludCBtX3NjcmVlblBvczsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGE0Nzc4ZDku
LjhlY2I0MTkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTAzLTA0ICBHYXJy
ZXQgS2VsbHkgIDxnZGtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBQbGF0Zm9ybVRvdWNoRXZlbnRCdWlsZGVyIGFu
ZCBQbGF0Zm9ybVRvdWNoUG9pbnRCdWlsZGVyIGZvcgorICAgICAgICBjb252ZXJ0aW5nIENocm9t
aXVtIFdlYlRvdWNoRXZlbnQgYW5kIFdlYlRvdWNoUG9pbnQgdHlwZXMgdG8KKyAgICAgICAgY29y
cmVzcG9uZGluZyBXZWJDb3JlIHR5cGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzU3NjAKKworICAgICAgICAqIHNyYy9XZWJJbnB1dEV2ZW50Q29u
dmVyc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OnRvUGxhdGZvcm1Ub3VjaEV2ZW50VHlwZSk6
CisgICAgICAgIChXZWJLaXQ6OnRvUGxhdGZvcm1Ub3VjaFBvaW50U3RhdGUpOgorICAgICAgICAo
V2ViS2l0OjpQbGF0Zm9ybVRvdWNoUG9pbnRCdWlsZGVyOjpQbGF0Zm9ybVRvdWNoUG9pbnRCdWls
ZGVyKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1Ub3VjaEV2ZW50QnVpbGRlcjo6UGxhdGZv
cm1Ub3VjaEV2ZW50QnVpbGRlcik6CisgICAgICAgICogc3JjL1dlYklucHV0RXZlbnRDb252ZXJz
aW9uLmg6CisKIDIwMTAtMDMtMDQgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcCBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwCmluZGV4IDE0N2Y4OGIuLjI0MDZlNGEg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24u
Y3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3Bw
CkBAIC0xNjgsNiArMTY4LDYzIEBAIGJvb2wgUGxhdGZvcm1LZXlib2FyZEV2ZW50QnVpbGRlcjo6
aXNDaGFyYWN0ZXJLZXkoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKK3N0YXRpYyBpbmxpbmUgVG91Y2hFdmVudFR5cGUgdG9QbGF0Zm9ybVRv
dWNoRXZlbnRUeXBlKGNvbnN0IFdlYklucHV0RXZlbnQ6OlR5cGUgdHlwZSkKK3sKKyAgICBzd2l0
Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFdlYklucHV0RXZlbnQ6OlRvdWNoU3RhcnQ6CisgICAgICAg
IHJldHVybiBUb3VjaFN0YXJ0OworICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6VG91Y2hNb3ZlOgor
ICAgICAgICByZXR1cm4gVG91Y2hNb3ZlOworICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6VG91Y2hF
bmQ6CisgICAgICAgIHJldHVybiBUb3VjaEVuZDsKKyAgICBjYXNlIFdlYklucHV0RXZlbnQ6OlRv
dWNoQ2FuY2VsOgorICAgICAgICByZXR1cm4gVG91Y2hDYW5jZWw7CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorfQorCitzdGF0aWMgaW5saW5lIFBs
YXRmb3JtVG91Y2hQb2ludDo6U3RhdGUgdG9QbGF0Zm9ybVRvdWNoUG9pbnRTdGF0ZShjb25zdCBX
ZWJUb3VjaFBvaW50OjpTdGF0ZSBzdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAg
Y2FzZSBXZWJUb3VjaFBvaW50OjpTdGF0ZVJlbGVhc2VkOgorICAgICAgICByZXR1cm4gUGxhdGZv
cm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkOworICAgIGNhc2UgV2ViVG91Y2hQb2ludDo6U3Rh
dGVQcmVzc2VkOgorICAgICAgICByZXR1cm4gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNz
ZWQ7CisgICAgY2FzZSBXZWJUb3VjaFBvaW50OjpTdGF0ZU1vdmVkOgorICAgICAgICByZXR1cm4g
UGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkOworICAgIGNhc2UgV2ViVG91Y2hQb2ludDo6
U3RhdGVTdGF0aW9uYXJ5OgorICAgICAgICByZXR1cm4gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3Vj
aFN0YXRpb25hcnk7CisgICAgY2FzZSBXZWJUb3VjaFBvaW50OjpTdGF0ZUNhbmNlbGxlZDoKKyAg
ICAgICAgcmV0dXJuIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hDYW5jZWxsZWQ7CisgICAgY2Fz
ZSBXZWJUb3VjaFBvaW50OjpTdGF0ZVVuZGVmaW5lZDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgfQorfQorCitQbGF0Zm9ybVRvdWNoUG9pbnRCdWlsZGVyOjpQbGF0Zm9ybVRv
dWNoUG9pbnRCdWlsZGVyKFdpZGdldCogd2lkZ2V0LCBjb25zdCBXZWJUb3VjaFBvaW50JiBwb2lu
dCkKK3sKKyAgICBtX2lkID0gcG9pbnQuaWQ7CisgICAgbV9zdGF0ZSA9IHRvUGxhdGZvcm1Ub3Vj
aFBvaW50U3RhdGUocG9pbnQuc3RhdGUpOworICAgIG1fcG9zID0gd2lkZ2V0LT5jb252ZXJ0RnJv
bUNvbnRhaW5pbmdXaW5kb3cocG9pbnQucG9zaXRpb24pOworICAgIG1fc2NyZWVuUG9zID0gcG9p
bnQuc2NyZWVuUG9zaXRpb247Cit9CisKK1BsYXRmb3JtVG91Y2hFdmVudEJ1aWxkZXI6OlBsYXRm
b3JtVG91Y2hFdmVudEJ1aWxkZXIoV2lkZ2V0KiB3aWRnZXQsIGNvbnN0IFdlYlRvdWNoRXZlbnQm
IGV2ZW50KQoreworICAgIG1fdHlwZSA9IHRvUGxhdGZvcm1Ub3VjaEV2ZW50VHlwZShldmVudC50
eXBlKTsKKyAgICBtX2N0cmxLZXkgPSBldmVudC5tb2RpZmllcnMgJiBXZWJJbnB1dEV2ZW50OjpD
b250cm9sS2V5OworICAgIG1fYWx0S2V5ID0gZXZlbnQubW9kaWZpZXJzICYgV2ViSW5wdXRFdmVu
dDo6QWx0S2V5OworICAgIG1fc2hpZnRLZXkgPSBldmVudC5tb2RpZmllcnMgJiBXZWJJbnB1dEV2
ZW50OjpTaGlmdEtleTsKKyAgICBtX21ldGFLZXkgPSBldmVudC5tb2RpZmllcnMgJiBXZWJJbnB1
dEV2ZW50OjpNZXRhS2V5OworCisgICAgbV90b3VjaFBvaW50cy5yZXNpemUoZXZlbnQudG91Y2hQ
b2ludHNMZW5ndGgpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZXZlbnQudG91Y2hQb2ludHNM
ZW5ndGg7ICsraSkKKyAgICAgICAgbV90b3VjaFBvaW50cy5hcHBlbmQoUGxhdGZvcm1Ub3VjaFBv
aW50QnVpbGRlcih3aWRnZXQsIGV2ZW50LnRvdWNoUG9pbnRzW2ldKSk7Cit9CisjZW5kaWYKKwog
c3RhdGljIGludCBnZXRXZWJJbnB1dE1vZGlmaWVycyhjb25zdCBVSUV2ZW50V2l0aEtleVN0YXRl
JiBldmVudCkKIHsKICAgICBpbnQgbW9kaWZpZXJzID0gMDsKZGlmZiAtLWdpdCBhL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaAppbmRleCA0YzljZjgyLi5iZjhiYjIzIDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmgKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5oCkBAIC0zNyw2
ICszNyw3IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNzIsNiArNzMsMTggQEAgcHVibGljOgogICAgIGJvb2wgaXNDaGFyYWN0ZXJLZXkoKSBjb25z
dDsKIH07CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorY2xhc3MgUGxhdGZvcm1Ub3VjaFBv
aW50QnVpbGRlciA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQgeworcHVibGlj
OgorICAgIFBsYXRmb3JtVG91Y2hQb2ludEJ1aWxkZXIoV2ViQ29yZTo6V2lkZ2V0KiwgY29uc3Qg
V2ViVG91Y2hQb2ludCYpOworfTsKKworY2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50QnVpbGRlciA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoRXZlbnQgeworcHVibGljOgorICAgIFBsYXRm
b3JtVG91Y2hFdmVudEJ1aWxkZXIoV2ViQ29yZTo6V2lkZ2V0KiwgY29uc3QgV2ViVG91Y2hFdmVu
dCYpOworfTsKKyNlbmRpZgorCiAvLyBDb252ZXJ0cyBhIFdlYkNvcmU6Ok1vdXNlRXZlbnQgdG8g
YSBjb3JyZXNwb25kaW5nIFdlYk1vdXNlRXZlbnQuIHZpZXcgaXMKIC8vIHRoZSBTY3JvbGxWaWV3
IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGV2ZW50LiAgUmV0dXJucyB0cnVlIGlmIHN1Y2Nlc3NmdWwu
CiAvLyBOT1RFOiBUaGlzIGlzIG9ubHkgaW1wbGVtZW50ZWQgZm9yIG1vdXNlbW92ZSwgbW91c2Vv
dmVyLCBtb3VzZW91dCwK
</data>

          </attachment>
      

    </bug>

</bugzilla>