# 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.

import("//third_party/blink/renderer/core/core.gni")

blink_core_sources("streams") {
  sources = [
    "readable_stream.cc",
    "readable_stream.h",
    "readable_stream_default_controller_wrapper.h",
    "readable_stream_operations.cc",
    "readable_stream_operations.h",
    "retain_wrapper_during_construction.cc",
    "retain_wrapper_during_construction.h",
    "transform_stream.cc",
    "transform_stream.h",
    "transform_stream_default_controller.cc",
    "transform_stream_default_controller.h",
    "transform_stream_transformer.h",
    "underlying_source_base.cc",
    "underlying_source_base.h",
    "writable_stream.cc",
    "writable_stream.h",
  ]
}
