[AC] Memory leak in GraphicsSurfacePrivate::findFBConfigWithAlpha()
https://bugs.webkit.org/show_bug.cgi?id=105770

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-01-02
Reviewed by Noam Rosenthal.

Free the memory returned by glXGetVisualFromFBConfig() using
XFree to avoid a memory leak.

No new tests. No change in behavior.

* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r138611.
http://trac.webkit.org/changeset/138611
https://bugs.webkit.org/show_bug.cgi?id=105916

Not an optimal solution, needs more discussion. (Requested by
mkwst_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-02

Source/WebCore:

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.vcproj/WebCore.vcproj:
* css/StyleResolver.cpp:
(WebCore):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectFeatures):
(WebCore::StyleResolver::reportMemoryUsage):
* css/seamless.css: Removed.

LayoutTests:

* fast/frames/seamless/resources/nested-seamless.html:
* fast/frames/seamless/resources/quirks-square.html:
* fast/frames/seamless/resources/two-inline-blocks.html:
* fast/frames/seamless/seamless-body-margin-expected.txt: Removed.
* fast/frames/seamless/seamless-body-margin.html: Removed.
* fast/frames/seamless/seamless-inherited-origin-expected.txt:
* fast/frames/seamless/seamless-inherited-origin.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r138601.
http://trac.webkit.org/changeset/138601
https://bugs.webkit.org/show_bug.cgi?id=105917

Also not an optimal solution, needs more discussion.
(Requested by mkwst_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-02

Source/WebCore:

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

LayoutTests:

* fast/frames/seamless/resources/span.html: Removed.
* fast/frames/seamless/seamless-contenteditable-not-inherited-expected.txt:
* fast/frames/seamless/seamless-srcdoc-expected.txt: Removed.
* fast/frames/seamless/seamless-srcdoc.html: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Regression(r138603): Caused 2 webkitpy tests to fail
https://bugs.webkit.org/show_bug.cgi?id=105913

Reviewed by Kentaro Hara.

Fix 2 webkitpy tests that started to fail after
r138603.

* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
(IRCCommandTest._sheriff_test_data_url): Make sure the
returned test file URL is valid no matter what the
current working directory is.
* Scripts/webkitpy/tool/bot/ircbot_unittest.py:
(IRCBotTest.test_help): Add "sheriffs" command to the
list of available commands.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit2: [Qt][WK2] Add experimental API to find text from page
https://bugs.webkit.org/show_bug.cgi?id=96481

Patch by Heikki Paajanen <heikki.paajanen@palm.com> on 2013-01-02
Reviewed by Jocelyn Turcotte.

Expose findString and PageFindClient provided functionality to QtQuick
applications.

* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
(QQuickWebViewExperimental::findText):
(QQuickWebViewPrivate::didFindString):
* UIProcess/API/qt/qquickwebview_p.h:
(WebKit):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qmltests/WebView/tst_findText.qml: Added.
* UIProcess/qt/QtWebPageFindClient.cpp: Added.
(WebKit):
(WebKit::QtWebPageFindClient::QtWebPageFindClient):
(WebKit::QtWebPageFindClient::didFindString):
(WebKit::toQtWebPageFindClient):
(WebKit::QtWebPageFindClient::didFailToFindString):
* UIProcess/qt/QtWebPageFindClient.h: Added.
(WebKit):
(QtWebPageFindClient):

Tools: [Qt][WK2] Add simple UI to find text from page
https://bugs.webkit.org/show_bug.cgi?id=96481

Patch by Heikki Paajanen <heikki.paajanen@palm.com> on 2013-01-02
Reviewed by Jocelyn Turcotte.

Find bar that slides between navigation bar and WebView.

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::toggleFind):
* MiniBrowser/qt/BrowserWindow.h:
(BrowserWindow):
* MiniBrowser/qt/MiniBrowser.qrc:
* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::notify):
* MiniBrowser/qt/icons/find.png: Added.
* MiniBrowser/qt/qml/BrowserWindow.qml:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Use fatfingers result when checking for misspelled words
https://bugs.webkit.org/show_bug.cgi?id=105923

Reviewed by Yong Li.

PR270866
Currently we are using the raw touch point when checking to see if spell check
is required on a word. When tapping close to a boundary, the raw point can be
placed off but fatfingers moves the point onto the word. This causes the caret
to be placed on a word but no spell check request triggered.

