[Qt] Snowshoe desktop crashes when opening a new tab
https://bugs.webkit.org/show_bug.cgi?id=92753

Reviewed by Jocelyn Turcotte.

Change back forceRepaint to consider the UI process state.
It has been tweaked to satisfy the needs of WKPageForceRepaint but
it has other callers so this new behavior was not safe. This patch
implements WebPage::forceRepaintAsync for testing purposes. It is
done by LayerTreeCoordinator that holds the callback and sends the
reply message in the next flushPendingLayerChanges. In theory it
could be implemented for the non conposited path in DrawingAreaImpl
as well but neither it is needed nor can I test it.

* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::forceRepaintAsync):
(WebKit):
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::forceRepaintAsync):
(WebKit):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::forceRepaintAsync):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] EFL Webkit needs a class wrapping eina stringshare
https://bugs.webkit.org/show_bug.cgi?id=93229

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-08
Reviewed by Kenneth Rohde Christiansen.

Added a new auxiliary class wrapping Eina Stringshare and providing
more convenient C++ interface for using it.

* PlatformEfl.cmake:
* UIProcess/API/cpp/efl/WKEinaSharedString.cpp: Added.
(:m_string):
(WKEinaSharedString::~WKEinaSharedString):
(WKEinaSharedString::operator=):
* UIProcess/API/cpp/efl/WKEinaSharedString.h: Added.
(WebKit):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Add relayout after updating fixed reported size
https://bugs.webkit.org/show_bug.cgi?id=93116
PR #160059

Patch by Ed Baker <edbaker@rim.com> on 2012-08-08
Reviewed by Antonio Gomes.

Reviewed internally by Antonio Gomes.

On an orientation change and after fixed reported size is
updated perform a layout and update the fixed elements after
scrolling. This will recalculate the height and width of
fixed position elements using percentage values with the
new fixed reported size. Otherwise using the old fixed reported
size in the new orientation overflowing or clipping could occur.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Fix GTK+ build with GTK2 after r121475.

* TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp: Add missing
include required when building with GTK2.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce cr-android bots in the EWS system
https://bugs.webkit.org/show_bug.cgi?id=93472

Reviewed by Adam Barth.

This adds the queue to the EWS scripts. Two builders are ready to be
attached to the queue. All webkitpy tests pass with this change applied.

* QueueStatusServer/model/queues.py:
(Queue):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(ChromiumAndroidEWS):
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(EarlyWarningSytemTest.test_builder_ewses):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Compile errors with OpenGLES2
https://bugs.webkit.org/show_bug.cgi?id=93206

Patch by Loïc Yhuel <loic.yhuel@softathome.com> on 2012-08-08
Reviewed by Noam Rosenthal.

Fix build with OpenGLES2 on Linux desktop

Source/WebCore:

* platform/graphics/OpenGLESShims.h: removed unused define conflicting with gl2ext.h from ANGLE

Tools:

* qmake/mkspecs/features/features.prf: Don't use GLX with OpenGLES2

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] MiniBrowser crashes on window.open()
        https://bugs.webkit.org/show_bug.cgi?id=93413

        Reviewed by Dan Bernstein.

        * MiniBrowser/mac/BrowserWindowController.m: (createNewPage): This is a "create"
        API, so it needs to return a retained result.

        * MiniBrowser/mac/WebBundle/WebBundleMain.m: (didClearWindowObjectForFrame):
        When this function is called, URL appears to be poorly defined. Sometimes, it's
        the new URL, other times it's the old one. An "old" URL is null in a new page.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer] 0.11 build broken (again)
https://bugs.webkit.org/show_bug.cgi?id=93474

Reviewed by Martin Robinson.

.:

* configure.ac: Disable media-stream build if GStreamer 0.11
support is enabled, due to farstream-0.1 still messing up with
gstreamer-0.10 include path.

Source/WebCore:

Adapt the GStreamer media player backend to the latest GStreamer
0.11 API changes.

* platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef):
* platform/graphics/gstreamer/GStreamerVersioning.cpp:
(gstObjectIsFloating):
* platform/graphics/gstreamer/GStreamerVersioning.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::didReceiveResponse):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove All Custom binding code for TypedArray.
https://bugs.webkit.org/show_bug.cgi?id=93371

