WebKit-https.git
12 years ago2009-11-26 Søren Gjesse <sgjesse@chromium.org>
eric@webkit.org [Thu, 26 Nov 2009 08:43:41 +0000 (08:43 +0000)]
2009-11-26  Søren Gjesse  <sgjesse@chromium.org>

        Reviewed by Pavel Feldman.

        [V8] Avoid using JavaScript objects as context data
        https://bugs.webkit.org/show_bug.cgi?id=31873

        Change the context "data" from a JavaScript object holding the two properties type and value to
        a string holding type and value separated by a comma.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
        (WebCore::V8Proxy::setContextDebugId):
        (WebCore::V8Proxy::contextDebugId):

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

12 years ago2009-11-25 Yuzo Fujishima <yuzo@google.com>
eric@webkit.org [Thu, 26 Nov 2009 06:16:09 +0000 (06:16 +0000)]
2009-11-25  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        Update pywebsocket to 0.4.2

        Update pywebsocket to 0.4.2
        https://bugs.webkit.org/show_bug.cgi?id=31861

        * pywebsocket/example/echo_client.py:
        * pywebsocket/example/echo_wsh.py:
        * pywebsocket/mod_pywebsocket/__init__.py:
        * pywebsocket/mod_pywebsocket/dispatch.py:
        * pywebsocket/mod_pywebsocket/msgutil.py:
        * pywebsocket/mod_pywebsocket/standalone.py:
        * pywebsocket/setup.py:
        * pywebsocket/test/test_dispatch.py:
        * pywebsocket/test/test_msgutil.py:

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

12 years ago2009-11-25 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Thu, 26 Nov 2009 03:02:48 +0000 (03:02 +0000)]
2009-11-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add unit test for mark-fixed
        https://bugs.webkit.org/show_bug.cgi?id=31896

        * Scripts/modules/commands/commandtest.py: Added.
        * Scripts/modules/commands/queries_unittest.py:
        * Scripts/modules/commands/upload_unittest.py: Added.
        * Scripts/modules/mock_bugzillatool.py:
        * Scripts/run-webkit-unittests:

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

12 years ago2009-11-25 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Thu, 26 Nov 2009 02:25:31 +0000 (02:25 +0000)]
2009-11-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        bugzilla-tool should have a mark-fixed command
        https://bugs.webkit.org/show_bug.cgi?id=31853

        Pretty simple stuff.

        * Scripts/modules/commands/upload.py:

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

12 years ago2009-11-25 Eric Seidel <eric@webkit.org>
eric@webkit.org [Thu, 26 Nov 2009 02:22:27 +0000 (02:22 +0000)]
2009-11-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        'bugzilla-tool help' should only show common commands like how 'git help' does
        https://bugs.webkit.org/show_bug.cgi?id=31772

        I also took this opportunity to make 'help' a real Command.
        Making 'help' a real command required adding Command.tool (which we've wanted to do for a while).

        * Scripts/bugzilla-tool:
         - change should_show_command_help to should_show_in_main_help
        * Scripts/modules/commands/download.py:
         - Mark commands as being shown in main help or not.
         - show_in_main_help = False is not required (default is false),
           but it seemed to make the commands more self-documenting.
        * Scripts/modules/commands/queries.py: ditto
        * Scripts/modules/commands/queues.py: ditto
        * Scripts/modules/commands/upload.py: ditto
        * Scripts/modules/multicommandtool.py:
         - Make Command hold a pointer to tool in self.tool.  Most Command
           subclasses do not take advantage of this yet, but it was required
           for HelpCommand to be able to reach the tool from _help_epilog().
         - Move MultiCommandTool._standalone_help_for_command to Command.standalone_help
         - Move MultiCommandTool._help_epilog to Command._help_epilog
         - Move "help" logic into HelpCommand.execute()
         - Change should_show_command_help to should_show_in_main_help and add a default implementation.
        * Scripts/modules/multicommandtool_unittest.py:
         - Test hiding of Commands in --help, and that all commands are shown in 'help --all-commands'

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

12 years agoWebCore:
dglazkov@chromium.org [Thu, 26 Nov 2009 00:57:22 +0000 (00:57 +0000)]
WebCore:

2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Levin.

        [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
        https://bugs.webkit.org/show_bug.cgi?id=31894

        * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
        (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.

WebKit/chromium:

2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Levin.

        [Chromium] Implement canSetValueAttribute in the API.
        https://bugs.webkit.org/show_bug.cgi?id=31894

        * public/WebAccessibilityObject.h: Added decl.
        * src/WebAccessibilityCacheImpl.h: Cleaned up mis-include.
        * src/WebAccessibilityObject.cpp:
        (WebKit::WebAccessibilityObject::canSetValueAttribute): Added impl.

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

12 years ago[Qt] Audio related layout tests are failing on the buildbot
ossy@webkit.org [Thu, 26 Nov 2009 00:51:30 +0000 (00:51 +0000)]
[Qt] Audio related layout tests are failing on the buildbot
https://bugs.webkit.org/show_bug.cgi?id=27910

* platform/qt/Skipped: fast/js/global-constructors.html added.

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

12 years ago2009-11-25 Kenneth Russell <kbr@google.com>
eric@webkit.org [Thu, 26 Nov 2009 00:44:39 +0000 (00:44 +0000)]
2009-11-25  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Off-by-one error in index validation for drawElements and drawArrays
        https://bugs.webkit.org/show_bug.cgi?id=31891

        Fixed computation of number of elements for bound array objects.

        Test: fast/canvas/webgl/index-validation.html

        * fast/canvas/webgl/index-validation-expected.txt: Added.
        * fast/canvas/webgl/index-validation.html: Added.
        * fast/canvas/webgl/script-tests/index-validation.js: Added.
2009-11-25  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Off-by-one error in index validation for drawElements and drawArrays
        https://bugs.webkit.org/show_bug.cgi?id=31891

        Fixed computation of number of elements for bound array objects.

        Test: fast/canvas/webgl/index-validation.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::vertexAttribPointer):

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

12 years agoPatch by Mark Rowe.
bweinstein@apple.com [Thu, 26 Nov 2009 00:41:23 +0000 (00:41 +0000)]
Patch by Mark Rowe.

Reviewed by Dan Bernstein.

The buildbots are failing on Windows because when they were upgraded
to 4.0.4, Apple Application Support was not in their path. Add it to
the path to fix the buildots.

* Scripts/webkitdirs.pm:

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

12 years ago[Qt] Remove a bunch of now passing fast tests from skiplist.
ossy@webkit.org [Thu, 26 Nov 2009 00:29:41 +0000 (00:29 +0000)]
[Qt] Remove a bunch of now passing fast tests from skiplist.
And add a crasher/crashed pair into skiplist.

* platform/qt/Skipped:

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

12 years agoUpdate SharedScript to use eventNames() instead of EventNames()
dimich@chromium.org [Wed, 25 Nov 2009 23:44:13 +0000 (23:44 +0000)]
Update SharedScript to use eventNames() instead of EventNames()
https://bugs.webkit.org/show_bug.cgi?id=31890

Reviewed by David Levin.

* SharedScript/WebKitSharedScript.cpp:
(WebCore::LoadEventTask::performTask):

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

12 years ago[Qt] Put tests into skiplist because of missing layoutTestController feature.
ossy@webkit.org [Wed, 25 Nov 2009 23:29:06 +0000 (23:29 +0000)]
[Qt] Put tests into skiplist because of missing layoutTestController feature.

* platform/qt/Skipped:
- http/tests/cache/subresource-failover-to-network.html added.
- fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html added.

- "3D_RENDERING and ACCELERATED_COMPOSITING" block moved to good place.

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

12 years agorun-webkit-tests doesn't accept directories/files with --skipped=only parameter
ossy@webkit.org [Wed, 25 Nov 2009 22:26:15 +0000 (22:26 +0000)]
run-webkit-tests doesn't accept directories/files with --skipped=only parameter
https://bugs.webkit.org/show_bug.cgi?id=31799

Reviewed by David Kilzer.

* Scripts/run-webkit-tests: Fixed.

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

12 years ago2009-11-25 Darin Fisher <darin@chromium.org>
darin@chromium.org [Wed, 25 Nov 2009 21:09:42 +0000 (21:09 +0000)]
2009-11-25  Darin Fisher  <darin@chromium.org>

        Reviewed by Adam Barth.

        [Chromium] Unable to repost form data by hitting reload
        https://bugs.webkit.org/show_bug.cgi?id=31882

        * src/WebFrameImpl.cpp:
        (WebKit::WebFrameImpl::loadData):

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

12 years ago2009-11-25 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Wed, 25 Nov 2009 21:08:38 +0000 (21:08 +0000)]
2009-11-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7409331> Windows: Support closed caption in <video> element

        Enable closed captions in QuickTime/Windows media engine.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::hasClosedCaptions):
        (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
            New, all through to m_qtMovie.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
            Make all but the destructor private since MediaPlayer call through the media
            engine interface.

        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWin::disableUnsupportedTracks):
            Use handy new constants for QuickTime track types.
        (QTMovieWin::hasClosedCaptions):
        (QTMovieWin::setClosedCaptionsVisible):
            New, closed caption support.
        * platform/graphics/win/QTMovieWin.h:

        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart):
            Deal with closed caption buttons.

        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::shouldRenderMediaControlPart):
            New, don't ask the media engine if it has closed captions unless the Safari theme will
            be able to render the button.
        (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
            New.
        * rendering/RenderThemeWin.h:

2009-11-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7409331> Windows: Support closed caption in <video> element

        * platform/win/Skipped:
            Enable the closed caption test.

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

12 years ago2009-11-25 Drew Wilson <atwilson@chromium.org>
eric@webkit.org [Wed, 25 Nov 2009 20:04:19 +0000 (20:04 +0000)]
2009-11-25  Drew Wilson  <atwilson@chromium.org>

        Reviewed by David Levin.

        MessagePorts always look remotely entangled even when closed.
        https://bugs.webkit.org/show_bug.cgi?id=31698

        Tests: Existing tests suffice, Chromium soak test passes now.

        * bindings/v8/custom/V8CustomBinding.h:
        Removed kMessagePortEntangledPortIndex which is no longer used.
        * bindings/v8/V8GCController.cpp:
        (WebCore::GCPrologueVisitor::visitDOMWrapper):
        Simplified GC code to reflect the Chromium MessagePort implementation
        (locallyEntangledPort() always returns false).
        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
        Cleaned up epilogue code to handle the case where the port gets closed
        in mid-GC (due to the parent context being freed).
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::MessagePort):
        (WebCore::MessagePort::close):
        Now sets the closed flag.
        (WebCore::MessagePort::disentanglePorts):
        Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
        * dom/MessagePort.h:
        Added a m_closed flag and updated isEntangled() to check it.
        (WebCore::MessagePort::isEntangled):
        Now returns false if the port has been closed.
        (WebCore::MessagePort::isCloned):
        Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).

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

