WebKit-https.git
8 years agoREGRESSION(r65062): out of bound access in TextIterator (5 editing tests) on GTK
mrobinson@webkit.org [Fri, 6 Apr 2012 18:46:15 +0000 (18:46 +0000)]
REGRESSION(r65062): out of bound access in TextIterator (5 editing tests) on GTK
https://bugs.webkit.org/show_bug.cgi?id=63611

Unskip tests that are now passing and rebaseline ones which
have changed results.

* platform/gtk/Skipped:
* platform/gtk/editing/deleting/smart-delete-003-expected.txt:
* platform/gtk/editing/deleting/smart-delete-004-expected.txt:
* platform/gtk/editing/pasteboard/paste-text-008-expected.txt:

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

8 years ago<rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsampl...
mitz@apple.com [Fri, 6 Apr 2012 18:41:30 +0000 (18:41 +0000)]
<rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.

Tools:

* Scripts/build-webkit: Added high-dpi-canvas option to control ENABLE_HIGH_DPI_CANVAS.

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops: Added ENABLE_HIGH_DPI_CANVAS.

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

8 years agoUpdate LayoutUnit usage in Editor and Frame
leviw@chromium.org [Fri, 6 Apr 2012 18:34:43 +0000 (18:34 +0000)]
Update LayoutUnit usage in Editor and Frame
https://bugs.webkit.org/show_bug.cgi?id=83278

Reviewed by Eric Seidel.

Frame and Editor both take input from the embedder, which passes along coordinates in screen
coordinates, which aren't fractional. Updating a few remaining functions to show this, and correcting
some inconsistencies in LayoutUnit usage.

No new tests. No change in behavior.

* editing/Editor.cpp:
(WebCore::Editor::rangeForPoint): windowToContents returns an IntPoint.
(WebCore::Editor::countMatchesForText): Using enclosingIntRect since we're (fake) repainting the entire
view rect.
* editing/Editor.h:
(Editor): Correcting mismatched function signature.
* page/Frame.cpp:
(WebCore::Frame::visiblePositionForPoint): Frame takes points in screen coordinates, usually from the
embedder. Changing these functions to be in IntPoints.
(WebCore::Frame::documentAtPoint): Ditto.
(WebCore::Frame::rangeForPoint): Ditto.
* page/Frame.h:
(Frame):
* platform/graphics/IntRect.h:
(enclosingIntRect): Adding an inline no-op copy of the FractionalLayoutRect method enclosingIntRect.

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

8 years agoLayout Test svg/text/non-bmp-positioning-lists.svg is failing
schenney@chromium.org [Fri, 6 Apr 2012 18:34:23 +0000 (18:34 +0000)]
Layout Test svg/text/non-bmp-positioning-lists.svg is failing
https://bugs.webkit.org/show_bug.cgi?id=73494

Unreviewed Chromium test expectations.

The font is not right, but that's not what the test is testing.

* platform/chromium-linux/svg/text/non-bmp-positioning-lists-expected.png: Added.
* platform/chromium-linux/svg/text/non-bmp-positioning-lists-expected.txt: Added.
* platform/chromium-mac-snowleopard/svg/text/non-bmp-positioning-lists-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/text/non-bmp-positioning-lists-expected.txt: Added.
* platform/chromium-mac/svg/text/non-bmp-positioning-lists-expected.png: Added.
* platform/chromium-win/svg/text/non-bmp-positioning-lists-expected.png: Added.
* platform/chromium-win/svg/text/non-bmp-positioning-lists-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

8 years agoFix the GTK+ debug build.
mrobinson@webkit.org [Fri, 6 Apr 2012 18:30:42 +0000 (18:30 +0000)]
Fix the GTK+ debug build.

* Source/autotools/symbols.filter: Add a missing symbol to the symbols.list file.

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

8 years agoSVG filters incorrectly move elements
schenney@chromium.org [Fri, 6 Apr 2012 18:25:18 +0000 (18:25 +0000)]
SVG filters incorrectly move elements
https://bugs.webkit.org/show_bug.cgi?id=73643

Unreviewed Chromium test expectations update.

* platform/chromium-linux/svg/as-background-image/svg-as-background-2-expected.png: Removed.
* platform/chromium-linux/svg/filters/filter-placement-issue-expected.png: Removed.
* platform/chromium-linux/svg/filters/filterRes2-expected.png: Removed.
* platform/chromium-mac/svg/filters/filter-placement-issue-expected.png: Added.
* platform/chromium-mac/svg/filters/filterRes2-expected.png: Modified property svn:mime-type.
* platform/chromium-win/svg/as-background-image/svg-as-background-2-expected.png:
* platform/chromium-win/svg/filters/filter-placement-issue-expected.png: Added.
* platform/chromium-win/svg/filters/filterRes2-expected.png:
* platform/chromium/test_expectations.txt:
* platform/efl/svg/as-background-image/svg-as-background-2-expected.txt: Removed.
* svg/as-background-image/svg-as-background-2-expected.txt: Added.

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

