blob: f502a8922ea1ef0fc785f41579f605782be69b0e [file] [log] [blame]
// 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 EXTENSIONS_RENDERER_STRING_SOURCE_MAP_H_
#define EXTENSIONS_RENDERER_STRING_SOURCE_MAP_H_
#include <map>
#include <string>
#include "base/macros.h"
#include "extensions/renderer/source_map.h"
namespace extensions {
// A testing implementation of the source map that takes strings for source
// contents.
class StringSourceMap : public SourceMap {
public:
StringSourceMap();
~StringSourceMap() override;
// Adds a new string to be used in the source map.
void RegisterModule(const std::string& name,
const std::string& source,
bool gzipped = false);
// SourceMap:
v8::Local<v8::String> GetSource(v8::Isolate* isolate,
const std::string& name) const override;
bool Contains(const std::string& name) const override;
private:
std::map<std::string, std::string> sources_;
DISALLOW_COPY_AND_ASSIGN(StringSourceMap);
};
} // namespace extensions
#endif // EXTENSIONS_RENDERER_STRING_SOURCE_MAP_H_