darin@apple.com [Wed, 25 Mar 2009 14:34:02 +0000 (14:34 +0000)]
WebCore:
2009-03-25 Darin Adler <darin@apple.com>
Reviewed by David Hyatt.
Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
https://bugs.webkit.org/show_bug.cgi?id=24740
rdar://problem/6679873
Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
https://bugs.webkit.org/show_bug.cgi?id=12104
Test: media/video-display-none-crash.html
The problem here was that RenderSlider was trying to position its thumb in a way that
requires it to call updateLayout inside rendering code. The right way to position a
child renderer is to do layout, so I had to write a layout function. And then fix a few
other small problems shown by the same test case.
* rendering/RenderSlider.cpp: Made defaultTrackLength have internal linkage.
Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
prefix for public DOM classes, not elements used as implementation details.
Made SliderThumbElement function members private and got rid of unneeded default
argument value for shadowParent.
(WebCore::SliderRange::SliderRange): Added. Parses precision, max, and min attributes.
(WebCore::SliderRange::clampValue): Added. Does standard clamping based on the above.
(WebCore::SliderRange::valueFromElement): Added. Reads the value from the element in
a way that clamps to the range.
(WebCore::sliderPosition): Added. Computes the slider position: a double.
(WebCore::SliderThumbElement::SliderThumbElement): Removed unneeded explicit
initialization of m_initialClickPoint.
(WebCore::SliderThumbElement::defaultEventHandler): Call setValueForPosition instead
of calling setCurrentPosition and valueChanged.
(WebCore::RenderSlider::RenderSlider): Remove unneeded explicit initialization of m_thumb.
(WebCore::RenderSlider::styleDidChange): Remove unneeded second argument to createThumbStyle.
(WebCore::RenderSlider::createThumbStyle): Remove unneeded second argument. Get rid of code
setting the position to relative and setting the left and top. We now handle positioning
in a custom layout function.
(WebCore::RenderSlider::layout): Rewrote to handle positioning of the thumb as layout.
(WebCore::RenderSlider::updateFromElement): Added code to immediately update the value
in the element if it's out of range. This clamping used to be done as a side effect of
setPositionFromValue. Also, this has nothing to do with the renderer, so at some point
it could be moved into HTMLInputElement. Removed call to setPositionFromValue
and instead just rely on the call to setNeedsLayout. Fix the setNeedsLayout call to be
a normal setNeedsLayout(true), not a setNeedsLayout(true, false), because we do want
this to be propagated to the parent -- it's not called during layout.
(WebCore::RenderSlider::setValueForPosition): Refactor to use the new SliderRange
class. Also don't call setCurrentPosition; instead just call setNeedsLayout.
(WebCore::RenderSlider::currentPosition): Use the actual position of the renderer rather
than the style to find the position; that means this needs to be done after layout is done.
Also removed unneeded runtime checks and replaced them with assertions, after checking
all callers to see they already guarantee this.
(WebCore::RenderSlider::trackSize): Removed unneeded runtime checks and replaced them
with assertions, after checking all callers to see they already guarantee this.
(WebCore::RenderSlider::inDragMode): Added a null check for m_thumb so this won't
crash if called early on a brand new RenderSlider.
* rendering/RenderSlider.h: Made all functions private except for forwardEvent and inDragMode.
Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
prefix for public DOM classes, not elements used as implementation details. Made the
mouseEventIsInThumb function non-virtual. Removed the return value and argument from
setPositionFromValue. Removed valueChanged and setCurrentPosition. Removed the oldStyle
argument to createThumbStyle (see above). Made SliderThumbElement a friend so it can use some
private member functions.
LayoutTests:
2009-03-25 Darin Adler <darin@apple.com>
Reviewed by David Hyatt.
Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
https://bugs.webkit.org/show_bug.cgi?id=24740
rdar://problem/6679873
Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
https://bugs.webkit.org/show_bug.cgi?id=12104
* media/video-display-none-crash-expected.txt: Added.
* media/video-display-none-crash.html: Added.
* platform/mac/fast/forms/box-shadow-override-expected.txt: Updated since a slider's thumb is no longer
relative-positioned and hence no longer gets its own layer.
* platform/mac/fast/forms/input-appearance-height-expected.txt: Ditto.
* platform/mac/fast/forms/slider-padding-expected.txt: Ditto.
* platform/mac/fast/forms/slider-thumb-shared-style-expected.txt: Ditto.
* platform/mac/fast/forms/slider-thumb-stylability-expected.txt: Ditto.
* platform/mac/media/audio-controls-rendering-expected.txt: Ditto.
* platform/mac/media/video-controls-rendering-expected.txt: Ditto.
* platform/mac/media/video-display-toggle-expected.txt: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41972
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kov@webkit.org [Wed, 25 Mar 2009 14:31:41 +0000 (14:31 +0000)]
2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=15793
[GTK] tooltip position doesn't update when hovering consecutive links
Work-around tooltips not updating their location when the elements
are consecutive, by clearing the tooltip when handling
mouseDidMoveOverElement.
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::mouseDidMoveOverElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41971
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos@webkit.org [Wed, 25 Mar 2009 13:01:45 +0000 (13:01 +0000)]
2009-03-25 Eli Fidler <eli.fidler@torchmobile.com>
Reviewed by George Staikos.
Fix ambiguous else cases by adding braces to nested if()s with elses.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41970
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
xan@webkit.org [Wed, 25 Mar 2009 12:00:52 +0000 (12:00 +0000)]
2009-03-23 Alejandro Garcia Castro <alex@igalia.com>
Reviewed by Holger Freyther.
[Gtk] Current API does not allow us to open target="_blank" links
in new tabs instead of windows
https://bugs.webkit.org/show_bug.cgi?id=23932
Added a signal to the API (new-window-policy-decision-requested)
that allows the browser to decide the policy for the new window
request, if the signal is not handled we open the new window as
usual.
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::getNavigationAction):
(WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* webkit/webkitwebview.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41969
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 25 Mar 2009 04:18:29 +0000 (04:18 +0000)]
Fix the Tiger build some more.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41968
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 25 Mar 2009 04:06:10 +0000 (04:06 +0000)]
Fix the Tiger build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41967
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 25 Mar 2009 03:29:47 +0000 (03:29 +0000)]
Explicitly map NSNotFound to -1 so that the result of-characterIndexForPointX:Y: does not differ between 32- and 64-bit.
Reviewed by Jon "The Most Boring Man in the World" Honeycutt.
* DumpRenderTree/mac/TextInputController.m:
(-[TextInputController characterIndexForPointX:Y:]):
Update test result for change to explicitly map NSNotFound to -1 in textInputController.characterIndexForPoint.
* platform/mac/fast/dom/character-index-for-point-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41966
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 25 Mar 2009 03:13:16 +0000 (03:13 +0000)]
Skip some more tests that are failing.
Rubber-stamped by Oliver Hunt.
* platform/mac-snowleopard/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41965
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos@webkit.org [Wed, 25 Mar 2009 02:47:30 +0000 (02:47 +0000)]
2009-03-24 Eli Fidler <eli.fidler@torchmobile.com>
Reviewed by George Staikos.
Move variable into proper platform block to quiet warning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41964
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 25 Mar 2009 02:14:09 +0000 (02:14 +0000)]
2009-03-24 Eric Carlson <eric.carlson@apple.com>
Reviewed by Antti Koivisto.
Fix for <rdar://problem/6719375> Deal with QTKit loadstate changes when playing streaming movies
* WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setNetworkState): Deal with media engine reviving after having
network state of NETWORK_NO_SOURCE.
* WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::updateStates): Reset m_readyState at each state change since
some types of movies currently cause QTKit's load state to bounce around. QTMovieLoadStatePlaythroughOK
corresponds to HaveFutureData, not HaveEnoughData.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41963
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Wed, 25 Mar 2009 00:57:49 +0000 (00:57 +0000)]
WebCore:
2009-03-24 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=24707
<rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line
* editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed):
After breaking out of an empty mail blockquote, we still want continue with the deletion
so actual content will get deleted, and not just the quote style.
LayoutTests:
2009-03-24 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Updated tests for https://bugs.webkit.org/show_bug.cgi?id=24707
<rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line
* editing/deleting/2610675-1-expected.txt:
* editing/deleting/2610675-1.html:
* editing/deleting/2610675-2-expected.txt:
* editing/deleting/2610675-2.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41962
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 25 Mar 2009 00:30:28 +0000 (00:30 +0000)]
2009-03-24 Darin Adler <darin@apple.com>
Reviewed by Brady Eidson.
<rdar://problem/6624662> REGRESSION (r39904): can't save certain web pages as web archive (ones without favicons!)
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create): Added a null check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41961
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@chromium.org [Wed, 25 Mar 2009 00:02:52 +0000 (00:02 +0000)]
2009-03-24 Adam Langley <agl@google.com>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=24685
The Skia drawLine function takes subpixel values and attempts to draw
a line with subpixel precision. This is complex and slow for drawing
scrollbars which use only vertical and horizontal lines.
This changes the Chromium Linux scrollbar code to use drawIRect.
* platform/chromium/ScrollbarThemeChromiumLinux.cpp:
(WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit):
(WebCore::drawVertLine):
(WebCore::drawHorizLine):
(WebCore::drawBox):
(WebCore::ScrollbarThemeChromium::paintTrackPiece):
(WebCore::ScrollbarThemeChromium::paintThumb):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41960
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 24 Mar 2009 23:36:42 +0000 (23:36 +0000)]
Skip fast/forms/search-zoomed.html as it currently fails due to <rdar://problem/6718460>.
Rubber-stamped by Sam Weinig.
* platform/mac-snowleopard/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41959
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 24 Mar 2009 23:25:10 +0000 (23:25 +0000)]
Fix the list of files touched in r41951 in the Changelog.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41958
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 24 Mar 2009 23:18:23 +0000 (23:18 +0000)]
Skip some more media tests for now.
* platform/mac-snowleopard/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41957
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 24 Mar 2009 23:18:19 +0000 (23:18 +0000)]
Use a different platform search path for tests and skip lists, so that Tiger doesn't end up
using the Leopard skip list. Tests and skip lists are now looked for in the directory for
the current OS and the generic "mac" directory. Tests and skip lists for newer OS versions are
ignored.
Reviewed by Sam Weinig.
* Scripts/run-webkit-tests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41956
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pam@chromium.org [Tue, 24 Mar 2009 22:30:38 +0000 (22:30 +0000)]
2009-03-24 Pamela Greene <pam@chromium.org>
Reviewed by Sam Weinig.
Add tests of font choices and metrics, to isolate those dependencies.
https://bugs.webkit.org/show_bug.cgi?id=24566
* fonts: Added.
* fonts/cursive.html: Added.
* fonts/default.html: Added.
* fonts/fantasy.html: Added.
* fonts/monospace.html: Added.
* fonts/sans-serif.html: Added.
* fonts/serif.html: Added.
* platform/mac/fonts: Added.
* platform/mac/fonts/cursive-expected.checksum: Added.
* platform/mac/fonts/cursive-expected.png: Added.
* platform/mac/fonts/cursive-expected.txt: Added.
* platform/mac/fonts/default-expected.checksum: Added.
* platform/mac/fonts/default-expected.png: Added.
* platform/mac/fonts/default-expected.txt: Added.
* platform/mac/fonts/fantasy-expected.checksum: Added.
* platform/mac/fonts/fantasy-expected.png: Added.
* platform/mac/fonts/fantasy-expected.txt: Added.
* platform/mac/fonts/monospace-expected.checksum: Added.
* platform/mac/fonts/monospace-expected.png: Added.
* platform/mac/fonts/monospace-expected.txt: Added.
* platform/mac/fonts/sans-serif-expected.checksum: Added.
* platform/mac/fonts/sans-serif-expected.png: Added.
* platform/mac/fonts/sans-serif-expected.txt: Added.
* platform/mac/fonts/serif-expected.checksum: Added.
* platform/mac/fonts/serif-expected.png: Added.
* platform/mac/fonts/serif-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41955
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos@webkit.org [Tue, 24 Mar 2009 22:22:49 +0000 (22:22 +0000)]
2009-03-24 Eli Fidler <eli.fidler@torchmobile.com>
Reviewed by George Staikos.
Correct warnings which in some environments are treated as errors.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41954
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Tue, 24 Mar 2009 21:40:24 +0000 (21:40 +0000)]
Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn't resolve the URL properly
<https://bugs.webkit.org/show_bug.cgi?id=23310>
Reviewed by Darin Adler.
WebCore:
Test: fast/frames/iframe-no-src-set-location.html
* dom/Document.cpp:
(WebCore::Document::completeURL): If m_baseURL is empty or is
about:blank and we have a parent document, use the parent
document's URL for the base when completing a new URL.
LayoutTests:
* fast/frames/iframe-no-src-set-location-expected.txt: Added.
* fast/frames/iframe-no-src-set-location.html: Added.
* fast/frames/resources/iframe-no-src-set-location-pass.html: Copied from LayoutTests/fast/dom/Document/early-document-access-expected.txt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41953
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 24 Mar 2009 21:07:48 +0000 (21:07 +0000)]
2009-03-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
https://bugs.webkit.org/show_bug.cgi?id=24659
When hit-testing 3d-transformed layers, it doesn't make sense to project the hitTestRect
into the coordinate space of the layer, and doing so can result in pathalogical quads
that break hit testing. In that case, simply use the same bounds as used for painting,
which are the composited bounds for this layer.
Test: transforms/3d/hit-testing/rotated-hit-test.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41952
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 24 Mar 2009 21:03:21 +0000 (21:03 +0000)]
2009-03-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
https://bugs.webkit.org/show_bug.cgi?id=24436
When compositing is enabled, painting and hit testing end up using different
clipping roots, because, for painting, every composited layer is a clipping root,
but for hit testing only layers with transforms are. To fix this, we use
temporary clip rects for hit testing, if the page is in compositing mode.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41951
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 24 Mar 2009 20:46:10 +0000 (20:46 +0000)]
2009-03-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
https://bugs.webkit.org/show_bug.cgi?id=24782
Fix regression with CSS clip rects with non-length values, by reverting to
the original code, but passing the zoom multiplier through convertToLength().
Also make stylistic change in createTransformOperations(), renaming 'inStyle'
to 'style.
Tested by existing tests.
* css/CSSStyleSelector.cpp:
(WebCore::convertToLength):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::createTransformOperations):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41950
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@webkit.org [Tue, 24 Mar 2009 20:29:36 +0000 (20:29 +0000)]
2009-03-24 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=24779
Conditionalize CFNetwork-specific code in WebView to permit
support for other network backends.
* WebView.cpp:
(WebView::setCacheModel): Add CFNETWORK check around CFNetwork
specific cache implementation.
(updateSharedSettingsFromPreferencesIfNeeded): Add CFNETWORK
check around use of CFHTTPCookie code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41949
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 24 Mar 2009 20:23:27 +0000 (20:23 +0000)]
WebCore:
2009-03-24 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser
https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents
to a border-radius.
This patch makes non-self-painting overflow layers and control clips work with border-radius. RenderLayers
that should be clipped by overflow ancestors with border-radius are still broken.
Added fast/clip/overflow-border-radius-clip.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::pushContentsClip):
LayoutTests:
2009-03-24 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser
Test for https://bugs.webkit.org/show_bug.cgi?id=21789
* fast/clip/overflow-border-radius-clip.html: Added.
* platform/mac/fast/clip/overflow-border-radius-clip-expected.checksum: Added.
* platform/mac/fast/clip/overflow-border-radius-clip-expected.png: Added.
* platform/mac/fast/clip/overflow-border-radius-clip-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41948
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 24 Mar 2009 20:05:05 +0000 (20:05 +0000)]
Fix stray ; that snuck in right before landing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41947
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Tue, 24 Mar 2009 19:52:34 +0000 (19:52 +0000)]
Reviewed by Darin Adler.
Explicitly define HAVE_LANGINFO_H on Darwin. Fixes the wx build bot jscore
test failure.
https://bugs.webkit.org/show_bug.cgi?id=24780
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41946
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 24 Mar 2009 19:35:34 +0000 (19:35 +0000)]
WebCore:
2009-03-24 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser
https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents.
This first patch makes overflow:hidden properly clip the foreground contents of overflow:hidden replaced elements. Common
replaced elements now default to overflow:hidden in the UA stylesheet (this is what the spec specifically recommends be
done).
Added fast/replaced/border-radius-clip.html
* css/html4.css:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
LayoutTests:
2009-03-24 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser
Test for https://bugs.webkit.org/show_bug.cgi?id=21789
* fast/replaced/border-radius-clip.html: Added.
* platform/mac/fast/replaced/border-radius-clip-expected.checksum: Added.
* platform/mac/fast/replaced/border-radius-clip-expected.png: Added.
* platform/mac/fast/replaced/border-radius-clip-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41945
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Tue, 24 Mar 2009 18:25:43 +0000 (18:25 +0000)]
2009-03-24 Adele Peterson <adele@apple.com>
RS by Mark Rowe.
Only build these Mail quirks checks in on the Mac.
* dom/Document.cpp: (WebCore::disableRangeMutation):
* html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41944
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@webkit.org [Tue, 24 Mar 2009 17:55:01 +0000 (17:55 +0000)]
2009-03-24 Brent Fulgham <bfulgham@webkit.org>
Build fix, no review.
Remove ResourceLoaderCFNet.cpp from build list for Cairo Releas
and Debug targets.
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41943
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Tue, 24 Mar 2009 17:36:29 +0000 (17:36 +0000)]
2009-03-24 Eric Carlson <eric.carlson@apple.com>
Update media tests broken by r41907.
* fast/dom/Window/window-properties-expected.txt:
* http/tests/media/video-play-stall-seek.html:
* http/tests/media/video-play-stall.html:
2009-03-24 Eric Carlson <eric.carlson@apple.com>
Fix layout tests broken by r41907.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState): Don't set "was playing" based on the new ready state
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41942
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dimich@chromium.org [Tue, 24 Mar 2009 17:18:32 +0000 (17:18 +0000)]
2009-03-24 Dmitry Titov <dimich@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=24689
Fix Chromium compilation errors.
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
(WebCore::WorkerContextExecutionProxy::RemoveEventListener):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41941
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dglazkov@chromium.org [Tue, 24 Mar 2009 17:08:18 +0000 (17:08 +0000)]
2009-03-24 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=24759
Add missing methods Element.prototype.removeMatchingStyleClasses and
Node.prototype.enclosingNodeOrSelfWithNodeNameInArray to SourceFrame content
iframe. These methods are called by Element.prototype.removeStyleClass and
Node.prototype.enclosingNodeOrSelfWithNodeName.
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._loaded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41940
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dglazkov@chromium.org [Tue, 24 Mar 2009 17:03:12 +0000 (17:03 +0000)]
2009-03-24 Mark Mentovai <mark@chromium.org>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=24653
WebKit should be buildable without prefix header injection.
Adds missing #includes and forward declarations as needed.
* editing/SmartReplaceCF.cpp:
* platform/graphics/mac/ColorMac.mm:
* platform/graphics/mac/FontCacheMac.mm:
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/mac/FontMac.mm:
* platform/graphics/mac/FontMacATSUI.mm:
* platform/graphics/mac/FontPlatformData.h:
* platform/graphics/mac/FontPlatformDataMac.mm:
* platform/graphics/mac/GraphicsContextMac.mm:
* platform/graphics/mac/SimpleFontDataMac.mm:
* platform/mac/FoundationExtras.h:
* platform/mac/LocalCurrentGraphicsContext.h:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/mac/WebCoreTextRenderer.h:
* platform/mac/WebCoreTextRenderer.mm:
* platform/mac/WebFontCache.h:
* platform/mac/WebFontCache.mm:
* platform/text/PlatformString.h:
* platform/text/mac/ShapeArabic.c:
* platform/text/mac/StringMac.mm:
* rendering/RenderThemeChromiumMac.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41939
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 24 Mar 2009 16:24:25 +0000 (16:24 +0000)]
WebCore:
Reviewed by Darin Adler.
- fix <rdar://problem/6107874> by capping the nesting depth of
"block-level" elements generated by the parser
Test: fast/parser/block-nesting-cap.html
* html/HTMLParser.cpp:
(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::insertNode):
(WebCore::HTMLParser::pushBlock):
(WebCore::HTMLParser::popOneBlockCommon):
(WebCore::HTMLParser::freeBlock):
* html/HTMLParser.h:
LayoutTests:
Reviewed by Darin Adler.
- test for <rdar://problem/6107874>
Test that the nesting depth of "block-level" elements generated by
the parser is capped
* fast/parser/block-nesting-cap-expected.txt: Added.
* fast/parser/block-nesting-cap.html: Added.
* fast/parser/resources/block-nesting-cap.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41938
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 24 Mar 2009 07:50:26 +0000 (07:50 +0000)]
Reviewed by Oliver Hunt.
- speculative fix for <rdar://problem/6630134> Crash at
Editor::compositionRange()
* WebView/WebHTMLView.mm:
(-[WebHTMLView markedRange]): Null-check the Frame like most other
methods in this class.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41937
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bolsinga@apple.com [Tue, 24 Mar 2009 04:16:37 +0000 (04:16 +0000)]
2009-03-23 Greg Bolsinga <bolsinga@apple.com>
Reviewed by David Kilzer.
https://bugs.webkit.org/show_bug.cgi?id=24771
DOMTimeStamps are based upon 1970.
* platform/mac/GeolocationServiceMac.mm:
(-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41936
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 24 Mar 2009 03:45:52 +0000 (03:45 +0000)]
Build fix, no review.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createVisiblePosition): change .container to .isNotNull()
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41935
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
slewis@apple.com [Tue, 24 Mar 2009 03:19:02 +0000 (03:19 +0000)]
2009-03-23 Stephanie <slewis@apple.com>
Fix root build.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41934
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 24 Mar 2009 02:25:08 +0000 (02:25 +0000)]
Reviewed by Darin Adler.
Rename Position::container to m_anchorNode and make it private
https://bugs.webkit.org/show_bug.cgi?id=24760
More code cleanup for Position.
Change all uses of m_container to node()
Eventually most uses of node() should change to anchorNode() to designate
that it's the node the Position is anchored to, but not necessarily the
container of the position (it could be the before/after neighbor).
Remove any code which sets m_container, and change it to use a new
Position::moveToPosition function which takes a node and offset.
It never makes sense to change the node and leave the offset.
* dom/Position.h:
(WebCore::Position::Position):
(WebCore::Position::clear):
(WebCore::Position::anchorNode):
(WebCore::Position::node):
(WebCore::Position::moveToPosition):
(WebCore::Position::moveToOffset):
(WebCore::Position::isNull):
(WebCore::Position::isNotNull):
(WebCore::operator==):
* dom/Range.cpp:
(WebCore::Range::create):
(WebCore::Range::compareBoundaryPoints):
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::container):
(WebCore::RangeBoundaryPoint::set):
(WebCore::RangeBoundaryPoint::setOffset):
(WebCore::RangeBoundaryPoint::setToChild):
(WebCore::RangeBoundaryPoint::setToStart):
(WebCore::RangeBoundaryPoint::setToEnd):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41933
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 24 Mar 2009 02:06:51 +0000 (02:06 +0000)]
Reviewed by David Hyatt.
document.write() should be able to make a document strict mode
https://bugs.webkit.org/show_bug.cgi?id=24336
Remove an implicit write of "<html>" on the first document.write call
this was added as part of a KDE import http://trac.webkit.org/changeset/798
with no layout test or explanation. I can't think of any reason why
an implicit <html> write is necessary (or correct), so I'm removing it and
adding a test for the correct behavior. The parser will add any necessary
HTMLHTMLElements during the write() anyway.
Our behavior is now tested by fast/dom/Document/document-write-doctype
and matches IE, FF fails this new test. Mozilla bug filed:
https://bugzilla.mozilla.org/show_bug.cgi?id=483908
* dom/Document.cpp:
(WebCore::Document::write):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41932
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 24 Mar 2009 01:59:32 +0000 (01:59 +0000)]
Fix className() for API defined class
Reviewed by Cameron Zwarich
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41931
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 24 Mar 2009 01:31:50 +0000 (01:31 +0000)]
WebCore:
2009-03-23 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCache::empty):
* loader/CrossOriginPreflightResultCache.h:
WebKit/mac:
2009-03-23 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
* Misc/WebCache.mm:
(+[WebCache empty]):
WebKit/win:
2009-03-23 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Fix for <rdar://problem/6140966>
Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
* WebCache.cpp:
(WebCache::empty): Also add application cache emptying to match the mac.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41930
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 24 Mar 2009 00:53:20 +0000 (00:53 +0000)]
Tweak comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41929
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 24 Mar 2009 00:50:58 +0000 (00:50 +0000)]
WebCore:
2009-03-23 Darin Adler <darin@apple.com>
Reviewed by Adele Peterson.
Bug 24726: hit testing doesn't work right when the click is on anonymous content
https://bugs.webkit.org/show_bug.cgi?id=24726
rdar://problem/6696992
Test: editing/selection/hit-test-anonymous.html
* rendering/RenderBR.cpp:
(WebCore::RenderBR::positionForPoint): Call createVisiblePosition instead of
creating a VisiblePosition directly. It will handle finding non-anonymous
content nearby if node() is 0.
* rendering/RenderBlock.cpp:
(WebCore::positionForPointRespectingEditingBoundaries): Ditto.
(WebCore::positionForPointWithInlineChildren): Ditto.
(WebCore::RenderBlock::positionForPoint): Ditto.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionForPoint): Ditto.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::positionForPoint): Ditto.
(WebCore::RenderObject::createVisiblePosition): Added.
* rendering/RenderObject.h: Added createVisiblePosition.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::positionForPoint): Call createVisiblePosition.
* rendering/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::positionForPoint): Ditto.
* rendering/RenderText.cpp:
(WebCore::RenderText::positionForPoint): Ditto.
LayoutTests:
2009-03-23 Darin Adler <darin@apple.com>
Reviewed by Adele Peterson.
Bug 24726: hit testing doesn't work right when the click is on anonymous content
https://bugs.webkit.org/show_bug.cgi?id=24726
rdar://problem/6696992
* editing/selection/hit-test-anonymous-expected.txt: Added.
* editing/selection/hit-test-anonymous.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41928
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
slewis@apple.com [Tue, 24 Mar 2009 00:41:39 +0000 (00:41 +0000)]
2009-03-23 Stephanie Lewis <slewis@apple.com>
Reviewed by Mark Rowe.
Add production configuration for creating roots of WebKitTools.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41927
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Tue, 24 Mar 2009 00:34:37 +0000 (00:34 +0000)]
2009-03-23 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler & Dave Hyatt.
Fix for <rdar://problem/6621310> REGRESSION(35185): Apple Travel HTML emails missing some style after Safari 4 upgrade
Leopard Mail doesn't expect <style> to be in the body. This change reverts back to the old behavior of
moving <style> to <head> for that version of Mail.
* html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41926
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Tue, 24 Mar 2009 00:33:19 +0000 (00:33 +0000)]
WebCore:
2009-03-23 Adele Peterson <adele@apple.com>
Reviewed by Mark Rowe & Dave Hyatt.
Merge some of the individual Mail quirks into two settings that we can check for future quirks.
* WebCore.base.exp:
* dom/Document.cpp:
(WebCore::disableRangeMutation):
(WebCore::Document::nodeChildrenChanged):
(WebCore::Document::nodeWillBeRemoved):
(WebCore::Document::textInserted):
(WebCore::Document::textRemoved):
(WebCore::Document::textNodesMerged):
(WebCore::Document::textNodeSplit):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setNeedsLeopardMailQuirks):
(WebCore::Settings::setNeedsTigerMailQuirks):
* page/Settings.h:
(WebCore::Settings::needsLeopardMailQuirks):
(WebCore::Settings::needsTigerMailQuirks):
WebKit/mac:
2009-03-23 Adele Peterson <adele@apple.com>
Reviewed by Mark Rowe & Dave Hyatt.
Merge some of the individual Mail quirks into two settings that we can check for future quirks.
* WebView/WebView.mm:
(runningLeopardMail):
(runningTigerMail):
(-[WebView _preferencesChangedNotification:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41925
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 24 Mar 2009 00:18:02 +0000 (00:18 +0000)]
Make testapi run as part of the standard JavaScriptCore tests.
Reviewed by Geoff Garen.
We only run testapi on the mac as currently windows webkit doesn't
place all the necessary files for testapi, and we also test the
JSC/CF APIs as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41924
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Mon, 23 Mar 2009 23:46:27 +0000 (23:46 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=24762
Support text-indent in <option> elements on windows platform.
Reviewed by Adele Peterson.
* css/themeWin.css:
* platform/PopupMenuStyle.h: We don't honor font specified on <option> elements right now. Make this
explicit via windows themed default stylesheet.
(WebCore::PopupMenuStyle::PopupMenuStyle): Also store text-indent and text-direction.
(WebCore::PopupMenuStyle::textIndent):
(WebCore::PopupMenuStyle::textDirection):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint): Adjust the text's x-coordinate if text-indent is supported for options and
text-indent is specified with LTR direction.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth): Take text-indent into account if theme supports text-indent for options.
(WebCore::RenderMenuList::itemStyle): Use new PopupMenuStyle constructor on windows.
(WebCore::RenderMenuList::menuStyle): Ditto.
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::menuStyle): Ditto.
* rendering/RenderTheme.h:
(WebCore::RenderTheme::popupOptionSupportsTextIndent): Added. Default is false since we are only supporting it in windows for now.
* rendering/RenderThemeWin.h:
(WebCore::RenderThemeWin::popupOptionSupportsTextIndent): Returns true for windows.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41923
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 23 Mar 2009 23:14:40 +0000 (23:14 +0000)]
2009-03-23 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Fix for https://bugs.webkit.org/show_bug.cgi?id=24699
REGRESSION: Java Applets broken
<rdar://problem/6707494>
Fix loading Java applets without a codeBase. Only pass the base (up to the
the last path component) of the baseURL to the plug-in.
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::createRenderer):
* platform/KURL.cpp:
(WebCore::KURL::baseAsString):
* platform/KURL.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41922
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 23 Mar 2009 22:15:58 +0000 (22:15 +0000)]
2009-03-23 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
* platform/KURL.h: Removed now-incorrect comments.
None of the parts include the separator characters any more, now that
query doesn't include the "?", so the comments explaining which do and do
not are no-longer helpful.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41921
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Mon, 23 Mar 2009 21:25:58 +0000 (21:25 +0000)]
2009-03-23 David Levin <levin@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=24764
Renamed files V8NodeFilter -> V8NodeFilterCondition to reflect
class names. Also fixed some headers that got mangled in search/replace
operations.
No change in behavior, so no test.
* bindings/v8/V8NodeFilter.h: Removed.
* bindings/v8/V8NodeFilterCondition.cpp: Renamed from WebCore/bindings/v8/V8NodeFilter.cpp.
* bindings/v8/V8NodeFilterCondition.h: Added.
* bindings/v8/custom/V8ClipboardCustom.cpp:
* bindings/v8/custom/V8DocumentCustom.cpp:
* bindings/v8/custom/V8ElementCustom.cpp:
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
* bindings/v8/custom/V8NavigatorCustom.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41920
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@chromium.org [Mon, 23 Mar 2009 20:48:46 +0000 (20:48 +0000)]
2009-03-23 Darin Fisher <darin@chromium.org>
Reviewed by Antti Koivisto.
https://bugs.webkit.org/show_bug.cgi?id=24741
Adds a unique across-browser-sessions identifier to FormData, which may
be used by ResourceHandle as a secondary cache key to enable cached
form submissions.
At issue: two otherwise identical form submissions may result in
completely independent responses, which may each be appropriate to
store and reuse from cache.
* html/HTMLFormElement.cpp: Added call to FormData::setIdentifier so that
we only enable cached form submissions for those generated by HTML. This
way we do not bother with POSTs generated by XMLHttpRequest.
(WebCore::generateFormDataIdentifier):
(WebCore::HTMLFormElement::createFormData):
* platform/network/FormData.cpp: Initialize m_identifier to 0, which means
the unspecified identifier. So by default there is no identifier and
nothing changes.
(WebCore::FormData::FormData):
* platform/network/FormData.h: Added m_identifier with setter and getter.
(WebCore::FormData::setIdentifier):
(WebCore::FormData::identifier):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41919
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Mon, 23 Mar 2009 20:39:40 +0000 (20:39 +0000)]
2009-03-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Antti Koivisto
https://bugs.webkit.org/show_bug.cgi?id=24733
Fix media controller with full-page zoom. Previously, the media controller
shadow nodes never saw style changes on the RenderMedia, so did not respond
to zooming at all. Now, we update the style on the shadow renderers
whenever RenderMedia gets a style change. Also fix the video thumb in
the theme to be scaled properly.
Test: media/video-controls-zoomed.html
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlShadowRootElement::updateStyle):
(WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
(WebCore::MediaTextDisplayElement::updateStyle):
(WebCore::MediaControlInputElement::MediaControlInputElement):
(WebCore::MediaControlInputElement::updateStyle):
* rendering/MediaControlElements.h:
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::styleDidChange):
* rendering/RenderMedia.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::adjustSliderThumbSize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41918
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@chromium.org [Mon, 23 Mar 2009 20:27:38 +0000 (20:27 +0000)]
2009-03-23 Mike Belshe <mike@belshe.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=24739
Rework StringImpl::create methods to try to allocate a single buffer
rather than allocating both the StringImpl class and a separate data
buffer.
* platform/text/StringImpl.cpp:
* platform/text/StringImpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41917
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 23 Mar 2009 19:05:48 +0000 (19:05 +0000)]
2009-03-23 Darin Adler <darin@apple.com>
Reviewed by Antti Koivisto.
Based on a patch by Nico Weber <nicolasweber@gmx.de>
Bug 24755: LayoutTests/http/tests/misc/url-in-utf16le.html regression
https://bugs.webkit.org/show_bug.cgi?id=24755
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::isUTF7Encoding): Added. Checks if the current encoding
is UTF7 without loading extended codecs.
(WebCore::TextEncoding::encodingForFormSubmission): Use isUTF7Encoding() instead
of comparing with UTF7Encoding(). Eliminate the explicit check of
noExtendedTextEncodingNameUsed() because that's now handled by the functions
that this function calls instead.
* platform/text/TextEncoding.h: Added isUTF7Encoding function.
Also tweaked formatting a bit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41916
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pkasting@chromium.org [Mon, 23 Mar 2009 19:02:59 +0000 (19:02 +0000)]
2009-03-20 Peter Kasting <pkasting@google.com>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=24720
RenderThemeChromium should draw something for Slider parts instead of
dropping them on the floor.
* platform/chromium/ChromiumBridge.h:
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
(WebCore::RenderThemeChromiumWin::paintSliderTrack):
(WebCore::RenderThemeChromiumWin::determineSliderThumbState):
(WebCore::RenderThemeChromiumWin::getThemeData):
* rendering/RenderThemeChromiumWin.h:
(WebCore::RenderThemeChromiumWin::paintSliderThumb):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41915
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Mon, 23 Mar 2009 18:56:35 +0000 (18:56 +0000)]
2009-03-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=24736
Fix three mostly-unrelated problems with full-page zoom:
* dom/Document.cpp:
(WebCore::Document::elementFromPoint):
Document::elementFromPoint() needs to take full-page zoom into account.
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::receivedTarget):
Take full-page zoom into account when computing offsetX/offsetY.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Don't use offsetX/offsetY when hit testing list boxes; offsets were broken
with full-page zoom, and using pageX/pageY is easier because we don't
have to worry about the event target, and we already have a point in
absolute coordinates.
Tests: fast/forms/listbox-hit-test-zoomed.html
fast/forms/search-zoomed.html
fast/forms/slider-zoomed.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41914
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@chromium.org [Mon, 23 Mar 2009 18:54:18 +0000 (18:54 +0000)]
2009-03-23 Glen Murphy <glen@chromium.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=24657
Fix Skia drawing of highly scaled bitmaps; the conversion to
IntRect produced visible layout test failures in highly scaled
coordinate systems.
Test: svg/custom/image-small-width-height.svg
* WebCore\platform\graphics\skia\ImageSkia.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41913
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Mon, 23 Mar 2009 18:27:22 +0000 (18:27 +0000)]
Provide JavaScript exception information after slow script timeout
Reviewed by Oliver Hunt.
JavaScriptCore:
* runtime/Completion.cpp:
(JSC::evaluate): Set the exception object as the Completion
object's value for slow script timeouts. This is used in
WebCore when reporting the exception.
* runtime/ExceptionHelpers.cpp:
(JSC::InterruptedExecutionError::toString): Added. Provides a
description message for the exception when it is reported.
WebCore:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluate): Changed to report
exceptions for the Interrupted completion type as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41912
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Mon, 23 Mar 2009 17:55:08 +0000 (17:55 +0000)]
2009-03-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
https://bugs.webkit.org/show_bug.cgi?id=24753
The rect for CSS 'clip' needs to have zooming applied to it.
Test: fast/css/clip-zooming.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41911
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 23 Mar 2009 16:47:16 +0000 (16:47 +0000)]
2009-03-23 Darin Adler <darin@apple.com>
* WebView/WebTextIterator.h: Fixed a spelling error in a comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41910
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kov@webkit.org [Mon, 23 Mar 2009 15:13:57 +0000 (15:13 +0000)]
2009-03-23 Gustavo Noronha Silva <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=24674
Crashes in !PLATFORM(MAC)'s formatLocaleDate, in very specific situations
Make sure strftime never returns 2-digits years to avoid ambiguity
and a crash. We wrap this new code option in HAVE_LANGINFO_H,
since it is apparently not available in all platforms.
* runtime/DatePrototype.cpp:
(JSC::formatLocaleDate):
* wtf/Platform.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41909
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Mon, 23 Mar 2009 15:07:55 +0000 (15:07 +0000)]
2009-03-23 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adam Roben.
<rdar://problem/6704282>
https://bugs.webkit.org/show_bug.cgi?id=24719
QTMovieWinTimer logic inversion
Fix logic inversion in the Win32 timer used by QTMovieWin that caused it to always
use SetTimer, even when the intervals was below USER_TIMER_MINIMUM. A side effect of
this was that a movie timer would sometimes be blocked for significant amounts of time
because WM_TIMER messages are not processed when the thread's message queue has any
higher priority messages, and WebCore/Win's timer uses PostMessage for low interval
timers. Also change SetTimer call to use HWND and custom message instead of
timer function since the timer already has an HWND for processing PostMessage.
Not possible to make a test for this because it is so timing dependant.
* platform/graphics/win/QTMovieWinTimer.cpp:
(TimerWindowWndProc):
(setSharedTimerFireDelay):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41908
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Mon, 23 Mar 2009 15:02:34 +0000 (15:02 +0000)]
2009-03-23 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=24588
Update media element implementation to current HTML5 spec
New tests:
media/media-constants.html
media/video-seek-no-src-exception.html
media/video-source-add-src.html
media/video-src-invalid-remove.html
media/video-src-plus-source.html
media/video-timeupdate-during-playback.html
* dom/EventNames.h: Remove obsolute events, add new ones.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member vars.
(WebCore::HTMLMediaElement::attributeChanged): Trigger load() only when we don't
have a source.
(WebCore::HTMLMediaElement::removedFromDocument): Deal with state name changes.
(WebCore::HTMLMediaElement::scheduleProgressEvent): New, create a progress event and
add it to the event queue to be dispatch when the timer fires.
(WebCore::HTMLMediaElement::scheduleEvent): New, create a generic event and add
it to the event queue to be dispatch when the timer fires.
(WebCore::HTMLMediaElement::enqueueEvent): Add an event to the queue and ticke the
asynch event timer.
(WebCore::HTMLMediaElement::asyncEventTimerFired): Dispatch all pending events.
(WebCore::HTMLMediaElement::loadTimerFired): Either trigger the initial load or
try to load the next <source> url.
(WebCore::HTMLMediaElement::load): Minor style change.
(WebCore::HTMLMediaElement::loadInternal): The first part of the spec load algorithm, cleanup
the current load (if any) and set up state for a new load.
(WebCore::HTMLMediaElement::selectMediaResource): Deal with no 'src' or <source>, post 'loadstart'
event, and initiate load from 'src' if present.
(WebCore::HTMLMediaElement::loadNextSourceChild): Initiate load from next <source> url, or trigger
noneSupported() if no more to consider.
(WebCore::HTMLMediaElement::loadResource): Instantiate a new MediaPlayer and ask it to load a url.
(WebCore::HTMLMediaElement::startProgressEventTimer): Start the repeating progress event timer.
(WebCore::HTMLMediaElement::noneSupported): Post error event and set up state when no valid
media url was found.
(WebCore::HTMLMediaElement::mediaEngineError): Post error event and set up state when no valid
media engine failed with a decode error or a network error.
(WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
(WebCore::HTMLMediaElement::setNetworkState): Updated for new spec network states.
(WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
(WebCore::HTMLMediaElement::setReadyState): Updated for new spec ready state.
(WebCore::HTMLMediaElement::progressEventTimerFired): Bail if the network is not active.
(WebCore::HTMLMediaElement::seek): Return INVALID_STATE_ERR exception if state is too low or
if player hasn't been set up yet. This is necessary becase load() is async. Clear the flag
we use to guard against sending 'ended' more than once.
(WebCore::HTMLMediaElement::duration): Don't bother calling media engine before it has metadata.
(WebCore::HTMLMediaElement::setDefaultPlaybackRate): Remove exception param, 0 is no longer an
invalid rate.
(WebCore::HTMLMediaElement::setPlaybackRate): Remove exception param, 0 is no longer an
invalid rate. Cache rate being set so we can use it later if media engine isn't ready now.
(WebCore::HTMLMediaElement::play): Remove exception param, play() before load() now just
starts loading asynchronously.
(WebCore::HTMLMediaElement::playInternal): Remove exception param. Fire 'waiting' or 'playing'
event depending on current state.
(WebCore::HTMLMediaElement::pause): Remove exception param, pause() before load() now just
starts loading asynchronously.
(WebCore::HTMLMediaElement::pauseInternal): Remove exception param.
(WebCore::HTMLMediaElement::setVolume): dispatchEventAsync -> scheduleEvent
(WebCore::HTMLMediaElement::setMuted): dispatchEventAsync -> scheduleEvent
(WebCore::HTMLMediaElement::togglePlayState): Remove exception param.
(WebCore::HTMLMediaElement::beginScrubbing): pause() doesn't take an exception param.
(WebCore::HTMLMediaElement::startPlaybackProgressTimer): New, starts timer that fires 4 times per
second when the movie is playing to timeupdate so we can post 'timeupdate' events.
(WebCore::HTMLMediaElement::playbackProgressTimerFired): Timer proc.
(WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Bottleneck around scheduling a 'timeupdate'
event because we both fire them them when the spec says we should and when the media engine
says that time has jumped, but we don't want to fire more than one at a given movie time. We also
use this bottleneck to keep track of the last time one was posted so we won't fire too often
during playback.
(WebCore::HTMLMediaElement::canPlay): readyState now tracks whether or not we have metadata.
(WebCore::HTMLMediaElement::havePotentialSourceChild): New, checks to see if there are a <source>
element with a 'src' attribute that we have not tried to load yet.
(WebCore::HTMLMediaElement::nextSourceChild): New, returns the url and content type of the next
<source> element that we haven't tried to load.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Schedule 'seeked' event when seeking completes.
Set a flag when we post the 'ended' event, clear it when time changed and we aren't at the end since
some media engines call this proc more than once when playback reaches the end and stops, but we
don't want to post 'ended' more than once.
(WebCore::HTMLMediaElement::mediaPlayerDurationChanged): New, added so media engine can inform
when the movie duration changes and we can post 'durationchanged' event.
(WebCore::HTMLMediaElement::mediaPlayerRateChanged): New, added so media engine can inform when
the rate changed and we can updated our cached rate. This is useful because we only want to know
post periodic 'timeupdate' events when the movie is actually playing, and because we want to know
the actual playback rate when it differs from what we tried to set.
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged): New, added so media engine can inform when
a movie's intrinsic size changes and we can inform the renderer.
(WebCore::HTMLMediaElement::potentiallyPlaying): Renamed from activelyPlaying since the spec now
uses "actively playing" for this concept. Update logic for new state names and un-comment calls
to stoppedDueToErrors() and pausedForUserInteraction() since the spec says those condiditons
are part of the answer.
(WebCore::HTMLMediaElement::endedPlayback): Update logic for new state names.
(WebCore::HTMLMediaElement::stoppedDueToErrors): New, spec says this logic should be part of
the determination of "potentially playing".
(WebCore::HTMLMediaElement::pausedForUserInteraction): New, placeholder for when (if) user
agent supports this spec concept.
(WebCore::HTMLMediaElement::updatePlayState): Stop timer used to fire periodic 'timeupdate'
events when we pauses the movie. Set the media engine rate before calling play() in case it
wasn't set up when the rate was changed.
(WebCore::HTMLMediaElement::stopPeriodicTimers): New, stop the progress event and 'timeupate'
event timers.
(WebCore::HTMLMediaElement::userCancelledLoad): New, logic pulled out of documentWillBecomeInactive
and updated for the current spec.
(WebCore::HTMLMediaElement::documentWillBecomeInactive): Moved some logic to userCancelledLoad.
(WebCore::HTMLMediaElement::documentDidBecomeActive): Update comments.
(WebCore::HTMLMediaElement::initialURL): Update for refactoring of code that determines the
initial url.
* html/HTMLMediaElement.h: Change ReadyState and NetworkState enums to match names in the spec,
update for changes in .cpp.
(WebCore::HTMLMediaElement::):
* html/HTMLMediaElement.idl: Update ready state and network state constants for spec changes.
defaultPlaybackRate, playbackRate, play(), and pause() no longer raise exceptions.
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedIntoDocument): Update for network state name changes.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::updatePosterImage): Update for ready state name changes.
* html/MediaError.h:
(WebCore::MediaError::): add MEDIA_ERR_NONE_SUPPORTED.
* html/MediaError.idl: add MEDIA_ERR_NONE_SUPPORTED.
* loader/MediaDocument.cpp:
(WebCore::MediaDocument::defaultEventHandler): play() and pause() don't take an exception.
* platform/graphics/MediaPlayer.cpp:
(WebCore::NullMediaPlayerPrivate::readyState): Update for newtork state name changes.
(WebCore::MediaPlayer::sizeChanged): New, so engine can report intrinsic size changes.
(WebCore::MediaPlayer::rateChanged): New, so engine can report rate changes.
(WebCore::MediaPlayer::durationChanged): New, so engine can report duration changes.
* platform/graphics/MediaPlayer.h: Update NetworkState and ReadyState enum names to match spec
states.
(WebCore::MediaPlayerClient::mediaPlayerDurationChanged): New.
(WebCore::MediaPlayerClient::mediaPlayerRateChanged): New.
(WebCore::MediaPlayerClient::mediaPlayerSizeChanged): New.
(WebCore::MediaPlayer::):
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes.
(WebCore::MediaPlayerPrivate::load): Ditto.
(WebCore::MediaPlayerPrivate::updateStates): Ditto.
(WebCore::MediaPlayerPrivate::loadingFailed): Ditto.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h: Update for network/ready state name changes.
Remove endPointTimer, it is no longer necessary. Add m_enabledTrackCount and m_duration.
(WebCore::MediaPlayerPrivate::metaDataAvailable):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer or m_endTime. Initialize
m_enabledTrackCount and m_duration. Update for network/ready state name changes.
(WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes.
(WebCore::MediaPlayerPrivate::play): No more m_endPointTimer.
(WebCore::MediaPlayerPrivate::pause): Ditto.
(WebCore::MediaPlayerPrivate::currentTime): No more m_endTime.
(WebCore::MediaPlayerPrivate::seek): Ditto.
(WebCore::MediaPlayerPrivate::doSeek): Ditto, plus don't call setRate(0) when the rate is
already zero.
(WebCore::MediaPlayerPrivate::setEndTime): No more m_endTime.
(WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. Return
different errors depending on what causes a failure. Watch for and report duration changes.
(WebCore::MediaPlayerPrivate::rateChanged): Report rate changes.
(WebCore::MediaPlayerPrivate::sizeChanged): Report size changes.
(WebCore::MediaPlayerPrivate::didEnd): No more endpoint timer.
(WebCore::MediaPlayerPrivate::setVisible): Update for network/ready state name changes.
(WebCore::MediaPlayerPrivate::disableUnsupportedTracks): Don't return number of unsupported
tracks, store in m_enabledTrackCount so we can use it to help determine causes of failure.
* platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes.
(WebCore::MediaPlayerPrivate::load): Ditto.
(WebCore::MediaPlayerPrivate::duration): Ditto.
(WebCore::MediaPlayerPrivate::updateStates): Ditto.
(WebCore::MediaPlayerPrivate::naturalSize): Ditto.
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer. Update for
network/ready state name changes.
(WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. No more
m_endPointTimer.
(WebCore::MediaPlayerPrivate::play): No more m_endPointTimer.
(WebCore::MediaPlayerPrivate::pause): Ditto.
(WebCore::MediaPlayerPrivate::setEndTime): Ditto.
(WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes.
(WebCore::MediaPlayerPrivate::didEnd): No more m_endPointTimer.
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlPlayButtonElement::defaultEventHandler): Update for network/ready state
name changes.
(WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.
2009-03-23 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=24588
Bug 24588: Update media element implementation to current spec
* media/media-constants-expected.txt: Test all media constants.
* media/media-constants.html: Ditto.
* media/remove-from-document-expected.txt: Updated for spec changes.
* media/remove-from-document-no-load.html: Ditto.
* media/remove-from-document.html: Ditto.
* media/unsupported-rtsp-expected.txt: Ditto.
* media/unsupported-rtsp.html: Ditto.
* media/video-currentTime-set-expected.txt: Ditto.
* media/video-currentTime-set.html: Ditto.
* media/video-error-does-not-exist-expected.txt: Ditto.
* media/video-error-does-not-exist.html: Ditto.
* media/video-load-networkState-expected.txt: Ditto.
* media/video-load-networkState.html: Ditto.
* media/video-load-readyState-expected.txt: Ditto.
* media/video-load-readyState.html: Ditto.
* media/video-loop-expected.txt: Ditto.
* media/video-loop.html: Ditto.
* media/video-pause-empty-events-expected.txt: Ditto.
* media/video-pause-empty-events.html: Ditto.
* media/video-play-empty-events-expected.txt: Ditto.
* media/video-play-empty-events.html: Ditto.
* media/video-play-pause-events-expected.txt: Ditto.
* media/video-play-pause-events.html: Ditto.
* media/video-play-pause-exception-expected.txt: Ditto.
* media/video-play-pause-exception.html: Ditto.
* media/video-seek-no-src-exception-expected.txt: Test that seeking
whene there is no 'src' attribute throws an INVALID_STATE_ERR exception.
* media/video-seek-no-src-exception.html:
* media/video-seek-past-end-playing-expected.txt: Ditto.
* media/video-seek-past-end-playing.html: Ditto.
* media/video-seeking-expected.txt: Ditto.
* media/video-seeking.html: Ditto.
* media/video-source-add-src-expected.txt: Test that adding a 'src'
attribute does nothing when a <source> element has already been chosen.
* media/video-source-add-src.html:
* media/video-src-change-expected.txt: Ditto.
* media/video-src-change.html: Ditto.
* media/video-src-invalid-remove-expected.txt: Test that removing invalid
'src' attribute triggers <source> elements loading.
* media/video-src-invalid-remove.html:
* media/video-src-plus-source-expected.txt: Test that a <source> element
is not used when a bogus 'src' attribute is present.
* media/video-src-plus-source.html:
* media/video-src-remove-expected.txt: Ditto.
* media/video-src-remove.html: Ditto.
* media/video-test.js:
(findMediaElement):
(testExpected):
(waitForEvent):
(failTest):
* media/video-timeupdate-during-playback-expected.txt: Test that 'timeupdate' events
are posted while an element is playing but not while paused.
* media/video-timeupdate-during-playback.html:
* platform/mac/Skipped: Skip media/video-error-abort.html for now, need to figure out how to
test now that the 'loadstart' event is now fired asynchronously.
* platform/win/Skipped
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41907
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
xan@webkit.org [Mon, 23 Mar 2009 12:43:09 +0000 (12:43 +0000)]
2009-03-21 Xan Lopez <xlopez@igalia.com>
Reviewed by Holger Freyther.
Require gnome-keyring 2.26.0, since we were depending on an
unreleased trunk revision between 2.25.91 and 2.26.0.
* configure.ac:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41906
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Mon, 23 Mar 2009 06:01:46 +0000 (06:01 +0000)]
Fix exception handling in API
Reviewed by Cameron Zwarich.
We can't just use the ExecState exception slot for returning exceptions
from class introspection functions provided through the API as many JSC
functions will explicitly clear the ExecState exception when returning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41905
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Mon, 23 Mar 2009 04:31:39 +0000 (04:31 +0000)]
Fix instanceof implementation to handle API object overriding hasInstance
Reviewed by Cameron Zwarich.
We can only take the fast paths for instanceof if the object doesn't override
hasInstance, so we have to check for that.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41904
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 23 Mar 2009 03:46:17 +0000 (03:46 +0000)]
Reviewed by John Sullivan.
- fix <rdar://problem/6640741> Messages not displaying after the
Safari 4 beta was installed
Mail assumes that if -[WebArchive subresources] is not nil, then it
contains at least one object.
* WebView/WebArchive.mm:
(-[WebArchive subresources]): Preserve the behavior of returning nil
if there are no subresources.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41903
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sun, 22 Mar 2009 19:50:18 +0000 (19:50 +0000)]
2009-03-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
https://bugs.webkit.org/show_bug.cgi?id=24665
Image-map code in RenderImage could result in RenderImage::nodeAtPoint()
setting HitTestResult::innerNode(), but returning false, which violates
hit testing rules. Use a temporary HitTestResult so that we only fill in
result when we know we've hit.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nodeAtPoint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41902
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Sun, 22 Mar 2009 19:45:33 +0000 (19:45 +0000)]
wxGTK build fix. Add missing header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41901
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sun, 22 Mar 2009 18:43:32 +0000 (18:43 +0000)]
2009-03-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
https://bugs.webkit.org/show_bug.cgi?id=24743
Fix hit testing regression from r41840. We need to pass the temporary
HitTestResult when testing sublayers, then only copy to 'result' when
the layer is known to have been hit.
Test: fast/layers/zindex-hit-test.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41900
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sun, 22 Mar 2009 17:35:38 +0000 (17:35 +0000)]
2009-03-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=24733
Fix hit testing on video controls after full page zoom by fixing wider issue
with event->pageX(), pageY() with zooming. pageX and pageY are "fixed" to be
invariant under zooming (for JavaScript), so we keep an actual page point around
in MouseEvent::absoluteLocation() to avoid the need to factor in zooming everywhere.
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::initCoordinates):
(WebCore::MouseRelatedEvent::computePageLocation):
* dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::absoluteLocation):
(WebCore::MouseRelatedEvent::setAbsoluteLocation):
Member var, and getter and setter for absoluteLocation.
New method, computePageLocation(), to compute the actual page point,
and call it when creating and initting mouse-related events.
* dom/Node.cpp:
(WebCore::Node::dispatchMouseEvent):
(WebCore::Node::dispatchWheelEvent):
Keep non-adjusted pageX and pageY around, and call setAbsoluteLocation()
on the event to replace a potentially rounded point.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
Clean up slider handling code.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Add FIXME comment for use of offsetX/offsetY.
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::handleContextMenuEvent):
Use absoluteLocation() when hit testing for context menus.
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::userResize):
Use absoluteLocation() when resizing frames.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::forwardEvent):
Use absoluteLocation() when hit testing media controls.
* rendering/RenderSlider.cpp:
(WebCore::HTMLSliderThumbElement::defaultEventHandler):
(WebCore::RenderSlider::mouseEventIsInThumb):
Use absoluteLocation() when handling slider events.
(WebCore::RenderSlider::forwardEvent):
Factor some code out of HTMLInputElement::defaultEventHandler().
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::forwardEvent):
Use absoluteLocation() when hit testing search field buttons, which fixees
bugs in the search field with zooming.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41899
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Sun, 22 Mar 2009 07:34:29 +0000 (07:34 +0000)]
2009-03-21 David Levin <levin@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=24727
Add V8XMLHttpRequest*.
* bindings/v8/V8XMLHttpRequestUtilities.cpp: Added.
* bindings/v8/V8XMLHttpRequestUtilities.h: Added.
* bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Added.
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Added.
* bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41898
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Sun, 22 Mar 2009 07:34:18 +0000 (07:34 +0000)]
2009-03-21 David Levin <levin@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=24725
Add V8NodeFilter.
* bindings/v8/V8NodeFilter.cpp: Added.
* bindings/v8/V8NodeFilter.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41897
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Sun, 22 Mar 2009 03:01:59 +0000 (03:01 +0000)]
2009-03-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Oliver Hunt.
Bug 20049: testapi failure: MyObject - 0 should be NaN but instead is 1.
<https://bugs.webkit.org/show_bug.cgi?id=20049>
<rdar://problem/6079127>
In this case, the test is wrong. According to the ECMA spec, subtraction
uses ToNumber, not ToPrimitive. Change the test to match the spec.
* API/tests/testapi.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41896
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sun, 22 Mar 2009 02:52:41 +0000 (02:52 +0000)]
Ensure that JSObjectMakeFunction doesn't produce incorrect line numbers.
Reviewed by Cameron Zwarich.
Also make test api correctly propagate failures.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41895
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sun, 22 Mar 2009 01:40:26 +0000 (01:40 +0000)]
Make build-jsc build testapi and minidom in addition to jsc itself.
Reviewed by Mark Rowe.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41894
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sun, 22 Mar 2009 01:40:22 +0000 (01:40 +0000)]
Improve testapi by making it report failures in a way we can pick up
from our test scripts.
Reviewed by Mark Rowe.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41893
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 21 Mar 2009 18:34:36 +0000 (18:34 +0000)]
Rubber-stamped by Kevin Decker
- remove some redundant #include statements
* bindings/js/JSDOMWindowBase.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41892
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
xan@webkit.org [Sat, 21 Mar 2009 18:15:55 +0000 (18:15 +0000)]
Revert "2009-03-20 Mike Hommey <glandium@debian.org>"
This reverts commit
2ee472cbd180a196c08f3386b2b976d540a1d9e2.
Breaks JIT on x86 (at least linux) massively.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41891
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
xan@webkit.org [Sat, 21 Mar 2009 18:15:43 +0000 (18:15 +0000)]
Revert "2009-03-20 Mike Hommey <glandium@debian.org>"
This reverts commit
cb79d9c35d714a9e463a188a5cb295033715308e.
Breaks JIT on x86 (at least linux) massively.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41890
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 21 Mar 2009 06:02:24 +0000 (06:02 +0000)]
Reviewed by Mark Rowe.
- fix <rdar://problem/6574185> REGRESSION (3.2.2-TOT): hang in text drawing code
* platform/graphics/win/FontCGWin.cpp:
(WebCore::drawGDIGlyphs): Changed glyph stroking to fill and stroke each
glyph as a separate path, instead of all glyphs as a single path. This
matches what CGContextShowGlyphsWithAdvances() does, and has comparable
performance.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41889
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Sat, 21 Mar 2009 01:47:31 +0000 (01:47 +0000)]
2009-03-20 Dean Jackson <dino@apple.com>
Reviewed by Simon Fraser
Build fix for ENABLE(3D_RENDERING)
* rendering/RenderObject.h:
(WebCore::makeMatrixRenderable):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41888
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Sat, 21 Mar 2009 01:29:21 +0000 (01:29 +0000)]
2009-03-20 Mike Hommey <glandium@debian.org>
Reviewed by Gavin Barraclough. Landed by Jan Alonzo.
Enable JIT on x86-64
https://bugs.webkit.org/show_bug.cgi?id=24724
Enable JIT on x86-64 gtk+
* configure.ac:
* JavaScriptCore/GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41887
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Sat, 21 Mar 2009 01:18:16 +0000 (01:18 +0000)]
2009-03-20 Mike Hommey <glandium@debian.org>
Reviewed by Mark Rowe. Committed by Jan Alonzo.
Use the proper definition of RETURN_PAIR on !MSVC
The other version is actually a work around for a quirk in the windows
ABI, so checking whether we're under MSVC is more a appropriate check for
it. It also happens this workaround is not 64-bits safe, so we also error
out on x86-64 MSVC.
Thanks Gavin Barraclough.
* jit/JITStubs.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41886
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Sat, 21 Mar 2009 00:57:55 +0000 (00:57 +0000)]
2009-03-20 Adele Peterson <adele@apple.com>
Build fix.
Reviewed by Darin Adler.
* WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41885
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Sat, 21 Mar 2009 00:15:39 +0000 (00:15 +0000)]
2009-03-20 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
Fixed a JavaScriptCore crash on the Windows buildbot.
* bytecompiler/BytecodeGenerator.h: Reduced the AST recursion limit.
Apparently, Windows has small stacks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41884
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Fri, 20 Mar 2009 23:46:24 +0000 (23:46 +0000)]
2009-03-20 Tony Chang <tony@chromium.org>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=24679
Change the layout test from using a data: URL to using a file:///
URL for the iframe. If DRT's frame loader has
AllowLocalLoadsForLocalOnly, then it's not possible to load an image
from disk into the iframe. Since this test is about D&D, not
local load checks, switch to a local file that doesn't have this
problem.
This should fix the test on win DRT as well.
* fast/events/resources/standalone-image-drag-to-editable-frame.html: Added.
* fast/events/standalone-image-drag-to-editable.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41883
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Fri, 20 Mar 2009 23:46:18 +0000 (23:46 +0000)]
2009-03-20 Dave Moore <davemoore@google.com>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=24705
A bug in the V8 bindings is preventing chromium from setting the href on the
location object...any attempt throws a security error, not just for javascript
protocol
* page/Location.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41882
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Fri, 20 Mar 2009 23:46:12 +0000 (23:46 +0000)]
2009-03-20 Craig Schlenter <craig.schlenter@gmail.com>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=24608
Include stdio.h needed for printf on gcc 4.4.0
* platform/KURLGoogle.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41881
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Fri, 20 Mar 2009 23:46:04 +0000 (23:46 +0000)]
2009-03-20 Mike Belshe <mike@belshe.com>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=24577
Don't let comments at the end of an event handler
break the event handler.
No change in behavior, so no test.
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::getWrappedListenerFunction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41880
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Fri, 20 Mar 2009 23:45:58 +0000 (23:45 +0000)]
JavaScriptCore:
2009-03-20 Norbert Leser <norbert.leser@nokia.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=24535
Fixes missing line terminator character (;) after macro call.
It is common practice to add the trailing ";" where macros are substituted
and not where they are defined with #define.
This change is consistent with other macro declarations across webkit,
and it also solves compilation failure with symbian compilers.
* runtime/UString.cpp:
* wtf/Assertions.h:
WebCore:
2009-03-20 Norbert Leser <norbert.leser@nokia.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=24535
Fixes missing line terminator character (;) after macro call.
It is common practice to add the trailing ";" where macros are substituted
and not where they are defined with #define.
This change is consistent with other macro declarations across webkit,
and it also solves compilation failure with symbian compilers.
No change in behavior, so no test.
* bindings/js/JSDOMWindowShell.cpp:
* bindings/js/JSEventListener.cpp:
* bindings/js/JSImageConstructor.cpp:
* bindings/js/JSInspectedObjectWrapper.cpp:
* bindings/js/JSInspectorCallbackWrapper.cpp:
* bindings/js/JSNamedNodesCollection.cpp:
* bindings/js/JSNodeFilterCondition.cpp:
* bindings/js/JSOptionConstructor.cpp:
* bindings/js/JSQuarantinedObjectWrapper.cpp:
* bindings/js/JSRGBColor.cpp:
* bindings/js/JSWorkerContextBase.cpp:
* bindings/js/JSXMLHttpRequestConstructor.cpp:
* bindings/js/JSXSLTProcessorConstructor.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41879
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Fri, 20 Mar 2009 23:45:45 +0000 (23:45 +0000)]
2009-03-20 Mike Belshe <mike@belshe.com>
Reviewed by Dimitri Glazkov and Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=24324
Make the minimum timer configurable for different platforms.
* page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::fired):
* page/DOMTimer.h:
(WebCore::DOMTimer::minTimerInterval):
(WebCore::DOMTimer::setMinTimerInterval):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41878
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Fri, 20 Mar 2009 23:45:37 +0000 (23:45 +0000)]
2009-03-20 Dean McNamee <deanm@chromium.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=22834
Make sure to consistently match new/delete and fastMalloc/fastFree.
* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::adoptSelectorVector):
(WebCore::CSSSelectorList::deleteSelectors):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41877
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 20 Mar 2009 23:41:54 +0000 (23:41 +0000)]
WebCore:
Reviewed by Dave Hyatt.
- fix https://bugs.webkit.org/show_bug.cgi?id=23739
<rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::percentHeightDescendants): Added this accessor.
* rendering/RenderBlock.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows): Extended the check for
children that flex to include other descendants with percent height
which is relative to the cell.
LayoutTests:
Reviewed by Dave Hyatt.
- test, updated test and results for https://bugs.webkit.org/show_bug.cgi?id=23739
<rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load
* fast/replaced/percent-height-in-anonymous-block-in-table.html: Added.
* fast/replaced/table-percent-height-expected.txt:
* fast/replaced/table-percent-height.html:
* platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.checksum: Added.
* platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.png: Added.
* platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41876
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dimich@chromium.org [Fri, 20 Mar 2009 23:29:22 +0000 (23:29 +0000)]
2009-03-20 Dmitry Titov <dimich@chromium.org>
Fix broken LayoutTest/http/tests/workers/text-encoding.html.
Forgot to add a new file with the previous patch.
* http/tests/workers/resources/subworker-encoded.php: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41875
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@chromium.org [Fri, 20 Mar 2009 23:24:22 +0000 (23:24 +0000)]
2009-03-20 Alpha Lam <hclam@chromium.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=24721
The test in this change is just to verify a no crash. Full tree
dump is not necessary, so change to test to dumpAsText and update
the affected test results.
* fast/block/float/crash-on-absolute-positioning-expected.txt: Added.
* fast/block/float/crash-on-absolute-positioning.html:
* platform/mac/fast/block/float/crash-on-absolute-positioning-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41874
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Fri, 20 Mar 2009 23:03:15 +0000 (23:03 +0000)]
2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com>
Not reviewed. Fix style issues with my previous commit (r41866) as
suggested by Holger in https://bugs.webkit.org/show_bug.cgi?id=24493
* tests/testwebhistoryitem.c:
(test_webkit_web_history_item_get_data):
(test_webkit_web_history_item_alternate_title):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41873
268f45cc-cd09-0410-ab3c-
d52691b4dbfc