8 years agoMediaStream API: Deleting the chromium bridge class MediaStreamCenterInternal
tommyw@google.com [Fri, 6 Apr 2012 18:23:56 +0000 (18:23 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113462 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoShould disable preserves3D() for things that enforce flattening, like overflow and...
simon.fraser@apple.com [Fri, 6 Apr 2012 18:17:50 +0000 (18:17 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113461 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMediaStream API: MediaStreams stops proper cleanup to take place during a page reload.
tommyw@google.com [Fri, 6 Apr 2012 18:07:10 +0000 (18:07 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113460 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Rounding issue on some RenderSVGPath values
schenney@chromium.org [Fri, 6 Apr 2012 18:06:29 +0000 (18:06 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@113459 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] svg/text/text-style-recalc-crash.html times out
schenney@chromium.org [Fri, 6 Apr 2012 17:53:56 +0000 (17:53 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@113458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago<rdar://problem/10912476> Pixel access canvas APIs do not work transparently with...
mitz@apple.com [Fri, 6 Apr 2012 17:48:34 +0000 (17:48 +0000)]
<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: https://svn.webkit.org/repository/webkit/trunk@113457 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Draw debug borders for tiles on layers with skipsDraw
commit-queue@webkit.org [Fri, 6 Apr 2012 17:37:35 +0000 (17:37 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@113456 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix cast-align warnings in JSC
rwlbuis@webkit.org [Fri, 6 Apr 2012 17:35:52 +0000 (17:35 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113455 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoStreamline strtod and fix some related problems
darin@apple.com [Fri, 6 Apr 2012 17:31:54 +0000 (17:31 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113454 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Surface replica should have a separate quad in the render pass
commit-queue@webkit.org [Fri, 6 Apr 2012 17:29:11 +0000 (17:29 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@113453 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRenderSVGRoot should inherit from RenderReplaced
schenney@chromium.org [Fri, 6 Apr 2012 17:22:37 +0000 (17:22 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove JSC dependency from GregorianDateTime
paroga@webkit.org [Fri, 6 Apr 2012 17:10:11 +0000 (17:10 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[GObject bindings] Fix the coding style issues in the generated bindings
mrobinson@webkit.org [Fri, 6 Apr 2012 17:10:07 +0000 (17:10 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@113450 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove bogus assert from ChildListMutationScope
adamk@chromium.org [Fri, 6 Apr 2012 17:03:09 +0000 (17:03 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113449 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r113442.
commit-queue@webkit.org [Fri, 6 Apr 2012 16:39:32 +0000 (16:39 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Gtk] Unskip the video track tests
commit-queue@webkit.org [Fri, 6 Apr 2012 16:13:11 +0000 (16:13 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@113446 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoCall Heap::discardAllCompiledCode() in low memory situations
msaboff@apple.com [Fri, 6 Apr 2012 16:09:22 +0000 (16:09 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: on a single click in Timeline overview, make a minimal selection cente...
caseq@chromium.org [Fri, 6 Apr 2012 16:04:51 +0000 (16:04 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd CodeGenerator support for sequence<> in callbacks.
haraken@chromium.org [Fri, 6 Apr 2012 15:45:48 +0000 (15:45 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r113431.
pfeldman@chromium.org [Fri, 6 Apr 2012 15:33:56 +0000 (15:33 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@113441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: CodeGeneratorInspector.py: completely switch all domains to 'strict...
pfeldman@chromium.org [Fri, 6 Apr 2012 15:30:18 +0000 (15:30 +0000)]
Web Inspector: CodeGeneratorInspector.py: completely switch all domains to 'strict' mode
https://bugs.webkit.org/show_bug.cgi?id=83332

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-04-06
Reviewed by Pavel Feldman.

Hardcoded list of domains is removed from generator. Partial domain sorting is dropped as unneeded.
Types with open propery list are introduced: validator allows undocumented properties for them.

Timeline domain code is patched to do runtimeCast in the last moment because true switching to
type-safe interfaces should take significant time and should be done separately.

* inspector/CodeGeneratorInspector.py:
(Generator.go):
(Generator.process_event):
(Generator.process_command):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willSendResourceRequest):
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):

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

8 years agoRenderSVGRoot should inherit from RenderReplaced
schenney@chromium.org [Fri, 6 Apr 2012 15:29:10 +0000 (15:29 +0000)]
RenderSVGRoot should inherit from RenderReplaced
https://bugs.webkit.org/show_bug.cgi?id=76446

Unreviewed Chromium test expectations update.

* platform/chromium-linux-x86/svg/custom/mouse-move-on-svg-container-expected.png: Added.
* platform/chromium-linux-x86/svg/custom/mouse-move-on-svg-container-standalone-expected.png: Added.
* platform/chromium-linux-x86/svg/custom/mouse-move-on-svg-root-expected.png: Added.
* platform/chromium-linux-x86/svg/custom/mouse-move-on-svg-root-expected.txt: Added.
* platform/chromium-linux-x86/svg/custom/mouse-move-on-svg-root-standalone-expected.png: Added.
* platform/chromium-win-vista/svg/custom/mouse-move-on-svg-root-expected.png: Added.
* platform/chromium-win-vista/svg/custom/mouse-move-on-svg-root-expected.txt: Added.
* platform/chromium-win-xp/svg/custom/mouse-move-on-svg-root-expected.png: Added.
* platform/chromium-win/svg/custom/mouse-move-on-svg-container-expected.png:
* platform/chromium-win/svg/custom/mouse-move-on-svg-container-expected.txt:
* platform/chromium-win/svg/custom/mouse-move-on-svg-container-standalone-expected.png:
* platform/chromium-win/svg/custom/mouse-move-on-svg-container-standalone-expected.txt:
* platform/chromium-win/svg/custom/mouse-move-on-svg-root-expected.png:
* platform/chromium-win/svg/custom/mouse-move-on-svg-root-expected.txt:
* platform/chromium-win/svg/custom/mouse-move-on-svg-root-standalone-expected.png:
* platform/chromium-win/svg/custom/mouse-move-on-svg-root-standalone-expected.txt:
* platform/chromium-win/svg/custom/pointer-events-text-css-transform-expected.txt:
* platform/chromium/test_expectations.txt:

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

8 years agoWeb Inspector: CodeGeneratorInspector.py: stop accepting raw InspectorObject in gener...
pfeldman@chromium.org [Fri, 6 Apr 2012 15:23:25 +0000 (15:23 +0000)]
Web Inspector: CodeGeneratorInspector.py: stop accepting raw InspectorObject in generated setters
https://bugs.webkit.org/show_bug.cgi?id=83327

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-04-06
Reviewed by Pavel Feldman.

Generator fixed to have strict types in generated setter methods.

Client code is switched from InspectorObject's and String's to generated types where
needed.

* inspector/CodeGeneratorInspector.py:
(AdHocTypeContext):
(format_setter_value_expression):
* inspector/ConsoleMessage.cpp:
(WebCore::messageSourceValue):
(WebCore::messageTypeValue):
(WebCore::messageLevelValue):
(WebCore::ConsoleMessage::addToFrontend):
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
* inspector/InspectorApplicationCacheAgent.h:
(InspectorApplicationCacheAgent):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):
* inspector/InspectorCSSAgent.h:
(InspectorCSSAgent):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore):
* inspector/InspectorMemoryAgent.cpp:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForCachedResource):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
* inspector/InspectorStyleSheet.h:
(InspectorCSSId):
(WebCore::InspectorCSSId::asProtocolValue): method is made template as now it returns 2 formally different types.
(InspectorStyleSheet):
(WebCore::InspectorStyleSheet::canBind):
(InspectorStyleSheetForInlineStyle):

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

8 years agoWeb Inspector: highlight diff in the gutter, not in the line content.
pfeldman@chromium.org [Fri, 6 Apr 2012 15:17:50 +0000 (15:17 +0000)]
Web Inspector: highlight diff in the gutter, not in the line content.
https://bugs.webkit.org/show_bug.cgi?id=83371

Reviewed by Yury Semikhatsky.

Now that the editing mode is enabled by default, diff highlighting gets annoying.
I am moving it to the gutter (same decoration as before, but now coloring gutter only).

* inspector/front-end/TextViewer.js:
(WebInspector.TextEditorGutterPanel.prototype.textChanged):
* inspector/front-end/textViewer.css:
(.diff-container .webkit-added-line.webkit-line-number):
(.diff-container .webkit-removed-line.webkit-line-number):
(.diff-container .webkit-changed-line.webkit-line-number):

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

8 years agoDifferentiate between SVG/CSS width/height attributes/properties
schenney@chromium.org [Fri, 6 Apr 2012 15:08:47 +0000 (15:08 +0000)]
Differentiate between SVG/CSS width/height attributes/properties
https://bugs.webkit.org/show_bug.cgi?id=76447

Unreviewed Chromium expectations update.

* platform/chromium-linux-x86/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-linux-x86/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-linux-x86/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-linux-x86/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-win-vista/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-win-vista/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-win-vista/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-win-vista/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-win-xp/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-win-xp/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-win-xp/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-win-xp/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Added.
* platform/chromium-win/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png:
* platform/chromium-win/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt:
* platform/chromium-win/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png:
* platform/chromium-win/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt:
* platform/chromium-win/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png:
* platform/chromium-win/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt:
* platform/chromium-win/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png:
* platform/chromium-win/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt:
* platform/chromium/test_expectations.txt:

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

8 years agoWeb Inspector: remove url from the saved urls map before the save action.
pfeldman@chromium.org [Fri, 6 Apr 2012 15:04:31 +0000 (15:04 +0000)]
Web Inspector: remove url from the saved urls map before the save action.
https://bugs.webkit.org/show_bug.cgi?id=83364

Reviewed by Yury Semikhatsky.

URL gets added back upon successful save anyways, but if user chooses cancel saving,
we stop bugging him with the save-as dialog.

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._exportAll):
(WebInspector.NetworkLogView.prototype._exportResource):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
(WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._contextMenu):
(WebInspector.TextViewer.prototype._commitEditing):
* inspector/front-end/TimelineModel.js:
(WebInspector.TimelineModel.prototype.saveToFile):
* inspector/front-end/inspector.js:

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

8 years agoWeb Inspector: display frame details in popover on frame strip in Timeline panel
caseq@chromium.org [Fri, 6 Apr 2012 14:43:46 +0000 (14:43 +0000)]
Web Inspector: display frame details in popover on frame strip in Timeline panel
https://bugs.webkit.org/show_bug.cgi?id=83365

Reviewed by Pavel Feldman.

- added popovers for frame strips;
- factored out generateAggregatedInfo for reuse in the above;
- made frame event dividers thinner, darker and greyer.

* English.lproj/localizedStrings.js: Added "FPS" and "Frame"
* inspector/front-end/TimelineFrameController.js:
(WebInspector.TimelineFrameController.prototype._flushFrame): added startTimeOffset.
(WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto.
* inspector/front-end/TimelineModel.js:
(WebInspector.TimelineModel.prototype._updateBoundaries):
(WebInspector.TimelineModel.prototype.recordOffsetInSeconds):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._updateFrames): added link to frame to strip div.
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._getPopoverAnchor): handle frame anchors separately.
(WebInspector.TimelinePanel.prototype._mouseMove): ditto.
(WebInspector.TimelinePanel.prototype._showPopover):
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
(WebInspector.TimelinePresentationModel._generateAggregatedInfo): factored out for reuse.
(WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
* inspector/front-end/inspectorCommon.css:
(.resources-dividers-label-bar):
* inspector/front-end/timelinePanel.css:
(.timeline .resources-event-divider.timeline-frame-divider): made divider thin and grey.
(.timeline-frame-strip): bumped z-index, added pointer-events: auto.

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

8 years agoWeb Inspector: show "dirty" flag for CSS files edited in the resources panel.
pfeldman@chromium.org [Fri, 6 Apr 2012 14:27:29 +0000 (14:27 +0000)]
Web Inspector: show "dirty" flag for CSS files edited in the resources panel.
https://bugs.webkit.org/show_bug.cgi?id=83363

Reviewed by Yury Semikhatsky.

Added TextEdited notification into the editable source frame, listening to it
in the resources panel.

* inspector/front-end/ResourceView.js:
(WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
(WebInspector.EditableResourceSourceFrame.prototype.isDirty):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FrameResourceTreeElement.prototype._appendRevision):
(WebInspector.FrameResourceTreeElement.prototype.sourceView):
(WebInspector.FrameResourceTreeElement.prototype._sourceViewTextEdited):

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

8 years agoUpdate LayoutUnit usage in RenderView
leviw@chromium.org [Fri, 6 Apr 2012 14:10:43 +0000 (14:10 +0000)]
Update LayoutUnit usage in RenderView
https://bugs.webkit.org/show_bug.cgi?id=83147

Reviewed by Julien Chaffraix.

Updating the usage of LayoutUnits in RenderView in preparation for sub-pixel layout. This mostly
affects paint and repaint functions, which take LayoutRects up to the RenderView level. This is
necessary as we continue to accumulate sub-pixel offsets up to this level.

No new tests. No change in behavior.

* rendering/RenderView.cpp:
(WebCore::RenderView::paint): Adding an assert that we're being called to paint on pixel
boundaries. We don't currently ever position RenderViews at sub-pixel offsets.
(WebCore::RenderView::shouldRepaint):
(WebCore::RenderView::repaintViewRectangle): Switching to a LayoutRect and cleaning up a fixme
that used decomposed offsets. Pixel snapping is applied before handing the rect up to the
FrameView.
(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): Pixel snapping before handing
the rect up to the Compositor.
(WebCore::RenderView::computeRectForRepaint):
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::viewRect):
(WebCore::RenderView::unscaledDocumentRect):
* rendering/RenderView.h:
(RenderView):

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

8 years ago[BlackBerry] Text selection - Can't select texts
commit-queue@webkit.org [Fri, 6 Apr 2012 12:53:37 +0000 (12:53 +0000)]
[BlackBerry] Text selection - Can't select texts
https://bugs.webkit.org/show_bug.cgi?id=83355

Fix the problem of not sending out the result of the function
SelectionHandler::regionForTextQuads(). This regression issue
is introduced by the git commit f9446b7d671d48a833ab0acf12b1e20637e0a910.

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2012-04-06
Reviewed by George Staikos.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::regionForTextQuads):
    Add code to return the function result.

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

8 years agoWeb Inspector: hide popover on mouseout from anchor
caseq@chromium.org [Fri, 6 Apr 2012 12:49:55 +0000 (12:49 +0000)]
Web Inspector: hide popover on mouseout from anchor
https://bugs.webkit.org/show_bug.cgi?id=83362

Reviewed by Pavel Feldman.

- start hide popover timer when mouse moves out of popover anchor, as we won't receive mousemove events any more;
- factored out starting of popover kill timer to a method.

* inspector/front-end/Popover.js:
(WebInspector.PopoverHelper):
(WebInspector.PopoverHelper.prototype._mouseMove): Factored out StartHidePopoverTimer()
(WebInspector.PopoverHelper.prototype._mouseOut): Just call StartHidePopoverTimer() when mouse moves out of anchor.
(WebInspector.PopoverHelper.prototype._startHidePopoverTimer.doHide):
(WebInspector.PopoverHelper.prototype._startHidePopoverTimer):
(WebInspector.PopoverHelper.prototype._hidePopover): Reset hoverElement (aka anchor) when hiding popover.

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

8 years ago[Qt] Unskipped some tests that now pass.
ossy@webkit.org [Fri, 6 Apr 2012 12:08:37 +0000 (12:08 +0000)]
[Qt] Unskipped some tests that now pass.

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-04-06
Reviewed by Csaba Osztrogonác.

* platform/qt/Skipped:

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

8 years ago[Chromium] Web Inspector: getEventListeners(window) crashes on NTP
caseq@chromium.org [Fri, 6 Apr 2012 12:07:11 +0000 (12:07 +0000)]
[Chromium] Web Inspector: getEventListeners(window) crashes on NTP
https://bugs.webkit.org/show_bug.cgi?id=83353

Reviewed by Pavel Feldman.

Source/WebCore:

* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::V8InjectedScriptHost::getEventListenersCallback):

LayoutTests:

* inspector/console/command-line-api-getEventListeners-expected.txt:
* inspector/console/command-line-api-getEventListeners.html:

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

8 years agoTouch ChromeClient.h to fix Chromium build.
tkent@chromium.org [Fri, 6 Apr 2012 10:37:08 +0000 (10:37 +0000)]
Touch ChromeClient.h to fix Chromium build.
https://bugs.webkit.org/show_bug.cgi?id=83258

* page/ChromeClient.h:

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

8 years ago [Qt][Mac] Skip new failing tests to paing the bot green.
ossy@webkit.org [Fri, 6 Apr 2012 10:26:32 +0000 (10:26 +0000)]
   [Qt][Mac] Skip new failing tests to paing the bot green.

* platform/qt-mac/Skipped:

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

8 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Fri, 6 Apr 2012 10:04:33 +0000 (10:04 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-5.0/svg/as-image/img-preserveAspectRatio-support-1-expected.png: Added.
* platform/qt-5.0/svg/as-image/img-preserveAspectRatio-support-1-expected.txt: Added.
* platform/qt-arm/Skipped: Skip new failing tests.

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

8 years agoInitial LocalizedDateICU.cpp implementation
tkent@chromium.org [Fri, 6 Apr 2012 10:01:09 +0000 (10:01 +0000)]
Initial LocalizedDateICU.cpp implementation
https://bugs.webkit.org/show_bug.cgi?id=60868

Reviewed by Hajime Morita.

Source/WebCore:

Add LocalizedDateICU.cpp, which supports only Date type.  It uses a
short format because a date field is keyboard-editable.
e.g. 5/15/11 in US locale.

* WebCore.gyp/WebCore.gyp: Exclude LocalizedDateNone.cpp.
* WebCore.gypi: Add LocalizedDateICU.cpp.
* platform/text/LocalizedDateICU.cpp: Added.
(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):

LayoutTests:

* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-expected.txt:
* platform/chromium/fast/forms/date/date-input-visible-strings-expected.txt: Added.

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

8 years ago[Qt] Unreviewed gardening, update platform specific expected results.
ossy@webkit.org [Fri, 6 Apr 2012 09:02:48 +0000 (09:02 +0000)]
[Qt] Unreviewed gardening, update platform specific expected results.

* platform/qt/svg/as-image/img-preserveAspectRatio-support-1-expected.txt:
* platform/qt/svg/as-image/img-preserveAspectRatio-support-2-expected.txt:
* platform/qt/svg/as-object/object-box-sizing-no-width-height-expected.txt:
* platform/qt/svg/as-object/svg-embedded-in-html-in-iframe-expected.txt:
* platform/qt/svg/zoom/page/zoom-mask-with-percentages-expected.txt:

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

8 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Fri, 6 Apr 2012 08:29:09 +0000 (08:29 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/Skipped: Unskip tests after r113323.

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

8 years ago[REGRESSION] Refreshed autofill popup renders garbage
apavlov@chromium.org [Fri, 6 Apr 2012 07:58:18 +0000 (07:58 +0000)]
[REGRESSION] Refreshed autofill popup renders garbage
https://bugs.webkit.org/show_bug.cgi?id=83255
http://code.google.com/p/chromium/issues/detail?id=118374

The code used to update only the PopupContainer coordinates as if they were the coordinates relative
to the root view. Instead, a WebWidget positioned relative to the screen origin holds the PopupContainer,
so it is the WebWidget that should be positioned in PopupContainer::refresh(), and the PopupContainer's
location should be (0, 0) (and their sizes should always be equal).

Reviewed by Kent Tamura.

No new tests, as the popup appearance is not testable in WebKit.

* platform/chromium/PopupContainer.cpp:
(WebCore::PopupContainer::layoutAndCalculateWidgetRect): Variable renamed.
(WebCore::PopupContainer::showPopup): Use m_originalFrameRect rather than frameRect()
for passing into chromeClient.
(WebCore::PopupContainer::showInRect): Set up the correct frameRect() for the container.
(WebCore::PopupContainer::refresh): Resize the container and position the WebWidget correctly.
* platform/chromium/PopupContainer.h:
(PopupContainer):

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

8 years ago[Qt] Unreviewed gardening after r113378. ENABLE(MUTATION_OBSERVERS) is disabled so
zherczeg@webkit.org [Fri, 6 Apr 2012 07:54:15 +0000 (07:54 +0000)]
[Qt] Unreviewed gardening after r113378. ENABLE(MUTATION_OBSERVERS) is disabled so
fast/mutation/clear-transient-without-delivery.html and
fast/mutation/transient-gc-crash.html have been skipped.

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-04-06
Reviewed by Zoltan Herczeg.

* platform/qt/Skipped:

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

8 years agoCalendar Picker: Add code to open/close the calendar picker
tkent@chromium.org [Fri, 6 Apr 2012 07:45:48 +0000 (07:45 +0000)]
Calendar Picker: Add code to open/close the calendar picker
https://bugs.webkit.org/show_bug.cgi?id=83258

Reviewed by Hajime Morita.

Source/WebCore:

No new tests. This code is not used because of no ENABLE_INPUT_TYPE_DATE.

* WebCore.gypi: Add existing header files.

* html/DateInputType.cpp:
(WebCore::DateInputType::DateInputType):
Moved from DateInputType.h because the constructor depends on
CalendarPickerElement.
(WebCore::DateInputType::createShadowSubtree):
Store a CalendarPickerElement object.
(WebCore::DateInputType::destroyShadowSubtree):
Release the CalendarPickerElement object.
(WebCore::DateInputType::handleBlurEvent):
Close the calendar picker when the input loses focus.
* html/DateInputType.h:
(DateInputType):
- Move the constructor definition to DateInputType.cpp
- Add function declarations
- Add m_pickerElement data member.

* html/shadow/CalendarPickerElement.cpp:
(WebCore::CalendarPickerElement::hostInput): A helper to get the host <input>.
(WebCore::CalendarPickerElement::defaultEventHandler):
If the element is clicked, open a calendar picker.
(WebCore::CalendarPickerElement::openPopup):
Opens a calendar picker by ChromeClient::openPagePopup().
(WebCore::CalendarPickerElement::closePopup):
Closes a calendar picker by ChromeClient::closePagePopup().
(WebCore::CalendarPickerElement::detach):
Closes a calendar picker when the element loses a renderer.

(WebCore::CalendarPickerElement::contentSize):
Provides the initial size of a popup.
(WebCore::addString): A helper for writeDocument().
(WebCore::addJavaScriptString): ditto.
(WebCore::addProperty): ditto.
(WebCore::CalendarPickerElement::writeDocument):
Provides the source of a popup. The function creates a complete HTML with:
- WebCore/Resources/calendarPicker.css
- WebCore/Resources/calendarPicker.js
- An object to pass localization strings and <input> state
(WebCore::CalendarPickerElement::setValueAndClosePopup):
Sets the value from a calendar picker to the <input>.
(WebCore::CalendarPickerElement::didClosePopup):
Clear the popup object.
* html/shadow/CalendarPickerElement.h:
(CalendarPickerElement): Add declarations.

* platform/text/LocalizedCalendarICU.cpp:
(WebCore::getFirstDayOfWeek): Make sure this is 0-base. UCAL_SUNDAY is 1.

Source/WebKit/chromium:

* features.gypi: Enable ENABLE_PAGE_POPUP for non-Android
platforms. This is needed because ENABLE_CALENDAR_PICKER now depends on
ENABLE_PAGE_POPUP.
* src/ChroemClientImpl.cpp: Add stubs.
(WebKit::ChromeClientImpl::openPagePopup):
(WebKit::ChromeClientImpl::closePagePopup):
* src/ChromeClientImpl.h: Add declarations of openPagePopup() and closePagePopup().

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

8 years ago<rdar://problem/11133179> and https://bugs.webkit.org/show_bug.cgi?id=74129
adele@apple.com [Fri, 6 Apr 2012 05:23:25 +0000 (05:23 +0000)]
<rdar://problem/11133179> and https://bugs.webkit.org/show_bug.cgi?id=74129
REGRESSION (SnowLeopard, 5.1.4): All WK2 horizontal scrollbars look broken

Patch by Dan Bernstein, Reviewed by Beth Dakin.

This code assumed that the current CTM wouldn't have extraneous operations built into it,
but this bug is evidence that that assumption was wrong. We should just get the base CTM instead
and apply the device scale factor to it.

No tests added since the SnowLeopard-style scrollbars aren't testable in our regression tests right now.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
* platform/graphics/GraphicsContext.h: (GraphicsContext):
* platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):

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

8 years agoLeak in WebSocketChannel with workers/worker-reload.html
yutak@chromium.org [Fri, 6 Apr 2012 05:16:05 +0000 (05:16 +0000)]
Leak in WebSocketChannel with workers/worker-reload.html
https://bugs.webkit.org/show_bug.cgi?id=83345

Reviewed by David Levin.

A speculative fix of memory leaks caused by worker-reload.html.

No new tests, as this change imposes no functional change.

* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
Receive the peer as PassOwnPtr<> so the destructor of the task object can
delete the peer even if the task didn't run before main thread's cleanup period.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WorkerThreadableWebSocketChannel):

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

8 years agocombine two arrays (coreExceptionNames and coreExceptionDescriptions) into one array
commit-queue@webkit.org [Fri, 6 Apr 2012 04:57:45 +0000 (04:57 +0000)]
combine two arrays (coreExceptionNames and coreExceptionDescriptions) into one array
https://bugs.webkit.org/show_bug.cgi?id=83141

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-04-05
Reviewed by Adam Barth.

No new tests required.

* dom/DOMCoreException.cpp:
(CoreException):
(WebCore):
(WebCore::DOMCoreException::initializeDescription):

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

8 years agoRebaseline a couple tests for GTK+.
mrobinson@webkit.org [Fri, 6 Apr 2012 04:49:34 +0000 (04:49 +0000)]
Rebaseline a couple tests for GTK+.

* platform/gtk/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-expected.txt:
* platform/gtk/fast/frames/flattening/iframe-flattening-nested-expected.txt:

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

8 years ago[EFL] Gardening; update expctations in fast/css-generated-content.
rakuco@webkit.org [Fri, 6 Apr 2012 04:26:50 +0000 (04:26 +0000)]
[EFL] Gardening; update expctations in fast/css-generated-content.

Mostly adapt to the size changes after the jhbuild and font
commits.

* platform/efl/fast/css-generated-content/003-expected.txt:
* platform/efl/fast/css-generated-content/009-expected.png:
* platform/efl/fast/css-generated-content/009-expected.txt:
* platform/efl/fast/css-generated-content/013-expected.png:
* platform/efl/fast/css-generated-content/013-expected.txt:
* platform/efl/fast/css-generated-content/014-expected.png:
* platform/efl/fast/css-generated-content/014-expected.txt:
* platform/efl/fast/css-generated-content/after-duplicated-after-split-expected.png:
* platform/efl/fast/css-generated-content/after-duplicated-after-split-expected.txt:
* platform/efl/fast/css-generated-content/inline-display-types-expected.png:
* platform/efl/fast/css-generated-content/inline-display-types-expected.txt:

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

8 years ago[EFL] Gardening after r110072.
rakuco@webkit.org [Fri, 6 Apr 2012 04:26:27 +0000 (04:26 +0000)]
[EFL] Gardening after r110072.

* platform/efl/fast/clip/008-expected.png:
* platform/efl/fast/clip/008-expected.txt:
* platform/efl/fast/clip/011-expected.png:
* platform/efl/fast/clip/011-expected.txt:
* platform/efl/fast/clip/012-expected.png:
* platform/efl/fast/clip/012-expected.txt:

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

8 years ago[EFL] Gardening after r112112.
rakuco@webkit.org [Fri, 6 Apr 2012 04:26:08 +0000 (04:26 +0000)]
[EFL] Gardening after r112112.

* platform/efl/css2.1/20110323/c543-txt-decor-000-expected.txt: Added.

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

8 years ago[EFL] Gardening. Update baselines and expectations in fast/backgrounds, fast/block...
rakuco@webkit.org [Fri, 6 Apr 2012 04:08:16 +0000 (04:08 +0000)]
[EFL] Gardening. Update baselines and expectations in fast/backgrounds, fast/block, fast/box-shadow and fast/box-sizing.

* platform/efl/fast/backgrounds/001-expected.png:
* platform/efl/fast/backgrounds/001-expected.txt:
* platform/efl/fast/backgrounds/animated-svg-as-mask-expected.png:
* platform/efl/fast/backgrounds/animated-svg-as-mask-expected.txt:
* platform/efl/fast/backgrounds/background-clip-text-expected.png:
* platform/efl/fast/backgrounds/background-clip-text-expected.txt:
* platform/efl/fast/backgrounds/background-inherit-color-bug-expected.png:
* platform/efl/fast/backgrounds/background-inherit-color-bug-expected.txt:
* platform/efl/fast/backgrounds/background-leakage-expected.png:
* platform/efl/fast/backgrounds/background-leakage-expected.txt:
* platform/efl/fast/backgrounds/background-leakage-transforms-expected.png:
* platform/efl/fast/backgrounds/background-leakage-transforms-expected.txt:
* platform/efl/fast/backgrounds/background-origin-root-element-expected.png:
* platform/efl/fast/backgrounds/background-origin-root-element-expected.txt:
* platform/efl/fast/backgrounds/background-position-parsing-expected.png:
* platform/efl/fast/backgrounds/background-position-parsing-expected.txt:
* platform/efl/fast/backgrounds/body-generated-image-propagated-to-root-expected.png:
* platform/efl/fast/backgrounds/body-generated-image-propagated-to-root-expected.txt:
* platform/efl/fast/backgrounds/opacity-on-document-element-expected.png:
* platform/efl/fast/backgrounds/opacity-on-document-element-expected.txt:
* platform/efl/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.png:
* platform/efl/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.txt:
* platform/efl/fast/backgrounds/repeat/mask-negative-offset-repeat-expected.png:
* platform/efl/fast/backgrounds/repeat/mask-negative-offset-repeat-expected.txt:
* platform/efl/fast/backgrounds/repeat/negative-offset-repeat-expected.png:
* platform/efl/fast/backgrounds/repeat/negative-offset-repeat-expected.txt:
* platform/efl/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
* platform/efl/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.txt:
* platform/efl/fast/backgrounds/size/backgroundSize15-expected.png:
* platform/efl/fast/backgrounds/size/backgroundSize15-expected.txt:
* platform/efl/fast/backgrounds/size/backgroundSize16-expected.png:
* platform/efl/fast/backgrounds/size/backgroundSize16-expected.txt:
* platform/efl/fast/backgrounds/size/backgroundSize17-expected.png:
* platform/efl/fast/backgrounds/size/backgroundSize18-expected.png:
* platform/efl/fast/backgrounds/size/backgroundSize19-expected.png:
* platform/efl/fast/backgrounds/size/backgroundSize20-expected.png:
* platform/efl/fast/backgrounds/size/backgroundSize21-expected.png:
* platform/efl/fast/backgrounds/size/backgroundSize22-expected.png:
* platform/efl/fast/backgrounds/size/zero-expected.png:
* platform/efl/fast/backgrounds/size/zero-expected.txt:
* platform/efl/fast/backgrounds/solid-color-context-restore-expected.png:
* platform/efl/fast/backgrounds/solid-color-context-restore-expected.txt:
* platform/efl/fast/backgrounds/svg-as-mask-expected.png: Added.
* platform/efl/fast/backgrounds/svg-as-mask-expected.txt: Copied from LayoutTests/platform/efl/fast/backgrounds/animated-svg-as-mask-expected.txt.
* platform/efl/fast/block/float/015-expected.png:
* platform/efl/fast/block/float/015-expected.txt:
* platform/efl/fast/box-shadow/basic-shadows-expected.png:
* platform/efl/fast/box-shadow/basic-shadows-expected.txt:
* platform/efl/fast/box-shadow/box-shadow-clipped-slices-expected.png:
* platform/efl/fast/box-shadow/box-shadow-transformed-expected.png:
* platform/efl/fast/box-shadow/inset-box-shadows-expected.png:
* platform/efl/fast/box-shadow/inset-expected.png:
* platform/efl/fast/box-shadow/no-blur-multiple-offsets-expected.png:
* platform/efl/fast/box-shadow/transform-fringing-expected.png:
* platform/efl/fast/box-sizing/box-sizing-expected.png:
* platform/efl/fast/box-sizing/box-sizing-expected.txt:

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

8 years agoRemove intrinsic padding from contentBoxRect(), etc.
commit-queue@webkit.org [Fri, 6 Apr 2012 03:04:45 +0000 (03:04 +0000)]
Remove intrinsic padding from contentBoxRect(), etc.
https://bugs.webkit.org/show_bug.cgi?id=83092

Patch by David Barton <dbarton@mathscribe.com> on 2012-04-05
Reviewed by Julien Chaffraix.

"Intrinsic padding" does not count as CSS padding, but is treated as padding by basic
layout and rendering code, e.g. RenderBlock::layout(). A lot of code relies on the
equation border-box = content-box + padding + border (+ scrollbars). To keep this valid,
change 5 functions in RenderBox.h to not include intrinsic padding in the content box,
thus reverting to their behavior before the patch for bug 33593. Instead, have
sizingBox(renderer) in CSSComputedStyleDeclaration.cpp explicitly put the intrinsic
padding in computed CSS content-box values [for javascript getComputedStyle()], so the
above equation still also holds for CSS computed values. This seems more consistent with
how the padding...() functions behave since the patch for bug 23487, and will work
better for MathML. For instance, a block's contentLogicalWidth() will be the
availableLogicalWidth() for use by child elements.

No new tests. The only real observable changes are illustrated in the bug 83092 attached
test case and discussion. These are minor and hard to automate.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::sizingBox):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removeNode):
* rendering/RenderBox.h:
(WebCore::RenderBox::contentBoxRect):
(WebCore::RenderBox::contentWidth):
(WebCore::RenderBox::contentHeight):
(WebCore::RenderBox::contentLogicalWidth):
(WebCore::RenderBox::contentLogicalHeight):
    - Change these 5 functions to omit intrinsic padding from the content box.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::cellBaselinePosition):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::firstLineBoxBaseline):

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

8 years ago[BlackBerry] Empty Referrer should not be set into ResourceRequest when loading a...
commit-queue@webkit.org [Fri, 6 Apr 2012 02:51:07 +0000 (02:51 +0000)]
[BlackBerry] Empty Referrer should not be set into ResourceRequest when loading a main resource.
https://bugs.webkit.org/show_bug.cgi?id=83252

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-04-05
Reviewed by George Staikos.

Test: http/tests/misc/resources/referrer-main-resource.php

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

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

8 years ago[Chromium] moving a cursor on a misspelled word should not remove a misspelled underline
hbono@chromium.org [Fri, 6 Apr 2012 02:48:37 +0000 (02:48 +0000)]
[Chromium] moving a cursor on a misspelled word should not remove a misspelled underline
https://bugs.webkit.org/show_bug.cgi?id=83214

Reviewed by Ryosuke Niwa.

When Chrome enables asynchronous spellchecking, it adds Spelling markers in the
background. For this case, moving a cursor should not remove these markers
because it requires Chrome to spellcheck text again. This change prevents
removing Spelling markers added by spellcheckers asynchronously.

Source/WebCore:

Test: platform/chromium/editing/spelling/move-cursor-to-misspelled-word.html

* editing/Editor.cpp:
(WebCore::Editor::respondToChangedSelection):

Source/WebKit/chromium:

* src/ContextMenuClientImpl.cpp:
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems): use marker descriptions instead of spellchecking text when Chrome enables asynchronous spellchecking.

LayoutTests:

* platform/chromium/editing/spelling/move-cursor-to-misspelled-word-expected.txt: Added.
* platform/chromium/editing/spelling/move-cursor-to-misspelled-word.html: Added.

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

8 years ago.: Compile the vibration module for BlackBerry.
staikos@webkit.org [Fri, 6 Apr 2012 02:27:31 +0000 (02:27 +0000)]
.: Compile the vibration module for BlackBerry.
https://bugs.webkit.org/show_bug.cgi?id=83340

Reviewed by Rob Buis.

* Source/cmake/OptionsBlackBerry.cmake:

Source/WebKit: Add the vibration client for BlackBerry.
https://bugs.webkit.org/show_bug.cgi?id=83340

Reviewed by Rob Buis.

* PlatformBlackBerry.cmake:

Source/WebKit/blackberry: Add a vibration client for BlackBerry and enable it.
https://bugs.webkit.org/show_bug.cgi?id=83340

Reviewed by Rob Buis.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init): enable the client
* WebCoreSupport/VibrationClientBlackBerry.cpp: Added.
(WebCore):
(WebCore::VibrationClientBlackBerry::VibrationClientBlackBerry):
(WebCore::VibrationClientBlackBerry::vibrate):
(WebCore::VibrationClientBlackBerry::cancelVibration):
(WebCore::VibrationClientBlackBerry::vibrationDestroyed):
* WebCoreSupport/VibrationClientBlackBerry.h: Added.
(WebCore):
(VibrationClientBlackBerry):
(WebCore::VibrationClientBlackBerry::~VibrationClientBlackBerry):

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

8 years agoUnskip a test that should now be passing after r113004
mrobinson@webkit.org [Fri, 6 Apr 2012 01:25:17 +0000 (01:25 +0000)]
Unskip a test that should now be passing after r113004

* platform/gtk/Skipped: Unskip a test that should now be passing.

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

8 years agoUnskip some tests on GTK+ that should now be passing.
mrobinson@webkit.org [Fri, 6 Apr 2012 01:22:48 +0000 (01:22 +0000)]
Unskip some tests on GTK+ that should now be passing.

* platform/gtk/Skipped:

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

8 years agoCSS Exclusions polygon shape arguments should be comma separated
commit-queue@webkit.org [Fri, 6 Apr 2012 01:18:10 +0000 (01:18 +0000)]
CSS Exclusions polygon shape arguments should be comma separated
https://bugs.webkit.org/show_bug.cgi?id=82368

Patch by Hans Muller <hmuller@adobe.com> on 2012-04-05
Reviewed by Ryosuke Niwa.

Source/WebCore:

Changed the CSS Parser to accept a conventional comma separated argument list for the
polygon exclusion shape. The syntax had used spaces to separate x,y coordinates, like:
polygon(10px,20px 30px,40px).  Now commas separate points: polygon(10px 20px, 30px 40px).
This change is per the draft exclusions spec, http://dev.w3.org/csswg/css3-exclusions.
Additional relevant information about CSS argument list syntax can be found
here: http://dev.w3.org/csswg/css3-values/#component-whitespace.

Factored comma recognition idiom in CSSParser.cpp into isComma() utility function.

The existing tests have been updated.

* css/CSSParser.cpp:
(WebCore::isComma)
(WebCore::CSSParser::parseFillPosition)
(WebCore::CSSParser::parseFillRepeat)
(WebCore::CSSParser::parseFillProperty)
(WebCore::CSSParser::parseCubicBezierTimingFunctionValue)
(WebCore::CSSParser::parseAnimationTimingFunction)
(WebCore::CSSParser::parseAnimationProperty)
(WebCore::CSSParser::parseExclusionShapePolygon)
(WebCore::CSSParser::parseDeprecatedGradient)
(WebCore::CSSParser::parseRadialGradient)
(WebCore::CSSParser::parseGradientColorStops)
(WebCore::CSSParser::parseImageSet)
(WebCore::filterInfoForName)
(WebCore::CSSParser::parseCustomFilter)
(WebCore::CSSParser::parseFontFeatureSettings)

* css/CSSWrapShapes.cpp:
(WebCore::CSSWrapShapePolygon::cssText):

LayoutTests:

Updated the tests to match the polygon syntax defined by the draft exclusions
spec - http://dev.w3.org/csswg/css3-exclusions.

* fast/exclusions/parsing-wrap-shape-inside-expected.txt:
* fast/exclusions/parsing-wrap-shape-outside-expected.txt:
* fast/exclusions/script-tests/parsing-wrap-shape-inside.js:
* fast/exclusions/script-tests/parsing-wrap-shape-outside.js:

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

8 years agonrwt is failing to upload test results on the chromium-mac-leopard bots
dpranke@chromium.org [Fri, 6 Apr 2012 01:14:05 +0000 (01:14 +0000)]
nrwt is failing to upload test results on the chromium-mac-leopard bots
https://bugs.webkit.org/show_bug.cgi?id=83230

Reviewed by Ojan Vafai.

This should fix things properly; FileUploader() was setting the
socket default timeout value, and apparently that doesn't work
properly with urllib. Also, the class had a bad try/finally
block that was causing the exceptions to be swallowed :(.

* Scripts/webkitpy/common/net/file_uploader.py:
(FileUploader.__init__):
(FileUploader._upload_data.callback):
(FileUploader):
(FileUploader._upload_data):
* Scripts/webkitpy/common/net/networktransaction.py:
(NetworkTimeout.__str__):
(NetworkTransaction.run):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGeneratorBase.upload_json_files):

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

8 years agoCrash when switching to a tab with plug-ins
andersca@apple.com [Fri, 6 Apr 2012 01:06:57 +0000 (01:06 +0000)]
Crash when switching to a tab with plug-ins
https://bugs.webkit.org/show_bug.cgi?id=83339
<rdar://problem/11183338>

Reviewed by Oliver Hunt.

Add an additional check so we don't try to call into plug-ins that haven't yet been initialized.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::setLayerHostingMode):

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

8 years agohttp/tests/media/media-can-load-when-hidden.html doesn't need to be an HTTP test...
fischman@chromium.org [Fri, 6 Apr 2012 00:56:04 +0000 (00:56 +0000)]
http/tests/media/media-can-load-when-hidden.html doesn't need to be an HTTP test, and is racy
https://bugs.webkit.org/show_bug.cgi?id=83296

Reviewed by Eric Carlson.

* media/media-can-load-when-hidden-expected.txt: Renamed from LayoutTests/http/tests/media/media-can-load-when-hidden-expected.txt.
* media/media-can-load-when-hidden.html: Renamed from LayoutTests/http/tests/media/media-can-load-when-hidden.html.
* platform/chromium/test_expectations.txt:
* platform/efl/Skipped:

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

8 years agoSpeed up the conversion from JSValue to String for bulk operations
benjamin@webkit.org [Fri, 6 Apr 2012 00:12:25 +0000 (00:12 +0000)]
Speed up the conversion from JSValue to String for bulk operations
https://bugs.webkit.org/show_bug.cgi?id=83243

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-05
Reviewed by Geoffrey Garen.

When making operations on primitive types, we loose some time converting
values to JSString in order to extract the string.

This patch speeds up some basic Array operations by avoiding the creation
of intermediary JSString when possible.

For the cases where we need to convert a lot of JSValue in a tight loop,
an inline conversion is used.

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncSort):
* runtime/CommonIdentifiers.h:
* runtime/JSArray.cpp:
(JSC::JSArray::sort):
* runtime/JSString.h:
(JSC::JSValue::toUString):
(JSC):
(JSC::inlineJSValueNotStringtoUString):
(JSC::JSValue::toUStringInline):
* runtime/JSValue.cpp:
(JSC::JSValue::toUStringSlowCase):
(JSC):
* runtime/JSValue.h:
(JSValue):

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

8 years agoIndexedDB: Support string.length in keyPaths
jsbell@chromium.org [Thu, 5 Apr 2012 23:54:06 +0000 (23:54 +0000)]
IndexedDB: Support string.length in keyPaths
https://bugs.webkit.org/show_bug.cgi?id=83221

Source/WebCore:

Special case in the IDB spec - keyPaths can reference the |length| property
of string values. Other instrinsic properties (|length| of Array, etc) are
handled automagically. Relevant section of the updated spec is:
http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-path-construct

Reviewed by Kentaro Hara.

Test: storage/indexeddb/keypath-intrinsic-properties.html

* bindings/v8/IDBBindingUtilities.cpp:
(WebCore):

LayoutTests:

Reviewed by Kentaro Hara.

* storage/indexeddb/keypath-intrinsic-properties-expected.txt: Added.
* storage/indexeddb/keypath-intrinsic-properties.html: Added.
* storage/indexeddb/resources/keypath-intrinsic-properties.js: Added.
(test.request.onsuccess):
(test):
(openSuccess.request.onsuccess):
(openSuccess):
(testKeyPaths.checkStringLengths.request.onsuccess):
(testKeyPaths.checkStringLengths):
(testKeyPaths.checkArrayLengths.request.onsuccess):
(testKeyPaths.checkArrayLengths):
(testKeyPaths):

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

8 years ago[chromium] Unreviewed gardening. Remove some tests that are passing consistently.
tony@chromium.org [Thu, 5 Apr 2012 23:40:48 +0000 (23:40 +0000)]
[chromium] Unreviewed gardening.  Remove some tests that are passing consistently.

* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] Unreviewed gardening.
tony@chromium.org [Thu, 5 Apr 2012 23:20:31 +0000 (23:20 +0000)]
[chromium] Unreviewed gardening.
fast/js/cross-global-object-inline-global-var.html is flakey on win debug and
fast/forms/select-style.html is consistently passing.

* platform/chromium/test_expectations.txt:

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

8 years agoUse QuickSort when sorting primitive values by string representation
benjamin@webkit.org [Thu, 5 Apr 2012 23:08:13 +0000 (23:08 +0000)]
Use QuickSort when sorting primitive values by string representation
https://bugs.webkit.org/show_bug.cgi?id=83312

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-05
Reviewed by Gavin Barraclough.

When the value we are sorting are all primitive values, we do not need to
ensure a stable sort as two values with equal string representation are
indistinguishable from JavaScript.

This gives about 16% performance increase when sorting primitive values.

* runtime/JSArray.cpp:
(JSC::JSArray::sort):

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

8 years ago[BlackBerry] Update the InstrumentedPlatformCanvas after rebasing Skia
commit-queue@webkit.org [Thu, 5 Apr 2012 23:00:16 +0000 (23:00 +0000)]
[BlackBerry] Update the InstrumentedPlatformCanvas after rebasing Skia
https://bugs.webkit.org/show_bug.cgi?id=83314

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-04-05
Reviewed by George Staikos.

RIM PR: 143771
One new virtual method was added to the SkCanvas, to draw a nine piece
image. Override it and mark output as not being a solid color anymore.

* platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
(WebCore::InstrumentedPlatformCanvas::drawBitmapNine):
(InstrumentedPlatformCanvas):

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

8 years agoSIGILL in JavaScriptCore on a Geode processor
oliver@apple.com [Thu, 5 Apr 2012 22:51:01 +0000 (22:51 +0000)]
SIGILL in JavaScriptCore on a Geode processor
https://bugs.webkit.org/show_bug.cgi?id=82496

Reviewed by Gavin Barraclough.

Don't attempt to use the DFG when SSE2 is not available.

* dfg/DFGCapabilities.cpp:
(JSC::DFG::canCompileOpcodes):

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

8 years ago[mac] requestAnimationFrame sometimes stuck when page loads in a background tab
dino@apple.com [Thu, 5 Apr 2012 22:42:30 +0000 (22:42 +0000)]
[mac] requestAnimationFrame sometimes stuck when page loads in a background tab
https://bugs.webkit.org/show_bug.cgi?id=76105

Unreviewed build fix for Windows. windowIsVisible() is PLATFORM(MAC) only.
This means a Page might start requestAnimationFrame-based animations
even when it isn't visible. This should only happen when a Page is
opened in the background though. The regular hide and show should still
pause animations.

* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::resumePainting):

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

8 years agoMake WebCore use jsCast rather than static_cast for casting JSC objects
oliver@apple.com [Thu, 5 Apr 2012 22:33:19 +0000 (22:33 +0000)]
Make WebCore use jsCast rather than static_cast for casting JSC objects
https://bugs.webkit.org/show_bug.cgi?id=83320

Reviewed by Stephanie Lewis.

Mechanically replace static_cast with jsCast where ever we can.

* WebCore.exp.in:
* bindings/js/DOMWrapperWorld.cpp:
(WebCore::JSStringOwner::finalize):
* bindings/js/DOMWrapperWorld.h:
(WebCore::currentWorld):
* bindings/js/JSArrayBufferCustom.cpp:
(WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContextConstructor::constructJSAudioContext):
* bindings/js/JSCSSRuleListCustom.cpp:
(WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):
* bindings/js/JSCSSValueCustom.cpp:
(WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
(WebCore::JSCSSValueOwner::finalize):
* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException):
* bindings/js/JSDOMBinding.h:
(WebCore::deprecatedGlobalObjectForPrototype):
(WebCore::getDOMPrototype):
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::toHTMLFormElement):
(WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
(WebCore::JSDOMMimeTypeArray::nameGetter):
* bindings/js/JSDOMPluginArrayCustom.cpp:
(WebCore::JSDOMPluginArray::nameGetter):
* bindings/js/JSDOMPluginCustom.cpp:
(WebCore::JSDOMPlugin::nameGetter):
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::nameGetter):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::toJSDOMWindow):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::namedItemGetter):
(WebCore::toDOMWindow):
* bindings/js/JSDOMWindowCustom.h:
(WebCore::asJSDOMWindow):
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::window):
* bindings/js/JSDOMWrapper.h:
(WebCore::JSDOMWrapper::globalObject):
* bindings/js/JSDataViewCustom.cpp:
(WebCore::JSDataViewConstructor::constructJSDataView):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSEventTarget.cpp:
(WebCore):
(WebCore::toEventTarget):
* bindings/js/JSFloat32ArrayCustom.cpp:
(WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
* bindings/js/JSFloat64ArrayCustom.cpp:
(WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
* bindings/js/JSGeolocationCustom.cpp:
(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::nameGetter):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::nameGetter):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::remove):
* bindings/js/JSImageConstructor.cpp:
(WebCore::constructImage):
* bindings/js/JSInjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
(WebCore::InjectedScriptManager::discardInjectedScript):
(WebCore::InjectedScriptManager::injectedScriptFor):
* bindings/js/JSInt16ArrayCustom.cpp:
(WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
* bindings/js/JSInt32ArrayCustom.cpp:
(WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
* bindings/js/JSInt8ArrayCustom.cpp:
(WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::nameGetter):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
(WebCore::JSNodeOwner::finalize):
* bindings/js/JSNodeCustom.h:
(WebCore::toJS):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::toNodeFilter):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
(WebCore::JSNodeList::nameGetter):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::runtimeObjectPropertyGetter):
(WebCore::callPlugin):
* bindings/js/JSPopStateEventCustom.cpp:
(WebCore::JSPopStateEvent::state):
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter):
* bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::nameGetter):
* bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
* bindings/js/JSTextTrackCustom.cpp:
(WebCore::JSTextTrackOwner::isReachableFromOpaqueRoots):
* bindings/js/JSTextTrackListCustom.cpp:
(WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
* bindings/js/JSTrackCustom.cpp:
(WebCore::toTrack):
* bindings/js/JSUint16ArrayCustom.cpp:
(WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
* bindings/js/JSUint32ArrayCustom.cpp:
(WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
* bindings/js/JSUint8ArrayCustom.cpp:
(WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
* bindings/js/JSUint8ClampedArrayCustom.cpp:
(WebCore::JSUint8ClampedArrayConstructor::constructJSUint8ClampedArray):
* bindings/js/JSWebKitMutationObserverCustom.cpp:
(WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
* bindings/js/JSWebKitPointCustom.cpp:
(WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocketConstructor::constructJSWebSocket):
* bindings/js/JSWorkerContextBase.cpp:
(WebCore::toJSDedicatedWorkerContext):
(WebCore::toJSSharedWorkerContext):
* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorkerConstructor::constructJSWorker):
* bindings/js/JSXSLTProcessorCustom.cpp:
(WebCore::JSXSLTProcessor::importStylesheet):
(WebCore::JSXSLTProcessor::transformToFragment):
(WebCore::JSXSLTProcessor::transformToDocument):
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStackForInspector):
* bindings/js/ScriptControllerMac.mm:
(WebCore::updateStyleIfNeededForBindings):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidPause):
* bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/js/ScriptState.cpp:
(WebCore::domWindowFromScriptState):
(WebCore::scriptExecutionContextFromScriptState):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::fillTransferMap):
(WebCore::CloneSerializer::dumpArrayBufferView):
(WebCore::CloneDeserializer::getJSValue):
(WebCore::CloneDeserializer::readTerminal):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _isSafeScript]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateImplementation):
(GenerateCallWith):
(NativeToJSValue):
(GenerateConstructorDefinition):
* bridge/jni/jni_jsobject.h:
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::convertJObjectToValue):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::invokeMethod):
* bridge/objc/objc_utility.mm:
(JSC::Bindings::convertValueToObjcValue):
* bridge/runtime_method.cpp:
(JSC::callRuntimeMethod):
* bridge/runtime_object.cpp:
(JSC::Bindings::callRuntimeConstructor):
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):

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

8 years ago[GTK] Scrolling some iframes that are partially out of the viewport leads to repaint...
commit-queue@webkit.org [Thu, 5 Apr 2012 22:18:35 +0000 (22:18 +0000)]
[GTK] Scrolling some iframes that are partially out of the viewport leads to repaint errors
https://bugs.webkit.org/show_bug.cgi?id=83309

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-04-05
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Test: platform/gtk/fast/frames/scrolling-iframe-out-of-viewport.html

The X11 backing store was not properly trimming the scroll region when it
was only a portion of the screen. This was hidden by subsequent repaints.

* platform/gtk/GtkWidgetBackingStoreX11.cpp:
(WebCore::WidgetBackingStore::scroll): Fix the calculation of the scrolling region.

Source/WebKit/gtk:

Instead of only updating scrollRect - preservedRegion, update
scrollRect - (preservedRegion - offscreenPreservedRegion). This ensures that
when part of the scroll rect is moved onscreen from offscreen that part is
queued for a redraw.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::scroll): Properly calculate the area to repaint.

LayoutTests:

Added a pixel test for this issue.

* platform/gtk/fast/frames/resources/scrolling-iframe-out-of-viewport-interior.html: Added.
* platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.png: Added.
* platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.txt: Added.
* platform/gtk/fast/frames/scrolling-iframe-out-of-viewport.html: Added.

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

8 years agoUnreviewed, rolling out r113299.
commit-queue@webkit.org [Thu, 5 Apr 2012 22:07:18 +0000 (22:07 +0000)]
Unreviewed, rolling out r113299.
http://trac.webkit.org/changeset/113299
https://bugs.webkit.org/show_bug.cgi?id=83297

The patch broke 11 tests on Lion. (Requested by jonlee on
#webkit).

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

Source/WebCore:

* xml/parser/XMLDocumentParser.h:
(XMLDocumentParser):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::getEntityHandler):
(WebCore::XMLDocumentParser::initializeParserContext):

LayoutTests:

* platform/mac-lion/Skipped:
* platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
* platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.png:
* platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt:
* platform/mac/svg/custom/viewbox-syntax-expected.png:
* platform/mac/svg/custom/viewbox-syntax-expected.txt:
* platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png:
* platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt:
* platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png:
* platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt:

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

8 years ago[Chromium] Correct misleading trace event names in Canvas2DLayerChromium
commit-queue@webkit.org [Thu, 5 Apr 2012 22:01:58 +0000 (22:01 +0000)]
[Chromium] Correct misleading trace event names in Canvas2DLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=83310

Patch by Justin Novosad <junov@chromium.org> on 2012-04-05
Reviewed by Adrienne Walker.

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):

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

8 years ago[chromium] Unreviewed, fast/js/keywords-and-reserved_words.html is
tony@chromium.org [Thu, 5 Apr 2012 21:32:37 +0000 (21:32 +0000)]
[chromium] Unreviewed, fast/js/keywords-and-reserved_words.html is
passing again after r113352.

* platform/chromium/test_expectations.txt:

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

8 years ago[mac] requestAnimationFrame sometimes stuck when page loads in a background tab https...
dino@apple.com [Thu, 5 Apr 2012 21:29:38 +0000 (21:29 +0000)]
[mac] requestAnimationFrame sometimes stuck when page loads in a background tab https://bugs.webkit.org/show_bug.cgi?id=76105

Reviewed by Simon Fraser.

Source/WebCore:

Fix three issues with requestAnimationFrame:
- It's possible for the call to rAF to come to the document before there
  is a page associated. Added a guard for this.
- A page may try to suspend the scripted animations before the
  ScriptedAnimationController exists, in which case we need to
  suspend it immediately after it is created. Do this by keeping
  track of the state in Page. Otherwise rAF would be busy looping
  on hidden pages until they are brought to the front and hidden again.
- A page created in the background (from WebKit1) does not get
  informed it is not visible. This can mean that resume() is called
  more times than suspend() and we get into a state where the number
  of suspensions becomes -1, and thus fails truthiness tests. Clamp it
  to values >= 0.

No new tests, since this is not automatically testable. The most reliable test
is to open a page with rAF in a background tab within Safari.

* dom/Document.cpp:
(WebCore::Document::webkitRequestAnimationFrame):
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::resume):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::suspendScriptedAnimations):
(WebCore::Page::resumeScriptedAnimations):
* page/Page.h:
(WebCore::Page::scriptedAnimationsSuspended):
(Page):

Source/WebKit2:

When we are resuming painting only start the scripted animations
if we're a visible window. This can happen when tabs are opened
in the background.

* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::resumePainting):

LayoutTests:

Add fast/animation/request-animation-frame-during-modal.html
to the skipped list. This patch will ensure that non-visible windows
do not get a requestAnimationFrame callback, so the test will timeout.
See https://bugs.webkit.org/show_bug.cgi?id=83239 to re-enable.

* platform/mac/Skipped:

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

8 years ago[chromium] Unreviewed, moving linux result from 32-bit directory to 64 and 32 bit...
tony@chromium.org [Thu, 5 Apr 2012 21:18:22 +0000 (21:18 +0000)]
[chromium] Unreviewed, moving linux result from 32-bit directory to 64 and 32 bit directory.

* platform/chromium-linux/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/svg/clip-path/clip-path-tspan-and-stroke-expected.png.

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

8 years ago<rdar://problem/9359029> and https://bugs.webkit.org/show_bug.cgi?id=83311 Crashes...
beidson@apple.com [Thu, 5 Apr 2012 21:15:01 +0000 (21:15 +0000)]
<rdar://problem/9359029> and https://bugs.webkit.org/show_bug.cgi?id=83311 Crashes in WebProcess at WebCore::HistoryController::recursiveSetProvisionalItem when restoring previous session

Reviewed by Sam Weinig.

It's possible to hit a race condition between the UIProcess and the WebProcess where the UIProcess records for a
page have been cleared out but the WebProcess is still trying to perform a history navigation within that page.

In this situation HistoryController code that expects there to always be a current history item in the back/forward
controller is wrong.

No new tests. (The race conditions involved have proven making a test impractical)

* loader/HistoryController.cpp:
(WebCore::HistoryController::recursiveSetProvisionalItem): Don't ASSERT the fromItem. We now know there might not be one.
(WebCore::HistoryController::recursiveGoToItem): Ditto
(WebCore::HistoryController::itemsAreClones): Always return false if either item is null, as a null item and a non-null
  item cannot possible be clones of each other.

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

8 years agoCrash in MutationObservers due to an invalid HashSet iterator
adamk@chromium.org [Thu, 5 Apr 2012 21:11:28 +0000 (21:11 +0000)]
Crash in MutationObservers due to an invalid HashSet iterator
https://bugs.webkit.org/show_bug.cgi?id=83304

Reviewed by Ojan Vafai.

Source/WebCore:

If the observed node has been GCed when we clear transient observers
from it, the HashSet iterator in WebKitMutationObserver::deliver would
be invalidated. This patch fixes that behavior by copying the relevant
registrations into a seperate vector first and operating on the copy.

This patch also fixes a bug: transient observers should be cleared
after every microtask, not just when delivering.

Tests: fast/mutation/clear-transient-without-delivery.html
       fast/mutation/transient-gc-crash.html

* dom/MutationObserverRegistration.cpp:
(WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
Notify the observer that it has a transient registration so it can be properly cleared.
* dom/MutationObserverRegistration.h:
(WebCore::MutationObserverRegistration::hasTransientRegistrations):
Add an accessor for use when deliver() creates its vector of registrations.
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::setHasTransientRegistration): Add this to the active observer set
to allow transient registrations to be cleared appropriately.
(WebCore::WebKitMutationObserver::deliver): Avoid modifying m_registrations while iterating over it.
Clear registrations before checking for a lack of records to deliver.
* dom/WebKitMutationObserver.h:

LayoutTests:

* fast/mutation/clear-transient-without-delivery-expected.txt: Added.
* fast/mutation/clear-transient-without-delivery.html: Added.
* fast/mutation/transient-gc-crash-expected.txt: Added.
* fast/mutation/transient-gc-crash.html: Added.

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

8 years ago[chromium] Unreviewed, update expectation for
tony@chromium.org [Thu, 5 Apr 2012 21:04:19 +0000 (21:04 +0000)]
[chromium] Unreviewed, update expectation for
media/nodesFromRect-shadowContent.html since it moved in r113371.

* platform/chromium/test_expectations.txt:

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

8 years agoAdded takeRecords to WebKitMutationObserver properties list, to fix mac.
rafaelw@chromium.org [Thu, 5 Apr 2012 20:53:42 +0000 (20:53 +0000)]
Added takeRecords to WebKitMutationObserver properties list, to fix mac.

* platform/mac/fast/dom/Window/window-properties-expected.txt:

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

8 years agoUnreviewed, fix lint errors in GTK+ test_expectations.txt file.
tony@chromium.org [Thu, 5 Apr 2012 20:52:02 +0000 (20:52 +0000)]
Unreviewed, fix lint errors in GTK+ test_expectations.txt file.

* platform/gtk/test_expectations.txt:
http/tests/security/cross-origin-xsl-redirect-BLOCKED.html had 2 entries
and css3/flexbox/inline-flexbox.html doesn't exist anymore.

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

8 years agoRebaseline binding tests after r113272.
adamk@chromium.org [Thu, 5 Apr 2012 20:45:16 +0000 (20:45 +0000)]
Rebaseline binding tests after r113272.

* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::constructorCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

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

8 years ago[chromium] Drawing an accelerated canvas onto itself is slow.
senorblanco@chromium.org [Thu, 5 Apr 2012 20:44:11 +0000 (20:44 +0000)]
[chromium] Drawing an accelerated canvas onto itself is slow.
https://bugs.webkit.org/show_bug.cgi?id=83295

Fixed by using a GPU-side deepCopy() in skia, so we don't trigger a
readback and re-upload.

Reviewed by James Robinson.

Correctness is covered by existing tests. Performance is covered
by the test case attached to the bug.

* platform/graphics/skia/ImageSkia.cpp:
(WebCore::BitmapImageSingleFrameSkia::create):

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

8 years ago[chromium] Record the number of tiles paint-culled instead of the incorrect number...
commit-queue@webkit.org [Thu, 5 Apr 2012 20:35:09 +0000 (20:35 +0000)]
[chromium] Record the number of tiles paint-culled instead of the incorrect number of pixels
https://bugs.webkit.org/show_bug.cgi?id=82423

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

Source/WebCore:

We currently attempt to record the number of pixels we save from uploading,
however the number is wrong in two ways.
1) An early-out if everything is culled results in nothing being reported.
2) With threaded-compositor, the number of pixels uploaded in one tile can be
changed by culling in another tile, making the number far too difficult to
compute to be worthwhile. If a tile was going to be partial-updated, but is
culled, now a new tile gets to be partial-updated instead, which affects the
numbers.

