blob: 782e48200cdf4077ea1d1645284ee5e2cef58955 [file] [log] [blame]
// Copyright 2015 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 TONIC_DART_LIBRARY_PROVIDER_FILES_H_
#define TONIC_DART_LIBRARY_PROVIDER_FILES_H_
#include "base/files/file_path.h"
#include "tonic/dart_library_provider.h"
namespace tonic {
class DartLibraryProviderFiles : public DartLibraryProvider {
public:
explicit DartLibraryProviderFiles(const base::FilePath& package_root);
~DartLibraryProviderFiles() override;
protected:
// |DartLibraryProvider| implementation:
void GetLibraryAsStream(const std::string& name,
DataPipeConsumerCallback callback) override;
Dart_Handle CanonicalizeURL(Dart_Handle library, Dart_Handle url) override;
private:
std::string CanonicalizePackageURL(std::string url);
base::FilePath package_root_;
DISALLOW_COPY_AND_ASSIGN(DartLibraryProviderFiles);
};
} // namespace tonic
#endif // TONIC_DART_LIBRARY_PROVIDER_FILES_H_