Changeset 144165 in webkit
- Timestamp:
- Feb 27, 2013 3:40:36 AM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r144130 r144165 1 2013-02-27 Michael Brüning <michael.bruning@digia.com> 2 3 [Qt][WK2] Replace use of WebPreferences with use of WKPrefences C API 4 https://bugs.webkit.org/show_bug.cgi?id=108952 5 6 Reviewed by Simon Hausmann. 7 8 Signed off for WebKit2 by Benjamin Poulain. 9 10 This patch moves the view classes and preferences in the Qt API 11 to use the C API for accessing and manipulating preferences as 12 part of the cleanup and move towards using the C API as base for 13 the Qt WebKit2 API. 14 15 Adds the function WebKit::adoptToQString for convenience when 16 dealing with QString and copied String objects. 17 18 Removes the ScrollAnimatorEnabled options from QWebPreferences. 19 20 * UIProcess/API/cpp/qt/WKStringQt.cpp: 21 (WebKit::adoptToQString): 22 * UIProcess/API/cpp/qt/WKStringQt.h: 23 (WebKit): 24 * UIProcess/API/qt/qquickwebview.cpp: 25 (QQuickWebViewPrivate::initialize): 26 * UIProcess/API/qt/qwebpreferences.cpp: 27 (QWebPreferencesPrivate::testAttribute): 28 (QWebPreferencesPrivate::setAttribute): 29 (QWebPreferencesPrivate::setFontFamily): 30 (QWebPreferencesPrivate::fontFamily): 31 (QWebPreferencesPrivate::setFontSize): 32 (QWebPreferencesPrivate::fontSize): 33 * UIProcess/API/qt/qwebpreferences_p.h: 34 * UIProcess/API/qt/qwebpreferences_p_p.h: 35 1 36 2013-02-26 Anders Carlsson <andersca@apple.com> 2 37 -
trunk/Source/WebKit2/UIProcess/API/cpp/qt/WKStringQt.cpp
r95901 r144165 23 23 24 24 #include "WKAPICast.h" 25 #include "WKRetainPtr.h" 25 26 #include <QString> 26 27 #include <wtf/RefPtr.h> … … 42 43 return QString(reinterpret_cast<const QChar*>(string.characters()), string.length()); 43 44 } 45 46 namespace WebKit { 47 QString adoptToQString(WKStringRef stringRef) 48 { 49 return WKStringCopyQString(adoptWK(stringRef).get()); 50 } 51 } /* namespace WebKit */ -
trunk/Source/WebKit2/UIProcess/API/cpp/qt/WKStringQt.h
r95901 r144165 28 28 WK_EXPORT QString WKStringCopyQString(WKStringRef string); 29 29 30 namespace WebKit { 31 QString adoptToQString(WKStringRef); 32 } /* namespace WebKit */ 33 34 using WebKit::adoptToQString; 30 35 #endif /* WKStringQt_h */ -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
r143077 r144165 66 66 #include <WKOpenPanelResultListener.h> 67 67 #include <WKPageGroup.h> 68 #include <WKPreferences.h> 68 69 #include <WKSerializedScriptValue.h> 69 70 #include <WKString.h> … … 358 359 359 360 // Any page setting should preferrable be set before creating the page. 360 webPageProxy->pageGroup()->preferences()->setAcceleratedCompositingEnabled(true); 361 WKPreferencesRef preferencesRef = WKPageGroupGetPreferences(pageGroup.get()); 362 WKPreferencesSetAcceleratedCompositingEnabled(preferencesRef, true); 363 bool showDebugVisuals = qgetenv("WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS") == "1"; 364 WKPreferencesSetCompositingBordersVisible(preferencesRef, showDebugVisuals); 365 WKPreferencesSetCompositingRepaintCountersVisible(preferencesRef, showDebugVisuals); 366 WKPreferencesSetFrameFlatteningEnabled(preferencesRef, true); 367 WKPreferencesSetWebGLEnabled(preferencesRef, true); 361 368 webPageProxy->pageGroup()->preferences()->setForceCompositingMode(true); 362 bool showDebugVisuals = qgetenv("WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS") == "1";363 webPageProxy->pageGroup()->preferences()->setCompositingBordersVisible(showDebugVisuals);364 webPageProxy->pageGroup()->preferences()->setCompositingRepaintCountersVisible(showDebugVisuals);365 webPageProxy->pageGroup()->preferences()->setFrameFlatteningEnabled(true);366 webPageProxy->pageGroup()->preferences()->setWebGLEnabled(true);367 369 368 370 pageClient.initialize(q_ptr, pageViewPrivate->eventHandler.data(), &undoController); -
trunk/Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp
r132345 r144165 21 21 #include "qwebpreferences_p.h" 22 22 23 #include "WebPageGroup.h"24 #include "WebPageProxy.h"25 23 #include "qquickwebview_p_p.h" 26 24 #include "qwebpreferences_p_p.h" 25 #include <WKPageGroup.h> 26 #include <WKPreferences.h> 27 #include <WKRetainPtr.h> 28 #include <WKStringQt.h> 27 29 28 30 QWebPreferences* QWebPreferencesPrivate::createPreferences(QQuickWebViewPrivate* webViewPrivate) … … 36 38 bool QWebPreferencesPrivate::testAttribute(QWebPreferencesPrivate::WebAttribute attr) const 37 39 { 40 WKPreferencesRef preferencesRef = WKPageGroupGetPreferences(webViewPrivate->pageGroup.get()); 38 41 switch (attr) { 39 42 case AutoLoadImages: 40 return preferences()->loadsImagesAutomatically();43 return WKPreferencesGetLoadsImagesAutomatically(preferencesRef); 41 44 #if ENABLE(FULLSCREEN_API) 42 45 case FullScreenEnabled: 43 return preferences()->fullScreenEnabled();46 return WKPreferencesGetFullScreenEnabled(preferencesRef); 44 47 #endif 45 48 case JavascriptEnabled: 46 return preferences()->javaScriptEnabled();49 return WKPreferencesGetJavaScriptEnabled(preferencesRef); 47 50 case PluginsEnabled: 48 return preferences()->pluginsEnabled();51 return WKPreferencesGetPluginsEnabled(preferencesRef); 49 52 case OfflineWebApplicationCacheEnabled: 50 return preferences()->offlineWebApplicationCacheEnabled();53 return WKPreferencesGetOfflineWebApplicationCacheEnabled(preferencesRef); 51 54 case LocalStorageEnabled: 52 return preferences()->localStorageEnabled();55 return WKPreferencesGetLocalStorageEnabled(preferencesRef); 53 56 case XSSAuditingEnabled: 54 return preferences()->xssAuditorEnabled();57 return WKPreferencesGetXSSAuditorEnabled(preferencesRef); 55 58 case PrivateBrowsingEnabled: 56 return preferences()->privateBrowsingEnabled();59 return WKPreferencesGetPrivateBrowsingEnabled(preferencesRef); 57 60 case DnsPrefetchEnabled: 58 return preferences()->dnsPrefetchingEnabled();61 return WKPreferencesGetDNSPrefetchingEnabled(preferencesRef); 59 62 case FrameFlatteningEnabled: 60 return preferences()->frameFlatteningEnabled();63 return WKPreferencesGetFrameFlatteningEnabled(preferencesRef); 61 64 case DeveloperExtrasEnabled: 62 return preferences()->developerExtrasEnabled();65 return WKPreferencesGetDeveloperExtrasEnabled(preferencesRef); 63 66 #if ENABLE(WEBGL) 64 67 case WebGLEnabled: 65 return preferences()->webGLEnabled();68 return WKPreferencesGetWebGLEnabled(preferencesRef); 66 69 #if ENABLE(CSS_SHADERS) 67 70 case CSSCustomFilterEnabled: 68 return preferences()->cssCustomFilterEnabled();71 return WKPreferencesGetCSSCustomFilterEnabled(preferencesRef); 69 72 #endif 70 73 #endif 71 74 #if ENABLE(WEB_AUDIO) 72 75 case WebAudioEnabled: 73 return preferences()->webAudioEnabled(); 74 #endif 75 #if ENABLE(SMOOTH_SCROLLING) 76 case ScrollAnimatorEnabled: 77 return preferences()->scrollAnimatorEnabled(); 76 return WKPreferencesGetWebAudioEnabled(preferencesRef); 78 77 #endif 79 78 case CaretBrowsingEnabled: 80 return preferences()->caretBrowsingEnabled();79 return WKPreferencesGetCaretBrowsingEnabled(preferencesRef); 81 80 case NotificationsEnabled: 82 return preferences()->notificationsEnabled();81 return WKPreferencesGetNotificationsEnabled(preferencesRef); 83 82 default: 84 83 ASSERT_NOT_REACHED(); … … 89 88 void QWebPreferencesPrivate::setAttribute(QWebPreferencesPrivate::WebAttribute attr, bool enable) 90 89 { 90 WKPreferencesRef preferencesRef = WKPageGroupGetPreferences(webViewPrivate->pageGroup.get()); 91 91 switch (attr) { 92 92 case AutoLoadImages: 93 preferences()->setLoadsImagesAutomatically(enable);93 WKPreferencesSetLoadsImagesAutomatically(preferencesRef, enable); 94 94 break; 95 95 #if ENABLE(FULLSCREEN_API) 96 96 case FullScreenEnabled: 97 preferences()->setFullScreenEnabled(enable);97 WKPreferencesSetFullScreenEnabled(preferencesRef, enable); 98 98 break; 99 99 #endif 100 100 case JavascriptEnabled: 101 preferences()->setJavaScriptEnabled(enable);101 WKPreferencesSetJavaScriptEnabled(preferencesRef, enable); 102 102 break; 103 103 case PluginsEnabled: 104 preferences()->setPluginsEnabled(enable);104 WKPreferencesSetPluginsEnabled(preferencesRef, enable); 105 105 break; 106 106 case OfflineWebApplicationCacheEnabled: 107 preferences()->setOfflineWebApplicationCacheEnabled(enable);107 WKPreferencesSetOfflineWebApplicationCacheEnabled(preferencesRef, enable); 108 108 break; 109 109 case LocalStorageEnabled: 110 preferences()->setLocalStorageEnabled(enable);110 WKPreferencesSetLocalStorageEnabled(preferencesRef, enable); 111 111 break; 112 112 case XSSAuditingEnabled: 113 preferences()->setXSSAuditorEnabled(enable);113 WKPreferencesSetXSSAuditorEnabled(preferencesRef, enable); 114 114 break; 115 115 case PrivateBrowsingEnabled: 116 preferences()->setPrivateBrowsingEnabled(enable);116 WKPreferencesSetPrivateBrowsingEnabled(preferencesRef, enable); 117 117 break; 118 118 case DnsPrefetchEnabled: 119 preferences()->setDNSPrefetchingEnabled(enable);119 WKPreferencesSetDNSPrefetchingEnabled(preferencesRef, enable); 120 120 break; 121 121 case FrameFlatteningEnabled: 122 preferences()->setFrameFlatteningEnabled(enable);122 WKPreferencesSetFrameFlatteningEnabled(preferencesRef, enable); 123 123 case DeveloperExtrasEnabled: 124 preferences()->setDeveloperExtrasEnabled(enable);124 WKPreferencesSetDeveloperExtrasEnabled(preferencesRef, enable); 125 125 break; 126 126 #if ENABLE(WEBGL) 127 127 case WebGLEnabled: 128 preferences()->setWebGLEnabled(enable);128 WKPreferencesSetWebGLEnabled(preferencesRef, enable); 129 129 break; 130 130 #if ENABLE(CSS_SHADERS) 131 131 case CSSCustomFilterEnabled: 132 preferences()->setCSSCustomFilterEnabled(enable);132 WKPreferencesSetCSSCustomFilterEnabled(preferencesRef, enable); 133 133 break; 134 134 #endif … … 136 136 #if ENABLE(WEB_AUDIO) 137 137 case WebAudioEnabled: 138 preferences()->setWebAudioEnabled(enable); 139 break; 140 #endif 141 #if ENABLE(SMOOTH_SCROLLING) 142 case ScrollAnimatorEnabled: 143 preferences()->setScrollAnimatorEnabled(enable); 138 WKPreferencesSetWebAudioEnabled(preferencesRef, enable); 144 139 break; 145 140 #endif 146 141 case CaretBrowsingEnabled: 147 142 // FIXME: Caret browsing doesn't make much sense in touch mode. 148 preferences()->setCaretBrowsingEnabled(enable);143 WKPreferencesSetCaretBrowsingEnabled(preferencesRef, enable); 149 144 break; 150 145 case NotificationsEnabled: 151 preferences()->setNotificationsEnabled(enable);146 WKPreferencesSetNotificationsEnabled(preferencesRef, enable); 152 147 break; 153 148 default: … … 182 177 void QWebPreferencesPrivate::setFontFamily(QWebPreferencesPrivate::FontFamily which, const QString& family) 183 178 { 179 WKPreferencesRef preferencesRef = WKPageGroupGetPreferences(webViewPrivate->pageGroup.get()); 180 WKRetainPtr<WKStringRef> familyRef = adoptWK(WKStringCreateWithQString(family)); 184 181 switch (which) { 185 182 case StandardFont: 186 preferences()->setStandardFontFamily(family);183 WKPreferencesSetStandardFontFamily(preferencesRef, familyRef.get()); 187 184 break; 188 185 case FixedFont: 189 preferences()->setFixedFontFamily(family);186 WKPreferencesSetFixedFontFamily(preferencesRef, familyRef.get()); 190 187 break; 191 188 case SerifFont: 192 preferences()->setSerifFontFamily(family);189 WKPreferencesSetSerifFontFamily(preferencesRef, familyRef.get()); 193 190 break; 194 191 case SansSerifFont: 195 preferences()->setSansSerifFontFamily(family);192 WKPreferencesSetSansSerifFontFamily(preferencesRef, familyRef.get()); 196 193 break; 197 194 case CursiveFont: 198 preferences()->setCursiveFontFamily(family);195 WKPreferencesSetCursiveFontFamily(preferencesRef, familyRef.get()); 199 196 break; 200 197 case FantasyFont: 201 preferences()->setFantasyFontFamily(family);198 WKPreferencesSetFantasyFontFamily(preferencesRef, familyRef.get()); 202 199 break; 203 200 default: … … 208 205 QString QWebPreferencesPrivate::fontFamily(QWebPreferencesPrivate::FontFamily which) const 209 206 { 207 WKPreferencesRef preferencesRef = WKPageGroupGetPreferences(webViewPrivate->pageGroup.get()); 210 208 switch (which) { 211 209 case StandardFont: 212 return preferences()->standardFontFamily();210 return adoptToQString(WKPreferencesCopyStandardFontFamily(preferencesRef)); 213 211 case FixedFont: 214 return preferences()->fixedFontFamily();212 return adoptToQString(WKPreferencesCopyFixedFontFamily(preferencesRef)); 215 213 case SerifFont: 216 return preferences()->serifFontFamily();214 return adoptToQString(WKPreferencesCopySerifFontFamily(preferencesRef)); 217 215 case SansSerifFont: 218 return preferences()->sansSerifFontFamily();216 return adoptToQString(WKPreferencesCopySansSerifFontFamily(preferencesRef)); 219 217 case CursiveFont: 220 return preferences()->cursiveFontFamily();218 return adoptToQString(WKPreferencesCopyCursiveFontFamily(preferencesRef)); 221 219 case FantasyFont: 222 return preferences()->fantasyFontFamily();220 return adoptToQString(WKPreferencesCopyFantasyFontFamily(preferencesRef)); 223 221 default: 224 222 return QString(); … … 227 225 228 226 void QWebPreferencesPrivate::setFontSize(QWebPreferencesPrivate::FontSizeType type, unsigned size) 229 { 227 { 228 WKPreferencesRef preferencesRef = WKPageGroupGetPreferences(webViewPrivate->pageGroup.get()); 230 229 switch (type) { 231 230 case MinimumFontSize: 232 preferences()->setMinimumFontSize(size);231 WKPreferencesSetMinimumFontSize(preferencesRef, static_cast<uint32_t>(size)); 233 232 break; 234 233 case DefaultFontSize: 235 preferences()->setDefaultFontSize(size);234 WKPreferencesSetDefaultFontSize(preferencesRef, static_cast<uint32_t>(size)); 236 235 break; 237 236 case DefaultFixedFontSize: 238 preferences()->setDefaultFixedFontSize(size);237 WKPreferencesSetDefaultFixedFontSize(preferencesRef, static_cast<uint32_t>(size)); 239 238 break; 240 239 default: … … 245 244 unsigned QWebPreferencesPrivate::fontSize(QWebPreferencesPrivate::FontSizeType type) const 246 245 { 246 WKPreferencesRef preferencesRef = WKPageGroupGetPreferences(webViewPrivate->pageGroup.get()); 247 247 switch (type) { 248 248 case MinimumFontSize: 249 return preferences()->minimumFontSize();249 return static_cast<unsigned>(WKPreferencesGetMinimumFontSize(preferencesRef)); 250 250 case DefaultFontSize: 251 return preferences()->defaultFontSize();251 return static_cast<unsigned>(WKPreferencesGetDefaultFontSize(preferencesRef)); 252 252 case DefaultFixedFontSize: 253 return preferences()->defaultFixedFontSize();253 return static_cast<unsigned>(WKPreferencesGetDefaultFixedFontSize(preferencesRef)); 254 254 default: 255 255 ASSERT_NOT_REACHED(); … … 547 547 } 548 548 549 bool QWebPreferences::scrollAnimatorEnabled() const550 {551 #if ENABLE(SMOOTH_SCROLLING)552 return d->testAttribute(QWebPreferencesPrivate::ScrollAnimatorEnabled);553 #else554 return false;555 #endif556 }557 558 void QWebPreferences::setScrollAnimatorEnabled(bool enable)559 {560 #if ENABLE(SMOOTH_SCROLLING)561 d->setAttribute(QWebPreferencesPrivate::ScrollAnimatorEnabled, enable);562 emit scrollAnimatorEnabledChanged();563 #else564 UNUSED_PARAM(enable);565 #endif566 }567 568 549 bool QWebPreferences::caretBrowsingEnabled() const 569 550 { … … 588 569 } 589 570 590 WebKit::WebPreferences* QWebPreferencesPrivate::preferences() const591 {592 return webViewPrivate->webPageProxy->pageGroup()->preferences();593 }594 595 571 QWebPreferencesPrivate* QWebPreferencesPrivate::get(QWebPreferences* preferences) 596 572 { -
trunk/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h
r132345 r144165 46 46 Q_PROPERTY(bool webGLEnabled READ webGLEnabled WRITE setWebGLEnabled NOTIFY webGLEnabledChanged FINAL) 47 47 Q_PROPERTY(bool webAudioEnabled READ webAudioEnabled WRITE setWebAudioEnabled NOTIFY webAudioEnabledChanged FINAL) 48 Q_PROPERTY(bool scrollAnimatorEnabled READ scrollAnimatorEnabled WRITE setScrollAnimatorEnabled NOTIFY scrollAnimatorEnabledChanged FINAL)49 48 Q_PROPERTY(bool caretBrowsingEnabled READ caretBrowsingEnabled WRITE setCaretBrowsingEnabled NOTIFY caretBrowsingEnabledChanged FINAL) 50 49 Q_PROPERTY(bool notificationsEnabled READ notificationsEnabled WRITE setNotificationsEnabled NOTIFY notificationsEnabledChanged FINAL) … … 103 102 void setWebAudioEnabled(bool enable); 104 103 105 bool scrollAnimatorEnabled() const;106 void setScrollAnimatorEnabled(bool enable);107 108 104 bool caretBrowsingEnabled() const; 109 105 void setCaretBrowsingEnabled(bool enable); … … 154 150 void webGLEnabledChanged(); 155 151 void webAudioEnabledChanged(); 156 void scrollAnimatorEnabledChanged();157 152 void caretBrowsingEnabledChanged(); 158 153 void notificationsEnabledChanged(); -
trunk/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h
r132345 r144165 21 21 #define qwebpreferences_p_p_h 22 22 23 #include "WebPreferences.h"24 25 23 class QQuickWebViewPrivate; 26 24 … … 43 41 CSSCustomFilterEnabled, 44 42 WebAudioEnabled, 45 ScrollAnimatorEnabled,46 43 CaretBrowsingEnabled, 47 44 NotificationsEnabled … … 75 72 unsigned fontSize(FontSizeType type) const; 76 73 77 WebKit::WebPreferences* preferences() const;78 79 74 QQuickWebViewPrivate* webViewPrivate; 80 75
Note: See TracChangeset
for help on using the changeset viewer.