12 years ago2009-11-25 Zoltan Horvath <zoltan@webkit.org>
zoltan@webkit.org [Wed, 25 Nov 2009 20:02:12 +0000 (20:02 +0000)]
2009-11-25  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Eric Seidel.

        Change run_command to give back stderr by default
        https://bugs.webkit.org/show_bug.cgi?id=31734

        Change run_command to give back stderr by default.
        Set run_commands's 'svn-create-patch' calling to put only the stdout into the patches.
        Change the related unittest call.

        * Scripts/modules/scm.py:
        * Scripts/modules/scm_unittest.py:

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

12 years agoSkip test that needs structure we do not provide yet
kov@webkit.org [Wed, 25 Nov 2009 18:22:19 +0000 (18:22 +0000)]
Skip test that needs structure we do not provide yet

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

12 years ago2009-11-25 Dimitri Glazkov <dglazkov@chromium.org>
dglazkov@chromium.org [Wed, 25 Nov 2009 18:03:47 +0000 (18:03 +0000)]
2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Plumb setNeedsSiteSpecificQuirks throught WebKit API.
        https://bugs.webkit.org/show_bug.cgi?id=31878

        * public/WebSettings.h: Added decl.
        * src/WebSettingsImpl.cpp:
        (WebKit::WebSettingsImpl::setNeedsSiteSpecificQuirks): Added impl.
        * src/WebSettingsImpl.h:

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

12 years ago[Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
hausmann@webkit.org [Wed, 25 Nov 2009 17:12:59 +0000 (17:12 +0000)]
[Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2009-11-25
Reviewed by Simon Hausmann.

Fix inline assembly, don't dereference the function pointer twice.

* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::hookedBeginPaint):
(WebCore::PluginView::hookedEndPaint):

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

12 years ago[Qt] Remove the Referer header when redirecting to a non-secure site
hausmann@webkit.org [Wed, 25 Nov 2009 17:02:34 +0000 (17:02 +0000)]
[Qt] Remove the Referer header when redirecting to a non-secure site
https://bugs.webkit.org/show_bug.cgi?id=31785

Patch by Jakub Wieczorek <faw217@gmail.com> on 2009-11-22
Reviewed by Adam Barth.

This makes Qt pass two tests introduced in r50226.

WebCore:

* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):

LayoutTests:

* platform/qt/Skipped:

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

12 years agoThe select elements do not reflect the actual choice the user makes.
benm@google.com [Wed, 25 Nov 2009 16:50:38 +0000 (16:50 +0000)]
The select elements do not reflect the actual choice the user makes.
https://bugs.webkit.org/show_bug.cgi?id=31831

Patch by Andrei Popescu <andreip@google.com> on 2009-11-25
Reviewed by Dimitri Glazkov.

Handle the drawing of the listboxes in Android code.

No new features, just fixing an Android problem. Existing layout tests are sufficient.

* platform/android/RenderThemeAndroid.cpp:
(WebCore::theme):
(WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeAndroid::adjustButtonStyle):
(WebCore::RenderThemeAndroid::paintTextArea):
(WebCore::RenderThemeAndroid::adjustListboxStyle):
* platform/android/RenderThemeAndroid.h:

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

12 years ago2009-11-25 Alexander Pavlov <apavlov@chromium.org>
eric@webkit.org [Wed, 25 Nov 2009 16:15:39 +0000 (16:15 +0000)]
2009-11-25  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Load InspectorResource mime type from CachedResource for 304 responses

        For network libraries that do not merge cache data into 304 ResourceResponses,
        the mime type for cached resources is unknown.
        https://bugs.webkit.org/show_bug.cgi?id=31868

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        (WebCore::InspectorResource::type):

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

12 years ago2009-11-25 Andrei Popescu <andreip@google.com>
eric@webkit.org [Wed, 25 Nov 2009 16:06:57 +0000 (16:06 +0000)]
2009-11-25  Andrei Popescu  <andreip@google.com>

        Reviewed by Eric Seidel.

        Android is missing implementation of SSL Key generator functions.
        https://bugs.webkit.org/show_bug.cgi?id=31825

        This change adds the PlatformBridge class to platform/android.
        PlarformBridge is used to access the embedding layer for things
        such as key generator, cookies, plugins, etc.

        No new tests required, this is platform code.

        * platform/android/PlatformBridge.h: Added.
        * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
        (WebCore::getSupportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):

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

12 years ago2009-11-25 Eric Seidel <eric@webkit.org>
eric@webkit.org [Wed, 25 Nov 2009 16:05:31 +0000 (16:05 +0000)]
2009-11-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Centralize required argument parsing in Command
        https://bugs.webkit.org/show_bug.cgi?id=31872

        * Scripts/modules/commands/download.py: remove custom required arg message.
        * Scripts/modules/commands/upload.py: ditto.
        * Scripts/modules/multicommandtool.py:
         - Add _parse_required_arguments.
         - Pass program name off to OptionParser.
         - Add name() for access to tool name.
         - Add check_arguments_and_execute and make it return a return code.
         - Replace a couple uses of + with %.
        * Scripts/modules/multicommandtool_unittest.py: test _parse_required_arguments

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

12 years ago2009-11-25 Philippe Normand <pnormand@igalia.com>
eric@webkit.org [Wed, 25 Nov 2009 15:59:05 +0000 (15:59 +0000)]
2009-11-25  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] use gst_init_check() instead of gst_init()
        https://bugs.webkit.org/show_bug.cgi?id=31864

        Use gst_init_check() instead of gst_init() to prevent eventual
        unexpected exit of the application.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::do_gst_init):
        (WebCore::MediaPlayerPrivate::isAvailable):

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

12 years ago2009-11-25 Eric Seidel <eric@webkit.org>
eric@webkit.org [Wed, 25 Nov 2009 15:46:04 +0000 (15:46 +0000)]
2009-11-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Abstract out capturing stdout/stderr into a new OutputCapture class for re-use among the various unit tests.
        https://bugs.webkit.org/show_bug.cgi?id=31870

        * Scripts/modules/commands/queries_unittest.py: Use the new class.
        * Scripts/modules/multicommandtool_unittest.py: Ditto.
        * Scripts/modules/outputcapture.py: Added.

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

