Git commit 8766414fe43eb7c2df9af0ac2e4bf78d4e7558dc by Dawit Alemayehu. Committed on 17/03/2012 at 19:23. Pushed by adawit into branch 'KDE/4.8'. Use the javascript policy settings from the new KParts' HtmlSettingsInterfa= ce. Mark the now duplicated enums for removal in KDE 5. REVIEW: 104784 M +6 -41 khtml/khtml_settings.cpp M +24 -19 khtml/khtml_settings.h http://commits.kde.org/kdelibs/8766414fe43eb7c2df9af0ac2e4bf78d4e7558dc diff --git a/khtml/khtml_settings.cpp b/khtml/khtml_settings.cpp index bbe1bb4..b5693b4 100644 --- a/khtml/khtml_settings.cpp +++ b/khtml/khtml_settings.cpp @@ -219,57 +219,22 @@ static KPerDomainSettings &setup_per_domain_policy( = KHTMLSettings::KJavaScriptAdvice KHTMLSettings::strToAdvice(const QString&= _str) { - KJavaScriptAdvice ret =3D KJavaScriptDunno; - - if (_str.isNull()) - ret =3D KJavaScriptDunno; - - if (_str.toLower() =3D=3D QLatin1String("accept")) - ret =3D KJavaScriptAccept; - else if (_str.toLower() =3D=3D QLatin1String("reject")) - ret =3D KJavaScriptReject; - - return ret; + return static_cast(KParts::HtmlSettingsInterface::t= extToJavascriptAdvice(_str)); } = const char* KHTMLSettings::adviceToStr(KJavaScriptAdvice _advice) { - switch( _advice ) { - case KJavaScriptAccept: return I18N_NOOP("Accept"); - case KJavaScriptReject: return I18N_NOOP("Reject"); - default: return 0; - } - return 0; + return KParts::HtmlSettingsInterface::javascriptAdviceToText(static_ca= st(_advice)); } = = void KHTMLSettings::splitDomainAdvice(const QString& configStr, QString &d= omain, KJavaScriptAdvice &javaAdvice, KJava= ScriptAdvice& javaScriptAdvice) { - QString tmp(configStr); - int splitIndex =3D tmp.indexOf(':'); - if ( splitIndex =3D=3D -1) - { - domain =3D configStr.toLower(); - javaAdvice =3D KJavaScriptDunno; - javaScriptAdvice =3D KJavaScriptDunno; - } - else - { - domain =3D tmp.left(splitIndex).toLower(); - QString adviceString =3D tmp.mid( splitIndex+1, tmp.length() ); - int splitIndex2 =3D adviceString.indexOf( ':' ); - if( splitIndex2 =3D=3D -1 ) { - // Java advice only - javaAdvice =3D strToAdvice( adviceString ); - javaScriptAdvice =3D KJavaScriptDunno; - } else { - // Java and JavaScript advice - javaAdvice =3D strToAdvice( adviceString.left( splitIndex2 ) ); - javaScriptAdvice =3D strToAdvice( adviceString.mid( splitIndex= 2+1, - adviceString= .length() ) ); - } - } + KParts::HtmlSettingsInterface::JavaScriptAdvice jAdvice, jsAdvice; + KParts::HtmlSettingsInterface::splitDomainAdvice(configStr, domain, jA= dvice, jsAdvice); + javaAdvice =3D static_cast(jAdvice); + javaScriptAdvice =3D static_cast(jsAdvice); } = void KHTMLSettings::readDomainSettings(const KConfigGroup &config, bool re= set, diff --git a/khtml/khtml_settings.h b/khtml/khtml_settings.h index e678e74..0faec6d 100644 --- a/khtml/khtml_settings.h +++ b/khtml/khtml_settings.h @@ -24,6 +24,7 @@ class KConfig; class KConfigGroup; = #include +#include = #include #include // ### KDE 5: remove @@ -44,7 +45,7 @@ public: /** * This enum specifies whether Java/JavaScript execution is allowed. */ - enum KJavaScriptAdvice { + enum KJavaScriptAdvice { // ### KDE 5: Remove. Use KParts::HtmlSettin= gsInterface::JavaScriptAdvice instead KJavaScriptDunno=3D0, KJavaScriptAccept, KJavaScriptReject @@ -71,43 +72,43 @@ public: /** * This enum specifies the policy for window.open */ - enum KJSWindowOpenPolicy { - KJSWindowOpenAllow=3D0, - KJSWindowOpenAsk, - KJSWindowOpenDeny, - KJSWindowOpenSmart + enum KJSWindowOpenPolicy { // ### KDE 5: Remove. Use KParts::HtmlSetti= ngsInterface::JSWindowOpenPolicy instead. + KJSWindowOpenAllow=3D0, + KJSWindowOpenAsk, + KJSWindowOpenDeny, + KJSWindowOpenSmart }; = /** * This enum specifies the policy for window.status and .defaultStatus */ - enum KJSWindowStatusPolicy { - KJSWindowStatusAllow=3D0, - KJSWindowStatusIgnore + enum KJSWindowStatusPolicy { // ### KDE 5: Remove. Use KParts::HtmlSet= tingsInterface::JSWindowStatusPolicy instead. + KJSWindowStatusAllow=3D0, + KJSWindowStatusIgnore }; = /** * This enum specifies the policy for window.moveBy and .moveTo */ - enum KJSWindowMovePolicy { - KJSWindowMoveAllow=3D0, - KJSWindowMoveIgnore + enum KJSWindowMovePolicy { // ### KDE 5: Remove. Use KParts::HtmlSetti= ngsInterface::JSWindowMovePolicy instead. + KJSWindowMoveAllow=3D0, + KJSWindowMoveIgnore }; = /** * This enum specifies the policy for window.resizeBy and .resizeTo */ - enum KJSWindowResizePolicy { - KJSWindowResizeAllow=3D0, - KJSWindowResizeIgnore + enum KJSWindowResizePolicy { // ### KDE 5: Remove. Use KParts::HtmlSet= tingsInterface::JSWindowStatusPolicy insead. + KJSWindowResizeAllow=3D0, + KJSWindowResizeIgnore }; = /** * This enum specifies the policy for window.focus */ - enum KJSWindowFocusPolicy { - KJSWindowFocusAllow=3D0, - KJSWindowFocusIgnore + enum KJSWindowFocusPolicy { // ### KDE 5: Remove. Use KParts::HtmlSett= ingsInterface::JSWindowStatusPolicy instead. + KJSWindowFocusAllow=3D0, + KJSWindowFocusIgnore }; = /** @@ -211,6 +212,7 @@ public: // Access Keys bool accessKeysEnabled() const; = + // ### KDE 5: Replace KJSWindowOpenPolicy with KParts::HtmlSettingsInt= erface::JSWindowOpenPolicy KJSWindowOpenPolicy windowOpenPolicy( const QString& hostname =3D QStr= ing() ) const; KJSWindowMovePolicy windowMovePolicy( const QString& hostname =3D QStr= ing() ) const; KJSWindowResizePolicy windowResizePolicy( const QString& hostname =3D = QString() ) const; @@ -218,9 +220,12 @@ public: KJSWindowFocusPolicy windowFocusPolicy( const QString& hostname =3D QS= tring() ) const; = // helpers for parsing domain-specific configuration, used in KControl= module as well + // ### KDE 5: Replace KJavaScriptAdvice with KParts::HtmlSettingsInter= face::JavaScriptAdvice. + // ### KDE 5: Remove ? Equivalent functions now exist in KParts::HtmlS= ettingsInterface. static KJavaScriptAdvice strToAdvice(const QString& _str); static void splitDomainAdvice(const QString& configStr, QString &domai= n, - KJavaScriptAdvice &javaAdvice, KJavaScriptAdvice& javaScriptAdvice); + KJavaScriptAdvice &javaAdvice, + KJavaScriptAdvice& javaScriptAdvice); static const char* adviceToStr(KJavaScriptAdvice _advice); = /** reads from @p config's current group, forcing initialization