Changeset 127848 in webkit


Ignore:
Timestamp:
Sep 7, 2012 2:59:59 AM (12 years ago)
Author:
gyuyoung.kim@samsung.com
Message:

Unreviewed, rolling out r127839.
http://trac.webkit.org/changeset/127839
https://bugs.webkit.org/show_bug.cgi?id=90603

This patch was landed with wrong implementation and policy.

  • WebCoreSupport/NotificationPresenterClientEfl.cpp:

(WebCore::NotificationPresenterClientEfl::NotificationPresenterClientEfl):
(WebCore::NotificationPresenterClientEfl::requestPermission):
(WebCore::NotificationPresenterClientEfl::checkPermission):
(WebCore::NotificationPresenterClientEfl::cancelRequestsForPermission):

  • WebCoreSupport/NotificationPresenterClientEfl.h:

(NotificationPresenterClientEfl):

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

  • ewk/ewk_view.h:
  • ewk/ewk_view_private.h:
Location:
trunk/Source/WebKit/efl
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/efl/ChangeLog

    r127839 r127848  
     12012-09-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
     2
     3        Unreviewed, rolling out r127839.
     4        http://trac.webkit.org/changeset/127839
     5        https://bugs.webkit.org/show_bug.cgi?id=90603
     6
     7        This patch was landed with wrong implementation and policy.
     8
     9        * WebCoreSupport/NotificationPresenterClientEfl.cpp:
     10        (WebCore::NotificationPresenterClientEfl::NotificationPresenterClientEfl):
     11        (WebCore::NotificationPresenterClientEfl::requestPermission):
     12        (WebCore::NotificationPresenterClientEfl::checkPermission):
     13        (WebCore::NotificationPresenterClientEfl::cancelRequestsForPermission):
     14        * WebCoreSupport/NotificationPresenterClientEfl.h:
     15        (NotificationPresenterClientEfl):
     16        * ewk/ewk_view.cpp:
     17        (_ewk_view_priv_new):
     18        * ewk/ewk_view.h:
     19        * ewk/ewk_view_private.h:
     20
    1212012-09-07  Kihong Kwon  <kihong.kwon@samsung.com>
    222
  • trunk/Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.cpp

    r127839 r127848  
    2121#include "NotificationPresenterClientEfl.h"
    2222
    23 #if ENABLE(NOTIFICATIONS)
     23#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
    2424#include "NotImplemented.h"
    25 #include "Notification.h"
    26 #include "ScriptExecutionContext.h"
    27 #include "SecurityOrigin.h"
    28 #include "ewk_security_origin_private.h"
    29 #include "ewk_view_private.h"
    3025
    3126namespace WebCore {
    3227
    33 NotificationPresenterClientEfl::NotificationPresenterClientEfl(Evas_Object* view)
    34     : m_view(view)
     28NotificationPresenterClientEfl::NotificationPresenterClientEfl()
    3529{
    36     ASSERT(m_view);
    3730}
    3831
     
    6255}
    6356
    64 void NotificationPresenterClientEfl::requestPermission(ScriptExecutionContext* context, PassRefPtr<NotificationPermissionCallback> callback)
     57void NotificationPresenterClientEfl::requestPermission(ScriptExecutionContext* context, PassRefPtr<VoidCallback> callback)
    6558{
    66     Ewk_Security_Origin* origin = ewk_security_origin_new(context->securityOrigin());
    67     m_pendingPermissionRequests.add(origin, callback);
    68     ewk_view_notification_permission_request(m_view, origin);
     59    notImplemented();
    6960}
    7061
    7162NotificationClient::Permission NotificationPresenterClientEfl::checkPermission(ScriptExecutionContext* context)
    7263{
    73     PermissionsMap::iterator it = m_cachedPermissions.find(context->securityOrigin()->toString());
    74     if (it == m_cachedPermissions.end())
    75         return PermissionNotAllowed;
    76     if (it->second)
    77         return PermissionAllowed;
    78 
     64    notImplemented();
    7965    return PermissionDenied;
    8066}
    8167
    82 void NotificationPresenterClientEfl::addToPermissionCache(const String& domain, const bool isPermitted)
     68void NotificationPresenterClientEfl::cancelRequestsForPermission(ScriptExecutionContext* context)
    8369{
    84     PermissionsMap::iterator it = m_cachedPermissions.find(domain);
    85     if (it != m_cachedPermissions.end())
    86         return;
    87     m_cachedPermissions.add(domain, isPermitted);
    88 }
    89 
    90 void NotificationPresenterClientEfl::setPermission(const Ewk_Security_Origin* origin, const bool isPermitted)
    91 {
    92     PermissionRequestMap::iterator it = m_pendingPermissionRequests.find(origin);
    93     if (it == m_pendingPermissionRequests.end())
    94         return;
    95 
    96     it->second->handleEvent(Notification::permissionString(isPermitted ? NotificationClient::PermissionAllowed : NotificationClient::PermissionDenied));
    97     m_pendingPermissionRequests.remove(it);
    98     m_cachedPermissions.add(String::fromUTF8(ewk_security_origin_string_get(origin)), isPermitted);
    99     ewk_security_origin_free(const_cast<Ewk_Security_Origin*>(origin));
     70    notImplemented();
    10071}
    10172
  • trunk/Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.h

    r127839 r127848  
    2121#define NotificationPresenterClientEfl_h
    2222
    23 #if ENABLE(NOTIFICATIONS)
     23#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
     24#include "Notification.h"
    2425#include "NotificationClient.h"
    25 #include "ewk_security_origin.h"
    26 #include <Evas.h>
    27 #include <wtf/HashMap.h>
    28 #include <wtf/text/WTFString.h>
    2926
    3027namespace WebCore {
    3128
    32 class Notification;
     29class NotificationPresenterClientEfl : public NotificationClient {
    3330
    34 class NotificationPresenterClientEfl : public NotificationClient {
    3531public:
    36     explicit NotificationPresenterClientEfl(Evas_Object* view);
     32    NotificationPresenterClientEfl();
    3733    ~NotificationPresenterClientEfl();
    3834
     
    4137    virtual void notificationObjectDestroyed(Notification*);
    4238    virtual void notificationControllerDestroyed();
    43 #if ENABLE(LEGACY_NOTIFICATIONS)
    44     virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<VoidCallback>) { }
    45 #endif
    46     virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<NotificationPermissionCallback>);
     39    virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<VoidCallback>);
    4740    virtual NotificationClient::Permission checkPermission(ScriptExecutionContext*);
    48     virtual void cancelRequestsForPermission(ScriptExecutionContext*) { }
    49 
    50     void addToPermissionCache(const String& domain, bool isPermitted);
    51     void setPermission(const Ewk_Security_Origin*, bool isPermitted);
    52 
    53 private:
    54     Evas_Object* m_view;
    55 
    56     typedef HashMap<const Ewk_Security_Origin*, RefPtr<WebCore::NotificationPermissionCallback> > PermissionRequestMap;
    57     PermissionRequestMap m_pendingPermissionRequests;
    58     typedef HashMap<String, bool> PermissionsMap;
    59     PermissionsMap m_cachedPermissions;
     41    virtual void cancelRequestsForPermission(ScriptExecutionContext*);
    6042};
    6143
  • trunk/Source/WebKit/efl/ewk/ewk_view.cpp

    r127839 r127848  
    108108#if ENABLE(NAVIGATOR_CONTENT_UTILS)
    109109#include "NavigatorContentUtilsClientEfl.h"
    110 #endif
    111 
    112 #if ENABLE(NOTIFICATIONS)
    113 #include "NotificationController.h"
    114 #include "NotificationPresenterClientEfl.h"
    115110#endif
    116111
     
    781776#endif
    782777
    783 #if ENABLE(NOTIFICATIONS)
    784     WebCore::provideNotification(priv->page.get(), new WebCore::NotificationPresenterClientEfl(smartData->self));
    785 #endif
    786 
    787778    priv->pageSettings = priv->page->settings();
    788779
     
    45754566}
    45764567
    4577 Eina_Bool ewk_view_notification_permission_store(Evas_Object* ewkView, const char* domain, Eina_Bool permitted)
    4578 {
    4579 #if ENABLE(NOTIFICATIONS)
    4580     EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
    4581     EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
    4582     static_cast<WebCore::NotificationPresenterClientEfl*>(WebCore::NotificationController::clientFrom(priv->page.get()))->addToPermissionCache(String::fromUTF8(domain), permitted);
    4583     return true;
    4584 #else
    4585     return false;
    4586 #endif
    4587 }
    4588 
    4589 Eina_Bool ewk_view_notification_permissions_set(Evas_Object* ewkView, const Ewk_Security_Origin* origin, Eina_Bool permitted)
    4590 {
    4591 #if ENABLE(NOTIFICATIONS)
    4592     EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
    4593     EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
    4594     static_cast<WebCore::NotificationPresenterClientEfl*>(WebCore::NotificationController::clientFrom(priv->page.get()))->setPermission(origin, permitted);
    4595     return true;
    4596 #else
    4597     return false;
    4598 #endif
    4599 }
    4600 
    4601 #if ENABLE(NOTIFICATIONS)
    4602 void ewk_view_notification_permission_request(Evas_Object* ewkView, const Ewk_Security_Origin* origin)
    4603 {
    4604     evas_object_smart_callback_call(ewkView, "notification,permission,request", const_cast<Ewk_Security_Origin*>(origin));
    4605 }
    4606 #endif
    4607 
    46084568namespace EWKPrivate {
    46094569
  • trunk/Source/WebKit/efl/ewk/ewk_view.h

    r127839 r127848  
    7575 *  - "mixedcontent,run", void: any of the containing frames has loaded and run mixed content.
    7676 *  - "navigate,with,data", Ewk_View_Navigation_Data*: reports that view did navigation and gives the navigation details.
    77  *  - "notification,permission,request", const Ewk_Security_Origin*: request to confirm permission for security origin from user.
    7877 *  - "perform,client,redirect", Ewk_View_Redirection_Data*: reports that view performed a client redirect and gives the redirection details.
    7978 *  - "perform,server,redirect", Ewk_View_Redirection_Data*: reports that view performed a server redirect and gives the redirection details.
     
    27482747EAPI void ewk_view_web_inspector_view_set(Evas_Object *o, Evas_Object *inspector_view);
    27492748
    2750 /**
    2751  * Add permitted or denied list to the permission cache for Web Notifications.
    2752  *
    2753  * If there are stored permission lists for Web Notifications,
    2754  * this function need to be called with permission.
    2755  *
    2756  * @param o view object to set the permission cache list.
    2757  * @param domain string for determine the permission.
    2758  * @param permitted @c EINA_TRUE to permit, @c EINA_FALSE to deny.
    2759  *
    2760  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
    2761  */
    2762 Eina_Bool ewk_view_notification_permission_store(Evas_Object *o, const char *domain, Eina_Bool permitted);
    2763 
    2764 /**
    2765  * Set permitted or denied lists to the permission cache for the Web Notifications.
    2766  *
    2767  * After checking permission, this function have to be called to set permission.
    2768  *
    2769  * @param o view object to set the permission.
    2770  * @param origin security origin object
    2771  * @param permitted @c EINA_TRUE to permit, @c EINA_FALSE to deny.
    2772  *
    2773  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
    2774  */
    2775 EAPI Eina_Bool ewk_view_notification_permissions_set(Evas_Object *o, const Ewk_Security_Origin *origin, Eina_Bool permitted);
    2776 
    27772749#ifdef __cplusplus
    27782750}
  • trunk/Source/WebKit/efl/ewk/ewk_view_private.h

    r127839 r127848  
    157157#endif
    158158
    159 #if ENABLE(NOTIFICATIONS)
    160 void ewk_view_notification_permission_request(Evas_Object* ewkView, const Ewk_Security_Origin* origin);
    161 #endif
    162 
    163159namespace EWKPrivate {
    164160WebCore::Page *corePage(const Evas_Object *ewkView);
Note: See TracChangeset for help on using the changeset viewer.