12 years ago Reviewed by Xan Lopez.
kov@webkit.org [Wed, 25 Nov 2009 13:01:00 +0000 (13:01 +0000)]
    Reviewed by Xan Lopez.

        Some tests are crashing from time to time
        https://bugs.webkit.org/show_bug.cgi?id=31866

        Make sure we do not notify the client of a finished load, if the
        load has been cancelled, or the client is gone.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::):

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

12 years ago[Android] Upstream Android changes to WebCore/bridge/jni
benm@google.com [Wed, 25 Nov 2009 11:02:18 +0000 (11:02 +0000)]
[Android] Upstream Android changes to WebCore/bridge/jni
https://bugs.webkit.org/show_bug.cgi?id=31824

Reviewed by Eric Seidel.

No new tests required as no new functionality.

* bridge/jni/jni_class.cpp:
(JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
* bridge/jni/jni_instance.cpp: Add an Android include path.
* bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion.
(JSC::Bindings::JObjectWrapper::instance): Added.
(JSC::Bindings::JObjectWrapper::setInstance): Added.
* bridge/jni/jni_runtime.cpp:
(JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
* bridge/jni/jni_utility.h:
(JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.

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

12 years agoAllow custom memory allocation control for classes of the plugins and rendering direc...
zoltan@webkit.org [Wed, 25 Nov 2009 08:25:57 +0000 (08:25 +0000)]
Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
https://bugs.webkit.org/show_bug.cgi?id=31827

Reviewed by Eric Seidel.

Inherits the following classes from Noncopyable because these are instantiated
by 'new' and no need to be copyable:

class/struct name               - instantiated at: WebCore/'location'

class PluginRequest             - plugins/PluginView.cpp:521
class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
class PluginDatabase            - plugins/PluginDatabase.cpp:50
struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
struct PluginInfo               - plugins/PluginInfoStore.cpp:40
class RenderArena               - dom/Document.cpp:1401
class RenderImageScaleData      - rendering/RenderImage.cpp:149
class TableLayout               - (its child class) rendering/RenderTable.cpp:82
struct ColumnInfo               - rendering/RenderBlock.cpp:3590
struct FloatingObject           - rendering/RenderBlock.cpp:2300
struct MaxMargin                - rendering/RenderBlock.cpp:4794
class RenderMarquee             - rendering/RenderLayer.cpp:3277

* plugins/PluginData.h:
* plugins/PluginDatabase.h:
* plugins/PluginMainThreadScheduler.h:
* plugins/PluginView.h:
* rendering/RenderArena.h:
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderImage.cpp:
* rendering/RenderMarquee.h:
* rendering/TableLayout.h:

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

12 years agoUn-roll out the roll out that was committed in r51376 because it didn't help the...
bweinstein@apple.com [Wed, 25 Nov 2009 07:32:53 +0000 (07:32 +0000)]
Un-roll out the roll out that was committed in r51376 because it didn't help the Windows bots,
even though it seemed to in my testing. Sorry.

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

12 years agoRoll out r51354, r51460, and r51461 to see if removing them will fix
bweinstein@apple.com [Wed, 25 Nov 2009 07:04:44 +0000 (07:04 +0000)]
Roll out r51354, r51460, and r51461 to see if removing them will fix
the Windows test bots, which are currently not very happy.

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

12 years ago Another Windows build fix
cmarrin@apple.com [Wed, 25 Nov 2009 06:04:56 +0000 (06:04 +0000)]
    Another Windows build fix

        Got rid of d3d.lib and d3dx9.lib dependency. Not needed until
        we turn on ACCELERATED_COMPOSITING

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

12 years agoInitial implementation of WebKitSharedScript and SharedScriptContext
dimich@chromium.org [Wed, 25 Nov 2009 06:01:46 +0000 (06:01 +0000)]
Initial implementation of WebKitSharedScript and SharedScriptContext
https://bugs.webkit.org/show_bug.cgi?id=31569

Reviewed by David Levin.

No new tests since there are no bindings yet (soon to come).

* DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
* dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
(WebCore::EventTarget::toWebKitSharedScript):
(WebCore::EventTarget::toSharedScriptContext):
* dom/EventTarget.h: Ditto
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.

* SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
(WebCore::SharedScriptContext::SharedScriptContext):
(WebCore::SharedScriptContext::~SharedScriptContext):
(WebCore::SharedScriptContext::clearScript):
(WebCore::SharedScriptContext::virtualURL):
(WebCore::SharedScriptContext::virtualCompleteURL):
(WebCore::SharedScriptContext::reportException):
(WebCore::SharedScriptContext::addMessage):
(WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
(WebCore::SharedScriptContext::scriptImported):
(WebCore::SharedScriptContext::matches):
(WebCore::SharedScriptContext::addToDocumentsList):
(WebCore::SharedScriptContext::destructionTimerFired):
(WebCore::SharedScriptContext::removeFromDocumentList):
(WebCore::SharedScriptContext::load):
(WebCore::SharedScriptContext::postTask):
(WebCore::SharedScriptContext::eventTargetData):
(WebCore::SharedScriptContext::ensureEventTargetData):
(WebCore::SharedScriptContext::scriptExecutionContext):
* SharedScript/SharedScriptContext.h: Added.
(WebCore::SharedScriptContext::create):
(WebCore::SharedScriptContext::isSharedScriptContext):
(WebCore::SharedScriptContext::userAgent):
(WebCore::SharedScriptContext::toSharedScriptContext):
(WebCore::SharedScriptContext::self):
(WebCore::SharedScriptContext::script):
(WebCore::SharedScriptContext::loaded):
(WebCore::SharedScriptContext::name):
(WebCore::SharedScriptContext::refEventTarget):
(WebCore::SharedScriptContext::derefEventTarget):
(WebCore::SharedScriptContext::refScriptExecutionContext):
(WebCore::SharedScriptContext::derefScriptExecutionContext):
* SharedScript/SharedScriptContext.idl: Added.

* SharedScript/SharedScriptController.h:
Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.

* SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
(WebCore::WebKitSharedScript::WebKitSharedScript):
(WebCore::WebKitSharedScript::~WebKitSharedScript):
(WebCore::WebKitSharedScript::setContext):
(WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
(WebCore::LoadEventTask::performTask):
(WebCore::LoadEventTask::LoadEventTask):
(WebCore::WebKitSharedScript::scheduleLoadEvent):
* SharedScript/WebKitSharedScript.h: Added.
(WebCore::WebKitSharedScript::create):
(WebCore::WebKitSharedScript::scriptExecutionContext):
(WebCore::WebKitSharedScript::toWebKitSharedScript):
(WebCore::WebKitSharedScript::context):
(WebCore::WebKitSharedScript::refEventTarget):
(WebCore::WebKitSharedScript::derefEventTarget):
(WebCore::WebKitSharedScript::eventTargetData):
(WebCore::WebKitSharedScript::ensureEventTargetData):
* SharedScript/WebKitSharedScript.idl: Added.

* SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
(WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
(WebCore::ScriptLoader::load):
(WebCore::ScriptLoader::notifyFinished):
(WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
(WebCore::WebKitSharedScriptRepository::connect):
(WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
(WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
(WebCore::WebKitSharedScriptRepository::connectToSharedScript):
(WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
* SharedScript/WebKitSharedScriptRepository.h: Added.
(WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):

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

12 years agoAdd ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
dimich@chromium.org [Wed, 25 Nov 2009 05:38:48 +0000 (05:38 +0000)]
Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
https://bugs.webkit.org/show_bug.cgi?id=31444

Reviewed by Eric Seidel.

* configure.ac:

JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
* wtf/Platform.h:

WebCore:

* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* WebCore.pro:

WebKit:

* chromium/features.gypi:

WebKit/chromium:

* features.gypi:

WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

WebKitTools:

* Scripts/build-webkit:

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

12 years ago Fixed Windows build
cmarrin@apple.com [Wed, 25 Nov 2009 05:22:14 +0000 (05:22 +0000)]
    Fixed Windows build

        Got rid of QuartzCore.lib dependency. Not needed until
        we turn on ACCELERATED_COMPOSITING

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

12 years agoImplement accelerated compositing
cmarrin@apple.com [Wed, 25 Nov 2009 04:29:42 +0000 (04:29 +0000)]
Implement accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=27314

Initial implementation, but disabled in this checkin.
To enable ENABLE_3D_RENDERING and USE_ACCELERATED_COMPOSITING
must be turned on. Also d3d9.lib and d3d9x.lib must be added
to the build.

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

12 years ago Do error checking of parameter to createShader
cmarrin@apple.com [Wed, 25 Nov 2009 03:13:06 +0000 (03:13 +0000)]
    Do error checking of parameter to createShader
        https://bugs.webkit.org/show_bug.cgi?id=31808

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

12 years ago2009-11-24 Jason Smith <dark.panda@gmail.com>
eric@webkit.org [Wed, 25 Nov 2009 02:45:02 +0000 (02:45 +0000)]
2009-11-24  Jason Smith  <dark.panda@gmail.com>

        Reviewed by Alexey Proskuryakov.

        RegExp#exec's returned Array-like object behaves differently from
        regular Arrays
        https://bugs.webkit.org/show_bug.cgi?id=31689

        * LayoutTests/fast/js/regexp-in-and-foreach-handling.html: Added.
        * LayoutTests/fast/js/script-tests/regexp-in-and-foreach-handling.js: Added.
        * LayoutTests/fast/js/regexp-in-and-foreach-handling-expected.txt: Added.
2009-11-24  Jason Smith  <dark.panda@gmail.com>

        Reviewed by Alexey Proskuryakov.

        RegExp#exec's returned Array-like object behaves differently from
        regular Arrays
        https://bugs.webkit.org/show_bug.cgi?id=31689

        * JavaScriptCore/runtime/RegExpConstructor.cpp: ensure that undefined
        values are added to the returned RegExpMatchesArray

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

12 years ago2009-11-24 Kent Tamura <tkent@chromium.org>
eric@webkit.org [Wed, 25 Nov 2009 02:16:38 +0000 (02:16 +0000)]
2009-11-24  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        [Chromium] Ignore line-height CSS property specified to a search field on
        Windows and Linux.
        https://bugs.webkit.org/show_bug.cgi?id=31820

        LayoutTests/fast/forms/control-restrict-line-height.html checks that the
        following controls should ignore line-height CSS property.
         - <select>
         - <input type=button>
         - <input type=search>
        This change addresses the <input type=search> issue with Chromium/Windows
        and Chromium/Linux.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
        * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().

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

12 years ago2009-11-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 25 Nov 2009 01:22:56 +0000 (01:22 +0000)]
2009-11-24  Simon Fraser  <simon.fraser@apple.com>

        No review.

        Stylistic fix: indent the member var initialisation.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::GraphicsLayerCA):

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

12 years ago2009-11-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 25 Nov 2009 00:24:57 +0000 (00:24 +0000)]
2009-11-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.

        SVGUseElement::toClipPath can crash
        <rdar://problem/7385270>

        Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
        actually initialize it.

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::toClipPath):

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

12 years agoAdd Chromium's gyp-generated Xcode projects to the .gitignore file.
snej@chromium.org [Wed, 25 Nov 2009 00:06:17 +0000 (00:06 +0000)]
Add Chromium's gyp-generated Xcode projects to the .gitignore file.

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

12 years ago2009-11-24 Evan Stade <estade@chromium.org>
eric@webkit.org [Tue, 24 Nov 2009 23:46:21 +0000 (23:46 +0000)]
2009-11-24  Evan Stade  <estade@chromium.org>

        Reviewed by David Levin.

        Linux Chromium sends too many click events
        https://bugs.webkit.org/show_bug.cgi?id=31841

        Manually count number of clicks for double/triple click events. This
        makes us match Firefox on http://www.quirksmode.org/js/events_mouse.html
        Chromium side of this patch is here:
        http://codereview.chromium.org/431031/show

        * src/gtk/WebInputEventFactory.cpp:
        (WebKit::WebInputEventFactory::mouseEvent):

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

12 years agoBug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a global...
barraclough@apple.com [Tue, 24 Nov 2009 23:43:04 +0000 (23:43 +0000)]
Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.

Reviewed by Geoff Garen.

These methods get the world from the global data rather than from an execstate.
If the current world is always read from an exec state then it can be read
from the global object, and world entry can become automagical, rather than
being explicitly set by an EnterDOMWrapperWorld.

* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
* bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJS):
* bindings/js/JSDOMBinding.cpp:
(WebCore::currentWorld):
(WebCore::DOMObjectWrapperMapFor):
(WebCore::hasCachedDOMObjectWrapper):
(WebCore::getCachedDOMObjectWrapper):
(WebCore::cacheDOMObjectWrapper):
(WebCore::hasCachedDOMNodeWrapper):
(WebCore::getCachedDOMNodeWrapper):
(WebCore::cacheDOMNodeWrapper):
* bindings/js/JSDOMBinding.h:
(WebCore::createDOMObjectWrapper):
(WebCore::getDOMObjectWrapper):
(WebCore::createDOMNodeWrapper):
(WebCore::getDOMNodeWrapper):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::history):
(WebCore::JSDOMWindow::location):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::location):
(WebCore::toJS):
* bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::toJS):
* bindings/js/JSImageDataCustom.cpp:
(WebCore::toJS):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::markChildren):
(WebCore::createWrapper):
(WebCore::toJS):
* bindings/js/JSSVGPathSegCustom.cpp:
(WebCore::toJS):
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::toJS):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::dropProtection):

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