Patch by Vineet Chaudhary <rgf748@motorola.com> on 2012-08-08
Reviewed by Kentaro Hara.

Removing Custom bindings completely with help of [TypedArray] attribute.

Tests: TestTypedArray.idl
There should not be any behavioral change and all tests should pass.

* GNUmakefile.list.am: Removed Custom files.
* Target.pri: Ditto.
* UseJSC.cmake: Ditto.
* UseV8.cmake: Ditto.
* WebCore.gypi: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSFloat32ArrayCustom.cpp: Removed.
* bindings/js/JSFloat64ArrayCustom.cpp: Removed.
* bindings/js/JSInt16ArrayCustom.cpp: Removed.
* bindings/js/JSInt32ArrayCustom.cpp: Removed.
* bindings/js/JSInt8ArrayCustom.cpp: Removed.
* bindings/js/JSUint16ArrayCustom.cpp: Removed.
* bindings/js/JSUint32ArrayCustom.cpp: Removed.
* bindings/js/JSUint8ArrayCustom.cpp: Removed.
* bindings/js/JSUint8ClampedArrayCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorCPP.pm:
(GenerateHeader): Skip implementaion for TypedArray.
(GenerateImplementation): Skip implementaion for TypedArray.
* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateFunction): Skip implementaion for TypedArray.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Generates binding for set() call.
(GenerateConstructorDefinition): ConstructorTemplate implementation for TypedArray.
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateHeader): Skip implementaion for TypedArray.
(GenerateImplementation): Skip implementaion for TypedArray.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateFunctionCallback): Generates binding for setCallback().
(GenerateTypedArrayConstructorCallback): Generates binding for constructorCallback().
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt: Support ConstructorTemplate for TypedArray as well.
* bindings/scripts/test/JS/JSFloat64Array.cpp: Binding tests results.
(WebCore::toJS):
(WebCore::JSFloat64Array::indexSetter):
(WebCore::JSFloat64ArrayConstructor::getConstructData):
(WebCore::jsFloat64ArrayPrototypeFunctionFoo):
(WebCore::jsFloat64ArrayPrototypeFunctionSet):
* bindings/scripts/test/JS/JSFloat64Array.h: Binding tests results.
* bindings/scripts/test/TestTypedArray.idl: Binding tests.
* bindings/scripts/test/V8/V8Float64Array.cpp: Binding tests results.
(WebCore::Float64ArrayV8Internal::setCallback):
(Float64ArrayV8Internal):
(WebCore):
(WebCore::V8Float64Array::constructorCallback):
(WebCore::ConfigureV8Float64ArrayTemplate):
* bindings/v8/custom/V8Float32ArrayCustom.cpp: Removed.
* bindings/v8/custom/V8Float64ArrayCustom.cpp: Removed.
* bindings/v8/custom/V8Int16ArrayCustom.cpp: Removed.
* bindings/v8/custom/V8Int32ArrayCustom.cpp: Removed.
* bindings/v8/custom/V8Int8ArrayCustom.cpp: Removed.
* bindings/v8/custom/V8Uint16ArrayCustom.cpp: Removed.
* bindings/v8/custom/V8Uint32ArrayCustom.cpp: Removed.
* bindings/v8/custom/V8Uint8ArrayCustom.cpp: Removed.
* bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Removed.
* html/canvas/Float32Array.idl: Using [ConstructorTemplate = TypedArray] instead of custom implementaion.
* html/canvas/Float64Array.idl: Ditto.
* html/canvas/Int16Array.idl: Ditto.
* html/canvas/Int32Array.idl: Ditto.
* html/canvas/Int8Array.idl: Ditto.
* html/canvas/Uint16Array.idl: Ditto.
* html/canvas/Uint32Array.idl: Ditto.
* html/canvas/Uint8Array.idl: Ditto.
* html/canvas/Uint8ClampedArray.idl: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, build fix after r125041.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::didReceiveResponse): Fix arguments order of the
notifyGstTagsOnPad() call.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Skia assert triggered by custom filter unmultiplied results
https://bugs.webkit.org/show_bug.cgi?id=92758

Reviewed by Dean Jackson.

Source/WebCore:

The FECustomFilter (which renders the CSS Shaders) used premultiplied colors for both input and ouput.
The problem with that is that some shaders do not pre-multiply the values and the reality is that
we cannot trust the shader to do that. The easy way would be to use only unpremultiplied colors and do the
computation in C++ code. This will be changed when the mix blending is implemented to do that in the shader itself.

No new tests, just updated existing tests to take unpremultiplied colors instead.

* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::platformApplySoftware):

LayoutTests:

Updated the shaders to output un-premultiplied colors. Also, updated the output results where needed.

* css3/filters/custom/custom-filter-shader-cache-expected.png:
* css3/filters/custom/effect-color-check-expected.png:
* css3/filters/custom/effect-custom-combined-missing-expected.png:
* css3/filters/custom/effect-custom-expected.png:
* css3/filters/custom/effect-custom-parameters-expected.png:
* css3/filters/custom/filter-repaint-custom-expected.png:
* css3/filters/custom/missing-custom-filter-shader-expected.png:
* css3/filters/resources/color-add.fs:
* css3/filters/resources/color-fill.fs:
* platform/chromium/TestExpectations: Disabled the following tests on Windows. They need a rebaseline.
* platform/chromium-linux/css3/filters/custom/effect-color-check-expected.png:
* platform/chromium-linux/css3/filters/custom/effect-custom-combined-missing-expected.png:
* platform/chromium-linux/css3/filters/custom/effect-custom-parameters-expected.png:
* platform/chromium-mac/css3/filters/custom/effect-color-check-expected.png:
* platform/chromium-mac/css3/filters/custom/effect-custom-combined-missing-expected.png:
* platform/chromium-mac/css3/filters/custom/effect-custom-parameters-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer] media/media-continues-playing-after-replace-source.html fails
https://bugs.webkit.org/show_bug.cgi?id=86310

Reviewed by Eric Carlson.

Source/WebCore:

Reset the player's network and ready states, this allows the media
player client to potentially emit a timeupdate event while the new
location is being loaded. States are synchronized again after the
pipeline pre-rolled.

No new tests but fixes
media/media-continues-playing-after-replace-source.html

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load):

LayoutTests:

Unflag now passing media test on GTK and EFL.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: generate preview for the objects dumped into the console upon logging.
https://bugs.webkit.org/show_bug.cgi?id=35801

Reviewed by Vsevolod Vlasov.

Source/WebCore:

As of today, dumping an object (array) into console will result in objects' properties being
read upon console object expansion (i.e. lazily). This means that dumping the same object while
mutating it will be hard to debug using the console.

This change starts generating abbreviated previews for objects / arrays at the moment of their
logging and passes this information along into the front-end. This only happens when the front-end
is already opened, it only works for console.log(), not live console interaction.

Covered by the existing console tests + collections test has been expanded to capture both: pre and post-
front-end opening scenarios.

* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
* inspector/ConsoleMessage.h:
(ConsoleMessage):
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::wrapObject):
* inspector/InjectedScript.h:
(InjectedScript):
* inspector/InjectedScriptSource.js:
(.):
* inspector/Inspector.json:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::addConsoleMessage):
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArrayOrObject):
(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessageImpl.prototype._printArray):
(WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
* inspector/front-end/DOMExtension.js:
(Element.prototype.createTextChild):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertiesSection):
* inspector/front-end/PropertiesSection.js:
* inspector/front-end/RemoteObject.js:
(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.prototype.get previewProperties):
* inspector/front-end/Section.js:
* inspector/front-end/inspector.css:
(.console-group-messages .section .header .title):
(.section .console-formatted-node):
(.console-object-preview):
(.section .properties .name, .event-properties .name, .console-formatted-object .name):

LayoutTests:

* inspector/console/command-line-api-inspect-expected.txt:
* inspector/console/console-dir-expected.txt:
* inspector/console/console-eval-global-expected.txt:
* inspector/console/console-eval-global.html:
* inspector/console/console-format-collections-expected.txt:
* inspector/console/console-format-collections.html:
* inspector/console/console-format-expected.txt:
* inspector/console/console-format.html:
* inspector/console/console-log-document-proto-expected.txt:
* inspector/console/console-log-document-proto.html:
* inspector/console/console-log-toString-object-expected.txt:
* inspector/debugger/watch-expressions-panel-switch-expected.txt:
* inspector/elements/event-listener-sidebar-expected.txt:
* inspector/elements/event-listeners-about-blank-expected.txt:
* platform/chromium/inspector/console/console-dir-expected.txt:
* platform/chromium/inspector/console/console-eval-global-expected.txt: Removed.
* platform/chromium/inspector/console/console-format-collections-expected.txt:
* platform/chromium/inspector/console/console-format-expected.txt: Removed.
* platform/chromium/inspector/console/console-log-document-proto-expected.txt:
* platform/chromium/inspector/debugger/watch-expressions-panel-switch-expected.txt:
* platform/chromium/inspector/elements/event-listener-sidebar-expected.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Until CSP fully supports paths, we should log a warning if we encounter a source with a path.
https://bugs.webkit.org/show_bug.cgi?id=93468

