[webkit-changes] [132973] trunk

2012-10-30 Thread allan . jensen
Title: [132973] trunk








Revision 132973
Author allan.jen...@digia.com
Date 2012-10-30 18:43:02 -0700 (Tue, 30 Oct 2012)


Log Message
DOM URL is flaky when workers are used
https://bugs.webkit.org/show_bug.cgi?id=99178

Reviewed by Geoffrey Garen.

Source/WebCore:

Extend JSNoStaticTables to also avoid direct access of static tables in constructor objects.

Test: fast/workers/worker-domurl.html

* bindings/scripts/CodeGeneratorJS.pm:
(constructorHashTableAccessor):
(GenerateConstructorDefinition):

LayoutTests:

Test that the methods of the URL constructor are accesible from both main and worker threads.

* fast/workers/resources/worker-domurl.js: Added.
(log):
(onmessage):
* fast/workers/worker-domurl-expected.txt: Added.
* fast/workers/worker-domurl.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm


Added Paths

trunk/LayoutTests/fast/workers/resources/worker-domurl.js
trunk/LayoutTests/fast/workers/worker-domurl-expected.txt
trunk/LayoutTests/fast/workers/worker-domurl.html




Diff

Modified: trunk/LayoutTests/ChangeLog (132972 => 132973)

--- trunk/LayoutTests/ChangeLog	2012-10-31 01:39:45 UTC (rev 132972)
+++ trunk/LayoutTests/ChangeLog	2012-10-31 01:43:02 UTC (rev 132973)
@@ -1,3 +1,18 @@
+2012-10-30  Allan Sandfeld Jensen  
+
+DOM URL is flaky when workers are used
+https://bugs.webkit.org/show_bug.cgi?id=99178
+
+Reviewed by Geoffrey Garen.
+
+Test that the methods of the URL constructor are accesible from both main and worker threads.
+
+* fast/workers/resources/worker-domurl.js: Added.
+(log):
+(onmessage):
+* fast/workers/worker-domurl-expected.txt: Added.
+* fast/workers/worker-domurl.html: Added.
+
 2012-10-30  Hans Muller  
 
 [CSS Exclusions] Multiple segment polygon layout does not get all segments


Added: trunk/LayoutTests/fast/workers/resources/worker-domurl.js (0 => 132973)

--- trunk/LayoutTests/fast/workers/resources/worker-domurl.js	(rev 0)
+++ trunk/LayoutTests/fast/workers/resources/worker-domurl.js	2012-10-31 01:43:02 UTC (rev 132973)
@@ -0,0 +1,19 @@
+function log(message)
+{
+postMessage(message);
+}
+
+_onmessage_ = function(event)
+{
+if (URL.createObjectURL == undefined)
+log('FAIL: URL.createObjectURL undefined');
+else
+log('PASS: URL.createObjectURL defined');
+
+if (URL.revokeObjectURL == undefined)
+log('FAIL: URL.revokeObjectURL undefined');
+else
+log('PASS: URL.revokeObjectURL defined');
+
+log('DONE');
+}


Added: trunk/LayoutTests/fast/workers/worker-domurl-expected.txt (0 => 132973)

--- trunk/LayoutTests/fast/workers/worker-domurl-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/workers/worker-domurl-expected.txt	2012-10-31 01:43:02 UTC (rev 132973)
@@ -0,0 +1,7 @@
+PASS: window.URL.createObjectURL defined
+PASS: window.URL.revokeObjectURL defined
+PASS: URL.createObjectURL defined
+PASS: URL.revokeObjectURL defined
+PASS: window.URL.createObjectURL defined
+PASS: window.URL.revokeObjectURL defined
+


Added: trunk/LayoutTests/fast/workers/worker-domurl.html (0 => 132973)

--- trunk/LayoutTests/fast/workers/worker-domurl.html	(rev 0)
+++ trunk/LayoutTests/fast/workers/worker-domurl.html	2012-10-31 01:43:02 UTC (rev 132973)
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+function log(message)
+{
+document.getElementById('console').appendChild(document.createTextNode(message + "\n"));
+}
+
+function runTest() {
+var worker = new Worker('resources/worker-domurl.js');
+worker._onmessage_ = function(event) {
+if (event.data == 'DONE') {
+testDOMURL();
+if (window.testRunner)
+testRunner.notifyDone();
+} else
+log(event.data);
+}
+testDOMURL();
+worker.postMessage('');
+}
+
+function testDOMURL() 
+{
+if (window.URL.createObjectURL == undefined)
+log('FAIL: window.URL.createObjectURL undefined');
+else
+log('PASS: window.URL.createObjectURL defined');
+
+if (window.URL.revokeObjectURL == undefined)
+log('FAIL: window.URL.revokeObjectURL undefined');
+else
+log('PASS: window.URL.revokeObjectURL defined');
+}
+
+if (window.testRunner) {
+testRunner.dumpAsText();
+testRunner.waitUntilDone();
+}
+window._onload_ = runTest;
+
+
+


Modified: trunk/Source/WebCore/ChangeLog (132972 => 132973)

--- trunk/Source/WebCore/ChangeLog	2012-10-31 01:39:45 UTC (rev 132972)
+++ trunk/Source/WebCore/ChangeLog	2012-10-31 01:43:02 UTC (rev 132973)
@@ -1,3 +1,18 @@
+2012-10-30  Allan Sandfeld Jensen  
+
+DOM URL is flaky when workers are used
+https://bugs.webkit.org/show_bug.cgi?id=99178
+
+Reviewed by Geoffrey Garen.
+
+Extend JSNoStaticTables to also avoid direct access of static tables in constructor objects.
+
+Te

[webkit-changes] [133007] trunk/Source/WebCore

2012-10-31 Thread allan . jensen
Title: [133007] trunk/Source/WebCore








Revision 133007
Author allan.jen...@digia.com
Date 2012-10-31 03:59:30 -0700 (Wed, 31 Oct 2012)


Log Message
Reset binding test result after r132973
https://bugs.webkit.org/show_bug.cgi?id=99178

Unreviewed gardening.

* bindings/scripts/test/JS/JSFloat64Array.cpp:
(WebCore::getJSFloat64ArrayConstructorTable):
(WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
(WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (133006 => 133007)

--- trunk/Source/WebCore/ChangeLog	2012-10-31 09:59:45 UTC (rev 133006)
+++ trunk/Source/WebCore/ChangeLog	2012-10-31 10:59:30 UTC (rev 133007)
@@ -1,3 +1,15 @@
+2012-10-31  Allan Sandfeld Jensen  
+
+Reset binding test result after r132973
+https://bugs.webkit.org/show_bug.cgi?id=99178
+
+Unreviewed gardening.
+
+* bindings/scripts/test/JS/JSFloat64Array.cpp:
+(WebCore::getJSFloat64ArrayConstructorTable):
+(WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
+(WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
+
 2012-10-31  Mike West  
 
 Script run from an isolated world should bypass a page's CSP.


Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.cpp (133006 => 133007)

--- trunk/Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.cpp	2012-10-31 09:59:45 UTC (rev 133006)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.cpp	2012-10-31 10:59:30 UTC (rev 133007)
@@ -53,8 +53,13 @@
 };
 
 static const HashTable JSFloat64ArrayConstructorTable = { 1, 0, JSFloat64ArrayConstructorTableValues, 0 };
-const ClassInfo JSFloat64ArrayConstructor::s_info = { "Float64ArrayConstructor", &Base::s_info, &JSFloat64ArrayConstructorTable, 0, CREATE_METHOD_TABLE(JSFloat64ArrayConstructor) };
+static const HashTable* getJSFloat64ArrayConstructorTable(ExecState* exec)
+{
+return getHashTableForGlobalData(exec->globalData(), &JSFloat64ArrayConstructorTable);
+}
 
+const ClassInfo JSFloat64ArrayConstructor::s_info = { "Float64ArrayConstructor", &Base::s_info, 0, getJSFloat64ArrayConstructorTable, CREATE_METHOD_TABLE(JSFloat64ArrayConstructor) };
+
 JSFloat64ArrayConstructor::JSFloat64ArrayConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
 : DOMConstructorObject(structure, globalObject)
 {
@@ -70,12 +75,12 @@
 
 bool JSFloat64ArrayConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
 {
-return getStaticValueSlot(exec, &JSFloat64ArrayConstructorTable, jsCast(cell), propertyName, slot);
+return getStaticValueSlot(exec, getJSFloat64ArrayConstructorTable(exec), jsCast(cell), propertyName, slot);
 }
 
 bool JSFloat64ArrayConstructor::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
 {
-return getStaticValueDescriptor(exec, &JSFloat64ArrayConstructorTable, jsCast(object), propertyName, descriptor);
+return getStaticValueDescriptor(exec, getJSFloat64ArrayConstructorTable(exec), jsCast(object), propertyName, descriptor);
 }
 
 EncodedJSValue JSC_HOST_CALL JSFloat64ArrayConstructor::constructJSFloat64Array(ExecState* exec)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [133763] trunk

2012-11-07 Thread allan . jensen
Title: [133763] trunk








Revision 133763
Author allan.jen...@digia.com
Date 2012-11-07 08:12:53 -0800 (Wed, 07 Nov 2012)


Log Message
[Qt] Open link in this window action
https://bugs.webkit.org/show_bug.cgi?id=101226

Reviewed by Simon Hausmann.

Source/WebCore:

Adds the action to the WebCore context-menu controller.

* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):
* platform/ContextMenuItem.h:
* platform/LocalizedStrings.h:
* platform/qt/LocalizedStringsQt.cpp:
(WebCore::contextMenuItemTagOpenLinkInThisWindow):

Source/WebKit/qt:

Adds the action to QtWebKit.

* Api/qwebpage.cpp:
(webActionForContextMenuAction):
(QWebPage::triggerAction):
(QWebPage::action):
* Api/qwebpage.h:

Tools:

Populates the context-menu with the new action when the default action is to open in a new window.

* QtTestBrowser/webview.cpp:
(createContextMenu):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/ContextMenuController.cpp
trunk/Source/WebCore/platform/ContextMenuItem.h
trunk/Source/WebCore/platform/LocalizedStrings.h
trunk/Source/WebCore/platform/qt/LocalizedStringsQt.cpp
trunk/Source/WebKit/qt/Api/qwebpage.cpp
trunk/Source/WebKit/qt/Api/qwebpage.h
trunk/Source/WebKit/qt/ChangeLog
trunk/Tools/ChangeLog
trunk/Tools/QtTestBrowser/webview.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (133762 => 133763)

--- trunk/Source/WebCore/ChangeLog	2012-11-07 16:05:27 UTC (rev 133762)
+++ trunk/Source/WebCore/ChangeLog	2012-11-07 16:12:53 UTC (rev 133763)
@@ -1,3 +1,20 @@
+2012-11-07  Allan Sandfeld Jensen  
+
+[Qt] Open link in this window action
+https://bugs.webkit.org/show_bug.cgi?id=101226
+
+Reviewed by Simon Hausmann.
+
+Adds the action to the WebCore context-menu controller.
+
+* page/ContextMenuController.cpp:
+(WebCore::ContextMenuController::contextMenuItemSelected):
+(WebCore::ContextMenuController::checkOrEnableIfNeeded):
+* platform/ContextMenuItem.h:
+* platform/LocalizedStrings.h:
+* platform/qt/LocalizedStringsQt.cpp:
+(WebCore::contextMenuItemTagOpenLinkInThisWindow):
+
 2012-11-07  Andrey Adaikin  
 
 Web Inspector: [Canvas] closure compiler fixes


Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (133762 => 133763)

--- trunk/Source/WebCore/page/ContextMenuController.cpp	2012-11-07 16:05:27 UTC (rev 133762)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp	2012-11-07 16:12:53 UTC (rev 133763)
@@ -368,6 +368,9 @@
 else
 openNewWindow(m_hitTestResult.absoluteLinkURL(), frame);
 break;
+case ContextMenuItemTagOpenLinkInThisWindow:
+frame->loader()->loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(m_hitTestResult.absoluteLinkURL(), frame->loader()->outgoingReferrer())), false, false, 0, 0, MaybeSendReferrer);
+break;
 case ContextMenuItemTagBold:
 frame->editor()->command("ToggleBold").execute();
 break;
@@ -1297,6 +1300,7 @@
 #endif
 case ContextMenuItemTagNoAction:
 case ContextMenuItemTagOpenLinkInNewWindow:
+case ContextMenuItemTagOpenLinkInThisWindow:
 case ContextMenuItemTagDownloadLinkToDisk:
 case ContextMenuItemTagCopyLinkToClipboard:
 case ContextMenuItemTagOpenImageInNewWindow:


Modified: trunk/Source/WebCore/platform/ContextMenuItem.h (133762 => 133763)

--- trunk/Source/WebCore/platform/ContextMenuItem.h	2012-11-07 16:05:27 UTC (rev 133762)
+++ trunk/Source/WebCore/platform/ContextMenuItem.h	2012-11-07 16:12:53 UTC (rev 133763)
@@ -164,6 +164,7 @@
 ContextMenuItemTagMediaPlayPause,
 ContextMenuItemTagMediaMute,
 ContextMenuItemTagDictationAlternative,
+ContextMenuItemTagOpenLinkInThisWindow,
 ContextMenuItemBaseCustomTag = 5000,
 ContextMenuItemCustomTagNoAction = 5998,
 ContextMenuItemLastCustomTag = 5999,


Modified: trunk/Source/WebCore/platform/LocalizedStrings.h (133762 => 133763)

--- trunk/Source/WebCore/platform/LocalizedStrings.h	2012-11-07 16:05:27 UTC (rev 133762)
+++ trunk/Source/WebCore/platform/LocalizedStrings.h	2012-11-07 16:12:53 UTC (rev 133763)
@@ -49,6 +49,9 @@
 
 #if ENABLE(CONTEXT_MENUS)
 String contextMenuItemTagOpenLinkInNewWindow();
+#if PLATFORM(QT)
+String contextMenuItemTagOpenLinkInThisWindow();
+#endif
 String contextMenuItemTagDownloadLinkToDisk();
 String contextMenuItemTagCopyLinkToClipboard();
 String contextMenuItemTagOpenImageInNewWindow();


Modified: trunk/Source/WebCore/platform/qt/LocalizedStringsQt.cpp (133762 => 133763)

--- trunk/Source/WebCore/platform/qt/LocalizedStringsQt.cpp	2012-11-07 16:05:27 UTC (rev 133762)
+++ trunk/Source/WebCore/platform/qt/LocalizedStringsQt.cpp	2012-11-07 16:12:53 UTC (rev 133763)
@@ -88,6 +88,11 @@
 return QCoreApplication::translate("QWebPage", "Ope

[webkit-changes] [133899] trunk/Source/WebKit/qt

2012-11-08 Thread allan . jensen
Title: [133899] trunk/Source/WebKit/qt








Revision 133899
Author allan.jen...@digia.com
Date 2012-11-08 07:32:38 -0800 (Thu, 08 Nov 2012)


Log Message
[Qt] API test tst_qwebinspector crashes
https://bugs.webkit.org/show_bug.cgi?id=101599

Reviewed by Simon Hausmann.

Delete the internal inspector from QWebPage destructor, instead of causing recursions
between QWebPagePrivate::setInspector and QWebInspector::setPage.

Also separate the three tests in tst_QWebInspector to better tell which one is failing.

* Api/qwebpage.cpp:
(QWebPagePrivate::~QWebPagePrivate):
(QWebPagePrivate::setInspector):
* tests/qwebinspector/tst_qwebinspector.cpp:
(tst_QWebInspector):
(tst_QWebInspector::attachAndDestroyPageFirst):
(tst_QWebInspector::attachAndDestroyInspectorFirst):
(tst_QWebInspector::attachAndDestroyInternalInspector):

Modified Paths

trunk/Source/WebKit/qt/Api/qwebpage.cpp
trunk/Source/WebKit/qt/ChangeLog
trunk/Source/WebKit/qt/tests/qwebinspector/tst_qwebinspector.cpp




Diff

Modified: trunk/Source/WebKit/qt/Api/qwebpage.cpp (133898 => 133899)

--- trunk/Source/WebKit/qt/Api/qwebpage.cpp	2012-11-08 15:25:17 UTC (rev 133898)
+++ trunk/Source/WebKit/qt/Api/qwebpage.cpp	2012-11-08 15:32:38 UTC (rev 133899)
@@ -378,11 +378,6 @@
 
 QWebPagePrivate::~QWebPagePrivate()
 {
-if (inspector && inspectorIsInternalOnly) {
-// Since we have to delete an internal inspector,
-// call setInspector(0) directly to prevent potential crashes
-setInspector(0);
-}
 #ifndef QT_NO_CONTEXTMENU
 delete currentContextMenu.data();
 #endif
@@ -392,8 +387,13 @@
 delete settings;
 delete page;
 
-if (inspector)
-inspector->setPage(0);
+if (inspector) {
+// If the inspector is ours, delete it, otherwise just detach from it.
+if (inspectorIsInternalOnly)
+delete inspector;
+else
+inspector->setPage(0);
+}
 
 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
 NotificationPresenterClientQt::notificationPresenter()->removeClient();
@@ -1466,13 +1466,6 @@
 if (inspector)
 inspector->d->setFrontend(0);
 
-if (inspectorIsInternalOnly) {
-QWebInspector* inspToDelete = inspector;
-inspector = 0;
-inspectorIsInternalOnly = false;
-delete inspToDelete;// Delete after to prevent infinite recursion
-}
-
 inspector = insp;
 
 // Give inspector frontend web view if previously created


Modified: trunk/Source/WebKit/qt/ChangeLog (133898 => 133899)

--- trunk/Source/WebKit/qt/ChangeLog	2012-11-08 15:25:17 UTC (rev 133898)
+++ trunk/Source/WebKit/qt/ChangeLog	2012-11-08 15:32:38 UTC (rev 133899)
@@ -1,5 +1,26 @@
 2012-11-07  Allan Sandfeld Jensen  
 
+[Qt] API test tst_qwebinspector crashes
+https://bugs.webkit.org/show_bug.cgi?id=101599
+
+Reviewed by Simon Hausmann.
+
+Delete the internal inspector from QWebPage destructor, instead of causing recursions
+between QWebPagePrivate::setInspector and QWebInspector::setPage.
+
+Also separate the three tests in tst_QWebInspector to better tell which one is failing.
+
+* Api/qwebpage.cpp:
+(QWebPagePrivate::~QWebPagePrivate):
+(QWebPagePrivate::setInspector):
+* tests/qwebinspector/tst_qwebinspector.cpp:
+(tst_QWebInspector):
+(tst_QWebInspector::attachAndDestroyPageFirst):
+(tst_QWebInspector::attachAndDestroyInspectorFirst):
+(tst_QWebInspector::attachAndDestroyInternalInspector):
+
+2012-11-08  Allan Sandfeld Jensen  
+
 [Qt] Open link in this window action
 https://bugs.webkit.org/show_bug.cgi?id=101226
 


Modified: trunk/Source/WebKit/qt/tests/qwebinspector/tst_qwebinspector.cpp (133898 => 133899)

--- trunk/Source/WebKit/qt/tests/qwebinspector/tst_qwebinspector.cpp	2012-11-08 15:25:17 UTC (rev 133898)
+++ trunk/Source/WebKit/qt/tests/qwebinspector/tst_qwebinspector.cpp	2012-11-08 15:32:38 UTC (rev 133899)
@@ -28,41 +28,48 @@
 Q_OBJECT
 
 private Q_SLOTS:
-void attachAndDestroy();
+void attachAndDestroyPageFirst();
+void attachAndDestroyInspectorFirst();
+void attachAndDestroyInternalInspector();
 };
 
-void tst_QWebInspector::attachAndDestroy()
+void tst_QWebInspector::attachAndDestroyPageFirst()
 {
-{   // External inspector + manual destruction of page first
-QWebPage* page = new QWebPage();
-page->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
-QWebInspector* inspector = new QWebInspector();
-inspector->setPage(page);
-page->updatePositionDependentActions(QPoint(0, 0));
-page->triggerAction(QWebPage::InspectElement);
+// External inspector + manual destruction of page first
+QWebPage* page = new QWebPage();
+page->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
+QWebInspector* inspector = new QWebInspector();
+inspector->setPage(page);
+page->upda

[webkit-changes] [134044] trunk/Source/WebCore

2012-11-09 Thread allan . jensen
Title: [134044] trunk/Source/WebCore








Revision 134044
Author allan.jen...@digia.com
Date 2012-11-09 03:28:00 -0800 (Fri, 09 Nov 2012)


Log Message
Regression(r107593) Crash in ContextMenuController::addInspectElementItem()
https://bugs.webkit.org/show_bug.cgi?id=101595

Reviewed by Simon Hausmann.

If the contextMenu is a null pointer treat it as empty, appendItem will later
create it if necessary.

* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::addInspectElementItem):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/ContextMenuController.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (134043 => 134044)

--- trunk/Source/WebCore/ChangeLog	2012-11-09 11:25:24 UTC (rev 134043)
+++ trunk/Source/WebCore/ChangeLog	2012-11-09 11:28:00 UTC (rev 134044)
@@ -1,3 +1,16 @@
+2012-11-09  Allan Sandfeld Jensen  
+
+Regression(r107593) Crash in ContextMenuController::addInspectElementItem()
+https://bugs.webkit.org/show_bug.cgi?id=101595
+
+Reviewed by Simon Hausmann.
+
+If the contextMenu is a null pointer treat it as empty, appendItem will later
+create it if necessary.
+
+* page/ContextMenuController.cpp:
+(WebCore::ContextMenuController::addInspectElementItem):
+
 2012-11-09  Christophe Dumez  
 
 [EFL][WK2] Add support for custom cursors


Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (134043 => 134044)

--- trunk/Source/WebCore/page/ContextMenuController.cpp	2012-11-09 11:25:24 UTC (rev 134043)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp	2012-11-09 11:28:00 UTC (rev 134044)
@@ -1099,9 +1099,9 @@
 
 ContextMenuItem InspectElementItem(ActionType, ContextMenuItemTagInspectElement, contextMenuItemTagInspectElement());
 #if USE(CROSS_PLATFORM_CONTEXT_MENUS)
-if (!m_contextMenu->items().isEmpty())
+if (m_contextMenu && !m_contextMenu->items().isEmpty())
 #else
-if (m_contextMenu->itemCount())
+if (m_contextMenu && m_contextMenu->itemCount())
 #endif
 appendItem(*separatorItem(), m_contextMenu.get());
 appendItem(InspectElementItem, m_contextMenu.get());






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [134214] trunk

2012-11-12 Thread allan . jensen
Title: [134214] trunk








Revision 134214
Author allan.jen...@digia.com
Date 2012-11-12 05:11:42 -0800 (Mon, 12 Nov 2012)


Log Message
[Qt] Can not load MHTML documents
https://bugs.webkit.org/show_bug.cgi?id=101765

Reviewed by Simon Hausmann.

Source/WebCore:

Recognize common MHTML extensions so that we can recognize MHTML tests on the file-system.

Tested by existing mhtml/ tests.

* platform/qt/MIMETypeRegistryQt.cpp:
(WebCore):

Tools:

Enable MHTML feature.

* qmake/mkspecs/features/features.pri:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp
trunk/Tools/ChangeLog
trunk/Tools/qmake/mkspecs/features/features.pri




Diff

Modified: trunk/Source/WebCore/ChangeLog (134213 => 134214)

--- trunk/Source/WebCore/ChangeLog	2012-11-12 12:45:00 UTC (rev 134213)
+++ trunk/Source/WebCore/ChangeLog	2012-11-12 13:11:42 UTC (rev 134214)
@@ -1,3 +1,17 @@
+2012-11-12  Allan Sandfeld Jensen  
+
+[Qt] Can not load MHTML documents
+https://bugs.webkit.org/show_bug.cgi?id=101765
+
+Reviewed by Simon Hausmann.
+
+Recognize common MHTML extensions so that we can recognize MHTML tests on the file-system.
+
+Tested by existing mhtml/ tests.
+
+* platform/qt/MIMETypeRegistryQt.cpp:
+(WebCore):
+
 2012-11-12  Andreas Kling  
 
 Tighten vector in ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray().


Modified: trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp (134213 => 134214)

--- trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-11-12 12:45:00 UTC (rev 134213)
+++ trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-11-12 13:11:42 UTC (rev 134214)
@@ -53,6 +53,8 @@
 { "mp4", "video/mp4" },
 { "m4v", "video/mp4" },
 { "m4a", "audio/x-m4a" },
+{ "mht", "multipart/related" },
+{ "mhtml", "multipart/related" },
 { "mp3", "audio/mp3" },
 { "ogv", "video/ogg" },
 { "oga", "audio/ogg" },


Modified: trunk/Tools/ChangeLog (134213 => 134214)

--- trunk/Tools/ChangeLog	2012-11-12 12:45:00 UTC (rev 134213)
+++ trunk/Tools/ChangeLog	2012-11-12 13:11:42 UTC (rev 134214)
@@ -1,3 +1,14 @@
+2012-11-12  Allan Sandfeld Jensen  
+
+[Qt] Can not load MHTML documents
+https://bugs.webkit.org/show_bug.cgi?id=101765
+
+Reviewed by Simon Hausmann.
+
+Enable MHTML feature.
+
+* qmake/mkspecs/features/features.pri:
+
 2012-11-12  Tommy Widenflycht  
 
 MediaStream API: Schedule the RTCDataChannel events to be triggered at idle state


Modified: trunk/Tools/qmake/mkspecs/features/features.pri (134213 => 134214)

--- trunk/Tools/qmake/mkspecs/features/features.pri	2012-11-12 12:45:00 UTC (rev 134213)
+++ trunk/Tools/qmake/mkspecs/features/features.pri	2012-11-12 13:11:42 UTC (rev 134214)
@@ -77,7 +77,7 @@
 ENABLE_MEDIA_STATISTICS=0 \
 ENABLE_MEDIA_STREAM=0 \
 ENABLE_METER_ELEMENT=1 \
-ENABLE_MHTML=0 \
+ENABLE_MHTML=1 \
 ENABLE_MICRODATA=0 \
 ENABLE_MUTATION_OBSERVERS=0 \
 ENABLE_NAVIGATOR_CONTENT_UTILS=0 \






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [134243] trunk

2012-11-12 Thread allan . jensen
Title: [134243] trunk








Revision 134243
Author allan.jen...@digia.com
Date 2012-11-12 08:13:01 -0800 (Mon, 12 Nov 2012)


Log Message
[Qt] Support ResourceRequest's setTimeoutInterval
https://bugs.webkit.org/show_bug.cgi?id=101731

Reviewed by Simon Hausmann.

Source/WebCore:

Establish a timeout and return the correct error when it is triggered.

Tested by existing http/tests/xmlhttprequest/timeout tests.

* platform/network/ResourceRequestBase.cpp:
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::release):
(WebCore::QNetworkReplyHandler::finish):
(WebCore::QNetworkReplyHandler::timeout):
(WebCore::QNetworkReplyHandler::timerEvent):
(WebCore::QNetworkReplyHandler::start):
* platform/network/qt/QNetworkReplyHandler.h:
(QNetworkReplyHandler):

Tools:

Enable XHR_TIMEOUT now that we support the necessary feature.

* qmake/mkspecs/features/features.pri:

LayoutTests:

Unskip now passing XHR timeout tests.

* platform/qt/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/qt/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp
trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.h
trunk/Tools/ChangeLog
trunk/Tools/qmake/mkspecs/features/features.pri




Diff

Modified: trunk/LayoutTests/ChangeLog (134242 => 134243)

--- trunk/LayoutTests/ChangeLog	2012-11-12 16:06:49 UTC (rev 134242)
+++ trunk/LayoutTests/ChangeLog	2012-11-12 16:13:01 UTC (rev 134243)
@@ -1,3 +1,14 @@
+2012-11-12  Allan Sandfeld Jensen  
+
+[Qt] Support ResourceRequest's setTimeoutInterval
+https://bugs.webkit.org/show_bug.cgi?id=101731
+
+Reviewed by Simon Hausmann.
+
+Unskip now passing XHR timeout tests.
+
+* platform/qt/TestExpectations:
+
 2012-11-12  Vsevolod Vlasov  
 
 Layout Test inspector/debugger/dynamic-scripts.html is flaky


Modified: trunk/LayoutTests/platform/qt/TestExpectations (134242 => 134243)

--- trunk/LayoutTests/platform/qt/TestExpectations	2012-11-12 16:06:49 UTC (rev 134242)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2012-11-12 16:13:01 UTC (rev 134243)
@@ -675,19 +675,6 @@
 # https://bugs.webkit.org/show_bug.cgi?id=86606
 http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
 
-# ResourceRequest needs to support setTimeoutInterval
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-aborted.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-abortedonmain.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-overridesexpires.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-simple.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-synconmain.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-twice.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-aborted.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-overridesexpires.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-simple.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-synconworker.html
-webkit.org/b/98397 http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-twice.html
-
 # === #
 #   Failing editing/inserting tests.  #
 # === #


Modified: trunk/Source/WebCore/ChangeLog (134242 => 134243)

--- trunk/Source/WebCore/ChangeLog	2012-11-12 16:06:49 UTC (rev 134242)
+++ trunk/Source/WebCore/ChangeLog	2012-11-12 16:13:01 UTC (rev 134243)
@@ -1,3 +1,24 @@
+2012-11-12  Allan Sandfeld Jensen  
+
+[Qt] Support ResourceRequest's setTimeoutInterval
+https://bugs.webkit.org/show_bug.cgi?id=101731
+
+Reviewed by Simon Hausmann.
+
+Establish a timeout and return the correct error when it is triggered.
+
+Tested by existing http/tests/xmlhttprequest/timeout tests.
+
+* platform/network/ResourceRequestBase.cpp:
+* platform/network/qt/QNetworkReplyHandler.cpp:
+(WebCore::QNetworkReplyHandler::release):
+(WebCore::QNetworkReplyHandler::finish):
+(WebCore::QNetworkReplyHandler::timeout):
+(WebCore::QNetworkReplyHandler::timerEvent):
+(WebCore::QNetworkReplyHandler::start):
+* platform/network/qt/QNetworkReplyHandler.h:
+(QNetworkReplyHandler):
+
 2012-11-12  Sheriff Bot  
 
 Unreviewed, rolling out r134224.


Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp (134242 => 134243)

--- trunk/Source/WebCore/platform/network/ResourceReques

[webkit-changes] [134253] trunk/Source/WebCore

2012-11-12 Thread allan . jensen
Title: [134253] trunk/Source/WebCore








Revision 134253
Author allan.jen...@digia.com
Date 2012-11-12 10:13:09 -0800 (Mon, 12 Nov 2012)


Log Message
hitTestResultAtPoint does two hit-tests if called on non main frame
https://bugs.webkit.org/show_bug.cgi?id=101915

Reviewed by Antonio Gomes.

Always redirect hitTestResultAtPoint to the main-frame. This used to being
done on every result that hit anything, which caused running the expensive
hit-tests multiple times in almost all cases.

* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/EventHandler.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (134252 => 134253)

--- trunk/Source/WebCore/ChangeLog	2012-11-12 18:06:32 UTC (rev 134252)
+++ trunk/Source/WebCore/ChangeLog	2012-11-12 18:13:09 UTC (rev 134253)
@@ -1,3 +1,17 @@
+2012-11-12  Allan Sandfeld Jensen  
+
+hitTestResultAtPoint does two hit-tests if called on non main frame
+https://bugs.webkit.org/show_bug.cgi?id=101915
+
+Reviewed by Antonio Gomes.
+
+Always redirect hitTestResultAtPoint to the main-frame. This used to being
+done on every result that hit anything, which caused running the expensive 
+hit-tests multiple times in almost all cases.
+
+* page/EventHandler.cpp:
+(WebCore::EventHandler::hitTestResultAtPoint):
+
 2012-11-12  Kentaro Hara  
 
 [V8][JSC] ScriptProfileNode::callUID needs not to be [Custom]


Modified: trunk/Source/WebCore/page/EventHandler.cpp (134252 => 134253)

--- trunk/Source/WebCore/page/EventHandler.cpp	2012-11-12 18:06:32 UTC (rev 134252)
+++ trunk/Source/WebCore/page/EventHandler.cpp	2012-11-12 18:13:09 UTC (rev 134253)
@@ -1114,9 +1114,23 @@
 return page->dragController()->delegateDragSourceAction(view->contentsToRootView(m_mouseDownPos));
 }
 #endif // ENABLE(DRAG_SUPPORT)
-
+
 HitTestResult EventHandler::hitTestResultAtPoint(const LayoutPoint& point, bool allowShadowContent, bool ignoreClipping, HitTestScrollbars testScrollbars, HitTestRequest::HitTestRequestType hitType, const LayoutSize& padding)
 {
+// We always send hitTestResultAtPoint to the main frame if we have one,
+// otherwise we might hit areas that are obscured by higher frames.
+if (Page* page = m_frame->page()) {
+Frame* mainFrame = page->mainFrame();
+if (m_frame != mainFrame) {
+FrameView* frameView = m_frame->view();
+FrameView* mainView = mainFrame->view();
+if (frameView && mainView) {
+IntPoint mainFramePoint = mainView->rootViewToContents(frameView->contentsToRootView(roundedIntPoint(point)));
+return mainFrame->eventHandler()->hitTestResultAtPoint(mainFramePoint, allowShadowContent, ignoreClipping, testScrollbars, hitType, padding);
+}
+}
+}
+
 HitTestResult result(point, padding.height(), padding.width(), padding.height(), padding.width());
 
 if (!m_frame->contentRenderer())
@@ -1151,21 +1165,6 @@
 result.setScrollbar(eventScrollbar);
 }
 }
