2010-06-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        Make SheriffBot more chatty
        https://bugs.webkit.org/show_bug.cgi?id=40463

        People seem to like to talk to SheriffBot, so let's make him chat back.

        * Scripts/webkitpy/thirdparty/__init__.py:
        * Scripts/webkitpy/tool/bot/irc_command.py:
        * Scripts/webkitpy/tool/bot/irc_command_unittest.py: Added.
        * Scripts/webkitpy/tool/bot/sheriffircbot.py:
        * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed.

        Skip re-enabled SVG test (svg/W3C-SVG-1.1/fonts-glyph-02-t)

        * platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: When completing using a tab key, select very first value, not a second.
        https://bugs.webkit.org/show_bug.cgi?id=40409

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._completionsReady):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        add codePointCompare to JavaScriptCore.exp
        https://bugs.webkit.org/show_bug.cgi?id=40426

        * JavaScriptCore.exp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60996 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] There should be a way to enable popups in QtTestBrowser
        https://bugs.webkit.org/show_bug.cgi?id=40427

        * QtTestBrowser/main.cpp:
        (LauncherWindow::toggleJavascriptCanOpenWindows):
        (LauncherWindow::createChrome):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Steve Block  <steveblock@google.com>

        Reviewed by Alexey Proskuryakov.

        Client-based Geolocation does not handle multiple simultaneous requests
        https://bugs.webkit.org/show_bug.cgi?id=40148

        Test: fast/dom/Geolocation/multiple-requests.html

        The Geolocation must handle multiple calls to addObserver() from the same Geolocation object.

        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::addObserver):
2010-06-11  Steve Block  <steveblock@google.com>

        Reviewed by Alexey Proskuryakov.

        Client-based Geolocation does not handle multiple simultaneous requests
        https://bugs.webkit.org/show_bug.cgi?id=40148

        The change to the GeolocationController is explicitly tested with multiple-requests.html.

        This change also fixes reentrant-error.html and reentrant-success.html which were previously
        on the mac skipped list. reentrant-error.html required a minor tweak as the mac
        GeolocationController can only provide an error code of 2 (POSITION_UNAVAILABLE).

        Added to GTK skipped list.

        * fast/dom/Geolocation/multiple-requests-expected.txt: Added.
        * fast/dom/Geolocation/multiple-requests.html: Added.
        * fast/dom/Geolocation/script-tests/multiple-requests.js: Added.
        * fast/dom/Geolocation/script-tests/reentrant-error.js:
        * platform/mac/Skipped:
        * platform/gtk/Skipped:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Update acid3 test with latest from acid3.acidtests.org
        https://bugs.webkit.org/show_bug.cgi?id=40428

        This is a straight copy from "curl http://acid3.acidtests.org/" with
        LayoutTest specific bits reapplied:
         - Rename resources to resources/acid3/...
         - Add window.layoutTestController bits to start and end.

        We still fail the same link test. The difference is that its error
        changed from "LINKTEST FAILED" to "YOU SHOULD NOT SEE THIS AT ALL".

        * http/tests/misc/acid3-expected.checksum:
        * http/tests/misc/acid3-expected.png:
        * http/tests/misc/acid3-expected.txt:
        * http/tests/misc/acid3.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Sterling Swigart  <sswigart@google.com>

        Reviewed by Dmitry Titov.

        Added AsyncImageResizer and ImageResizerThread classes, which after further
        patches will be capable of resizing images.
        https://bugs.webkit.org/show_bug.cgi?id=40018

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/AsyncImageResizer.cpp: Added.
        (WebCore::AsyncImageResizer::create):
        (WebCore::AsyncImageResizer::AsyncImageResizer):
        (WebCore::AsyncImageResizer::~AsyncImageResizer):
        (WebCore::AsyncImageResizer::notifyFinished):
        * html/AsyncImageResizer.h: Added.
        (WebCore::AsyncImageResizer::CallbackInfo::CallbackInfo):
        (WebCore::AsyncImageResizer::):
        (WebCore::AsyncImageResizer::resizeComplete):
        (WebCore::AsyncImageResizer::resizeError):
        * html/ImageResizerThread.cpp: Added.
        (WebCore::returnBlobOrError):
        (WebCore::ImageResizerThread::start):
        (WebCore::ImageResizerThread::ImageResizerThread):
        (WebCore::ImageResizerThread::~ImageResizerThread):
        (WebCore::ImageResizerThread::imageResizerThreadStart):
        (WebCore::ImageResizerThread::imageResizerThread):
        * html/ImageResizerThread.h: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move the text code path detection code from FontFastPath.cpp to Font.cpp.
