1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "config.h" 6#include "modules/push_messaging/PushController.h" 7 8#include "public/platform/WebPushClient.h" 9#include "wtf/PassOwnPtr.h" 10 11namespace blink { 12 13PushController::PushController(WebPushClient* client) 14 : m_client(client) 15{ 16} 17 18PassOwnPtrWillBeRawPtr<PushController> PushController::create(WebPushClient* client) 19{ 20 return adoptPtrWillBeNoop(new PushController(client)); 21} 22 23WebPushClient* PushController::clientFrom(Page* page) 24{ 25 if (PushController* controller = PushController::from(page)) 26 return controller->client(); 27 return 0; 28} 29 30const char* PushController::supplementName() 31{ 32 return "PushController"; 33} 34 35void providePushControllerTo(Page& page, WebPushClient* client) 36{ 37 PushController::provideTo(page, PushController::supplementName(), PushController::create(client)); 38} 39 40} // namespace blink 41