-
-// If our HitTestResult is not visible, then we started hit testing too far down the frame chain. 
-// Another hit test at the main frame level should get us the correct visible result.
-Frame* resultFrame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : 0;
-if (Page* page = m_frame->page()) {
-Frame* mainFrame = page->mainFrame();
-if (m_frame != mainFrame && resultFrame && resultFrame != mainFrame) {
-FrameView* resultView = resultFrame->view();
-FrameView* mainView = mainFrame->view();
-if (resultView && mainView) {
-IntPoint mainFramePoint = mainView->rootViewToContents(resultView->contentsToRootView(roundedIntPoint(result.point(;
-result = mainFrame->eventHandler()->hitTestResultAtPoint(mainFramePoint, allowShadowContent, ignoreClipping, testScrollbars, hitType, padding);
-}
-}
-}
 
 if (!allowShadowContent)
 result.setToNonShadowAncestor();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [134262] trunk/Source/WebCore

2012-11-12 Thread allan . jensen
Title: [134262] trunk/Source/WebCore








Revision 134262
Author allan.jen...@digia.com
Date 2012-11-12 11:13:08 -0800 (Mon, 12 Nov 2012)


Log Message
Move resolving blob references to FormData.
https://bugs.webkit.org/show_bug.cgi?id=101754

Reviewed by Simon Hausmann.

Resolving Blob-references to a set of just File and Data is done similar by several platforms.
This patch adds a generic implementation in FormData and uses that from CFNetwork, Qt and
BlackBerry network implementation.

* platform/network/FormData.cpp:
(WebCore::appendBlobResolved):
(WebCore::FormData::resolveBlobReferences):
* platform/network/FormData.h:
* platform/network/blackberry/ResourceRequestBlackBerry.cpp:
(WebCore::ResourceRequest::initializePlatformRequest):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::setHTTPBody):
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::FormDataIODevice::prepareFormElements):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/FormData.cpp
trunk/Source/WebCore/platform/network/FormData.h
trunk/Source/WebCore/platform/network/blackberry/ResourceRequestBlackBerry.cpp
trunk/Source/WebCore/platform/network/cf/FormDataStreamCFNet.cpp
trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (134261 => 134262)

--- trunk/Source/WebCore/ChangeLog	2012-11-12 19:12:12 UTC (rev 134261)
+++ trunk/Source/WebCore/ChangeLog	2012-11-12 19:13:08 UTC (rev 134262)
@@ -1,3 +1,25 @@
+2012-11-12  Allan Sandfeld Jensen  
+
+Move resolving blob references to FormData.
+https://bugs.webkit.org/show_bug.cgi?id=101754
+
+Reviewed by Simon Hausmann.
+
+Resolving Blob-references to a set of just File and Data is done similar by several platforms.
+This patch adds a generic implementation in FormData and uses that from CFNetwork, Qt and
+BlackBerry network implementation.
+
+* platform/network/FormData.cpp:
+(WebCore::appendBlobResolved):
+(WebCore::FormData::resolveBlobReferences):
+* platform/network/FormData.h:
+* platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+(WebCore::ResourceRequest::initializePlatformRequest):
+* platform/network/cf/FormDataStreamCFNet.cpp:
+(WebCore::setHTTPBody):
+* platform/network/qt/QNetworkReplyHandler.cpp:
+(WebCore::FormDataIODevice::prepareFormElements):
+
 2012-11-12  Zeno Albisser  
 
 GraphicsSurfaceGLX does not handle transparency correctly.


Modified: trunk/Source/WebCore/platform/network/FormData.cpp (134261 => 134262)

--- trunk/Source/WebCore/platform/network/FormData.cpp	2012-11-12 19:12:12 UTC (rev 134261)
+++ trunk/Source/WebCore/platform/network/FormData.cpp	2012-11-12 19:13:08 UTC (rev 134262)
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2004, 2006, 2008, 2011 Apple Inc. All rights reserved.
  * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies)
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -23,6 +24,7 @@
 #include "FormData.h"
 
 #include "BlobData.h"
+#include "BlobRegistryImpl.h"
 #include "BlobURL.h"
 #include "Chrome.h"
 #include "ChromeClient.h"
@@ -317,6 +319,64 @@
 return Latin1Encoding().decode(reinterpret_cast(bytes.data()), bytes.size());
 }
 