Internally reviewed by Mike Fenton and Tiancheng Jiang

* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] [WebGL] Minor cleanup in PlatformContext.
https://bugs.webkit.org/show_bug.cgi?id=105872

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-02
Reviewed by Kenneth Rohde Christiansen.

The logic to check for supported extensions is scattered in different classes i.e PlatformContext, eglcontext etc.
This patch cleans up any duplicate code and adds new api in GLPlatformContext to query for supported GL, EGL and GLX extensions.

* PlatformEfl.cmake:
* platform/graphics/opengl/GLPlatformContext.cpp:
(WebCore):
(WebCore::GLPlatformContext::createContext):
(WebCore::GLPlatformContext::supportsGLExtension):
(WebCore::GLPlatformContext::supportsEGLExtension):
(WebCore::GLPlatformContext::supportsGLXExtension):
(WebCore::GLPlatformContext::makeCurrent):
(WebCore::GLPlatformContext::initializeResetStatusExtension):
* platform/graphics/opengl/GLPlatformContext.h:
* platform/graphics/surfaces/egl/EGLContext.cpp:
(WebCore::isRobustnessExtSupported):
(WebCore::EGLOffScreenContext::initialize):
* platform/graphics/surfaces/glx/GLXContext.cpp:
(WebCore::initializeARBExtensions):
(WebCore::GLXOffScreenContext::initialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Use WebPageGroup to create user scripts instead of Qt-specific function in WebPage
https://bugs.webkit.org/show_bug.cgi?id=105921

Reviewed by Simon Hausmann.

After r131281 the WebPageGroup.h (in UIProcess) exposes a way to add user scripts, so we can
use this directly to implement the user script functionality in Qt. The previous solution was
a Qt-port specific function in WebPage that can be removed now.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::updateUserScripts): Use WebPageGroup functions to manipulate user scripts directly.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Remove now unused function.
* UIProcess/qt/WebPageProxyQt.cpp: Ditto.
* WebProcess/WebPage/WebPage.messages.in: Ditto.
* WebProcess/WebPage/qt/WebPageQt.cpp: Remove now unused function and headers.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Rename SetFrameInViewSourceMode to SetMainFrameInViewSourceMode
https://bugs.webkit.org/show_bug.cgi?id=105885

Reviewed by Martin Robinson.

This way we don't depend on a WebFrameProxy and
webkit_web_view_set_view_mode() works even if the main frame proxy
hasn't been created yet.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_set_view_mode): Call
WebPageProxy::setMainFrameInViewSourceMode() directly.
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::WebFrameProxy): Remove
setInViewSourceMode().
* UIProcess/WebFrameProxy.h:
(WebFrameProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setMainFrameInViewSourceMode):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setMainFrameInViewSourceMode):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MIPS: heap block sizes for testing
Update Mac test expectation per bug 105932.

* platform/mac/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sandboxed iframes should not be granted notification permission of the parent frame unless allow-same-origin is specified
https://bugs.webkit.org/show_bug.cgi?id=36732

Reviewed by Adam Barth.

The behavior was fixed in wkbug.com/79704, but there aren't currently
any tests ensuring that it doesn't regress for sandboxed frames. This
patch adds one.

* fast/notifications/notifications-sandbox-permission-expected.txt: Added.
* fast/notifications/notifications-sandbox-permission.html: Added.
* fast/notifications/resources/notifications-iframe.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
sandboxed iframe attribute parsing layout tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=104848

Reviewed by Adam Barth.

This patch breaks the monolithic sandboxed-iframe-attribute-parsing.html
test into separate tests for each case. The flaky failures were due to
one of the 14 frames loading out of order, which shifted console message
positions around. Breaking them into separate tests should both speed up
the tests, as more can run in parallel, and solve the flake.

* fast/frames/resources/sandboxed-iframe-attribute-test.js: Added.
(fail):
(setStatus):
(allowedCallFromSandbox):
(disallowedCallFromSandbox):
(disallowedFormSubmitted):
(window.onload):
* fast/frames/sandboxed-iframe-attribute-parsing-01-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-01.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-02-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-02.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-03-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-03.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-04-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-04.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-05-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-05.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-06-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-06.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-07-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-07.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-08-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-08.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-09-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-09.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-10-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-10.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-11-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-11.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-12-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-12.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-13-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-13.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-14-expected.txt: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-14.html: Added.
* fast/frames/sandboxed-iframe-attribute-parsing-expected.txt: Removed.
* fast/frames/sandboxed-iframe-attribute-parsing.html: Removed.
* platform/chromium/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt-arm/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't include a header that has been removed in r138413.

