57 WrtBrowserContainerPrivate::WrtBrowserContainerPrivate(QObject* parent, |
57 WrtBrowserContainerPrivate::WrtBrowserContainerPrivate(QObject* parent, |
58 WrtBrowserContainer* page/*never NULL*/) : m_schemeHandler(new SchemeHandler()) |
58 WrtBrowserContainer* page/*never NULL*/) : m_schemeHandler(new SchemeHandler()) |
59 , m_pageFactory(0) |
59 , m_pageFactory(0) |
60 , m_widget(0) |
60 , m_widget(0) |
61 , m_fileChooser(0) |
61 , m_fileChooser(0) |
|
62 , m_needUpdateThumbnail(false) |
62 { |
63 { |
63 m_page = page; |
64 m_page = page; |
64 |
65 |
65 m_secureController = new WRT::SecureUIController(parent); |
66 m_secureController = new WRT::SecureUIController(parent); |
66 m_loadController = new WRT::LoadController(); |
67 m_loadController = new WRT::LoadController(); |
109 |
110 |
110 settings()->setAttribute(QWebSettings::PluginsEnabled, true); |
111 settings()->setAttribute(QWebSettings::PluginsEnabled, true); |
111 settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, !BEDROCK_PROVISIONING::BedrockProvisioning::createBedrockProvisioning()->value("PopupBlocking").toInt()); |
112 settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, !BEDROCK_PROVISIONING::BedrockProvisioning::createBedrockProvisioning()->value("PopupBlocking").toInt()); |
112 // Download related enable "forwardUnsupportedContent" to redirect unsupported content to download manager |
113 // Download related enable "forwardUnsupportedContent" to redirect unsupported content to download manager |
113 setForwardUnsupportedContent(true); |
114 setForwardUnsupportedContent(true); |
|
115 #ifdef BEDROCK_TILED_BACKING_STORE |
|
116 settings()->setAttribute(QWebSettings::TiledBackingStoreEnabled, true); |
|
117 settings()->setAttribute(QWebSettings::ZoomTextOnly, false); |
|
118 settings()->setAttribute(QWebSettings::FrameFlatteningEnabled, true); |
|
119 |
|
120 //Configure tiling properties |
|
121 //This would set tile size to (256, 256) and add 25ms delay between constructing |
|
122 //individual tiles. The settings would try to cache an area 1.5x width and 1.5x height |
|
123 //of the current viewport (centered to the viewport) with tiles and would drop tiles |
|
124 //after they are outside an area 2x the width and 2.5x the height of the viewport. |
|
125 //Refer https://bugs.webkit.org/show_bug.cgi?id=39874 |
|
126 |
|
127 setProperty("_q_TiledBackingStoreTileSize", QSize(256, 256)); |
|
128 setProperty("_q_TiledBackingStoreTileCreationDelay", 25); |
|
129 setProperty("_q_TiledBackingStoreCoverAreaMultiplier", QSizeF(1.5, 1.5)); |
|
130 setProperty("_q_TiledBackingStoreKeepAreaMultiplier", QSizeF(2., 2.5)); |
|
131 #endif |
114 |
132 |
115 #ifndef NO_NETWORK_ACCESS_MANAGER |
133 #ifndef NO_NETWORK_ACCESS_MANAGER |
116 setNetworkAccessManager(new WebNetworkAccessManager(this,this)); |
134 setNetworkAccessManager(new WebNetworkAccessManager(this,this)); |
117 #endif |
135 #endif |
118 |
136 |
368 } |
386 } |
369 |
387 |
370 return QWebPage::chooseFile(parentFrame, suggestedFile); |
388 return QWebPage::chooseFile(parentFrame, suggestedFile); |
371 } |
389 } |
372 |
390 |
|
391 QString WrtBrowserContainer::userAgentForUrl(const QUrl& url) const |
|
392 { |
|
393 QString uaString = BEDROCK_PROVISIONING::BedrockProvisioning::createBedrockProvisioning()->valueAsString("UserAgentString"); |
|
394 |
|
395 if (uaString.isEmpty()) |
|
396 { |
|
397 QUrl url; |
|
398 return QWebPage::userAgentForUrl(url); |
|
399 } |
|
400 else |
|
401 return uaString; |
|
402 } |
|
403 |
373 WRT::WrtBrowserContainer* WrtBrowserContainer::createWindow( |
404 WRT::WrtBrowserContainer* WrtBrowserContainer::createWindow( |
374 QWebPage::WebWindowType webWindowType) |
405 QWebPage::WebWindowType webWindowType) |
375 { |
406 { |
376 |
407 |
377 /* When WrtPage is created, QWebSettings::JavascriptCanOpenWindows is initialized |
408 /* When WrtPage is created, QWebSettings::JavascriptCanOpenWindows is initialized |