Home | History | Annotate | Download | only in push_messaging
      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