This patch breaks up CCOverdrawMetrics to make the methods/variables less
overloaded and more clear. This way they don't have to mirror each other
so closely on paint/draw sides.

Then we record the number of tiles for which we prevented upload via paint
culling. This will still over-report (a dirty culled tile stays dirty and
will be culled again each commit), but it seems more reasonable as it
clearly does not try to mimic a performance metric in the way that a pixel
count does, but still gives a rough estimation of the amount of paint
culling going on in a page.

Covered by existing tests, modified where needed.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::prepareToUpdateTiles):
* platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
(WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
(WebCore::CCOverdrawMetrics::didCullTileForUpload):
(WebCore):
(WebCore::CCOverdrawMetrics::didUpload):
(WebCore::CCOverdrawMetrics::didCullForDrawing):
(WebCore::CCOverdrawMetrics::recordMetrics):
(WebCore::CCOverdrawMetrics::recordMetricsInternal):
* platform/graphics/chromium/cc/CCOverdrawMetrics.h:
(CCOverdrawMetrics):
(WebCore::CCOverdrawMetrics::pixelsCulledForDrawing):
(WebCore::CCOverdrawMetrics::pixelsUploadedOpaque):
(WebCore::CCOverdrawMetrics::pixelsUploadedTranslucent):
(WebCore::CCOverdrawMetrics::tilesCulledForUpload):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::append):

