Windows Release build fix after r71514

The build was failing due to an alignment error. Strangely, depending
on the order of SVGStaticPropertyTearOff's members, the build will
either fail in Release (as it does before this change), or Debug (as it
did before r71514), but not both.

* svg/properties/SVGStaticPropertyTearOff.h:
(WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Copied
the #pragma pack trick from JSSVGPODTypeWrapper.h, which has similar
issues.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Stephen White  <senorblanco@chromium.org>

        Unreviewed; test expectations update.

        Update chromium-gpu test_expectations after canvas/philip update, and
        other fixes.

        * platform/chromium-gpu/test_expectations.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skip plugins tests on Qt WebKit2 since we do
not have plugin support yet.

Rubber-stamped by Csaba Osztrogonac.

* platform/qt-wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Update version numbers for release.

        * configure.ac:

WebKit/gtk:

2010-11-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        * NEWS: update for release.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Gabor Rapcsanyi  <rgabor@inf.u-szeged.hu>

        Reviewed by Csaba Osztrogonác.

        [NRWT] If the http lock fails we shouldn't do any locking
        https://bugs.webkit.org/show_bug.cgi?id=49164

        If something goes wrong with the locking, the test should keep going.

        * Scripts/webkitpy/layout_tests/port/http_lock.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Martin Robinson  <mrobinson@igalia.com>

        Skip failing tests and rebaseline another test after r71512.

        * platform/gtk/Skipped: Update the skipped list.
        * platform/gtk/svg/custom/use-property-synchronization-crash-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make http locking default in NRWT.
https://bugs.webkit.org/show_bug.cgi?id=48053

Patch by Gabor Rapcsanyi <rgabor@inf.u-szeged.hu> on 2010-11-08
Reviewed by Ojan Vafai.

* Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Wrapped DOM bindings GObjects do not disconnect event listeners when they die
        https://bugs.webkit.org/show_bug.cgi?id=49136

        When GObjects are finalized and freed, disconnect their event listeners, so that
        WebCore does not try to fire signals on dead GObjects. We do this by holding a weak
        reference to the GObject in the signal listener. When the weak reference notification
        callback is executed, we disconnect the event listener.

        No new tests; this fix is proved by prevention of crashes in soon to be
        landed editing delegate signals, which are covered by the layout tests.

        * bindings/gobject/GObjectEventListener.cpp:
        (WebCore::GObjectEventListener::GObjectEventListener): Updated the constructor.
        (WebCore::GObjectEventListener::~GObjectEventListener): Disconnect the weak reference
        if the GObject is still alive.
        (WebCore::GObjectEventListener::gobjectDestroyed): When the GObject is destroyed,
        disconnect the appropriate event listener.
        (WebCore::GObjectEventListener::handleEvent): Changes to reflect use of CString
        instead of WebCore string.
        * bindings/gobject/GObjectEventListener.h:
        (WebCore::GObjectEventListener::addEventListener): Changed create to addEventListener,
        so that the connection and disconnection is an internal contract to the class.
        (WebCore::GObjectEventListener::gobjectDestroyedCallback): Added.
        * bindings/scripts/CodeGeneratorGObject.pm: Modified the code generate to use
        GObjectEventListener::addEventListener and no longer call addEventListener on
        its own.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Andreas Kling.

        [GTK] Error page templates are not filled properly
        https://bugs.webkit.org/show_bug.cgi?id=49148

        Replace a call to makeString with String::format. This was mistakenly
        changed to makeString in an earlier commit.

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::FrameLoaderClient::dispatchDidFailLoad):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by David Hyatt.

        getPropertyValue("background") causes crash
        https://bugs.webkit.org/show_bug.cgi?id=49055

        * fast/css/background-norepeat-crash-expected.txt: Added.
        * fast/css/background-norepeat-crash.html: Added.
2010-11-08  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by David Hyatt.

        getPropertyValue("background") causes crash
        https://bugs.webkit.org/show_bug.cgi?id=49055

        Test: fast/css/background-norepeat-crash.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a sometimes-failing test to the Windows Skipped file

* platform/win/Skipped: Added
animations/stop-animation-on-suspend.html.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Show a message and cause the build to immediately fail when any .vsprops files are copied

When $WebKitLibrariesDir is set to a non-standard location, the
.vsprops files have to be copied from WebKitLibraries/win to
$WebKitLibrariesDir. When this happens, Visual Studio doesn't pick up
changes to the .vsprops files until the next time it opens the solution
file. Before this patch, the build would soldier on with the old
.vsprops files, leading to strange build failures. Now we detect that
the .vsprops files have been updated, display a message to the user
telling them what to do, and make the build fail immediately.

Fixes <http://webkit.org/b/49181> Windows build fail mysteriously when
.vsprops files are updated

Reviewed by Steve Falkenburg.

JavaScriptCore:

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
Moved code to copy the tools directory to the new copy-tools.cmd
script. Moved that after the command that writes the buildfailed file
so the build will be considered a failure if copy-tools.cmd fails.
Changed to write the project name into buildfailed like all our other
projects do, so those other projects will know that the failure was due
to this project.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
Added new scripts.

* JavaScriptCore.vcproj/JavaScriptCore/copy-tools.cmd: Added. Copies
the tools directory to $WebKitLibrariesDir. If any files were copied,
we display a message to the user and exit with error code 1 to cause
the build to fail. In non-interactive builds, we just print the message
to the build log. In interactive builds, we show the message in an
alert.

* JavaScriptCore.vcproj/JavaScriptCore/show-alert.js: Added. Uses
Windows Scripting Host to display a message in an alert.

WebKitTools:

Mark Windows builds triggered from Perl as being non-interactive

This affects whether some of our scripts will show alerts vs. printing
to the build log.

