| Index: third_party/document_image_extractor/third_party/closure-library/closure/goog/debug/errorhandler.js
|
| diff --git a/third_party/document_image_extractor/third_party/closure-library/closure/goog/debug/errorhandler.js b/third_party/document_image_extractor/third_party/closure-library/closure/goog/debug/errorhandler.js
|
| deleted file mode 100644
|
| index 3d8b0042686fc356081bfa2ad7e4497747902d62..0000000000000000000000000000000000000000
|
| --- a/third_party/document_image_extractor/third_party/closure-library/closure/goog/debug/errorhandler.js
|
| +++ /dev/null
|
| @@ -1,367 +0,0 @@
|
| -// Copyright 2007 The Closure Library Authors. All Rights Reserved.
|
| -//
|
| -// Licensed under the Apache License, Version 2.0 (the "License");
|
| -// you may not use this file except in compliance with the License.
|
| -// You may obtain a copy of the License at
|
| -//
|
| -// http://www.apache.org/licenses/LICENSE-2.0
|
| -//
|
| -// Unless required by applicable law or agreed to in writing, software
|
| -// distributed under the License is distributed on an "AS-IS" BASIS,
|
| -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -// See the License for the specific language governing permissions and
|
| -// limitations under the License.
|
| -
|
| -/**
|
| - * @fileoverview Error handling utilities.
|
| - *
|
| - */
|
| -
|
| -goog.provide('goog.debug.ErrorHandler');
|
| -goog.provide('goog.debug.ErrorHandler.ProtectedFunctionError');
|
| -
|
| -goog.require('goog.Disposable');
|
| -goog.require('goog.asserts');
|
| -goog.require('goog.debug');
|
| -goog.require('goog.debug.EntryPointMonitor');
|
| -goog.require('goog.debug.Error');
|
| -goog.require('goog.debug.Trace');
|
| -
|
| -
|
| -
|
| -/**
|
| - * The ErrorHandler can be used to to wrap functions with a try/catch
|
| - * statement. If an exception is thrown, the given error handler function will
|
| - * be called.
|
| - *
|
| - * When this object is disposed, it will stop handling exceptions and tracing.
|
| - * It will also try to restore window.setTimeout and window.setInterval
|
| - * if it wrapped them. Notice that in the general case, it is not technically
|
| - * possible to remove the wrapper, because functions have no knowledge of
|
| - * what they have been assigned to. So the app is responsible for other
|
| - * forms of unwrapping.
|
| - *
|
| - * @param {Function} handler Handler for exceptions.
|
| - * @constructor
|
| - * @extends {goog.Disposable}
|
| - * @implements {goog.debug.EntryPointMonitor}
|
| - */
|
| -goog.debug.ErrorHandler = function(handler) {
|
| - goog.debug.ErrorHandler.base(this, 'constructor');
|
| -
|
| - /**
|
| - * Handler for exceptions, which can do logging, reporting, etc.
|
| - * @type {Function}
|
| - * @private
|
| - */
|
| - this.errorHandlerFn_ = handler;
|
| -
|
| - /**
|
| - * Whether errors should be wrapped in
|
| - * goog.debug.ErrorHandler.ProtectedFunctionError before rethrowing.
|
| - * @type {boolean}
|
| - * @private
|
| - */
|
| - this.wrapErrors_ = true; // TODO(user) Change default.
|
| -
|
| - /**
|
| - * Whether to add a prefix to all error messages. The prefix is
|
| - * goog.debug.ErrorHandler.ProtectedFunctionError.MESSAGE_PREFIX. This option
|
| - * only has an effect if this.wrapErrors_ is set to false.
|
| - * @type {boolean}
|
| - * @private
|
| - */
|
| - this.prefixErrorMessages_ = false;
|
| -};
|
| -goog.inherits(goog.debug.ErrorHandler, goog.Disposable);
|
| -
|
| -
|
| -/**
|
| - * Whether to add tracers when instrumenting entry points.
|
| - * @type {boolean}
|
| - * @private
|
| - */
|
| -goog.debug.ErrorHandler.prototype.addTracersToProtectedFunctions_ = false;
|
| -
|
| -
|
| -/**
|
| - * Enable tracers when instrumenting entry points.
|
| - * @param {boolean} newVal See above.
|
| - */
|
| -goog.debug.ErrorHandler.prototype.setAddTracersToProtectedFunctions =
|
| - function(newVal) {
|
| - this.addTracersToProtectedFunctions_ = newVal;
|
| -};
|
| -
|
| -
|
| -/** @override */
|
| -goog.debug.ErrorHandler.prototype.wrap = function(fn) {
|
| - return this.protectEntryPoint(goog.asserts.assertFunction(fn));
|
| -};
|
| -
|
| -
|
| -/** @override */
|
| -goog.debug.ErrorHandler.prototype.unwrap = function(fn) {
|
| - goog.asserts.assertFunction(fn);
|
| - return fn[this.getFunctionIndex_(false)] || fn;
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Private helper function to return a span that can be clicked on to display
|
| - * an alert with the current stack trace. Newlines are replaced with a
|
| - * placeholder so that they will not be html-escaped.
|
| - * @param {string} stackTrace The stack trace to create a span for.
|
| - * @return {string} A span which can be clicked on to show the stack trace.
|
| - * @private
|
| - */
|
| -goog.debug.ErrorHandler.prototype.getStackTraceHolder_ = function(stackTrace) {
|
| - var buffer = [];
|
| - buffer.push('##PE_STACK_START##');
|
| - buffer.push(stackTrace.replace(/(\r\n|\r|\n)/g, '##STACK_BR##'));
|
| - buffer.push('##PE_STACK_END##');
|
| - return buffer.join('');
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Get the index for a function. Used for internal indexing.
|
| - * @param {boolean} wrapper True for the wrapper; false for the wrapped.
|
| - * @return {string} The index where we should store the function in its
|
| - * wrapper/wrapped function.
|
| - * @private
|
| - */
|
| -goog.debug.ErrorHandler.prototype.getFunctionIndex_ = function(wrapper) {
|
| - return (wrapper ? '__wrapper_' : '__protected_') + goog.getUid(this) + '__';
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Installs exception protection for an entry point function. When an exception
|
| - * is thrown from a protected function, a handler will be invoked to handle it.
|
| - *
|
| - * @param {Function} fn An entry point function to be protected.
|
| - * @return {!Function} A protected wrapper function that calls the entry point
|
| - * function.
|
| - */
|
| -goog.debug.ErrorHandler.prototype.protectEntryPoint = function(fn) {
|
| - var protectedFnName = this.getFunctionIndex_(true);
|
| - if (!fn[protectedFnName]) {
|
| - var wrapper = fn[protectedFnName] = this.getProtectedFunction(fn);
|
| - wrapper[this.getFunctionIndex_(false)] = fn;
|
| - }
|
| - return fn[protectedFnName];
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Helps {@link #protectEntryPoint} by actually creating the protected
|
| - * wrapper function, after {@link #protectEntryPoint} determines that one does
|
| - * not already exist for the given function. Can be overriden by subclasses
|
| - * that may want to implement different error handling, or add additional
|
| - * entry point hooks.
|
| - * @param {!Function} fn An entry point function to be protected.
|
| - * @return {!Function} protected wrapper function.
|
| - * @protected
|
| - */
|
| -goog.debug.ErrorHandler.prototype.getProtectedFunction = function(fn) {
|
| - var that = this;
|
| - var tracers = this.addTracersToProtectedFunctions_;
|
| - if (tracers) {
|
| - var stackTrace = goog.debug.getStacktraceSimple(15);
|
| - }
|
| - var googDebugErrorHandlerProtectedFunction = function() {
|
| - if (that.isDisposed()) {
|
| - return fn.apply(this, arguments);
|
| - }
|
| -
|
| - if (tracers) {
|
| - var tracer = goog.debug.Trace.startTracer('protectedEntryPoint: ' +
|
| - that.getStackTraceHolder_(stackTrace));
|
| - }
|
| - try {
|
| - return fn.apply(this, arguments);
|
| - } catch (e) {
|
| - that.errorHandlerFn_(e);
|
| - if (!that.wrapErrors_) {
|
| - // Add the prefix to the existing message.
|
| - if (that.prefixErrorMessages_) {
|
| - if (typeof e === 'object') {
|
| - e.message =
|
| - goog.debug.ErrorHandler.ProtectedFunctionError.MESSAGE_PREFIX +
|
| - e.message;
|
| - } else {
|
| - e = goog.debug.ErrorHandler.ProtectedFunctionError.MESSAGE_PREFIX +
|
| - e;
|
| - }
|
| - }
|
| - if (goog.DEBUG) {
|
| - // Work around for https://code.google.com/p/v8/issues/detail?id=2625
|
| - // and https://code.google.com/p/chromium/issues/detail?id=237059
|
| - // Custom errors and errors with custom stack traces show the wrong
|
| - // stack trace
|
| - // If it has a stack and Error.captureStackTrace is supported (only
|
| - // supported in V8 as of May 2013) log the stack to the console.
|
| - if (e && e.stack && Error.captureStackTrace &&
|
| - goog.global['console']) {
|
| - goog.global['console']['error'](e.message, e.stack);
|
| - }
|
| - }
|
| - // Re-throw original error. This is great for debugging as it makes
|
| - // browser JS dev consoles show the correct error and stack trace.
|
| - throw e;
|
| - }
|
| - // Re-throw it since this may be expected by the caller.
|
| - throw new goog.debug.ErrorHandler.ProtectedFunctionError(e);
|
| - } finally {
|
| - if (tracers) {
|
| - goog.debug.Trace.stopTracer(tracer);
|
| - }
|
| - }
|
| - };
|
| - googDebugErrorHandlerProtectedFunction[this.getFunctionIndex_(false)] = fn;
|
| - return googDebugErrorHandlerProtectedFunction;
|
| -};
|
| -
|
| -
|
| -// TODO(mknichel): Allow these functions to take in the window to protect.
|
| -/**
|
| - * Installs exception protection for window.setTimeout to handle exceptions.
|
| - */
|
| -goog.debug.ErrorHandler.prototype.protectWindowSetTimeout =
|
| - function() {
|
| - this.protectWindowFunctionsHelper_('setTimeout');
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Install exception protection for window.setInterval to handle exceptions.
|
| - */
|
| -goog.debug.ErrorHandler.prototype.protectWindowSetInterval =
|
| - function() {
|
| - this.protectWindowFunctionsHelper_('setInterval');
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Install exception protection for window.requestAnimationFrame to handle
|
| - * exceptions.
|
| - */
|
| -goog.debug.ErrorHandler.prototype.protectWindowRequestAnimationFrame =
|
| - function() {
|
| - var win = goog.getObjectByName('window');
|
| - var fnNames = [
|
| - 'requestAnimationFrame',
|
| - 'mozRequestAnimationFrame',
|
| - 'webkitAnimationFrame',
|
| - 'msRequestAnimationFrame'
|
| - ];
|
| - for (var i = 0; i < fnNames.length; i++) {
|
| - var fnName = fnNames[i];
|
| - if (fnNames[i] in win) {
|
| - this.protectWindowFunctionsHelper_(fnName);
|
| - }
|
| - }
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Helper function for protecting a function that causes a function to be
|
| - * asynchronously called, for example setTimeout or requestAnimationFrame.
|
| - * @param {string} fnName The name of the function to protect.
|
| - * @private
|
| - */
|
| -goog.debug.ErrorHandler.prototype.protectWindowFunctionsHelper_ =
|
| - function(fnName) {
|
| - var win = goog.getObjectByName('window');
|
| - var originalFn = win[fnName];
|
| - var that = this;
|
| - win[fnName] = function(fn, time) {
|
| - // Don't try to protect strings. In theory, we could try to globalEval
|
| - // the string, but this seems to lead to permission errors on IE6.
|
| - if (goog.isString(fn)) {
|
| - fn = goog.partial(goog.globalEval, fn);
|
| - }
|
| - fn = that.protectEntryPoint(fn);
|
| -
|
| - // IE doesn't support .call for setInterval/setTimeout, but it
|
| - // also doesn't care what "this" is, so we can just call the
|
| - // original function directly
|
| - if (originalFn.call) {
|
| - return originalFn.call(this, fn, time);
|
| - } else {
|
| - return originalFn(fn, time);
|
| - }
|
| - };
|
| - win[fnName][this.getFunctionIndex_(false)] = originalFn;
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Set whether to wrap errors that occur in protected functions in a
|
| - * goog.debug.ErrorHandler.ProtectedFunctionError.
|
| - * @param {boolean} wrapErrors Whether to wrap errors.
|
| - */
|
| -goog.debug.ErrorHandler.prototype.setWrapErrors = function(wrapErrors) {
|
| - this.wrapErrors_ = wrapErrors;
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Set whether to add a prefix to all error messages that occur in protected
|
| - * functions.
|
| - * @param {boolean} prefixErrorMessages Whether to add a prefix to error
|
| - * messages.
|
| - */
|
| -goog.debug.ErrorHandler.prototype.setPrefixErrorMessages =
|
| - function(prefixErrorMessages) {
|
| - this.prefixErrorMessages_ = prefixErrorMessages;
|
| -};
|
| -
|
| -
|
| -/** @override */
|
| -goog.debug.ErrorHandler.prototype.disposeInternal = function() {
|
| - // Try to unwrap window.setTimeout and window.setInterval.
|
| - var win = goog.getObjectByName('window');
|
| - win.setTimeout = this.unwrap(win.setTimeout);
|
| - win.setInterval = this.unwrap(win.setInterval);
|
| -
|
| - goog.debug.ErrorHandler.base(this, 'disposeInternal');
|
| -};
|
| -
|
| -
|
| -
|
| -/**
|
| - * Error thrown to the caller of a protected entry point if the entry point
|
| - * throws an error.
|
| - * @param {*} cause The error thrown by the entry point.
|
| - * @constructor
|
| - * @extends {goog.debug.Error}
|
| - * @final
|
| - */
|
| -goog.debug.ErrorHandler.ProtectedFunctionError = function(cause) {
|
| - var message = goog.debug.ErrorHandler.ProtectedFunctionError.MESSAGE_PREFIX +
|
| - (cause && cause.message ? String(cause.message) : String(cause));
|
| - goog.debug.ErrorHandler.ProtectedFunctionError.base(
|
| - this, 'constructor', message);
|
| -
|
| - /**
|
| - * The error thrown by the entry point.
|
| - * @type {*}
|
| - */
|
| - this.cause = cause;
|
| -
|
| - var stack = cause && cause.stack;
|
| - if (stack && goog.isString(stack)) {
|
| - this.stack = /** @type {string} */ (stack);
|
| - }
|
| -};
|
| -goog.inherits(goog.debug.ErrorHandler.ProtectedFunctionError, goog.debug.Error);
|
| -
|
| -
|
| -/**
|
| - * Text to prefix the message with.
|
| - * @type {string}
|
| - */
|
| -goog.debug.ErrorHandler.ProtectedFunctionError.MESSAGE_PREFIX =
|
| - 'Error in protected function: ';
|
|
|