Source/WebKit/chromium:

* tests/CCQuadCullerTest.cpp:
(WebCore::TEST):
* tests/TiledLayerChromiumTest.cpp:
(WTF::TEST):

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

8 years ago2012-04-05 Antonio Gomes <agomes@rim.com>
tonikitoo@webkit.org [Thu, 5 Apr 2012 20:34:07 +0000 (20:34 +0000)]
2012-04-05  Antonio Gomes  <agomes@rim.com>

        Move nodesFromRect-shadowContent test from fast/dom to media, where the
        helper .js files are able to work properly.
        https://bugs.webkit.org/show_bug.cgi?id=80847 (PART III)

        Reviewed by Eric Carlson.

        * media/nodesFromRect-shadowContent-expected.txt: Renamed from LayoutTests/fast/dom/nodesFromRect-shadowContent-expected.txt.
        * media/nodesFromRect-shadowContent.html: Renamed from LayoutTests/fast/dom/nodesFromRect-shadowContent.html.

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

8 years ago[chromium] Unreviewed, update baselines for tests with 'let' after r113352.
tony@chromium.org [Thu, 5 Apr 2012 20:32:05 +0000 (20:32 +0000)]
[chromium] Unreviewed, update baselines for tests with 'let' after r113352.

* platform/chromium/fast/js/reserved-words-as-property-expected.txt:
* platform/chromium/fast/js/reserved-words-strict-expected.txt:

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

