mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 14:30:27 +00:00
f9c3c72b8c
- Bug 1170842 - Part 1: Sort out ARB_framebuffer_object symbol queries. r=jgilbert (3cbaf14fc) - Bug 1170842 - Part 2: Wrangle glGetInternalformativ symbols. r=jgilbert (f7a0c5cab) - Bug 1114333 - "putImageData(imageData, 0, 0, 0, 0, 1, 1) unreasonably slow". r=bas (11043328c) - Bug 1177271 - Add WebGLFormat format tables. - r=kamidphish (de39a313f) - Bug 1156980 - Validate target in ImageData variants of TexImage2D/TexSubImage2D. r=jgilbert (7f2bdbaa9) - Bug 1151930 - Check against updated length while appending. - r=kamidphish (fca204f81) - Bug 896693 - Work around glCopyTexImage2D errors on framebuffers backed by IOSurface. r=jgilbert (8aaa916ac) - Bug 1182371 - Misc WebGL cleanup. - r=kamidphish (05d1fff1d) - Bug 1172992 - Send security info override from HttpChildChannel to the parent, r=jduell (c4480d779) - Bug 1194847 - Part 1: Make it possible to tell whether the response of a channel has been synthesized; r=michal (e42b96400) - Bug 1194847 - Part 2: Bypass CORS checks if the response of a channel has been synthesized; r=nsm (92b858d00) - Bug 1183853 - Rename hasPermission() to permissionState(). r=mt,smaug (797b07991) - Bug 1157250. Give PushSubscription an attribute serializer. r=nsm (dd3ee5547) - Bug 1149271 - Remove subscriptionid. r=baku (0ecbdbfa6) - Bug 1160333 - When denying permission, use the string 'PermissionDeniedError'. r=nsm (0c4628efb) - Bug 1170817 - Fix unsubscribe() resolution value. r=dougt (ae7825429) - Bug 1172667 - Use EXTRA_JS_MODULES for dom/push/ jsm files. r=dougt (e1fec67a6) - Bug 1166350 - Patch 2 - Fix tests. a=bustage (6b72dfc46) - Bug 1153504 - Add per-origin push quotas. r=nsm,mt,markh (c9cab6cb5) - Bug 1183867 - Fix PushSubscription.unsubscribe() semantics r=mt resolve with false when subscription does not exist. true when successfully unregistered. reject with NetworkError in other cases. (6aa6804eb) - BIN vs RESPATH (e2227b64e) - Bug 1174420 - Package PushService launcher on B2G r=kitcambridge (b433c4eea) - Bug 1184574 - Allow access to PushManager on ServiceWorker. r=kitcambridge,smaug,catalinb (6ceeb49fe) - Bug 1170455 - Part 1: Reformat GetVertexAttrib function. r=jgilbert (7795a8d2a) - Bug 1170455 - Part 2: Split vertex attribute functions into separate file. r=jgilbert (e18493902) - Bug 1170455 - Part 3: Wrangle GetVertexAttribI symbols. r=jgilbert (e088f4e79) - Bug 1170455 - Part 4: Track the type of the generic vertex attribute. r=jgilbert (f8cf490aa) - Bug 1192071 - use llvm-symbolizer when running jit-tests under TSan; r=mshal (97dc9d659) - Bug 1192278 - empower |make check-jit-test| to specify a subset of tests to run; r=terrence (9fe90b546) - Bug 1154480 - Make new Uint8Array().set([], -1) throw a RangeError, not merely an Error. r=till (57345e639)
76 lines
1.9 KiB
C++
76 lines
1.9 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "WebGLVertexArray.h"
|
|
|
|
#include "GLContext.h"
|
|
#include "mozilla/dom/WebGLRenderingContextBinding.h"
|
|
#include "WebGLBuffer.h"
|
|
#include "WebGLContext.h"
|
|
#include "WebGLVertexArrayGL.h"
|
|
#include "WebGLVertexArrayFake.h"
|
|
|
|
namespace mozilla {
|
|
|
|
JSObject*
|
|
WebGLVertexArray::WrapObject(JSContext* cx, JS::Handle<JSObject*> givenProto)
|
|
{
|
|
return dom::WebGLVertexArrayObjectOESBinding::Wrap(cx, this, givenProto);
|
|
}
|
|
|
|
WebGLVertexArray::WebGLVertexArray(WebGLContext* webgl)
|
|
: WebGLContextBoundObject(webgl)
|
|
, mGLName(0)
|
|
{
|
|
mContext->mVertexArrays.insertBack(this);
|
|
}
|
|
|
|
WebGLVertexArray*
|
|
WebGLVertexArray::Create(WebGLContext* webgl)
|
|
{
|
|
WebGLVertexArray* array;
|
|
if (webgl->gl->IsSupported(gl::GLFeature::vertex_array_object)) {
|
|
array = new WebGLVertexArrayGL(webgl);
|
|
} else {
|
|
array = new WebGLVertexArrayFake(webgl);
|
|
}
|
|
return array;
|
|
}
|
|
|
|
void
|
|
WebGLVertexArray::Delete()
|
|
{
|
|
DeleteImpl();
|
|
|
|
LinkedListElement<WebGLVertexArray>::removeFrom(mContext->mVertexArrays);
|
|
mElementArrayBuffer = nullptr;
|
|
mAttribs.Clear();
|
|
}
|
|
|
|
bool
|
|
WebGLVertexArray::IsVertexArray()
|
|
{
|
|
return IsVertexArrayImpl();
|
|
}
|
|
|
|
void
|
|
WebGLVertexArray::EnsureAttrib(GLuint index)
|
|
{
|
|
MOZ_ASSERT(index < GLuint(mContext->mGLMaxVertexAttribs));
|
|
|
|
if (index >= mAttribs.Length()) {
|
|
mAttribs.SetLength(index + 1);
|
|
}
|
|
}
|
|
|
|
NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(WebGLVertexArray,
|
|
mAttribs,
|
|
mElementArrayBuffer)
|
|
|
|
NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(WebGLVertexArray, AddRef)
|
|
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(WebGLVertexArray, Release)
|
|
|
|
} // namespace mozilla
|