mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out changeset 6cbc5a5a177f (bug 933646) for xpcshell bustage
This commit is contained in:
parent
c61ba9e7e0
commit
f15e8e12f9
@ -32,6 +32,7 @@ const EVENTS = {
|
|||||||
|
|
||||||
const STRINGS_URI = "chrome://browser/locale/devtools/shadereditor.properties"
|
const STRINGS_URI = "chrome://browser/locale/devtools/shadereditor.properties"
|
||||||
const HIGHLIGHT_COLOR = [1, 0, 0, 1];
|
const HIGHLIGHT_COLOR = [1, 0, 0, 1];
|
||||||
|
const BLACKBOX_COLOR = [0, 0, 0, 0];
|
||||||
const TYPING_MAX_DELAY = 500;
|
const TYPING_MAX_DELAY = 500;
|
||||||
const SHADERS_AUTOGROW_ITEMS = 4;
|
const SHADERS_AUTOGROW_ITEMS = 4;
|
||||||
const DEFAULT_EDITOR_CONFIG = {
|
const DEFAULT_EDITOR_CONFIG = {
|
||||||
@ -173,25 +174,25 @@ let ShadersListView = Heritage.extend(WidgetMethods, {
|
|||||||
showItemCheckboxes: true
|
showItemCheckboxes: true
|
||||||
});
|
});
|
||||||
|
|
||||||
this._onProgramSelect = this._onProgramSelect.bind(this);
|
this._onShaderSelect = this._onShaderSelect.bind(this);
|
||||||
this._onProgramCheck = this._onProgramCheck.bind(this);
|
this._onShaderCheck = this._onShaderCheck.bind(this);
|
||||||
this._onProgramMouseEnter = this._onProgramMouseEnter.bind(this);
|
this._onShaderMouseEnter = this._onShaderMouseEnter.bind(this);
|
||||||
this._onProgramMouseLeave = this._onProgramMouseLeave.bind(this);
|
this._onShaderMouseLeave = this._onShaderMouseLeave.bind(this);
|
||||||
|
|
||||||
this.widget.addEventListener("select", this._onProgramSelect, false);
|
this.widget.addEventListener("select", this._onShaderSelect, false);
|
||||||
this.widget.addEventListener("check", this._onProgramCheck, false);
|
this.widget.addEventListener("check", this._onShaderCheck, false);
|
||||||
this.widget.addEventListener("mouseenter", this._onProgramMouseEnter, true);
|
this.widget.addEventListener("mouseenter", this._onShaderMouseEnter, true);
|
||||||
this.widget.addEventListener("mouseleave", this._onProgramMouseLeave, true);
|
this.widget.addEventListener("mouseleave", this._onShaderMouseLeave, true);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destruction function, called when the tool is closed.
|
* Destruction function, called when the tool is closed.
|
||||||
*/
|
*/
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
this.widget.removeEventListener("select", this._onProgramSelect, false);
|
this.widget.removeEventListener("select", this._onShaderSelect, false);
|
||||||
this.widget.removeEventListener("check", this._onProgramCheck, false);
|
this.widget.removeEventListener("check", this._onShaderCheck, false);
|
||||||
this.widget.removeEventListener("mouseenter", this._onProgramMouseEnter, true);
|
this.widget.removeEventListener("mouseenter", this._onShaderMouseEnter, true);
|
||||||
this.widget.removeEventListener("mouseleave", this._onProgramMouseLeave, true);
|
this.widget.removeEventListener("mouseleave", this._onShaderMouseLeave, true);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -247,9 +248,9 @@ let ShadersListView = Heritage.extend(WidgetMethods, {
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The select listener for the programs container.
|
* The select listener for the sources container.
|
||||||
*/
|
*/
|
||||||
_onProgramSelect: function({ detail: sourceItem }) {
|
_onShaderSelect: function({ detail: sourceItem }) {
|
||||||
if (!sourceItem) {
|
if (!sourceItem) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -279,19 +280,19 @@ let ShadersListView = Heritage.extend(WidgetMethods, {
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The check listener for the programs container.
|
* The check listener for the sources container.
|
||||||
*/
|
*/
|
||||||
_onProgramCheck: function({ detail: { checked }, target }) {
|
_onShaderCheck: function({ detail: { checked }, target }) {
|
||||||
let sourceItem = this.getItemForElement(target);
|
let sourceItem = this.getItemForElement(target);
|
||||||
let attachment = sourceItem.attachment;
|
let attachment = sourceItem.attachment;
|
||||||
attachment.isBlackBoxed = !checked;
|
attachment.isBlackBoxed = !checked;
|
||||||
attachment.programActor[checked ? "unblackbox" : "blackbox"]();
|
attachment.programActor[checked ? "unhighlight" : "highlight"](BLACKBOX_COLOR);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The mouseenter listener for the programs container.
|
* The mouseenter listener for the sources container.
|
||||||
*/
|
*/
|
||||||
_onProgramMouseEnter: function(e) {
|
_onShaderMouseEnter: function(e) {
|
||||||
let sourceItem = this.getItemForElement(e.target, { noSiblings: true });
|
let sourceItem = this.getItemForElement(e.target, { noSiblings: true });
|
||||||
if (sourceItem && !sourceItem.attachment.isBlackBoxed) {
|
if (sourceItem && !sourceItem.attachment.isBlackBoxed) {
|
||||||
sourceItem.attachment.programActor.highlight(HIGHLIGHT_COLOR);
|
sourceItem.attachment.programActor.highlight(HIGHLIGHT_COLOR);
|
||||||
@ -304,9 +305,9 @@ let ShadersListView = Heritage.extend(WidgetMethods, {
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The mouseleave listener for the programs container.
|
* The mouseleave listener for the sources container.
|
||||||
*/
|
*/
|
||||||
_onProgramMouseLeave: function(e) {
|
_onShaderMouseLeave: function(e) {
|
||||||
let sourceItem = this.getItemForElement(e.target, { noSiblings: true });
|
let sourceItem = this.getItemForElement(e.target, { noSiblings: true });
|
||||||
if (sourceItem && !sourceItem.attachment.isBlackBoxed) {
|
if (sourceItem && !sourceItem.attachment.isBlackBoxed) {
|
||||||
sourceItem.attachment.programActor.unhighlight();
|
sourceItem.attachment.programActor.unhighlight();
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
[DEFAULT]
|
[DEFAULT]
|
||||||
support-files =
|
support-files =
|
||||||
doc_multiple-contexts.html
|
doc_multiple-contexts.html
|
||||||
doc_overlapping-geometry.html
|
|
||||||
doc_shader-order.html
|
doc_shader-order.html
|
||||||
doc_simple-canvas.html
|
doc_simple-canvas.html
|
||||||
head.js
|
head.js
|
||||||
@ -35,4 +34,3 @@ support-files =
|
|||||||
[browser_webgl-actor-test-14.js]
|
[browser_webgl-actor-test-14.js]
|
||||||
[browser_webgl-actor-test-15.js]
|
[browser_webgl-actor-test-15.js]
|
||||||
[browser_webgl-actor-test-16.js]
|
[browser_webgl-actor-test-16.js]
|
||||||
[browser_webgl-actor-test-17.js]
|
|
||||||
|
@ -55,9 +55,9 @@ function ifWebGLSupported() {
|
|||||||
is(getBlackBoxCheckbox(panel, 1).checked, true,
|
is(getBlackBoxCheckbox(panel, 1).checked, true,
|
||||||
"The second blackbox checkbox should still be checked.");
|
"The second blackbox checkbox should still be checked.");
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
ok(true, "The first program was correctly blackboxed.");
|
ok(true, "The first program was correctly blackboxed.");
|
||||||
|
|
||||||
@ -72,35 +72,35 @@ function ifWebGLSupported() {
|
|||||||
is(getBlackBoxCheckbox(panel, 1).checked, false,
|
is(getBlackBoxCheckbox(panel, 1).checked, false,
|
||||||
"The second blackbox checkbox should now be unchecked.");
|
"The second blackbox checkbox should now be unchecked.");
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas2");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas2");
|
||||||
ok(true, "The second program was correctly blackboxed.");
|
ok(true, "The second program was correctly blackboxed.");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseEnter({ target: getItemLabel(panel, 0) });
|
ShadersListView._onShaderMouseEnter({ target: getItemLabel(panel, 0) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas2");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas2");
|
||||||
ok(true, "Highlighting didn't work while blackboxed (1).");
|
ok(true, "Highlighting didn't work while blackboxed (1).");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseLeave({ target: getItemLabel(panel, 0) });
|
ShadersListView._onShaderMouseLeave({ target: getItemLabel(panel, 0) });
|
||||||
ShadersListView._onProgramMouseEnter({ target: getItemLabel(panel, 1) });
|
ShadersListView._onShaderMouseEnter({ target: getItemLabel(panel, 1) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas2");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas2");
|
||||||
ok(true, "Highlighting didn't work while blackboxed (2).");
|
ok(true, "Highlighting didn't work while blackboxed (2).");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseLeave({ target: getItemLabel(panel, 1) });
|
ShadersListView._onShaderMouseLeave({ target: getItemLabel(panel, 1) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas2");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 0 }, true, "#canvas2");
|
||||||
ok(true, "Highlighting didn't work while blackboxed (3).");
|
ok(true, "Highlighting didn't work while blackboxed (3).");
|
||||||
|
|
||||||
getBlackBoxCheckbox(panel, 0).click();
|
getBlackBoxCheckbox(panel, 0).click();
|
||||||
@ -121,7 +121,7 @@ function ifWebGLSupported() {
|
|||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
ok(true, "The two programs were correctly unblackboxed.");
|
ok(true, "The two programs were correctly unblackboxed.");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseEnter({ target: getItemLabel(panel, 0) });
|
ShadersListView._onShaderMouseEnter({ target: getItemLabel(panel, 0) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
@ -129,8 +129,8 @@ function ifWebGLSupported() {
|
|||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
ok(true, "The first program was correctly highlighted.");
|
ok(true, "The first program was correctly highlighted.");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseLeave({ target: getItemLabel(panel, 0) });
|
ShadersListView._onShaderMouseLeave({ target: getItemLabel(panel, 0) });
|
||||||
ShadersListView._onProgramMouseEnter({ target: getItemLabel(panel, 1) });
|
ShadersListView._onShaderMouseEnter({ target: getItemLabel(panel, 1) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
||||||
@ -138,7 +138,7 @@ function ifWebGLSupported() {
|
|||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
||||||
ok(true, "The second program was correctly highlighted.");
|
ok(true, "The second program was correctly highlighted.");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseLeave({ target: getItemLabel(panel, 1) });
|
ShadersListView._onShaderMouseLeave({ target: getItemLabel(panel, 1) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
|
@ -35,7 +35,7 @@ function ifWebGLSupported() {
|
|||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseEnter({ target: getItemLabel(panel, 0) });
|
ShadersListView._onShaderMouseEnter({ target: getItemLabel(panel, 0) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
@ -43,8 +43,8 @@ function ifWebGLSupported() {
|
|||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
ok(true, "The first program was correctly highlighted.");
|
ok(true, "The first program was correctly highlighted.");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseLeave({ target: getItemLabel(panel, 0) });
|
ShadersListView._onShaderMouseLeave({ target: getItemLabel(panel, 0) });
|
||||||
ShadersListView._onProgramMouseEnter({ target: getItemLabel(panel, 1) });
|
ShadersListView._onShaderMouseEnter({ target: getItemLabel(panel, 1) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
||||||
@ -52,7 +52,7 @@ function ifWebGLSupported() {
|
|||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas2");
|
||||||
ok(true, "The second program was correctly highlighted.");
|
ok(true, "The second program was correctly highlighted.");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseLeave({ target: getItemLabel(panel, 1) });
|
ShadersListView._onShaderMouseLeave({ target: getItemLabel(panel, 1) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
@ -60,7 +60,7 @@ function ifWebGLSupported() {
|
|||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
ok(true, "The two programs were correctly unhighlighted.");
|
ok(true, "The two programs were correctly unhighlighted.");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseEnter({ target: getBlackBoxCheckbox(panel, 0) });
|
ShadersListView._onShaderMouseEnter({ target: getBlackBoxCheckbox(panel, 0) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
@ -68,7 +68,7 @@ function ifWebGLSupported() {
|
|||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
ok(true, "The two programs were left unchanged after hovering a blackbox checkbox.");
|
ok(true, "The two programs were left unchanged after hovering a blackbox checkbox.");
|
||||||
|
|
||||||
ShadersListView._onProgramMouseLeave({ target: getBlackBoxCheckbox(panel, 0) });
|
ShadersListView._onShaderMouseLeave({ target: getBlackBoxCheckbox(panel, 0) });
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests that the highlight/unhighlight and blackbox/unblackbox operations on
|
* Tests that the highlight/unhighlight operations on program actors
|
||||||
* program actors work as expected.
|
* work as expected.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function ifWebGLSupported() {
|
function ifWebGLSupported() {
|
||||||
@ -17,31 +17,19 @@ function ifWebGLSupported() {
|
|||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
|
||||||
yield ensurePixelIs(debuggee, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
|
yield ensurePixelIs(debuggee, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
|
||||||
yield checkShaderSource("The shader sources are correct before highlighting.");
|
yield checkShaderSource("The shader sources are correct before highlighting.");
|
||||||
ok(true, "The corner pixel colors are correct before highlighting.");
|
ok(true, "The top left pixel color was correct before highlighting.");
|
||||||
|
|
||||||
yield programActor.highlight([0, 0, 1, 1]);
|
yield programActor.highlight([0, 0, 1, 1]);
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 255, a: 255 }, true);
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 255, a: 255 }, true);
|
||||||
yield ensurePixelIs(debuggee, { x: 511, y: 511 }, { r: 0, g: 0, b: 255, a: 255 }, true);
|
yield ensurePixelIs(debuggee, { x: 511, y: 511 }, { r: 0, g: 0, b: 255, a: 255 }, true);
|
||||||
yield checkShaderSource("The shader sources are preserved after highlighting.");
|
yield checkShaderSource("The shader sources are preserved after highlighting.");
|
||||||
ok(true, "The corner pixel colors are correct after highlighting.");
|
ok(true, "The top left pixel color is correct after highlighting.");
|
||||||
|
|
||||||
yield programActor.unhighlight();
|
yield programActor.unhighlight();
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
|
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
|
||||||
yield ensurePixelIs(debuggee, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
|
yield ensurePixelIs(debuggee, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
|
||||||
yield checkShaderSource("The shader sources are correct after unhighlighting.");
|
yield checkShaderSource("The shader sources are correct after unhighlighting.");
|
||||||
ok(true, "The corner pixel colors are correct after unhighlighting.");
|
ok(true, "The top left pixel color is correct after unhighlighting.");
|
||||||
|
|
||||||
yield programActor.blackbox();
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 511, y: 511 }, { r: 0, g: 0, b: 0, a: 255 }, true);
|
|
||||||
yield checkShaderSource("The shader sources are preserved after blackboxing.");
|
|
||||||
ok(true, "The corner pixel colors are correct after blackboxing.");
|
|
||||||
|
|
||||||
yield programActor.unblackbox();
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
|
|
||||||
yield checkShaderSource("The shader sources are correct after unblackboxing.");
|
|
||||||
ok(true, "The corner pixel colors are correct after unblackboxing.");
|
|
||||||
|
|
||||||
function checkShaderSource(aMessage) {
|
function checkShaderSource(aMessage) {
|
||||||
return Task.spawn(function() {
|
return Task.spawn(function() {
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
/* Any copyright is dedicated to the Public Domain.
|
|
||||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests that the blackbox/unblackbox operations work as expected with
|
|
||||||
* overlapping geometry.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ifWebGLSupported() {
|
|
||||||
let [target, debuggee, front] = yield initBackend(OVERLAPPING_GEOMETRY_CANVAS_URL);
|
|
||||||
front.setup({ reload: true });
|
|
||||||
|
|
||||||
let firstProgramActor = yield once(front, "program-linked");
|
|
||||||
let secondProgramActor = yield once(front, "program-linked");
|
|
||||||
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 64, y: 64 }, { r: 0, g: 255, b: 255, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 255, b: 0, a: 255 }, true);
|
|
||||||
ok(true, "The corner vs. center pixel colors are correct before blackboxing.");
|
|
||||||
|
|
||||||
yield firstProgramActor.blackbox();
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 64, y: 64 }, { r: 0, g: 255, b: 255, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 0, g: 0, b: 0, a: 255 }, true);
|
|
||||||
ok(true, "The corner vs. center pixel colors are correct after blackboxing (1).");
|
|
||||||
|
|
||||||
yield firstProgramActor.unblackbox();
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 64, y: 64 }, { r: 0, g: 255, b: 255, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 255, b: 0, a: 255 }, true);
|
|
||||||
ok(true, "The corner vs. center pixel colors are correct after unblackboxing (1).");
|
|
||||||
|
|
||||||
yield secondProgramActor.blackbox();
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 64, y: 64 }, { r: 255, g: 255, b: 0, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 255, b: 0, a: 255 }, true);
|
|
||||||
ok(true, "The corner vs. center pixel colors are correct after blackboxing (2).");
|
|
||||||
|
|
||||||
yield secondProgramActor.unblackbox();
|
|
||||||
yield ensurePixelIs(debuggee, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 64, y: 64 }, { r: 0, g: 255, b: 255, a: 255 }, true);
|
|
||||||
yield ensurePixelIs(debuggee, { x: 127, y: 127 }, { r: 255, g: 255, b: 0, a: 255 }, true);
|
|
||||||
ok(true, "The corner vs. center pixel colors are correct after unblackboxing (2).");
|
|
||||||
|
|
||||||
yield removeTab(target.tab);
|
|
||||||
finish();
|
|
||||||
}
|
|
@ -1,120 +0,0 @@
|
|||||||
<!-- Any copyright is dedicated to the Public Domain.
|
|
||||||
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
|
||||||
<!doctype html>
|
|
||||||
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8"/>
|
|
||||||
<title>WebGL editor test page</title>
|
|
||||||
|
|
||||||
<script id="shader-vs" type="x-shader/x-vertex">
|
|
||||||
precision lowp float;
|
|
||||||
attribute vec3 aVertexPosition;
|
|
||||||
uniform float uDepth;
|
|
||||||
|
|
||||||
void main(void) {
|
|
||||||
gl_Position = vec4(aVertexPosition, uDepth);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script id="shader-fs-0" type="x-shader/x-fragment">
|
|
||||||
precision lowp float;
|
|
||||||
|
|
||||||
void main(void) {
|
|
||||||
gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script id="shader-fs-1" type="x-shader/x-fragment">
|
|
||||||
precision lowp float;
|
|
||||||
|
|
||||||
void main(void) {
|
|
||||||
gl_FragColor = vec4(0.0, 1.0, 1.0, 1.0);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<canvas id="canvas" width="128" height="128"></canvas>
|
|
||||||
|
|
||||||
<script type="text/javascript;version=1.8">
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
let canvas, gl;
|
|
||||||
let program = [];
|
|
||||||
let squareVerticesPositionBuffer;
|
|
||||||
let vertexPositionAttribute = [];
|
|
||||||
let depthUniform = [];
|
|
||||||
|
|
||||||
window.onload = function() {
|
|
||||||
canvas = document.querySelector("canvas");
|
|
||||||
gl = canvas.getContext("webgl");
|
|
||||||
gl.clearColor(0.0, 0.0, 0.0, 1.0);
|
|
||||||
|
|
||||||
initProgram(0);
|
|
||||||
initProgram(1);
|
|
||||||
initBuffers();
|
|
||||||
drawScene();
|
|
||||||
}
|
|
||||||
|
|
||||||
function initProgram(i) {
|
|
||||||
let vertexShader = getShader("shader-vs");
|
|
||||||
let fragmentShader = getShader("shader-fs-" + i);
|
|
||||||
|
|
||||||
program[i] = gl.createProgram();
|
|
||||||
gl.attachShader(program[i], vertexShader);
|
|
||||||
gl.attachShader(program[i], fragmentShader);
|
|
||||||
gl.linkProgram(program[i]);
|
|
||||||
|
|
||||||
vertexPositionAttribute[i] = gl.getAttribLocation(program[i], "aVertexPosition");
|
|
||||||
gl.enableVertexAttribArray(vertexPositionAttribute[i]);
|
|
||||||
|
|
||||||
depthUniform[i] = gl.getUniformLocation(program[i], "uDepth");
|
|
||||||
}
|
|
||||||
|
|
||||||
function getShader(id) {
|
|
||||||
let script = document.getElementById(id);
|
|
||||||
let source = script.textContent;
|
|
||||||
let shader;
|
|
||||||
|
|
||||||
if (script.type == "x-shader/x-fragment") {
|
|
||||||
shader = gl.createShader(gl.FRAGMENT_SHADER);
|
|
||||||
} else if (script.type == "x-shader/x-vertex") {
|
|
||||||
shader = gl.createShader(gl.VERTEX_SHADER);
|
|
||||||
}
|
|
||||||
|
|
||||||
gl.shaderSource(shader, source);
|
|
||||||
gl.compileShader(shader);
|
|
||||||
|
|
||||||
return shader;
|
|
||||||
}
|
|
||||||
|
|
||||||
function initBuffers() {
|
|
||||||
squareVerticesPositionBuffer = gl.createBuffer();
|
|
||||||
gl.bindBuffer(gl.ARRAY_BUFFER, squareVerticesPositionBuffer);
|
|
||||||
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
|
|
||||||
1.0, 1.0, 0.0,
|
|
||||||
-1.0, 1.0, 0.0,
|
|
||||||
1.0, -1.0, 0.0,
|
|
||||||
-1.0, -1.0, 0.0
|
|
||||||
]), gl.STATIC_DRAW);
|
|
||||||
}
|
|
||||||
|
|
||||||
function drawScene() {
|
|
||||||
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
||||||
|
|
||||||
for (let i = 0; i < 2; i++) {
|
|
||||||
gl.bindBuffer(gl.ARRAY_BUFFER, squareVerticesPositionBuffer);
|
|
||||||
gl.vertexAttribPointer(vertexPositionAttribute[i], 3, gl.FLOAT, false, 0, 0);
|
|
||||||
|
|
||||||
gl.useProgram(program[i]);
|
|
||||||
gl.uniform1f(depthUniform[i], i + 1);
|
|
||||||
gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
window.requestAnimationFrame(drawScene);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -27,7 +27,6 @@ const EXAMPLE_URL = "http://example.com/browser/browser/devtools/shadereditor/te
|
|||||||
const SIMPLE_CANVAS_URL = EXAMPLE_URL + "doc_simple-canvas.html";
|
const SIMPLE_CANVAS_URL = EXAMPLE_URL + "doc_simple-canvas.html";
|
||||||
const SHADER_ORDER_URL = EXAMPLE_URL + "doc_shader-order.html";
|
const SHADER_ORDER_URL = EXAMPLE_URL + "doc_shader-order.html";
|
||||||
const MULTIPLE_CONTEXTS_URL = EXAMPLE_URL + "doc_multiple-contexts.html";
|
const MULTIPLE_CONTEXTS_URL = EXAMPLE_URL + "doc_multiple-contexts.html";
|
||||||
const OVERLAPPING_GEOMETRY_CANVAS_URL = EXAMPLE_URL + "doc_overlapping-geometry.html";
|
|
||||||
|
|
||||||
// All tests are asynchronous.
|
// All tests are asynchronous.
|
||||||
waitForExplicitFinish();
|
waitForExplicitFinish();
|
||||||
|
@ -140,24 +140,6 @@ let ProgramActor = protocol.ActorClass({
|
|||||||
oneway: true
|
oneway: true
|
||||||
}),
|
}),
|
||||||
|
|
||||||
/**
|
|
||||||
* Prevents any geometry from being rendered using this program.
|
|
||||||
*/
|
|
||||||
blackbox: method(function() {
|
|
||||||
this.observer.cache.blackboxedPrograms.add(this.program);
|
|
||||||
}, {
|
|
||||||
oneway: true
|
|
||||||
}),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Allows geometry to be rendered using this program.
|
|
||||||
*/
|
|
||||||
unblackbox: method(function() {
|
|
||||||
this.observer.cache.blackboxedPrograms.delete(this.program);
|
|
||||||
}, {
|
|
||||||
oneway: true
|
|
||||||
}),
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a cached ShaderActor instance based on the required shader type.
|
* Returns a cached ShaderActor instance based on the required shader type.
|
||||||
*
|
*
|
||||||
@ -510,15 +492,6 @@ let WebGLInstrumenter = {
|
|||||||
"uniform1fv", "uniform2fv", "uniform3fv", "uniform4fv",
|
"uniform1fv", "uniform2fv", "uniform3fv", "uniform4fv",
|
||||||
"uniformMatrix2fv", "uniformMatrix3fv", "uniformMatrix4fv"
|
"uniformMatrix2fv", "uniformMatrix3fv", "uniformMatrix4fv"
|
||||||
]
|
]
|
||||||
}, {
|
|
||||||
timing: "after",
|
|
||||||
functions: ["useProgram"]
|
|
||||||
}, {
|
|
||||||
timing: "before",
|
|
||||||
callback: "draw_",
|
|
||||||
functions: [
|
|
||||||
"drawArrays", "drawElements"
|
|
||||||
]
|
|
||||||
}]
|
}]
|
||||||
// TODO: It'd be a good idea to handle other functions as well:
|
// TODO: It'd be a good idea to handle other functions as well:
|
||||||
// - getActiveUniform
|
// - getActiveUniform
|
||||||
@ -604,7 +577,7 @@ WebGLObserver.prototype = {
|
|||||||
*/
|
*/
|
||||||
toggleVertexAttribArray: function(gl, glArgs) {
|
toggleVertexAttribArray: function(gl, glArgs) {
|
||||||
glArgs[0] = this.cache.call("getCurrentAttributeLocation", glArgs[0]);
|
glArgs[0] = this.cache.call("getCurrentAttributeLocation", glArgs[0]);
|
||||||
return glArgs[0] < 0; // Return true to break original function call.
|
return glArgs[0] < 0;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -617,7 +590,7 @@ WebGLObserver.prototype = {
|
|||||||
*/
|
*/
|
||||||
attribute_: function(gl, glArgs) {
|
attribute_: function(gl, glArgs) {
|
||||||
glArgs[0] = this.cache.call("getCurrentAttributeLocation", glArgs[0]);
|
glArgs[0] = this.cache.call("getCurrentAttributeLocation", glArgs[0]);
|
||||||
return glArgs[0] < 0; // Return true to break original function call.
|
return glArgs[0] < 0;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -630,38 +603,7 @@ WebGLObserver.prototype = {
|
|||||||
*/
|
*/
|
||||||
uniform_: function(gl, glArgs) {
|
uniform_: function(gl, glArgs) {
|
||||||
glArgs[0] = this.cache.call("getCurrentUniformLocation", glArgs[0]);
|
glArgs[0] = this.cache.call("getCurrentUniformLocation", glArgs[0]);
|
||||||
return !glArgs[0]; // Return true to break original function call.
|
return !glArgs[0];
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called immediately *after* 'useProgram' is requested in the context.
|
|
||||||
*
|
|
||||||
* @param WebGLRenderingContext gl
|
|
||||||
* The WebGL context initiating this call.
|
|
||||||
* @param array glArgs
|
|
||||||
* Overridable arguments with which the function is called.
|
|
||||||
* @param void glResult
|
|
||||||
* The returned value of the original function call.
|
|
||||||
*/
|
|
||||||
useProgram: function(gl, glArgs, glResult) {
|
|
||||||
// Manually keeping a cache and not using gl.getParameter(CURRENT_PROGRAM)
|
|
||||||
// because gl.get* functions are slow as potatoes.
|
|
||||||
this.cache.currentProgram = glArgs[0];
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called immediately *before* 'drawArrays' or 'drawElements' is requested
|
|
||||||
* in the context.
|
|
||||||
*
|
|
||||||
* @param WebGLRenderingContext gl
|
|
||||||
* The WebGL context initiating this call.
|
|
||||||
* @param array glArgs
|
|
||||||
* Overridable arguments with which the function is called.
|
|
||||||
*/
|
|
||||||
draw_: function(gl, glArgs) {
|
|
||||||
if (this.cache.blackboxedPrograms.has(this.cache.currentProgram)) {
|
|
||||||
return true; // Return true to break original function call.
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -692,9 +634,6 @@ WebGLObserver.prototype = {
|
|||||||
function WebGLCache(observer) {
|
function WebGLCache(observer) {
|
||||||
this._observer = observer;
|
this._observer = observer;
|
||||||
|
|
||||||
this.currentProgram = null;
|
|
||||||
this.blackboxedPrograms = new Set();
|
|
||||||
|
|
||||||
this._shaders = new Map();
|
this._shaders = new Map();
|
||||||
this._attributes = [];
|
this._attributes = [];
|
||||||
this._uniforms = [];
|
this._uniforms = [];
|
||||||
@ -703,16 +642,6 @@ function WebGLCache(observer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
WebGLCache.prototype = {
|
WebGLCache.prototype = {
|
||||||
/**
|
|
||||||
* The current program in the observed WebGL context.
|
|
||||||
*/
|
|
||||||
currentProgram: null,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A set of blackboxed programs in the observed WebGL context.
|
|
||||||
*/
|
|
||||||
blackboxedPrograms: null,
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds shader information to the cache.
|
* Adds shader information to the cache.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user