8 years agoProvide a separate editing command to cleanup of redundant markup.
enrica@apple.com [Thu, 5 Apr 2012 20:31:52 +0000 (20:31 +0000)]
Provide a separate editing command to cleanup of redundant markup.
https://bugs.webkit.org/show_bug.cgi?id=83240

Reviewed by Ryosuke Niwa.

This patch moves the logic originally performed by the private
method removeRedundantMarkup inside ReplaceSelectionCommand into
a separate command. This way the markup cleanup can be exposed as
a separate command, independent from ReplaceSelectionCommand.

No new tests. No change in functionality.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Added new file to project files.
* editing/EditorAllInOne.cpp: Added SimplifyMarkupCommand.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): Now uses SimplifyMarkupCommand.
* editing/ReplaceSelectionCommand.h:
(ReplaceSelectionCommand): Removed removeRedundantMarkup.
* editing/SimplifyMarkupCommand.cpp: Added.
(WebCore::SimplifyMarkupCommand::SimplifyMarkupCommand):
(WebCore::SimplifyMarkupCommand::doApply):
* editing/SimplifyMarkupCommand.h: Added.
(WebCore::SimplifyMarkupCommand::create):

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

8 years agoRebaseline text results
schenney@chromium.org [Thu, 5 Apr 2012 20:28:12 +0000 (20:28 +0000)]
Rebaseline text results
https://bugs.webkit.org/show_bug.cgi?id=74928