12 years ago2009-11-24 Eric Seidel <eric@webkit.org>
eric@webkit.org [Tue, 24 Nov 2009 23:19:28 +0000 (23:19 +0000)]
2009-11-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        queries_unittest.py should test command output
        https://bugs.webkit.org/show_bug.cgi?id=31845

        * Scripts/modules/commands/queries_unittest.py:
         - Capture stdout and stderr and compare with expected strings.

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

12 years ago Windows build fix.
ap@apple.com [Tue, 24 Nov 2009 22:41:11 +0000 (22:41 +0000)]
    Windows build fix.

        * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!

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

12 years ago Windows build fix.
ap@apple.com [Tue, 24 Nov 2009 22:34:15 +0000 (22:34 +0000)]
    Windows build fix.

        * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.

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

12 years ago2009-11-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 24 Nov 2009 22:32:08 +0000 (22:32 +0000)]
2009-11-24  Simon Fraser  <simon.fraser@apple.com>

        Windows build fix.

        * page/win/FrameCGWin.cpp:
        (WebCore::imageFromRect):
        (WebCore::imageFromSelection):

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

12 years ago2009-11-24 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Tue, 24 Nov 2009 22:21:06 +0000 (22:21 +0000)]
2009-11-24  Eric Carlson  <eric.carlson@apple.com>

        Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/win/QTMovieWin.cpp:
        * platform/graphics/win/QTMovieWin.h:
        * rendering/RenderMediaControls.cpp:
        * rendering/RenderThemeWin.cpp:
        * rendering/RenderThemeWin.h:

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

12 years ago2009-11-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 24 Nov 2009 22:16:29 +0000 (22:16 +0000)]
2009-11-24  Simon Fraser  <simon.fraser@apple.com>

        No Review.

        Fix spelling error ("depenedencies").

        * Scripts/build-webkit:

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

12 years agoLand the configuration that includes the two debug GTK Linux builders.
mrowe@apple.com [Tue, 24 Nov 2009 22:05:40 +0000 (22:05 +0000)]
Land the configuration that includes the two debug GTK Linux builders.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

12 years ago2009-11-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 24 Nov 2009 21:54:22 +0000 (21:54 +0000)]
2009-11-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Find highlight is drawn incorrectly on pages with compositing layers
        <rdar://problem/7413925>

        Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
        and pass that down when painting into an image.

        When set, it forces painting of compositing layers to go down a software paint path
        when all layers are painted, irrespective of compositing status, and where
        3d transforms are flattened to 2d. When doing this, we also need to use temporary
        clip rects for layers which are normally composited.

        * page/FrameView.h:
        (WebCore::FrameView::paintBehavior):
        * page/mac/FrameMac.mm:
        (WebCore::Frame::imageFromRect):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::renderableTransform):
        (WebCore::expandClipRectForDescendantsAndReflection):
        (WebCore::transparencyClipBox):
        (WebCore::RenderLayer::beginTransparencyLayers):
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::paintsWithTransparency):
        (WebCore::RenderLayer::paintsWithTransform):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        * rendering/RenderObject.h:

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

