Unreviewed, rolling out r113431.
http://trac.webkit.org/changeset/113431
https://bugs.webkit.org/show_bug.cgi?id=83372

for breaking at least Chromium compilation (Requested by
pfeldman on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-06

* rendering/RenderView.cpp:
(WebCore::RenderView::paint):
(WebCore::RenderView::shouldRepaint):
(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
(WebCore::RenderView::computeRectForRepaint):
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::viewRect):
(WebCore::RenderView::unscaledDocumentRect):
* rendering/RenderView.h:
(RenderView):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add CodeGenerator support for sequence<> in callbacks.
https://bugs.webkit.org/show_bug.cgi?id=83233

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

Tests: TestCallback.idl and fast/mutation/callback-arguments.html should pass even after
the changes.

* GNUmakefile.list.am: Removed unsued custom files V8MutationCallbackCustom.cpp
  and JSMutationCallbackCustom.cpp from builds.
* Target.pri: Ditto.
* UseJSC.cmake: Ditto.
* UseV8.cmake: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSMutationCallbackCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForTypeInImpl): Add proper header type.
(GenerateCallbackHeader): Generate declaration for the callback with sequence<T> argument.
(GenerateCallbackImplementation): Generate implementation for the callback with sequence<T> argument.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateCallbackHeader): Generate declaration for the callback with sequence<T> argument.
(GenerateCallbackImplementation): Generate implementation for the callback with sequence<T> argument.
* bindings/scripts/test/JS/JSTestCallback.cpp: Modified test results of run-bindings-tests.
(WebCore):
(WebCore::JSTestCallback::handleEvent):
* bindings/scripts/test/JS/JSTestCallback.h: Modified test results of run-bindings-tests.
(JSTestCallback):
* bindings/scripts/test/TestCallback.idl: Added test callback with sequence<> argument.
* bindings/scripts/test/V8/V8TestCallback.cpp: Modified test results of run-bindings-tests.
(WebCore):
(WebCore::V8TestCallback::handleEvent):
* bindings/scripts/test/V8/V8TestCallback.h: Modified test results of run-bindings-tests.
(V8TestCallback):
* bindings/v8/custom/V8MutationCallbackCustom.cpp: Removed.
* dom/MutationCallback.idl: Removed custom bindings using sequence<T>.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
https://bugs.webkit.org/show_bug.cgi?id=82616

Reviewed by Pavel Feldman.

- center minimal selection on mouse cursor if the mouse hasn't moved (i.e. we had a click, not drag)

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Call Heap::discardAllCompiledCode() in low memory situations
https://bugs.webkit.org/show_bug.cgi?id=83335

Reviewed by Geoffrey Garen.

Source/JavaScriptCore: 

Restructured Heap::discardAllCompiledCode() to do the "Is JavaScriptRunning?"
check inline so that it can be called directly without this check.

* heap/Heap.cpp:
(JSC::Heap::discardAllCompiledCode):
(JSC::Heap::collectAllGarbage):
* heap/Heap.h: Added JS_EXPORT_PRIVATE to discardAllCompiledCode() so it can be
called from WebCore.
(Heap):
* runtime/JSGlobalData.h: Removed unused " void discardAllCompiledCode()" declaration.
(JSGlobalData):

Source/WebCore: 

Added call to discardAllCompiledCode() when under memory pressure.
We can re-JIT as needed.  This is similar to what we used to do when we did
a full GC which also cleaned up JIT code.  Doing a full GC typically didn't
help our memory situation, in fact it made things worse in the really low
memory situation as it caused more paging.

Added pass through discardAllCompiledCode() method to GCController.

* bindings/js/GCController.cpp:
(WebCore::GCController::discardAllCompiledCode):
(WebCore):
* bindings/js/GCController.h:
(GCController):
* platform/mac/MemoryPressureHandlerMac.mm:
(WebCore::MemoryPressureHandler::releaseMemory):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Gtk] Unskip the video track tests
https://bugs.webkit.org/show_bug.cgi?id=82590