+#if ENABLE(BLOB)
+static void appendBlobResolved(FormData* formData, const KURL& url)
+{
+RefPtr blobData = static_cast(blobRegistry()).getBlobDataFromURL(KURL(ParsedURLString, url));
+if (!blobData)
+return;
+
+BlobDataItemList::const_iterator it = blobData->items().begin();
+const BlobDataItemList::const_iterator itend = blobData->items().end();
+for (; it != itend; ++it) {
+const BlobDataItem& blobItem = *it;
+if (blobItem.type == BlobDataItem::Data)
+formData->appendData(blobItem.data->data() + static_cast(blobItem.offset), static_cast(blobItem.length));
+else if (blobItem.type == BlobDataItem::File)
+formData->appendFileRange(blobItem.path, blobItem.offset, blobItem.length, blobItem.expectedModificationTime);
+else if (blobItem.type == BlobDataItem::Blob)
+appendBlobResolved(formData, blobItem.url);
+else
+ASSERT_NOT_REACHED();
+}
+}
+
+PassRefPtr FormData::resolveBlobReferences()
+{
+// First check if any blobs needs to be resolved, or we can take the fast path.
+bool hasBlob = false;
+Vector::const_iterator it = elements().begin();
+const Vector::const_iterator itend = elements().end();
+for (; it != itend; ++it) {
+if (it->m_type == FormDataElement::encodedBlob) {
+hasBlob = true;
+break;
+}
+}
+
+if (!hasBlob)
+return this;
+
+// Create a copy to append the result into.
+RefPtr newFormData = FormData::create();

[webkit-changes] [135272] trunk/Source/WebKit2

2012-11-20 Thread allan . jensen
Title: [135272] trunk/Source/WebKit2








Revision 135272
Author allan.jen...@digia.com
Date 2012-11-20 05:17:48 -0800 (Tue, 20 Nov 2012)


Log Message
[Qt] Zoom logic confused by page and pinch resize
https://bugs.webkit.org/show_bug.cgi?id=102803

Reviewed by Kenneth Rohde Christiansen.

Clear the zoom-out stack after page resize, and ensure the zoom logic can still detect
zoom-out and zoom-back when the zoom-out stack is empty.

* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
(WebKit::PageViewportControllerClientQt::clearRelativeZoomState):
(WebKit::PageViewportControllerClientQt::setContentsScale):
(WebKit::PageViewportControllerClientQt::pinchGestureStarted):
(WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
* UIProcess/qt/PageViewportControllerClientQt.h:
(PageViewportControllerClientQt):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp
trunk/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (135271 => 135272)

--- trunk/Source/WebKit2/ChangeLog	2012-11-20 11:36:58 UTC (rev 135271)
+++ trunk/Source/WebKit2/ChangeLog	2012-11-20 13:17:48 UTC (rev 135272)
@@ -1,3 +1,22 @@
+2012-11-20  Allan Sandfeld Jensen  
+
+[Qt] Zoom logic confused by page and pinch resize
+https://bugs.webkit.org/show_bug.cgi?id=102803
+
+Reviewed by Kenneth Rohde Christiansen.
+
+Clear the zoom-out stack after page resize, and ensure the zoom logic can still detect
+zoom-out and zoom-back when the zoom-out stack is empty.
+
+* UIProcess/qt/PageViewportControllerClientQt.cpp:
+(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
+(WebKit::PageViewportControllerClientQt::clearRelativeZoomState):
+(WebKit::PageViewportControllerClientQt::setContentsScale):
+(WebKit::PageViewportControllerClientQt::pinchGestureStarted):
+(WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
+* UIProcess/qt/PageViewportControllerClientQt.h:
+(PageViewportControllerClientQt):
+
 2012-11-19  KyungTae Kim  
 
 [WK2] Unused parameters on CoordinatedGraphicsLayer.cpp


Modified: trunk/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp (135271 => 135272)

--- trunk/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp	2012-11-20 11:36:58 UTC (rev 135271)
+++ trunk/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp	2012-11-20 13:17:48 UTC (rev 135272)
@@ -243,25 +243,23 @@
 
 enum { ZoomIn, ZoomBack, ZoomOut, NoZoom } zoomAction = ZoomIn;
 
-if (!m_scaleStack.isEmpty()) {
-// Zoom back out if attempting to scale to the same current scale, or
-// attempting to continue scaling out from the inner most level.
-// Use fuzzy compare with a fixed error to be able to deal with largish differences due to pixel rounding.
-if (fuzzyCompare(targetScale, currentScale, 0.01)) {
-// If moving the viewport would expose more of the targetRect and move at least 40 pixels, update position but do not scale out.
-QRectF currentContentRect(m_viewportItem->mapRectToWebContent(viewportRect));
-QRectF targetIntersection = endVisibleContentRect.intersected(targetArea);
-if (!currentContentRect.contains(targetIntersection)
-&& (qAbs(endVisibleContentRect.top() - currentContentRect.top()) >= 40
-|| qAbs(endVisibleContentRect.left() - currentContentRect.left()) >= 40))
-zoomAction = NoZoom;
-else
-zoomAction = ZoomBack;
-} else if (fuzzyCompare(targetScale, m_zoomOutScale, 0.01))
+// Zoom back out if attempting to scale to the same current scale, or
+// attempting to continue scaling out from the inner most level.
+// Use fuzzy compare with a fixed error to be able to deal with largish differences due to pixel rounding.
+if (!m_scaleStack.isEmpty() && fuzzyCompare(targetScale, currentScale, 0.01)) {
+// If moving the viewport would expose more of the targetRect and move at least 40 pixels, update position but do not scale out.
+QRectF currentContentRect(m_viewportItem->mapRectToWebContent(viewportRect));
+QRectF targetIntersection = endVisibleContentRect.intersected(targetArea);
+if (!currentContentRect.contains(targetIntersection)
+&& (qAbs(endVisibleContentRect.top() - currentContentRect.top()) >= 40
+|| qAbs(endVisibleContentRect.left() - currentContentRect.left()) >= 40))
+zoomAction = NoZoom;
+else
 zoomAction = ZoomBack;
-else if (targetScale < currentScale)
-zoomAction = ZoomOut;
-}
+} else if (fuzzyCompare(targetScale, m_zoomOutScale, 0.01))
+zoomAction = ZoomBack;
+else

[webkit-changes] [135280] trunk/Source/WebKit2

2012-11-20 Thread allan . jensen
Title: [135280] trunk/Source/WebKit2








Revision 135280
Author allan.jen...@digia.com
Date 2012-11-20 08:02:23 -0800 (Tue, 20 Nov 2012)


Log Message
[Qt] Large areas highlighted on touch
https://bugs.webkit.org/show_bug.cgi?id=97216

Reviewed by Simon Hausmann.

Restrict highlighting of scripted event-handlers to inline elements only.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::highlightPotentialActivation):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (135279 => 135280)

--- trunk/Source/WebKit2/ChangeLog	2012-11-20 16:02:19 UTC (rev 135279)
+++ trunk/Source/WebKit2/ChangeLog	2012-11-20 16:02:23 UTC (rev 135280)
@@ -1,5 +1,17 @@
 2012-11-20  Allan Sandfeld Jensen  
 
+[Qt] Large areas highlighted on touch
+https://bugs.webkit.org/show_bug.cgi?id=97216
+
+Reviewed by Simon Hausmann.
+
+Restrict highlighting of scripted event-handlers to inline elements only.
+
+* WebProcess/WebPage/WebPage.cpp:
+(WebKit::WebPage::highlightPotentialActivation):
+
+2012-11-20  Allan Sandfeld Jensen  
+
 [Qt] Zoom logic confused by page and pinch resize
 https://bugs.webkit.org/show_bug.cgi?id=102803
 


Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (135279 => 135280)

--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2012-11-20 16:02:19 UTC (rev 135279)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2012-11-20 16:02:23 UTC (rev 135280)
@@ -1698,17 +1698,21 @@
 #endif
 // Find the node to highlight. This is not the same as the node responding the tap gesture, because many
 // pages has a global click handler and we do not want to highlight the body.
-// Instead find the enclosing link or focusable element, or the last enclosing inline element.
 for (Node* node = adjustedNode; node; node = node->parentOrHostNode()) {
 if (node->isDocumentNode() || node->isFrameOwnerElement())
 break;
-if (node->isMouseFocusable() || node->willRespondToMouseClickEvents()) {
+
+// We always highlight focusable (form-elements), image links or content-editable elements.
+if (node->isMouseFocusable() || node->isLink() || node->isContentEditable())
 activationNode = node;
-break;
+else if (node->willRespondToMouseClickEvents()) {
+// Highlight elements with default mouse-click handlers, but highlight only inline elements with
+// scripted event-handlers.
+if (!node->Node::willRespondToMouseClickEvents() || (node->renderer() && node->renderer()->isInline()))
+activationNode = node;
 }
-if (node->renderer() && node->renderer()->isInline())
-activationNode = node;
-else if (activationNode)
+
+if (activationNode)
 break;
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [135282] trunk/Source/WebKit2

2012-11-20 Thread allan . jensen
Title: [135282] trunk/Source/WebKit2








Revision 135282
Author allan.jen...@digia.com
Date 2012-11-20 08:10:18 -0800 (Tue, 20 Nov 2012)


Log Message
[Qt] No test of double-click to zoom out
https://bugs.webkit.org/show_bug.cgi?id=102810

Reviewed by Kenneth Rohde Christiansen.

Adds tests of zoom-stack behaviour, the ability to restore previous zoom levels. It tests
that zoom out always goes to lower zoom levels.

* UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml




Diff

Modified: trunk/Source/WebKit2/ChangeLog (135281 => 135282)

--- trunk/Source/WebKit2/ChangeLog	2012-11-20 16:08:53 UTC (rev 135281)
+++ trunk/Source/WebKit2/ChangeLog	2012-11-20 16:10:18 UTC (rev 135282)
@@ -1,5 +1,17 @@
 2012-11-20  Allan Sandfeld Jensen  
 
+[Qt] No test of double-click to zoom out
+https://bugs.webkit.org/show_bug.cgi?id=102810
+
+Reviewed by Kenneth Rohde Christiansen.
+
+Adds tests of zoom-stack behaviour, the ability to restore previous zoom levels. It tests
+that zoom out always goes to lower zoom levels.
+
+* UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
+
+2012-11-20  Allan Sandfeld Jensen  
+
 [Qt] Large areas highlighted on touch
 https://bugs.webkit.org/show_bug.cgi?id=97216
 


Modified: trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml (135281 => 135282)

--- trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml	2012-11-20 16:08:53 UTC (rev 135281)
+++ trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml	2012-11-20 16:10:18 UTC (rev 135282)
@@ -8,8 +8,8 @@
 Item {
 TestWebView {
 id: webView
-width: 480
-height: 720
+width: 320
+height: 240
 
 property variant result
 
@@ -19,8 +19,11 @@
 "" +
 "" +
 "-" style='position:absolute; left:20; top:20; width:200; height:200;'>" +
+" style='position:absolute; left:20; top:20; width:220; height:80;'>" +
 "" +
+"" +
+"" +
 ""
 
 signal resultReceived
@@ -49,7 +52,7 @@
 scaleSpy.clear()
 }
 
-function documentSize() {
+function windowSize() {
 resultSpy.clear();
 var result;
 
@@ -77,19 +80,139 @@
 scaleSpy.wait()
 }
 
-function test_basic() {
+function test_basic_zoomInAndBack() {
 webView.url = ""
 verify(webView.waitForViewportReady())
 
-compare(documentSize(), "480x720")
+compare(windowSize(), "320x240")
 
 compare(test.contentsScale, 1.0)
 
 var rect = elementRect("target");
 var newScale = webView.width / (rect.width + 2 * 10) // inflated by 10px
-doubleTapAtPoint(rect.left + rect.height / 2, rect.top + rect.width / 2)
+doubleTapAtPoint(100, 50)
 
 compare(test.contentsScale, newScale)
+
+doubleTapAtPoint(100, 50)
+
+compare(test.contentsScale, 1.0)
 }
+
+function test_double_zoomInAndBack() {
+webView.url = ""
+verify(webView.waitForViewportReady())
+
+compare(windowSize(), "320x240")
+compare(test.contentsScale, 1.0)
+
+var target = elementRect("target");
+var smalltarget = elementRect("smalltarget");
+var targetScale = webView.width / (target.width + 2 * 10) // inflated by 10px
+var smallTargetScale = webView.width / (smalltarget.width + 2 * 10) // inflated by 10px
+
+doubleTapAtPoint(100, 50)
+
+compare(test.contentsScale, targetScale)
+
+doubleTapAtPoint(100, 160)
+
+compare(test.contentsScale, smallTargetScale)
+
+// Zoom out by double clicking first the small target and then the large target.
+doubleTapAtPoint(100, 120)
+
+compare(test.contentsScale, targetScale)
+
+doubleTapAtPoint(100, 50)
+
+compare(test.contentsScale, 1.0)
+}
+
+function test_double_zoomInAndBack2() {
+webView.url = ""
+verify(webView.waitForViewportReady())
+
+compare(windowSize(), "320x240")
+compare(test.contentsScale, 1.0)
+
+var target = elementRect("target");
+var smalltarget = elementRect("smalltarget");
+var targetScale = webView.width / (target.width + 2 * 10) // inflated by 10px
+var smallTargetScale = webView.width / (smalltarget.width + 2 * 10) // inflated by 10px
+
+doubleTapAtPoint(100, 50)
+
+compare(test.contentsScale, targetScale)
+
+doubleTa

[webkit-changes] [135283] trunk/Source/WebKit2

2012-11-20 Thread allan . jensen
Title: [135283] trunk/Source/WebKit2








Revision 135283
Author allan.jen...@digia.com
Date 2012-11-20 08:20:52 -0800 (Tue, 20 Nov 2012)


Log Message
[Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
https://bugs.webkit.org/show_bug.cgi?id=102790

Reviewed by Kenneth Rohde Christiansen.

Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
but instead return whether it has changed the minimumScaleToFit.

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/PageViewportController.h:
(PageViewportController):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/PageViewportController.cpp
trunk/Source/WebKit2/UIProcess/PageViewportController.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (135282 => 135283)

--- trunk/Source/WebKit2/ChangeLog	2012-11-20 16:10:18 UTC (rev 135282)
+++ trunk/Source/WebKit2/ChangeLog	2012-11-20 16:20:52 UTC (rev 135283)
@@ -1,5 +1,21 @@
 2012-11-20  Allan Sandfeld Jensen  
 
+[Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
+https://bugs.webkit.org/show_bug.cgi?id=102790
+
+Reviewed by Kenneth Rohde Christiansen.
+
+Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
+but instead return whether it has changed the minimumScaleToFit.
+
+* UIProcess/PageViewportController.cpp:
+(WebKit::PageViewportController::didChangeContentsSize):
+(WebKit::PageViewportController::updateMinimumScaleToFit):
+* UIProcess/PageViewportController.h:
+(PageViewportController):
+
+2012-11-20  Allan Sandfeld Jensen  
+
 [Qt] No test of double-click to zoom out
 https://bugs.webkit.org/show_bug.cgi?id=102810
 


Modified: trunk/Source/WebKit2/UIProcess/PageViewportController.cpp (135282 => 135283)

--- trunk/Source/WebKit2/UIProcess/PageViewportController.cpp	2012-11-20 16:10:18 UTC (rev 135282)
+++ trunk/Source/WebKit2/UIProcess/PageViewportController.cpp	2012-11-20 16:20:52 UTC (rev 135283)
@@ -105,7 +105,8 @@
 void PageViewportController::didChangeContentsSize(const IntSize& newSize)
 {
 m_contentsSize = newSize;
-updateMinimumScaleToFit();
+if (updateMinimumScaleToFit())
+m_client->didChangeViewportAttributes();
 }
 
 void PageViewportController::didRenderFrame(const IntSize& contentsSize, const IntRect& coveredRect)
@@ -259,10 +260,10 @@
 syncVisibleContents();
 }
 
-void PageViewportController::updateMinimumScaleToFit()
+bool PageViewportController::updateMinimumScaleToFit()
 {
 if (m_viewportSize.isEmpty())
-return;
+return false;
 
 float minimumScale = WebCore::computeMinimumScaleFactorForContentContained(m_rawAttributes, WebCore::roundedIntSize(m_viewportSize), WebCore::roundedIntSize(m_contentsSize), devicePixelRatio());
 
@@ -272,8 +273,9 @@
 if (!m_hadUserInteraction && !hasSuspendedContent())
 applyScaleAfterRenderingContents(toViewportScale(minimumScale));
 
-m_client->didChangeViewportAttributes();
+return true;
 }
+return false;
 }
 
 } // namespace WebKit


Modified: trunk/Source/WebKit2/UIProcess/PageViewportController.h (135282 => 135283)

--- trunk/Source/WebKit2/UIProcess/PageViewportController.h	2012-11-20 16:10:18 UTC (rev 135282)
+++ trunk/Source/WebKit2/UIProcess/PageViewportController.h	2012-11-20 16:20:52 UTC (rev 135283)
@@ -84,7 +84,7 @@
 void syncVisibleContents(const WebCore::FloatPoint &trajectoryVector = WebCore::FloatPoint::zero());
 void applyScaleAfterRenderingContents(float scale);
 void applyPositionAfterRenderingContents(const WebCore::FloatPoint& pos);
-void updateMinimumScaleToFit();
+bool updateMinimumScaleToFit();
 WebCore::FloatSize viewportSizeInContentsCoordinates() const;
 
 WebPageProxy* const m_webPageProxy;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [135405] trunk/Source

2012-11-21 Thread allan . jensen
Title: [135405] trunk/Source








Revision 135405
Author allan.jen...@digia.com
Date 2012-11-21 07:45:42 -0800 (Wed, 21 Nov 2012)


Log Message
Source/WebCore: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

Splits the point() method in HitTestResult into two, innerNodeFramePoint and mainFramePoint().
To do this HitTestResult no longer inherits publically from HitTestLocation, which should also
help to later separate the two classes completely.

Many of the call-sites of hitTestResultAtPoint confuses which coordinates the point is in.
These have not have been fixed in this patch, and they should be audited by the individual ports.

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::nodesFromRect):
* page/EventHandler.cpp:
(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::hitTestResultAtPoint):
Set and maintain pointInMainFrame on the HitTestResult.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
Construct pointInMainFrame as a copy of pointInInnerNodeFrame. This is correct
for all hit-tests outside of the recursion in EventHandler::hitTestResultAtPoint.
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::innerNodeFrame):
(WebCore::HitTestResult::append):
* rendering/HitTestResult.h:
(WebCore::HitTestLocation::point):
(HitTestResult):
Inherits protected now from HitTestLocation to avoid exposing the ambiguous
point() and roundedPoint() methods.
HitTestResult will be split completely from HitTestLocation in a later patch.
(WebCore::HitTestResult::isRectBasedTest):
(WebCore::HitTestResult::pointInMainFrame):
(WebCore::HitTestResult::roundedPointInMainFrame):
(WebCore::HitTestResult::setPointInMainFrame):
(WebCore::HitTestResult::pointInInnerNodeFrame):
(WebCore::HitTestResult::roundedPointInInnerNodeFrame):
(WebCore::HitTestResult::localPoint):
(WebCore::HitTestResult::setLocalPoint):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):

Source/WebKit/chromium: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::mouseDidMoveOverElement):
* src/ContextMenuClientImpl.cpp:
(WebKit::selectMisspelledWord):
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::characterIndexForPoint):

Source/WebKit/efl: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

* ewk/ewk_frame.cpp:
(ewk_frame_hit_test_new):

Source/WebKit/gtk: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

Switched to using point in innerNodeFrame. While the use here seems wrong it has been
left functionally unchanged to be fixed by a later patch.

* webkit/webkithittestresult.cpp:
(WebKit::kit):

Source/WebKit/mac: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.

* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::showContextMenu):

Source/WebKit/qt: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

* Api/qwebframe.cpp:
(QWebHitTestResultPrivate::QWebHitTestResultPrivate):
* Api/qwebpage.cpp:
(QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch):

Source/WebKit/win: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

* WebView.cpp:
(WebView::handleContextMenuEvent):

Source/WebKit2: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.

* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::show):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::characterIndexForPoint):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.exp.in
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/page/EventHandler.cpp
trunk/Source/WebCore/rendering/HitTestResult.cpp
trunk/Source/WebCore/rendering/HitTestResult.h
trunk/Source/WebCore/rendering/RenderLayer.cpp
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp
trunk/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp
trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp
trunk/Source/WebKit/efl/ChangeLog
trunk/Source/WebKit/efl/ewk/ewk_frame.cpp
trunk/Source/WebKit/gtk/ChangeLog
trunk/Source/WebKit/gtk/webkit/webkithittestresult.cpp
trunk/Source/WebKit/mac/ChangeLog
trunk/Source/WebKit/mac/WebCoreSupport/WebContextMenu

[webkit-changes] [135449] trunk/Source/WebKit/qt

2012-11-21 Thread allan . jensen
Title: [135449] trunk/Source/WebKit/qt








Revision 135449
Author allan.jen...@digia.com
Date 2012-11-21 16:03:08 -0800 (Wed, 21 Nov 2012)


Log Message
Position in QWebHitTestResult does not match documentation
https://bugs.webkit.org/show_bug.cgi?id=102909

Reviewed by Simon Hausmann.

Correct documentation and simplify using the new innerNodeFrame method.

* Api/qwebframe.cpp:
(QWebHitTestResultPrivate::QWebHitTestResultPrivate):

Modified Paths

trunk/Source/WebKit/qt/Api/qwebframe.cpp
trunk/Source/WebKit/qt/ChangeLog




Diff

Modified: trunk/Source/WebKit/qt/Api/qwebframe.cpp (135448 => 135449)

--- trunk/Source/WebKit/qt/Api/qwebframe.cpp	2012-11-22 00:02:50 UTC (rev 135448)
+++ trunk/Source/WebKit/qt/Api/qwebframe.cpp	2012-11-22 00:03:08 UTC (rev 135449)
@@ -1598,7 +1598,6 @@
 {
 if (!hitTest.innerNode())
 return;
-// FIXME: This should probably use roundedPointInMainFrame if it is to match the documentation of QWebHitTestResult.
 pos = hitTest.roundedPointInInnerNodeFrame();
 WebCore::TextDirection dir;
 title = hitTest.title(dir);
@@ -1625,9 +1624,9 @@
 isContentSelected = hitTest.isSelected();
 isScrollBar = hitTest.scrollbar();
 
-if (innerNonSharedNode && innerNonSharedNode->document()
-&& innerNonSharedNode->document()->frame())
-frame = QWebFramePrivate::kit(innerNonSharedNode->document()->frame());
+WebCore::Frame *innerNodeFrame = hitTest.innerNodeFrame();
+if (innerNodeFrame)
+frame = QWebFramePrivate::kit(innerNodeFrame);
 
 enclosingBlock = QWebElement(WebCore::enclosingBlock(innerNode.get()));
 }
@@ -1685,7 +1684,9 @@
 }
 
 /*!
-Returns the position where the hit test occured.
+Returns the position where the hit test occured in the coordinates of frame containing the element hit.
+
+\sa frame()
 */
 QPoint QWebHitTestResult::pos() const
 {
@@ -1849,7 +1850,7 @@
 }
 
 /*!
-Returns the frame the hit test was executed in.
+Returns the frame of the element hit.
 */
 QWebFrame *QWebHitTestResult::frame() const
 {


Modified: trunk/Source/WebKit/qt/ChangeLog (135448 => 135449)

--- trunk/Source/WebKit/qt/ChangeLog	2012-11-22 00:02:50 UTC (rev 135448)
+++ trunk/Source/WebKit/qt/ChangeLog	2012-11-22 00:03:08 UTC (rev 135449)
@@ -1,5 +1,17 @@
 2012-11-21  Allan Sandfeld Jensen  
 
+Position in QWebHitTestResult does not match documentation
+https://bugs.webkit.org/show_bug.cgi?id=102909
+
+Reviewed by Simon Hausmann.
+
+Correct documentation and simplify using the new innerNodeFrame method.
+
+* Api/qwebframe.cpp:
+(QWebHitTestResultPrivate::QWebHitTestResultPrivate):
+
+2012-11-21  Allan Sandfeld Jensen  
+
 Disambiguate innerNodeFramePoint and mainFramePoint
 https://bugs.webkit.org/show_bug.cgi?id=98139
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [135507] trunk/Source/WebCore

2012-11-22 Thread allan . jensen
Title: [135507] trunk/Source/WebCore








Revision 135507
Author allan.jen...@digia.com
Date 2012-11-22 05:23:28 -0800 (Thu, 22 Nov 2012)


Log Message
[Qt] Lookup mimetypes using QMimeDatabase
https://bugs.webkit.org/show_bug.cgi?id=102667

Reviewed by Simon Hausmann.

The Qt backend of MIMETypeRegistry now looks up using QMimeDatabase.

* loader/archive/ArchiveFactory.cpp:
(WebCore::archiveMIMETypes):
Also map the preferred freedesktop mimetype for MIME archives to MIME archive constructor.
* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::getNormalizedMIMEType):
* platform/qt/MIMETypeRegistryQt.cpp:
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
(WebCore::MIMETypeRegistry::getMIMETypeForPath):
(WebCore::MIMETypeRegistry::getNormalizedMIMEType):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/archive/ArchiveFactory.cpp
trunk/Source/WebCore/platform/MIMETypeRegistry.cpp
trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (135506 => 135507)

--- trunk/Source/WebCore/ChangeLog	2012-11-22 13:16:48 UTC (rev 135506)
+++ trunk/Source/WebCore/ChangeLog	2012-11-22 13:23:28 UTC (rev 135507)
@@ -1,3 +1,22 @@
+2012-11-22  Allan Sandfeld Jensen  
+
+[Qt] Lookup mimetypes using QMimeDatabase
+https://bugs.webkit.org/show_bug.cgi?id=102667
+
+Reviewed by Simon Hausmann.
+
+The Qt backend of MIMETypeRegistry now looks up using QMimeDatabase.
+
+* loader/archive/ArchiveFactory.cpp:
+(WebCore::archiveMIMETypes):
+Also map the preferred freedesktop mimetype for MIME archives to MIME archive constructor.
+* platform/MIMETypeRegistry.cpp:
+(WebCore::MIMETypeRegistry::getNormalizedMIMEType):
+* platform/qt/MIMETypeRegistryQt.cpp:
+(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+(WebCore::MIMETypeRegistry::getMIMETypeForPath):
+(WebCore::MIMETypeRegistry::getNormalizedMIMEType):
+
 2012-11-22  Cosmin Truta  
 
 Move URL-checking code into Frame


Modified: trunk/Source/WebCore/loader/archive/ArchiveFactory.cpp (135506 => 135507)

--- trunk/Source/WebCore/loader/archive/ArchiveFactory.cpp	2012-11-22 13:16:48 UTC (rev 135506)
+++ trunk/Source/WebCore/loader/archive/ArchiveFactory.cpp	2012-11-22 13:23:28 UTC (rev 135507)
@@ -70,6 +70,8 @@
 mimeTypes.set("multipart/related", archiveFactoryCreate);
 #if PLATFORM(GTK)
 mimeTypes.set("message/rfc822", archiveFactoryCreate);
+#elif PLATFORM(QT)
+mimeTypes.set("application/x-mimearchive", archiveFactoryCreate);
 #endif
 #endif
 


Modified: trunk/Source/WebCore/platform/MIMETypeRegistry.cpp (135506 => 135507)

--- trunk/Source/WebCore/platform/MIMETypeRegistry.cpp	2012-11-22 13:16:48 UTC (rev 135506)
+++ trunk/Source/WebCore/platform/MIMETypeRegistry.cpp	2012-11-22 13:23:28 UTC (rev 135507)
@@ -491,6 +491,7 @@
 return findMimeType(commonMediaTypes, sizeof(commonMediaTypes) / sizeof(commonMediaTypes[0]), extension);
 }
 
+#if !PLATFORM(QT)
 String MIMETypeRegistry::getMIMETypeForPath(const String& path)
 {
 size_t pos = path.reverseFind('.');
@@ -500,8 +501,9 @@
 if (result.length())
 return result;
 }
-return "application/octet-stream";
+return defaultMIMEType();
 }
+#endif
 
 bool MIMETypeRegistry::isSupportedImageMIMEType(const String& mimeType)
 {
@@ -638,6 +640,13 @@
 return defaultMIMEType;
 }
 
+#if !PLATFORM(QT) && !PLATFORM(BLACKBERRY)
+String MIMETypeRegistry::getNormalizedMIMEType(const String& mimeType)
+{
+return mimeType;
+}
+#endif
+
 #if PLATFORM(BLACKBERRY)
 typedef HashMap MIMETypeAssociationMap;
 
@@ -696,18 +705,16 @@
 
 return *mimeTypeMap;
 }
-#endif
 
 String MIMETypeRegistry::getNormalizedMIMEType(const String& mimeType)
 {
-#if PLATFORM(BLACKBERRY)
 MIMETypeAssociationMap::const_iterator it = mimeTypeAssociationMap().find(mimeType);
 
 if (it != mimeTypeAssociationMap().end())
 return it->value;
-#endif
+
 return mimeType;
 }
+#endif
 
-
 } // namespace WebCore


Modified: trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp (135506 => 135507)

--- trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-11-22 13:16:48 UTC (rev 135506)
+++ trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-11-22 13:23:28 UTC (rev 135507)
@@ -29,76 +29,41 @@
 #include "config.h"
 #include "MIMETypeRegistry.h"
 