* WebProcess/win/WebProcessWin.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Another Windows port build fix attempt. Don't try to build WTF files in WebCore.

Rubber-stamped by Sam Weinig.

* WebCore.vcproj/WebCore.vcproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WTF.gypi lists Platform.h twice
https://bugs.webkit.org/show_bug.cgi?id=105731

Reviewed by Tony Chang.

Once ought to be enough for everybody.

* WTF.gypi:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Use top level field for gesture event source
https://bugs.webkit.org/show_bug.cgi?id=105664

Reviewed by Adam Barth.

Previously, only GestureFlingStart subtypes of WebGestureEvent
had a deviceSource flag. A previous CL added a top-level
deviceSource field for all WebGestureEvent. Now that this field
is populated in Chromium, use it as necessary in the Chromium
WebKit layer.

No new tests: covered by existing tests.

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
* tests/WebCompositorInputHandlerImplTest.cpp:
(WebKit::TEST_F):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Regression (r132935): WebKit breaks between <nobr> tags
https://bugs.webkit.org/show_bug.cgi?id=11857

Reviewed by David Hyatt.

Source/WebCore:

The fix for bug 29648 in http://trac.webkit.org/changeset/132935 was too broad - it caused us
to find linebreaks in autowrap containers between non-wrapping elements where there was no
whitespace to allow the break. This reverts the code change in r132935 and ensures we attempt
to move below floats when inside an autowrap container but leaves the treatment of non-wrapping
elements in an autowrap container unaffected.

Test: fast/inline/break-between-nobr.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

LayoutTests:

* fast/inline/break-between-nobr-expected.html: Added.
* fast/inline/break-between-nobr.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement WebIDL-style string constants in WebAudio
https://bugs.webkit.org/show_bug.cgi?id=105058

Reviewed by Kentaro Hara.

Source/WebCore:

See Deprecation Notes for more detail:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes

PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
Legacy support in the setters for the old integer values should be supported.

This patch handles the changes for OscillatorNode.

* GNUmakefile.list.am:
* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::OscillatorNode):
(WebCore::OscillatorNode::type):
(WebCore):
(WebCore::OscillatorNode::setType):
* Modules/webaudio/OscillatorNode.h:
* Modules/webaudio/OscillatorNode.idl:
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSOscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.
(WebCore):
(WebCore::JSOscillatorNode::setType):
* bindings/v8/custom/V8OscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.
(WebCore):
(WebCore::V8OscillatorNode::typeAccessorSetter):

LayoutTests:

* webaudio/oscillator-basic-expected.txt:
* webaudio/oscillator-basic.html:
* webaudio/resources/audio-testing.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Transitions and animations do not apply to CSS ::before and ::after pseudo-elements
https://bugs.webkit.org/show_bug.cgi?id=92591

Reviewed by Eric Seidel.

.:

Expose Element::pseudoElement for Internals.

* Source/autotools/symbols.filter:

Source/WebCore:

The new DOM based :before and :after pseudo elements support animations
and transitions already, but I had disabled support so we could turn them
on in a separate step. This patch just removes the checks and adds tests.

This also adds two methods to internals to allow pausing animations and
transitions on pseudo elements at predictable locations so the tests
are not flaky.

Tests: fast/css-generated-content/pseudo-animation.html
       fast/css-generated-content/pseudo-transition.html

* WebCore.exp.in:
* page/animation/AnimationController.cpp:
(WebCore::AnimationController::updateAnimations):
* testing/Internals.cpp:
(WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
(WebCore::Internals::pauseTransitionAtTimeOnPseudoElement):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

LayoutTests:

Add tests that check if animations and transitions play for pseudo
:before and :after pseudo elements.

* fast/css-generated-content/pseudo-animation-expected.txt: Added.
* fast/css-generated-content/pseudo-animation.html: Added.
* fast/css-generated-content/pseudo-transition-expected.txt: Added.
* fast/css-generated-content/pseudo-transition.html: Added.


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