Patch by Zan Dobersek <zandobersek@gmail.com> on 2012-04-06
Reviewed by Martin Robinson.

Source/WebCore:

Enable the video track runtime feature for the Gtk port as well.

No new tests - existing ones will be unskipped.

* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):

LayoutTests:

Unskip passing video track tests and update expectations
where necessary.

* platform/gtk/Skipped:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r113442.
http://trac.webkit.org/changeset/113442
https://bugs.webkit.org/show_bug.cgi?id=83373

for breaking JSC bindings compilation (Requested by pfeldman
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-06

* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSMutationCallbackCustom.cpp: Added.
(WebCore):
(WebCore::JSMutationCallback::handleEvent):
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForTypeInImpl):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithBoolean):
* bindings/scripts/test/JS/JSTestCallback.h:
(JSTestCallback):
* bindings/scripts/test/TestCallback.idl:
* bindings/scripts/test/V8/V8TestCallback.cpp:
(WebCore::V8TestCallback::callbackWithBoolean):
* bindings/scripts/test/V8/V8TestCallback.h:
(V8TestCallback):
* bindings/v8/custom/V8MutationCallbackCustom.cpp: Added.
(WebCore):
(WebCore::V8MutationCallback::handleEvent):
* dom/MutationCallback.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove bogus assert from ChildListMutationScope
https://bugs.webkit.org/show_bug.cgi?id=83336

Reviewed by Ryosuke Niwa.

Source/WebCore:

This assert can trivially be triggered from script, but luckily the
code already behaves correctly without it.

* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationScope::MutationAccumulator::enqueueMutationRecord):

LayoutTests:

Added a test that would trigger the assert.

* fast/mutation/observe-childList-expected.txt:
* fast/mutation/observe-childList.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GObject bindings] Fix the coding style issues in the generated bindings
https://bugs.webkit.org/show_bug.cgi?id=82080

Reviewed by Kentaro Hara.

No new tests. This is covered by the binding tests.

* bindings/scripts/CodeGeneratorGObject.pm: Fix most style errors in the generated
  GObject code.
* bindings/scripts/test/GObject: Updated the expected results.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove JSC dependency from GregorianDateTime
https://bugs.webkit.org/show_bug.cgi?id=83290

Reviewed by Geoffrey Garen.

This allows us to move it to WTF later.

* runtime/DateConstructor.cpp:
(JSC::callDate):
* runtime/JSDateMath.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderSVGRoot should inherit from RenderReplaced
https://bugs.webkit.org/show_bug.cgi?id=76446

Unreviewed Chromium expectations update.

Second attempt, after the rebaseline tool put expectations in chromium-linux-x86 instead of chormium-linux.

* platform/chromium-linux-x86/svg/custom/mouse-move-on-svg-container-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/mouse-move-on-svg-container-standalone-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/mouse-move-on-svg-root-expected.png: Removed.
* platform/chromium-linux-x86/svg/custom/mouse-move-on-svg-root-standalone-expected.png: Removed.
* platform/chromium-linux/svg/custom/mouse-move-on-svg-container-expected.png:
* platform/chromium-linux/svg/custom/mouse-move-on-svg-container-standalone-expected.png:
* platform/chromium-linux/svg/custom/mouse-move-on-svg-root-expected.png:
* platform/chromium-linux/svg/custom/mouse-move-on-svg-root-standalone-expected.png:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Surface replica should have a separate quad in the render pass
https://bugs.webkit.org/show_bug.cgi?id=83287

Patch by Dana Jansens <danakj@chromium.org> on 2012-04-06
Reviewed by Adrienne Walker.

Generate separate quads for a RenderSurface and its replica. The replica
quad is drawn independently of the surface itself. This allows us to
cull each one independently.

