Changeset 107914 in webkit


Ignore:
Timestamp:
Feb 16, 2012 2:28:39 AM (12 years ago)
Author:
Simon Hausmann
Message:

[Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=73215

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2012-02-16
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit/qt:

Adding a class to access security information data
(e.g. port/scheme/etc),
while allowing it to be handled in QML side.

  • declarative/plugin.cpp:

(WebKitQmlPlugin::registerTypes):

Source/WebKit2:

Introducing a new class to expose security origin information
(port/scheme/etc), useful for inspecting the origin of permission
requests.

  • Target.pri:
  • UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.

(QtWebSecurityOrigin::QtWebSecurityOrigin):
(QtWebSecurityOrigin::~QtWebSecurityOrigin):
(QtWebSecurityOrigin::host):
(QtWebSecurityOrigin::scheme):
(QtWebSecurityOrigin::path):
(QtWebSecurityOrigin::port):
(QtWebSecurityOrigin::setHost):
(QtWebSecurityOrigin::setScheme):
(QtWebSecurityOrigin::setPath):
(QtWebSecurityOrigin::setPort):

  • UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
  • UIProcess/API/qt/qwebpermissionrequest.cpp:

(QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
(QWebPermissionRequest::securityOrigin):

  • UIProcess/API/qt/qwebpermissionrequest_p.h:
  • UIProcess/API/qt/tests/qmltests/qmltests.pro:
Location:
trunk/Source
Files:
3 added
7 edited

Legend:

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

    r107832 r107914  
     12012-02-16  Adenilson Cavalcanti  <cavalcantii@gmail.com>
     2
     3        [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
     4        https://bugs.webkit.org/show_bug.cgi?id=73215
     5
     6        Reviewed by Kenneth Rohde Christiansen.
     7
     8        Adding a class to access security information data
     9        (e.g. port/scheme/etc),
     10        while allowing it to be handled in QML side.
     11
     12        * declarative/plugin.cpp:
     13        (WebKitQmlPlugin::registerTypes):
     14
    1152012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>
    216
  • trunk/Source/WebKit/qt/declarative/plugin.cpp

    r103316 r107914  
    2626#include "qquickwebpage_p.h"
    2727#include "qquickwebview_p.h"
     28#include "qtwebsecurityorigin_p.h"
    2829#include "qwebiconimageprovider_p.h"
    2930#include "qwebnavigationrequest_p.h"
     
    6667        qmlRegisterUncreatableType<QWebPermissionRequest>(uri, 3, 0, "PermissionRequest", QObject::tr("Cannot create separate instance of PermissionRequest"));
    6768        qmlRegisterUncreatableType<QWebNavigationRequest>(uri, 3, 0, "NavigationRequest", QObject::tr("Cannot create separate instance of NavigationRequest"));
     69        qmlRegisterUncreatableType<QtWebSecurityOrigin>(uri, 3, 0, "SecurityOrigin", QObject::tr("Cannot create separate instance of SecurityOrigin"));
     70
    6871#endif
    6972    }
  • trunk/Source/WebKit2/ChangeLog

    r107907 r107914  
     12012-02-16  Adenilson Cavalcanti  <cavalcantii@gmail.com>
     2
     3        [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
     4        https://bugs.webkit.org/show_bug.cgi?id=73215
     5
     6        Reviewed by Kenneth Rohde Christiansen.
     7
     8        Introducing a new class to expose security origin information
     9        (port/scheme/etc), useful for inspecting the origin of permission
     10        requests.
     11
     12        * Target.pri:
     13        * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
     14        (QtWebSecurityOrigin::QtWebSecurityOrigin):
     15        (QtWebSecurityOrigin::~QtWebSecurityOrigin):
     16        (QtWebSecurityOrigin::host):
     17        (QtWebSecurityOrigin::scheme):
     18        (QtWebSecurityOrigin::path):
     19        (QtWebSecurityOrigin::port):
     20        (QtWebSecurityOrigin::setHost):
     21        (QtWebSecurityOrigin::setScheme):
     22        (QtWebSecurityOrigin::setPath):
     23        (QtWebSecurityOrigin::setPort):
     24        * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
     25        * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
     26        * UIProcess/API/qt/qwebpermissionrequest.cpp:
     27        (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
     28        (QWebPermissionRequest::securityOrigin):
     29        * UIProcess/API/qt/qwebpermissionrequest_p.h:
     30        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
     31
    1322012-02-16  Patrick Gansterer  <paroga@webkit.org>
    233
  • trunk/Source/WebKit2/Target.pri

    r107707 r107914  
    174174    UIProcess/API/qt/qwebdownloaditem_p_p.h \
    175175    UIProcess/API/qt/qwebpermissionrequest_p.h \
     176    UIProcess/API/qt/qtwebsecurityorigin_p.h \
    176177    UIProcess/API/qt/qwebnavigationrequest_p.h \
    177178    UIProcess/API/qt/qquickwebpage_p.h \
     
    502503    UIProcess/API/qt/qwebdownloaditem.cpp \
    503504    UIProcess/API/qt/qwebpermissionrequest.cpp \
     505    UIProcess/API/qt/qtwebsecurityorigin.cpp \
    504506    UIProcess/API/qt/qwebnavigationrequest.cpp \
    505507    UIProcess/API/qt/qquickwebpage.cpp \
  • trunk/Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest.cpp

    r101456 r107914  
    3535        , allow(false)
    3636    {
     37        WKRetainPtr<WKStringRef> url = adoptWK(WKSecurityOriginCopyProtocol(origin.get()));
     38        securityInfo.setScheme(WKStringCopyQString(url.get()));
     39
     40        WKRetainPtr<WKStringRef> host = adoptWK(WKSecurityOriginCopyHost(origin.get()));
     41        securityInfo.setHost(WKStringCopyQString(host.get()));
     42
     43        securityInfo.setPort(static_cast<int>(WKSecurityOriginGetPort(origin.get())));
    3744    }
     45
    3846    ~QWebPermissionRequestPrivate()
    3947    {
     
    4351    QWebPermissionRequest::RequestType type;
    4452    WKRetainPtr<WKGeolocationPermissionRequestRef> request;
     53    QtWebSecurityOrigin securityInfo;
    4554    bool allow;
    4655};
     
    8998}
    9099
    91 QString QWebPermissionRequest::scheme() const
     100QtWebSecurityOrigin* QWebPermissionRequest::securityOrigin()
    92101{
    93     WKRetainPtr<WKStringRef> url = adoptWK(WKSecurityOriginCopyProtocol(d->origin.get()));
    94     return WKStringCopyQString(url.get());
     102    return &(d->securityInfo);
    95103}
    96104
    97 QString QWebPermissionRequest::host() const
    98 {
    99     WKRetainPtr<WKStringRef> origin = adoptWK(WKSecurityOriginCopyHost(d->origin.get()));
    100     return WKStringCopyQString(origin.get());
    101 }
    102 
    103 int QWebPermissionRequest::port() const
    104 {
    105     return static_cast<int>(WKSecurityOriginGetPort(d->origin.get()));
    106 }
  • trunk/Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest_p.h

    r101456 r107914  
    2121#define qwebpermissionrequest_p_h
    2222
     23#include "qtwebsecurityorigin_p.h"
    2324#include "qwebkitglobal.h"
    2425
     
    3334    Q_OBJECT
    3435    Q_PROPERTY(bool allow READ allow WRITE setAllow)
    35     Q_PROPERTY(RequestType type READ type)
    36     Q_PROPERTY(QString scheme READ scheme)
    37     Q_PROPERTY(QString host READ host)
    38     Q_PROPERTY(int port READ port)
     36    Q_PROPERTY(RequestType type READ type CONSTANT)
     37    Q_PROPERTY(QtWebSecurityOrigin* origin READ securityOrigin)
    3938    Q_ENUMS(RequestType)
    4039
     
    4948    RequestType type() const;
    5049    bool allow() const;
    51     QString scheme() const;
    52     QString host() const;
    53     int port() const;
    5450
    5551public Q_SLOTS:
    5652    void setAllow(bool);
     53    QtWebSecurityOrigin* securityOrigin();
    5754
    5855private:
  • trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView.pro

    r106658 r107914  
    2828    WebView/tst_properties.qml \
    2929    WebView/tst_titleChanged.qml \
    30     WebView/tst_applicationScheme.qml
     30    WebView/tst_applicationScheme.qml \
     31    WebView/tst_origin.qml
Note: See TracChangeset for help on using the changeset viewer.