Unreviewed text expectations update.

Patch by Philip Rogers <pdr@google.com> on 2012-04-05

* platform/chromium-mac-leopard/svg/text/textPathBoundsBug-expected.png: Removed.
* platform/chromium-mac-leopard/svg/text/textPathBoundsBug-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/text/textPathBoundsBug-expected.txt: Removed.
* platform/chromium-win-xp/svg/zoom/page: Removed.
* platform/chromium-win/fast/repaint/reflection-redraw-expected.png:
* platform/chromium-win/printing/width-overflow-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-60-t-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-62-t-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/text-align-04-b-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/text-align-06-b-expected.png:
* platform/chromium-win/svg/as-background-image/svg-as-background-4-expected.png:
* platform/chromium-win/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-win/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-win/svg/carto.net/textbox-expected.png:
* platform/chromium-win/svg/css/text-shadow-multiple-expected.png:
* platform/chromium-win/svg/custom/js-late-clipPath-creation-expected.png:
* platform/chromium-win/svg/text/scaling-font-with-geometric-precision-expected.png:
* platform/chromium-win/svg/text/text-align-05-b-expected.png:
* platform/chromium-win/svg/text/textPathBoundsBug-expected.png:
* platform/chromium/test_expectations.txt:
* platform/efl/svg/as-background-image/svg-as-background-4-expected.txt: Removed.
* svg/as-background-image/svg-as-background-4-expected.txt: Added.

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

