<?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>99709</bug_id>
          
          <creation_ts>2012-10-18 05:28:25 -0700</creation_ts>
          <short_desc>Implement ArgumentCoders for uintptr_t.</short_desc>
          <delta_ts>2012-10-18 14:01:28 -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>New Bugs</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>98147</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zeno Albisser">zeno</reporter>
          <assigned_to name="Zeno Albisser">zeno</assigned_to>
          <cc>andersca</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>745179</commentid>
    <comment_count>0</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-18 05:28:25 -0700</bug_when>
    <thetext>Implement ArgumentCoders for uintptr_t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745185</commentid>
    <comment_count>1</comment_count>
      <attachid>169397</attachid>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-18 05:42:39 -0700</bug_when>
    <thetext>Created attachment 169397
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745187</commentid>
    <comment_count>2</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-18 05:47:49 -0700</bug_when>
    <thetext>We will need this change for implementing GraphicsSurface on Windows.
The actual platform specific surface token on windows is of type HANDLE (which is a void*).
We will have to transfer this value through IPC from the WebProcess to the UIProcess.
Note that it is not actually dereferenced as a pointer!
Because of Windows allowing 32bit and 64bit binaries being executed on the same system, we would only know at compile time if we need to allocate/transfer 32bit or 64bit per token.
By making use of uintptr_t we can nicely neglect this question and make the compiler decide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745434</commentid>
    <comment_count>3</comment_count>
      <attachid>169397</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-18 11:43:38 -0700</bug_when>
    <thetext>Comment on attachment 169397
Patch.

We don&apos;t want to have encoders/decoders for types whose size is different on different platforms. Just use uint64_t for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745508</commentid>
    <comment_count>4</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-18 13:29:09 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 169397 [details])
&gt; We don&apos;t want to have encoders/decoders for types whose size is different on different platforms. Just use uint64_t for this.

I kind of expected that. But is there an actual reason for that? Does it cause any kind of problems I have not been thinking about?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745541</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-18 13:59:02 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 169397 [details] [details])
&gt; &gt; We don&apos;t want to have encoders/decoders for types whose size is different on different platforms. Just use uint64_t for this.
&gt; 
&gt; I kind of expected that. But is there an actual reason for that? Does it cause any kind of problems I have not been thinking about?

On Mac for example, we have IPC between 32-bit and 64-bit processes for plug-ins. Allowing integer types whose size differs could easily introduce bugs so it&apos;s better to just not do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745548</commentid>
    <comment_count>6</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-18 14:01:28 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; On Mac for example, we have IPC between 32-bit and 64-bit processes for plug-ins. Allowing integer types whose size differs could easily introduce bugs so it&apos;s better to just not do it.

Ok, that makes sense. Haven&apos;t been aware of that use case. Thanks for the explanation. :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169397</attachid>
            <date>2012-10-18 05:42:39 -0700</date>
            <delta_ts>2012-10-18 11:43:38 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>99709_20121018-144047.patch</filename>
            <type>text/plain</type>
            <size>3537</size>
            <attacher name="Zeno Albisser">zeno</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjODBiYjVmLi5lNTc5MGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTItMTAtMTggIFplbm8gQWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgSW1wbGVtZW50IEFyZ3VtZW50Q29kZXJzIGZvciB1aW50cHRyX3QuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTcwOQorCisgICAgICAgIEFkZGlu