12 years ago Reviewed by Brady Eidson.
ap@apple.com [Tue, 24 Nov 2009 21:50:55 +0000 (21:50 +0000)]
    Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=31844
        SocketStreamHandleCFNet should support CONNECT proxy credentials

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/CredentialStorage.h:
        * platform/network/mac/CredentialStorageMac.mm: Added.
        (WebCore::CredentialStorage::getFromPersistentStorage):
        * platform/network/cf/CredentialStorageCFNet.cpp: Added.
        (WebCore::CredentialStorage::getFromPersistentStorage):
        Add support for fetching credentials from persistent storage (CFNet version is currently
        a stub).

        * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.

        * platform/network/cf/SocketStreamHandle.h:
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::SocketStreamHandle):
        (WebCore::SocketStreamHandle::createStreams):
        (WebCore::getStoredCONNECTProxyCredentials):
        (WebCore::authenticationSchemeFromAuthenticationMethod):
        (WebCore::SocketStreamHandle::addCONNECTCredentials):
        (WebCore::SocketStreamHandle::readStreamCallback):
        Check if connection attempt was resulted in 407, and try stored credentials if it did.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        * WebCore.base.exp:
        Updated WKSI.

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

12 years ago2009-11-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 24 Nov 2009 21:44:41 +0000 (21:44 +0000)]
2009-11-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Find highlight is drawn incorrectly on pages with compositing layers
        <rdar://problem/7413925>

        Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
        preparation for adding a new flag related to painting into an image.

        PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.

        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        (WebCore::FrameView::paintContents):
        (WebCore::FrameView::setPaintBehavior):
        * page/FrameView.h:
        * page/mac/FrameMac.mm:
        (WebCore::Frame::selectionImage):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paint):
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        (WebCore::RenderLayerBacking::paintContents):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderObject.h:
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::paint):

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

12 years agoJSON.stringify performance on undefined is very poor
oliver@apple.com [Tue, 24 Nov 2009 21:41:53 +0000 (21:41 +0000)]
JSON.stringify performance on undefined is very poor
https://bugs.webkit.org/show_bug.cgi?id=31839

Reviewed by Alexey Proskuryakov.

Switch from a UString to a Vector<UChar> when building
the JSON string, allowing us to safely remove the substr-copy
we otherwise did when unwinding an undefined property.

Also turns out to be a ~5% speedup on stringification.

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

12 years ago2009-11-24 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Tue, 24 Nov 2009 21:31:35 +0000 (21:31 +0000)]
2009-11-24  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7409331> Windows: Support closed caption in <video> element

        Enable closed captions in QuickTime/Windows media engine.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::hasClosedCaptions):
        (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWin::hasClosedCaptions):
        (QTMovieWin::setClosedCaptionsVisible):
        * platform/graphics/win/QTMovieWin.h:
        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
        * rendering/RenderThemeWin.h:

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

12 years ago2009-11-24 Darin Fisher <darin@chromium.org>
darin@chromium.org [Tue, 24 Nov 2009 21:22:54 +0000 (21:22 +0000)]
2009-11-24  Darin Fisher  <darin@chromium.org>

        Reviewed by Adam Barth.

        [Chromium] Renderer hang when using www.expedia.com
        https://bugs.webkit.org/show_bug.cgi?id=31822

        Test: http/tests/cache/subresource-failover-to-network.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
        when inheriting cache policy.  This matches SubresourceLoader::create.

2009-11-24  Darin Fisher  <darin@chromium.org>

        Reviewed by Adam Barth.

        [Chromium] Renderer hang when using www.expedia.com
        https://bugs.webkit.org/show_bug.cgi?id=31822

        This test verifies that a synchronous XMLHttpRequest, generated from a
        page that is the result of a form submission, loads properly when the
        user navigates back to the page.

        When navigating back to a page that resulted from a form submission,
        the page is loaded with the ReturnCacheDataDontLoad cache policy.  It
        is important that subresources (including XMLHttpRequest instances) do
        not inherit this cache policy.

        * http/tests/cache/resources/echo-no-store.cgi: Added.
        * http/tests/cache/resources/subresource-failover-to-network.cgi: Added.
        * http/tests/cache/subresource-failover-to-network-expected.txt: Added.
        * http/tests/cache/subresource-failover-to-network.html: Added.

2009-11-24  Darin Fisher  <darin@chromium.org>

        Reviewed by Adam Barth.

        [Chromium] Renderer hang when using www.expedia.com
        https://bugs.webkit.org/show_bug.cgi?id=31822

        * src/FrameLoaderClientImpl.cpp:
        (WebKit::FrameLoaderClientImpl::dispatchWillSendRequest):
        Assign ReturnCacheDataDontLoad cache policy at the last moment
        to match Safari.  This way the cache policy does not get stored
        in DocumentLoader's originalRequest preventing it from being
        inherited by subresource requests.
        * src/ResourceHandle.cpp:
        (WebCore::ResourceHandle::willLoadFromCache): Remove assignment
        of ReturnCacheDataDontLoad cache policy so that it doesn't end
        up applying to the DocumentLoader's originalRequest.

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

12 years agoDidn't add these files to http://trac.webkit.org/changeset/51348
cmarrin@apple.com [Tue, 24 Nov 2009 20:18:15 +0000 (20:18 +0000)]
Didn't add these files to trac.webkit.org/changeset/51348

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

12 years ago Change get... calls to latest spec
cmarrin@apple.com [Tue, 24 Nov 2009 20:04:23 +0000 (20:04 +0000)]
    Change get... calls to latest spec
        https://bugs.webkit.org/show_bug.cgi?id=30091

        Removed old versions of get calls on WebGLRenderingContext and
        added new ones per spec returning "any". New code simplifies
        GraphicsContext3D and fixes previously unimplemented routines.
        Added custom JS and V8 bindings. Added exhaustive test case
        exercising all new code paths. Updated preexisting test cases for
        new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL
        implementations.

        Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
        preexisting known failures) and manual WebGL tests in both
        browsers.

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

12 years agoWindows build fix.
sfalken@apple.com [Tue, 24 Nov 2009 19:51:08 +0000 (19:51 +0000)]
Windows build fix.

* WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.

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

12 years ago<http://webkit.org/b/31840> bisect-builds broke after r50080
ddkilzer@apple.com [Tue, 24 Nov 2009 19:50:54 +0000 (19:50 +0000)]
<webkit.org/b/31840> bisect-builds broke after r50080

Reviewed by Dan Bernstein.

* Scripts/bisect-builds:
(mountAndRunNightly): Switched back to using backticks to run
the hdiutil command since exec() will terminate the existing
script, which is not what we want.  Store the output of
File::Spec->devnull() in a variable for use in the hdiutil
detach commands.

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

12 years ago2009-11-24 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Tue, 24 Nov 2009 19:38:52 +0000 (19:38 +0000)]
2009-11-24  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Darin Fisher.

        Chromium: Expose method for reporting user stats
        to the host. Also includes drive-by default implementation.

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

        * public/WebKitClient.h:

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

12 years agoConvert fast/table/row-height-recalc2.html to be 'dumpAsText()'
dimich@chromium.org [Tue, 24 Nov 2009 19:33:59 +0000 (19:33 +0000)]
Convert fast/table/row-height-recalc2.html to be 'dumpAsText()'
https://bugs.webkit.org/show_bug.cgi?id=31816

Reviewed by Eric Seidel.

* fast/table/row-height-recalc2-expected.txt: Added.
* fast/table/row-height-recalc2.html:
* platform/mac/fast/table/row-height-recalc2-expected.checksum: Removed.
* platform/mac/fast/table/row-height-recalc2-expected.png: Removed.
* platform/mac/fast/table/row-height-recalc2-expected.txt: Removed.
* platform/qt/fast/table/row-height-recalc2-expected.checksum: Removed.
* platform/qt/fast/table/row-height-recalc2-expected.png: Removed.
* platform/qt/fast/table/row-height-recalc2-expected.txt: Removed.
* platform/win/fast/table/row-height-recalc2-expected.checksum: Removed.
* platform/win/fast/table/row-height-recalc2-expected.png: Removed.

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

12 years ago2009-11-24 Philippe Normand <pnormand@igalia.com>
eric@webkit.org [Tue, 24 Nov 2009 18:55:13 +0000 (18:55 +0000)]
2009-11-24  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
        https://bugs.webkit.org/show_bug.cgi?id=26354

        Implemented MediaPlayerPrivate::isAvailable by checking the
        presence of the playbin2 GStreamer element.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::isAvailable):
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

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

12 years ago2009-11-24 Joanmarie Diggs <joanmarie.diggs@gmail.com>
eric@webkit.org [Tue, 24 Nov 2009 18:47:14 +0000 (18:47 +0000)]
2009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=25415
        [GTK][ATK] Please implement support for get_text_at_offset

        When building up the pango layout from text boxes, only append a
        newline char after verifying there are no more boxes on this line.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getPangoLayoutForAtk):
2009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=25415
        [GTK][ATK] Please implement support for get_text_at_offset

        When building up the pango layout from text boxes, only append a
        newline char after verifying there are no more boxes on this line.

        * tests/testatk.c
        (test_webkit_atk_get_text_at_offset_newlines):
        (main):

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

