Chromium Code Reviews| Index: third_party/WebKit/Source/core/inspector/v8/SourceMap.h |
| diff --git a/third_party/WebKit/Source/core/inspector/v8/SourceMap.h b/third_party/WebKit/Source/core/inspector/v8/SourceMap.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e7e5ca1dab50bcea4c960b04de9174839d7f5515 |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/core/inspector/v8/SourceMap.h |
| @@ -0,0 +1,55 @@ |
| +// Copyright 2016 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 SourceMap_h |
| +#define SourceMap_h |
| + |
| +#include "core/CoreExport.h" |
| +#include "wtf/Noncopyable.h" |
| +#include "wtf/OwnPtr.h" |
| +#include "wtf/PassOwnPtr.h" |
| +#include "wtf/text/WTFString.h" |
| + |
| +namespace blink { |
| + |
| +class JSONObject; |
| + |
| +class CORE_EXPORT SourceMap { |
| + WTF_MAKE_NONCOPYABLE(SourceMap); |
|
sof
2016/01/16 19:56:32
Perhaps add USING_FAST_MALLOC(SourceMap) and on En
|
| +public: |
| + class CORE_EXPORT Entry { |
| + WTF_MAKE_NONCOPYABLE(Entry); |
| + public: |
| + int line; |
| + int column; |
| + String sourceURL; |
| + int sourceLine; |
| + int sourceColumn; |
| + |
| + Entry(int line, int column, const String& sourceURL = String(), int sourceLine = 0, int sourceColumn = 0); |
|
sof
2016/01/16 19:56:32
nit: the sites constructing Entry objects would lo
|
| + Entry() |
| + : line(0) |
| + , column(0) |
| + , sourceLine(0) |
| + , sourceColumn(0) |
| + { |
| + } |
| + }; |
| + |
| + static PassOwnPtr<SourceMap> parse(const String& json, int offsetLine = 0, int offsetColumn = 0); |
| + |
| + const Entry* findEntry(int line, int column); |
| + |
| +private: |
| + SourceMap() { } |
| + |
| + bool parseSection(PassRefPtr<JSONObject> sectionObject, int offsetLine, int offsetColumn); |
| + bool parseMap(PassRefPtr<JSONObject> mapObject, int offsetLine, int offsetColumn); |
| + |
| + Vector<OwnPtr<Entry>> m_mappings; |
| +}; |
| + |
| +} // namespace blink |
| + |
| +#endif // SourceMap_h |