aroben@apple.com [Fri, 27 Mar 2009 18:37:16 +0000 (18:37 +0000)]
Don't include substitute data URLs in global history redirect chains
WebCore:
Don't include substitute data URLs in global history redirect chains
<rdar://6690169>
Reviewed by Darin Adler.
This might be testable if:
- support were added to DRT for providing substitute data on failed
loads
- support were added to DRT for dumping redirect chains
I tried doing the above and was still unable to make a test.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::updateHistoryForStandardLoad):
(WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList):
Call updateGlobalHistoryRedirectLinks only if the load succeeded
(i.e., there is no unreachableURL). Previous the FrameLoaderClient
implementations were unconditionally calling
updateGlobalHistoryRedirectLinks from within updateGlobalHistory.
WebKit/mac:
Don't include substitute data URLs in global history redirect chains
<rdar://6690169>
Reviewed by Darin Adler.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory): Don't call
updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now.
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
Added an assertion to help catch cases where we might be adding a
substitute data URL into a redirect chain.
WebKit/win:
Don't include substitute data URLs in global history redirect chains
<rdar://6690169>
Reviewed by Darin Adler.
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::updateGlobalHistory): Don't call
updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now.
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
Added an assertion to help catch cases where we might be adding a
substitute data URL into a redirect chain.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42046
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 27 Mar 2009 18:27:16 +0000 (18:27 +0000)]
2009-03-27 Darin Adler <darin@apple.com>
Reviewed by Adam Roben.
<rdar://problem/6541923> REGRESSION (r38629): Tab cycle in empty tab is broken
* WebView/WebHTMLView.mm:
(-[WebHTMLView _wantsKeyDownForEvent:]): Only return YES when we have a Frame.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42045
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pkasting@chromium.org [Fri, 27 Mar 2009 18:07:41 +0000 (18:07 +0000)]
2009-03-27 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=24861
Chromium port did not render decorations for <input type="search">.
This copies RenderThemeWin.*.
* css/themeChromiumWin.css: Removed.
* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
(WebCore::RenderThemeChromiumLinux::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeChromiumLinux::paintSearchFieldCancelButton):
(WebCore::RenderThemeChromiumLinux::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsButton):
* rendering/RenderThemeChromiumLinux.h:
(WebCore::RenderThemeChromiumLinux::paintSearchField):
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::):
(WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet):
(WebCore::RenderThemeChromiumWin::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeChromiumWin::paintSearchFieldCancelButton):
(WebCore::RenderThemeChromiumWin::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeChromiumWin::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeChromiumWin::paintSearchFieldResultsButton):
* rendering/RenderThemeChromiumWin.h:
(WebCore::RenderThemeChromiumWin::paintSearchField):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42044
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 27 Mar 2009 18:02:18 +0000 (18:02 +0000)]
WebCore:
2009-03-27 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser
If an object has a self-painting layer, don't count it as part of a block's visual overflow.
This fix has only been made for block-level children. The inline-level case is still broken
(and covered by an existing bug).
Added fast/block/positioning/negative-rel-position.html
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesVertically):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
LayoutTests:
2009-03-27 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser
Test case for relative positioning bug.
* fast/block/positioning/negative-rel-position.html: Added.
* platform/mac/fast/block/positioning/negative-rel-position-expected.checksum: Added.
* platform/mac/fast/block/positioning/negative-rel-position-expected.png: Added.
* platform/mac/fast/block/positioning/negative-rel-position-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42043
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 27 Mar 2009 18:00:50 +0000 (18:00 +0000)]
2009-03-27 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6642221>
REGRESSION: With the Movie widget, movie trailer fails to load if movie had been previously viewed
Add a dashboard specific workaround so that we always create renderers for object elements, even if display:none is set.
I've filed <rdar://problem/6731022> against the Movies widget.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::rendererIsNeeded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42042
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 27 Mar 2009 17:53:27 +0000 (17:53 +0000)]
2009-03-27 Darin Adler <darin@apple.com>
Reviewed by John Sullivan and Anders Carlsson.
<rdar://problem/5987442> Pasteboard not exposed to WebEditingDelegate for WebViewInsertActionPasted (needed for system services)
Added SPI to tell which pasteboard is currently being inserted.
I chose to put it on WebView to be forward-looking since we're migrating things
from WebHTMLView to WebView in the future.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Add calls to _setInsertionPasteboard.
(-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
* WebView/WebView.mm:
(-[WebViewPrivate dealloc]): Assert the pasteboard is nil.
(-[WebViewPrivate finalize]): Ditto.
(-[WebView _insertionPasteboard]): Return the pastebaord.
(-[WebView _setInsertionPasteboard:]): Set the pasteboard.
* WebView/WebViewInternal.h: Added _setInsertionPasteboard.
* WebView/WebViewPrivate.h: Added _insertionPasteboard.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42041
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Fri, 27 Mar 2009 17:50:15 +0000 (17:50 +0000)]
Expose new DOM methods as public Objective-C API.
WebCore:
2009-03-25 Timothy Hatcher <timothy@apple.com>
Expose new DOM methods as public Objective-C API.
<rdar://problem/5837350> Expose new DOM classes and methods
as public API (match the additions to the JavaScript DOM)
Reviewed by NOBODY (OOPS!).
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMHTML.h:
* bindings/objc/DOMPrivate.h:
* bindings/objc/PublicDOMInterfaces.h:
WebKit/mac:
2009-03-25 Timothy Hatcher <timothy@apple.com>
Expose new DOM methods as public Objective-C API.
<rdar://problem/5837350> Expose new DOM classes and methods
as public API (match the additions to the JavaScript DOM)
Reviewed by NOBODY (OOPS!).
* MigrateHeaders.make:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42040
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 27 Mar 2009 17:45:41 +0000 (17:45 +0000)]
2009-03-27 Zack Rusin <zack@kde.org>
Reviewed by Simon Hausmann.
https://bugs.webkit.org/show_bug.cgi?id=24280
Fix propagation of fill rules when rendering paths in the Qt build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42039
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 27 Mar 2009 17:40:45 +0000 (17:40 +0000)]
2009-03-27 Zack Rusin <zack@kde.org>
Reviewed by Tor Arne Vestbø.
https://bugs.webkit.org/show_bug.cgi?id=24275
Fix text field theming in the Qt build with the KDE 4 Oxygen
style by adjusting the size vertically and horizontally to
set padding on the element equal to the width of the style painted border.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42038
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 27 Mar 2009 16:23:01 +0000 (16:23 +0000)]
2009-03-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Darin Adler.
Bug 24884: Include strings.h for strcasecmp()
https://bugs.webkit.org/show_bug.cgi?id=24884
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42037
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 27 Mar 2009 13:05:11 +0000 (13:05 +0000)]
2009-03-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Simon Hausmann.
https://bugs.webkit.org/show_bug.cgi?id=24852
Build fix for GNU mode RVCT compilation
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42036
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 27 Mar 2009 12:59:24 +0000 (12:59 +0000)]
2009-03-27 Erik L. Bunce <elbunce@xendom.com>
Reviewed by Simon Hausmann.
https://bugs.webkit.org/show_bug.cgi?id=24869
Fixes an incorrect case in tst_qwebpage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42035
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 27 Mar 2009 12:50:10 +0000 (12:50 +0000)]
2009-03-27 Erik L. Bunce <elbunce@xendom.com>
Reviewed by Simon Hausmann.
https://bugs.webkit.org/show_bug.cgi?id=24868
Make text of the writing direction items more user friendly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42034
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 27 Mar 2009 12:47:20 +0000 (12:47 +0000)]
2009-03-27 Erik L. Bunce <elbunce@xendom.com>
Reviewed by Simon Hausmann.
https://bugs.webkit.org/show_bug.cgi?id=24274
Fixed the Qt 4.4 Mac build with netscape plugins enabled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42033
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Fri, 27 Mar 2009 11:54:22 +0000 (11:54 +0000)]
2009-03-27 Erik L. Bunce <elbunce@xendom.com>
Reviewed by Simon Hausmann.
https://bugs.webkit.org/show_bug.cgi?id=24746
Add new editing related QWebPage::WebActions
* Clipboard: PasteAndMatchStyle
* Formatting: RemoveFormat, ToggleStrikethrough, ToggleSubscript, and
ToggleSuperscript
* List Editing: InsertUnorderedList, InsertOrderedList, Indent, Outdent
* Paragraph Justification: AlignCenter, AlignJustified, AlignLeft, AlignRight
Improved selection and editing tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42032
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 27 Mar 2009 06:16:59 +0000 (06:16 +0000)]
Reviewed by David Hyatt.
Update fast/repaint/lines-with-layout-delta.html pixel results.
Hyatt says it's a progression, blame him if it ain't.
* platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum:
* platform/mac/fast/repaint/lines-with-layout-delta-expected.png:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42031
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 27 Mar 2009 05:19:07 +0000 (05:19 +0000)]
Try and fix the Qt build.
* platform/text/TextEncodingDetectorNone.cpp:
(WebCore::detectTextEncoding):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42030
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Fri, 27 Mar 2009 04:56:56 +0000 (04:56 +0000)]
2009-03-26 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=24874
24874: HTMLMediaElement: 'duration' defaults to NaN, deal with it
The 'duration' attribute is NaN when no media is available, so the
media element should take care when comparing with duration().
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Don't compare with duration when
it is NaN.
(WebCore::HTMLMediaElement::endedPlayback): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42029
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 27 Mar 2009 04:30:44 +0000 (04:30 +0000)]
Update layout test results for changes to Geeza Pro.
* platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.txt: Removed.
* platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt:
* platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.checksum.
* platform/mac/fast/text/international/bidi-AN-after-L-expected.png: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.png.
* platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
* platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.txt:
* platform/mac/fast/text/international/bidi-CS-after-AN-expected.txt:
* platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42028
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 27 Mar 2009 03:21:56 +0000 (03:21 +0000)]
Fix the build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42027
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Fri, 27 Mar 2009 02:51:43 +0000 (02:51 +0000)]
2009-03-26 Jungshik Shin <jshin@chromium.org>
Reviewed by Cameron Zwarich.
1. Fix the crash in setHintEncoding
2. Fix build failures on Tiger and Qt.
UnusedParam.h was not included by TextEncodingDetector{None,ICU}.cpp
in the patch landed in r42023
for http://bugs.webkit.org/show_bug.cgi?id=16482
* loader/TextResourceDecoder.h:
(WebCore::TextResourceDecoder::setHintEncoding):
* platform/text/TextEncodingDetectorICU.cpp:
* platform/text/TextEncodingDetectorNone.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42026
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 27 Mar 2009 01:27:16 +0000 (01:27 +0000)]
2009-03-26 Simon Fraser <simon.fraser@apple.com>
Build fix when ACCELERATED_COMPOSITING is turned on.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::canUseDirectCompositing):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42025
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 27 Mar 2009 01:12:01 +0000 (01:12 +0000)]
2009-03-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
https://bugs.webkit.org/show_bug.cgi?id=24864
Change the terminology from "inner content layer" to "direct compositing"
for cases where we can push an image directly over to the compositing system,
without having to draw it.
Clean up much of the code which looks at style to determine if this is possible,
and fix some bugs when backgrounds change dynamically.
* rendering/RenderLayerBacking.cpp:
(WebCore::hasBorderOutlineOrShadow):
(WebCore::hasBoxDecorations):
(WebCore::hasBoxDecorationsWithBackgroundImage):
(WebCore::RenderLayerBacking::canBeSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::canUseDirectCompositing):
(WebCore::RenderLayerBacking::detectDrawingOptimizations):
(WebCore::RenderLayerBacking::rendererContentChanged):
(WebCore::RenderLayerBacking::updateImageContents):
* rendering/RenderLayerBacking.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42024
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 27 Mar 2009 00:28:47 +0000 (00:28 +0000)]
No additional review, committing previously reviewed files for build fix only.
Add files I missed when commiting Jungshik's patch in r42022.
https://bugs.webkit.org/show_bug.cgi?id=16482
* icu/unicode/ucsdet.h: Added.
* platform/text/TextEncodingDetector.h: Added.
* platform/text/TextEncodingDetectorICU.cpp: Added.
(WebCore::detectTextEncoding):
* platform/text/TextEncodingDetectorNone.cpp: Added.
(WebCore::detectTextEncoding):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42023
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 27 Mar 2009 00:01:58 +0000 (00:01 +0000)]
2009-03-26 Jungshik Shin <jshin@chromium.org>
Reviewed by Alexey Proskuryakov.
Add an encoding detector 'hook' to TextResourceDecoder.
- add |usesEncodingDetector| to Settings. It's off by default.
- add a new encoding source type |EncodingFromParent|
to distinguish cases when the encoding is inherited from
the parent frame from cases when it's actually auto-detected.
- add TextEncodingDetector* to platform/text. Currently,
the only implementation uses ICU. Stub is added for
ports that do not use ICU and a build on Tiger. Mac OS
Tiger comes with ICU 3.2 that does not support encoding detector.
- add ucsdet.h to icu/unicode for ports using ICU.
Layout tests will be added once bug 20534 is fixed and a WebPreference
can be controlled in test_shell. With UsesEncodingDetector off, there
is no change to test.
http://bugs.webkit.org/show_bug.cgi?id=16482
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCore/GNUmakefile.am
* WebCore/WebCore.pro
* WebCore/WebCore.scons
* WebCore/WebCoreSources.bkl
* WebCore.base.exp
* icu/unicode/ucsdet.h
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::write): turn on/off encoding detector depending on Settings and set hintEncoding of TextResourceDecoder to the parent frame encoding if necessary and the security policy allows refering to the parent frame encoding.
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::TextResourceDecoder):
(WebCore::TextResourceDecoder::checkForCSSCharset): add check for EncodingFromParentFrame
(WebCore::TextResourceDecoder::checkForHeadCharset): ditto
(WebCore::TextResourceDecoder::shouldAutoDetect):
(WebCore::TextResourceDecoder::decode): call encoding detector if shouldAutoDetect returns true.
(WebCore::TextResourceDecoder::flush): if encoding is not determined by now, call encoding detector if shouldAutoDetect returns true.
* loader/TextResourceDecoder.h:
(WebCore::TextResourceDecoder::):
(WebCore::TextResourceDecoder::create):
(WebCore::TextResourceDecoder::setHintEncoding):
(WebCore::TextResourceDecoder::source):
* page/Settings.cpp: add m_usesEncodingDetector
(WebCore::Settings::Settings):
(WebCore::Settings::setUsesEncodingDetector):
* page/Settings.h:
(WebCore::Settings::usesEncodingDetector):
* platform/text/TextEncodingDetector.h: Added.
* platform/text/TextEncodingDetectorICU.cpp: Added.
(WebCore::detectTextEncoding):
* platform/text/TextEncodingDetectorNone.cpp: Added.
(WebCore::detectTextEncoding):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42022
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 26 Mar 2009 23:50:00 +0000 (23:50 +0000)]
2009-03-26 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
Removed code that casts EventListener down to derived classes
without type checking. A crash could happen if you added event
listeners with Objective-C and then manipulated the class with
JavaScript.
* bindings/js/JSDOMApplicationCacheCustom.cpp:
(WebCore::JSDOMApplicationCache::mark): Removed all the casts
and used the markIfNotNull function and mark functions on
EventListener instead.
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::mark): Ditto.
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::mark): Ditto.
* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorker::mark): Ditto.
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::mark): Ditto.
* bindings/js/JSXMLHttpRequestUploadCustom.cpp:
(WebCore::JSXMLHttpRequestUpload::mark): Ditto.
* bindings/js/JSEventListener.cpp:
(WebCore::JSAbstractEventListener::handleEvent): Used function,
the new name for what used to be called listenerObj.
(WebCore::JSAbstractEventListener::virtualIsInline): Renamed since
this doesn't need to be virtual for callers who have a pointer to
this class, not the base class.
(WebCore::JSEventListener::function): Renamed from listenerObj.
(WebCore::JSProtectedEventListener::function): Ditto.
* bindings/js/JSEventListener.h: Removed unneeded forward class
declarations. Made all virtual functions private since there's no
need to call any of them on a particular derived class, only on
EventListener. Explicitly declare JSEventListener::mark as virtual
since it's now overriding a function in the EventListener base class.
Made JSProtectedEventListener::m_globalObject protected so the
JSLazyEventListener derived class can use it directly instead of using
a virtual function to get the pointer.
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::parseCode): Use m_globalObject instead
of globalObject since the latter is a virtual function and there's no
need to pay virtual function overhead.
(WebCore::JSLazyEventListener::function): Renamed from listenerObj.
* bindings/js/JSLazyEventListener.h: Moved forward declaration of the
Node class here from JSEventListener.h.
* bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded cast to
JSEventListener when getting the script object from a listener.
* dom/EventListener.h: Added virtual function and mark functions
so we can extract the JavaScript function object or mark a JavaScript
event listener in a type safe manner.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42021
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pkasting@chromium.org [Thu, 26 Mar 2009 23:25:18 +0000 (23:25 +0000)]
2009-03-26 Peter Kasting <pkasting@google.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=24859
Use CSS file instead of code to adjust search field styling.
* css/themeWin.css:
* rendering/RenderThemeWin.cpp:
* rendering/RenderThemeWin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42020
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 26 Mar 2009 22:53:28 +0000 (22:53 +0000)]
2009-03-26 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
Split JSLazyEventListener out into its own separate source file.
We'll be removing JSAbstractEventListener and JSProtectedEventListener soon,
so leave those in the same file with JSEventListener.
* GNUmakefile.am: Added JSLazyEventListener.
* WebCore.pro: Ditto.
* WebCore.scons: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* WebCoreSources.bkl: Ditto.
* bindings/js/JSEventListener.cpp: Removed the JSLazyEventListener part.
Removed unneeded includes. Removed incorrect ASSERT_CLASS_FITS_IN_CELL, since
JSAbstractEventListener is not derived from JSCell.
* bindings/js/JSEventListener.h: Removed the JSLazyEventListener part
and the now-unneeded include of PlatformString.h.
* bindings/js/JSLazyEventListener.cpp: Copied from bindings/js/JSEventListener.cpp.
Kept only the JSLazyEventListener part.
(WebCore::eventParameterName): Made this have internal linkage by adding "static".
Also moved the default case out of the switch statement so we will get a warning
if we omit any cases in the future.
* bindings/js/JSLazyEventListener.h: Copied from bindings/js/JSEventListener.h.
Kept only the JSLazyEventListener part.
* bindings/js/ScriptController.cpp: Removed unneeded includes and sorted the
remanining ones. Include JSLazyEventListener.h instead of JSEventListener.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42019
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 26 Mar 2009 22:31:48 +0000 (22:31 +0000)]
WebCore:
2009-03-26 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
Renamed JSUnprotectedEventListener to JSEventListener.
And related renames.
Soon Geoff will make all JavaScript event listeners use mark instead
of protect, so there's no need to emphasize "unprotected".
* bindings/js/JSDOMApplicationCacheCustom.cpp:
(WebCore::JSDOMApplicationCache::mark):
(WebCore::JSDOMApplicationCache::addEventListener):
(WebCore::JSDOMApplicationCache::removeEventListener):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
(WebCore::JSDOMGlobalObject::findJSEventListener):
(WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
(WebCore::JSDOMGlobalObject::jsEventListeners):
(WebCore::JSDOMGlobalObject::jsInlineEventListeners):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::JSEventListener):
(WebCore::JSEventListener::~JSEventListener):
(WebCore::JSEventListener::listenerObj):
(WebCore::JSEventListener::globalObject):
(WebCore::JSEventListener::clearGlobalObject):
(WebCore::JSEventListener::mark):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::create):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::mark):
(WebCore::JSMessagePort::addEventListener):
(WebCore::JSMessagePort::removeEventListener):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::mark):
(WebCore::JSWorkerContext::addEventListener):
(WebCore::JSWorkerContext::removeEventListener):
* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorker::mark):
(WebCore::JSWorker::addEventListener):
(WebCore::JSWorker::removeEventListener):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::mark):
(WebCore::JSXMLHttpRequest::addEventListener):
(WebCore::JSXMLHttpRequest::removeEventListener):
* bindings/js/JSXMLHttpRequestUploadCustom.cpp:
(WebCore::JSXMLHttpRequestUpload::mark):
(WebCore::JSXMLHttpRequestUpload::addEventListener):
(WebCore::JSXMLHttpRequestUpload::removeEventListener):
* bindings/scripts/CodeGeneratorJS.pm:
All just renaming.
WebKitTools:
2009-03-26 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
* Scripts/do-webcore-rename:Update for rename of JSUnprotectedEventListener to
JSEventListener.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42018
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 26 Mar 2009 22:21:26 +0000 (22:21 +0000)]
WebCore:
2009-03-26 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
Renamed JSEventListener to JSProtectedEventListener.
And related renames.
Soon Geoff will make all JavaScript event listeners use mark instead
of protect, and so this class will be be obsolete. We will rename
JSUnrpotectedEventListener to JSEventListener in the next check-in,
since that one will remain.
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
(WebCore::JSDOMGlobalObject::findJSProtectedEventListener):
(WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
(WebCore::JSDOMGlobalObject::jsProtectedEventListeners):
(WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
* bindings/js/JSEventListener.cpp:
(WebCore::JSProtectedEventListener::JSProtectedEventListener):
(WebCore::JSProtectedEventListener::~JSProtectedEventListener):
(WebCore::JSProtectedEventListener::listenerObj):
(WebCore::JSProtectedEventListener::globalObject):
(WebCore::JSProtectedEventListener::clearGlobalObject):
(WebCore::JSLazyEventListener::JSLazyEventListener):
(WebCore::JSLazyEventListener::parseCode):
* bindings/js/JSEventListener.h:
(WebCore::JSProtectedEventListener::create):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::addEventListener):
(WebCore::JSNode::removeEventListener):
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::addEventListener):
(WebCore::JSSVGElementInstance::removeEventListener):
All just renaming.
WebKitTools:
2009-03-26 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
* Scripts/do-webcore-rename: Update for rename of JSEventListener to
JSProtectedEventListener. This includes all the related renames, but
not that one because that one renames the file.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42017
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 26 Mar 2009 21:28:09 +0000 (21:28 +0000)]
Copy testapi.js to $WebKitOutputDir on Windows
Part of Bug 24856: run-javascriptcore-tests should run testapi on
Windows
<https://bugs.webkit.org/show_bug.cgi?id=24856>
This matches what Mac does, which will help once we enable running
testapi from run-javascriptcore-tests on Windows.
Reviewed by Steve Falkenburg.
* JavaScriptCore.vcproj/testapi/testapi.vcproj: Copy testapi.js next
to testapi.exe.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42016
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 26 Mar 2009 20:39:48 +0000 (20:39 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42015
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 26 Mar 2009 20:35:57 +0000 (20:35 +0000)]
Reviewed by Anders Carlsson.
- fix <rdar://problem/6725042> BidiResolver::createBidiRunsForLine can
create runs extending beyond the end
No test because Safari does not use this version of
createBidiRunsForLine() with the end iterator not pointing to the end
of the text run.
* platform/text/BidiResolver.h:
(WebCore::BidiResolver::appendRun): Cap the end of the run at the end
of the line and set the reachedEndOfLine flag. This mirrors the logic
in the specialized version of appendRun() in bidi.cpp, which is why the
problem did not show up in HTML. Also avoid creating empty runs.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42013
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 26 Mar 2009 20:18:12 +0000 (20:18 +0000)]
Reduce run-webkit-tests's time out limit to 15 seconds (or 2.5 minutes under GuardMalloc)
The previous limit was 60 seconds (or 10 minutes under GuardMalloc).
There's no evidence that we need the limit to be this long, and having
it be so long just makes timed-out tests take forever to complete.
DRT's watchdog timer is 10 seconds, so still has time to fire before
run-webkit-tests will cut it off.
Reviewed by Simon Fraser.
* Scripts/run-webkit-tests:
(sub readFromDumpToolWithTimer): Reduced the limit to 15 seconds (or
2.5 mintues under GuardMalloc).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42012
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 26 Mar 2009 20:10:32 +0000 (20:10 +0000)]
Make DRT's watchdog timer actually work on Windows
We were previously trying to use a CFRunLoopTimer for the watchdog
timer on Windows. This doesn't work because we don't use a CFRunLoop
on the main thread on Windows.
This patch changes the watchdog timer on Windows be a normal Windows
timer.
Reviewed by Simon Fraser.
* DumpRenderTree/DumpRenderTree.h: Moved declaration of
waitToDumpWatchdog from here...
* DumpRenderTree/mac/DumpRenderTreeMac.h: ...to here.
* DumpRenderTree/win/DumpRenderTree.cpp:
(invalidateAnyPreviousWaitToDumpWatchdog): Added. This function
cancels an existing watchdog timer.
(dump): Call invalidateAnyPreviousWaitToDumpWatchdog. This will
prevent watchdogs from previous tests firing during subsequent ones.
This matches Mac's behavior.
* DumpRenderTree/win/DumpRenderTreeWin.h: Added a declaration of
waitToDumpWatchdog.
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(waitUntilDoneWatchdogFired): Converted this to be a Windows
TIMERPROC.
(LayoutTestController::setWaitToDump): Changed to use SetTimer instead
of CFRunLoopAddTimer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42011
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 26 Mar 2009 18:48:26 +0000 (18:48 +0000)]
2009-03-26 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
- Fix <rdar://problem/6687055> and <rdar://problem/6713639>.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInvalidateRect):
Call NetscapePluginInstanceProxy::invalidateRect.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::cleanup):
Stop the request timer, set m_pluginView to nil.
(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
No need to set m_pluginView to nil here anymore, it's now done in cleanup().
(WebKit::NetscapePluginInstanceProxy::performRequest):
(WebKit::NetscapePluginInstanceProxy::requestTimerFired):
Assert that the plug-in view is not nil.
(WebKit::NetscapePluginInstanceProxy::invalidateRect):
Call setNeedsDisplayInRect here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42010
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 26 Mar 2009 18:34:03 +0000 (18:34 +0000)]
2009-03-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
https://bugs.webkit.org/show_bug.cgi?id=23914
Tests: compositing/overflow/ancestor-overflow.html
compositing/overflow/parent-overflow.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
(WebCore::ClipRects::infiniteRect):
New static method that returns a large rect that is used by the clipping
logic.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
Use parentClipRects(), rather than calculateRects(), to compute the overflow
rect that we'll use to create a masking layer for composited clipping.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::clippedByAncestor):
Use parentClipRects() to see whether there's a layer between us and our
compositing ancestor which applies clipping.
(WebCore::RenderLayerCompositor::clipsCompositingDescendants):
A layer which imposes clipping to its children doesn't have to be a stacking
context; it might be a normal flow layer; in either case, we can rely on the
hasCompositingDescendant() bit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42009
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 26 Mar 2009 18:18:38 +0000 (18:18 +0000)]
Remove SafariThemeConstants.h, which is now provided by WebKitSupportLibrary
* win/include/SafariTheme: Removed.
* win/include/SafariTheme/SafariThemeConstants.h: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42008
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Thu, 26 Mar 2009 17:05:43 +0000 (17:05 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=24837
Escape key should dismiss select menu
Reviewed by Adam Roben.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupWndProc):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42007
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Thu, 26 Mar 2009 16:12:00 +0000 (16:12 +0000)]
Reviewed by Alexey Proskuryakov.
Make sure the script uses LF line endings even on Windows.
https://bugs.webkit.org/show_bug.cgi?id=24805
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42006
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Thu, 26 Mar 2009 15:21:33 +0000 (15:21 +0000)]
2009-03-26 Simon Hausmann <simon.hausmann@nokia.com>
Rubber-stamped by Tor Arne Vestbø.
Fix the documentation of the QLocale usage in userAgentForUrl.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42005
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 26 Mar 2009 15:06:45 +0000 (15:06 +0000)]
2009-03-25 Brian Weinstein <bweinstein@gmail.com>
Update Windows skipped list based on failures in r41995, to try and make Windows build-bot green.
<https://bugs.webkit.org/show_bug.cgi?id=24810>
Reviewed by Adam Roben
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42004
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 26 Mar 2009 14:26:06 +0000 (14:26 +0000)]
Reviewed by Adam Roben.
- add close() to the WebView API.
* Interfaces/IWebView.idl:
* WebView.cpp:
(WebView::close):
* WebView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42003
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos@webkit.org [Thu, 26 Mar 2009 14:24:15 +0000 (14:24 +0000)]
2009-03-26 Eli Fidler <eli.fidler@torchmobile.com>
Reviewed by George Staikos.
Remove warnings all over the place by making operator precedence
explicit in cases like x && y || z. No functional change.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42002
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kov@webkit.org [Thu, 26 Mar 2009 11:43:09 +0000 (11:43 +0000)]
2009-03-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=24804
[GTK] 401 responses cause rogue content to be loaded
Our soup code handles 401 responses itself, so we should not feed
the headers and data of those responses to the loader.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::gotHeadersCallback):
(WebCore::gotChunkCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42001
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ariya@webkit.org [Thu, 26 Mar 2009 09:31:55 +0000 (09:31 +0000)]
2009-03-20 Erik L. Bunce <elbunce@xendom.com>
Reviewed by Simon Hausmann.
Fix for InsertParagraphSeparator and InsertLineSeparator so that
QWebPage::action() creates QActions for them. Also make sure they get
updated appropriately.
* Api/qwebpage.cpp:
(QWebPagePrivate::updateEditorActions):
(QWebPage::action):
* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage::textEditing):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42000
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Thu, 26 Mar 2009 02:39:38 +0000 (02:39 +0000)]
Fix exception handling for instanceof in the interpreter.
Reviewed by Geoff Garen
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41999
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 26 Mar 2009 02:34:54 +0000 (02:34 +0000)]
2009-03-25 Geoffrey Garen <ggaren@apple.com>
Reviewed by Cameron Zwarich.
Fixed <rdar://problem/6724011> Write to freed memory in JSC::Label::deref
when reloading http://helpme.att.net/speedtest/
* bytecompiler/BytecodeGenerator.h: Reversed the declaration order for
m_labelScopes and m_labels to reverse their destruction order.
m_labelScopes has references to memory within m_labels, so its destructor
needs to run first.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41998
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 26 Mar 2009 02:12:27 +0000 (02:12 +0000)]
2009-03-25 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt and Darin Adler.
Fixed <rdar://problem/6603167> Crash in WebKit!JSC::JSGlobalObject::resetPrototype
during Stress test (#3 & #7 WER crashes for Safari 4 Beta)
The problem was that allocation of the global object would, for just a
moment, leave the global object's prototype unprotected from GC. This
bug doesn't apply to non-global DOM objects because their prototypes are
cached and marked by the global object.
No test case because the crashing condition is hard to deterministically
produce in a normal build, and in a Windows Release build with
COLLECT_ON_EVERY_ALLOCATION set to 1, existing tests crash/hang.
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::setWindow):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::initScript): Protect the global object's
prototype from GC during construction, since the global object does not
yet point to it, and therefore won't mark it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41997
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Thu, 26 Mar 2009 01:38:52 +0000 (01:38 +0000)]
2009-03-25 Dean Jackson <dino@apple.com>
Reviewed by Simon Fraser
https://bugs.webkit.org/show_bug.cgi?id=23361
When using hardware compositing, some images can be directly
rendered by the hardware - no need to draw them into a separate
context, therefore saving memory.
Only images with certain style properties can be directly
composited - basically anything that is not a simple image requires
the usual rendering path (eg. if the image has borders).
Test: compositing/direct-image-compositing.html
* manual-tests/resources/simple_image.png: Added.
* manual-tests/simple-image-compositing.html: Added.
* platform/graphics/Image.h:
(WebCore::Image::startAnimation):
- move this to public
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
- poke compositing layer if image has changed
(WebCore::RenderImage::notifyFinished):
- let the compositing layer know that it can render the image
* rendering/RenderImage.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::rendererContentChanged):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::canUseInnerContentLayer):
(WebCore::RenderLayerBacking::detectDrawingOptimizations):
(WebCore::RenderLayerBacking::rendererContentChanged):
* rendering/RenderLayerBacking.h:
- code to hook up direct compositing of images where
possible
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41996
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 25 Mar 2009 23:41:53 +0000 (23:41 +0000)]
Update test result search path for Windows now that it has updated versions of ICU, libxml2, and friends.
Rubber-stamped by Steve Falkenburg.
* Scripts/run-webkit-tests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41995
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 25 Mar 2009 23:06:41 +0000 (23:06 +0000)]
2009-03-25 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6714964>
CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit â
\80¢ WebNetscapePluginStream::deliverData + 775
Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually.
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::deliverData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41994
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 25 Mar 2009 22:37:56 +0000 (22:37 +0000)]
2009-03-25 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson.
Update layout test results for
https://bugs.webkit.org/show_bug.cgi?id=24809
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/win/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41993
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Wed, 25 Mar 2009 22:24:23 +0000 (22:24 +0000)]
2009-03-25 David Levin <levin@chromium.org>
Reviewed by Dimitri Glazkov.
Chromium build fix. Fix #include in V8NodeFilterCondition.cpp due to the
rename of V8NodeFilter to V8NodeFilterCondition.
* bindings/v8/V8NodeFilterCondition.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41992
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Wed, 25 Mar 2009 22:15:03 +0000 (22:15 +0000)]
Reviewed by Darin Adler.
Remove dead code and style cleanup
https://bugs.webkit.org/show_bug.cgi?id=24684
* html/CanvasStyle.cpp:
(WebCore::CanvasStyle::CanvasStyle):
Coverty was annoyed that we didn't initialize all of our members. I agree, but I didn't
want to paste all 8 members each time, so I just cleaned up the existing constructors and left them.
* page/FocusController.cpp:
(WebCore::FocusController::setFocusedNode):
"node" was checked just above and is already known to be non-null
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::insertOnlyThisLayer):
We were already using parentLayer w/o a NULL check above, so just add an explicit ASSERT and use it w/o NULL check
(WebCore::RenderLayer::resize):
element is already ASSERTed above, no need to null check it here
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addCell):
currentCell.cell was just assigned to the value "cell" which is known to be non-null, no need to null check again.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41991
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Wed, 25 Mar 2009 22:14:57 +0000 (22:14 +0000)]
Reviewed by Darin Adler.
Move ASSERT(foo) to before where foo-> is used
https://bugs.webkit.org/show_bug.cgi?id=24684
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeImage):
Move ASSERTs to the top of the function, code was using "node" before ASSERT(node), once I moved
ASSERT(node) to the top of the function it made sense to move the rest of them there too.
* rendering/SVGRenderSupport.cpp:
(WebCore::prepareToRenderSVGContent):
move ASSERT(object) to *before* we use "object" :)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41990
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Wed, 25 Mar 2009 22:14:52 +0000 (22:14 +0000)]
Reviewed by Simon Fraser.
Make TextTokenizer ASSERT that the buffer was freed
https://bugs.webkit.org/show_bug.cgi?id=24684
* loader/TextDocument.cpp:
(WebCore::TextTokenizer::TextTokenizer):
(WebCore::TextTokenizer::~TextTokenizer):
(WebCore::TextTokenizer::finish):
Make it clear by adding a ~TextTokenizer that finish() will always be called and the memory never leaked.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41989
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Wed, 25 Mar 2009 22:14:46 +0000 (22:14 +0000)]
Reviewed by Darin Adler.
Fix case where lBreak.obj->isBR() when lBreak.obj was NULL
https://bugs.webkit.org/show_bug.cgi?id=24684
I don't have a test case where we were taking the wrong path here
However, adding an ASSERT(lBreak.obj) before this usage caused
multiple bidi tests to fail, so lBreak.obj can be null here.
* rendering/bidi.cpp:
(WebCore::RenderBlock::findNextLineBreak):
lBreak.obj can be null, so we can't call ->isBR() on it unconditionally.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41988
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 25 Mar 2009 22:11:47 +0000 (22:11 +0000)]
2009-03-25 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler
https://bugs.webkit.org/show_bug.cgi?id=24817
When the slider range is zero, avoid a divide by zero, which caused the
thumb to be positioned off in the weeds, which broke painting.
Test: media/video-empty-source.html
* rendering/RenderSlider.cpp:
(WebCore::SliderRange::proportionFromValue):
(WebCore::SliderRange::valueFromProportion):
(WebCore::sliderPosition):
(WebCore::RenderSlider::setValueForPosition):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41987
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Wed, 25 Mar 2009 22:04:48 +0000 (22:04 +0000)]
Reviewed by Simon Fraser.
Style cleanup and dead code removal in dom, editing
https://bugs.webkit.org/show_bug.cgi?id=24684
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getUpperLeftCorner):
(WebCore::ContainerNode::getLowerRightCorner):
(WebCore::ContainerNode::getRect):
Coverty was (rightly) confused as to what the hell "o" was being used for
and whether or not it would ever be NULL. I added some ASSERTS so that people (and machines)
would be less confused about the logic in getUpperLeftCorner/getLowerRightCorner
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
Remove dead code, this block already checked that change == Force
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyle):
Coverty correctly identified that traversePreviousNodePostOrder can return NULL, thus
prev will be null, and we don't really explicitly handle it (like we probably should)
It's OK though, because we end up creating a null position object, which may not have
been what we intended, but we certainly don't crash.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
Remove dead code, insertionPosition.node() is already checked to be non-null above.
* editing/markup.cpp:
(WebCore::appendStartMarkup):
removed dead code, annotate is already known to be true at this point in the file
!annotate was checked above, and break; was called.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41986
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Wed, 25 Mar 2009 22:04:43 +0000 (22:04 +0000)]
Reviewed by Simon Fraser.
CSS dead code removal and cleanup from Coverty errors
https://bugs.webkit.org/show_bug.cgi?id=24684
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
Every other place in the code we check settings() for NULL, so I made these places
check too, even though we should never be resolving style against a document which has
no frame (which I believe is the only time settings() can be null)
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::styleSheetChanged):
Removing dead code, "root" can never be null here.
* css/SVGCSSStyleSelector.cpp:
(WebCore::colorFromSVGColorCSSValue):
(WebCore::CSSStyleSelector::applySVGProperty):
Extra returns in the old macros caused dead code. Removing the old macros and use modern
ones instead. :)
Extra null checks to value were not needed. Added an ASSERT at the top of the function
to make it clear that value will never be NULL.
Added colorFromSVGColorCSSValue to clean up the code a little.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41985
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Wed, 25 Mar 2009 22:04:37 +0000 (22:04 +0000)]
Reviewed by Simon Fraser.
Font fallback cleanup and added ASSERT for GlyphPageTreeNode
https://bugs.webkit.org/show_bug.cgi?id=24684
* css/CSSFontSelector.cpp:
(WebCore::compareFontFaces):
Coverty was concerned that it was possible to index off the end of weightFallbackRuleSets
I can't read the code well enough to tell, so I tried to make the code clearer
and added an ASSERT.
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):
Coverty believes we can crash here due to j being larger than GlyphPage::size. I think to is already
known to be < GlyphPage::size due to the min() statement above, but not being sure I added an ASSERT.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41984
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Wed, 25 Mar 2009 22:04:31 +0000 (22:04 +0000)]
Reviewed by Simon Fraser.
Coverty inspired fixes in Animations/Transforms
https://bugs.webkit.org/show_bug.cgi?id=24684
* page/animation/AnimationBase.h:
Fix animate() signatures to match so that the virtual methods actually override one another. :)
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
Attempt to fix this method, prevAnimation was never set to anything but NULL,
as far as I can tell the author originally intended to update it at the end
of the loop, which is what I changed this code to do.
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::animate):
Make method signature match AnimationBase::animate
* page/animation/ImplicitAnimation.h:
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::animate):
Make method signature match AnimationBase::animate
* page/animation/KeyframeAnimation.h:
* platform/graphics/transforms/PerspectiveTransformOperation.cpp:
(WebCore::PerspectiveTransformOperation::blend):
if (blendToIdentity) already returned above.
* platform/graphics/transforms/RotateTransformOperation.cpp:
(WebCore::RotateTransformOperation::blend):
if (blendToIdentity) already returned above.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41983
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos@webkit.org [Wed, 25 Mar 2009 21:31:44 +0000 (21:31 +0000)]
2009-03-25 Eli Fidler <eli.fidler@torchmobile.com>
Reviewed by George Staikos.
Fix compiler warnings regarding assignments in if statements.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41982
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 25 Mar 2009 21:25:22 +0000 (21:25 +0000)]
WebCore:
Reviewed by Dave Hyatt.
- fix <rdar://problem/6472150> repro crash in
RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using
menus
Test: fast/inline/continuation-positioned-reparenting.html
* rendering/RenderInline.cpp:
(WebCore::RenderInline::splitFlow): When repurposing the existing
container as the "pre" block, clear its positioned objects list, because
positioned descendants may end up in a different block after the split.
LayoutTests:
Reviewed by Dave Hyatt.
- test for <rdar://problem/6472150> repro crash in
RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using
menus
* fast/inline/continuation-positioned-reparenting-expected.txt: Added.
* fast/inline/continuation-positioned-reparenting.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41981
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 25 Mar 2009 19:52:03 +0000 (19:52 +0000)]
2009-03-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
https://bugs.webkit.org/show_bug.cgi?id=24784
Length values in transform operations need to take zoom into account.
Test: fast/transforms/transforms-with-zoom.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::createTransformOperations):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41980
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 25 Mar 2009 19:23:00 +0000 (19:23 +0000)]
WebCore:
2009-03-25 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=24809, background-clip/origin don't use the correct
values. Add support for the new values (while preserving the old values for backwards
compatibility).
Changed some existing test cases to use the new values.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFillProperty):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EFillBox):
* css/CSSValueKeywords.in:
LayoutTests:
2009-03-25 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
Change a few test cases to use the new values just to verify that they work.
https://bugs.webkit.org/show_bug.cgi?id=24809
* fast/backgrounds/size/backgroundSize17.html:
* fast/backgrounds/size/backgroundSize18.html:
* fast/backgrounds/size/backgroundSize19.html:
* fast/gradients/simple-gradients.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41979
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
brettw@chromium.org [Wed, 25 Mar 2009 18:18:11 +0000 (18:18 +0000)]
WebCore:
2009-03-25 Brett Wilson <brettw@dhcp-172-22-71-191.mtv.corp.google.com>
Reviewed by Dimitri Glazkov.
Fix complex text opacity on the Chromium Windows port.
https://bugs.webkit.org/show_bug.cgi?id=24757
Test: fast/text/complex-text-opacity.html
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
LayoutTests:
2009-03-25 Brett Wilson <brettw@dhcp-172-22-71-191.mtv.corp.google.com>
Reviewed by Dimitri Glazkov.
Fix complex text opacity on the Chromium Windows port.
https://bugs.webkit.org/show_bug.cgi?id=24757
* fast/text/complex-text-opacity.html: Added.
* platform/mac/fast/text/complex-text-opacity-expected.checksum: Added.
* platform/mac/fast/text/complex-text-opacity-expected.png: Added.
* platform/mac/fast/text/complex-text-opacity-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41978
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker@apple.com [Wed, 25 Mar 2009 17:30:01 +0000 (17:30 +0000)]
Reviewed by Kevin Decker.
<rdar://problem/6453738> call SetWindow when user creates a new tab
CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab.
Flash is excluded from this change in behavior, as it has historical WebKit-specific code
that isn't compatible with this change.
* Plugins/WebNetscapePluginView.h:
Added an _isFlash ivar.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView _createPlugin]):
Set the new _isFlash ivar based on the bundle identifier.
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
When using the CG drawing model and in a non-drawable state, set the portState
to NULL and return early.
(-[WebNetscapePluginView updateAndSetWindow]):
When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL.
Flash is an exception to this, due to its historical behavior.
(-[WebNetscapePluginView setWindowIfNecessary]):
Removed an assertion that was no longer true. The [NSView focus] view
is no longer guaranteed to be 'self' at this point.
Also modified the debug logging for CG plug-ins to include the size of the
window's clipRect, which was useful in verifying the correct behavior of this patch.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41977
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 25 Mar 2009 17:07:31 +0000 (17:07 +0000)]
WebCore:
2009-03-25 David Hyatt <hyatt@apple.com>
Reviewed by Eric Seidel
Fix for bug 23198, border images should not clip to border radii. The border-image should just ignore
the border-radius, since the assumption is that any desired rounding will be built into the border-image
itself.
Note that I do not agree with this change, but I am matching the spec.
Added fast/borders/border-image-border-radius.html
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):
LayoutTests:
2009-03-25 David Hyatt <hyatt@apple.com>
Reviewed by Eric Seidel
Test case for bug 23198.
* fast/borders/border-image-border-radius.html: Added.
* platform/mac/fast/borders/border-image-border-radius-expected.checksum: Added.
* platform/mac/fast/borders/border-image-border-radius-expected.png: Added.
* platform/mac/fast/borders/border-image-border-radius-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41976
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kov@webkit.org [Wed, 25 Mar 2009 15:09:24 +0000 (15:09 +0000)]
2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=24750
[GTK] requests download instead of displaying page
Fix the Content-Type headers we get from soup, so that we set a
proper media type on the ResourceResponse.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::fillResponseFromMessage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41975
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kov@webkit.org [Wed, 25 Mar 2009 14:49:31 +0000 (14:49 +0000)]
2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=24600
[GTK] responses with status code >= 400 should not be given special treatment
Do not special case requests that have HTTP responses >=
400. Redirects are handled automatically by libsoup, but the rest
of the responses should be treated like any other.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::):
(WebCore::gotHeadersCallback):
(WebCore::gotChunkCallback):
(WebCore::finishedCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41974
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 25 Mar 2009 14:36:31 +0000 (14:36 +0000)]
2009-03-25 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
Tidy up LegacyWebArchive a bit. And don't include favicons in web archives when
they are being used only for selections, not an entire document.
* WebCore.base.exp: Remove exported function that's not used in WebKit.
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createPropertyListRepresentation): Made a static member
function so it can share private things with other member functions. Added some FIXME
comments to a branch of code I think is dead. Changed boolean argument into a named
one. Renamed to match other similar functions.
(WebCore::LegacyWebArchive::createResourceResponseFromPropertyListData): Ditto.
(WebCore::LegacyWebArchive::createResource): Ditto.
(WebCore::LegacyWebArchive::create): Merged the create and init functions.
(WebCore::LegacyWebArchive::rawDataRepresentation): Added some assertions because
we should never fail to write (we can fail to read).
(WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Made a static
member function as above.
(WebCore::LegacyWebArchive::createFromSelection): Ditto.
(WebCore::LegacyWebArchive::create): Iterate the vector with indices rather than
iterators. Only include the favicon if the first node is the document since we don't
want to include the favicon when copying and pasting.
* loader/archive/cf/LegacyWebArchive.h: Made one of the create functions private.
Made the Mac-specific functions be static member functions. Made other helpers be
static member functions. Removed the nit function.
* loader/archive/cf/LegacyWebArchiveMac.mm:
(WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Updated
comment and made this a static member function.
(WebCore::LegacyWebArchive::createPropertyListRepresentation): Ditto. Also made
it so we only type cast in one place.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41973
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
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