Unreviewed, skip a flaky test and a failing test on GTK.

* platform/gtk/Skipped: Skip fast/events/dont-loose-last-event.html
* platform/gtk/test_expectations.txt: Mark
fullscreen/full-screen-iframe-legacy.html flaky.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, skip failing test on GTK.

* platform/gtk/Skipped: Skip editing/pasteboard/emacs-ctrl-k-with-move.html

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, skip flaky fast/events/overflow-events.html test on GTK.

* platform/gtk/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] MiniBrowser should only visualize mock touch points when in non-desktop mode
https://bugs.webkit.org/show_bug.cgi?id=74283

Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2011-12-12
Reviewed by Simon Hausmann.

* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::sendTouchEvent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: provide per Document Node count statistics
https://bugs.webkit.org/show_bug.cgi?id=74100

Memory agent now returns counters for nodes with given names. For each
object group root user will see total number of its descendtants and per
tag name counts.

This patch also moves generic CounterVisitor code out of V8 bindings. It
may well be used with both JS engines.

Reviewed by Pavel Feldman.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptProfiler.h:
(WebCore::ScriptProfiler::visitJSDOMWrappers):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::visitJSDOMWrappers):
* bindings/v8/ScriptProfiler.h:
* inspector/DOMWrapperVisitor.h: Added.
(WebCore::DOMWrapperVisitor::~DOMWrapperVisitor):
* inspector/Inspector.json:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getDOMNodeCount):
* inspector/InspectorMemoryAgent.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit does not enumerate over CSS properties in HTMLElement.style
https://bugs.webkit.org/show_bug.cgi?id=23946

Reviewed by Darin Adler.

Source/JavaScriptCore:

Add a few exports to follow the JSCSSStyleDeclaration.cpp changes,
introduce an std::sort() comparator function.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* wtf/text/WTFString.h:
(WTF::codePointCompareLessThan): Used by std::sort() to sort properties.

Source/WebCore:

This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
using the "in" operator on the CSSStyleDeclaration object.

Test: fast/css/style-enumerate-properties.html

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
(WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
* css/CSSStyleDeclaration.idl: Use a custom property enumerator.
* css/makeprop.pl: Add a function to convert CSS property names into JS ones, and a string comparator.

LayoutTests:

* fast/css/style-enumerate-properties-expected.txt: Added.
* fast/css/style-enumerate-properties.html: Added.
* fast/dom/domListEnumeration-expected.txt:
* fast/dom/script-tests/domListEnumeration.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102570 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r102558.
http://trac.webkit.org/changeset/102558
https://bugs.webkit.org/show_bug.cgi?id=74160

clobber build failure

* WebCore.gypi:
* page/DOMWindow.idl:
* websockets/DOMWindowWebSocket.idl: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102571 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r102556.
http://trac.webkit.org/changeset/102556
https://bugs.webkit.org/show_bug.cgi?id=73394

clobber build failure

* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/action_derivedsourcesallinone.py:
(main):
* WebCore.gypi:
* bindings/scripts/generate-bindings.pl:
* page/DOMWindow.idl:
* webaudio/DOMWindowWebAudio.idl: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102572 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] [WK2] Support customizing popup menus with QML
https://bugs.webkit.org/show_bug.cgi?id=73560

Reviewed by Tor Arne Vestbø.

Source/WebKit2:

Add a new property 'itemSelector' to WebView (experimental for now) that contains
the QML component used when it needs to spawn a popup menu. For example, <select>
HTML tag may trigger a popup menu.

When loaded the component will have the 'model' available in its context with two
properties: 'elementRect', describing the position of the element which spawned
the item selector, and 'items', which is a model ready to be used by ListView. The
'model' also have methods to accept/reject the selection.

Option groups are available as a property for each row in the 'items' model. This
can be used together with ListView to create sections, as demonstrated in the
MiniBrowser. QML tests were added as well.

The existing Desktop version is removed since after the Qt5 refactoring isn't
working correctly. Once Qt have its own QML components for popup, we hope to use
it as a default if no other popupMenu is specified.

* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewExperimental::itemSelector):
(QQuickWebViewExperimental::setItemSelector):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate::get):
* UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/select.html: Added.
* UIProcess/API/qt/tests/qmltests/qmltests.pro:
* UIProcess/qt/QtPageClient.cpp:
* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::createPopupMenuProxy):
* UIProcess/qt/WebPopupMenuProxyQt.cpp:
(WebKit::PopupMenuItemModel::rowCount):
(WebKit::PopupMenuItemModel::Item::Item):
(WebKit::ItemSelectorContextObject::elementRect):
(WebKit::ItemSelectorContextObject::items):
(WebKit::ItemSelectorContextObject::reject):
(WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
(WebKit::ItemSelectorContextObject::accept):
(WebKit::createRoleNamesHash):
(WebKit::PopupMenuItemModel::PopupMenuItemModel):
(WebKit::PopupMenuItemModel::data):
(WebKit::PopupMenuItemModel::select):
(WebKit::PopupMenuItemModel::selectedOriginalIndex):
(WebKit::PopupMenuItemModel::buildItems):
(WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
(WebKit::WebPopupMenuProxyQt::showPopupMenu):
(WebKit::WebPopupMenuProxyQt::hidePopupMenu):
(WebKit::WebPopupMenuProxyQt::selectIndex):
(WebKit::WebPopupMenuProxyQt::createItem):
(WebKit::WebPopupMenuProxyQt::createContext):
(WebKit::WebPopupMenuProxyQt::notifyValueChanged):
* UIProcess/qt/WebPopupMenuProxyQt.h:
(WebKit::WebPopupMenuProxyQt::create):
* UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Removed.
* UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Removed.

Tools:

Add an Item Selector to our WebView using the experimental API.

* MiniBrowser/qt/MiniBrowser.pro:
* MiniBrowser/qt/MiniBrowser.qrc:
* MiniBrowser/qt/qml/BrowserWindow.qml:
* MiniBrowser/qt/qml/ItemSelector.qml: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: chromium: UI: Detailed Heap snapshot shows too many objects' hidden properties.
https://bugs.webkit.org/show_bug.cgi?id=74289

WebCore objects have many hidden properties.
The Detailed Heap shapshot view shows all these props for a selected object.
The result view looks too heavy and users usually failed to find a useful information about the object.
Looks like such ability is unnecessary in the most cases.
I'd like to introduce a configurable property that will show/hide these props from the view.

Reviewed by Yury Semikhatsky.

* English.lproj/localizedStrings.js:
* inspector/front-end/DetailedHeapshotGridNodes.js:
* inspector/front-end/DetailedHeapshotView.js:
* inspector/front-end/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102574 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, build fix.

Revert r102570 which broke SnowLeopard builders.

Source/JavaScriptCore:

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* wtf/text/WTFString.h:

Source/WebCore:

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
* css/CSSStyleDeclaration.idl:
* css/makeprop.pl:

LayoutTests:

* fast/css/style-enumerate-properties-expected.txt: Removed.
* fast/css/style-enumerate-properties.html: Removed.
* fast/dom/domListEnumeration-expected.txt:
* fast/dom/script-tests/domListEnumeration.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102575 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add myself as a committer

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: unreviewed test fix for r102574

* inspector/profiler/detailed-heapshots-test.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102577 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit does not enumerate over CSS properties in HTMLElement.style
https://bugs.webkit.org/show_bug.cgi?id=23946

Reviewed by Darin Adler.

Source/JavaScriptCore:

Add a few exports to follow the JSCSSStyleDeclaration.cpp changes,
introduce an std::sort() comparator function.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* wtf/text/WTFString.h:
(WTF::codePointCompareLessThan): Used by std::sort() to sort properties.

Source/WebCore:

This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
using the "in" operator on the CSSStyleDeclaration object.

Test: fast/css/style-enumerate-properties.html

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
(WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
* css/CSSStyleDeclaration.idl: Use a custom property enumerator.
* css/makeprop.pl: Add a function to convert CSS property names into JS ones.

LayoutTests:

* fast/css/style-enumerate-properties-expected.txt: Added.
* fast/css/style-enumerate-properties.html: Added.
* fast/dom/domListEnumeration-expected.txt:
* fast/dom/script-tests/domListEnumeration.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] Move startDrag implementation to QtWebPageEventHandler
https://bugs.webkit.org/show_bug.cgi?id=73145

Reviewed by Simon Hausmann.

Move QtWebPageProxy::startDrag to QtWebPageEventHandler::startDrag
and call it straight from QtPageClient.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
* UIProcess/qt/QtWebPageEventHandler.cpp:
(dragOperationToDropAction):
(dragOperationToDropActions):
(dropActionToDragOperation):
Now these functions are static inline and not part of QtWebPageEventHandler
anymore.

(QtWebPageEventHandler::QtWebPageEventHandler):
(QtWebPageEventHandler::startDrag):
* UIProcess/qt/QtWebPageEventHandler.h:
* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::startDrag): removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102579 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fulfill FIXME in  HTMLLinkElement.h.
https://bugs.webkit.org/show_bug.cgi?id=74278

Rename HTMLLinkElement::isLoading() to isStyleSheetLoading().

Reviewed by Andreas Kling.

No new tests because the functionality remains the same.

* dom/Document.cpp:
(WebCore::Document::recalcStyleSelector):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::isStyleSheetLoading):
(WebCore::HTMLLinkElement::sheetLoaded):
* html/HTMLLinkElement.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [Styles] Modified selector text needs sanitization
https://bugs.webkit.org/show_bug.cgi?id=74291