* Scripts/webkitdirs.pm:
(buildVisualStudioProject): Set WEBKIT_NONINTERACTIVE_BUILD to 1.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Only call WebInspector_syncDispatch if it's actually a function.
        https://bugs.webkit.org/show_bug.cgi?id=49180

        * src/WebDevToolsFrontendImpl.cpp:
        (WebKit::WebDevToolsFrontendImpl::WebDevToolsFrontendImpl):
        (WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):
        * src/WebDevToolsFrontendImpl.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        * GNUmakefile.am: add missing files to fix distcheck.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        >=webkitgtk-1.2.5: parallel build fails with libtool: link: cannot find the library `libwebkit-1.0.la' or unhandled argument `libwebkit-1.0.la'
        https://bugs.webkit.org/show_bug.cgi?id=49128

        r59042 introduced a C++-style comment in Platform.h, which is often
        included in C source files. Change it to a C-style comment.

        * wtf/Platform.h: Fix the C++-style comment.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Allow applets to participate in accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=49117
        <rdar://problem/8625819>

        Add RenderApplet to the list of renderers that can optionally get RenderLayers,
        and be composited for some reason.

        Not currently testable.

        * rendering/RenderApplet.h: Outdented the class declaration.

        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::requiresLayer): Return true if the underlying widget
        has a platform layer.
        (WebCore::RenderApplet::allowsAcceleratedCompositing): Check the widget to see
        if it has a platform layer.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::shouldBeNormalFlowOnly): Reformat, and add isApplet().
        (WebCore::RenderLayer::isSelfPaintingLayer): Reformat, and add isApplet().
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use 'renderer' local variable
        for efficiency. Now check for embedded objects and applets.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Check for embedded objects and applets.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-08  Tony Chang  <tony@chromium.org>

        Reviewed by Adam Barth.

        run platform/chromium/plugins/nested-plugin-objects.html on all platforms
        https://bugs.webkit.org/show_bug.cgi?id=49094

        * plugins/nested-plugin-objects-expected.txt: Renamed from LayoutTests/platform/chromium/plugins/nested-plugin-objects-expected.txt.
        * plugins/nested-plugin-objects.html: Renamed from LayoutTests/platform/chromium/plugins/nested-plugin-objects.html.
2010-11-08  Tony Chang  <tony@chromium.org>

        Reviewed by Adam Barth.

        run platform/chromium/plugins/nested-plugin-objects.html on all platforms
        https://bugs.webkit.org/show_bug.cgi?id=49094

        This tests that objects created by plugins are proplery cleaned up.

        * DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
        (testPassTestObject):
        (pluginInvoke):
        * DumpRenderTree/TestNetscapePlugIn/TestObject.cpp:
        (testAllocate):
        (testDeallocate):
        (testGetProperty):
        (testConstruct):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070

Reviewed by Kenneth Rohde Christiansen.

WebCore: 

Make the necessary changes in TextureMapperNode in preparation of making it possible to paint it
from a different thread.
The main problematic part was the cache, which made it so that textures can become invalid and have to
be rerendered from content during paint. This is solved here by creating a pack/unpack function for
textures, which lets a texture archive its data away from video memory, or do whatever the platform
thinks is right for freeing memory without needing to re-render again from content (which cannot be
made thread safe).

After this change, TextureMapperNode moved to its own file, and has 2 entry points: paint and syncCompositingState.
The idea is that syncCompositingState has to be called in the UI thread, paint can be called from a different
thread, and they should block each other.

The new test tests the cache code-path, to show that the pack/unpack technique works for cases where it
kicks in.

Test: compositing/layer-creation/many-layers.html

* WebCore.pro:
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::~BitmapTextureGL):
(WebCore::BitmapTextureGL::BitmapTextureGL):
(WebCore::TextureMapperGL::TextureMapperGL):
(WebCore::TextureMapperGL::drawTexture):
* platform/graphics/opengl/TextureMapperGL.h:
(WebCore::TextureMapperGL::create):
* platform/graphics/qt/TextureMapperQt.cpp:
(WebCore::BitmapTextureQt::pack):
(WebCore::BitmapTextureQt::unpack):
(WebCore::TextureMapper::create):
(WebCore::BitmapTextureQt::BitmapTextureQt):
* platform/graphics/qt/TextureMapperQt.h: Added.

WebKit/qt: 

Reorganized the textureMapper to be a member of QWebFramePrivate, to help with making
TextureMapper thread-safe.

* Api/qwebframe.cpp:
(QWebFramePrivate::renderCompositedLayers):
* Api/qwebframe_p.h:
* WebCoreSupport/PageClientQt.cpp:
(WebCore::PlatformLayerProxyQt::setTextureMapper):
(WebCore::PlatformLayerProxyQt::textureMapper):
(WebCore::PlatformLayerProxyQWidget::PlatformLayerProxyQWidget):
(WebCore::PlatformLayerProxyQGraphicsObject::PlatformLayerProxyQGraphicsObject):

LayoutTests: 

Added a test that includes several composited layers, containing pixel data that's larger
than 24MB, which is the default value for TextureMapper's cache. This tests the video memory
ceiling functionality of TextureMapper, as purging that cache would kick in whe running this test.

* compositing/layer-creation/many-layers.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71538 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove use of HIGetScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=49186
<rdar://problem/8618410>

Reviewed by Adam Roben.

Scale factors can vary on a display-by-display basis and it doesn't make sense
to compute scale factor event coordinates like this.

WebCore:

* plugins/mac/PluginViewMac.mm:
(WebCore::PluginView::globalMousePosForPlugin):

WebKit/mac:

* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(getCarbonEvent):

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

* MigrateHeaders.make:

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