https://bugs.webkit.org/show_bug.cgi?id=40077

Reviewed by Simon Hausmann.

This is a patch preliminary to the implementation of the
simple font code path for the Qt port.

* platform/graphics/Font.cpp:
(WebCore::Font::setCodePath):
(WebCore::Font::codePath):
* platform/graphics/Font.h:
* platform/graphics/FontFastPath.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Implement the simple text code path.
https://bugs.webkit.org/show_bug.cgi?id=40077

Reviewed by Simon Hausmann.

Remove the FONT_FAST_PATH macro and use the Qt's
fast text implementation instead of the one of WebKit.

The Qt::TextBypassShaping flag is used to tell Qt to
only use the glyph advances.

Qt 4.7 is needed to get this flag thus the complex path is always
used if QtWebKit is compiled against an earlier version.

Contrary to the WebKit's implementation, the complex code path
is taken if the text is RightToLeft, justified or is formatted
with non-zero letter or word spacing.

JavaScriptCore:

* wtf/Platform.h:

WebCore:

* platform/graphics/Font.cpp:
(WebCore::Font::drawText):
(WebCore::Font::floatWidth):
(WebCore::Font::selectionRectForText):
(WebCore::Font::offsetForPosition):
* platform/graphics/Font.h:
(WebCore::Font::isRoundingHackCharacter):
* platform/graphics/qt/FontQt.cpp:
(WebCore::fromRawDataWithoutRef):
(WebCore::needComplexCodePath):
(WebCore::setupPlatformContext):
(WebCore::Font::canReturnFallbackFontsForComplexText):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForSimpleText):
(WebCore::Font::offsetForPositionForSimpleText):
(WebCore::Font::selectionRectForSimpleText):

WebKit\qt:

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Explicit conversions from QtScript types to JSC opaque types were removed.
https://bugs.webkit.org/show_bug.cgi?id=40412

Patch by Jedrzej Nowacki <jedrzej.nowacki@nokia.com> on 2010-06-11
Reviewed by Simon Hausmann.

Conversion between a JSC C types and a QtScript private types, takes
main part of the source code. In most cases a mapping between the types
is one to one. New cast operators were added to simplify the code.

The QScriptValuePrivate could be casted to the JSValueRef and the JSObjectRef.
The QScriptEnginePrivate could be casted to the JSGlobalContext.
The QScriptProgramPrivate could be casted to the JSStringRef.