8 years ago[Chromium] Layout test failure svg/clip-path/clip-path-tspan-and-stroke.xhtml
schenney@chromium.org [Thu, 5 Apr 2012 20:24:57 +0000 (20:24 +0000)]
[Chromium] Layout test failure svg/clip-path/clip-path-tspan-and-stroke.xhtml
https://bugs.webkit.org/show_bug.cgi?id=83308

Unreviewed Chromium test expectations update.

Also removing some expectations that are no longer needed.

* platform/chromium-linux-x86/svg/clip-path: Added.
* platform/chromium-linux-x86/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Added.
* platform/chromium-win/svg/clip-path/clip-path-tspan-and-stroke-expected.png: Added.
* platform/chromium-win/svg/clip-path/clip-path-tspan-and-stroke-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

8 years agoFix 32-bit build.
oliver@apple.com [Thu, 5 Apr 2012 20:21:15 +0000 (20:21 +0000)]
Fix 32-bit build.

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

8 years ago[chromium] Need to clip to homogeneous w=0 plane when applying transforms.
shawnsingh@chromium.org [Thu, 5 Apr 2012 20:14:18 +0000 (20:14 +0000)]
[chromium] Need to clip to homogeneous w=0 plane when applying transforms.
https://bugs.webkit.org/show_bug.cgi?id=80806