Reviewed by Yury Semikhatsky.

Source/WebCore:

* inspector/front-end/StylesSidebarPane.js:

LayoutTests:

* inspector/styles/commit-selector-expected.txt:
* inspector/styles/commit-selector.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] History is not accessible in QML.
https://bugs.webkit.org/show_bug.cgi?id=73016

Reviewed by Simon Hausmann.

.: 

Add the new QWebNavigationHistory in the map file.

* Source/qtwebkit-export.map:

Source/WebKit/qt: 

Register QWebNavigationHistory and QWebNavigationListModel in the QML plugin.

* declarative/experimental/plugin.cpp:
(WebKitQmlPlugin::registerTypes):

Source/WebKit2: 

Remove the old qwkhistory and create QWebNavigationHistory which is QML
friendly with data models you can plug to a view in QML

* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::didChangeBackForwardList):
(QQuickWebViewExperimental::navigationHistory):
(QQuickWebViewExperimental::goForwardTo):
(QQuickWebViewExperimental::goBackTo):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/API/qt/qwebnavigationhistory.cpp: Added.
(QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
(QWebNavigationListModelPrivate::createWebNavigationModel):
(QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
(QWebNavigationHistoryPrivate::createHistory):
(QWebNavigationHistoryPrivate::reset):
(QWebNavigationHistoryPrivate::goBackTo):
(QWebNavigationHistoryPrivate::goForwardTo):
(QWebNavigationListModel::QWebNavigationListModel):
(QWebNavigationListModel::~QWebNavigationListModel):
(QWebNavigationListModel::rowCount):
(QWebNavigationListModel::data):
(QWebNavigationHistory::QWebNavigationHistory):
(QWebNavigationHistory::~QWebNavigationHistory):
(QWebNavigationHistory::backItems):
(QWebNavigationHistory::forwardItems):
* UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
* UIProcess/API/qt/qwebnavigationhistory_p_p.h: Renamed from Source/WebKit2/UIProcess/qt/qwkhistory_p.h.
* UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
* UIProcess/qt/QtWebPageLoadClient.cpp:
(QtWebPageLoadClient::QtWebPageLoadClient):
(QtWebPageLoadClient::didChangeBackForwardList):
* UIProcess/qt/QtWebPageLoadClient.h:
* UIProcess/qt/QtWebPageProxy.cpp:
(QtWebPageProxy::QtWebPageProxy):
(QtWebPageProxy::~QtWebPageProxy):
(QtWebPageProxy::goBackTo):
(QtWebPageProxy::goForwardTo):
(QtWebPageProxy::navigationHistory):
* UIProcess/qt/QtWebPageProxy.h:
* UIProcess/qt/qwkhistory.cpp: Removed.
* UIProcess/qt/qwkhistory.h: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Move postMessage/messageReceived APIS to experimental

Reviewed by Tor Arne Vestbø.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::setPageProxy):
(QQuickWebViewExperimental::QQuickWebViewExperimental):
(QQuickWebViewExperimental::postMessage):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102583 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement a cache for CSSStyleRule::selectorText()
https://bugs.webkit.org/show_bug.cgi?id=74269

This change is geared towards speeding up the CSS selector profiler,
its implementation tracked at https://bugs.webkit.org/show_bug.cgi?id=74004.
Using a proof-of-concept implementation of the profiler, this change reduces
the profiler temporal overhead on PerformanceTests/Parser/html5-full-render.html
roughly by 86% (from ~72 seconds down to ~10 seconds). This change also does not
considerably increase average memory usage, as reading selectorText is a relatively
rare case during normal web browsing.

Reviewed by Andreas Kling.

No new tests, as this functionality is covered by existing tests.

* css/CSSRule.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::~CSSStyleRule):
(WebCore::selectorTextCache):
(WebCore::CSSStyleRule::cleanup):
(WebCore::CSSStyleRule::generateSelectorText):
(WebCore::CSSStyleRule::selectorText):
(WebCore::CSSStyleRule::setSelectorText):
* css/CSSStyleRule.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102584 268f45cc-cd09-0410-ab3c-d52691b4dbfc