* qt/api/qscriptengine_p.cpp:
(QScriptEnginePrivate::evaluate):
(QScriptEnginePrivate::newObject):
(QScriptEnginePrivate::globalObject):
* qt/api/qscriptengine_p.h:
(QScriptEnginePrivate::operator JSGlobalContextRef):
* qt/api/qscriptprogram_p.h:
(QScriptProgramPrivate::operator JSStringRef):
* qt/api/qscriptsyntaxcheckresult.cpp:
(QScriptSyntaxCheckResultPrivate::~QScriptSyntaxCheckResultPrivate):
(QScriptSyntaxCheckResultPrivate::errorMessage):
(QScriptSyntaxCheckResultPrivate::errorLineNumber):
* qt/api/qscriptvalue_p.h:
(QScriptValuePrivate::~QScriptValuePrivate):
(QScriptValuePrivate::QScriptValuePrivate):
(QScriptValuePrivate::isBool):
(QScriptValuePrivate::isNumber):
(QScriptValuePrivate::isNull):
(QScriptValuePrivate::isString):
(QScriptValuePrivate::isUndefined):
(QScriptValuePrivate::isFunction):
(QScriptValuePrivate::toString):
(QScriptValuePrivate::toNumber):
(QScriptValuePrivate::toBool):
(QScriptValuePrivate::toObject):
(QScriptValuePrivate::equals):
(QScriptValuePrivate::strictlyEquals):
(QScriptValuePrivate::instanceOf):
(QScriptValuePrivate::call):
(QScriptValuePrivate::operator JSValueRef):
(QScriptValuePrivate::operator JSObjectRef):
(QScriptValuePrivate::setValue):
(QScriptValuePrivate::inherits):
(QScriptValuePrivate::refinedJSValue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61003 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Fix build break introduced by r61002.

Reviewed by nobody, build fix.

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61004 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Second fix attempt for the build break introduced by r61002.

Reviewed by nobody, build fix.

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Vertex attributes enabled as arrays but not bound to buffers must generate INVALID_OPERATION
        https://bugs.webkit.org/show_bug.cgi?id=40315

        * fast/canvas/webgl/index-validation-expected.txt: Generate INVALID_ERROR when an enabled vertex attrib is not bound to any buffer in drawElements().
        * fast/canvas/webgl/script-tests/index-validation.js: Ditto.
2010-06-11  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Vertex attributes enabled as arrays but not bound to buffers must generate INVALID_OPERATION
        https://bugs.webkit.org/show_bug.cgi?id=40315

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateRenderingState): Check if an enabled vertext attribs is bound to a buffer.
        (WebCore::WebGLRenderingContext::vertexAttribPointer): Set bound buffer in vertex attrib state.
        * html/canvas/WebGLRenderingContext.h: Add a member in vertex attrib state to track bound buffer.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by David Levin.

        [chromium] Adding a build dependency to the gles2 C library to the webkit_unit_tests
        project to allow it to link when WebCore is compiled with the ACCELERATED_COMPOSITING
        flag.
        https://bugs.webkit.org/show_bug.cgi?id=40341

        * WebKit.gyp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: localize missing script source message
        https://bugs.webkit.org/show_bug.cgi?id=40467

        * English.lproj/localizedStrings.js:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didParseSource): fixed typo in comment.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61008 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-10  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: Make a close brace in Styles pane selectable.
        https://bugs.webkit.org/show_bug.cgi?id=40157

        * inspector/front-end/inspector.css:
        (.styles-selector):
        (.styles-section .properties li):
        (.styles-section):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-07  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add a test for dumping global object in the console.

        https://bugs.webkit.org/show_bug.cgi?id=40241

        * http/tests/inspector/inspector-test.js:
        (frontend_dumpTreeOutline):
        (frontend_dumpTreeItem):
        * inspector/console-dir-global-expected.txt: Added.
        * inspector/console-dir-global.html: Added.
        * inspector/elements-tests.js:
        (frontend_dumpStyleTreeItem):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-11  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        [Chromium] Restore 'console.profiles' access.

        https://bugs.webkit.org/show_bug.cgi?id=39840

        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::stop):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::profilesAccessorGetter):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::stopUserInitiatedProfiling):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-06-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Port performSearch from InjectedScript to InspectorDOMAgent.

        https://bugs.webkit.org/show_bug.cgi?id=40422

        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::addNodesToSearchResult):
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::performSearch):
        (WebCore::InspectorBackend::searchCanceled):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::):
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::performSearch):
        (WebCore::InspectorDOMAgent::searchCanceled):
        (WebCore::InspectorDOMAgent::onMatchJobsTimer):
        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
        * inspector/InspectorDOMAgent.h:
        (WebCore::MatchJob::~MatchJob):
        (WebCore::MatchJob::MatchJob):
        (WebCore::MatchJob::addNodesToResults):
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::addNodesToSearchResult):
        * inspector/InspectorFrontend.h:
        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.searchCanceled):
        (WebInspector.ElementsPanel.prototype.performSearch):
        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):
        * inspector/front-end/InjectedScriptAccess.js:
2010-06-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Port performSearch from InjectedScript to InspectorDOMAgent.

        https://bugs.webkit.org/show_bug.cgi?id=40422

        * src/js/InspectorControllerImpl.js:
        (devtools.InspectorBackendImpl):
2010-06-10  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Port performSearch from InjectedScript to InspectorDOMAgent.

        https://bugs.webkit.org/show_bug.cgi?id=40422

        * inspector/elements-panel-search.html:


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