| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 | 252 |
| 253 /** | 253 /** |
| 254 * @constructor | 254 * @constructor |
| 255 * @implements {StackTrace} | 255 * @implements {StackTrace} |
| 256 * @param {number=} stackTraceLimit | 256 * @param {number=} stackTraceLimit |
| 257 * @param {Function=} topMostFunctionToIgnore | 257 * @param {Function=} topMostFunctionToIgnore |
| 258 * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi | 258 * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi |
| 259 */ | 259 */ |
| 260 function StackTraceV8(stackTraceLimit, topMostFunctionToIgnore) | 260 function StackTraceV8(stackTraceLimit, topMostFunctionToIgnore) |
| 261 { | 261 { |
| 262 StackTrace.call(this); | |
| 263 | |
| 264 var oldPrepareStackTrace = Error.prepareStackTrace; | 262 var oldPrepareStackTrace = Error.prepareStackTrace; |
| 265 var oldStackTraceLimit = Error.stackTraceLimit; | 263 var oldStackTraceLimit = Error.stackTraceLimit; |
| 266 if (typeof stackTraceLimit === "number") | 264 if (typeof stackTraceLimit === "number") |
| 267 Error.stackTraceLimit = stackTraceLimit; | 265 Error.stackTraceLimit = stackTraceLimit; |
| 268 | 266 |
| 269 /** | 267 /** |
| 270 * @param {Object} error | 268 * @param {Object} error |
| 271 * @param {!Array.<CallSite>} structuredStackTrace | 269 * @param {!Array.<CallSite>} structuredStackTrace |
| 272 * @return {!Array.<{sourceURL: string, lineNumber: number, columnNumber: nu
mber}>} | 270 * @return {!Array.<{sourceURL: string, lineNumber: number, columnNumber: nu
mber}>} |
| 273 */ | 271 */ |
| (...skipping 18 matching lines...) Expand all Loading... |
| 292 | 290 |
| 293 StackTraceV8.prototype = { | 291 StackTraceV8.prototype = { |
| 294 /** | 292 /** |
| 295 * @override | 293 * @override |
| 296 * @param {number} index | 294 * @param {number} index |
| 297 * @return {{sourceURL: string, lineNumber: number, columnNumber: number}|un
defined} | 295 * @return {{sourceURL: string, lineNumber: number, columnNumber: number}|un
defined} |
| 298 */ | 296 */ |
| 299 callFrame: function(index) | 297 callFrame: function(index) |
| 300 { | 298 { |
| 301 return this._stackTrace[index]; | 299 return this._stackTrace[index]; |
| 302 }, | 300 } |
| 303 | |
| 304 __proto__: StackTrace.prototype | |
| 305 } | 301 } |
| 306 | 302 |
| 307 /** | 303 /** |
| 308 * @constructor | 304 * @constructor |
| 309 * @template T | 305 * @template T |
| 310 */ | 306 */ |
| 311 function Cache() | 307 function Cache() |
| 312 { | 308 { |
| 313 this.reset(); | 309 this.reset(); |
| 314 } | 310 } |
| (...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 980 if (!wrappedObject) | 976 if (!wrappedObject) |
| 981 return null; | 977 return null; |
| 982 var proxy = Object.create(wrappedObject.__proto__); // In order to emula
te "instanceof". | 978 var proxy = Object.create(wrappedObject.__proto__); // In order to emula
te "instanceof". |
| 983 | 979 |
| 984 var customWrapFunctions = this._customWrapFunctions(); | 980 var customWrapFunctions = this._customWrapFunctions(); |
| 985 /** @type {!Array.<string>} */ | 981 /** @type {!Array.<string>} */ |
| 986 this._proxyStatePropertyNames = []; | 982 this._proxyStatePropertyNames = []; |
| 987 | 983 |
| 988 /** | 984 /** |
| 989 * @param {string} property | 985 * @param {string} property |
| 986 * @this {Resource} |
| 990 */ | 987 */ |
| 991 function processProperty(property) | 988 function processProperty(property) |
| 992 { | 989 { |
| 993 if (typeof wrappedObject[property] === "function") { | 990 if (typeof wrappedObject[property] === "function") { |
| 994 var customWrapFunction = customWrapFunctions[property]; | 991 var customWrapFunction = customWrapFunctions[property]; |
| 995 if (customWrapFunction) | 992 if (customWrapFunction) |
| 996 proxy[property] = this._wrapCustomFunction(this, wrappedObje
ct, wrappedObject[property], property, customWrapFunction); | 993 proxy[property] = this._wrapCustomFunction(this, wrappedObje
ct, wrappedObject[property], property, customWrapFunction); |
| 997 else | 994 else |
| 998 proxy[property] = this._wrapFunction(this, wrappedObject, wr
appedObject[property], property); | 995 proxy[property] = this._wrapFunction(this, wrappedObject, wr
appedObject[property], property); |
| 999 } else if (TypeUtils.isEnumPropertyName(property, wrappedObject)) { | 996 } else if (TypeUtils.isEnumPropertyName(property, wrappedObject)) { |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1161 } | 1158 } |
| 1162 } | 1159 } |
| 1163 | 1160 |
| 1164 /** | 1161 /** |
| 1165 * @param {function(new:Resource, !Object, string)} resourceConstructor | 1162 * @param {function(new:Resource, !Object, string)} resourceConstructor |
| 1166 * @param {string} resourceName | 1163 * @param {string} resourceName |
| 1167 * @return {function(this:Resource.WrapFunction)} | 1164 * @return {function(this:Resource.WrapFunction)} |
| 1168 */ | 1165 */ |
| 1169 Resource.WrapFunction.resourceFactoryMethod = function(resourceConstructor, reso
urceName) | 1166 Resource.WrapFunction.resourceFactoryMethod = function(resourceConstructor, reso
urceName) |
| 1170 { | 1167 { |
| 1171 /** @this Resource.WrapFunction */ | 1168 /** @this {Resource.WrapFunction} */ |
| 1172 return function() | 1169 return function() |
| 1173 { | 1170 { |
| 1174 var wrappedObject = /** @type {Object} */ (this.result()); | 1171 var wrappedObject = /** @type {Object} */ (this.result()); |
| 1175 if (!wrappedObject) | 1172 if (!wrappedObject) |
| 1176 return; | 1173 return; |
| 1177 var resource = new resourceConstructor(wrappedObject, resourceName); | 1174 var resource = new resourceConstructor(wrappedObject, resourceName); |
| 1178 var manager = this._resource.manager(); | 1175 var manager = this._resource.manager(); |
| 1179 if (manager) | 1176 if (manager) |
| 1180 manager.registerResource(resource); | 1177 manager.registerResource(resource); |
| 1181 this.overrideResult(resource.proxyObject()); | 1178 this.overrideResult(resource.proxyObject()); |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1280 /** | 1277 /** |
| 1281 * @override | 1278 * @override |
| 1282 * @return {!Object.<string, Function>} | 1279 * @return {!Object.<string, Function>} |
| 1283 */ | 1280 */ |
| 1284 _customWrapFunctions: function() | 1281 _customWrapFunctions: function() |
| 1285 { | 1282 { |
| 1286 var wrapFunctions = Object.create(null); | 1283 var wrapFunctions = Object.create(null); |
| 1287 var wrappedObject = this.wrappedObject(); | 1284 var wrappedObject = this.wrappedObject(); |
| 1288 if (wrappedObject) { | 1285 if (wrappedObject) { |
| 1289 for (var property in wrappedObject) { | 1286 for (var property in wrappedObject) { |
| 1290 /** @this Resource.WrapFunction */ | 1287 /** @this {Resource.WrapFunction} */ |
| 1291 wrapFunctions[property] = function() | 1288 wrapFunctions[property] = function() |
| 1292 { | 1289 { |
| 1293 this._resource.pushCall(this.call()); | 1290 this._resource.pushCall(this.call()); |
| 1294 } | 1291 } |
| 1295 } | 1292 } |
| 1296 } | 1293 } |
| 1297 return wrapFunctions; | 1294 return wrapFunctions; |
| 1298 }, | 1295 }, |
| 1299 | 1296 |
| 1300 __proto__: Resource.prototype | 1297 __proto__: Resource.prototype |
| (...skipping 1644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2945 stateModifyingWrapFunction("compressedTexSubImage2D"); | 2942 stateModifyingWrapFunction("compressedTexSubImage2D"); |
| 2946 stateModifyingWrapFunction("copyTexImage2D", WebGLTextureResource.pr
ototype.pushCall_copyTexImage2D); | 2943 stateModifyingWrapFunction("copyTexImage2D", WebGLTextureResource.pr
ototype.pushCall_copyTexImage2D); |
| 2947 stateModifyingWrapFunction("copyTexSubImage2D", WebGLTextureResource
.prototype.pushCall_copyTexImage2D); | 2944 stateModifyingWrapFunction("copyTexSubImage2D", WebGLTextureResource
.prototype.pushCall_copyTexImage2D); |
| 2948 stateModifyingWrapFunction("generateMipmap"); | 2945 stateModifyingWrapFunction("generateMipmap"); |
| 2949 stateModifyingWrapFunction("texImage2D"); | 2946 stateModifyingWrapFunction("texImage2D"); |
| 2950 stateModifyingWrapFunction("texSubImage2D"); | 2947 stateModifyingWrapFunction("texSubImage2D"); |
| 2951 stateModifyingWrapFunction("texParameterf", WebGLTextureResource.pro
totype.pushCall_texParameter); | 2948 stateModifyingWrapFunction("texParameterf", WebGLTextureResource.pro
totype.pushCall_texParameter); |
| 2952 stateModifyingWrapFunction("texParameteri", WebGLTextureResource.pro
totype.pushCall_texParameter); | 2949 stateModifyingWrapFunction("texParameteri", WebGLTextureResource.pro
totype.pushCall_texParameter); |
| 2953 stateModifyingWrapFunction("renderbufferStorage"); | 2950 stateModifyingWrapFunction("renderbufferStorage"); |
| 2954 | 2951 |
| 2955 /** @this Resource.WrapFunction */ | 2952 /** @this {Resource.WrapFunction} */ |
| 2956 wrapFunctions["getError"] = function() | 2953 wrapFunctions["getError"] = function() |
| 2957 { | 2954 { |
| 2958 var gl = /** @type {WebGLRenderingContext} */ (this._originalObj
ect); | 2955 var gl = /** @type {WebGLRenderingContext} */ (this._originalObj
ect); |
| 2959 var error = this.result(); | 2956 var error = this.result(); |
| 2960 if (error !== gl.NO_ERROR) | 2957 if (error !== gl.NO_ERROR) |
| 2961 this._resource.clearError(error); | 2958 this._resource.clearError(error); |
| 2962 else { | 2959 else { |
| 2963 error = this._resource.nextError(); | 2960 error = this._resource.nextError(); |
| 2964 if (error !== gl.NO_ERROR) | 2961 if (error !== gl.NO_ERROR) |
| 2965 this.overrideResult(error); | 2962 this.overrideResult(error); |
| 2966 } | 2963 } |
| 2967 } | 2964 } |
| 2968 | 2965 |
| 2969 /** | 2966 /** |
| 2970 * @param {string} name | 2967 * @param {string} name |
| 2971 * @this Resource.WrapFunction | 2968 * @this {Resource.WrapFunction} |
| 2972 */ | 2969 */ |
| 2973 wrapFunctions["getExtension"] = function(name) | 2970 wrapFunctions["getExtension"] = function(name) |
| 2974 { | 2971 { |
| 2975 this._resource.registerWebGLExtension(name, this.result()); | 2972 this._resource.registerWebGLExtension(name, this.result()); |
| 2976 } | 2973 } |
| 2977 | 2974 |
| 2978 // | 2975 // |
| 2979 // Register bound WebGL resources. | 2976 // Register bound WebGL resources. |
| 2980 // | 2977 // |
| 2981 | 2978 |
| 2982 /** | 2979 /** |
| 2983 * @param {WebGLProgram} program | 2980 * @param {WebGLProgram} program |
| 2984 * @param {WebGLShader} shader | 2981 * @param {WebGLShader} shader |
| 2985 * @this Resource.WrapFunction | 2982 * @this {Resource.WrapFunction} |
| 2986 */ | 2983 */ |
| 2987 wrapFunctions["attachShader"] = function(program, shader) | 2984 wrapFunctions["attachShader"] = function(program, shader) |
| 2988 { | 2985 { |
| 2989 var resource = this._resource.currentBinding(program); | 2986 var resource = this._resource.currentBinding(program); |
| 2990 if (resource) { | 2987 if (resource) { |
| 2991 resource.pushCall(this.call()); | 2988 resource.pushCall(this.call()); |
| 2992 var shaderResource = /** @type {WebGLShaderResource} */ (Res
ource.forObject(shader)); | 2989 var shaderResource = /** @type {WebGLShaderResource} */ (Res
ource.forObject(shader)); |
| 2993 if (shaderResource) { | 2990 if (shaderResource) { |
| 2994 var shaderType = shaderResource.type(); | 2991 var shaderType = shaderResource.type(); |
| 2995 resource._registerBoundResource("__attachShader_" + shad
erType, shaderResource); | 2992 resource._registerBoundResource("__attachShader_" + shad
erType, shaderResource); |
| 2996 } | 2993 } |
| 2997 } | 2994 } |
| 2998 } | 2995 } |
| 2999 /** | 2996 /** |
| 3000 * @param {number} target | 2997 * @param {number} target |
| 3001 * @param {number} attachment | 2998 * @param {number} attachment |
| 3002 * @param {number} objectTarget | 2999 * @param {number} objectTarget |
| 3003 * @param {WebGLRenderbuffer|WebGLTexture} obj | 3000 * @param {WebGLRenderbuffer|WebGLTexture} obj |
| 3004 * @this Resource.WrapFunction | 3001 * @this {Resource.WrapFunction} |
| 3005 */ | 3002 */ |
| 3006 wrapFunctions["framebufferRenderbuffer"] = wrapFunctions["framebuffe
rTexture2D"] = function(target, attachment, objectTarget, obj) | 3003 wrapFunctions["framebufferRenderbuffer"] = wrapFunctions["framebuffe
rTexture2D"] = function(target, attachment, objectTarget, obj) |
| 3007 { | 3004 { |
| 3008 var resource = this._resource.currentBinding(target); | 3005 var resource = this._resource.currentBinding(target); |
| 3009 if (resource) { | 3006 if (resource) { |
| 3010 resource.pushCall(this.call()); | 3007 resource.pushCall(this.call()); |
| 3011 resource._registerBoundResource("__framebufferAttachmentObje
ctName", obj); | 3008 resource._registerBoundResource("__framebufferAttachmentObje
ctName", obj); |
| 3012 } | 3009 } |
| 3013 } | 3010 } |
| 3014 /** | 3011 /** |
| 3015 * @param {number} target | 3012 * @param {number} target |
| 3016 * @param {Object} obj | 3013 * @param {Object} obj |
| 3017 * @this Resource.WrapFunction | 3014 * @this {Resource.WrapFunction} |
| 3018 */ | 3015 */ |
| 3019 wrapFunctions["bindBuffer"] = wrapFunctions["bindFramebuffer"] = wra
pFunctions["bindRenderbuffer"] = function(target, obj) | 3016 wrapFunctions["bindBuffer"] = wrapFunctions["bindFramebuffer"] = wra
pFunctions["bindRenderbuffer"] = function(target, obj) |
| 3020 { | 3017 { |
| 3021 this._resource.currentBinding(target); // To call WebGLBoundReso
urce.prototype.pushBinding(). | 3018 this._resource.currentBinding(target); // To call WebGLBoundReso
urce.prototype.pushBinding(). |
| 3022 this._resource._registerBoundResource("__bindBuffer_" + target,
obj); | 3019 this._resource._registerBoundResource("__bindBuffer_" + target,
obj); |
| 3023 } | 3020 } |
| 3024 /** | 3021 /** |
| 3025 * @param {number} target | 3022 * @param {number} target |
| 3026 * @param {WebGLTexture} obj | 3023 * @param {WebGLTexture} obj |
| 3027 * @this Resource.WrapFunction | 3024 * @this {Resource.WrapFunction} |
| 3028 */ | 3025 */ |
| 3029 wrapFunctions["bindTexture"] = function(target, obj) | 3026 wrapFunctions["bindTexture"] = function(target, obj) |
| 3030 { | 3027 { |
| 3031 this._resource.currentBinding(target); // To call WebGLBoundReso
urce.prototype.pushBinding(). | 3028 this._resource.currentBinding(target); // To call WebGLBoundReso
urce.prototype.pushBinding(). |
| 3032 var gl = /** @type {WebGLRenderingContext} */ (this._originalObj
ect); | 3029 var gl = /** @type {WebGLRenderingContext} */ (this._originalObj
ect); |
| 3033 var currentTextureBinding = /** @type {number} */ (gl.getParamet
er(gl.ACTIVE_TEXTURE)); | 3030 var currentTextureBinding = /** @type {number} */ (gl.getParamet
er(gl.ACTIVE_TEXTURE)); |
| 3034 this._resource._registerBoundResource("__bindTexture_" + target
+ "_" + currentTextureBinding, obj); | 3031 this._resource._registerBoundResource("__bindTexture_" + target
+ "_" + currentTextureBinding, obj); |
| 3035 } | 3032 } |
| 3036 /** | 3033 /** |
| 3037 * @param {WebGLProgram} program | 3034 * @param {WebGLProgram} program |
| 3038 * @this Resource.WrapFunction | 3035 * @this {Resource.WrapFunction} |
| 3039 */ | 3036 */ |
| 3040 wrapFunctions["useProgram"] = function(program) | 3037 wrapFunctions["useProgram"] = function(program) |
| 3041 { | 3038 { |
| 3042 this._resource._registerBoundResource("__useProgram", program); | 3039 this._resource._registerBoundResource("__useProgram", program); |
| 3043 } | 3040 } |
| 3044 /** | 3041 /** |
| 3045 * @param {number} index | 3042 * @param {number} index |
| 3046 * @this Resource.WrapFunction | 3043 * @this {Resource.WrapFunction} |
| 3047 */ | 3044 */ |
| 3048 wrapFunctions["vertexAttribPointer"] = function(index) | 3045 wrapFunctions["vertexAttribPointer"] = function(index) |
| 3049 { | 3046 { |
| 3050 var gl = /** @type {WebGLRenderingContext} */ (this._originalObj
ect); | 3047 var gl = /** @type {WebGLRenderingContext} */ (this._originalObj
ect); |
| 3051 this._resource._registerBoundResource("__vertexAttribPointer_" +
index, gl.getParameter(gl.ARRAY_BUFFER_BINDING)); | 3048 this._resource._registerBoundResource("__vertexAttribPointer_" +
index, gl.getParameter(gl.ARRAY_BUFFER_BINDING)); |
| 3052 } | 3049 } |
| 3053 | 3050 |
| 3054 WebGLRenderingContextResource._wrapFunctions = wrapFunctions; | 3051 WebGLRenderingContextResource._wrapFunctions = wrapFunctions; |
| 3055 } | 3052 } |
| 3056 | 3053 |
| 3057 /** | 3054 /** |
| 3058 * @param {string} methodName | 3055 * @param {string} methodName |
| 3059 * @param {function(this:Resource, !Call)=} pushCallFunc | 3056 * @param {function(this:Resource, !Call)=} pushCallFunc |
| 3060 */ | 3057 */ |
| 3061 function stateModifyingWrapFunction(methodName, pushCallFunc) | 3058 function stateModifyingWrapFunction(methodName, pushCallFunc) |
| 3062 { | 3059 { |
| 3063 if (pushCallFunc) { | 3060 if (pushCallFunc) { |
| 3064 /** | 3061 /** |
| 3065 * @param {Object|number} target | 3062 * @param {Object|number} target |
| 3066 * @this Resource.WrapFunction | 3063 * @this {Resource.WrapFunction} |
| 3067 */ | 3064 */ |
| 3068 wrapFunctions[methodName] = function(target) | 3065 wrapFunctions[methodName] = function(target) |
| 3069 { | 3066 { |
| 3070 var resource = this._resource.currentBinding(target); | 3067 var resource = this._resource.currentBinding(target); |
| 3071 if (resource) | 3068 if (resource) |
| 3072 pushCallFunc.call(resource, this.call()); | 3069 pushCallFunc.call(resource, this.call()); |
| 3073 } | 3070 } |
| 3074 } else { | 3071 } else { |
| 3075 /** | 3072 /** |
| 3076 * @param {Object|number} target | 3073 * @param {Object|number} target |
| 3077 * @this Resource.WrapFunction | 3074 * @this {Resource.WrapFunction} |
| 3078 */ | 3075 */ |
| 3079 wrapFunctions[methodName] = function(target) | 3076 wrapFunctions[methodName] = function(target) |
| 3080 { | 3077 { |
| 3081 var resource = this._resource.currentBinding(target); | 3078 var resource = this._resource.currentBinding(target); |
| 3082 if (resource) | 3079 if (resource) |
| 3083 resource.pushCall(this.call()); | 3080 resource.pushCall(this.call()); |
| 3084 } | 3081 } |
| 3085 } | 3082 } |
| 3086 } | 3083 } |
| 3087 | 3084 |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3490 CanvasRenderingContext2DResource._wrapFunctions = wrapFunctions; | 3487 CanvasRenderingContext2DResource._wrapFunctions = wrapFunctions; |
| 3491 } | 3488 } |
| 3492 | 3489 |
| 3493 /** | 3490 /** |
| 3494 * @param {string} methodName | 3491 * @param {string} methodName |
| 3495 * @param {function(this:Resource, !Call)=} func | 3492 * @param {function(this:Resource, !Call)=} func |
| 3496 */ | 3493 */ |
| 3497 function stateModifyingWrapFunction(methodName, func) | 3494 function stateModifyingWrapFunction(methodName, func) |
| 3498 { | 3495 { |
| 3499 if (func) { | 3496 if (func) { |
| 3500 /** @this Resource.WrapFunction */ | 3497 /** @this {Resource.WrapFunction} */ |
| 3501 wrapFunctions[methodName] = function() | 3498 wrapFunctions[methodName] = function() |
| 3502 { | 3499 { |
| 3503 func.call(this._resource, this.call()); | 3500 func.call(this._resource, this.call()); |
| 3504 } | 3501 } |
| 3505 } else { | 3502 } else { |
| 3506 /** @this Resource.WrapFunction */ | 3503 /** @this {Resource.WrapFunction} */ |
| 3507 wrapFunctions[methodName] = function() | 3504 wrapFunctions[methodName] = function() |
| 3508 { | 3505 { |
| 3509 this._resource.pushCall(this.call()); | 3506 this._resource.pushCall(this.call()); |
| 3510 } | 3507 } |
| 3511 } | 3508 } |
| 3512 } | 3509 } |
| 3513 | 3510 |
| 3514 return wrapFunctions; | 3511 return wrapFunctions; |
| 3515 }, | 3512 }, |
| 3516 | 3513 |
| (...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4157 }; | 4154 }; |
| 4158 }, | 4155 }, |
| 4159 | 4156 |
| 4160 /** | 4157 /** |
| 4161 * @param {number} stepNum | 4158 * @param {number} stepNum |
| 4162 */ | 4159 */ |
| 4163 _replayCallArguments: function(stepNum) | 4160 _replayCallArguments: function(stepNum) |
| 4164 { | 4161 { |
| 4165 /** | 4162 /** |
| 4166 * @param {*} obj | 4163 * @param {*} obj |
| 4164 * @this {TraceLogPlayer} |
| 4167 */ | 4165 */ |
| 4168 function replayIfNotCreatedInThisTraceLog(obj) | 4166 function replayIfNotCreatedInThisTraceLog(obj) |
| 4169 { | 4167 { |
| 4170 if (!(obj instanceof ReplayableResource)) | 4168 if (!(obj instanceof ReplayableResource)) |
| 4171 return; | 4169 return; |
| 4172 var replayableResource = /** @type {!ReplayableResource} */ (obj); | 4170 var replayableResource = /** @type {!ReplayableResource} */ (obj); |
| 4173 if (!this._traceLog.createdInThisTraceLog(replayableResource.id())) | 4171 if (!this._traceLog.createdInThisTraceLog(replayableResource.id())) |
| 4174 replayableResource.replay(this._replayWorldCache) | 4172 replayableResource.replay(this._replayWorldCache) |
| 4175 } | 4173 } |
| 4176 var replayableCalls = this._traceLog.replayableCalls(); | 4174 var replayableCalls = this._traceLog.replayableCalls(); |
| (...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4577 _parseStringId: function(stringId) | 4575 _parseStringId: function(stringId) |
| 4578 { | 4576 { |
| 4579 return InjectedScriptHost.evaluate("(" + stringId + ")"); | 4577 return InjectedScriptHost.evaluate("(" + stringId + ")"); |
| 4580 } | 4578 } |
| 4581 } | 4579 } |
| 4582 | 4580 |
| 4583 var injectedCanvasModule = new InjectedCanvasModule(); | 4581 var injectedCanvasModule = new InjectedCanvasModule(); |
| 4584 return injectedCanvasModule; | 4582 return injectedCanvasModule; |
| 4585 | 4583 |
| 4586 }) | 4584 }) |
| OLD | NEW |