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 11 namespace WebCore { 12 13 PushController::PushController(blink::WebPushClient* client) 14 : m_client(client) 15 { 16 } 17 18 PassOwnPtrWillBeRawPtr<PushController> PushController::create(blink::WebPushClient* client) 19 { 20 return adoptPtrWillBeNoop(new PushController(client)); 21 } 22 23 blink::WebPushClient* PushController::clientFrom(Page* page) 24 { 25 if (PushController* controller = PushController::from(page)) 26 return controller->client(); 27 return 0; 28 } 29 30 const char* PushController::supplementName() 31 { 32 return "PushController"; 33 } 34 35 void providePushControllerTo(Page& page, blink::WebPushClient* client) 36 { 37 PushController::provideTo(page, PushController::supplementName(), PushController::create(client)); 38 } 39 40 } // namespace WebCore 41