Covered by existing tests.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
(WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::setScissorRect):
(WebCore):
(WebCore::CCRenderSurface::drawContents):
(WebCore::CCRenderSurface::drawReplica):
(WebCore::CCRenderSurface::hasReplica):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(CCRenderSurface):
* platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp:
(WebCore::CCRenderSurfaceDrawQuad::create):
(WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
* platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h:
(CCRenderSurfaceDrawQuad):
(WebCore::CCRenderSurfaceDrawQuad::isReplica):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Streamline strtod and fix some related problems
https://bugs.webkit.org/show_bug.cgi?id=82857

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* parser/Lexer.cpp:
(JSC::Lexer<>::lex): Use parseDouble. Since we have already scanned the number
and we know it has only correct characters, leading spaces, trailing junk, and
trailing spaces are not a possibility. No need to add a trailing null character.

* runtime/JSGlobalObjectFunctions.cpp:
(JSC::parseInt): Changed overflow based 10 case to use parseDouble. No need
to allow trailing junk since the code above already allows only numeric digits
in the string. This code path is used only in unusual cases, so it's not
optimized for 8-bit strings, but easily could be.
(JSC::jsStrDecimalLiteral): Removed the allow trailing junk argument to this
function template because all the callers are OK with trailing junk. Use the
parseDouble function. No need to copy the data into a byte buffer, because
parseDouble handles that.
(JSC::toDouble): Got rid of the DisallowTrailingJunk argument to the
jsStrDecimalLiteral function template. That's OK because this function
already checks for trailing junk and handles it appropriately. The old code
path was doing it twice.
(JSC::parseFloat): Got rid of the AllowTrailingJunk argument to the
jsStrDecimalLiteral function template; the template allows junk unconditionally.

* runtime/LiteralParser.cpp:
(JSC::::Lexer::lexNumber): Use parseDouble. Since we have already scanned the number
and we know it has only correct characters, leading spaces, trailing junk, and
trailing spaces are not a possibility. No need to add a trailing null character.
No need to copy the data into a byte buffer, because parseDouble handles that.
We could optimize the UChar case even more because we know all the characters
are ASCII, but not doing that at this time.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Updated.

Source/WebCore:

Refactoring of code covered by existing tests.

* dom/ViewportArguments.cpp:
(WebCore::numericPrefix): Removed a confusing comment that just said
"we tolerate extra characters" in a roundabout way. Made the "ok"
argument optional. Changed to call the new version of charactersToFloat
that returns the number of characters parsed rather than using the
charactersToFloatIgnoringJunk/didReadNumber solution from before.
(WebCore::findSizeValue): Since numericPrefix is guaranteed to return 0
when it can't parse, removed the "ok" code. Also changed the unusual
syntax "float(1.0)" to just "1", which works just as well.
(WebCore::findScaleValue): Ditto.
(WebCore::findUserScalableValue): Ditto.

* html/parser/HTMLParserIdioms.cpp:
(WebCore::parseToDoubleForNumberType): Removed an unneeded code path
and replaced it with an assertion; toDouble no longer will return infinity
or not-a-number values.

Source/WTF:

Replaced the strtod function template with a parseDouble function, eliminating
the following unneeded features:

- need for a trailing null character and a call to strlen
- needless conversion of string lengths from size_t to int and back that created
  the possibility of incorrect truncation
- one level of function call; use inlining instead
- construction of the StringToDoubleConverter object; it was used to pass
  arguments that are known at compile time
- most of the StringToDoubleConverter::StringToDouble function's body; it was
  code we did not need
- parsing of Infinity and NaN at the strtod level; added recently when we moved
  from the old strtod to the new one, and not needed or helpful at this level
- multiple copies of code to narrow to single byte strings; in many cases
  this was done even when starting with an LChar string that is already
  single-byte, now we handle this with an overload of parseDouble

* wtf/dtoa.cpp:
Removed a long comment about the original strtod function that no longer
applies since we deleted that function long ago. Removed a lot of includes.
Removed the strtod function templates and its instantiations, since they
are now replaced by the parseDouble function.
(WTF::Internal::parseDoubleFromLongString): Added.
* wtf/dtoa.h:
Added an include of ASCIICType.h so we can use isASCII in a function in this
header. Left the heretofore unneeded include of double-conversion.h, since we
now want to use it in a function in this header. Removed the AllowTrailingJunkTag
and AllowTrailingSpacesTag enumerations and the strtod function template. Added
new parseDouble function, and inline implementation of it.

* wtf/dtoa/double-conversion.cc: Removed quite a bit of unused code, hardcoding
all the StringToDouble function arguments that come from data members so it can
be a much smaller static member function. Also changed the types of arguments
from int to size_t.
* wtf/dtoa/double-conversion.h: Removed most of the StringToDoubleConverter
class, leaving only the conversion function as a static member function.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::toDouble): Got rid of didReadNumber.
(WTF::StringImpl::toFloat): Ditto.
* wtf/text/StringImpl.h: Ditto.
* wtf/text/WTFString.cpp:
(WTF::String::toDouble): Got rid of didReadNumber.
(WTF::String::toFloat): Ditto.
(WTF::toDoubleType): Rewrote this function to use parseDouble. Moved the code
to skip leading spaces here, because other callers of parseDouble don't want
to do that. Repurposed the check for an empty string so it's now the same
code shared by all the "parsed nothing" cases. Removed the code to convert
the buffer to ASCII for two reasons: (1) We don't need that code at all when
CharType is LChar, and (2) We now handle this through the two overloads for
the parseDouble function. Disallowing trailing junk is now handled here,
rather than inside parseDouble.
(WTF::charactersToDouble): Updated for changes to toDoubleType. Removed the
didReadNumber argument.
(WTF::charactersToFloat): Ditto. Also added overloads that return the parsed
length. These are a slightly more powerful way to do what didReadNumber was
used for before.