12 years ago2009-11-24 Joseph Pecoraro <joepeck@webkit.org>
joepeck@webkit.org [Tue, 24 Nov 2009 17:53:59 +0000 (17:53 +0000)]
2009-11-24  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Keyboard Shortcut to Clear Console Messages
        https://bugs.webkit.org/show_bug.cgi?id=31780

        All Platforms:  Ctrl+L  = Clear Console Messages
        Mac Only:       Cmd+K   = Clear Console Messages

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView): create shortcuts
        (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
        * inspector/front-end/KeyboardShortcut.js:
        (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts

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

12 years ago2009-11-24 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Tue, 24 Nov 2009 17:20:56 +0000 (17:20 +0000)]
2009-11-24  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: touch inspector controller in order to
        kick win bot inspector deploy. rs=aroben.

        * inspector/InspectorController.cpp:

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

12 years ago2009-11-23 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Tue, 24 Nov 2009 17:15:01 +0000 (17:15 +0000)]
2009-11-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Implement expandable compartments on timeline panel.

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

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._formatRecord):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
        (WebInspector.TimelineRecordListRow):
        (WebInspector.TimelineRecordListRow.prototype.update):
        (WebInspector.TimelineRecordListRow.prototype.dispose):
        (WebInspector.TimelineRecordGraphRow):
        (WebInspector.TimelineRecordGraphRow.prototype.update):
        (WebInspector.TimelineRecordGraphRow.prototype._onClick):
        (WebInspector.TimelineRecordGraphRow.prototype.dispose):
        * inspector/front-end/inspector.css:

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

12 years ago2009-11-24 Adam Barth <abarth@webkit.org>
eric@webkit.org [Tue, 24 Nov 2009 16:15:54 +0000 (16:15 +0000)]
2009-11-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Fix DOM storage layout tests
        https://bugs.webkit.org/show_bug.cgi?id=31833

        The issue is, essentially, that this code assumes that
        SecurityOrigin::createString can re-create a SecurityOrigin given
        the string produced from SecurityOrigin::toString.  This is a bogus
        assumption in a number of corner cases (e.g., document.domain,
        @sandbox).  A recent patch (http://trac.webkit.org/changeset/51294)
        make this assumption further invalid in the case of of file:// URLs.

        The correct fix is for this code to use WebSecurityOrigin objects
        (and not strings) to represent SecurityOrigin objects.  However, the
        expert on this code is on vacation, and I don't want to do major
        surgery here without his involvement.  This patch is a temporary fix
        to get these tests passing again.  We'll do the right fix once
        jorlow gets back from vacation.

        Tests: Covered by a number of existing DOM storage tests.

        * src/WebStorageNamespaceImpl.cpp:
        (WebKit::WebStorageNamespaceImpl::createStorageArea):

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

12 years agoFix production builds where the source tree may be read-only.
mrowe@apple.com [Tue, 24 Nov 2009 10:21:13 +0000 (10:21 +0000)]
Fix production builds where the source tree may be read-only.

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

12 years ago2009-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
laszlo.1.gombos@nokia.com [Tue, 24 Nov 2009 04:25:51 +0000 (04:25 +0000)]
2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Include "config.h" to meet Coding Style Guidelines
        https://bugs.webkit.org/show_bug.cgi?id=31792

        * wtf/unicode/UTF8.cpp:
        * wtf/unicode/glib/UnicodeGLib.cpp:
        * wtf/unicode/wince/UnicodeWince.cpp:

2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Include "config.h" to meet Coding Style Guidelines
        https://bugs.webkit.org/show_bug.cgi?id=31792

        * GEN_DOMObject.cpp:
        * WebScriptObject.cpp:

2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Include "config.h" to meet Coding Style Guidelines
        https://bugs.webkit.org/show_bug.cgi?id=31792

        * WebKitSupport/DragClientWx.cpp:

2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Include "config.h" to meet Coding Style Guidelines
        https://bugs.webkit.org/show_bug.cgi?id=31792

        No new tests as there is no new functionality.

        * platform/graphics/win/IntPointWin.cpp:
        * platform/graphics/win/IntRectWin.cpp:
        * platform/graphics/win/IntSizeWin.cpp:
        * platform/network/chromium/ResourceRequest.cpp:
        * platform/win/PlatformMouseEventWin.cpp:

2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Include "config.h" to meet Coding Style Guidelines
        https://bugs.webkit.org/show_bug.cgi?id=31792

        * DumpRenderTree/pthreads/JavaScriptThreadingPthreads.cpp:
        * DumpRenderTree/qt/jsobjects.cpp:
        * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:

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

12 years agoWebCore: * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
jianli@chromium.org [Tue, 24 Nov 2009 02:33:04 +0000 (02:33 +0000)]
WebCore: * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* platform/graphics/GraphicsContext3D.h:

Reviewed by NOBODY (Chromium build fix).

WebKit/chromium: * src/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::createShader):

Reviewed by NOBODY (Chromium build fix).

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

12 years agoStreamlined some Math functions where we expect or know the result not
ggaren@apple.com [Tue, 24 Nov 2009 02:30:04 +0000 (02:30 +0000)]
Streamlined some Math functions where we expect or know the result not
to be representable as an int.

Reviewed by Oliver Hunt.

SunSpider says 0.6% faster.

* runtime/JSNumberCell.h:
(JSC::JSValue::JSValue):
* runtime/JSValue.h:
(JSC::JSValue::):
(JSC::jsDoubleNumber):
(JSC::JSValue::JSValue): Added a function for making a numeric JSValue
and skipping the "can I encode this as an int?" check, avoiding the
overhead of int <-> double roundtripping and double <-> double comparison
and branching.

* runtime/MathObject.cpp:
(JSC::mathProtoFuncACos):
(JSC::mathProtoFuncASin):
(JSC::mathProtoFuncATan):
(JSC::mathProtoFuncATan2):
(JSC::mathProtoFuncCos):
(JSC::mathProtoFuncExp):
(JSC::mathProtoFuncLog):
(JSC::mathProtoFuncRandom):
(JSC::mathProtoFuncSin):
(JSC::mathProtoFuncSqrt):
(JSC::mathProtoFuncTan): For these functions, which we expect or know
to produce results not representable as ints, call jsDoubleNumber instead
of jsNumber.

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

12 years agoUnreviewed. Unbreak the regression tests after r51329.
mrowe@apple.com [Tue, 24 Nov 2009 02:24:46 +0000 (02:24 +0000)]
Unreviewed. Unbreak the regression tests after r51329.

* API/JSBase.cpp:
(JSEvaluateScript): Null-check clientData before dereferencing it.
* API/JSObjectRef.cpp:
(JSObjectCallAsFunction): Ditto.

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

12 years agoAdd exported functions to fix the Windows build.
bweinstein@apple.com [Tue, 24 Nov 2009 01:31:14 +0000 (01:31 +0000)]
Add exported functions to fix the Windows build.

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

12 years agoPrevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
agolden@apple.com [Tue, 24 Nov 2009 01:07:33 +0000 (01:07 +0000)]
Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
identity and certificate information from a WebCore::Credential when receivedCredential
needs to modify the credential's persistence.

Reviewed by Alexey Proskuryakov.

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

12 years agoPart 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after...
barraclough@apple.com [Tue, 24 Nov 2009 00:55:03 +0000 (00:55 +0000)]
Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world

Reviewed by Geoff Garen.

Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
and for this to automagically cause execution to take place in the world associated with the
global object associated with the ExecState (JSContextRef) passed.  However this is not how
things work - the world must be explicitly set within WebCore.

Making this work just for API calls to evaluate & call will be a far from perfect solution,
since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
A better solution would be to make this all work automagically all throughout WebCore, but this
will require more refactoring.

Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
so that we can get to the world from the lexical global object of an ExecState.  In the long-term
we should switch over to using this approach for all cases we want to get a world from an exec state.

* bindings/js/JSDOMBinding.cpp:
(WebCore::WebCoreJSClientData::beginningExecution):
(WebCore::WebCoreJSClientData::completedExecution):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMGlobalObject.h:
(WebCore::JSDOMGlobalObject::world):
(WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::JSDOMWindowShell):
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::world):
* bindings/js/JSWorkerContextBase.cpp:
(WebCore::JSWorkerContextBase::JSWorkerContextBase):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initScript):

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

12 years agoPart 1/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after...
barraclough@apple.com [Tue, 24 Nov 2009 00:54:27 +0000 (00:54 +0000)]
Part 1/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world