+#include 
 #include 
 #include 
 
 namespace WebCore {
 
-struct ExtensionMap {
-const char* extension;
-const char* mimeType;
-};
+String MIMETypeRegistry::getMIMETypeForExtension(const String &ext)
+{
+// QMimeDatabase lacks the ability to query by extension alone, so we create a fake filename to lookup.
+const QString filename = QStringLiteral("filename.") + QString(ext.lower());
 
-static const ExtensionMap extensionMap[] = {
-{ "bmp", "image/bmp" },
-{ "css", "text/css" },
-{ "gif", "image/gif" },
-{ "html", "

[webkit-changes] [135511] trunk/Source/WebCore

2012-11-22 Thread allan . jensen
Title: [135511] trunk/Source/WebCore








Revision 135511
Author allan.jen...@digia.com
Date 2012-11-22 05:50:21 -0800 (Thu, 22 Nov 2012)


Log Message
[Qt] Correct extensions on preferredFilename
https://bugs.webkit.org/show_bug.cgi?id=103054

Reviewed by Simon Hausmann.

When guessing a filename we will now ensure it has an extension that is valid for its mimetype.
To do this the two missing methods getExtensionsForMIMEType and getPreferredExtensionForMIMEType
have been added to the Qt implementation of MIMETypeRegistry.

* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
* platform/qt/MIMETypeRegistryQt.cpp:
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (135510 => 135511)

--- trunk/Source/WebCore/ChangeLog	2012-11-22 13:45:59 UTC (rev 135510)
+++ trunk/Source/WebCore/ChangeLog	2012-11-22 13:50:21 UTC (rev 135511)
@@ -1,3 +1,20 @@
+2012-11-22  Allan Sandfeld Jensen  
+
+[Qt] Correct extensions on preferredFilename
+https://bugs.webkit.org/show_bug.cgi?id=103054
+
+Reviewed by Simon Hausmann.
+
+When guessing a filename we will now ensure it has an extension that is valid for its mimetype.
+To do this the two missing methods getExtensionsForMIMEType and getPreferredExtensionForMIMEType
+have been added to the Qt implementation of MIMETypeRegistry.
+
+* platform/network/qt/QNetworkReplyHandler.cpp:
+(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+* platform/qt/MIMETypeRegistryQt.cpp:
+(WebCore::MIMETypeRegistry::getExtensionsForMIMEType):
+(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
+
 2012-11-22  Kent Tamura  
 
 INPUT_MULTIPLE_FIELDS_UI: Refactoring: Do not call updateInnerTextValue if only read-only sub-fields have values


Modified: trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp (135510 => 135511)

--- trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp	2012-11-22 13:45:59 UTC (rev 135510)
+++ trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp	2012-11-22 13:50:21 UTC (rev 135511)
@@ -32,6 +32,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -581,8 +582,21 @@
 
 if (!suggestedFilename.isEmpty())
 response.setSuggestedFilename(suggestedFilename);
-else
-response.setSuggestedFilename(url.lastPathComponent());
+else {
+Vector extensions = MIMETypeRegistry::getExtensionsForMIMEType(mimeType);
+if (extensions.isEmpty())
+response.setSuggestedFilename(url.lastPathComponent());
+else {
+// If the suffix doesn't match the MIME type, correct the suffix.
+QString filename = url.lastPathComponent();
+const String suffix = QMimeDatabase().suffixForFileName(filename);
+if (!extensions.contains(suffix)) {
+filename.chop(suffix.length());
+filename += MIMETypeRegistry::getPreferredExtensionForMIMEType(mimeType);
+}
+response.setSuggestedFilename(filename);
+}
+}
 
 response.setHTTPStatusCode(statusCode);
 response.setHTTPStatusText(m_replyWrapper->reply()->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toByteArray().constData());


Modified: trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp (135510 => 135511)

--- trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-11-22 13:45:59 UTC (rev 135510)
+++ trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-11-22 13:50:21 UTC (rev 135511)
@@ -56,6 +56,28 @@
 return defaultMIMEType();
 }
 
+Vector MIMETypeRegistry::getExtensionsForMIMEType(const String& mimeTypeName)
+{
+Vector extensions;
+QMimeType mimeType = QMimeDatabase().mimeTypeForName(mimeTypeName);
+if (mimeType.isValid() && !mimeType.isDefault()) {
+Q_FOREACH(const QString& suffix, mimeType.suffixes()) {
+extensions.append(suffix);
+}
+}
+
+return extensions;
+}
+
+String MIMETypeRegistry::getPreferredExtensionForMIMEType(const String& mimeTypeName)
+{
+QMimeType mimeType = QMimeDatabase().mimeTypeForName(mimeTypeName);
+if (mimeType.isValid() && !mimeType.isDefault())
+return mimeType.preferredSuffix();
+
+return String();
+}
+
 String MIMETypeRegistry::getNormalizedMIMEType(const String& mimeTypeName)
 {
 // This looks up the mime type object by preferred name or alias, and returns the preferred name.






___
webkit-changes mailing list
webkit-changes@lists.we

[webkit-changes] [135577] trunk

2012-11-23 Thread allan . jensen
Title: [135577] trunk








Revision 135577
Author allan.jen...@digia.com
Date 2012-11-23 02:30:23 -0800 (Fri, 23 Nov 2012)


Log Message
[Qt] REGRESSION(r135507): It made 13 tests fail
https://bugs.webkit.org/show_bug.cgi?id=103069

Reviewed by Simon Hausmann.

Source/WebCore:

Fix regression in recognizing MHTML on some platforms.

* platform/qt/MIMETypeRegistryQt.cpp:
(ExtensionMap):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
(WebCore::MIMETypeRegistry::getMIMETypeForPath):

LayoutTests:

Unskip fixed test and update one benign change.

* platform/qt/TestExpectations:
* platform/qt/fast/preloader/script-expected.txt: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/qt/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp


Added Paths

trunk/LayoutTests/platform/qt/fast/preloader/script-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (135576 => 135577)

--- trunk/LayoutTests/ChangeLog	2012-11-23 10:18:12 UTC (rev 135576)
+++ trunk/LayoutTests/ChangeLog	2012-11-23 10:30:23 UTC (rev 135577)
@@ -1,3 +1,15 @@
+2012-11-23  Allan Sandfeld Jensen  
+
+[Qt] REGRESSION(r135507): It made 13 tests fail
+https://bugs.webkit.org/show_bug.cgi?id=103069
+
+Reviewed by Simon Hausmann.
+
+Unskip fixed test and update one benign change.
+
+* platform/qt/TestExpectations:
+* platform/qt/fast/preloader/script-expected.txt: Added.
+
 2012-11-23  Pierre Rossi  
 
 [Qt] REGRESSION(r135515): 3 appcache tests still failing


Modified: trunk/LayoutTests/platform/qt/TestExpectations (135576 => 135577)

--- trunk/LayoutTests/platform/qt/TestExpectations	2012-11-23 10:18:12 UTC (rev 135576)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2012-11-23 10:30:23 UTC (rev 135577)
@@ -2386,17 +2386,5 @@
 
 # [Qt] REGRESSION(r135507): It made 13 tests fail
 # https://bugs.webkit.org/show_bug.cgi?id=103069
-fast/preloader/script.html
 http/tests/navigation/reload-subframe-object.html
-mhtml/check_domain.mht
-mhtml/multi_frames_binary.mht
-mhtml/multi_frames_ie.mht
-mhtml/multi_frames_unmht.mht
-mhtml/page_with_css_and_js_ie.mht
-mhtml/page_with_css_and_js_unmht.mht
-mhtml/page_with_image_ie.mht
-mhtml/page_with_image_unmht.mht
-mhtml/shared_buffer_bug.mht
-mhtml/simple_page_ie.mht
-mhtml/simple_page_unmht.mht
 


Added: trunk/LayoutTests/platform/qt/fast/preloader/script-expected.txt (0 => 135577)

--- trunk/LayoutTests/platform/qt/fast/preloader/script-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/qt/fast/preloader/script-expected.txt	2012-11-23 10:30:23 UTC (rev 135577)
@@ -0,0 +1,5 @@
+script1.js has MIME type application/_javascript_
+This test requires DumpRenderTree to see the log of what resources are loaded.
+
+

[webkit-changes] [135584] trunk

2012-11-23 Thread allan . jensen
Title: [135584] trunk








Revision 135584
Author allan.jen...@digia.com
Date 2012-11-23 03:27:30 -0800 (Fri, 23 Nov 2012)


Log Message
[Qt] REGRESSION(r135507): It made 13 tests fail
https://bugs.webkit.org/show_bug.cgi?id=103069

Reviewed by Simon Hausmann.

Source/WebCore:

The subframe loading logic depends on that script extensions are not recognized,
so avoid recognizing them in getMIMETypeForExtension which is used for pre-load
mimetype detection.

* platform/qt/MIMETypeRegistryQt.cpp:
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):

LayoutTests:

Unskip the last of test regressions now passing.

* platform/qt/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/qt/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (135583 => 135584)

--- trunk/LayoutTests/ChangeLog	2012-11-23 11:22:39 UTC (rev 135583)
+++ trunk/LayoutTests/ChangeLog	2012-11-23 11:27:30 UTC (rev 135584)
@@ -1,3 +1,14 @@
+2012-11-23  Allan Sandfeld Jensen  
+
+[Qt] REGRESSION(r135507): It made 13 tests fail
+https://bugs.webkit.org/show_bug.cgi?id=103069
+
+Reviewed by Simon Hausmann.
+
+Unskip the last of test regressions now passing.
+
+* platform/qt/TestExpectations:
+
 2012-11-23  Yury Semikhatsky  
 
 Unreviewed. Updated test expectations.


Modified: trunk/LayoutTests/platform/qt/TestExpectations (135583 => 135584)

--- trunk/LayoutTests/platform/qt/TestExpectations	2012-11-23 11:22:39 UTC (rev 135583)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2012-11-23 11:27:30 UTC (rev 135584)
@@ -2383,8 +2383,3 @@
 
 # Fails until we enable the Resource Timing API.
 webkit.org/b/61138 http/tests/w3c/webperf/submission/resource-timing [ Skip ]
-
-# [Qt] REGRESSION(r135507): It made 13 tests fail
-# https://bugs.webkit.org/show_bug.cgi?id=103069
-http/tests/navigation/reload-subframe-object.html
-


Modified: trunk/Source/WebCore/ChangeLog (135583 => 135584)

--- trunk/Source/WebCore/ChangeLog	2012-11-23 11:22:39 UTC (rev 135583)
+++ trunk/Source/WebCore/ChangeLog	2012-11-23 11:27:30 UTC (rev 135584)
@@ -1,3 +1,17 @@
+2012-11-23  Allan Sandfeld Jensen  
+
+[Qt] REGRESSION(r135507): It made 13 tests fail
+https://bugs.webkit.org/show_bug.cgi?id=103069
+
+Reviewed by Simon Hausmann.
+
+The subframe loading logic depends on that script extensions are not recognized,
+so avoid recognizing them in getMIMETypeForExtension which is used for pre-load
+mimetype detection.
+
+* platform/qt/MIMETypeRegistryQt.cpp:
+(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+
 2012-11-23  Jochen Eisinger  
 
 REGRESSION (r135455): Compilation without SVG enabled broken


Modified: trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp (135583 => 135584)

--- trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-11-23 11:22:39 UTC (rev 135583)
+++ trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-11-23 11:27:30 UTC (rev 135584)
@@ -57,8 +57,13 @@
 const QString filename = QStringLiteral("filename.") + QString(suffix);
 
 QMimeType mimeType = QMimeDatabase().mimeTypeForFile(filename, QMimeDatabase::MatchExtension);
-if (mimeType.isValid() && !mimeType.isDefault())
+if (mimeType.isValid() && !mimeType.isDefault()) {
+// getMIMETypeForExtension is used for preload mimetype check, so image looking files can not be loaded as anything but images.
+// Script looking files (.php) are loaded normally and will have their mimetype determined later.
+if (mimeType.inherits(QStringLiteral("application/x-executable")))
+return String();
 return mimeType.name();
+}
 
 const ExtensionMap *e = extensionMap;
 while (e->extension) {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [135602] trunk/Source/WebKit/qt

2012-11-23 Thread allan . jensen
Title: [135602] trunk/Source/WebKit/qt








Revision 135602
Author allan.jen...@digia.com
Date 2012-11-23 06:05:11 -0800 (Fri, 23 Nov 2012)


Log Message
tst_qwebpage fails after QMimeDatabase patch
https://bugs.webkit.org/show_bug.cgi?id=103125

Reviewed by Simon Hausmann.

Replace the static extension->mimetype table with a QMimeDatabase lookup

* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage::findText):
(tst_QWebPage::supportedContentType):

Modified Paths

trunk/Source/WebKit/qt/ChangeLog
trunk/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp




Diff

Modified: trunk/Source/WebKit/qt/ChangeLog (135601 => 135602)

--- trunk/Source/WebKit/qt/ChangeLog	2012-11-23 13:44:29 UTC (rev 135601)
+++ trunk/Source/WebKit/qt/ChangeLog	2012-11-23 14:05:11 UTC (rev 135602)
@@ -1,3 +1,16 @@
+2012-11-23  Allan Sandfeld Jensen  
+
+tst_qwebpage fails after QMimeDatabase patch
+https://bugs.webkit.org/show_bug.cgi?id=103125
+
+Reviewed by Simon Hausmann.
+
+Replace the static extension->mimetype table with a QMimeDatabase lookup
+
+* tests/qwebpage/tst_qwebpage.cpp:
+(tst_QWebPage::findText):
+(tst_QWebPage::supportedContentType):
+
 2012-11-23  Simon Hausmann  
 
 [Qt] Compiling against QtWebkit API requires QT_DLL to be defined


Modified: trunk/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp (135601 => 135602)

--- trunk/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp	2012-11-23 13:44:29 UTC (rev 135601)
+++ trunk/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp	2012-11-23 14:05:11 UTC (rev 135602)
@@ -27,6 +27,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -2969,79 +2970,43 @@
 }
 }
 
-struct ImageExtensionMap {
-const char* extension;
-const char* mimeType;
-};
-
-static const ImageExtensionMap extensionMap[] = {
-{ "bmp", "image/bmp" },
-{ "css", "text/css" },
-{ "gif", "image/gif" },
-{ "html", "text/html" },
-{ "htm", "text/html" },
-{ "ico", "image/x-icon" },
-{ "jpeg", "image/jpeg" },
-{ "jpg", "image/jpeg" },
-{ "js", "application/x-_javascript_" },
-{ "mng", "video/x-mng" },
-{ "pbm", "image/x-portable-bitmap" },
-{ "pgm", "image/x-portable-graymap" },
-{ "pdf", "application/pdf" },
-{ "png", "image/png" },
-{ "ppm", "image/x-portable-pixmap" },
-{ "rss", "application/rss+xml" },
-{ "svg", "image/svg+xml" },
-{ "text", "text/plain" },
-{ "tif", "image/tiff" },
-{ "tiff", "image/tiff" },
-{ "txt", "text/plain" },
-{ "xbm", "image/x-xbitmap" },
-{ "xml", "text/xml" },
-{ "xpm", "image/x-xpm" },
-{ "xsl", "text/xsl" },
-{ "xhtml", "application/xhtml+xml" },
-{ "wml", "text/vnd.wap.wml" },
-{ "wmlc", "application/vnd.wap.wmlc" },
-{ 0, 0 }
-};
-
 static QString getMimeTypeForExtension(const QString &ext)
 {
-const ImageExtensionMap *e = extensionMap;
-while (e->extension) {
-if (ext.compare(QLatin1String(e->extension), Qt::CaseInsensitive) == 0)
-return QLatin1String(e->mimeType);
-++e;
-}
+QMimeType mimeType = QMimeDatabase().mimeTypeForFile(QStringLiteral("filename.") + ext.toLower(), QMimeDatabase::MatchExtension);
+if (mimeType.isValid() && !mimeType.isDefault())
+return mimeType.name();
 
 return QString();
 }
 
 void tst_QWebPage::supportedContentType()
 {
-   QStringList contentTypes;
+QStringList contentTypes;
 
-   // Add supported non image types...
-   contentTypes << "text/html" << "text/xml" << "text/xsl" << "text/plain" << "text/"
-<< "application/xml" << "application/xhtml+xml" << "application/vnd.wap.xhtml+xml"
-<< "application/rss+xml" << "application/atom+xml" << "application/json";
+// Add supported non image types...
+contentTypes << "text/html" << "text/xml" << "text/xsl" << "text/plain" << "text/"
+ << "application/xml" << "application/xhtml+xml" << "application/vnd.wap.xhtml+xml"
+ << "application/rss+xml" << "application/atom+xml" << "application/json";
 
-   // Add supported image types...
-   Q_FOREACH(const QByteArray& imageType, QImageWriter::supportedImageFormats()) {
-  const QString mimeType = getMimeTypeForExtension(imageType);
-  if (!mimeType.isEmpty())
-  contentTypes << mimeType;
-   }
+#if ENABLE_MHTML
+contentTypes << "application/x-mimearchive";
+#endif
 
-   // Get the mime types supported by webkit...
-   const QStringList supportedContentTypes = m_page->supportedContentTypes();
+// Add supported image types...
+Q_FOREACH(const QByteArray& imageType, QImageWriter::supportedImageFormats()) {
+const QString mimeType = getMimeTypeForExtension(imageType);
+if (!mimeType.isEmpty())
+contentTypes << mimeType;
+}
 
-   Q_FOREACH(const QString& mimeType, contentTypes)
-  QVERIFY2(supportedContentTypes.contains(mimeType), QString("'%1' is not a supporte

[webkit-changes] [135710] trunk/Source/WebCore

2012-11-26 Thread allan . jensen
Title: [135710] trunk/Source/WebCore








Revision 135710
Author allan.jen...@digia.com
Date 2012-11-26 05:54:02 -0800 (Mon, 26 Nov 2012)


Log Message
HitTestResult should not be a HitTestLocation
https://bugs.webkit.org/show_bug.cgi?id=101590

Reviewed by Sam Weinig.

Change HitTestResult from being a HitTestLocation to having a HitTestLocation.
A result of a test should not be a special case of the location of the test.

No change in functionality. No new tests.

* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::isSelected):
(WebCore::HitTestResult::spellingToolTip):
(WebCore::HitTestResult::replacedString):
* rendering/HitTestResult.h:
(WebCore::HitTestResult::isRectBasedTest):
(WebCore::HitTestResult::pointInInnerNodeFrame):
(WebCore::HitTestResult::hitTestLocation):
(HitTestResult):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/HitTestResult.cpp
trunk/Source/WebCore/rendering/HitTestResult.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (135709 => 135710)

--- trunk/Source/WebCore/ChangeLog	2012-11-26 13:41:20 UTC (rev 135709)
+++ trunk/Source/WebCore/ChangeLog	2012-11-26 13:54:02 UTC (rev 135710)
@@ -1,3 +1,27 @@
+2012-11-26  Allan Sandfeld Jensen  
+
+HitTestResult should not be a HitTestLocation
+https://bugs.webkit.org/show_bug.cgi?id=101590
+
+Reviewed by Sam Weinig.
+
+Change HitTestResult from being a HitTestLocation to having a HitTestLocation. 
+A result of a test should not be a special case of the location of the test.
+
+No change in functionality. No new tests.
+
+* rendering/HitTestResult.cpp:
+(WebCore::HitTestResult::HitTestResult):
+(WebCore::HitTestResult::operator=):
+(WebCore::HitTestResult::isSelected):
+(WebCore::HitTestResult::spellingToolTip):
+(WebCore::HitTestResult::replacedString):
+* rendering/HitTestResult.h:
+(WebCore::HitTestResult::isRectBasedTest):
+(WebCore::HitTestResult::pointInInnerNodeFrame):
+(WebCore::HitTestResult::hitTestLocation):
+(HitTestResult):
+
 2012-11-26  Marja Hölttä  
 
 Circular reference between Document and MediaQueryMatcher.


Modified: trunk/Source/WebCore/rendering/HitTestResult.cpp (135709 => 135710)

--- trunk/Source/WebCore/rendering/HitTestResult.cpp	2012-11-26 13:41:20 UTC (rev 135709)
+++ trunk/Source/WebCore/rendering/HitTestResult.cpp	2012-11-26 13:54:02 UTC (rev 135710)
@@ -192,34 +192,34 @@
 return IntRect(actualPoint, actualPadding);
 }
 
-HitTestResult::HitTestResult() : HitTestLocation()
-, m_isOverWidget(false)
+HitTestResult::HitTestResult()
+: m_isOverWidget(false)
 {
 }
 
 HitTestResult::HitTestResult(const LayoutPoint& point)
-: HitTestLocation(point)
+: m_hitTestLocation(point)
 , m_pointInMainFrame(point)
 , m_isOverWidget(false)
 {
 }
 
 HitTestResult::HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding)
-: HitTestLocation(centerPoint, topPadding, rightPadding, bottomPadding, leftPadding)
+: m_hitTestLocation(centerPoint, topPadding, rightPadding, bottomPadding, leftPadding)
 , m_pointInMainFrame(centerPoint)
 , m_isOverWidget(false)
 {
 }
 
 HitTestResult::HitTestResult(const HitTestLocation& other)
-: HitTestLocation(other)
-, m_pointInMainFrame(point())
+: m_hitTestLocation(other)
+, m_pointInMainFrame(m_hitTestLocation.point())
 , m_isOverWidget(false)
 {
 }
 
 HitTestResult::HitTestResult(const HitTestResult& other)
-: HitTestLocation(other)
+: m_hitTestLocation(other.m_hitTestLocation)
 , m_innerNode(other.innerNode())
 , m_innerNonSharedNode(other.innerNonSharedNode())
 , m_pointInMainFrame(other.m_pointInMainFrame)
@@ -238,7 +238,7 @@
 
 HitTestResult& HitTestResult::operator=(const HitTestResult& other)
 {
-HitTestLocation::operator=(other);
+m_hitTestLocation = other.m_hitTestLocation;
 m_innerNode = other.innerNode();
 m_innerNonSharedNode = other.innerNonSharedNode();
 m_pointInMainFrame = other.m_pointInMainFrame;
@@ -315,7 +315,7 @@
 if (!frame)
 return false;
 
-return frame->selection()->contains(point());
+return frame->selection()->contains(m_hitTestLocation.point());
 }
 
 String HitTestResult::spellingToolTip(TextDirection& dir) const
@@ -326,7 +326,7 @@
 if (!m_innerNonSharedNode)
 return String();
 
-DocumentMarker* marker = m_innerNonSharedNode->document()->markers()->markerContainingPoint(point(), DocumentMarker::Grammar);
+DocumentMarker* marker = m_innerNonSharedNode->document()->markers()->markerContainingPoint(m_hitTestLocation.point(), DocumentMarker::Grammar);
 if (!marker)
 return String();
 
@@ -342,7 +342,7 @@
 if (!m_innerNonSharedNode)
 return String();
 
-Document

[webkit-changes] [135841] trunk

2012-11-27 Thread allan . jensen
Title: [135841] trunk








Revision 135841
Author allan.jen...@digia.com
Date 2012-11-27 03:03:23 -0800 (Tue, 27 Nov 2012)


Log Message
Incorrect rect-based hit-test result when hit-test region includes culled inlines
https://bugs.webkit.org/show_bug.cgi?id=88376

Patch by Allan Sandfeld Jensen  on 2012-09-17
Reviewed by Dave Hyatt.

Source/WebCore:

Move the handling of culled inlines from HitTestResult::addNodeToRectBasedTestResult to
InlineFlowBox::nodeAtPoint. This makes it possible to fix a number of bugs with how
culled inlines were handled. They are now checked after all their children, and may
terminate area-based hit-testing if they contain the whole area.

Tests: fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html
   fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html

* rendering/HitTestResult.cpp:
(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestResult::addNodeToRectBasedTestResult):
* rendering/HitTestResult.h:
(HitTestLocation):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::hitTestCulledInline):
* rendering/RenderInline.h:
(RenderInline):

LayoutTests:

Renames the existing nodesFromRect-culled-inlines.html test to nodesFromRect-inline-image.html,
because it did not test any culled inlines anymore, and replace it with two new tests that does
test culled inlines.

* fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak-expected.txt: Copied from LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt.
* fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html: Added.
* fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt:
* fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html:
* fast/dom/nodesFromRect/nodesFromRect-inline-image-expected.txt: Added.
* fast/dom/nodesFromRect/nodesFromRect-inline-image.html: Added.
* fast/dom/nodesFromRect/resources/nodesFromRect.js:
(checkRect):
(nodesFromRectAsString):

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt
trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html
trunk/LayoutTests/fast/dom/nodesFromRect/resources/nodesFromRect.js
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/HitTestResult.cpp
trunk/Source/WebCore/rendering/HitTestResult.h
trunk/Source/WebCore/rendering/InlineFlowBox.cpp
trunk/Source/WebCore/rendering/RenderInline.cpp
trunk/Source/WebCore/rendering/RenderInline.h


Added Paths

trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak-expected.txt
trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html
trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-inline-image-expected.txt
trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-inline-image.html




Diff

Modified: trunk/LayoutTests/ChangeLog (135840 => 135841)

--- trunk/LayoutTests/ChangeLog	2012-11-27 10:37:03 UTC (rev 135840)
+++ trunk/LayoutTests/ChangeLog	2012-11-27 11:03:23 UTC (rev 135841)
@@ -1,3 +1,24 @@
+2012-09-17  Allan Sandfeld Jensen  
+
+Incorrect rect-based hit-test result when hit-test region includes culled inlines
+https://bugs.webkit.org/show_bug.cgi?id=88376
+
+Reviewed by Dave Hyatt.
+
+Renames the existing nodesFromRect-culled-inlines.html test to nodesFromRect-inline-image.html,
+because it did not test any culled inlines anymore, and replace it with two new tests that does
+test culled inlines.
+
+* fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak-expected.txt: Copied from LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt.
+* fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html: Added.
+* fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt:
+* fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html:
+* fast/dom/nodesFromRect/nodesFromRect-inline-image-expected.txt: Added.
+* fast/dom/nodesFromRect/nodesFromRect-inline-image.html: Added.
+* fast/dom/nodesFromRect/resources/nodesFromRect.js:
+(checkRect):
+(nodesFromRectAsString):
+
 2012-11-27  Kent Tamura  
 
 Reduce the number of pixel tests for date/time input types


Copied: trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak-expected.txt (from rev 135840, trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt) (0 => 135841)

--- trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak-expected.txt	2012-11-27 11:03:23 UTC (rev 135841)
@@ -0,0 +1,12 @@
+Document::nodesFromRect : culled inline with line-break - bug 88376
+
+On success,

[webkit-changes] [135842] trunk/Source/WebCore

2012-11-27 Thread allan . jensen
Title: [135842] trunk/Source/WebCore








Revision 135842
Author allan.jen...@digia.com
Date 2012-11-27 03:15:38 -0800 (Tue, 27 Nov 2012)


Log Message
[Qt] Implement the mimetype icon methods
https://bugs.webkit.org/show_bug.cgi?id=103260

Reviewed by Simon Hausmann.

* platform/graphics/Icon.h:
(Icon):
* platform/graphics/qt/IconQt.cpp:
(WebCore::Icon::createIconForFiles):
(WebCore::Icon::paint):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/Icon.h
trunk/Source/WebCore/platform/graphics/qt/IconQt.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (135841 => 135842)

--- trunk/Source/WebCore/ChangeLog	2012-11-27 11:03:23 UTC (rev 135841)
+++ trunk/Source/WebCore/ChangeLog	2012-11-27 11:15:38 UTC (rev 135842)
@@ -1,3 +1,16 @@
+2012-11-26  Allan Sandfeld Jensen  
+
+[Qt] Implement the mimetype icon methods
+https://bugs.webkit.org/show_bug.cgi?id=103260
+
+Reviewed by Simon Hausmann.
+
+* platform/graphics/Icon.h:
+(Icon):
+* platform/graphics/qt/IconQt.cpp:
+(WebCore::Icon::createIconForFiles):
+(WebCore::Icon::paint):
+
 2012-09-17  Allan Sandfeld Jensen  
 
 Incorrect rect-based hit-test result when hit-test region includes culled inlines


Modified: trunk/Source/WebCore/platform/graphics/Icon.h (135841 => 135842)

--- trunk/Source/WebCore/platform/graphics/Icon.h	2012-11-27 11:03:23 UTC (rev 135841)
+++ trunk/Source/WebCore/platform/graphics/Icon.h	2012-11-27 11:15:38 UTC (rev 135842)
@@ -32,7 +32,7 @@
 #elif PLATFORM(WIN)
 typedef struct HICON__* HICON;
 #elif PLATFORM(QT)
-#include 
+#include 
 #elif PLATFORM(GTK)
 typedef struct _GdkPixbuf GdkPixbuf;
 #elif PLATFORM(EFL)
@@ -70,7 +70,7 @@
 HICON m_hIcon;
 #elif PLATFORM(QT)
 Icon();
-QImage m_image;
+QIcon m_icon;
 #elif PLATFORM(GTK)
 Icon();
 GdkPixbuf* m_icon;


Modified: trunk/Source/WebCore/platform/graphics/qt/IconQt.cpp (135841 => 135842)

--- trunk/Source/WebCore/platform/graphics/qt/IconQt.cpp	2012-11-27 11:03:23 UTC (rev 135841)
+++ trunk/Source/WebCore/platform/graphics/qt/IconQt.cpp	2012-11-27 11:15:38 UTC (rev 135842)
@@ -24,6 +24,7 @@
 #include "GraphicsContext.h"
 #include "IntRect.h"
 #include "NotImplemented.h"
+#include 
 #include 
 
 namespace WebCore {
@@ -37,16 +38,49 @@
 }
 
 // FIXME: Move the code to ChromeClient::iconForFiles().
-PassRefPtr Icon::createIconForFiles(const Vector&)
+PassRefPtr Icon::createIconForFiles(const Vector& filenames)
 {
-// FIXME: Should use QMimeType in Qt 5.
-notImplemented();
-return 0;
+if (filenames.isEmpty())
+return 0;
+
+QMimeType mimeType = QMimeDatabase().mimeTypeForFile(filenames[0], QMimeDatabase::MatchExtension);
+
+QString iconName = mimeType.iconName();
+QString genericIconName = mimeType.genericIconName();
+
+// We try to match one of three cases:
+// 1. All the files have the same type.
+// 2. All the files are of the same generic type.
+// 3. The files are not even of the same generic type.
+const int count = filenames.size();
+for (int i = 1; i < count; ++i) {
+mimeType = QMimeDatabase().mimeTypeForFile(filenames[i], QMimeDatabase::MatchExtension);
+if (iconName != mimeType.iconName())
+iconName.clear();
+if (genericIconName != mimeType.genericIconName()) {
+genericIconName.clear();
+break;
+}
+}
+
+// FIXME: By default, only X11 will support themed icons.
+RefPtr icon = adoptRef(new Icon);
+if (!iconName.isEmpty())
+icon->m_icon = QIcon::fromTheme(iconName, QIcon::fromTheme(genericIconName));
+else if (!genericIconName.isEmpty())
+icon->m_icon = QIcon::fromTheme(genericIconName);
+
+if (icon->m_icon.isNull())
+return 0;
+return icon.release();
 }
 
-void Icon::paint(GraphicsContext*, const IntRect&)
+void Icon::paint(GraphicsContext* context, const IntRect& rect)
 {
-notImplemented();
+if (m_icon.isNull())
+return;
+
+m_icon.paint(context->platformContext(), rect);
 }
 
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [135852] trunk/LayoutTests

2012-11-27 Thread allan . jensen
Title: [135852] trunk/LayoutTests








Revision 135852
Author allan.jen...@digia.com
Date 2012-11-27 05:27:52 -0800 (Tue, 27 Nov 2012)


Log Message
Reduce XHR timeout tests execution time
https://bugs.webkit.org/show_bug.cgi?id=102184

Reviewed by Csaba Osztrogonác.

Reduce all timeouts by five.

* http/tests/resources/load-and-stall.cgi:
* http/tests/resources/load-and-stall.php:
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-runner.js:
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js:
(RequestTracker.prototype.startXHR):
(RequestTracker.prototype.handleEvent):
(AbortedRequest.prototype.getMessage):
(AbortedRequest.prototype.handleEvent):
(SyncRequestSettingTimeoutAfterOpen.startXHR):
(SyncRequestSettingTimeoutBeforeOpen.startXHR):
(TestCounter.testComplete):

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/tests/resources/load-and-stall.cgi
trunk/LayoutTests/http/tests/resources/load-and-stall.php
trunk/LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-runner.js
trunk/LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js




Diff

Modified: trunk/LayoutTests/ChangeLog (135851 => 135852)

--- trunk/LayoutTests/ChangeLog	2012-11-27 13:23:10 UTC (rev 135851)
+++ trunk/LayoutTests/ChangeLog	2012-11-27 13:27:52 UTC (rev 135852)
@@ -1,3 +1,24 @@
+2012-11-27  Allan Sandfeld Jensen  
+
+Reduce XHR timeout tests execution time
+https://bugs.webkit.org/show_bug.cgi?id=102184
+
+Reviewed by Csaba Osztrogonác.
+
+Reduce all timeouts by five.
+
+* http/tests/resources/load-and-stall.cgi:
+* http/tests/resources/load-and-stall.php:
+* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-runner.js:
+* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js:
+(RequestTracker.prototype.startXHR):
+(RequestTracker.prototype.handleEvent):
+(AbortedRequest.prototype.getMessage):
+(AbortedRequest.prototype.handleEvent):
+(SyncRequestSettingTimeoutAfterOpen.startXHR):
+(SyncRequestSettingTimeoutBeforeOpen.startXHR):
+(TestCounter.testComplete):
+
 2012-11-27  Mihnea Ovidenie  
 
 [CSS Regions] Absolutely positioned regions do not expand to fill their container


Modified: trunk/LayoutTests/http/tests/resources/load-and-stall.cgi (135851 => 135852)

--- trunk/LayoutTests/http/tests/resources/load-and-stall.cgi	2012-11-27 13:23:10 UTC (rev 135851)
+++ trunk/LayoutTests/http/tests/resources/load-and-stall.cgi	2012-11-27 13:27:52 UTC (rev 135852)
@@ -2,6 +2,7 @@
 
 use CGI;
 use File::stat;
+use Time::HiRes;
 
 $query = new CGI;
 $name = $query->param('name');
@@ -21,7 +22,7 @@
 $total += $n;
 if ($total > $stallAt) {
 if (defined $stallFor) {
-sleep($stallFor)
+Time::HiRes::sleep($stallFor)
 }
 last;
 }


Modified: trunk/LayoutTests/http/tests/resources/load-and-stall.php (135851 => 135852)

--- trunk/LayoutTests/http/tests/resources/load-and-stall.php	2012-11-27 13:23:10 UTC (rev 135851)
+++ trunk/LayoutTests/http/tests/resources/load-and-stall.php	2012-11-27 13:27:52 UTC (rev 135852)
@@ -27,7 +27,7 @@
 flush();
 ob_flush();
 }
-sleep($stallFor);
+usleep($stallFor * 100);
 echo(fread($file, filesize($name) - $stallAt));
 } else {
 echo(fread($file, filesize($name)));


Modified: trunk/LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-runner.js (135851 => 135852)

--- trunk/LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-runner.js	2012-11-27 13:23:10 UTC (rev 135851)
+++ trunk/LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-runner.js	2012-11-27 13:27:52 UTC (rev 135852)
@@ -21,7 +21,7 @@
 }
 
 // Setting up testharness.js
-setup({ explicit_done: true, timeout: 3 * 60 * 1000 });
+setup({ explicit_done: true, timeout: 30 * 1000 });
 
 // Abort test execution if an individual test case fails.
 add_result_callback(function (t) {


Modified: trunk/LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js (135851 => 135852)

--- trunk/LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js	2012-11-27 13:23:10 UTC (rev 135851)
+++ trunk/LayoutTests/http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js	2012-11-27 13:27:52 UTC (rev 135852)
@@ -11,10 +11,17 @@
request handlers.
  */
 
+var TIME_NORMAL_LOAD = 1000;
+var TIME_LATE_TIMEOUT = 800;
+var TIME_XHR_LOAD = 600;
+var TIME_REGULAR_TIMEOUT = 400;
+var TIME_SYNC_TIMEOUT = 200;
+var TIME_DELAY = 200;
+
 /*
- * This should point to a resource that responds after a delay of 3 seconds.
+ * This should point to a resource that responds after a delay of TIME_XHR_LOAD milliseconds.
  */
-var STALLED_REQUEST_URL = "/resources/load-and-stall.cgi?name=../../../http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js&stallFor=3&stallAt=0&mimeType=text/plain";
+var STALLED_REQUES

[webkit-changes] [135876] trunk/Source/WebCore

2012-11-27 Thread allan . jensen
Title: [135876] trunk/Source/WebCore








Revision 135876
Author allan.jen...@digia.com
Date 2012-11-27 10:30:27 -0800 (Tue, 27 Nov 2012)


Log Message
Unreviewed cleanup.

Remove leftover file that was replaced by PlatformScreenQt.cpp 4 years ago.

* platform/qt/ScreenQt.cpp: Removed.

Modified Paths

trunk/Source/WebCore/ChangeLog


Removed Paths

trunk/Source/WebCore/platform/qt/ScreenQt.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (135875 => 135876)

--- trunk/Source/WebCore/ChangeLog	2012-11-27 18:16:27 UTC (rev 135875)
+++ trunk/Source/WebCore/ChangeLog	2012-11-27 18:30:27 UTC (rev 135876)
@@ -1,3 +1,11 @@
+2012-11-27  Allan Sandfeld Jensen  
+
+Unreviewed cleanup.
+
+Remove leftover file that was replaced by PlatformScreenQt.cpp 4 years ago.
+
+* platform/qt/ScreenQt.cpp: Removed.
+
 2012-11-27  Istiaque Ahmed  
 
 freeV8NPObject: Skip trying to remove object from per context data's ObjectMap if the object does not exist in the map.


Deleted: trunk/Source/WebCore/platform/qt/ScreenQt.cpp (135875 => 135876)

--- trunk/Source/WebCore/platform/qt/ScreenQt.cpp	2012-11-27 18:16:27 UTC (rev 135875)
+++ trunk/Source/WebCore/platform/qt/ScreenQt.cpp	2012-11-27 18:30:27 UTC (rev 135876)
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2006 Dirk Mueller 
- *   (C) 2006 Nikolas Zimmermann 
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *notice, this list of conditions and the following disclaimer in the
- *documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "Screen.h"
-
-#include "FloatRect.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "IntRect.h"
-#include "Page.h"
-#include "Widget.h"
-
-#include 
-#include 
-
-namespace WebCore {
-
-static QWidget* qwidgetForPage(const Page* page)
-{
-Frame* frame = (page ? page->mainFrame() : 0);
-FrameView* frameView = (frame ? frame->view() : 0);
-
-if (!frameView)
-return 0;
-
-return frameView->qwidget();
-}
-
-FloatRect screenRect(const Page* page)
-{
-QWidget* qw = qwidgetForPage(page);
-if (!qw)
-return FloatRect();
-
-// Taken from KGlobalSettings::desktopGeometry
-QDesktopWidget* dw = QApplication::desktop();
-if (!dw)
-return FloatRect();
-
-return IntRect(dw->screenGeometry(qw));
-}
-
-int screenDepth(const Page* page)
-{
-QWidget* qw = qwidgetForPage(page);
-if (!qw)
-return 32;
-
-return qw->depth();
-}
-
-FloatRect usableScreenRect(const Page* page)
-{
-QWidget* qw = qwidgetForPage(page);
-if (!qw)
-return FloatRect();
-
-// Taken from KGlobalSettings::desktopGeometry
-QDesktopWidget* dw = QApplication::desktop();
-if (!dw)
-return FloatRect();
-
-return IntRect(dw->availableGeometry(qw));
-}
-
-float scaleFactor(const Page*)
-{
-return 1.0f;
-}
-
-}
-
-// vim: ts=4 sw=4 et






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [136002] trunk/Source/WebCore

2012-11-28 Thread allan . jensen
Title: [136002] trunk/Source/WebCore








Revision 136002
Author allan.jen...@digia.com
Date 2012-11-28 05:44:46 -0800 (Wed, 28 Nov 2012)


Log Message
Move childrenAffectedBy bits from RenderStyle to Element
https://bugs.webkit.org/show_bug.cgi?id=101448

Unreviewed buildfix.

To use renderStyle() on some Macs we need to include NodeRenderStyle.h.

* dom/ContainerNode.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ContainerNode.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (136001 => 136002)

--- trunk/Source/WebCore/ChangeLog	2012-11-28 13:09:40 UTC (rev 136001)
+++ trunk/Source/WebCore/ChangeLog	2012-11-28 13:44:46 UTC (rev 136002)
@@ -2,6 +2,17 @@
 
 Move childrenAffectedBy bits from RenderStyle to Element
 https://bugs.webkit.org/show_bug.cgi?id=101448
+
+Unreviewed buildfix.
+
+To use renderStyle() on some Macs we need to include NodeRenderStyle.h.
+
+* dom/ContainerNode.cpp:
+
+2012-11-28  Allan Sandfeld Jensen  
+
+Move childrenAffectedBy bits from RenderStyle to Element
+https://bugs.webkit.org/show_bug.cgi?id=101448
 https://bugs.webkit.org/show_bug.cgi?id=98021
 
 Reviewed by Antti Koivisto.


Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (136001 => 136002)

--- trunk/Source/WebCore/dom/ContainerNode.cpp	2012-11-28 13:09:40 UTC (rev 136001)
+++ trunk/Source/WebCore/dom/ContainerNode.cpp	2012-11-28 13:44:46 UTC (rev 136002)
@@ -38,6 +38,7 @@
 #include "LoaderStrategy.h"
 #include "MemoryCache.h"
 #include "MutationEvent.h"
+#include "NodeRenderStyle.h"
 #include "ResourceLoadScheduler.h"
 #include "Page.h"
 #include "PlatformStrategies.h"






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [136129] trunk/Source/WebKit2

2012-11-29 Thread allan . jensen
Title: [136129] trunk/Source/WebKit2








Revision 136129
Author allan.jen...@digia.com
Date 2012-11-29 07:00:49 -0800 (Thu, 29 Nov 2012)


Log Message
Possible to resize out of bounds
https://bugs.webkit.org/show_bug.cgi?id=103521

Reviewed by Jocelyn Turcotte.

Enforce the viewportBounds after resize, and ensure a user fitted page remains
fit on viewport resize, but not on content growth.

* UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Added.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/PageViewportController.h:
(PageViewportController):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/PageViewportController.cpp
trunk/Source/WebKit2/UIProcess/PageViewportController.h


Added Paths

trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml




Diff

Modified: trunk/Source/WebKit2/ChangeLog (136128 => 136129)

--- trunk/Source/WebKit2/ChangeLog	2012-11-29 14:57:38 UTC (rev 136128)
+++ trunk/Source/WebKit2/ChangeLog	2012-11-29 15:00:49 UTC (rev 136129)
@@ -1,3 +1,21 @@
+2012-11-29  Allan Sandfeld Jensen  
+
+Possible to resize out of bounds 
+https://bugs.webkit.org/show_bug.cgi?id=103521
+
+Reviewed by Jocelyn Turcotte.
+
+Enforce the viewportBounds after resize, and ensure a user fitted page remains
+fit on viewport resize, but not on content growth.
+
+* UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Added.
+* UIProcess/PageViewportController.cpp:
+(WebKit::PageViewportController::didChangeContentsSize):
+(WebKit::PageViewportController::didChangeViewportAttributes):
+(WebKit::PageViewportController::updateMinimumScaleToFit):
+* UIProcess/PageViewportController.h:
+(PageViewportController):
+
 2012-11-29  Michael Brüning  
 
 [Qt][WK2] Commit the preedit string in the input method when focus is about to be moved.


Added: trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml (0 => 136129)

--- trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml	(rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml	2012-11-29 15:00:49 UTC (rev 136129)
@@ -0,0 +1,175 @@
+import QtQuick 2.0
+import QtTest 1.0
+import QtWebKit 3.0
+import QtWebKit.experimental 1.0
+import Test 1.0
+import "../common"
+
+Item {
+TestWebView {
+id: webView
+width: 320
+height: 480
+
+property variant result
+
+property variant content: "data:text/html," +
+"" +
+"" +
+"" +
+"" +
+"" +
+"" +
+""
+
+signal resultReceived
+}
+
+SignalSpy {
+id: resultSpy
+target: webView
+signalName: "resultReceived"
+}
+
+SignalSpy {
+id: scaleSpy
+target: webView.experimental.test
+signalName: "contentsScaleCommitted"
+}
+
+SignalSpy {
+id: sizeSpy
+target: webView.experimental.test
+signalName: "contentsSizeChanged"
+}
+
+TestCase {
+name: "Resize"
+when: windowShown
+
+property variant test: webView.experimental.test
+
+function init() {
+resultSpy.clear()
+scaleSpy.clear()
+viewportSpy.clear()
+}
+
+function run(signalSpy, script) {
+signalSpy.clear();
+var result;
+webView.experimental.evaluateJavaScript(
+script,
+function(value) { webView.resultReceived(); result = value });
+signalSpy.wait();
+return result;
+}
+
+function contentsSize() {
+return test.contentsSize.width + "x" + test.contentsSize.height;
+}
+
+function elementRect(id) {
+return JSON.parse(run(resultSpy, "JSON.stringify(document.getElementById('" + id + "').getBoundingClientRect());"))
+}
+
+function doubleTapAtPoint(x, y) {
+scaleSpy.clear()
+test.touchDoubleTap(webView, x, y)
+scaleSpy.wait()
+}
+
+function resize(w, h) {
+sizeSpy.clear()
+webView.width = w
+sizeSpy.wait()
+webView.height = h
+sizeSpy.wait()
+}
+
+function test_basic() {
+webView.url = ""
+verify(webView.waitForViewportReady())
+
+compare(contentsSize(), "320x480")
+compare(test.contentsScale, 1.0)
+
+resize(480, 720)
+compare(contentsSize(), "480x720")
+compare(test.contentsScale, 1.0)
+
+resize(320, 480)
+compare(contentsSize(), "320x480")

[webkit-changes] [136246] trunk/Source/JavaScriptCore

2012-11-30 Thread allan . jensen
Title: [136246] trunk/Source/_javascript_Core








Revision 136246
Author allan.jen...@digia.com
Date 2012-11-30 08:59:03 -0800 (Fri, 30 Nov 2012)


Log Message
Crash in conversion of empty OpaqueJSString to Identifier
https://bugs.webkit.org/show_bug.cgi?id=101867

Reviewed by Michael Saboff.

The constructor call used for both null and empty OpaqueJSStrings results
in an assertion voilation and crash. This patch instead uses the Identifier
constructors which are specifically for null and empty Identifier.

* API/OpaqueJSString.cpp:
(OpaqueJSString::identifier):

Modified Paths

trunk/Source/_javascript_Core/API/OpaqueJSString.cpp
trunk/Source/_javascript_Core/ChangeLog




Diff

Modified: trunk/Source/_javascript_Core/API/OpaqueJSString.cpp (136245 => 136246)

--- trunk/Source/_javascript_Core/API/OpaqueJSString.cpp	2012-11-30 16:24:27 UTC (rev 136245)
+++ trunk/Source/_javascript_Core/API/OpaqueJSString.cpp	2012-11-30 16:59:03 UTC (rev 136246)
@@ -50,9 +50,12 @@
 
 Identifier OpaqueJSString::identifier(JSGlobalData* globalData) const
 {
-if (!this || !m_string.length())
-return Identifier(globalData, static_cast(0));
+if (!this || m_string.isNull())
+return Identifier();
 
+if (m_string.isEmpty())
+return Identifier(Identifier::EmptyIdentifier);
+
 if (m_string.is8Bit())
 return Identifier(globalData, m_string.characters8(), m_string.length());
 


Modified: trunk/Source/_javascript_Core/ChangeLog (136245 => 136246)

--- trunk/Source/_javascript_Core/ChangeLog	2012-11-30 16:24:27 UTC (rev 136245)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-11-30 16:59:03 UTC (rev 136246)
@@ -1,3 +1,17 @@
+2012-11-30  Allan Sandfeld Jensen  
+
+Crash in conversion of empty OpaqueJSString to Identifier 
+https://bugs.webkit.org/show_bug.cgi?id=101867
+
+Reviewed by Michael Saboff.
+
+The constructor call used for both null and empty OpaqueJSStrings results
+in an assertion voilation and crash. This patch instead uses the Identifier
+constructors which are specifically for null and empty Identifier.
+
+* API/OpaqueJSString.cpp:
+(OpaqueJSString::identifier):
+
 2012-11-30  Tor Arne Vestbø  
 
 [Qt] Place the LLIntOffsetsExtractor binaries in debug/release subdirs on Mac






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [136669] trunk/Source/WebCore

2012-12-05 Thread allan . jensen
Title: [136669] trunk/Source/WebCore








Revision 136669
Author allan.jen...@digia.com
Date 2012-12-05 04:37:27 -0800 (Wed, 05 Dec 2012)


Log Message
[Qt] Don't rely on QMimeDatabase for essential MIME types
https://bugs.webkit.org/show_bug.cgi?id=103865

Based on patch by Pierre Rossi.
Reviewed by Jocelyn Turcotte.

Extend the short static list to also include MIME types essential to WebKit,
and detect these first before checking the system mimedatabase.

* platform/qt/MIMETypeRegistryQt.cpp:
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
(WebCore::MIMETypeRegistry::getMIMETypeForPath):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (136668 => 136669)

--- trunk/Source/WebCore/ChangeLog	2012-12-05 12:32:00 UTC (rev 136668)
+++ trunk/Source/WebCore/ChangeLog	2012-12-05 12:37:27 UTC (rev 136669)
@@ -1,3 +1,18 @@
+2012-12-05  Allan Sandfeld Jensen  
+
+[Qt] Don't rely on QMimeDatabase for essential MIME types
+https://bugs.webkit.org/show_bug.cgi?id=103865
+
+Based on patch by Pierre Rossi.
+Reviewed by Jocelyn Turcotte.
+
+Extend the short static list to also include MIME types essential to WebKit,
+and detect these first before checking the system mimedatabase.
+
+* platform/qt/MIMETypeRegistryQt.cpp:
+(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+(WebCore::MIMETypeRegistry::getMIMETypeForPath):
+
 2012-12-05  Zoltan Herczeg  
 
 Optimize ColorMatrix filter


Modified: trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp (136668 => 136669)

--- trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-12-05 12:32:00 UTC (rev 136668)
+++ trunk/Source/WebCore/platform/qt/MIMETypeRegistryQt.cpp	2012-12-05 12:37:27 UTC (rev 136669)
@@ -41,21 +41,41 @@
 const char* mimeType;
 };
 
-// This is a short list of extensions not recognized by the freedesktop shared mimetype database 1.0.
+// This is a short list of extensions that are either not recognized by the freedesktop shared mimetype database 1.0,
+// or too essential for QtWebKit that we can not allow a user configuration to potentially override it.
+// Any extension that has to be recognized for the layout-tests to run should be added here.
 static const ExtensionMap extensionMap[] = {
-{ "mht", ".mht", "application/x-mimearchive" },
-{ "mhtml", ".mhtml", "application/x-mimearchive" },
-{ "text", ".text", "text/plain" },
-{ "wmlc", ".wmlc", "application/vnd.wap.wmlc" },
+{ "htm", ".htm", "text/html" },
+{ "html", ".html", "text/html" },
+{ "js", ".js", "application/_javascript_" },
+{ "mht", ".mht", "application/x-mimearchive" }, // Not in shared mimetype database
+{ "mhtml", ".mhtml", "application/x-mimearchive" }, // Not in shared mimetype database
+{ "svg", ".svg", "image/svg+xml" },
+{ "text", ".text", "text/plain" }, // Not in shared mimetype database
+{ "txt", ".txt", "text/plain"},
+{ "wmlc", ".wmlc", "application/vnd.wap.wmlc" }, // Not in shared mimetype database
+{ "xht", ".xht", "application/xhtml+xml" },
+{ "xhtml", ".xhtml", "application/xhtml+xml" },
+{ "xsl", ".xsl", "text/xsl" },
 { 0, 0, 0 }
 };
 
 String MIMETypeRegistry::getMIMETypeForExtension(const String &ext)
 {
+String suffix = ext.lower();
+const ExtensionMap *e = extensionMap;
+while (e->extension) {
+if (suffix == e->extension)
+return e->mimeType;
+++e;
+}
+
 // QMimeDatabase lacks the ability to query by extension alone, so we create a fake filename to lookup.
-String suffix = ext.lower();
 const QString filename = QStringLiteral("filename.") + QString(suffix);
 
+// FIXME: We should get all the matched mimetypes with mimeTypesForFileName, and prefer one we support.
+// But initializeSupportedImageMIMETypes will first have to stop using getMIMETypeForExtension, or we
+// would be checking against an uninitialized set of supported mimetypes.
 QMimeType mimeType = QMimeDatabase().mimeTypeForFile(filename, QMimeDatabase::MatchExtension);
 if (mimeType.isValid() && !mimeType.isDefault()) {
 // getMIMETypeForExtension is used for preload mimetype check, so image looking files can not be loaded as anything but images.
@@ -65,29 +85,23 @@
 return mimeType.name();
 }
 
-const ExtensionMap *e = extensionMap;
-while (e->extension) {
-if (suffix == e->extension)
-return e->mimeType;
-++e;
-}
-
 return String();
 }
 
 String MIMETypeRegistry::getMIMETypeForPath(const String& path)
 {
-QMimeType type = QMimeDatabase().mimeTypeForFile(path, QMimeDatabase::MatchExtension);
-if (type.isValid() && !type.isDefault())
-return type.name();
-
 const ExtensionMap *e = extensionMap;
 while (e->extension) {
-if (path.endsWith(e->dotExtension))
+

[webkit-changes] [143197] trunk

2013-02-18 Thread allan . jensen
Title: [143197] trunk








Revision 143197
Author allan.jen...@digia.com
Date 2013-02-18 05:00:00 -0800 (Mon, 18 Feb 2013)


Log Message
[Qt][WK2] Support WK2 API tests
https://bugs.webkit.org/show_bug.cgi?id=109843

Reviewed by Jocelyn Turcotte.

Source/WebKit2:

* UIProcess/API/qt/qquickwebview_p.h:
(TestWebKitAPI):

Tools:

* TestWebKitAPI/DerivedSources.pri: Added.
* TestWebKitAPI/InjectedBundle.pri: Added.
* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/TestWebKitAPI.pri:
* TestWebKitAPI/TestWebKitAPI.pro:
* TestWebKitAPI/Tests/_javascript_Core/_javascript_Core.pro: Added.
* TestWebKitAPI/Tests/WTF/WTF.pro:
* TestWebKitAPI/Tests/WebKit2/WebKit2.pro: Added.
* TestWebKitAPI/qt/PlatformUtilitiesQt.cpp:
(TestWebKitAPI::Util::sleep):
(TestWebKitAPI::Util::createInjectedBundlePath):
(TestWebKitAPI::Util::createURLForResource):
(TestWebKitAPI::Util::isKeyDown):
(Util):
* TestWebKitAPI/qt/PlatformWebViewQt.cpp: Added.
(TestWebKitAPI):
(WrapperWindow):
(TestWebKitAPI::WrapperWindow::WrapperWindow):
(TestWebKitAPI::WrapperWindow::handleStatusChanged):
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI::PlatformWebView::page):
(TestWebKitAPI::PlatformWebView::focus):
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
(TestWebKitAPI::PlatformWebView::simulateRightClick):
* TestWebKitAPI/qt/main.cpp:
(addQtWebProcessToPath):
(main):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/PlatformWebView.h
trunk/Tools/TestWebKitAPI/TestWebKitAPI.pri
trunk/Tools/TestWebKitAPI/TestWebKitAPI.pro
trunk/Tools/TestWebKitAPI/Tests/WTF/WTF.pro
trunk/Tools/TestWebKitAPI/qt/PlatformUtilitiesQt.cpp
trunk/Tools/TestWebKitAPI/qt/main.cpp


Added Paths

trunk/Tools/TestWebKitAPI/DerivedSources.pri
trunk/Tools/TestWebKitAPI/InjectedBundle.pri
trunk/Tools/TestWebKitAPI/Tests/_javascript_Core/_javascript_Core.pro
trunk/Tools/TestWebKitAPI/Tests/WebKit2/WebKit2.pro
trunk/Tools/TestWebKitAPI/Tests.pri
trunk/Tools/TestWebKitAPI/qt/PlatformWebViewQt.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (143196 => 143197)

--- trunk/Source/WebKit2/ChangeLog	2013-02-18 12:56:15 UTC (rev 143196)
+++ trunk/Source/WebKit2/ChangeLog	2013-02-18 13:00:00 UTC (rev 143197)
@@ -1,3 +1,13 @@
+2013-02-15  Allan Sandfeld Jensen  
+
+[Qt][WK2] Support WK2 API tests
+https://bugs.webkit.org/show_bug.cgi?id=109843
+
+Reviewed by Jocelyn Turcotte.
+
+* UIProcess/API/qt/qquickwebview_p.h:
+(TestWebKitAPI):
+
 2013-02-18  Andras Becsi  
 
 [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content


Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h (143196 => 143197)

--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h	2013-02-18 12:56:15 UTC (rev 143196)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h	2013-02-18 13:00:00 UTC (rev 143197)
@@ -48,6 +48,10 @@
 class PlatformWebView;
 }
 
+namespace TestWebKitAPI {
+class PlatformWebView;
+}
+
 namespace WebKit {
 struct QtRefCountedNetworkRequestData;
 class PageViewportControllerClientQt;
@@ -224,6 +228,7 @@
 friend class WebKit::QtWebPagePolicyClient;
 friend class WebKit::QtWebPageUIClient;
 friend class WTR::PlatformWebView;
+friend class TestWebKitAPI::PlatformWebView;
 friend class QQuickWebViewExperimental;
 };
 


Modified: trunk/Tools/ChangeLog (143196 => 143197)

--- trunk/Tools/ChangeLog	2013-02-18 12:56:15 UTC (rev 143196)
+++ trunk/Tools/ChangeLog	2013-02-18 13:00:00 UTC (rev 143197)
@@ -1,3 +1,42 @@
+2013-02-15  Allan Sandfeld Jensen  
+
+[Qt][WK2] Support WK2 API tests
+https://bugs.webkit.org/show_bug.cgi?id=109843
+
+Reviewed by Jocelyn Turcotte.
+
+* TestWebKitAPI/DerivedSources.pri: Added.
+* TestWebKitAPI/InjectedBundle.pri: Added.
+* TestWebKitAPI/PlatformWebView.h:
+* TestWebKitAPI/TestWebKitAPI.pri:
+* TestWebKitAPI/TestWebKitAPI.pro:
+* TestWebKitAPI/Tests/_javascript_Core/_javascript_Core.pro: Added.
+* TestWebKitAPI/Tests/WTF/WTF.pro:
+* TestWebKitAPI/Tests/WebKit2/WebKit2.pro: Added.
+* TestWebKitAPI/qt/PlatformUtilitiesQt.cpp:
+(TestWebKitAPI::Util::sleep):
+(TestWebKitAPI::Util::createInjectedBundlePath):
+(TestWebKitAPI::Util::createURLForResource):
+(TestWebKitAPI::Util::isKeyDown):
+(Util):
+* TestWebKitAPI/qt/PlatformWebViewQt.cpp: Added.
+(TestWebKitAPI):
+(WrapperWindow):
+(TestWebKitAPI::WrapperWindow::WrapperWindow):
+(TestWebKitAPI::WrapperWindow::handleStatusChanged):
+(TestWebKitAPI::PlatformWebView::PlatformWebView):
+(TestWebKitA

[webkit-changes] [143588] trunk/Source/WebKit/qt

2013-02-21 Thread allan . jensen
Title: [143588] trunk/Source/WebKit/qt








Revision 143588
Author allan.jen...@digia.com
Date 2013-02-21 04:39:47 -0800 (Thu, 21 Feb 2013)


Log Message
[Qt] Replace QWebPageAdaptor::TouchAdjuster
https://bugs.webkit.org/show_bug.cgi?id=110226

Reviewed by Antonio Gomes.

* WebCoreSupport/QWebPageAdapter.cpp:
(QWebPageAdapter::adjustPointForClicking):
* WebCoreSupport/QWebPageAdapter.h:

Modified Paths

trunk/Source/WebKit/qt/ChangeLog
trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h




Diff

Modified: trunk/Source/WebKit/qt/ChangeLog (143587 => 143588)

--- trunk/Source/WebKit/qt/ChangeLog	2013-02-21 12:38:50 UTC (rev 143587)
+++ trunk/Source/WebKit/qt/ChangeLog	2013-02-21 12:39:47 UTC (rev 143588)
@@ -1,3 +1,14 @@
+2013-02-21  Allan Sandfeld Jensen  
+
+[Qt] Replace QWebPageAdaptor::TouchAdjuster
+https://bugs.webkit.org/show_bug.cgi?id=110226
+
+Reviewed by Antonio Gomes.
+
+* WebCoreSupport/QWebPageAdapter.cpp:
+(QWebPageAdapter::adjustPointForClicking):
+* WebCoreSupport/QWebPageAdapter.h:
+
 2013-02-15  Allan Sandfeld Jensen  
 
 Simplify hitTestResultAtPoint and nodesFromRect APIs


Modified: trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp (143587 => 143588)

--- trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp	2013-02-21 12:38:50 UTC (rev 143587)
+++ trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp	2013-02-21 12:39:47 UTC (rev 143588)
@@ -344,6 +344,7 @@
 
 void QWebPageAdapter::adjustPointForClicking(QMouseEvent* ev)
 {
+#if ENABLE(TOUCH_ADJUSTMENT)
 QtPlatformPlugin platformPlugin;
 OwnPtr touchModifier = platformPlugin.createTouchModifier();
 if (!touchModifier)
@@ -359,132 +360,24 @@
 if (!topPadding && !rightPadding && !bottomPadding && !leftPadding)
 return;
 
-Document* startingDocument = page->mainFrame()->document();
-if (!startingDocument)
-return;
+EventHandler* eventHandler = page->mainFrame()->eventHandler();
+ASSERT(eventHandler);
 
-IntPoint originalPoint(ev->pos());
-TouchAdjuster touchAdjuster(topPadding, rightPadding, bottomPadding, leftPadding);
-IntPoint adjustedPoint = touchAdjuster.findCandidatePointForTouch(originalPoint, startingDocument);
-if (adjustedPoint == IntPoint::zero())
+IntRect touchRect(ev->pos().x() - leftPadding, ev->pos().y() - topPadding, leftPadding + rightPadding, topPadding + bottomPadding);
+IntPoint adjustedPoint;
+Node* adjustedNode;
+bool foundClickableNode = eventHandler->bestClickableNodeForTouchPoint(touchRect.center(), touchRect.size(), adjustedPoint, adjustedNode);
+if (!foundClickableNode)
 return;
+
 QMouseEvent* ret = new QMouseEvent(ev->type(), QPoint(adjustedPoint), ev->globalPos(), ev->button(), ev->buttons(), ev->modifiers());
 delete ev;
 ev = ret;
+#else
+Q_UNUSED(ev);
+#endif
 }
 
-static bool hasMouseListener(Element* element)
-{
-ASSERT(element);
-return element->hasEventListeners(eventNames().clickEvent)
-|| element->hasEventListeners(eventNames().mousedownEvent)
-|| element->hasEventListeners(eventNames().mouseupEvent);
-}
-
-static bool isClickableElement(Element* element, PassRefPtr prpList)
-{
-ASSERT(element);
-RefPtr list = prpList;
-bool isClickable = hasMouseListener(element);
-if (!isClickable && list) {
-Element* parent = element->parentElement();
-unsigned count = list->length();
-for (unsigned i = 0; i < count && parent; i++) {
-if (list->item(i) != parent)
-continue;
-
-isClickable = hasMouseListener(parent);
-if (isClickable)
-break;
-
-parent = parent->parentElement();
-}
-}
-
-ExceptionCode ec = 0;
-return isClickable
-|| element->webkitMatchesSelector("a,*:link,*:visited,*[role=button],button,input,select,label", ec)
-|| CSSComputedStyleDeclaration::create(element)->getPropertyValue(cssPropertyID("cursor")) == "pointer";
-}
-
-static bool isValidFrameOwner(Element* element)
-{
-ASSERT(element);
-return element->isFrameOwnerElement() && static_cast(element)->contentFrame();
-}
-
-QWebPageAdapter::TouchAdjuster::TouchAdjuster(unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding)
-: m_topPadding(topPadding)
-, m_rightPadding(rightPadding)
-, m_bottomPadding(bottomPadding)
-, m_leftPadding(leftPadding)
-{
-}
-
-IntPoint QWebPageAdapter::TouchAdjuster::findCandidatePointForTouch(const IntPoint& touchPoint, Document* document) const
-{
-if (!document)
-return IntPoint();
-
-int x = touchPoint.x();
-int y = touchPoint.y();
-
-RefPtr intersectedNodes = document->nodesFromRect(x, y, m_topPadding, m_rightPadding, m_bottomPadding, m_leftPadding);
-if (!intersectedNodes)
-return IntPoint();
-
-Eleme

[webkit-changes] [143727] trunk

2013-02-22 Thread allan . jensen
Title: [143727] trunk








Revision 143727
Author allan.jen...@digia.com
Date 2013-02-22 06:46:35 -0800 (Fri, 22 Feb 2013)


Log Message
Allow child-frame content in hit-tests.
https://bugs.webkit.org/show_bug.cgi?id=95204

Reviewed by Julien Chaffraix.

Source/WebCore:

Refactors how EventHandler::hitTestResultAtPoint handles child-frame content,
it is now handled by the hit test itself controlled by the AllowChildFrameContent
flag in HitTestRequest.

This means that area-based hit-tests can now return elements from all the child frames
they intersect instead of just the one frame containing the center point. The improved
results from area-based hit-tests will among other things also improve touch adjustment
near frame boundaries.

Tests: fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html

* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
Recursion into child-frames have been moved to RenderFrameBase::nodeAtPoint, so
now hitTestResultAtPoint just needs to set AllowChildFrameContent.
* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::parentShadowHostOrOwner):
New function to iterate up across frame boundaries.
(WebCore::TouchAdjustment::compileSubtargetList):
We need to iterate up across frame boundaries to avoid iframes competing with their
own content for touch adjustment.
* rendering/HitTestRequest.h:
(WebCore::HitTestRequest::allowsChildFrameContent):
(WebCore::HitTestRequest::isChildFrameHitTest):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::append):
(WebCore::HitTestResult::dictationAlternatives):
* rendering/HitTestResult.h:
(WebCore::HitTestResult::pointInMainFrame):
(WebCore::HitTestResult::pointInInnerNodeFrame):
(HitTestResult):
m_hitTestLocation is now in main frame coordinates, which make m_pointInMainFrame
unnecessary, but requires the introduction of m_pointInInnerFrame, to remember
the coordinates of inner-node in its own frame.
* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::nodeAtPoint):
The recursion into child-frames is now handled here instead of in hitTestResultAtPoint, this
allows us to recurse into multiple frames, instead of just one.
* rendering/RenderFrameBase.h:
(RenderFrameBase):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):
RenderLayer should not lie about being hit if the request is child-frame request.
* testing/Internals.cpp:
(WebCore::Internals::nodesFromRect):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:
Extended so nodesFromRect with child-frame content can be tested.

LayoutTests:

A new tests for nodesFromRect that returns result from child frames.

* fast/dom/nodesFromRect/nodesFromRect-child-frame-content-expected.txt: Added.
* fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html: Added.
* fast/dom/nodesFromRect/nodesFromRect-continuation-crash.html:
* fast/dom/nodesFromRect/resources/child-frame.html: Added.
* fast/dom/nodesFromRect/resources/nodesFromRect.js:
(check):
(checkShadowContent):
(nodesFromRectAsString):

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-continuation-crash.html
trunk/LayoutTests/fast/dom/nodesFromRect/resources/nodesFromRect.js
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/EventHandler.cpp
trunk/Source/WebCore/page/TouchAdjustment.cpp
trunk/Source/WebCore/rendering/HitTestRequest.h
trunk/Source/WebCore/rendering/HitTestResult.cpp
trunk/Source/WebCore/rendering/HitTestResult.h
trunk/Source/WebCore/rendering/RenderFrameBase.cpp
trunk/Source/WebCore/rendering/RenderFrameBase.h
trunk/Source/WebCore/rendering/RenderLayer.cpp
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h
trunk/Source/WebCore/testing/Internals.idl


Added Paths

trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-child-frame-content-expected.txt
trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html
trunk/LayoutTests/fast/dom/nodesFromRect/resources/child-frame.html




Diff

Modified: trunk/LayoutTests/ChangeLog (143726 => 143727)

--- trunk/LayoutTests/ChangeLog	2013-02-22 14:39:42 UTC (rev 143726)
+++ trunk/LayoutTests/ChangeLog	2013-02-22 14:46:35 UTC (rev 143727)
@@ -1,3 +1,21 @@
+2013-02-22  Allan Sandfeld Jensen  
+
+Allow child-frame content in hit-tests.
+https://bugs.webkit.org/show_bug.cgi?id=95204
+
+Reviewed by Julien Chaffraix.
+
+A new tests for nodesFromRect that returns result from child frames.
+
+* fast/dom/nodesFromRect/nodesFromRect-child-frame-content-expected.txt: Added.
+* fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html: Added.
+* fast/dom/nodesFromRect/nodesFromRect-continuation-crash.html:
+* fast/dom/nodesFromRect/resources/child-frame.html: Added.
+* fast/dom/nodesFromRect/resources/nodesFromRect.js:
+(check):

[webkit-changes] [143730] trunk/Source/WebCore

2013-02-22 Thread allan . jensen
Title: [143730] trunk/Source/WebCore








Revision 143730
Author allan.jen...@digia.com
Date 2013-02-22 08:12:40 -0800 (Fri, 22 Feb 2013)


Log Message
Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
https://bugs.webkit.org/show_bug.cgi?id=110609

Reviewed by Antonio Gomes.

Point based hit tests should not append but assign HitTestResults.

* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::nodeAtPoint):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderFrameBase.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (143729 => 143730)

--- trunk/Source/WebCore/ChangeLog	2013-02-22 15:54:12 UTC (rev 143729)
+++ trunk/Source/WebCore/ChangeLog	2013-02-22 16:12:40 UTC (rev 143730)
@@ -1,3 +1,15 @@
+2013-02-22  Allan Sandfeld Jensen  
+
+Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
+https://bugs.webkit.org/show_bug.cgi?id=110609
+
+Reviewed by Antonio Gomes.
+
+Point based hit tests should not append but assign HitTestResults.
+
+* rendering/RenderFrameBase.cpp:
+(WebCore::RenderFrameBase::nodeAtPoint):
+
 2013-02-22  Andrey Lushnikov  
 
 Web Inspector: show source location after drawer views


Modified: trunk/Source/WebCore/rendering/RenderFrameBase.cpp (143729 => 143730)

--- trunk/Source/WebCore/rendering/RenderFrameBase.cpp	2013-02-22 15:54:12 UTC (rev 143729)
+++ trunk/Source/WebCore/rendering/RenderFrameBase.cpp	2013-02-22 16:12:40 UTC (rev 143730)
@@ -121,7 +121,12 @@
 HitTestResult childFrameResult(newHitTestLocation);
 
 bool isInsideChildFrame = childRoot->hitTest(newHitTestRequest, newHitTestLocation, childFrameResult);
-result.append(childFrameResult);
+
+if (newHitTestLocation.isRectBasedTest())
+result.append(childFrameResult);
+else if (isInsideChildFrame)
+result = childFrameResult;
+
 if (isInsideChildFrame)
 return true;
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [143744] trunk/Source/WebCore

2013-02-22 Thread allan . jensen
Title: [143744] trunk/Source/WebCore








Revision 143744
Author allan.jen...@digia.com
Date 2013-02-22 09:53:07 -0800 (Fri, 22 Feb 2013)


Log Message
Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
https://bugs.webkit.org/show_bug.cgi?id=110609

Reviewed by Antonio Gomes.

Revert r128869. InnerNode may now again be from a child document,
and should be handled and not asserted against.

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (143743 => 143744)

--- trunk/Source/WebCore/ChangeLog	2013-02-22 17:47:51 UTC (rev 143743)
+++ trunk/Source/WebCore/ChangeLog	2013-02-22 17:53:07 UTC (rev 143744)
@@ -1,3 +1,16 @@
+2013-02-22  Allan Sandfeld Jensen  
+
+Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
+https://bugs.webkit.org/show_bug.cgi?id=110609
+
+Reviewed by Antonio Gomes.
+
+Revert r128869. InnerNode may now again be from a child document, 
+and should be handled and not asserted against.
+
+* dom/Document.cpp:
+(WebCore::Document::updateHoverActiveState):
+
 2013-02-22  Andreas Kling  
 
 Element: Make updateName/updateId/updateLabel private.


Modified: trunk/Source/WebCore/dom/Document.cpp (143743 => 143744)

--- trunk/Source/WebCore/dom/Document.cpp	2013-02-22 17:47:51 UTC (rev 143743)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-02-22 17:53:07 UTC (rev 143744)
@@ -5804,7 +5804,8 @@
 return;
 
 Element* innerElementInDocument = result.innerElement();
-ASSERT(!innerElementInDocument || innerElementInDocument->document() == this);
+while (innerNodeInDocument && innerNodeInDocument->document() != this)
+innerNodeInDocument = innerNodeInDocument->document()->ownerElement();
 
 Element* oldActiveElement = activeElement();
 if (oldActiveElement && !request.active()) {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [143747] trunk/Source/WebCore

2013-02-22 Thread allan . jensen
Title: [143747] trunk/Source/WebCore








Revision 143747
Author allan.jen...@digia.com
Date 2013-02-22 10:07:36 -0800 (Fri, 22 Feb 2013)


Log Message
Unreviewed build-fix after r143744.

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (143746 => 143747)

--- trunk/Source/WebCore/ChangeLog	2013-02-22 18:05:32 UTC (rev 143746)
+++ trunk/Source/WebCore/ChangeLog	2013-02-22 18:07:36 UTC (rev 143747)
@@ -1,3 +1,10 @@
+2013-02-22  Allan Sandfeld Jensen  
+
+Unreviewed build-fix after r143744.
+
+* dom/Document.cpp:
+(WebCore::Document::updateHoverActiveState):
+
 2013-02-22  Andrey Adaikin  
 
 Web Inspector: [Canvas] throttle replayTraceLog messages to backend


Modified: trunk/Source/WebCore/dom/Document.cpp (143746 => 143747)

--- trunk/Source/WebCore/dom/Document.cpp	2013-02-22 18:05:32 UTC (rev 143746)
+++ trunk/Source/WebCore/dom/Document.cpp	2013-02-22 18:07:36 UTC (rev 143747)
@@ -5804,8 +5804,8 @@
 return;
 
 Element* innerElementInDocument = result.innerElement();
-while (innerNodeInDocument && innerNodeInDocument->document() != this)
-innerNodeInDocument = innerNodeInDocument->document()->ownerElement();
+while (innerElementInDocument && innerElementInDocument->document() != this)
+innerElementInDocument = innerElementInDocument->document()->ownerElement();
 
 Element* oldActiveElement = activeElement();
 if (oldActiveElement && !request.active()) {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144078] trunk/Source/WebCore

2013-02-26 Thread allan . jensen
Title: [144078] trunk/Source/WebCore








Revision 144078
Author allan.jen...@digia.com
Date 2013-02-26 11:00:07 -0800 (Tue, 26 Feb 2013)


Log Message
[TexMap] Ignore layer repaint request when drawsContent is false
https://bugs.webkit.org/show_bug.cgi?id=110888

Reviewed by Noam Rosenthal.

As long as drawsContent is false we should ignore requests for repaints.
A full repaint will be requested when drawsContent is changed to true.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
(WebCore::GraphicsLayerTextureMapper::setDrawsContent):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (144077 => 144078)

--- trunk/Source/WebCore/ChangeLog	2013-02-26 18:55:12 UTC (rev 144077)
+++ trunk/Source/WebCore/ChangeLog	2013-02-26 19:00:07 UTC (rev 144078)
@@ -1,3 +1,18 @@
+2013-02-26  Allan Sandfeld Jensen  
+
+[TexMap] Ignore layer repaint request when drawsContent is false
+https://bugs.webkit.org/show_bug.cgi?id=110888
+
+Reviewed by Noam Rosenthal.
+
+As long as drawsContent is false we should ignore requests for repaints.
+A full repaint will be requested when drawsContent is changed to true.
+
+* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+(WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
+(WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
+(WebCore::GraphicsLayerTextureMapper::setDrawsContent):
+
 2013-02-26  Joshua Bell  
 
 IndexedDB: IDBObjectStore.index() doesn't report errors after deleteIndex()


Modified: trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp (144077 => 144078)

--- trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp	2013-02-26 18:55:12 UTC (rev 144077)
+++ trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp	2013-02-26 19:00:07 UTC (rev 144078)
@@ -87,7 +87,7 @@
 */
 void GraphicsLayerTextureMapper::setNeedsDisplay()
 {
-if (!m_hasOwnBackingStore)
+if (!drawsContent() || !m_hasOwnBackingStore)
 return;
 
 m_needsDisplay = true;
@@ -107,7 +107,7 @@
 */
 void GraphicsLayerTextureMapper::setNeedsDisplayInRect(const FloatRect& rect)
 {
-if (!m_hasOwnBackingStore)
+if (!drawsContent() || !m_hasOwnBackingStore)
 return;
 
 if (m_needsDisplay)
@@ -277,8 +277,8 @@
 {
 if (value == drawsContent())
 return;
+GraphicsLayer::setDrawsContent(value);
 notifyChange(DrawsContentChange);
-GraphicsLayer::setDrawsContent(value);
 
 if (value && m_hasOwnBackingStore)
 setNeedsDisplay();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144183] trunk/Source/WebCore

2013-02-27 Thread allan . jensen
Title: [144183] trunk/Source/WebCore








Revision 144183
Author allan.jen...@digia.com
Date 2013-02-27 07:27:21 -0800 (Wed, 27 Feb 2013)


Log Message
[TexMap] Flickering after transitions on Apple HTML5 demo
https://bugs.webkit.org/show_bug.cgi?id=102501

Reviewed by Noam Rosenthal.

Notify about animation start after the new animation is actually commited.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::addAnimation):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (144182 => 144183)

--- trunk/Source/WebCore/ChangeLog	2013-02-27 15:11:54 UTC (rev 144182)
+++ trunk/Source/WebCore/ChangeLog	2013-02-27 15:27:21 UTC (rev 144183)
@@ -1,3 +1,19 @@
+2013-02-27  Allan Sandfeld Jensen  
+
+[TexMap] Flickering after transitions on Apple HTML5 demo
+https://bugs.webkit.org/show_bug.cgi?id=102501
+
+Reviewed by Noam Rosenthal.
+
+Notify about animation start after the new animation is actually commited.
+
+* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
+(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
+(WebCore::GraphicsLayerTextureMapper::addAnimation):
+* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
+(GraphicsLayerTextureMapper):
+
 2013-02-27  Vivek Galatage  
 
 Web Inspector: Refactor AuditsPanel with AuditController as newly introduced entity


Modified: trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp (144182 => 144183)

--- trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp	2013-02-27 15:11:54 UTC (rev 144182)
+++ trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp	2013-02-27 15:27:21 UTC (rev 144183)
@@ -56,7 +56,7 @@
 , m_fixedToViewport(false)
 , m_debugBorderWidth(0)
 , m_contentsLayer(0)
-, m_animationStartedTimer(this, &GraphicsLayerTextureMapper::animationStartedTimerFired)
+, m_animationStartTime(0)
 {
 }
 
@@ -537,6 +537,9 @@
 if (m_changeMask & AnimationChange)
 m_layer->setAnimations(m_animations);
 
+if (m_changeMask & AnimationStarted)
+client()->notifyAnimationStarted(this, m_animationStartTime);
+
 if (m_changeMask & FixedToViewporChange)
 m_layer->setFixedToViewport(fixedToViewport());
 
@@ -610,9 +613,10 @@
 if (valueList.property() == AnimatedPropertyWebkitTransform)
 listsMatch = validateTransformOperations(valueList, hasBigRotation) >= 0;
 
-m_animations.add(GraphicsLayerAnimation(keyframesName, valueList, boxSize, anim, WTF::currentTime() - timeOffset, listsMatch));
+m_animationStartTime = WTF::currentTime() - timeOffset;
+m_animations.add(GraphicsLayerAnimation(keyframesName, valueList, boxSize, anim, m_animationStartTime, listsMatch));
 notifyChange(AnimationChange);
-m_animationStartedTimer.startOneShot(0);
+notifyChange(AnimationStarted);
 return true;
 }
 
@@ -633,11 +637,6 @@
 m_animations.remove(animationName);
 }
 
-void GraphicsLayerTextureMapper::animationStartedTimerFired(Timer*)
-{
-client()->notifyAnimationStarted(this, /* DOM time */ WTF::currentTime());
-}
-
 #if ENABLE(CSS_FILTERS)
 bool GraphicsLayerTextureMapper::setFilters(const FilterOperations& filters)
 {


Modified: trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h (144182 => 144183)

--- trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h	2013-02-27 15:11:54 UTC (rev 144182)
+++ trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h	2013-02-27 15:27:21 UTC (rev 144183)
@@ -104,7 +104,6 @@
 void updateBackingStoreIfNeeded();
 void prepareBackingStoreIfNeeded();
 bool shouldHaveBackingStore() const;
-void animationStartedTimerFired(Timer*);
 
 // This set of flags help us defer which properties of the layer have been
 // modified by the compositor, so we can know what to look for in the next flush.
@@ -143,7 +142,8 @@
 DebugVisualsChange =(1L << 24),
 RepaintCountChange =(1L << 25),
 
-FixedToViewporChange =  (1L << 26)
+FixedToViewporChange =  (1L << 26),
+AnimationStarted =  (1L << 27)
 };
 void notifyChange(ChangeMask);
 
@@ -164,7 +164,7 @@
 TextureMapperPlatformLayer* m_contentsLayer;
 FloatRect m_needsDisplayRect;
 GraphicsLayerAnimations m_animations;
-Timer m_animationStartedTimer;
+double m_an

[webkit-changes] [144191] trunk/Source/WebCore

2013-02-27 Thread allan . jensen
Title: [144191] trunk/Source/WebCore








Revision 144191
Author allan.jen...@digia.com
Date 2013-02-27 08:18:14 -0800 (Wed, 27 Feb 2013)


Log Message
[Qt] Flash objects won't load until scrolling page
https://bugs.webkit.org/show_bug.cgi?id=110149

Reviewed by Simon Hausmann.

Revert r134222. The issue from bug 101836 is no longer reproducable,
and the fix was causing flash objects to not load properly.

* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/plugins/PluginPackage.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (144190 => 144191)

--- trunk/Source/WebCore/ChangeLog	2013-02-27 16:16:16 UTC (rev 144190)
+++ trunk/Source/WebCore/ChangeLog	2013-02-27 16:18:14 UTC (rev 144191)
@@ -1,3 +1,16 @@
+2013-02-27  Allan Sandfeld Jensen  
+
+[Qt] Flash objects won't load until scrolling page
+https://bugs.webkit.org/show_bug.cgi?id=110149
+
+Reviewed by Simon Hausmann.
+
+Revert r134222. The issue from bug 101836 is no longer reproducable,
+and the fix was causing flash objects to not load properly.
+
+* plugins/PluginPackage.cpp:
+(WebCore::PluginPackage::determineQuirks):
+
 2013-02-27  No'am Rosenthal  
 
 [Texmap] TextureMapper is too eager to use intermediate surfaces


Modified: trunk/Source/WebCore/plugins/PluginPackage.cpp (144190 => 144191)

--- trunk/Source/WebCore/plugins/PluginPackage.cpp	2013-02-27 16:16:16 UTC (rev 144190)
+++ trunk/Source/WebCore/plugins/PluginPackage.cpp	2013-02-27 16:18:14 UTC (rev 144191)
@@ -206,9 +206,7 @@
 }
 
 #if PLATFORM(QT)
-// Flash will crash on repeated calls to SetWindow in windowed mode.
-// Defer the setWindow, so we don't set it to the wrong size too early.
-m_quirks.add(PluginQuirkDeferFirstSetWindowCall);
+// Flash will crash on repeated calls to SetWindow in windowed mode
 m_quirks.add(PluginQuirkDontCallSetWindowMoreThanOnce);
 #endif
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144204] trunk/Source/WebCore

2013-02-27 Thread allan . jensen
Title: [144204] trunk/Source/WebCore








Revision 144204
Author allan.jen...@digia.com
Date 2013-02-27 09:42:08 -0800 (Wed, 27 Feb 2013)


Log Message
[TexMap] REGRESSION(144183): It make negative delay tests fails
https://bugs.webkit.org/show_bug.cgi?id=110989

Reviewed by Noam Rosenthal.

Do not apply a negative offset to the animation starttime send to the GraphicLayerClient,
it needs the actual animation start not a virtual start.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::addAnimation):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (144203 => 144204)

--- trunk/Source/WebCore/ChangeLog	2013-02-27 17:35:04 UTC (rev 144203)
+++ trunk/Source/WebCore/ChangeLog	2013-02-27 17:42:08 UTC (rev 144204)
@@ -1,3 +1,16 @@
+2013-02-27  Allan Sandfeld Jensen  
+
+[TexMap] REGRESSION(144183): It make negative delay tests fails
+https://bugs.webkit.org/show_bug.cgi?id=110989
+
+Reviewed by Noam Rosenthal.
+
+Do not apply a negative offset to the animation starttime send to the GraphicLayerClient,
+it needs the actual animation start not a virtual start.
+
+* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+(WebCore::GraphicsLayerTextureMapper::addAnimation):
+
 2013-02-27  Aaron Colwell  
 
 Fix SourceBufferList so SourceBuffer.append() calls are always rejected after the MediaSource is closed.


Modified: trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp (144203 => 144204)

--- trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp	2013-02-27 17:35:04 UTC (rev 144203)
+++ trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp	2013-02-27 17:42:08 UTC (rev 144204)
@@ -613,8 +613,13 @@
 if (valueList.property() == AnimatedPropertyWebkitTransform)
 listsMatch = validateTransformOperations(valueList, hasBigRotation) >= 0;
 
-m_animationStartTime = WTF::currentTime() - timeOffset;
-m_animations.add(GraphicsLayerAnimation(keyframesName, valueList, boxSize, anim, m_animationStartTime, listsMatch));
+const double currentTime = WTF::currentTime();
+m_animations.add(GraphicsLayerAnimation(keyframesName, valueList, boxSize, anim, currentTime - timeOffset, listsMatch));
+// m_animationStartTime is the time of the first real frame of animation, now or delayed by a negative offset.
+if (timeOffset > 0)
+m_animationStartTime = currentTime;
+else
+m_animationStartTime = currentTime - timeOffset;
 notifyChange(AnimationChange);
 notifyChange(AnimationStarted);
 return true;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144208] trunk

2013-02-27 Thread allan . jensen
Title: [144208] trunk








Revision 144208
Author allan.jen...@digia.com
Date 2013-02-27 10:18:13 -0800 (Wed, 27 Feb 2013)


Log Message
Switch QtWebKit to GStreamer 1.0.
https://bugs.webkit.org/show_bug.cgi?id=106669.

Original patch by Sebastian Dröge.
Reviewed by Csaba Osztrogonác.

Source/WebCore:

* WebCore.pri:

Tools:

Build with GStreamer 1.0 if available, but support GStreamer 0.10
temporarily to make upgrading easy and the patch suitable for Qt5.

* qmake/mkspecs/features/features.prf:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.pri
trunk/Tools/ChangeLog
trunk/Tools/qmake/mkspecs/features/features.prf




Diff

Modified: trunk/Source/WebCore/ChangeLog (144207 => 144208)

--- trunk/Source/WebCore/ChangeLog	2013-02-27 18:01:48 UTC (rev 144207)
+++ trunk/Source/WebCore/ChangeLog	2013-02-27 18:18:13 UTC (rev 144208)
@@ -1,3 +1,13 @@
+2013-02-27  Allan Sandfeld Jensen  
+
+Switch QtWebKit to GStreamer 1.0.
+https://bugs.webkit.org/show_bug.cgi?id=106669.
+
+Original patch by Sebastian Dröge.
+Reviewed by Csaba Osztrogonác.
+
+* WebCore.pri:
+
 2013-02-27  Eli Fidler  
 
 [BlackBerry] Fix BlackBerry::Platform::String to WTF::String conversion when the string is Latin-1-encoded.


Modified: trunk/Source/WebCore/WebCore.pri (144207 => 144208)

--- trunk/Source/WebCore/WebCore.pri	2013-02-27 18:01:48 UTC (rev 144207)
+++ trunk/Source/WebCore/WebCore.pri	2013-02-27 18:18:13 UTC (rev 144208)
@@ -170,7 +170,13 @@
 
 use?(GSTREAMER) {
 DEFINES += WTF_USE_GLIB=1
-PKGCONFIG += glib-2.0 gio-2.0 gstreamer-0.10 gstreamer-app-0.10 gstreamer-base-0.10 gstreamer-interfaces-0.10 gstreamer-pbutils-0.10 gstreamer-plugins-base-0.10 gstreamer-video-0.10
+use?(GSTREAMER010) {
+PKGCONFIG += glib-2.0 gio-2.0 gstreamer-0.10 gstreamer-app-0.10 gstreamer-base-0.10 gstreamer-interfaces-0.10 gstreamer-pbutils-0.10 gstreamer-plugins-base-0.10 gstreamer-video-0.10
+} else {
+DEFINES += GST_API_VERSION=1.0
+DEFINES += GST_API_VERSION_1
+PKGCONFIG += glib-2.0 gio-2.0 gstreamer-1.0 gstreamer-app-1.0 gstreamer-base-1.0 gstreamer-pbutils-1.0 gstreamer-plugins-base-1.0 gstreamer-video-1.0 gstreamer-audio-1.0
+}
 }
 
 enable?(VIDEO) {
@@ -212,7 +218,11 @@
 use?(GSTREAMER) {
 DEFINES += WTF_USE_WEBAUDIO_GSTREAMER=1
 INCLUDEPATH += $$SOURCE_DIR/platform/audio/gstreamer
-PKGCONFIG += gstreamer-audio-0.10 gstreamer-fft-0.10
+use?(GSTREAMER010) {
+PKGCONFIG += gstreamer-audio-0.10 gstreamer-fft-0.10
+} else {
+PKGCONFIG += gstreamer-audio-1.0 gstreamer-fft-1.0
+}
 }
 }
 


Modified: trunk/Tools/ChangeLog (144207 => 144208)

--- trunk/Tools/ChangeLog	2013-02-27 18:01:48 UTC (rev 144207)
+++ trunk/Tools/ChangeLog	2013-02-27 18:18:13 UTC (rev 144208)
@@ -1,3 +1,16 @@
+2013-02-27  Allan Sandfeld Jensen  
+
+Switch QtWebKit to GStreamer 1.0.
+https://bugs.webkit.org/show_bug.cgi?id=106669.
+
+Original patch by Sebastian Dröge.
+Reviewed by Csaba Osztrogonác.
+
+Build with GStreamer 1.0 if available, but support GStreamer 0.10 
+temporarily to make upgrading easy and the patch suitable for Qt5.
+
+* qmake/mkspecs/features/features.prf:
+
 2013-02-27  Szilard Ledan  
 
 Unreviewed. Added myself to committers.py


Modified: trunk/Tools/qmake/mkspecs/features/features.prf (144207 => 144208)

--- trunk/Tools/qmake/mkspecs/features/features.prf	2013-02-27 18:01:48 UTC (rev 144207)
+++ trunk/Tools/qmake/mkspecs/features/features.prf	2013-02-27 18:18:13 UTC (rev 144208)
@@ -113,8 +113,10 @@
 }
 
 } else: linux-* {
-!contains(QT_CONFIG, no-pkg-config):packagesExist("glib-2.0 gio-2.0 \'gstreamer-0.10 >= 0.10.30\' \'gstreamer-plugins-base-0.10 >= 0.10.30\'") {
+!contains(QT_CONFIG, no-pkg-config):packagesExist("glib-2.0 gio-2.0 gstreamer-1.0 gstreamer-plugins-base-1.0") {
 WEBKIT_CONFIG += video use_gstreamer
+} else:!contains(QT_CONFIG, no-pkg-config):packagesExist("glib-2.0 gio-2.0 \'gstreamer-0.10 >= 0.10.30\' \'gstreamer-plugins-base-0.10 >= 0.10.30\'") {
+WEBKIT_CONFIG += video use_gstreamer use_gstreamer010
 } else {
 CONFIGURE_WARNINGS += "Missing GLib/Gio/GStreamer, disabling media element support"
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144290] trunk/Source/WebCore

2013-02-28 Thread allan . jensen
Title: [144290] trunk/Source/WebCore








Revision 144290
Author allan.jen...@digia.com
Date 2013-02-28 03:58:37 -0800 (Thu, 28 Feb 2013)


Log Message
REGRESSION(r144169): It broke clipping
https://bugs.webkit.org/show_bug.cgi?id=111065

Reviewed by Noam Rosenthal.

The clipstack was not marked dirty when new clips were added
leading to clipping never being applied.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::ClipStack::push):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (144289 => 144290)

--- trunk/Source/WebCore/ChangeLog	2013-02-28 11:50:31 UTC (rev 144289)
+++ trunk/Source/WebCore/ChangeLog	2013-02-28 11:58:37 UTC (rev 144290)
@@ -1,3 +1,16 @@
+2013-02-28  Allan Sandfeld Jensen  
+
+REGRESSION(r144169): It broke clipping
+https://bugs.webkit.org/show_bug.cgi?id=111065
+
+Reviewed by Noam Rosenthal.
+
+The clipstack was not marked dirty when new clips were added
+leading to clipping never being applied.
+
+* platform/graphics/texmap/TextureMapperGL.cpp:
+(WebCore::TextureMapperGL::ClipStack::push):
+
 2013-02-28  Tamas Czene  
 
 OpenCL implementation of FEImage SVG Filter.


Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp (144289 => 144290)

--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp	2013-02-28 11:50:31 UTC (rev 144289)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp	2013-02-28 11:58:37 UTC (rev 144290)
@@ -185,6 +185,7 @@
 void TextureMapperGL::ClipStack::push()
 {
 clipStack.append(clipState);
+clipStateDirty = true;
 }
 
 void TextureMapperGL::ClipStack::pop()






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144300] trunk

2013-02-28 Thread allan . jensen
Title: [144300] trunk








Revision 144300
Author allan.jen...@digia.com
Date 2013-02-28 05:57:42 -0800 (Thu, 28 Feb 2013)


Log Message
[Qt] Enable CANVAS_PATH flag
https://bugs.webkit.org/show_bug.cgi?id=108508

Reviewed by Simon Hausmann.

Tools:

Also enable CANVAS_PATH flag for Qt.

* qmake/mkspecs/features/features.pri:

LayoutTests:

Unskip CANVAS_PATH tests.

* platform/qt/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/qt/TestExpectations
trunk/Tools/ChangeLog
trunk/Tools/qmake/mkspecs/features/features.pri




Diff

Modified: trunk/LayoutTests/ChangeLog (144299 => 144300)

--- trunk/LayoutTests/ChangeLog	2013-02-28 13:41:13 UTC (rev 144299)
+++ trunk/LayoutTests/ChangeLog	2013-02-28 13:57:42 UTC (rev 144300)
@@ -1,3 +1,14 @@
+2013-02-28  Allan Sandfeld Jensen  
+
+[Qt] Enable CANVAS_PATH flag
+https://bugs.webkit.org/show_bug.cgi?id=108508
+
+Reviewed by Simon Hausmann.
+
+Unskip CANVAS_PATH tests.
+
+* platform/qt/TestExpectations:
+
 2013-02-28  Ádám Kallai  
 
 [Qt] Unreviewed gardening.


Modified: trunk/LayoutTests/platform/qt/TestExpectations (144299 => 144300)

--- trunk/LayoutTests/platform/qt/TestExpectations	2013-02-28 13:41:13 UTC (rev 144299)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2013-02-28 13:57:42 UTC (rev 144300)
@@ -90,11 +90,6 @@
 # ENABLE_GAMEPAD not enabled.
 gamepad/
 
-# Remove from list after enabling CANVAS_PATH
-fast/canvas/canvas-currentPath.html
-fast/canvas/canvas-path-constructors.html
-fast/canvas/canvas-currentPath-crash.html
-
 # ENABLE(INPUT_SPEECH) is disabled.
 fast/speech
 


Modified: trunk/Tools/ChangeLog (144299 => 144300)

--- trunk/Tools/ChangeLog	2013-02-28 13:41:13 UTC (rev 144299)
+++ trunk/Tools/ChangeLog	2013-02-28 13:57:42 UTC (rev 144300)
@@ -1,3 +1,14 @@
+2013-02-28  Allan Sandfeld Jensen  
+
+[Qt] Enable CANVAS_PATH flag
+https://bugs.webkit.org/show_bug.cgi?id=108508
+
+Reviewed by Simon Hausmann.
+
+Also enable CANVAS_PATH flag for Qt.
+
+* qmake/mkspecs/features/features.pri:
+
 2013-02-28  Andras Becsi  
 
 [Qt][TestWebKitAPI] The activeBuildConfig() function has been replaced with targetSubDir()


Modified: trunk/Tools/qmake/mkspecs/features/features.pri (144299 => 144300)

--- trunk/Tools/qmake/mkspecs/features/features.pri	2013-02-28 13:41:13 UTC (rev 144299)
+++ trunk/Tools/qmake/mkspecs/features/features.pri	2013-02-28 13:57:42 UTC (rev 144300)
@@ -17,6 +17,7 @@
 ENABLE_ACCELERATED_2D_CANVAS=0 \
 ENABLE_BATTERY_STATUS=0 \
 ENABLE_BLOB=1 \
+ENABLE_CANVAS_PATH=1 \
 ENABLE_CANVAS_PROXY=0 \
 ENABLE_CHANNEL_MESSAGING=1 \
 ENABLE_CSP_NEXT=0 \






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144438] trunk/Tools

2013-03-01 Thread allan . jensen
Title: [144438] trunk/Tools








Revision 144438
Author allan.jen...@digia.com
Date 2013-03-01 04:01:57 -0800 (Fri, 01 Mar 2013)


Log Message
[Qt] Update features.pri with new features
https://bugs.webkit.org/show_bug.cgi?id=57

Reviewed by Jocelyn Turcotte.

* qmake/mkspecs/features/features.pri:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/qmake/mkspecs/features/features.pri




Diff

Modified: trunk/Tools/ChangeLog (144437 => 144438)

--- trunk/Tools/ChangeLog	2013-03-01 11:46:22 UTC (rev 144437)
+++ trunk/Tools/ChangeLog	2013-03-01 12:01:57 UTC (rev 144438)
@@ -1,3 +1,12 @@
+2013-03-01  Allan Sandfeld Jensen  
+
+[Qt] Update features.pri with new features
+https://bugs.webkit.org/show_bug.cgi?id=57
+
+Reviewed by Jocelyn Turcotte.
+
+* qmake/mkspecs/features/features.pri:
+
 2013-03-01  Jochen Eisinger  
 
 [chromium] put WebTestProxy::scheduleComposite back in place


Modified: trunk/Tools/qmake/mkspecs/features/features.pri (144437 => 144438)

--- trunk/Tools/qmake/mkspecs/features/features.pri	2013-03-01 11:46:22 UTC (rev 144437)
+++ trunk/Tools/qmake/mkspecs/features/features.pri	2013-03-01 12:01:57 UTC (rev 144438)
@@ -95,6 +95,7 @@
 ENABLE_PROXIMITY_EVENTS=0 \
 ENABLE_QUOTA=0 \
 ENABLE_RESOLUTION_MEDIA_QUERY=1 \
+ENABLE_RESOURCE_TIMING=0 \
 ENABLE_REQUEST_ANIMATION_FRAME=1 \
 ENABLE_SCRIPTED_SPEECH=0 \
 ENABLE_SHADOW_DOM=0 \
@@ -105,11 +106,13 @@
 ENABLE_SVG=1 \
 ENABLE_SVG_DOM_OBJC_BINDINGS=0 \
 ENABLE_SVG_FONTS=1 \
+ENABLE_TEMPLATE_ELEMENT=0 \
 ENABLE_TEXT_AUTOSIZING=0 \
 ENABLE_TEXT_NOTIFICATIONS_ONLY=0 \
 ENABLE_TOUCH_ADJUSTMENT=1 \
 ENABLE_TOUCH_EVENTS=1 \
 ENABLE_TOUCH_ICON_LOADING=0 \
+ENABLE_USER_TIMING=0 \
 ENABLE_VIBRATION=0 \
 ENABLE_VIDEO=0 \
 ENABLE_VIDEO_TRACK=0 \






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144441] trunk

2013-03-01 Thread allan . jensen
Title: [11] trunk








Revision 11
Author allan.jen...@digia.com
Date 2013-03-01 04:17:20 -0800 (Fri, 01 Mar 2013)


Log Message
[Qt] Enable LINK_PREFETCH
https://bugs.webkit.org/show_bug.cgi?id=58

Reviewed by Simon Hausmann.

Tools:

* qmake/mkspecs/features/features.pri:

LayoutTests:

Unskip tests depending on LINK_PREFETCH.

* platform/qt/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/qt/TestExpectations
trunk/Tools/ChangeLog
trunk/Tools/qmake/mkspecs/features/features.pri




Diff

Modified: trunk/LayoutTests/ChangeLog (10 => 11)

--- trunk/LayoutTests/ChangeLog	2013-03-01 12:05:16 UTC (rev 10)
+++ trunk/LayoutTests/ChangeLog	2013-03-01 12:17:20 UTC (rev 11)
@@ -1,3 +1,14 @@
+2013-03-01  Allan Sandfeld Jensen  
+
+[Qt] Enable LINK_PREFETCH
+https://bugs.webkit.org/show_bug.cgi?id=58
+
+Reviewed by Simon Hausmann.
+
+Unskip tests depending on LINK_PREFETCH.
+
+* platform/qt/TestExpectations:
+
 2013-03-01  Vsevolod Vlasov  
 
 Flaky test: http/tests/inspector/resource-tree/resource-request-content-while-loading.html


Modified: trunk/LayoutTests/platform/qt/TestExpectations (10 => 11)

--- trunk/LayoutTests/platform/qt/TestExpectations	2013-03-01 12:05:16 UTC (rev 10)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2013-03-01 12:17:20 UTC (rev 11)
@@ -156,18 +156,6 @@
 inspector/profiler/webgl
 webgl/
 
-# ENABLE(LINK_PREFETCH) is disabled.
-fast/dom/HTMLLinkElement/link-and-subresource-test.html
-fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html
-fast/dom/HTMLLinkElement/prefetch.html
-fast/dom/HTMLLinkElement/prefetch-beforeload.html
-fast/dom/HTMLLinkElement/prefetch-onerror.html
-fast/dom/HTMLLinkElement/prefetch-onload.html
-fast/dom/HTMLLinkElement/prefetch-too-many-clients.html
-fast/dom/HTMLLinkElement/subresource.html
-http/tests/misc/link-rel-prefetch-and-subresource.html
-http/tests/misc/prefetch-purpose.html
-
 # ENABLE(LINK_PRERENDER) is disabled.
 fast/dom/HTMLLinkElement/prerender-insert-after-stop.html
 fast/dom/HTMLLinkElement/prerender-remove-after-stop.html


Modified: trunk/Tools/ChangeLog (10 => 11)

--- trunk/Tools/ChangeLog	2013-03-01 12:05:16 UTC (rev 10)
+++ trunk/Tools/ChangeLog	2013-03-01 12:17:20 UTC (rev 11)
@@ -1,5 +1,14 @@
 2013-03-01  Allan Sandfeld Jensen  
 
+[Qt] Enable LINK_PREFETCH
+https://bugs.webkit.org/show_bug.cgi?id=58
+
+Reviewed by Simon Hausmann.
+
+* qmake/mkspecs/features/features.pri:
+
+2013-03-01  Allan Sandfeld Jensen  
+
 [Qt] Update features.pri with new features
 https://bugs.webkit.org/show_bug.cgi?id=57
 


Modified: trunk/Tools/qmake/mkspecs/features/features.pri (10 => 11)

--- trunk/Tools/qmake/mkspecs/features/features.pri	2013-03-01 12:05:16 UTC (rev 10)
+++ trunk/Tools/qmake/mkspecs/features/features.pri	2013-03-01 12:17:20 UTC (rev 11)
@@ -74,7 +74,7 @@
 ENABLE_LEGACY_VIEWPORT_ADAPTION=1 \
 ENABLE_LEGACY_VENDOR_PREFIXES=1 \
 ENABLE_LEGACY_WEB_AUDIO=1 \
-ENABLE_LINK_PREFETCH=0 \
+ENABLE_LINK_PREFETCH=1 \
 ENABLE_LINK_PRERENDER=0 \
 ENABLE_MATHML=0 \
 ENABLE_MEDIA_SOURCE=0 \






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144627] trunk/Source/WebCore

