<?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>53626</bug_id>
          
          <creation_ts>2011-02-02 13:46:50 -0800</creation_ts>
          <short_desc>bufferData and bufferSubData should generate INVALID_VALUE with negative input</short_desc>
          <delta_ts>2011-02-02 14:39:51 -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>WebGL</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zhenyao Mo">zmo</reporter>
          <assigned_to name="Zhenyao Mo">zmo</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>enne</cc>
    
    <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>344208</commentid>
    <comment_count>0</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2011-02-02 13:46:50 -0800</bug_when>
    <thetext>Originally since we used the unsigned types we don&apos;t have the logic to check if these inputs are non-negative or not.

Now we use the correct signed types, we should check if they are negative or not and generate an INVALID_VALUE error if they are.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344230</commentid>
    <comment_count>1</comment_count>
      <attachid>80966</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2011-02-02 14:02:39 -0800</bug_when>
    <thetext>Created attachment 80966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344232</commentid>
    <comment_count>2</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2011-02-02 14:03:17 -0800</bug_when>
    <thetext>The test is in sync with khronos.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344244</commentid>
    <comment_count>3</comment_count>
      <attachid>80966</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-02-02 14:16:29 -0800</bug_when>
    <thetext>Comment on attachment 80966
Patch

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

Looks good; one more test case is needed though.

&gt; LayoutTests/fast/canvas/webgl/buffer-data-array-buffer.html:44
&gt; +glErrorShouldBe(gl, gl.INVALID_VALUE);

Please also test the bufferSubData entry point taking ArrayBufferView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344264</commentid>
    <comment_count>4</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2011-02-02 14:38:38 -0800</bug_when>
    <thetext>Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344265</commentid>
    <comment_count>5</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2011-02-02 14:39:51 -0800</bug_when>
    <thetext>Committed r77421: &lt;http://trac.webkit.org/changeset/77421&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80966</attachid>
            <date>2011-02-02 14:02:39 -0800</date>
            <delta_ts>2011-02-02 14:16:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53626-20110202140238.patch</filename>
            <type>text/plain</type>
            <size>4593</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc3NDE1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDItMDIgIFpoZW55YW8g