* wtf/text/WTFString.h: Added comments, eliminated didReadNumber, and added
overloads of charactersToFloat that replace charactersToFloatIgnoringJunk.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix cast-align warnings in JSC
https://bugs.webkit.org/show_bug.cgi?id=80790

Reviewed by George Staikos.

Source/JavaScriptCore:

* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::computeJumpType):
(JSC::ARMv7Assembler::link):
* assembler/LinkBuffer.h:
(JSC::LinkBuffer::linkCode):
* heap/MarkStack.cpp:
(JSC::SlotVisitor::copyAndAppend):
* runtime/JSArray.cpp:
(JSC::JSArray::visitChildren):
* wtf/RefCountedArray.h:
(WTF::RefCountedArray::Header::payload):

Source/WebCore:

* platform/graphics/WOFFFileFormat.cpp:
(WebCore::readUInt32):
(WebCore::readUInt16):
* platform/image-encoders/skia/JPEGImageEncoder.cpp:
(WebCore::preMultipliedBGRAtoRGB):
* platform/network/MIMESniffing.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Draw debug borders for tiles on layers with skipsDraw
https://bugs.webkit.org/show_bug.cgi?id=83352

Patch by Dana Jansens <danakj@chromium.org> on 2012-04-06
Reviewed by Adrienne Walker.

The tiles are given the same color as other missing tiles.

* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/10912476> Pixel access canvas APIs do not work transparently with high-DPI backing store
https://bugs.webkit.org/show_bug.cgi?id=83072

Reviewed by Simon Fraser.

Made getImageData, putImageData, and toDataURL downsample/upsample when pixels in the canvas
backing store are not in a 1:1 ratio to CSS pixels. This makes clients of these APIs
indifferent to the backing store resolution, up to sampling artifacts.