Reviewed by Geoff Garen.

Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
and for this to automagically cause execution to take place in the world associated with the
global object associated with the ExecState (JSContextRef) passed.  However this is not how
things work - the world must be explicitly set within WebCore.

Making this work just for API calls to evaluate & call will be a far from perfect solution,
since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
A better solution would be to make this all work automagically all throughout WebCore, but this
will require more refactoring.

Since the API is in JSC but worlds only exist in WebCore, add callbacks on the JSGlobalData::ClientData
to allow it to update the current world on entry/exit via the JSC API.  This is temporary duck
tape, and should be removed once the current world no longer needs to be explicitly tracked.

* API/JSBase.cpp:
(JSEvaluateScript):
* API/JSObjectRef.cpp:
(JSObjectCallAsFunction):
* JavaScriptCore.exp:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::ClientData::beginningExecution):
(JSC::JSGlobalData::ClientData::completedExecution):
* runtime/JSGlobalData.h:

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

12 years agoForgot one file for https://bugs.webkit.org/show_bug.cgi?id=31239
cmarrin@apple.com [Tue, 24 Nov 2009 00:35:37 +0000 (00:35 +0000)]
Forgot one file for https://bugs.webkit.org/show_bug.cgi?id=31239

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

12 years ago Add range checks to rendering calls in WebGL
cmarrin@apple.com [Tue, 24 Nov 2009 00:33:45 +0000 (00:33 +0000)]
    Add range checks to rendering calls in WebGL
        https://bugs.webkit.org/show_bug.cgi?id=31239

        I am now tracking the size of the data in each CanvasBuffer object
        and keeping track of the buffer size of each active vertex attrib.
        In drawArrays and drawElements I make sure no attempt is made to
        access elements outside the valid buffer ranges. The test at:

            http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html

        no longer crashes.

        I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks

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

12 years ago2009-11-23 Erik Arvidsson <arv@chromium.org>
arv@chromium.org [Tue, 24 Nov 2009 00:30:37 +0000 (00:30 +0000)]
2009-11-23  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Eric Seidel.

        JSC bindings for HasIndexGetter generates incorrect code (affects
        MediaList and CSSStyleDeclaration).
        This cleans up the edge cases for indexing out of range for style and
        computed style objects to return an empty string according to the spec.
        MediaList now returns null when indexed out of range.
        https://bugs.webkit.org/show_bug.cgi?id=31683

        * fast/dom/CSSStyleDeclaration/css-computed-style-item-expected.txt: Added.
        * fast/dom/CSSStyleDeclaration/css-computed-style-item.html: Added.
        * fast/dom/CSSStyleDeclaration/css-style-item-expected.txt: Added.
        * fast/dom/CSSStyleDeclaration/css-style-item.html: Added.
        * fast/dom/CSSStyleDeclaration/script-tests/css-computed-style-item.js: Added.
        * fast/dom/CSSStyleDeclaration/script-tests/css-style-item.js: Added.
        * fast/dom/StyleSheet/css-medialist-item-expected.txt: Added.
        * fast/dom/StyleSheet/css-medialist-item.html: Added.
        * fast/dom/StyleSheet/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/backgrounds/repeat/script-tests/TEMPLATE.html.
        * fast/dom/StyleSheet/script-tests/css-medialist-item.js: Added.
2009-11-23  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Eric Seidel.

        JSC bindings for HasIndexGetter generates incorrect code (affects
        MediaList and CSSStyleDeclaration).
        This cleans up the edge cases for indexing out of range for style and
        computed style objects to return an empty string according to the spec.
        MediaList now returns null when indexed out of range.
        https://bugs.webkit.org/show_bug.cgi?id=31683

        Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
               fast/dom/CSSStyleDeclaration/css-style-item.html
               fast/dom/StyleSheet/css-medialist-item.html

        * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
                we do not check the length before calling the item function.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::item):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::item):
        * css/CSSStyleDeclaration.idl:

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

12 years agoUnreviewed. Skip new test added in r51324.
ossy@webkit.org [Tue, 24 Nov 2009 00:16:57 +0000 (00:16 +0000)]
Unreviewed. Skip new test added in r51324.

* platform/qt/Skipped: Added editing/selection/trransformed-selection-rects.html

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

12 years ago2009-11-23 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Mon, 23 Nov 2009 23:30:31 +0000 (23:30 +0000)]
2009-11-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        DocumentMarkers need to be educated about transforms
        https://bugs.webkit.org/show_bug.cgi?id=31751

        Find highlight is incorrect with transforms
        <rdar://problem/6358394>

        Allow callers to specify that Frame::selectionTextRects() takes transforms into account
        when computing the set of rects that encompass a selection. For transformed elemenets, the
        selection rect will be the bounding box of the selected content.

        Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.

        Test: editing/selection/transformed-selection-rects.html

        * WebCore.base.exp:
        Frame::selectionTextRects() has a new parameter.

        * dom/Document.cpp:
        (WebCore::Document::setRenderedRectForMarker):
        * dom/Document.h:
        Pass the marker as a const reference.

        * dom/Range.h:
        * dom/Range.cpp:
        (WebCore::Range::textQuads):
        Add a new method, textQuads(), which returns a list of quads, respecting transforms.

        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::Frame::selectionTextRects):
        Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
        method to get quads for ranges, and then take their bounding boxes.

        * rendering/InlineTextBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::computeRectForReplacementMarker):
        (WebCore::InlineTextBox::paintDocumentMarkers):
        (WebCore::InlineTextBox::textPos):
        (WebCore::InlineTextBox::offsetForPosition):

        Pass DocumentMarkers as a const references.
        Convert the argument to setRenderedRectForMarker() into absolute coordinates.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::selectionBounds):

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

12 years ago2009-11-23 Steve Block <steveblock@google.com>
eric@webkit.org [Mon, 23 Nov 2009 22:55:22 +0000 (22:55 +0000)]
2009-11-23  Steve Block  <steveblock@google.com>

        Reviewed by Dmitry Titov.

        Adds MainThreadAndroid.cpp with Android-specific WTF threading functions.
        https://bugs.webkit.org/show_bug.cgi?id=31807

        * wtf/android: Added.
        * wtf/android/MainThreadAndroid.cpp: Added.
        (WTF::timeoutFired):
        (WTF::initializeMainThreadPlatform):
        (WTF::scheduleDispatchFunctionsOnMainThread):

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

12 years ago2009-11-23 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Mon, 23 Nov 2009 22:36:42 +0000 (22:36 +0000)]
2009-11-23  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        [Cairo] support blurred test-shadow
        [https://bugs.webkit.org/show_bug.cgi?id=31797]

        Support for blurred text-shadows on Cairo. This patch
        reuses the code of blurred box-shadows, introduced in
        bug 26102. For a full textshadow support, a filters enabled
        build is needed.

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):

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

12 years agoChange incorrect calls to the constructor "EventNames()" to the correct accessor
snej@chromium.org [Mon, 23 Nov 2009 22:25:22 +0000 (22:25 +0000)]
Change incorrect calls to the constructor "EventNames()" to the correct accessor
"eventNames()". This saves ~100 AtomicString lookups each time.
https://bugs.webkit.org/show_bug.cgi?id=31811

Reviewed by Geoffrey Garen.

* dom/EventNames.h:  Make constructor private to prevent this from happening again.
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):  EventNames() --> eventNames()
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::checkValidity):  EventNames() --> eventNames()
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):  EventNames() --> eventNames()
(WebCore::FrameLoader::pageHidden):  EventNames() --> eventNames()
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):  EventNames() --> eventNames()

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

12 years ago Reviewed by Oliver Hunt.
kov@webkit.org [Mon, 23 Nov 2009 22:22:53 +0000 (22:22 +0000)]
    Reviewed by Oliver Hunt.

        Implement new required function to pass test we used to pass. This
        change is required since r51294.

        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
        (LayoutTestController::setAllowUniversalAccessFromFileURLs):

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

12 years ago2009-11-23 Adam Langley <agl@google.com>
agl@chromium.org [Mon, 23 Nov 2009 22:10:55 +0000 (22:10 +0000)]
2009-11-23  Adam Langley  <agl@google.com>

        Reviewed by Dmitry Titov.

        Chromium Linux: Limit the stroke width and mitre limit.

        Limit the stroke width and mitre limit that we'll pass into Skia to
        avoid overflowing Skia's uint16_t glyph widths.

        http://code.google.com/p/chromium/issues/detail?id=28250
        https://bugs.webkit.org/show_bug.cgi?id=31747

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (scalarBound):
        (PlatformContextSkia::setupPaintForStroking):

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