Patch by Mike West <mkwst@chromium.org> on 2012-08-08
Reviewed by Adam Barth.

Source/WebCore:

CSP 1.0 ignores path components of sources in directives' source lists.
'script-src http://example.com/path/to/directory' is treated exactly the
same as 'script-src http://example.com'. It's likely that this behavior
will change in CSP 1.1, which could break with developers' expectations.
This patch adds a warning when a path is encountered, alerting
developers to the fact that their current source is interpreted
differently than they might expect.

See http://crbug.com/128493 for additional context and discussion.

Tests for this change are covered by updating the existing Content
Security Policy tests to include the new console warnings.

* page/ContentSecurityPolicy.cpp:
(CSPSourceList):
(WebCore::CSPSourceList::CSPSourceList):
    Passing the directive name down into CSPSourceList so that we can
    generate informative error messages.
(WebCore::CSPSourceList::parse):
    Create a 'path' string, pass it into 'parseSource', and use it after
    parsing each source to determine whether a warning should be sent.
(WebCore::CSPSourceList::parseSource):
    Adding a 'path' argument so that we can see whether or not a
    specific source should generate a warning.
(WebCore::CSPDirective::CSPDirective):
    Passing the directive name down into CSPSourceList so that we can
    generate informative error messages.
(WebCore::ContentSecurityPolicy::reportIgnoredPathComponent):
    Generate the new warning message.
(WebCore):
* page/ContentSecurityPolicy.h:

LayoutTests:

* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowconnectionto.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowfontfrom.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowframefrom.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowimagefrom.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowmediafrom.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowobjectfrom.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowscriptfrom.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-allowstylefrom.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicy-reporturi.html:
    All of the SecurityPolicy API tests with source lists contained
    sources with a trailing `/`. I've fixed that oversight.
* http/tests/security/contentSecurityPolicy/source-list-parsing-05-expected.txt:
* http/tests/security/contentSecurityPolicy/source-list-parsing-05.html:
* http/tests/security/contentSecurityPolicy/source-list-parsing-06-expected.txt:
* http/tests/security/contentSecurityPolicy/source-list-parsing-06.html:
    Updating the text of the test, and updating them to include the new
    console warnings.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make slider tick mark snapping threshold configurable for each platform
https://bugs.webkit.org/show_bug.cgi?id=93429

Reviewed by Kent Tamura.

Source/WebCore:

This makes the slider tick mark snapping threshold configurable for each platform.
And we increase the threshold for the Chromium port.

No new tests. Covered by range-snap-to-datalist.html.

* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::sliderTickSnappingThreshold):
(WebCore):
* rendering/RenderTheme.h:
(RenderTheme):
(WebCore::RenderTheme::sliderTickSnappingThreshold): Returns the threshold distance to the tick mark for snapping to occur.
* rendering/RenderThemeChromiumCommon.cpp:
(WebCore::RenderThemeChromiumCommon::sliderTickSnappingThreshold):
(WebCore):
* rendering/RenderThemeChromiumCommon.h:
(RenderThemeChromiumCommon):
* rendering/RenderThemeChromiumMac.h:
* rendering/RenderThemeChromiumMac.mm:
(WebCore):
(WebCore::RenderThemeChromiumMac::sliderTickSnappingThreshold):
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore):
(WebCore::RenderThemeChromiumSkia::sliderTickSnappingThreshold):
* rendering/RenderThemeChromiumSkia.h:

LayoutTests:

* fast/forms/datalist/range-snap-to-datalist-expected.txt: Removed.
* fast/forms/datalist/range-snap-to-datalist.html: Changed so we can use this test for different snapping thresholds.
* platform/chromium/fast/forms/datalist/range-snap-to-datalist-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The cr-android EWS should actually be building Chromium for Android
https://bugs.webkit.org/show_bug.cgi?id=93489

Reviewed by Adam Barth.

The cr-android EWS bots should be building Chromium for Android, which
requires some additional flags to Chromium's default configuration.

* Scripts/webkitdirs.pm:
(buildChromium):
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.port):
(ChromiumAndroidPort):
(ChromiumAndroidPort.update_webkit_command):
(ChromiumAndroidPort.build_webkit_command):
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest.test_chromium_android_port):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(ChromiumAndroidEWS):
* Scripts/webkitpy/tool/steps/update_unittest.py:
(UpdateTest.test_update_command_non_interactive):
(UpdateTest.test_update_command_interactive):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r123171): <svg> element with intrinsic size and max-width gets sized incorrectly
https://bugs.webkit.org/show_bug.cgi?id=93388

Reviewed by Beth Dakin.

Source/WebCore: 

Test: svg/css/max-width-3.html

* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox): Added code to set
m_intrinsicSize in the no-contentRenderer branch of this function so that the calls to
RenderBox::computeReplacedLogical{Height,Width} in the end use the right intrinsic size.
This is similar to what the contentRenderer branch of this function already does.

LayoutTests: 

* svg/css/max-width-3-expected.html: Added.
* svg/css/max-width-3.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Improve RenderObject.h compile time - split CachedImage and CachedImageClient
https://bugs.webkit.org/show_bug.cgi?id=93400

Patch by Nikhil Bhargava <nbhargava@google.com> on 2012-08-08
Reviewed by Eric Seidel.

Splits loader/cache/CachedImage.h into two files. The remaining changes are to repair existing #includes

No new tests. No changes to existing functions/functionality.

* css/CSSCrossfadeValue.h:
* loader/ImageLoader.h:
* loader/cache/CachedImage.cpp:
* loader/cache/CachedImage.h:
(WebCore):
* loader/cache/CachedImageClient.h: Added.
(WebCore):
(CachedImageClient):
(WebCore::CachedImageClient::~CachedImageClient):
(WebCore::CachedImageClient::expectedType):
(WebCore::CachedImageClient::resourceClientType):
(WebCore::CachedImageClient::imageChanged):
(WebCore::CachedImageClient::willRenderImage):
* platform/chromium/ClipboardChromium.h:
* rendering/RenderObject.h:
(WebCore):
* rendering/style/StyleCachedImage.cpp:
* rendering/style/StyleCachedImage.h:
(WebCore):
* rendering/style/StyleCachedImageSet.h:
* svg/graphics/SVGImage.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Video element image loader must persist after element detach.
https://bugs.webkit.org/show_bug.cgi?id=90801

Reviewed by Eric Carlson.

We rely on the OwnPtr in the element to cleanup the loader.

Source/WebCore:

Test: fast/dom/beforeload/remove-video-poster-in-beforeload-listener.html

* html/HTMLVideoElement.cpp:
(WebCore):
* html/HTMLVideoElement.h:
(HTMLVideoElement):

LayoutTests:

* fast/dom/beforeload/remove-video-poster-in-beforeload-listener-expected.txt: Added.
* fast/dom/beforeload/remove-video-poster-in-beforeload-listener.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fire suspend event whenever network state is set to NETWORK_IDLE.
https://bugs.webkit.org/show_bug.cgi?id=93052

Reviewed by Eric Carlson.

There was a regression in the Chromium port (http://crbug.com/139511) that revealed we didn't
have a layout test for suspend events. Upon further investigation it appeared we also had a bug
where we didn't fire the suspend event when a media engine reported they had completely loaded
the media.

Covered by new test http/tests/media/video-load-suspend.html.

Source/WebCore:

* html/HTMLMediaElement.cpp: Move firing of suspend event to changeNetworkStateFromLoadingToIdle
(WebCore::HTMLMediaElement::setNetworkState):
(WebCore::HTMLMediaElement::changeNetworkStateFromLoadingToIdle):

LayoutTests:

* http/tests/media/video-load-suspend-expected.txt: Added.
* http/tests/media/video-load-suspend.html: Added.
* media/event-attributes-expected.txt: Updated to include suspend event.

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