In order for this to work, ImageBuffer has to know and respect the resolutionScale
parameter. This change makes the Core Graphics-based implementation of ImageBuffer do this,
but on other platforms, resolutionScale values other than 1 will not work. Such platforms
should not enable the HIGH_DPI_CANVAS feature.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement): Updated a comment.
(WebCore::HTMLCanvasElement::createImageBuffer): Changed to create an ImageBuffer with
the desired resolution instead of 1.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage): Removed code that scaled the source rect,
since this is now handled at the ImageBuffer level.
(WebCore::CanvasRenderingContext2D::createImageData): Now returns ImageData of the requested
size regardless of the backing store resolution.
(WebCore::CanvasRenderingContext2D::getImageData): Ditto.
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::create): Removed some code that tried to apply the resolution scale
to the buffer after creating it, and changed to pass the resolution scale down to the
(platform-specific) constructor, which can apply it correctly.
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer): Added a resolutionScale parameter, which is used to
compute the backing buffer size, and to apply a device scale factor to the context.
(WebCore::ImageBuffer::copyImage): Changed to return an image scaled down to the logical
size of the buffer.
(WebCore::ImageBuffer::getUnmultipliedImageData): Changed to pass the resolution scale to
ImageData::getData().
(WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
(WebCore::ImageBuffer::putByteArray): Changed to pass the resolution scale to
ImageData::putData(). When drawing the byte array as an image, changed to preserve the base
CTM in the destination context (thus mapping from image data pixels to backing store pixels).
(WebCore::ImageBuffer::toDataURL): Fixed a CGColorSpace leak. Made the returned image have
the buffer’s logical size instead of the backing buffer’s size.
(WebCore::ImageDataToDataURL): Fixed a CGColorSpace leak.
* platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::getData): Added a resolutionScale parameter. The source
coordinates are scaled by the value of that parameter, and a reverse scaling transform
is applied when copying from the backing store into the destination (either explicitly
using Accelerate or implicitly by drawing as an image). Since after scaling,
unpremultiplication and component permutation are done in-place, made the
non-Accelerate code that does these things safe in this case.
(WebCore::ImageBufferData::putData): Added a resolutionScale parameter. The destination
coordinates are scaled by the value of that parameter, and a scaling transform is applied
when copying from the source into the backing store (either explicitly using Accelerate or
implicitly by drawing as an image). Since after scaling, premultiplication and component
permutation are done in-place, made the non-Accelerate code that does these things safe in
this case.
* platform/graphics/cg/ImageBufferDataCG.h:
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/wince/ImageBufferWinCE.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/wx/ImageBufferWx.cpp:
(WebCore::ImageBuffer::ImageBuffer):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] svg/text/text-style-recalc-crash.html times out
https://bugs.webkit.org/show_bug.cgi?id=75696

Unreviewed Chromium test_expectations cleanup.

The test referenced by this bug has not failed in the current history of the flakiness board.

* platform/chromium/test_expectations.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Rounding issue on some RenderSVGPath values
https://bugs.webkit.org/show_bug.cgi?id=75367

Unreviewed Chromium expectations update.

These tests have been stable for a long time, and consistent across
all platforms. Whatever was causing previous flakiness is apparently
no longer happening.

* platform/chromium/svg/css/composite-shadow-example-expected.txt:
* platform/chromium/svg/css/composite-shadow-with-opacity-expected.txt:
* platform/chromium/test_expectations.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MediaStream API: MediaStreams stops proper cleanup to take place during a page reload.
https://bugs.webkit.org/show_bug.cgi?id=83143

Reviewed by Adam Barth.

To fix this I have converted MediaStream and LocalMediaStream to be ActiveDOMObjects.

Have no idea how to write a test that succesfully verifies this. I have done manual testing
to verify that proper tear-down now takes place.

* Modules/mediastream/LocalMediaStream.cpp:
(WebCore::LocalMediaStream::create):
(WebCore::LocalMediaStream::stopFunction):
(WebCore):
* Modules/mediastream/LocalMediaStream.h:
(LocalMediaStream):
* Modules/mediastream/LocalMediaStream.idl:
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::create):
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::scriptExecutionContext):
* Modules/mediastream/MediaStream.h:
(MediaStream):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Should disable preserves3D() for things that enforce flattening, like overflow and filters
https://bugs.webkit.org/show_bug.cgi?id=83337

