1 // Copyright 2014 Samsung Electronics. 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.
5 #ifndef ewk_notification_private_h
6 #define ewk_notification_private_h
11 #include "base/callback.h"
12 #include "base/macros.h"
13 #include "private/ewk_security_origin_private.h"
14 #include "third_party/skia/include/core/SkBitmap.h"
15 #include "third_party/WebKit/public/platform/modules/permissions/permission_status.mojom.h"
19 struct Ewk_Notification {
21 Ewk_Notification(const std::string& body,
22 const std::string& replaceID,
23 const std::string& title,
26 uint64_t notificationID,
27 const GURL& securityOrigin);
30 const char* GetBody() const;
31 const char* GetReplaceId() const;
32 const char* GetTitle() const;
33 bool IsSilent() const;
34 Evas_Object* GetIcon(Evas* evas) const;
36 const _Ewk_Security_Origin* GetSecurityOrigin() const;
37 bool SaveAsPng(const char* path) const;
42 std::string replaceID_;
45 uint64_t notificationID_;
46 std::unique_ptr<_Ewk_Security_Origin> origin_;
48 DISALLOW_COPY_AND_ASSIGN(Ewk_Notification);
52 struct Ewk_Notification_Permission_Request {
54 Ewk_Notification_Permission_Request(
56 const base::Callback<void(blink::mojom::PermissionStatus)>& callback,
57 const GURL& source_origin);
58 ~Ewk_Notification_Permission_Request();
60 Evas_Object* GetWebviewEvasObject() const;
61 const _Ewk_Security_Origin* GetSecurityOrigin() const;
62 bool IsDecided() const;
63 bool IsSuspended() const;
64 bool SetSuspend(bool suspend) const;
65 bool Reply(bool allow);
68 Evas_Object* webview_;
69 std::unique_ptr<_Ewk_Security_Origin> origin_;
70 base::Callback<void(blink::mojom::PermissionStatus)> callback_;
72 mutable bool suspended_;
74 DISALLOW_COPY_AND_ASSIGN(Ewk_Notification_Permission_Request);
78 #endif // ewk_notification_private_h