diff options
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/WebKit/qt/ChangeLog | 22 | ||||
| -rw-r--r-- | Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp | 5 | ||||
| -rw-r--r-- | Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h | 3 | ||||
| -rw-r--r-- | Source/WebKit/qt/WidgetApi/qwebpage.cpp | 1 |
4 files changed, 30 insertions, 1 deletions
diff --git a/Source/WebKit/qt/ChangeLog b/Source/WebKit/qt/ChangeLog index a6ddce81c..e4c145be9 100644 --- a/Source/WebKit/qt/ChangeLog +++ b/Source/WebKit/qt/ChangeLog @@ -1,3 +1,25 @@ +2012-12-06 Pierre Rossi <pierre.rossi@gmail.com> + + [Qt] QWebView uses the mobile style and doesn't follow Qt's style + https://bugs.webkit.org/show_bug.cgi?id=104134 + + Reviewed by Simon Hausmann. + + Another issue introduced by r136235. + Fix the order of initialization of the styleFactory and creation of the + WebCore Page. Since the latter has a RenderTheme member and the creation + of the appropriate RenderTheme type (QStyle-backed) is dependant on having + first initialized the theme factory function, we need to postpone this just + a little bit. + + * WebCoreSupport/QWebPageAdapter.cpp: + (QWebPageAdapter::QWebPageAdapter): + (QWebPageAdapter::initializeWebCorePage): Added. + * WebCoreSupport/QWebPageAdapter.h: + * WidgetApi/qwebpage.cpp: + (QWebPagePrivate::QWebPagePrivate): call initializeWebCorePage only after + having initialized WebKitWidgets related logic (QStyle hooks in this case). + 2012-12-05 Zeno Albisser <zeno@webkit.org> [Qt][Mac] QWebView disappears when the system tries to hide the scrollbars. diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp index cb93cd9f7..5588c11bb 100644 --- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp +++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp @@ -167,10 +167,13 @@ QWebPageAdapter::QWebPageAdapter() , networkManager(0) { WebCore::initializeWebCoreQt(); +} + +void QWebPageAdapter::initializeWebCorePage() +{ #if ENABLE(GEOLOCATION) || ENABLE(DEVICE_ORIENTATION) bool useMock = QWebPageAdapter::drtRun; #endif - Page::PageClients pageClients; pageClients.chromeClient = new ChromeClientQt(this); pageClients.contextMenuClient = new ContextMenuClientQt(); diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h index 87b4ecd14..dbba7f5b2 100644 --- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h +++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h @@ -136,6 +136,9 @@ public: // the QWebPageAdapter and the QWebPagePrivate are intact when // various destruction callbacks from WebCore::Page::~Page() hit us. void deletePage(); + // For similar reasons, we don't want to create the WebCore Page before + // we properly initialized the style factory callbacks. + void initializeWebCorePage(); virtual void show() = 0; virtual void setFocus() = 0; diff --git a/Source/WebKit/qt/WidgetApi/qwebpage.cpp b/Source/WebKit/qt/WidgetApi/qwebpage.cpp index c1176cf66..f9cec3e54 100644 --- a/Source/WebKit/qt/WidgetApi/qwebpage.cpp +++ b/Source/WebKit/qt/WidgetApi/qwebpage.cpp @@ -201,6 +201,7 @@ QWebPagePrivate::QWebPagePrivate(QWebPage *qq) , m_lastDropAction(Qt::IgnoreAction) { WebKit::initializeWebKitWidgets(); + initializeWebCorePage(); memset(actions, 0, sizeof(actions)); #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) |