Source/WebCore:

Reviewed by Dean Jackson.

The CSS3 Transforms spec says that some properties should cause flattening
of things with transform-style: preserve-3d. We currently do this as a side
effect of the GraphicsLayer structure, but we should really do it at the
RenderStyle level, as we do for other things like stacking context creation.

Test: compositing/overflow-trumps-transform-style.html

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):

LayoutTests:

Reviewed by Dean Jackson.

Test for computed style and layer structure combining transform-style
with overflow.

* compositing/overflow-trumps-transform-style-expected.txt: Added.
* compositing/overflow-trumps-transform-style.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MediaStream API: Deleting the chromium bridge class MediaStreamCenterInternal
https://bugs.webkit.org/show_bug.cgi?id=83167

Reviewed by Adam Barth.

The situation before this patch is that we had a MediaStreamCenter.h with #ifdefs for the chromium specific
private class MediaStreamCenterInternal. This bridge class only shuffled calls between MediaStreamCenter and
WebMediaStreamCenter and was needed before the introduction of Platform.
To get rid of this now unnecessary class I had two alternatives:
1) Sprinkle platform/MediaStreamCenter.h with more #ifdefs, including around the class declaration.
2) Create an abstract base class that the chromium and gstreamer implementations overrides.
My personal preference is 2) since I strongly dislike #ifdefs. The drawback is that MediaStreamCenter now
has a vtable. However since all methods in this class are extremely low-usage it doesn't affect anything
in practice.

No code behaviour changes.

* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::setEnabled):
* Modules/mediastream/UserMediaRequest.cpp:
* Modules/mediastream/UserMediaRequest.h:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/chromium/support/WebMediaStreamSourcesRequest.cpp:
* platform/mediastream/MediaStreamCenter.cpp:
(WebCore::MediaStreamCenter::MediaStreamCenter):
(WebCore):
(WebCore::MediaStreamCenter::~MediaStreamCenter):
* platform/mediastream/MediaStreamCenter.h:
(WebCore):
(MediaStreamCenter):
* platform/mediastream/MediaStreamSourcesQueryClient.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.h.
(WebCore):
(MediaStreamSourcesQueryClient):
(WebCore::MediaStreamSourcesQueryClient::~MediaStreamSourcesQueryClient):
* platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
(WebCore::MediaStreamCenter::instance):
(WebCore::MediaStreamCenterChromium::MediaStreamCenterChromium):
(WebCore::MediaStreamCenterChromium::~MediaStreamCenterChromium):
(WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
(WebCore::MediaStreamCenterChromium::didSetMediaStreamTrackEnabled):
(WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):
(WebCore::MediaStreamCenterChromium::didConstructMediaStream):
(WebCore::MediaStreamCenterChromium::constructSDP):
(WebCore):
(WebCore::MediaStreamCenterChromium::stopLocalMediaStream):
* platform/mediastream/chromium/MediaStreamCenterChromium.h: Renamed from Source/WebCore/platform/mediastream/chromium/MediaStreamCenterInternal.h.
(WebKit):
(WebCore):
(MediaStreamCenterChromium):
* platform/mediastream/chromium/MediaStreamCenterInternal.cpp: Removed.
* platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
(WebCore):
(WebCore::MediaStreamCenter::instance):
(WebCore::MediaStreamCenterGStreamer::MediaStreamCenterGStreamer):
(WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer):
(WebCore::MediaStreamCenterGStreamer::queryMediaStreamSources):
(WebCore::MediaStreamCenterGStreamer::didSetMediaStreamTrackEnabled):
(WebCore::MediaStreamCenterGStreamer::didStopLocalMediaStream):
(WebCore::MediaStreamCenterGStreamer::didConstructMediaStream):
(WebCore::MediaStreamCenterGStreamer::constructSDP):
* platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.h.
(WebCore):
(MediaStreamCenterGStreamer):


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