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