12 years agoUnreviewed. Skip new tests.
ossy@webkit.org [Mon, 23 Nov 2009 21:57:50 +0000 (21:57 +0000)]
Unreviewed. Skip new tests.

* platform/qt/Skipped:

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

12 years ago Reviewed by Oliver Hunt.
ap@apple.com [Mon, 23 Nov 2009 21:53:48 +0000 (21:53 +0000)]
    Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=31812
        WebSocket code uses RefPtr::get() where it shouldn't

        No change in funcitonality, just coding style correction.

        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::~WebSocket):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::connect):
        (WebCore::WebSocketChannel::send):
        (WebCore::WebSocketChannel::bufferedAmount):
        (WebCore::WebSocketChannel::close):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didClose):
        (WebCore::WebSocketChannel::didReceiveData):
        (WebCore::WebSocketChannel::didFail):

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

12 years ago2009-11-23 Jakub Wieczorek <faw217@gmail.com>
eric@webkit.org [Mon, 23 Nov 2009 21:48:11 +0000 (21:48 +0000)]
2009-11-23  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] DRT: dumpBackForwardList() does not work properly with non-file URLs.
        https://bugs.webkit.org/show_bug.cgi?id=31775

        LayoutTestController::dumpBackForwardList() should work with local URLs
        as well as with normal URLs (in http tests for instance).
        Currently it does not output the latter properly.

        Unskip a bunch of passing http/navigation tests.

        * platform/qt/Skipped:
2009-11-23  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] DRT: dumpBackForwardList() does not work properly with non-file URLs.
        https://bugs.webkit.org/show_bug.cgi?id=31775

        LayoutTestController::dumpBackForwardList() should work with local URLs
        as well as with normal URLs (in http tests for instance).
        Currently it does not output the latter properly.

        Unskip a bunch of passing http/navigation tests.

        * DumpRenderTree/qt/DumpRenderTree.cpp:
        (WebCore::dumpHistoryItem):

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

12 years ago Build fix.
ap@apple.com [Mon, 23 Nov 2009 21:28:47 +0000 (21:28 +0000)]
    Build fix.

        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
        is static, so it can't use member variables directly.

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

12 years ago Reviewed by Brady Eidson.
ap@apple.com [Mon, 23 Nov 2009 21:00:27 +0000 (21:00 +0000)]
    Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=31748
        Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport

        * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
        they didn't carry useful information.

        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
        always need https.
        (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
        only get scheduled after PAC is fetched and executed asynchronously.
        (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
        source.
        (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
        (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
        (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
        we make the call even on Mac.
        (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
        (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
        we need to get rid of the event source.
        (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
        (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
        array may come directly from system configuration, or from PAC.
        (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
        separate.
        (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
        before we get to the destructor.
        (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
        is still in progress.

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

12 years agoDon't leak the CGImage we create when drawing a sub image.
oliver@apple.com [Mon, 23 Nov 2009 20:10:04 +0000 (20:10 +0000)]
Don't leak the CGImage we create when drawing a sub image.

Reviewed by Geoff Garen.

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

12 years ago2009-11-23 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Mon, 23 Nov 2009 19:12:08 +0000 (19:12 +0000)]
2009-11-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Don't crash when OOM in creating isolated world
        https://bugs.webkit.org/show_bug.cgi?id=31805

        We need to add some more null checks to avoid crashing.  No new tests
        because we don't have a good way to test out-of-memory bugs.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInIsolatedWorld):
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
        * bindings/v8/V8Proxy.h:

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

12 years agoTouch WebKit.idl to force a rebuild.
bweinstein@apple.com [Mon, 23 Nov 2009 19:07:24 +0000 (19:07 +0000)]
Touch WebKit.idl to force a rebuild.

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

12 years ago2009-11-23 Dirk Schulze <krit@webkit.org>
krit@webkit.org [Mon, 23 Nov 2009 16:15:24 +0000 (16:15 +0000)]
2009-11-23  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        This is the implementation of the filterRes attribute. It
        helps the SVG developer to set the quality of a filter by
        giving the width or height of filter.
        This patch also sets the filter resolution to lower values
        if a intermediate ImageBuffer size is bigger than the given
        maximal size.
        The maximal size is set to 5000x5000 by default. This is a
        subjectiv decission. Everthing greater than this values gets
        sensible slower. Values of 10000x10000 crashed on WebKitGtk.
        For mobil devices a maximum size of 100x100 or 200x200 seems
        to be reasonable.
        The important fact on filter resolution is, that the output
        size is still the size given by the <filter> element.

        Tests: svg/filters/big-sized-filter-2.svg
               svg/filters/big-sized-filter.svg
               svg/filters/filterRes.svg

        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
        * platform/graphics/FloatRect.h:
        (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
        calculation.
        * platform/graphics/filters/FEBlend.cpp:
        (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
        * platform/graphics/filters/FEComponentTransfer.cpp:
        (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
        calculations.
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
        * platform/graphics/filters/Filter.h: Add the abbility to change the quality
        of a filter output.
        (WebCore::Filter::filterResolution):
        (WebCore::Filter::setFilterResolution):
        (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
        as well as the scaledSubRegion. It also searches for the biggest effect size.
        We have to change the filter resolution, if one intermediate ImageBuffer size
        doesn't fit in the maximal image size.
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
        the right part of a previous effect result.
        (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
        the right part of a previous effect result.
        (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
        a new intermediate ImageBuffer for the result of the current effect.
        * platform/graphics/filters/FilterEffect.h:
        (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
        filter effect.
        (WebCore::FilterEffect::setScaledSubRegion):
        (WebCore::FilterEffect::effectBoundaries): The original values of the
        EffectElement for a second subRegion calculation.
        (WebCore::FilterEffect::setEffectBoundaries):
        * platform/graphics/filters/ImageBufferFilter.cpp:
        (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
        * platform/graphics/filters/ImageBufferFilter.h:
        (WebCore::ImageBufferFilter::maxImageSize):
        (WebCore::ImageBufferFilter::calculateEffectSubRegion):
        * platform/graphics/filters/SourceAlpha.cpp:
        (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
        intern calculations.
        * platform/graphics/filters/SourceGraphic.cpp:
        (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
        intern calculations.
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
        (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
        filterResolution.
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
        values to effectBoundaries of the filter effect
        * svg/graphics/SVGResourceFilter.cpp:
        (WebCore::SVGResourceFilter::SVGResourceFilter):
        (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
        (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
        fits into the maximal image size, modifys scale factors if not and return a
        bool: fits.
        (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
        filterResolution (given by FilterElement or calculated on to big image sizes).
        Set the scale level to SVGFilter.
        (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
        is wrong.
        * svg/graphics/SVGResourceFilter.h:
        (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
        (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
        a FilterResolution?
        (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
        (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
        (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
        Kernel values are scaled to current filter resolution too.
        * svg/graphics/filters/SVGFEFlood.cpp:
        (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
        * svg/graphics/filters/SVGFEMerge.cpp:
        (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
        Kernel values are scaled to current filter resolution too.
        * svg/graphics/filters/SVGFEMorphology.cpp:
        (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
        Kernel values are scaled to current filter resolution too.
        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
        * svg/graphics/filters/SVGFilter.cpp:
        (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
        scaledSubRegion according to the current filterResolution and get the maximal image size.
        * svg/graphics/filters/SVGFilter.h:
        (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement.
        (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
        (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
        (WebCore::SVGFilter::maxImageSize): Get the maximal image size.

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

12 years ago Reviewed by Adam Roben.
kdecker@apple.com [Mon, 23 Nov 2009 16:05:13 +0000 (16:05 +0000)]
    Reviewed by Adam Roben.

        <rdar://problem/7401503>

        Added a workaround for plug-ins not drawing immediately.

        * Plugins/WebBaseNetscapePluginView.mm: Added new constant.
        (-[WebBaseNetscapePluginView _clearSubstituteImage]): Added.
        (-[WebBaseNetscapePluginView resumeFromHalt]): Call above new method.

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

12 years ago2009-11-23 David Boddie <dboddie@trolltech.com>
eric@webkit.org [Mon, 23 Nov 2009 15:17:19 +0000 (15:17 +0000)]
2009-11-23  David Boddie  <dboddie@trolltech.com>

        Reviewed by Simon Hausmann.

        Updated the QWebElement documentation with links to examples and
        external resources.
        Fixed the project file for the webelement snippet and tidied up the
        markers used for quoting the code.

        * Api/qwebelement.cpp:
        * docs/webkitsnippets/webelement/main.cpp:
        (findAll):
        * docs/webkitsnippets/webelement/webelement.pro:

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