Reviewed by Adrienne Walker.

Source/WebCore:

Unit tests added to CCLayerTreeHostCommon. This change is also
covered by other existing unit tests and layout tests.

WebCore TransformationMatrix mapRect / mapQuad / projectQuad do
not properly handle the case where a surface is oriented partially
behind the camera, with a perspective projection. In this case,
projected points may appear to be valid in cartesian coordinates,
but they are indeed not valid, and this problem can only be
detected in homogeneous coordinates after applying the transform,
before the divide-by-w step.

The correct solution is to clip geometry where w < 0. This patch
makes this change local to chromium only, to fix rendering bugs
that arise from this problem. The primary fix is to correct
calculateVisibleLayerRect(), but other ancillary locations are
also fixed, in particular, the antialiasing code path is simply
skipped when this case arises.

Eventually this math needs to be merged into TransformationMatrix,
to fix hit-testing bugs that occur in both Chromium and Safari.

* WebCore.gypi:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::findTileProgramUniforms):
(WebCore::LayerRendererChromium::drawTileQuad):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
(WebCore::isScaleOrTranslation):
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCMathUtil.cpp: Added.
(WebCore):
(WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
(HomogeneousCoordinate):
(WebCore::HomogeneousCoordinate::shouldBeClipped):
(WebCore::HomogeneousCoordinate::cartesianPoint2d):
(WebCore::projectPoint):
(WebCore::mapPoint):
(WebCore::computeClippedPointForEdge):
(WebCore::expandBoundsToIncludePoint):
(WebCore::computeEnclosingRectOfClippedQuad):
(WebCore::computeEnclosingRect):
(WebCore::CCMathUtil::mapClippedRect):
(WebCore::CCMathUtil::projectClippedRect):
(WebCore::CCMathUtil::mapQuad):
(WebCore::CCMathUtil::projectQuad):
* platform/graphics/chromium/cc/CCMathUtil.h: Added.
(WebCore):
(CCMathUtil):
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::computeUnoccludedContentRect):

Source/WebKit/chromium:

* tests/CCLayerTreeHostCommonTest.cpp:
(WebKitTests::TEST):
(WebKitTests):

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

8 years agoReplace static_cast with jsCast when casting JSCell subclasses in JSC
oliver@apple.com [Thu, 5 Apr 2012 20:09:33 +0000 (20:09 +0000)]
Replace static_cast with jsCast when casting JSCell subclasses in JSC
https://bugs.webkit.org/show_bug.cgi?id=83307

Reviewed by Gavin Barraclough.

Replace all usage of static_cast<JSCell subtype*> with jsCast<> in JavaScriptCore.
This results in assertions when unsafe casts are performed, but simply leaves
a static_cast<> in release builds.

* API/APICast.h:
(toJS):
* API/JSCallbackConstructor.cpp:
(JSC::constructJSCallback):
* API/JSCallbackFunction.cpp:
(JSC::JSCallbackFunction::call):
* API/JSCallbackObjectFunctions.h:
(JSC::::asCallbackObject):
(JSC::::finishCreation):
(JSC::::construct):
(JSC::::call):
* API/JSObjectRef.cpp:
(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
* API/JSValueRef.cpp:
(JSValueIsObjectOfClass):
* API/JSWeakObjectMapRefPrivate.cpp:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::resolveConstDecl):
* debugger/DebuggerActivation.cpp:
(JSC::DebuggerActivation::finishCreation):
* dfg/DFGOperations.cpp:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::privateExecute):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/Executable.h:
(JSC::isHostFunction):
* runtime/JSActivation.h:
(JSC::asActivation):
* runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty):
* runtime/JSArray.h:
(JSC::asArray):
* runtime/JSBoundFunction.cpp:
(JSC::boundFunctionCall):
(JSC::boundFunctionConstruct):
* runtime/JSByteArray.h:
(JSC::asByteArray):
* runtime/JSCell.cpp:
(JSC::JSCell::toObject):
* runtime/JSCell.h:
(JSC::jsCast):
* runtime/JSGlobalObject.h:
(JSC::asGlobalObject):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
* runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::JSObject::allowsAccessFrom):
(JSC::JSObject::toThisObject):
(JSC::JSObject::unwrappedObject):
* runtime/JSObject.h:
(JSC::asObject):
* runtime/JSPropertyNameIterator.h:
(JSC::Register::propertyNameIterator):
* runtime/JSString.h:
(JSC::asString):
(JSC::JSValue::toString):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncSubstr):

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

8 years ago[Chromium] Layout Test svg/as-object/nested-embedded-svg-size-changes.html times out
schenney@chromium.org [Thu, 5 Apr 2012 20:03:24 +0000 (20:03 +0000)]
[Chromium] Layout Test svg/as-object/nested-embedded-svg-size-changes.html times out
https://bugs.webkit.org/show_bug.cgi?id=77183

Unreviewed Chromium test expectations update.

Somehow this test slipped thorugh the crack of rebaselining.

* platform/chromium-linux-x86/svg/as-object/nested-embedded-svg-size-changes-expected.png: Removed.
* platform/chromium-linux/svg/as-object/nested-embedded-svg-size-changes-expected.png:
* platform/chromium-mac-leopard/svg/as-object/nested-embedded-svg-size-changes-expected.png:
* platform/chromium-mac-snowleopard/svg/as-object/nested-embedded-svg-size-changes-expected.png: Added.
* platform/chromium-mac/svg/as-object/nested-embedded-svg-size-changes-expected.png: Modified property svn:mime-type.
* platform/chromium-win-vista/svg/as-object/nested-embedded-svg-size-changes-expected.png: Removed.
* platform/chromium-win-xp/svg/as-object/nested-embedded-svg-size-changes-expected.png: Removed.
* platform/chromium-win/svg/as-object/nested-embedded-svg-size-changes-expected.png:
* platform/chromium/test_expectations.txt:

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

8 years ago[Qt] Correct <wtf/*.h> include paths.
paroga@webkit.org [Thu, 5 Apr 2012 20:01:38 +0000 (20:01 +0000)]
[Qt] Correct <wtf/*.h> include paths.
https://bugs.webkit.org/show_bug.cgi?id=83270

Reviewed by Eric Seidel.

Modify the #include declerations so that the
wtf types are included using the full path.

Source/WebCore:

* platform/graphics/TiledBackingStoreBackend.h:

Source/WebKit/qt:

* Api/qwebpage.cpp:
* WebCoreSupport/ContextMenuClientQt.h:
* WebCoreSupport/EditorClientQt.h:
* WebCoreSupport/FrameLoaderClientQt.h:
* WebCoreSupport/InspectorServerQt.cpp:

Source/WebKit2:

* Shared/qt/QtNetworkReplyData.cpp:
* UIProcess/WebLayerTreeRenderer.cpp:
* UIProcess/qt/LayerBackingStore.h:
* UIProcess/qt/QtViewportInteractionEngine.cpp:
* UIProcess/qt/QtViewportInteractionEngine.h:
* UIProcess/qt/QtWebPageSGNode.h:
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:

Tools:

* WebKitTestRunner/qt/TestInvocationQt.cpp:

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

8 years agoSwitch svg/custom tests to repaint harness
schenney@chromium.org [Thu, 5 Apr 2012 19:49:47 +0000 (19:49 +0000)]
Switch svg/custom tests to repaint harness
https://bugs.webkit.org/show_bug.cgi?id=78115

Unreviewed Chromium expectations update.

Somehow this file was not correctly rebaselined when the original change was made.

* platform/chromium-linux/svg/custom/repaint-on-constant-size-change-expected.png: Removed.
* platform/chromium-win/svg/custom/repaint-on-constant-size-change-expected.png: Modified property svn:mime-type.
* platform/chromium/test_expectations.txt:

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