# 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/modules/modules.gni")

blink_modules_sources("push_messaging") {
  sources = [
    "push_error.cc",
    "push_error.h",
    "push_event.cc",
    "push_event.h",
    "push_manager.cc",
    "push_manager.h",
    "push_message_data.cc",
    "push_message_data.h",
    "push_messaging_bridge.cc",
    "push_messaging_bridge.h",
    "push_messaging_client.cc",
    "push_messaging_client.h",
    "push_messaging_utils.cc",
    "push_messaging_utils.h",
    "push_provider.cc",
    "push_provider.h",
    "push_subscription.cc",
    "push_subscription.h",
    "push_subscription_callbacks.cc",
    "push_subscription_callbacks.h",
    "push_subscription_change_event.cc",
    "push_subscription_change_event.h",
    "push_subscription_options.cc",
    "push_subscription_options.h",
    "push_type_converter.cc",
    "push_type_converter.h",
    "service_worker_global_scope_push.h",
    "service_worker_registration_push.cc",
    "service_worker_registration_push.h",
  ]
  deps = [
    "//third_party/blink/renderer/modules/manifest",
    "//third_party/blink/renderer/modules/permissions",
  ]
}