2013-03-04 Thread allan . jensen
Title: [144627] trunk/Source/WebCore








Revision 144627
Author allan.jen...@digia.com
Date 2013-03-04 07:53:02 -0800 (Mon, 04 Mar 2013)


Log Message
[Qt] REGRESSION(r141240) Crash in PluginPackage::fetchInfo
https://bugs.webkit.org/show_bug.cgi?id=111322

Reviewed by Simon Hausmann.

Do not try to load blacklisted plugins.

* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/plugins/qt/PluginPackageQt.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (144626 => 144627)

--- trunk/Source/WebCore/ChangeLog	2013-03-04 15:09:04 UTC (rev 144626)
+++ trunk/Source/WebCore/ChangeLog	2013-03-04 15:53:02 UTC (rev 144627)
@@ -1,3 +1,15 @@
+2013-03-04  Allan Sandfeld Jensen  
+
+[Qt] REGRESSION(r141240) Crash in PluginPackage::fetchInfo
+https://bugs.webkit.org/show_bug.cgi?id=111322
+
+Reviewed by Simon Hausmann.
+
+Do not try to load blacklisted plugins.
+
+* plugins/qt/PluginPackageQt.cpp:
+(WebCore::PluginPackage::fetchInfo):
+
 2013-03-04  Alexis Menard  
 
 transition properties can't be found in CSSStyleDeclaration


