[jhbuild] gnutls 2.12.14 does not build with glibc 2.16.0
https://bugs.webkit.org/show_bug.cgi?id=90643

Reviewed by Gustavo Noronha Silva.

The 2.x series of gnutls has a version of Gnulib that is
incompatible with glibc 2.16.0, which now does not define gets()
by default.

After talking to kov, mrobinson and philn, it looks like it makes
sense to simply remove gnutls from jhbuild.modules and rely on the
version installed on the system being recent enough.

This means at least version 2.12.8 for PKCS11 support, or at the
very least 2.11.0 (these are the minimum versions enforced by
glib-networking's configure.ac).

* efl/jhbuild.modules: Do not build gnutls anymore, make
glib-networking depend on glib instead, and move the libgcrypt
dependency to eet, which is what currently needs it.
* gtk/jhbuild.modules: Do not build gnutls anymore.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add function to calculate the day in year from a date
https://bugs.webkit.org/show_bug.cgi?id=92671

Reviewed by Ryosuke Niwa.

Replace monthToDayInYear() with dayInYear() which takes a whole
date for calculation and will be used for bug 92286 later.

* wtf/DateMath.cpp:
(WTF::dayInYear):
(WTF::dateToDaysFrom1970):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Plumb vsync-enabled flag up to compositor thread and support disable-vsync
https://bugs.webkit.org/show_bug.cgi?id=92323

Patch by John Bates <jbates@google.com> on 2012-07-30
Reviewed by James Robinson.

Source/Platform:

* chromium/public/WebLayerTreeView.h:
(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

Source/WebCore:

* platform/graphics/chromium/cc/CCFrameRateController.cpp:
(WebCore::CCFrameRateController::CCFrameRateController):
(WebCore::CCFrameRateController::disableTimeSourceThrottling):
(WebCore):
(WebCore::CCFrameRateController::setActive):
(WebCore::CCFrameRateController::postManualTick):
(WebCore::CCFrameRateController::onTimerFired):
(WebCore::CCFrameRateController::didBeginFrame):
(WebCore::CCFrameRateController::didFinishFrame):
* platform/graphics/chromium/cc/CCFrameRateController.h:
(WebCore):
(CCFrameRateController):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):

Source/WebKit/chromium:

* public/WebSettings.h:
* tests/CCFrameRateControllerTest.cpp:
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::Settings::operator CCLayerTreeSettings):
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::WebSettingsImpl):
(WebKit::WebSettingsImpl::setRenderVSyncEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
(WebKit::WebSettingsImpl::renderVSyncEnabled):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Propagate gesture events to plugins.
https://bugs.webkit.org/show_bug.cgi?id=92281

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-07-30
Reviewed by Adam Barth.

Source/WebCore:

Propagate gesture events to plugins. This change does not expose the gesture events
to JavaScript, since there is no spec for that at the moment. Exposing gesture events
to JavaScript will be done separately, once there is a spec for it.

Test: platform/chromium/plugins/gesture-events.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* dom/EventNames.h:
(WebCore):
(WebCore::EventNames::isGestureEventType):
(EventNames):
* dom/GestureEvent.cpp: Added.
(WebCore):
(WebCore::GestureEvent::create):
(WebCore::GestureEvent::initGestureEvent):
(WebCore::GestureEvent::interfaceName):
(WebCore::GestureEvent::GestureEvent):
(WebCore::GestureEventDispatchMediator::GestureEventDispatchMediator):
(WebCore::GestureEventDispatchMediator::event):
(WebCore::GestureEventDispatchMediator::dispatchEvent):
* dom/GestureEvent.h: Added.
(WebCore):
(GestureEvent):
(WebCore::GestureEvent::~GestureEvent):
(WebCore::GestureEvent::deltaX):
(WebCore::GestureEvent::deltaY):
(WebCore::GestureEvent::GestureEvent):
(GestureEventDispatchMediator):
(WebCore::GestureEventDispatchMediator::create):
* dom/Node.cpp:
(WebCore):
(WebCore::Node::dispatchGestureEvent):
* dom/Node.h:
(WebCore):
(Node):
* page/EventHandler.cpp:
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleGestureEvent):
* page/EventHandler.h:

Source/WebKit/chromium:

Propagate gesture events to plugins.

* src/WebInputEventConversion.cpp:
(WebKit):
(WebKit::WebGestureEventBuilder::WebGestureEventBuilder):
* src/WebInputEventConversion.h:
(WebCore):
(WebKit):
(WebGestureEventBuilder):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::handleEvent):
* src/WebPluginContainerImpl.h:
(WebCore):
(WebPluginContainerImpl):

Tools:

Update TestWebPlugin to receive events, and output logs for the events.

* DumpRenderTree/chromium/TestWebPlugin.cpp:
(TestWebPlugin::handleInputEvent):
* DumpRenderTree/chromium/TestWebPlugin.h:
(TestWebPlugin::acceptsInputEvents):
(TestWebPlugin):

LayoutTests:

Added a layout test to show that the plugins receive the gesture events correctly.

* platform/chromium/plugins/gesture-events-expected.txt: Added.
* platform/chromium/plugins/gesture-events.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix with newer bison 2.6.
https://bugs.webkit.org/show_bug.cgi?id=92264

Reviewed by Adam Barth.

As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html
YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS
version I had access to as well as recent Linux runs at least version 2.3 so it's safe
to use the replacement of these deprecated macros in favor of %lex-param and %parse-param.
As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release
of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore.

No new tests : build fix and the patch should not trigger any regressions

* css/CSSGrammar.y:
* css/CSSParser.cpp:
* xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define.
* xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h
therefore including this file within the namespace {} declarations leads to xpathyyparse being
defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp
(generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs
to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in logging code if MIME type is null
https://bugs.webkit.org/show_bug.cgi?id=92683
<rdar://problem/11985295>

Reviewed by Dan Bernstein.

If the MIME type is null, try to figure it out from the URL extension. If this fails, return early instead of crashing
trying to insert the null string into a hash set.

* loader/SubframeLoader.cpp:
(WebCore::logPluginRequest):

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