TW8gIDx6bW9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBidWZmZXJEYXRhIGFuZCBidWZmZXJTdWJEYXRhIHNob3VsZCBnZW5lcmF0
ZSBJTlZBTElEX1ZBTFVFIHdpdGggbmVnYXRpdmUgaW5wdXQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNjI2CisKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpidWZmZXJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6YnVmZmVyU3ViRGF0YSk6CisKIDIwMTEtMDItMDIgIEtlbm5ldGggUnVzc2Vs
bCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29u
LgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiA3NzMxMSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwMCw2
ICs3MDAsMTAgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlckRhdGEoRwogICAg
IFdlYkdMQnVmZmVyKiBidWZmZXIgPSB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJzKHRhcmdl
dCwgdXNhZ2UpOwogICAgIGlmICghYnVmZmVyKQogICAgICAgICByZXR1cm47CisgICAgaWYgKHNp
emUgPCAwKSB7CisgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlm
ICghaXNFcnJvckdlbmVyYXRlZE9uT3V0T2ZCb3VuZHNBY2Nlc3NlcygpKSB7CiAgICAgICAgIGlm
ICghYnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJEYXRhKHNpemUpKSB7CiAgICAgICAgICAgICBtX2Nv
bnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVF
KTsKQEAgLTc2NSw2ICs3NjksMTAgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZl
clN1YkRhdAogICAgIFdlYkdMQnVmZmVyKiBidWZmZXIgPSB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJh
bWV0ZXJzKHRhcmdldCwgR3JhcGhpY3NDb250ZXh0M0Q6OlNUQVRJQ19EUkFXKTsKICAgICBpZiAo
IWJ1ZmZlcikKICAgICAgICAgcmV0dXJuOworICAgIGlmIChvZmZzZXQgPCAwKSB7CisgICAgICAg
IG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
VkFMVUUpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlmICghZGF0YSkKICAgICAgICAg
cmV0dXJuOwogICAgIGlmICghaXNFcnJvckdlbmVyYXRlZE9uT3V0T2ZCb3VuZHNBY2Nlc3Nlcygp
KSB7CkBAIC03ODYsNiArNzk0LDEwIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZm
ZXJTdWJEYXQKICAgICBXZWJHTEJ1ZmZlciogYnVmZmVyID0gdmFsaWRhdGVCdWZmZXJEYXRhUGFy
YW1ldGVycyh0YXJnZXQsIEdyYXBoaWNzQ29udGV4dDNEOjpTVEFUSUNfRFJBVyk7CiAgICAgaWYg
KCFidWZmZXIpCiAgICAgICAgIHJldHVybjsKKyAgICBpZiAob2Zmc2V0IDwgMCkgeworICAgICAg
ICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElE
X1ZBTFVFKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBpZiAoIWRhdGEpCiAgICAgICAg
IHJldHVybjsKICAgICBpZiAoIWlzRXJyb3JHZW5lcmF0ZWRPbk91dE9mQm91bmRzQWNjZXNzZXMo
KSkgewpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzc0MTUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMi0wMiAgWmhlbnlhbyBNbyAg
PHptb0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGJ1ZmZlckRhdGEgYW5kIGJ1ZmZlclN1YkRhdGEgc2hvdWxkIGdlbmVyYXRlIElO
VkFMSURfVkFMVUUgd2l0aCBuZWdhdGl2ZSBpbnB1dAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM2MjYKKworICAgICAgICAqIGZhc3QvY2FudmFzL3dl
YmdsL2J1ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9jYW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEtYXJyYXktYnVmZmVyLmh0bWw6CisKIDIwMTEtMDIt
MDIgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEphbWVzIFJvYmluc29uLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
YnVmZmVyLWRhdGEtYXJyYXktYnVmZmVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0YS1hcnJheS1idWZmZXItZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3NzMwOSkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2J1ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTgsNyArOCw5IEBAIFBBU1MgYXJyYXkgaXMgbm9uLW51bGwuCiBQQVNTIFtvYmplY3QgV2ViR0xC
dWZmZXJdIGlzIG5vbi1udWxsLgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElO
VkFMSURfT1BFUkFUSU9OIDogCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiAKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVF
IDogCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCiBQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEtYXJyYXkt
YnVmZmVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
YnVmZmVyLWRhdGEtYXJyYXktYnVmZmVyLmh0bWwJKHJldmlzaW9uIDc3MzA5KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEtYXJyYXktYnVmZmVyLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDkgQEAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX09QRVJBVElPTgogZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1Zik7CiBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKIAorZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9C
VUZGRVIsIC0xMCwgZ2wuU1RBVElDX0RSQVcpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX1ZBTFVFKTsKKwogLy8gVGhpcyBzaG91bGQgbm90IGNyYXNoLCBidXQgdGhlIHNlbGVjdGlv
biBvZiB0aGUgb3ZlcmxvYWQgaXMgYW1iaWd1b3VzIHBlciBXZWIgSURMLgogZ2wuYnVmZmVyRGF0
YShnbC5BUlJBWV9CVUZGRVIsIG51bGwsIGdsLlNUQVRJQ19EUkFXKTsKIGdsLmdldEVycm9yKCk7
CkBAIC0zNyw2ICs0MCw5IEBAIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwogCiBh
cnJheSA9IG5ldyBBcnJheUJ1ZmZlcig2NCk7CiAKK2dsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlf
QlVGRkVSLCAtMTAsIGFycmF5KTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxV
RSk7CisKIGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAxMCwgYXJyYXkpOwogZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CiAK
</data>
<flag name="review"
          id="72489"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>