Modified: trunk/Source/WebCore/plugins/qt/PluginPackageQt.cpp (144626 => 144627)

--- trunk/Source/WebCore/plugins/qt/PluginPackageQt.cpp	2013-03-04 15:09:04 UTC (rev 144626)
+++ trunk/Source/WebCore/plugins/qt/PluginPackageQt.cpp	2013-03-04 15:53:02 UTC (rev 144627)
@@ -39,6 +39,8 @@
 bool PluginPackage::fetchInfo()
 {
 if (!m_module) {
+if (isPluginBlacklisted())
+return false;
 m_module = new QLibrary((QString)m_path);
 m_module->setLoadHints(QLibrary::ResolveAllSymbolsHint);
 if (!m_module->load()) {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144901] trunk

2013-03-06 Thread allan . jensen
Title: [144901] trunk








Revision 144901
Author allan.jen...@digia.com
Date 2013-03-06 01:59:22 -0800 (Wed, 06 Mar 2013)


Log Message
REGGRESSION (r142112): It made compositing tests fail on EFL, Qt.
https://bugs.webkit.org/show_bug.cgi?id=109291

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Report we support fixed layers.

* page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
(WebCore::ScrollingCoordinatorCoordinatedGraphics::supportsFixedPositionLayers):
(ScrollingCoordinatorCoordinatedGraphics):

LayoutTests:

Unskip now passing test, and move baselines specific to having no scrolling-coordinator to WK1.

* platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png: Renamed from LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png.
* platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Renamed from LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt.
* platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png: Renamed from LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png.
* platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Renamed from LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt.
* platform/qt-5.0-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/qt-5.0-wk2/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h


Added Paths

trunk/LayoutTests/platform/qt-5.0-wk1/scrollingcoordinator/
trunk/LayoutTests/platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png
trunk/LayoutTests/platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt
trunk/LayoutTests/platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png
trunk/LayoutTests/platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt


Removed Paths

trunk/LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png
trunk/LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt
trunk/LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png
trunk/LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (144900 => 144901)

--- trunk/LayoutTests/ChangeLog	2013-03-06 09:53:13 UTC (rev 144900)
+++ trunk/LayoutTests/ChangeLog	2013-03-06 09:59:22 UTC (rev 144901)
@@ -1,3 +1,18 @@
+2013-03-06  Allan Sandfeld Jensen  
+
+REGGRESSION (r142112): It made compositing tests fail on EFL, Qt.
+https://bugs.webkit.org/show_bug.cgi?id=109291
+
+Reviewed by Kenneth Rohde Christiansen.
+
+Unskip now passing test, and move baselines specific to having no scrolling-coordinator to WK1.
+
+* platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png: Renamed from LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png.
+* platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Renamed from LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt.
+* platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png: Renamed from LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png.
+* platform/qt-5.0-wk1/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Renamed from LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt.
+* platform/qt-5.0-wk2/TestExpectations:
+
 2013-03-06  Hayato Ito  
 
 Unreviewed gardening.


Deleted: trunk/LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png

(Binary files differ)


Deleted: trunk/LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt (144900 => 144901)

--- trunk/LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt	2013-03-06 09:53:13 UTC (rev 144900)
+++ trunk/LayoutTests/platform/qt/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt	2013-03-06 09:59:22 UTC (rev 144901)
@@ -1,12 +0,0 @@
-layer at (0,0) size 785x585
-  RenderView at (0,0) size 785x585
-layer at

[webkit-changes] [144913] trunk/Source/WebCore

2013-03-06 Thread allan . jensen
Title: [144913] trunk/Source/WebCore








Revision 144913
Author allan.jen...@digia.com
Date 2013-03-06 06:02:13 -0800 (Wed, 06 Mar 2013)


Log Message
[Qt] Do not disable C++0x
https://bugs.webkit.org/show_bug.cgi?id=111559

Reviewed by Kenneth Rohde Christiansen.

* WebCore.pri:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.pri




Diff

Modified: trunk/Source/WebCore/ChangeLog (144912 => 144913)

--- trunk/Source/WebCore/ChangeLog	2013-03-06 13:31:17 UTC (rev 144912)
+++ trunk/Source/WebCore/ChangeLog	2013-03-06 14:02:13 UTC (rev 144913)
@@ -1,3 +1,12 @@
+2013-03-06  Allan Sandfeld Jensen  
+
+[Qt] Do not disable C++0x
+https://bugs.webkit.org/show_bug.cgi?id=111559
+
+Reviewed by Kenneth Rohde Christiansen.
+
+* WebCore.pri:
+
 2013-03-06  Julien Chaffraix  
 
 Remove the (dead) code for handling shorthands in StyleResolver / StyleBuilder


Modified: trunk/Source/WebCore/WebCore.pri (144912 => 144913)

--- trunk/Source/WebCore/WebCore.pri	2013-03-06 13:31:17 UTC (rev 144912)
+++ trunk/Source/WebCore/WebCore.pri	2013-03-06 14:02:13 UTC (rev 144913)
@@ -328,9 +328,6 @@
 INCLUDEPATH += $$SOURCE_DIR/platform/graphics/gpu/opencl
 }
 
-# Disable C++0x mode in WebCore for those who enabled it in their Qt's mkspec
-*-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x
-
 enable_fast_mobile_scrolling: DEFINES += ENABLE_FAST_MOBILE_SCROLLING=1
 
 !production_build:have?(FONTCONFIG): PKGCONFIG += fontconfig






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [144918] trunk/Source/WebKit/qt

2013-03-06 Thread allan . jensen
Title: [144918] trunk/Source/WebKit/qt








Revision 144918
Author allan.jen...@digia.com
Date 2013-03-06 06:29:23 -0800 (Wed, 06 Mar 2013)


Log Message
[Qt] Illegal narrowing in tst_qwebhistory
https://bugs.webkit.org/show_bug.cgi?id=111562

Reviewed by Jocelyn Turcotte.

The bytearray in tst_QWebHistory::restoreIncompatibleVersion1 has integer
values higher than 127 assigned into an array of signed chars. This causes
compiler errors in C++11 since it assigns constants (>127) that does not
fit the destination (-128 to 127)

* tests/qwebhistory/tst_qwebhistory.cpp:
(tst_QWebHistory::restoreIncompatibleVersion1):

Modified Paths

trunk/Source/WebKit/qt/ChangeLog
trunk/Source/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp




Diff

Modified: trunk/Source/WebKit/qt/ChangeLog (144917 => 144918)

--- trunk/Source/WebKit/qt/ChangeLog	2013-03-06 14:16:30 UTC (rev 144917)
+++ trunk/Source/WebKit/qt/ChangeLog	2013-03-06 14:29:23 UTC (rev 144918)
@@ -1,3 +1,18 @@
+2013-03-06  Allan Sandfeld Jensen  
+
+[Qt] Illegal narrowing in tst_qwebhistory
+https://bugs.webkit.org/show_bug.cgi?id=111562
+
+Reviewed by Jocelyn Turcotte.
+
+The bytearray in tst_QWebHistory::restoreIncompatibleVersion1 has integer
+values higher than 127 assigned into an array of signed chars. This causes
+compiler errors in C++11 since it assigns constants (>127) that does not
+fit the destination (-128 to 127)
+
+* tests/qwebhistory/tst_qwebhistory.cpp:
+(tst_QWebHistory::restoreIncompatibleVersion1):
+
 2013-03-03  Adam Barth  
 
 Unreviewed attempted build fix. Adds back some includes removed in


Modified: trunk/Source/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp (144917 => 144918)

--- trunk/Source/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp	2013-03-06 14:16:30 UTC (rev 144917)
+++ trunk/Source/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp	2013-03-06 14:29:23 UTC (rev 144918)
@@ -447,7 +447,7 @@
 {
 // Uncomment this code to generate a dump similar to the one below with the current stream version.
 // dumpCurrentVersion(hist);
-static const char version1Dump[] = {
+static const unsigned char version1Dump[] = {
 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x32, 0x00, 0x71, 0x00, 0x72, 0x00, 0x63, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x72, 0x00, 0x65,
 0x00, 0x73, 0x00, 0x6f, 0x00, 0x75, 0x00, 0x72, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00,
@@ -514,7 +514,7 @@
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-QByteArray version1(version1Dump, sizeof(version1Dump));
+QByteArray version1(reinterpret_cast(version1Dump), sizeof(version1Dump));
 QDataStream stream(&version1, QIODevice::ReadOnly);
 
 // This should fail to load, the history should be cleared and the stream should be broken.






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [145066] trunk/Source/WebCore

2013-03-07 Thread allan . jensen
Title: [145066] trunk/Source/WebCore








Revision 145066
Author allan.jen...@digia.com
Date 2013-03-07 05:52:35 -0800 (Thu, 07 Mar 2013)


Log Message
[Qt] Use Qt5.1 supportedMimeTypes methods.
https://bugs.webkit.org/show_bug.cgi?id=85

Reviewed by Jocelyn Turcotte.

Uses the supportedMimeTypes() methods from QImageReader and QImageWriter when available.

* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedImageMIMETypesForEncoding):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/MIMETypeRegistry.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (145065 => 145066)

--- trunk/Source/WebCore/ChangeLog	2013-03-07 13:36:43 UTC (rev 145065)
+++ trunk/Source/WebCore/ChangeLog	2013-03-07 13:52:35 UTC (rev 145066)
@@ -1,3 +1,16 @@
+2013-03-07  Allan Sandfeld Jensen  
+
+[Qt] Use Qt5.1 supportedMimeTypes methods.
+https://bugs.webkit.org/show_bug.cgi?id=85
+
+Reviewed by Jocelyn Turcotte.
+
+Uses the supportedMimeTypes() methods from QImageReader and QImageWriter when available.
+
+* platform/MIMETypeRegistry.cpp:
+(WebCore::initializeSupportedImageMIMETypes):
+(WebCore::initializeSupportedImageMIMETypesForEncoding):
+
 2013-03-07  Ilya Tikhonovsky  
 
 Web Inspector: Flame Chart. Stick item color to the function.


Modified: trunk/Source/WebCore/platform/MIMETypeRegistry.cpp (145065 => 145066)

--- trunk/Source/WebCore/platform/MIMETypeRegistry.cpp	2013-03-07 13:36:43 UTC (rev 145065)
+++ trunk/Source/WebCore/platform/MIMETypeRegistry.cpp	2013-03-07 13:52:35 UTC (rev 145066)
@@ -245,21 +245,29 @@
 }
 
 #if PLATFORM(QT)
+#if QT_VERSION >= QT_VERSION_CHECK(5, 1, 0)
+QList mimeTypes = QImageReader::supportedMimeTypes();
+Q_FOREACH(const QByteArray& mimeType, mimeTypes) {
+supportedImageMIMETypes->add(mimeType.constData());
+supportedImageResourceMIMETypes->add(mimeType.constData());
+}
+#else
 QList formats = QImageReader::supportedImageFormats();
-for (size_t i = 0; i < static_cast(formats.size()); ++i) {
-#if ENABLE(SVG)
-// Qt has support for SVG, but we want to use KSVG2
-if (formats.at(i).toLower().startsWith("svg"))
-continue;
-#endif // ENABLE(SVG)
+for (int i = 0; i < formats.size(); ++i) {
 String mimeType = MIMETypeRegistry::getMIMETypeForExtension(formats.at(i).constData());
 if (!mimeType.isEmpty()) {
 supportedImageMIMETypes->add(mimeType);
 supportedImageResourceMIMETypes->add(mimeType);
 }
- }
+}
+#endif // QT_VERSION
+#if ENABLE(SVG)
+// Do not treat SVG as images directly if WebKit can handle them.
+supportedImageMIMETypes->remove("image/svg+xml");
+supportedImageResourceMIMETypes->remove("image/svg+xml");
+#endif
 #endif // PLATFORM(QT)
-#endif
+#endif // USE(CG)
 }
 
 static void initializeSupportedImageMIMETypesForEncoding()
@@ -284,12 +292,19 @@
 supportedImageMIMETypesForEncoding->add("image/gif");
 #endif
 #elif PLATFORM(QT)
+#if QT_VERSION >= QT_VERSION_CHECK(5, 1, 0)
+QList mimeTypes = QImageWriter::supportedMimeTypes();
+Q_FOREACH(const QByteArray& mimeType, mimeTypes) {
+supportedImageMIMETypesForEncoding->add(mimeType.constData());
+}
+#else
 QList formats = QImageWriter::supportedImageFormats();
 for (int i = 0; i < formats.size(); ++i) {
 String mimeType = MIMETypeRegistry::getMIMETypeForExtension(formats.at(i).constData());
 if (!mimeType.isEmpty())
 supportedImageMIMETypesForEncoding->add(mimeType);
 }
+#endif // QT_VERSION
 #elif PLATFORM(GTK)
 supportedImageMIMETypesForEncoding->add("image/png");
 supportedImageMIMETypesForEncoding->add("image/jpeg");






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [145098] trunk

2013-03-07 Thread allan . jensen
Title: [145098] trunk








Revision 145098
Author allan.jen...@digia.com
Date 2013-03-07 10:35:02 -0800 (Thu, 07 Mar 2013)


Log Message
REGRESSION(r143727): Clicking / selecting inside an  is broken
https://bugs.webkit.org/show_bug.cgi?id=111217

Reviewed by Julien Chaffraix.

Source/WebCore:

Hit-testing into child frames need to happen in RenderPart, otherwise
we will miss frame views in  and  elements.

Test: fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html

* rendering/RenderFrameBase.cpp:
* rendering/RenderFrameBase.h:
(RenderFrameBase):
* rendering/RenderPart.cpp:
(WebCore::RenderPart::nodeAtPoint):
* rendering/RenderPart.h:
(RenderPart):

LayoutTests:

Test rect and point based hit-testing inside embed and object child frames.

* fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content-expected.txt: Added.
* fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html: Added.
* fast/dom/nodesFromRect/resources/nodesFromRect.js:
(checkPoint):

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/dom/nodesFromRect/resources/nodesFromRect.js
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderFrameBase.cpp
trunk/Source/WebCore/rendering/RenderFrameBase.h
trunk/Source/WebCore/rendering/RenderPart.cpp
trunk/Source/WebCore/rendering/RenderPart.h


Added Paths

trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content-expected.txt
trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html




Diff

Modified: trunk/LayoutTests/ChangeLog (145097 => 145098)

--- trunk/LayoutTests/ChangeLog	2013-03-07 18:25:10 UTC (rev 145097)
+++ trunk/LayoutTests/ChangeLog	2013-03-07 18:35:02 UTC (rev 145098)
@@ -1,3 +1,17 @@
+2013-03-07  Allan Sandfeld Jensen  
+
+REGRESSION(r143727): Clicking / selecting inside an  is broken
+https://bugs.webkit.org/show_bug.cgi?id=111217
+
+Reviewed by Julien Chaffraix.
+
+Test rect and point based hit-testing inside embed and object child frames.
+
+* fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content-expected.txt: Added.
+* fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html: Added.
+* fast/dom/nodesFromRect/resources/nodesFromRect.js:
+(checkPoint):
+
 2013-03-07  Alexey Proskuryakov  
 
 FormData should allow setting filename to empty


Added: trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content-expected.txt (0 => 145098)

--- trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content-expected.txt	2013-03-07 18:35:02 UTC (rev 145098)
@@ -0,0 +1,17 @@
+
+REGRESSION(r143727): Clicking / selecting inside an embed is broken - bug 111217
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS Correct node found for point
+PASS Correct node found for point
+PASS Correct node found for point
+PASS Correct node found for point
+PASS All correct nodes found for rect
+PASS All correct nodes found for rect
+PASS All correct nodes found for rect
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html (0 => 145098)

--- trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/nodesFromRect/nodesFromRect-embedded-frame-content.html	2013-03-07 18:35:02 UTC (rev 145098)
@@ -0,0 +1,69 @@
+
+
+
+REGRESSION(r143727): Clicking / selecting inside an embed is broken - bug 111217
+
+body { margin: 0px; }
+#sandbox {
+width: 400px;
+height: 200px;
+}
+#sandbox embed {
+float: right;
+display: block;
+box-sizing: border-box;
+width: 200px;
+height: 200px;
+border: none;
+}
+#sandbox object {
+display: block;
+box-sizing: border-box;
+width: 200px;
+height: 200px;
+border: none;
+}
+
+
+
+
+ + +

+
+