ZyBBcmd1bWVudEVuY29kZXIgYW5kIEFyZ3VtZW50RGVjb2RlciBmb3IKKyAgICAgICAgdHlwZSB1
aW50cHRyX3QuIFRoaXMgYWxsb3dzIHVzIHRvIGVuY29kZSBhbgorICAgICAgICBpbnRlZ2VyIG9m
IG5hdGl2ZSBwb2ludGVyIHNpemUgd2l0aG91dCB0aGUgbmVlZAorICAgICAgICBmb3IgaW1wbGVt
ZW50aW5nIHBsYXRmb3JtIHNwZWNpZmljIGJlaGF2aW9yLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERl
Y29kZXIuY3BwOgorICAgICAgICAoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyOjpkZWNvZGVVSW50
UHRyVCk6CisgICAgICAgIChDb3JlSVBDKToKKyAgICAgICAgKiBQbGF0Zm9ybS9Db3JlSVBDL0Fy
Z3VtZW50RGVjb2Rlci5oOgorICAgICAgICAoQXJndW1lbnREZWNvZGVyKToKKyAgICAgICAgKiBQ
bGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHA6CisgICAgICAgIChDb3JlSVBDOjpB
cmd1bWVudEVuY29kZXI6OmVuY29kZVVJbnRQdHJUKToKKyAgICAgICAgKENvcmVJUEMpOgorICAg
ICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmg6CisgICAgICAgIChBcmd1
bWVudEVuY29kZXIpOgorCiAyMDEyLTEwLTE4ICBKdXNzaSBLdWtrb25lbiAgPGp1c3NpLmt1a2tv
bmVuQGludGVsLmNvbT4KIAogICAgICAgICBBZGQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpwbGF0Zm9y
bUluaXRpYWxpemVMYXVuY2hPcHRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAKaW5kZXggOWQ3ZmYzYi4uZjBmMmU0NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVy
LmNwcApAQCAtMTY5LDYgKzE2OSwxNiBAQCBib29sIEFyZ3VtZW50RGVjb2Rlcjo6ZGVjb2RlVUlu
dDY0KHVpbnQ2NF90JiByZXN1bHQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgQXJndW1l
bnREZWNvZGVyOjpkZWNvZGVVSW50UHRyVCh1aW50cHRyX3QmIHJlc3VsdCkKK3sKKyAgICBpZiAo
IWFsaWduQnVmZmVyUG9zaXRpb24oc2l6ZW9mKHJlc3VsdCksIHNpemVvZihyZXN1bHQpKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dHB0cl90Kj4obV9idWZmZXJQb3MpOworICAgIG1fYnVmZmVyUG9zICs9IHNpemVvZihyZXN1bHQp
OworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIEFyZ3VtZW50RGVjb2Rlcjo6ZGVjb2RlSW50
MzIoaW50MzJfdCYgcmVzdWx0KQogewogICAgIGlmICghYWxpZ25CdWZmZXJQb3NpdGlvbihzaXpl
b2YocmVzdWx0KSwgc2l6ZW9mKHJlc3VsdCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmgKaW5kZXggM2M4MWViMy4uZGZlMDEwYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5o
CkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICBib29sIGRlY29kZVVJbnQxNih1aW50MTZf
dCYpOwogICAgIGJvb2wgZGVjb2RlVUludDMyKHVpbnQzMl90Jik7CiAgICAgYm9vbCBkZWNvZGVV
SW50NjQodWludDY0X3QmKTsKKyAgICBib29sIGRlY29kZVVJbnRQdHJUKHVpbnRwdHJfdCYpOwog
ICAgIGJvb2wgZGVjb2RlSW50MzIoaW50MzJfdCYpOwogICAgIGJvb2wgZGVjb2RlSW50NjQoaW50
NjRfdCYpOwogICAgIGJvb2wgZGVjb2RlRmxvYXQoZmxvYXQmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcAppbmRleCA5ZGY1MWVj
Li44NWRjYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Fy
Z3VtZW50RW5jb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9B
cmd1bWVudEVuY29kZXIuY3BwCkBAIC0xMzUsNiArMTM1LDEzIEBAIHZvaWQgQXJndW1lbnRFbmNv
ZGVyOjplbmNvZGVVSW50NjQodWludDY0X3QgbikKICAgICAqcmVpbnRlcnByZXRfY2FzdDx1aW50
NjRfdCo+KGJ1ZmZlcikgPSBuOwogfQogCit2b2lkIEFyZ3VtZW50RW5jb2Rlcjo6ZW5jb2RlVUlu
dFB0clQodWludHB0cl90IG4pCit7CisgICAgdWludDhfdCogYnVmZmVyID0gZ3JvdyhzaXplb2Yo
biksIHNpemVvZihuKSk7CisKKyAgICAqcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3QqPihidWZm
ZXIpID0gbjsKK30KKwogdm9pZCBBcmd1bWVudEVuY29kZXI6OmVuY29kZUludDMyKGludDMyX3Qg
bikKIHsKICAgICB1aW50OF90KiBidWZmZXIgPSBncm93KHNpemVvZihuKSwgc2l6ZW9mKG4pKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNv
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5o
CmluZGV4IDliZmVhMDMuLmM3YzYzNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuaApAQCAtNDksNiArNDksNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBlbmNvZGVVSW50MTYodWludDE2X3QpOwogICAgIHZvaWQgZW5jb2RlVUludDMyKHVp
bnQzMl90KTsKICAgICB2b2lkIGVuY29kZVVJbnQ2NCh1aW50NjRfdCk7CisgICAgdm9pZCBlbmNv
ZGVVSW50UHRyVCh1aW50cHRyX3QpOwogICAgIHZvaWQgZW5jb2RlSW50MzIoaW50MzJfdCk7CiAg
ICAgdm9pZCBlbmNvZGVJbnQ2NChpbnQ2NF90KTsKICAgICB2b2lkIGVuY29kZUZsb2F0KGZsb2F0
KTsK
</data>
<flag name="review"
          id="182671"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>