Commit ce9548fc62d93f4b82db8e60e1e1d6b5585c69dd

  • avatar
  • Antti Koivisto <antti @esdhcp…7161.research.nokia.com>
  • Fri Jan 22 12:09:40 CET 2010
  • Tree SHA1: 7b47730
  • Parent SHA1: ac6abf4 (Merge branch 'engine-thread' of gitorious.org:~akoivisto/webkit/anttis-webkit into engine-thread)
  • raw diff | raw patch
Update view size asynchronously to avoid main thread locking
  
376376 , inspectorFrontend(0)
377377 , inspector(0)
378378 , inspectorIsInternalOnly(false)
379#if ENABLE(ENGINE_THREAD)
380 , viewportSizeCommitTimer(this, &QWebPagePrivate::viewportSizeCommitTimerFired)
381#endif
379382{
380383 WebCore::InitializeLoggingChannelsIfNecessary();
381384 JSC::initializeThreading();
15121512 return page->inspectorController();
15131513}
15141514
1515#if ENABLE(ENGINE_THREAD)
1516/*! \internal */
1517void QWebPagePrivate::viewportSizeCommitTimerFired(WebCore::Timer<QWebPagePrivate>*)
1518{
1519 if (mainFrame->d->frame && mainFrame->d->frame->view()) {
1520 WebCore::FrameView* view = mainFrame->d->frame->view();
1521 view->setFrameRect(QRect(QPoint(0, 0), viewportSize));
1522 view->forceLayout();
1523 view->adjustViewSize();
1524 }
1525}
1526#endif
15151527
15161528/*!
15171529 \enum QWebPage::FindFlag
21012101{
21022102 d->viewportSize = size;
21032103
2104#if ENABLE(ENGINE_THREAD)
2105 if (!EngineThread::isCurrent()) {
2106 d->viewportSizeCommitTimer.startOneShot(0);
2107 return;
2108 }
2109#endif
21042110 QWebFrame *frame = mainFrame();
21052111 if (frame->d->frame && frame->d->frame->view()) {
21062112 WebCore::FrameView* view = frame->d->frame->view();
  
3333
3434#include "KURL.h"
3535#include "PlatformString.h"
36#include "Timer.h"
3637
3738#include <wtf/RefPtr.h>
3839
127127 static QWebPage::WebAction editorActionForKeyEvent(QKeyEvent* event);
128128#endif
129129 static const char* editorCommandForWebActions(QWebPage::WebAction action);
130
130
131#if ENABLE(ENGINE_THREAD)
132 void viewportSizeCommitTimerFired(WebCore::Timer<QWebPagePrivate>*);
133#endif
134
131135 WebCore::ChromeClientQt *chromeClient;
132136 WebCore::ContextMenuClientQt *contextMenuClient;
133137 WebCore::EditorClientQt *editorClient;
187187 bool inspectorIsInternalOnly; // True if created through the Inspect context menu action
188188
189189 static bool drtRun;
190
191#if ENABLE(ENGINE_THREAD)
192 WebCore::Timer<QWebPagePrivate> viewportSizeCommitTimer;
193#endif
190194};
191195
192196#endif