[WK2] plugins/clicking-missing-plugin-fires-delegate.html is failing
https://bugs.webkit.org/show_bug.cgi?id=105897

Reviewed by Alexey Proskuryakov.

Tools:

Dump in WebKitTestRunner the message that is expected by layout tests
when the missing plugin button is clicked.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::unavailablePluginButtonClicked):
(WTR):
* WebKitTestRunner/TestController.h:
(TestController):

LayoutTests:

Unskip plugins/clicking-missing-plugin-fires-delegate.html for
WK2 now that WebKitTestRunner is dumping the expected text when
the missing plugin button is clicked.

* platform/efl-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Baseline JIT should have closure call caching
https://bugs.webkit.org/show_bug.cgi?id=105900

Reviewed by Gavin Barraclough.
        
This is not a speed-up by itself, but is meant to allow the DFG inliner to
accurately discern between closure calls and non-closure calls, so that it can
do closure call inlining in the future.

* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):
* bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::isClosureCall):
(CallLinkStatus):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall):
* jit/JIT.cpp:
(JSC::JIT::linkFor):
(JSC::JIT::linkSlowCall):
* jit/JIT.h:
(JSC::JIT::compileClosureCall):
* jit/JITCall.cpp:
(JSC::JIT::privateCompileClosureCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::privateCompileClosureCall):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* jit/JITStubs.h:
* jit/ThunkGenerators.cpp:
(JSC::linkClosureCallGenerator):
* jit/ThunkGenerators.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed buildfix after r138609.

* jit/JITCall32_64.cpp: Add a missing include.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The 'body' of seamless IFrames should default to 'margin: 0'
https://bugs.webkit.org/show_bug.cgi?id=90834

Reviewed by Eric Seidel.

Source/WebCore:

Documents displayed in seamless iframes should override the 'body'
element's normal 8px default margins with 0px, in order to ensure that
contents are displayed flush with the boundries of the seamless box.[1]

This patch does so by adding a new user agent stylesheet for seamless
documents, and teaching the StyleResolver how and when to apply it.

[1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html

Test: fast/frames/seamless/seamless-body-margin.html

* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.vcproj/WebCore.vcproj:
* CMakeLists.txt:
    Added a new CSS file! Let's tell everyone!
* css/StyleResolver.cpp:
(WebCore):
(WebCore::loadSeamlessStyle):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectFeatures):
(WebCore::StyleResolver::reportMemoryUsage):
    Load the new stylesheet, and apply it to the document in
    matchUARules iff the document should be displayed seamlessly.
* css/seamless.css: Added.
(body):
    Stylesheet containing defaults for seamless documents.

LayoutTests:

* fast/frames/seamless/seamless-body-margin-expected.txt: Added.
* fast/frames/seamless/seamless-body-margin.html: Added.
    New test to explicitly check 'body' margins.
* 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-inherited-origin-expected.txt:
* fast/frames/seamless/seamless-inherited-origin.html:
    Updated these tests to remove the assumption that the body had an
    8px margin.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
One more unreviewed buildfix after r138609.

* jit/JITCall.cpp: Add a missing include.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Regression(r138607): Causes crashes related to WebIconDatabase
https://bugs.webkit.org/show_bug.cgi?id=105909

Reviewed by Gyuyoung Kim.

Add back WebIconDatabase initialization statement
in WebContext constructor. It was removed in
r138607 and causing a lot of crashes on WebKit2.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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