blob: afde4e2936f86bc00c717f4c7ffac9636fea7b86 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_SOURCE_LOCATION_TYPE_H_
#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_SOURCE_LOCATION_TYPE_H_
namespace blink {
// An enumeration for reporting the source of javascript source code. Only used
// for logging/stats purposes, and shouldn't be used for behavioural differences
// to avoid layer violations.
// TODO(leszeks): This is actually being used for affecting the behaviour of
// inline script caching currently, we should either update this documentation
// or remove that usage.
enum class ScriptSourceLocationType {
// An unknown or unspecified source.
kUnknown,
// An external source file. Always has a corresponding ScriptResource, and
// created by ClassicPendingScript.
kExternalFile,
// Values for source code that is inline inside a script tag. Never have a
// corresponding ScriptResource, and created by ClassicPendingScript.
// Source inline inside a script tag created normally by the parser.
kInline,
// Source inline inside a script tag created by document.write.
kInlineInsideDocumentWrite,
// Source inline inside a script tag created programmatically, rather than
// by the parser.
kInlineInsideGeneratedElement,
// Other values. Never have a ScriptResource and the corresponding
// ScriptSourceCode or source string is created outside of
// ClassicPendingScript.
// A chrome-internal source.
kInternal,
// A javascript url, of the form "javascript:<source>".
kJavascriptUrl,
// Source from a string passed to a scheduled action (e.g. setTimeout).
kEvalForScheduledAction,
// Source from a string evaluated by the inspector.
kInspector
};
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_SOURCE_LOCATION_TYPE_H_