bdash [Fri, 9 Mar 2007 03:57:17 +0000 (03:57 +0000)]
2007-03-09 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Tim Hatcher.
Sexy blog permalinks!
* blog/.htaccess: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20080
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Fri, 9 Mar 2007 03:11:46 +0000 (03:11 +0000)]
2007-03-08 MorganL <morganl.webkit@yahoo.com>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=13018
Bug 13018: allow embedders to override the definition of CRASH.
* wtf/Assertions.h: make it possible to override CRASH.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Fri, 9 Mar 2007 03:08:35 +0000 (03:08 +0000)]
2007-03-08 Mitz Pettel <mitz@webkit.org>
Reviewed by Brady.
- fix http://bugs.webkit.org/show_bug.cgi?id=13015
REGRESSION (r17233-r17241): Repro crash when leaving a page whose unload handler submits a form
Test: fast/loader/onunload-form-submit-crash-2.html
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading): Added null check.
2007-03-08 Mitz Pettel <mitz@webkit.org>
Reviewed by Brady.
- test for http://bugs.webkit.org/show_bug.cgi?id=13015
REGRESSION (r17233-r17241): Repro crash when leaving a page whose unload handler submits a form
* fast/loader/onunload-form-submit-crash-2-expected.txt: Added.
* fast/loader/onunload-form-submit-crash-2.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20078
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Fri, 9 Mar 2007 03:02:08 +0000 (03:02 +0000)]
2007-03-08 Bruce Q Hammond <bruceq@apple.om>
Reviewed by Darin.
Fix for http://bugs.webkit.org/show_bug.cgi?id=13009
Console spews "CGContextGetType: invalid context" non-stop on web site
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebBaseNetscapePluginView restorePortState:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20077
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Fri, 9 Mar 2007 02:37:56 +0000 (02:37 +0000)]
2007-03-09 Mark Rowe <mrowe@apple.com>
Reviewed by Adam.
* building/checkout.html: Update repository URL.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20076
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Fri, 9 Mar 2007 02:37:26 +0000 (02:37 +0000)]
LayoutTests:
Reviewed by harrison
<rdar://problem/
4903193>
On particular page, Copy is so slow it seems like a hang
Less messy DOM trees:
* editing/deleting/delete-
3857753-fix-expected.txt:
* editing/inserting/insert-
3786362-fix-expected.txt:
* editing/inserting/insert-
3907422-fix-expected.txt:
* editing/pasteboard/display-block-on-spans-expected.txt:
* editing/pasteboard/paste-
4035648-fix-expected.txt:
* editing/pasteboard/paste-
4039777-fix-expected.txt:
* editing/pasteboard/paste-line-endings-001-expected.txt:
* editing/pasteboard/paste-line-endings-006-expected.txt:
* editing/pasteboard/paste-list-001-expected.txt:
* editing/pasteboard/paste-pre-001-expected.txt:
* editing/pasteboard/paste-pre-002-expected.txt:
* editing/pasteboard/paste-table-001-expected.txt:
* editing/pasteboard/paste-table-002-expected.txt:
* editing/pasteboard/paste-text-003-expected.txt:
* editing/pasteboard/paste-text-011-expected.txt:
* editing/pasteboard/paste-text-015-expected.txt:
* editing/pasteboard/paste-text-016-expected.txt:
* editing/pasteboard/paste-text-017-expected.txt:
* editing/pasteboard/styled-element-markup-expected.txt:
* editing/pasteboard/testcase-9507-expected.txt:
* editing/style/smoosh-styles-001-expected.txt:
* editing/style/smoosh-styles-002-expected.txt:
* fast/lists/drag-into-marker-expected.txt:
Styles from style sheets are now inlined:
* webarchive/test-duplicate-resources-expected.txt:
* webarchive/test-frameset-expected.txt:
* webarchive/test-link-href-expected.txt:\
Two levels of nesting are removed, but text nodes are no
longer coalesced when they should be, investigating:
* editing/pasteboard/block-wrappers-necessary-expected.txt:
WebCore:
Reviewed by harrison
<rdar://problem/
4903193>
On particular page, Copy is so slow it seems like a hang
~2x speedup copying:
http://shakespeare.mit.edu/henryviii/full.html
Also produces less bloated markup.
* editing/markup.cpp:
(WebCore::startMarkup): Don't wrap text nodes in style spans.
For Elements, don't inline styles inherited from ancestors.
(WebCore::createMarkup): No longer necessary to find
the root's default style and pass it to startMarkup.
Add a wrapper span around the markup with the styles
that all nodes in the markup inherit (the inheritable
styles from the common ancestor container's computed style).
Added a FIXME about unecessary markup for inline ancestors
up to the commonAncestorBlock.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20075
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 9 Mar 2007 02:25:25 +0000 (02:25 +0000)]
Reviewed by Adele.
- <rdar://problem/
4470381> multipart/form-data boundary security vulnerability
By making the form data boundary a string with some random data in it, we reduce
the possibility that anyone could take advantage of it by creating a file that
intentionally has the boundary string in it.
* html/HTMLFormElement.h: Removed boundary(), setBoundary(), and m_boundary.
Marked a lot more stuff private.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement): Removed code to initialize
m_boundary.
(WebCore::randomNumber): Added. Function that returns a random number, including
seeding the random number generator the first time it's called. For now, usees the more
random function random() on Mac OS X and the more-standard rand() on other platforms.
(WebCore::HTMLFormElement::formData): Take a parameter with the form boundary string,
and use that instead of m_boundary.
(WebCore::getUniqueBoundaryString): Added. Makes a boundary string using random numbers
and base 64 encoding.
(WebCore::HTMLFormElement::submit): Call getUniqueBoundaryString and pass the boundary
string into formData for multipart form posts.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20074
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Fri, 9 Mar 2007 02:15:19 +0000 (02:15 +0000)]
2007-03-08 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
<rdar://problem/
4561772> HIWebView does not exist for 64-bit
Update HIWebView and friends to work without QuickDraw.
Changes are gleaned from the 64-bit support inside HICocoaView. The main
fact of interest are that all Carbon windows must have compositing enabled
so the code paths that aren't accessible are #ifdef'd out. Conveniently
these are the exact code paths that make use of QuickDraw.
There are currently minor event-handling and invalidation issues running as
64-bit that are not present in 32-bit.
* Carbon/CarbonUtils.m:
* Carbon/CarbonWindowAdapter.m:
* Carbon/CarbonWindowFrame.m:
* Carbon/HIViewAdapter.m:
(SetViewNeedsDisplay):
* Carbon/HIWebView.m:
(Draw):
(Click):
(SyncFrame):
(StartUpdateObserver):
(StopUpdateObserver):
(UpdateObserver):
* WebKit.LP64.exp: Removed.
* WebKit.xcodeproj/project.pbxproj: Always use WebKit.exp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20073
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 9 Mar 2007 02:12:43 +0000 (02:12 +0000)]
LayoutTests:
Reviewed by Adele.
<rdar://problem/
4646563> REGRESSION: Unable to send text message from Verizon text message website: vtext.com (12588)
http://bugs.webkit.org/show_bug.cgi?id=12588
Carefully revised which focus operations restore previous selection, which clear it, and which
select the whole control contents, these test cases cover every focus call I could find.
* fast/forms/focus-selection-input-expected.txt: Added.
* fast/forms/focus-selection-input.html: Added.
* fast/forms/focus-selection-textarea-expected.txt: Added.
* fast/forms/focus-selection-textarea.html: Added.
* fast/forms/onselect-textfield-expected.txt:
WebCore:
Reviewed by Adele.
<rdar://problem/
4646563> REGRESSION: Unable to send text message from Verizon text message website: vtext.com (12588)
http://bugs.webkit.org/show_bug.cgi?id=12588
Carefully revised which focus operations restore previous selection, which clear it, and which
select the whole control contents.
Tests:
fast/forms/focus-selection-input.html
fast/forms/focus-selection-textarea.html
* dom/Element.cpp:
(WebCore::Element::focus):
* dom/Element.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::focus):
(WebCore::HTMLInputElement::accessKeyAction):
* html/HTMLInputElement.h:
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::focus):
(WebCore::HTMLLabelElement::accessKeyAction):
* html/HTMLLabelElement.h:
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::focus):
* html/HTMLLegendElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::focus):
* html/HTMLTextAreaElement.h:
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocus):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20072
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Fri, 9 Mar 2007 00:33:32 +0000 (00:33 +0000)]
LayoutTests:
Reviewed by harrison
<http://bugs.webkit.org/show_bug.cgi?id=12244>
FCKeditor: Find dialog doesn't work
* editing/execCommand/12244-expected.txt: Added.
* editing/execCommand/12244.html: Added.
* fast/dom/Window/window-properties-expected.txt:
WebCore:
Reviewed by harrison
<http://bugs.webkit.org/show_bug.cgi?id=12244>
FCKeditor: Find dialog doesn't work
* bindings/js/kjs_window.cpp:
(KJS::Window::find): Added. This function doesn't yet
support whole word searches, searching in subframes, or
opening the find dialog.
(KJS::WindowFunc::callAsFunction):
* bindings/js/kjs_window.h:
(KJS::Window::):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20071
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 8 Mar 2007 23:58:11 +0000 (23:58 +0000)]
Fix regression from throwing away frames of large animated images. Alter
animated images so that they refuse to advance the animation until the
current displayed frame has been fully decoded.
Reviewed by ggaren
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::startAnimation):
(WebCore::BitmapImage::advanceAnimation):
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::frameIsCompleteAtIndex):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20070
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 8 Mar 2007 23:33:43 +0000 (23:33 +0000)]
Fix 2% performance regression on the PLT. Increase the large animated
image cutoff from 1MB to 5MB.
In addition when pruning we will aggressively discard image sources.
Reviewed by ggaren
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20069
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Thu, 8 Mar 2007 22:42:16 +0000 (22:42 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20068
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Thu, 8 Mar 2007 22:16:07 +0000 (22:16 +0000)]
WebCore:
Reviewed by John.
<rdar://problem/
4664697> highlighter SPI needs a node parameter to give more context
Pass the RenderObject's node to customHighlightLineRect and paintCustomHighlight.
* page/Frame.h:
* page/mac/FrameMac.mm:
(WebCore::Frame::customHighlightLineRect):
(WebCore::Frame::paintCustomHighlight):
* page/mac/WebCoreFrameBridge.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintCustomHighlight):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintCustomHighlight):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::addHighlightOverflow):
(WebCore::RootInlineBox::paintCustomHighlight):
WebKit:
Reviewed by John.
<rdar://problem/
4664697> highlighter SPI needs a node parameter to give more context
Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]):
(-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
* WebKit.xcodeproj/project.pbxproj:
* WebView/WebHTMLViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20067
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Thu, 8 Mar 2007 22:00:53 +0000 (22:00 +0000)]
LayoutTests:
Reviewed by harrison
<http://bugs.webkit.org/show_bug.cgi?id=13000>
Range.createContextualFragment is not supported
* fast/dom/Range/13000-expected.txt: Added.
* fast/dom/Range/13000.html: Added.
WebCore:
Reviewed by harrison
<http://bugs.webkit.org/show_bug.cgi?id=13000>
Range.createContextualFragment is not supported
* dom/Range.cpp:
(WebCore::Range::createContextualFragment): The
"startContainer" may not be a container, if the
range starts inside text. In that case, look
to the parent of the start node for an HTMLElement.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20066
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Thu, 8 Mar 2007 20:49:37 +0000 (20:49 +0000)]
LayoutTests:
Reviewed by harrison
<rdar::/problem/
5049671>
Gmail Editor: With linked text, Remove Formatting doesn't always remove underline
* editing/execCommand/
5049671-expected.checksum: Added.
* editing/execCommand/
5049671-expected.png: Added.
* editing/execCommand/
5049671-expected.txt: Added.
* editing/execCommand/
5049671.html: Added.
WebCore:
Reviewed by harrison
<rdar://problem/
5049671>
Gmail Editor: With linked text, Remove Formatting doesn't always remove underline
* editing/Editor.cpp:
(WebCore::Editor::removeFormattingAndStyle): Clear removed
anchors after the deletion.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20065
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Thu, 8 Mar 2007 18:33:04 +0000 (18:33 +0000)]
Attempt to fix the build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20064
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Thu, 8 Mar 2007 15:03:56 +0000 (15:03 +0000)]
WebCore:
Reviewed by NOBODY (build fix).
Added missing file for r20059:
<rdar://problem/
4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail.
File was taken from this svn repository which contained versions of ucnv.h and ucnv_err.h
that were identical to ours:
http://source.icu-project.org/repos/icu/icu/tags/release-3-2/source/common/unicode/ucnv_cb.h
* icu/unicode/ucnv_cb.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20062
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 8 Mar 2007 13:57:12 +0000 (13:57 +0000)]
2007-03-09 Shrikant Gangoda <shrikant.gangoda@celunite.com>
Gdk build fix.
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::~ImageSource):
(WebCore::ImageSource::clear):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20061
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 8 Mar 2007 12:09:29 +0000 (12:09 +0000)]
2007-03-08 Mark Rowe <mrowe@apple.com>
Reviewed by Antti.
Fix compiler warnings when building Drosera as 64-bit.
* Drosera/DebuggerDocument.m:
(-[DebuggerDocument breakpointEditorHTML]): Move away from deprecated NSString method.
(-[DebuggerDocument scriptConfirmSheetDidEnd:returnCode:contextInfo:]): Update type.
(-[DebuggerDocument webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]): Update type to accommodate constant.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20060
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 8 Mar 2007 11:08:53 +0000 (11:08 +0000)]
2007-03-08 Oliver Hunt <oliver@apple.com>
Reviewed by Adam.
WebCore:
To match old TEC behaviour when using ICU we need to use
a few manual fallback encodings for the GBK/EUC-CN charsets
<rdar://problem/
4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail.
* platform/TextCodecICU.cpp:
(WebCore::TextCodecICU::TextCodecICU):
(WebCore::TextCodecICU::createICUConverter):
(WebCore::gbkEscapes):
(WebCore::gbkCallbackEscape):
(WebCore::gbkCallbackSubstitute):
(WebCore::TextCodecICU::encode):
* platform/TextCodecICU.h:
(WebCore::TextCodecICU::needsGBKFallbacks):
(WebCore::TextCodecICU::setNeedsGBKFallbacks):
LayoutTests:
Adding GBK character encoding tests
* fast/encoding/char-encoding-expected.txt:
* fast/encoding/char-encoding.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20059
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 8 Mar 2007 09:12:06 +0000 (09:12 +0000)]
Try fixing the buildbot build.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20058
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Thu, 8 Mar 2007 08:48:55 +0000 (08:48 +0000)]
WebCore:
Build fix.
* xml/XPathUtil.cpp:
(WebCore::XPath::stringValue):
LayoutTests:
Added a test for attribute node string-value.
* fast/xpath/string-value-expected.txt:
* fast/xpath/string-value.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20057
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 8 Mar 2007 08:43:35 +0000 (08:43 +0000)]
This patch dramatically reduces the memory consumed by animated images. For large animated GIFs (defined for
now as >1mb in terms of decoded frame buffer size), we will now aggressively flush previous frames of the
animated GIF and just re-decode them on the fly if the animation loops.
Whenever a large animated GIF has its animation reset, we will also just throw out everything and start
the animation over (in order to get rid of any cached detritus held in the ImageSource).
With this patch and the sample GIF used to test, WebKit's memory consumption went from 160MB down to 16MB.
Reviewed by mjs
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::resetAnimation):
(WebCore::BitmapImage::advanceAnimation):
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::~ImageSource):
(WebCore::ImageSource::clear):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20056
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Thu, 8 Mar 2007 08:16:04 +0000 (08:16 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=13006
XPath string-value is broken for some node types
Test: fast/xpath/string-value.html
* xml/XPathUtil.cpp:
(WebCore::XPath::stringValue): Fix it :-)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20055
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Thu, 8 Mar 2007 08:02:21 +0000 (08:02 +0000)]
Added bug number and fixed email address.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20054
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 8 Mar 2007 07:15:04 +0000 (07:15 +0000)]
Reviewed by Adam.
<rdar://problem/
4981000>
http://bugs.webkit.org/show_bug.cgi?id=12634
REGRESSION: crash loading web archive (12634)
The reason this bug wasn't always reproducible is that it involved sending an event to a plugin while
the page was loading. Before we send the event to the plugin we defer loads. The problem was that
MainResourceLoader::setDefersLoad would not work with data loads.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setRequest):
Only set m_committed to false if we also have a valid unreachable URL.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::setDefersLoading):
Make sure to stop and start data loads.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20053
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kjk [Thu, 8 Mar 2007 07:01:20 +0000 (07:01 +0000)]
Not reviewed.
Gdk build fixes.
* platform/gdk/EditorClientGdk.cpp:
(WebCore::EditorClientGdk::handleKeypress): renamed
(WebCore::EditorClientGdk::handleInputMethodKeypress): add a stub
* platform/gdk/EditorClientGdk.h:
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::destroyFrameAtIndex): add a stub
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20052
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Thu, 8 Mar 2007 03:47:34 +0000 (03:47 +0000)]
LayoutTests:
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=13004
Repeatedly calling XPathExpression.evaluate() causes crashes or memory leaks
* fast/xpath/evaluate-twice-expected.txt: Added.
* fast/xpath/evaluate-twice.html: Added.
WebCore:
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=13004
Repeatedly calling XPathExpression.evaluate() causes crashes or memory leaks
Removed XPath::Expression::optimize() and related methods, since they were buggy and almost useless.
Merged doEvaluate() into evaluate(), since this was all evaluate() was doing after the above changes.
Test: fast/xpath/evaluate-twice.html
* xml/XPathExpression.cpp:
(WebCore::XPathExpression::evaluate):
* xml/XPathExpressionNode.cpp:
(WebCore::XPath::Expression::Expression):
(WebCore::XPath::Expression::~Expression):
* xml/XPathExpressionNode.h:
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunLast::evaluate):
(WebCore::XPath::FunPosition::evaluate):
(WebCore::XPath::FunId::evaluate):
(WebCore::XPath::FunLocalName::evaluate):
(WebCore::XPath::FunNamespaceURI::evaluate):
(WebCore::XPath::FunName::evaluate):
(WebCore::XPath::FunCount::evaluate):
(WebCore::XPath::FunString::evaluate):
(WebCore::XPath::FunConcat::evaluate):
(WebCore::XPath::FunStartsWith::evaluate):
(WebCore::XPath::FunContains::evaluate):
(WebCore::XPath::FunSubstringBefore::evaluate):
(WebCore::XPath::FunSubstringAfter::evaluate):
(WebCore::XPath::FunSubstring::evaluate):
(WebCore::XPath::FunStringLength::evaluate):
(WebCore::XPath::FunNormalizeSpace::evaluate):
(WebCore::XPath::FunTranslate::evaluate):
(WebCore::XPath::FunBoolean::evaluate):
(WebCore::XPath::FunNot::evaluate):
(WebCore::XPath::FunTrue::evaluate):
(WebCore::XPath::FunLang::evaluate):
(WebCore::XPath::FunFalse::evaluate):
(WebCore::XPath::FunNumber::evaluate):
(WebCore::XPath::FunSum::evaluate):
(WebCore::XPath::FunFloor::evaluate):
(WebCore::XPath::FunCeiling::evaluate):
(WebCore::XPath::FunRound::evaluate):
* xml/XPathPath.cpp:
(WebCore::XPath::Filter::evaluate):
(WebCore::XPath::LocationPath::evaluate):
(WebCore::XPath::Path::evaluate):
* xml/XPathPath.h:
* xml/XPathPredicate.cpp:
(WebCore::XPath::Number::evaluate):
(WebCore::XPath::StringExpression::evaluate):
(WebCore::XPath::Negative::evaluate):
(WebCore::XPath::NumericOp::evaluate):
(WebCore::XPath::EqTestOp::evaluate):
(WebCore::XPath::LogicalOp::evaluate):
(WebCore::XPath::Union::evaluate):
* xml/XPathPredicate.h:
* xml/XPathStep.cpp:
* xml/XPathStep.h:
* xml/XPathVariableReference.cpp:
(WebCore::XPath::VariableReference::evaluate):
* xml/XPathVariableReference.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20051
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 8 Mar 2007 03:31:33 +0000 (03:31 +0000)]
The change to go along with Anders' ChangeLog entry.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20050
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 8 Mar 2007 03:18:31 +0000 (03:18 +0000)]
Leopard build fix.
* Plugins/WebBaseNetscapePluginView.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20049
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Thu, 8 Mar 2007 03:15:19 +0000 (03:15 +0000)]
Reviewed by Tim H.
Remove unused #import from Objective-C bindings and cleanup the order of #imports.
* bindings/scripts/CodeGeneratorObjC.pm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20048
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Thu, 8 Mar 2007 02:43:05 +0000 (02:43 +0000)]
Reviewed by Tim H.
Make sure the baseURI attribute generates for private Objective-C bindings.
* dom/Node.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20047
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 8 Mar 2007 02:18:49 +0000 (02:18 +0000)]
Reviewed by Maciej.
<rdar://problem/
4874059>
REGRESSION: Painter IX:register - Crash in WebCore:: ResourceLoader::willSendRequest()
If a load is done from inside of an error delegate method that is called because we cancel another load,
the first load should be ignored since this is what shipping WebKit does.
(Actually, it does load the page in the data source but doesn't do anything with it since the data source
won't have a web frame).
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::load):
Just bail out if m_isStoppingLoad is true.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20046
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 8 Mar 2007 02:09:07 +0000 (02:09 +0000)]
Use CGImageRelease instead of CFRelease.
Reviewed by aroben
* platform/graphics/cg/ImageCG.cpp:
(WebCore::FrameData::clear):
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::destroyFrameAtIndex):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20045
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 8 Mar 2007 02:00:25 +0000 (02:00 +0000)]
Fix a regression where the cache size overflows because of a double
subtraction per resource when they got removed from the cache. Add an
assert to adjustSize to detect this case in the future.
Fix ImageSourceCG so that when we flush decoded data from our cache that
we also flush it from the ImageSource.
Reviewed by mjs
* loader/Cache.cpp:
(WebCore::Cache::adjustSize):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::~BitmapImage):
(WebCore::BitmapImage::destroyDecodedData):
* platform/graphics/Image.h:
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::setData):
(WebCore::ImageSource::destroyFrameAtIndex):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20044
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 8 Mar 2007 01:42:39 +0000 (01:42 +0000)]
2007-03-07 Anrong Hu <huanr@yahoo.com>
Reviewed by Maciej.
Fix http://bugs.webkit.org/show_bug.cgi?id=12535
Bug 12535: Stack-optimizing compilers can trick GC into freeing in-use objects
* kjs/internal.cpp:
(KJS::StringImp::toObject): Copy val onto the stack so it is not subject to garbage collection.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20043
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 8 Mar 2007 01:34:23 +0000 (01:34 +0000)]
2007-03-07 Bruce Q Hammond <bruceq@apple.om>
Reviewed by Darin.
This fixes a problem with Netscape-style Plug-ins which draw through the Quickdraw APIs
being unable to render into offscreen bitmap contexts.
This patches both saveAndSetNewPortStateForUpdate: and restorePortState:
These methods now check the current context and see if appropriate setup/cleanup needs to be done
for offscreen rendering.
* Plugins/WebBaseNetscapePluginView.mm:
(QDPixelFormatFromCGBitmapInfo):
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebBaseNetscapePluginView restorePortState:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20042
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 8 Mar 2007 01:29:17 +0000 (01:29 +0000)]
2007-03-07 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=13002
Incomplete repaint of inset outlines
Test: fast/repaint/outline-inset.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2007-03-07 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- repaint test for http://bugs.webkit.org/show_bug.cgi?id=13002
Incomplete repaint of inset outlines
* fast/repaint/outline-inset-expected.checksum: Added.
* fast/repaint/outline-inset-expected.png: Added.
* fast/repaint/outline-inset-expected.txt: Added.
* fast/repaint/outline-inset.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20041
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 8 Mar 2007 01:16:19 +0000 (01:16 +0000)]
Reviewed by Darin.
Use HardRetain/HardRelease.
* WebView/WebDocumentLoaderMac.mm:
(WebDocumentLoaderMac::setDataSource):
(WebDocumentLoaderMac::attachToFrame):
(WebDocumentLoaderMac::detachFromFrame):
(WebDocumentLoaderMac::increaseLoadCount):
(WebDocumentLoaderMac::decreaseLoadCount):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20040
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 8 Mar 2007 01:09:50 +0000 (01:09 +0000)]
Reviewed by Maciej.
<rdar://problem/
4961259>
REGRESSION: Bumper Car 2.1.1 - Crash at WebCore::FrameLoader::receivedMainResourceError when encountering a invalid URL address
(The crash was already fixed, this actually makes Bumper Car load the error page correctly.)
This adds a "load counter" to the document loader and keeps the data source retained for as long as something is loading.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSendRequest):
Increase the load counter.
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
Decrease the load counter,
* WebView/WebDocumentLoaderMac.h:
* WebView/WebDocumentLoaderMac.mm:
(WebDocumentLoaderMac::WebDocumentLoaderMac):
(WebDocumentLoaderMac::attachToFrame):
If the document loader has been detached, make sure to retain its data source here.
(WebDocumentLoaderMac::detachFromFrame):
Release the data source.
(WebDocumentLoaderMac::increaseLoadCount):
Retain the data source if load count was 0.
(WebDocumentLoaderMac::decreaseLoadCount):
Release the data source if load count becomes 0
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20039
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 8 Mar 2007 01:07:17 +0000 (01:07 +0000)]
2007-03-07 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej.
Update check-for-global-initializers to ignore new debug initializers in bidi.o and kjs_events.o.
* Scripts/check-for-global-initializers:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20038
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Wed, 7 Mar 2007 23:33:03 +0000 (23:33 +0000)]
Updating the localized strings.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20037
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Wed, 7 Mar 2007 23:32:39 +0000 (23:32 +0000)]
Fixing a comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20036
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Wed, 7 Mar 2007 23:03:19 +0000 (23:03 +0000)]
2007-03-07 Oliver Hunt <oliver@apple.com>
Reviewed by Antti.
Reset mouse down/drag state variables on mouse button release
Fixes <rdar://problem/
5044654>: Drag out of some QuickTime plug-ins converting into image drag
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20031
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Wed, 7 Mar 2007 22:49:48 +0000 (22:49 +0000)]
WebCore:
Reviewed by Darin.
WebCore part of fix for:
http://bugs.webkit.org/show_bug.cgi?id=10871
http://bugs.webkit.org/show_bug.cgi?id=12677
<rdar://problem/
4823129> REGRESSION: IME key events different in nightly
<rdar://problem/
4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
* page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Call handleInputMethodKeypress before actually dispatching the keypress event
so that input methods have a chance to handle the event.
If the input method handles the event (by marking or unmarking text), then we don't need to send the keypress event.
If an input method doesn't handle the event, then we'll save the data we need to perform the correct action (like what text to insert or what selector to use)
when we dispatch the keypress event.
* dom/KeyboardEvent.h: Added Mac-specific KeypressCommand struct, so we can store command info during handleInputMethodKeypress, and use it during handleKeypress.
(WebCore::KeyboardEvent::keypressCommand):
(WebCore::KeyboardEvent::setKeypressCommand):
* bridge/EditorClient.h:
* editing/Editor.cpp:
(WebCore::Editor::handleKeypress): Changed handleKeyPress to handleKeypress.
(WebCore::Editor::handleInputMethodKeypress): Added.
* editing/Editor.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress.
(WebCore::SVGEmptyEditorClient::handleInputMethodKeypress): Added.
WebKit:
Reviewed by Darin.
WebKit part of fix for:
http://bugs.webkit.org/show_bug.cgi?id=10871
http://bugs.webkit.org/show_bug.cgi?id=12677
<rdar://problem/
4823129> REGRESSION: IME key events different in nightly
<rdar://problem/
4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
* WebView/WebHTMLView.mm:
(-[WebHTMLView _interceptEditingKeyEvent: shouldSaveCommand:]): Added shouldSaveCommand field to WebHTMLViewInterpretKeyEventsParameters.
When shouldSaveCommand is true, we call interpretKeyEvents and in doCommandBySelector and insertText, we just save the information without performing any action.
When shouldSaveCommand is false, we used the saved information and call doCommandBySelector and insertText directly.
If there's no saved command data in the KeyboardEvent, call interpretKeyEvents, and honor the shouldSaveCommand argument. This allows repeating keypress events
to function normally.
(-[WebHTMLView doCommandBySelector:]): If the WebHTMLViewInterpretKeyEventsParameters shouldSaveCommand field is set, then
just save the selector information in the KeyboardEvent, and don't perform the action.
(-[WebHTMLView insertText:]): ditto.
insertText can be called from an input method or from normal key event processing
If its from an input method, then we should go ahead and insert the text now.
The only way we know if its from an input method is to check hasMarkedText. There might be a better way to do this.
* WebView/WebHTMLViewInternal.h: Added shouldSaveCommand argument.
* WebView/WebViewInternal.h: ditto.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress. Call _interceptEditingKeyEvent with shouldSaveCommand:NO.
(WebEditorClient::handleInputMethodKeypress): Call _interceptEditingKeyEvent with shouldSaveCommand:YES.
WebKitQt:
Reviewed by Darin.
WebKitQT part of fix for:
http://bugs.webkit.org/show_bug.cgi?id=10871
http://bugs.webkit.org/show_bug.cgi?id=12677
<rdar://problem/
4823129> REGRESSION: IME key events different in nightly
<rdar://problem/
4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::handleKeypress): Changed handleKeyPress to handleKeypress.
(WebCore::EditorClientQt::handleInputMethodKeypress): Added.
* WebCoreSupport/EditorClientQt.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20030
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Wed, 7 Mar 2007 22:30:43 +0000 (22:30 +0000)]
Reviewed by Adam.
Add some assertions.
* DumpRenderTree/DumpRenderTree.m:
(-[WaitUntilDoneDelegate webView:didStartProvisionalLoadForFrame:]):
(-[WaitUntilDoneDelegate webView:didCommitLoadForFrame:]):
(-[WaitUntilDoneDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
(-[WaitUntilDoneDelegate webView:didFailLoadWithError:forFrame:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20029
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis [Wed, 7 Mar 2007 21:25:16 +0000 (21:25 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=12579
WebKit fails SVG xml:base test
Implement DOM3 properties baseURI and documentURI to fix
the testcase in bug 12579.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20028
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Wed, 7 Mar 2007 19:31:55 +0000 (19:31 +0000)]
WebCore:
Reviewed by Brady.
Remove some methods in FrameLoader that just calls down to the active document loader. Since each
resource loader now has a pointer to its document loader, we can just call directly to the
document loader.
* WebCore.exp:
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::didReceiveResponse):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
* loader/mac/NetscapePlugInStreamLoaderMac.mm:
(WebCore::NetscapePlugInStreamLoader::didFinishLoading):
(WebCore::NetscapePlugInStreamLoader::didFail):
(WebCore::NetscapePlugInStreamLoader::didCancel):
WebKit:
Reviewed by Brady.
Update to match WebCore.
* Plugins/WebNetscapePluginStream.mm:
(-[WebNetscapePluginStream start]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20027
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 7 Mar 2007 19:25:10 +0000 (19:25 +0000)]
Build fix for non-multiple-thread folks.
Use a shared global in the non-multiple-thread case.
* wtf/FastMalloc.cpp:
(WTF::isForbidden):
(WTF::fastMallocForbid):
(WTF::fastMallocAllow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20026
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Wed, 7 Mar 2007 19:10:18 +0000 (19:10 +0000)]
Whoops, its actually prepare-ChangeLog
* coding/contributing.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20025
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Wed, 7 Mar 2007 19:09:15 +0000 (19:09 +0000)]
Reviewed by Anders
Explicitly mention the prepare-Changelog step for contributing patches
* coding/contributing.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20024
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 7 Mar 2007 19:07:40 +0000 (19:07 +0000)]
Reviewed by Geoff.
- change tests that depend on the order of iteration of built-in properties
to sort explicitly so they don't depend on the order any more
* fast/dom/Window/resources/window-appendages-cleared-results.html:
* fast/dom/Window/window-appendages-cleared-expected.txt:
* fast/dom/Window/window-properties-expected.txt:
* fast/dom/Window/window-properties.html:
* fast/js/regexp-caching-expected.txt:
* fast/js/regexp-caching.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20023
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Wed, 7 Mar 2007 18:32:11 +0000 (18:32 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=12953
Import/convert 4XPath test suite
Import the rest of the converted suite. The only remaining failures are due to
incorrect node order, bug 12497.
* fast/xpath/4XPath/Core/test_literal_expr.html: Added.
* fast/xpath/4XPath/Core/test_location_path.html: Added.
* fast/xpath/4XPath/Core/test_node_test.html: Added.
* fast/xpath/4XPath/Core/test_nodeset_expr.html: Added.
* fast/xpath/4XPath/Core/test_parser-expected.txt: Added.
* fast/xpath/4XPath/Core/test_parser.html: Added.
* fast/xpath/4XPath/Core/test_predicate_list.html: Added.
* fast/xpath/4XPath/Core/test_step-expected.txt: Added.
* fast/xpath/4XPath/Core/test_step.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20022
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 7 Mar 2007 16:40:27 +0000 (16:40 +0000)]
* WebCoreSupport/FrameLoaderClientQt.h: Oops, forgot the header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20021
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 7 Mar 2007 16:34:56 +0000 (16:34 +0000)]
Reviewed by Darin Adler.
Fixed ASSERT failure I just introduced.
Made the fastMalloc isForbidden flag per thread. (Oops!) We expect that
other threads will malloc while we're marking -- we just want to prevent
our own marking from malloc'ing.
* wtf/FastMalloc.cpp:
(WTF::initializeIsForbiddenKey):
(WTF::isForbidden):
(WTF::fastMallocForbid):
(WTF::fastMallocAllow):
(WTF::fastMalloc):
(WTF::fastCalloc):
(WTF::fastFree):
(WTF::fastRealloc):
(WTF::do_malloc):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20020
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 7 Mar 2007 15:37:06 +0000 (15:37 +0000)]
JavaScriptCore:
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=12997
Wrap pthread-specific assertion in #if USE(MULTIPLE_THREADS).
* kjs/collector.cpp:
(KJS::Collector::markMainThreadOnlyObjects):
WebCore:
Reviewed by Maciej Stachowiak.
Fixed <rdar://problem/
4576242> | http://bugs.webkit.org/show_bug.cgi?id=12586
PAC file: malloc deadlock sometimes causes a hang @ www.apple.com/pro/profiles/ (12586)
No test because this is very difficult to repro, and the new ASSERTs in
JavaScriptCore catch the underlying cause while running normal layout tests.
This is a modified version of r14752 on the branch.
The fix is to use a bit inside each node, instead of a hash table, to track
which node subtrees are in the process of being marked. This avoids a call
to malloc inside mark().
* bindings/js/kjs_binding.cpp:
(KJS::domObjects):
(KJS::domNodesPerDocument):
* bindings/js/kjs_dom.cpp:
(KJS::DOMNode::mark):
* dom/Node.cpp:
(WebCore::Node::Node):
* dom/Node.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20019
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Wed, 7 Mar 2007 15:01:10 +0000 (15:01 +0000)]
LayoutTests:
Reviewed by Darin.
- LayoutTests part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
WebArchiver - attempt to insert nil exception when archive empty iframe
Tests using both dumpDOMAsWebArchive() and dumpSourceAsWebArchive() were added
for this bug since a similar fix was suggested for the DOM case which was not
needed. The remaining changes are related to renaming dumpAsWebArchive() to
dumpDOMAsWebArchive().
* webarchive/archive-empty-frame-dom-expected.txt: Added.
* webarchive/archive-empty-frame-dom.html: Added.
* webarchive/archive-empty-frame-source-expected.txt: Added.
* webarchive/archive-empty-frame-source.html: Added.
* webarchive/resources/dump-webarchive.js: Renamed dumpAsWebArchive() to dumpDOMAsWebArchive().
* webarchive/test-body-background-expected.txt: Ditto.
* webarchive/test-body-background.html: Ditto.
* webarchive/test-duplicate-resources-expected.txt: Ditto.
* webarchive/test-frameset-expected.txt: Ditto.
* webarchive/test-frameset.html: Ditto.
* webarchive/test-img-src-expected.txt: Ditto.
* webarchive/test-img-src.html: Ditto.
* webarchive/test-input-src-expected.txt: Ditto.
* webarchive/test-input-src.html: Ditto.
* webarchive/test-link-href-expected.txt: Ditto.
* webarchive/test-link-href.html: Ditto.
* webarchive/test-object-data-expected.txt: Ditto.
* webarchive/test-object-data.html: Ditto.
* webarchive/test-script-src-expected.txt: Ditto.
* webarchive/test-table-background-expected.txt: Ditto.
* webarchive/test-table-background.html: Ditto.
* webarchive/test-td-background-expected.txt: Ditto.
* webarchive/test-td-background.html: Ditto.
WebKit:
Reviewed by Darin.
- WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
WebArchiver - attempt to insert nil exception when archive empty iframe
When dealing with an iframe element with no src attribute, the element contains
a src attribute in the DOM with a URL of "about:blank" and some HTML to implement
the blank page. In the original page source, however, the iframe element does
not include a src attribute, which caused a nil archive to be returned for the
childFrameArchive and thus caused the bug. The fix is a simple nil check.
Test: webarchive/archive-empty-frame-source.html
* WebView/WebArchiver.mm:
(+ (NSArray *)_subframeArchivesForFrame:(WebFrame *)frame): Don't add childFrameArchive
to the subframeArchives array if it is nil.
WebKitTools:
Reviewed by Darin.
- WebKitTools part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
WebArchiver - attempt to insert nil exception when archive empty iframe
The dumpDOMAsWebArchive() test method uses the DOMDocument as a basis for creating
a webarchive while the dumpSourceAsWebArchive() test method uses the original
dataSource (page source) to create a webarchive. Most tests currently use
dumpDOMAsWebArchive() since this is what Safari does when saving a web page as a
webarchive.
* DumpRenderTree/DumpRenderTree.m: Renamed dumpAsWebArchive to dumpDOMAsWebArchive.
Added dumpSourceAsWebArchive.
(dump):
(+[LayoutTestController isSelectorExcludedFromWebScript:]):
(-[LayoutTestController dumpDOMAsWebArchive]):
(-[LayoutTestController dumpSourceAsWebArchive]):
(runTest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20018
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Wed, 7 Mar 2007 14:25:57 +0000 (14:25 +0000)]
LayoutTests:
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=12992
Test failure (r19972): LayoutTests/svg/custom/struct-use-09-b.svg
* svg/custom/struct-use-09-b.svg: Changed to use Helvetica instead of 'Arial Black', Arial.
* svg/custom/struct-use-09-b-expected.checksum: Update results.
* svg/custom/struct-use-09-b-expected.png: Ditto.
* svg/custom/struct-use-09-b-expected.txt: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20017
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 7 Mar 2007 14:18:42 +0000 (14:18 +0000)]
* WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::userAgent):
Try to fix the build by correcting the parameter here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20016
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 09:46:38 +0000 (09:46 +0000)]
2007-03-07 Shrikant Gangoda <shrikant.gangoda@celunite.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=12997
Wrap pthread-specific assertion in #if USE(MULTIPLE_THREADS).
* kjs/collector.cpp:
(KJS::Collector::markMainThreadOnlyObjects):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20015
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 7 Mar 2007 09:05:54 +0000 (09:05 +0000)]
Reviewed by mjs
<http://bugs.webkit.org/show_bug.cgi?id=8592>
Extra line left after deleting whitespace:pre text
Re-enabled the test and removed a FIXME:
* editing/deleting/merge-whitespace-pre-expected.checksum:
* editing/deleting/merge-whitespace-pre-expected.png:
* editing/deleting/merge-whitespace-pre-expected.txt:
* editing/deleting/merge-whitespace-pre.html: Added.
* editing/deleting/merge-whitespace-pre.html-disabled: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20014
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 08:43:24 +0000 (08:43 +0000)]
Fix an oversight in the spelling over oversight.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20012
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 7 Mar 2007 07:42:45 +0000 (07:42 +0000)]
This patch reworks the WebCore memory cache to significantly reduce the amount of memory consumed by
images in the cache and to enhance the accuracy of the cache size as an absolute bound for the objects
contained within it. WebCore's memory use over time should significantly improve as a result of these
changes.
Cached resources now have both an encoded size (the original data stream) and a decoded size (an estimate of
the amount of memory consumed by an expanded version of that resource, e.g., the decoded frames of an image).
Both sizes now count towards the total size of the object and towards the allowed memory cache total.
By including both totals the reported size of resources will now be larger, and the cache will therefore become
much more aggressive about flushing.
Objects are stored in size-adjusted and popularity-aware LRU lists as before, but encoded size is now always
used when determining the correct LRU list.
The flush algorithm for the memory cache has been rewritten to first destroy decoded data before evicting
resources. By being able to compact its resources without evicting them, the memory cache can now hold many more
unique resources (encoded) in the same amount of space. Depending on how much of a hit we want to take from
re-decoding images, the memory cache could in theory have its size significantly reduced now while still holding
more resources than it did at the larger size!
Reviewed by mjs
* WebCore.xcodeproj/project.pbxproj:
* loader/Cache.cpp:
(WebCore::Cache::requestResource):
(WebCore::Cache::prune):
(WebCore::Cache::remove):
(WebCore::Cache::lruListFor):
(WebCore::Cache::adjustSize):
* loader/Cache.h:
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::data):
* loader/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
(WebCore::CachedImage::allReferencesRemoved):
(WebCore::CachedImage::clear):
(WebCore::CachedImage::data):
(WebCore::CachedImage::destroyDecodedData):
(WebCore::CachedImage::decodedSize):
(WebCore::CachedImage::decodedSizeChanged):
(WebCore::CachedImage::shouldPauseAnimation):
* loader/CachedImage.h:
* loader/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::deref):
(WebCore::CachedResource::setEncodedSize):
* loader/CachedResource.h:
(WebCore::CachedResource::allReferencesRemoved):
(WebCore::CachedResource::size):
(WebCore::CachedResource::encodedSize):
(WebCore::CachedResource::decodedSize):
(WebCore::CachedResource::destroyDecodedData):
* loader/CachedScript.cpp:
(WebCore::CachedScript::data):
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::data):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::~BitmapImage):
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::pruneDecodedDataIfNeeded):
(WebCore::BitmapImage::cacheFrame):
(WebCore::BitmapImage::setNativeData):
(WebCore::BitmapImage::shouldAnimate):
(WebCore::BitmapImage::advanceAnimation):
* platform/graphics/BitmapImage.h:
(WebCore::BitmapImage::decodedSize):
* platform/graphics/Image.cpp:
(WebCore::Image::Image):
* platform/graphics/Image.h:
(WebCore::Image::destroyDecodedData):
(WebCore::Image::decodedSize):
(WebCore::Image::imageObserver):
* platform/graphics/ImageAnimationObserver.h: Removed.
* platform/graphics/ImageObserver.h: Added.
(WebCore::ImageObserver::~ImageObserver):
* platform/graphics/svg/SVGImage.cpp:
(WebCore::SVGImage::SVGImage):
* platform/graphics/svg/SVGImage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20009
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Wed, 7 Mar 2007 06:03:27 +0000 (06:03 +0000)]
Reviewed by Sam Weinig.
http://bugs.webkit.org/show_bug.cgi?id=12987
Fix and import 4XPath test_numeric_expr.html
* xml/XPathPredicate.cpp:
(WebCore::XPath::Negative::doEvaluate): Convert the argument to number.
(WebCore::XPath::NumericOp::doEvaluate): Convert the arguments to numbers. Use a correct operation for mod.
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis): Do not append parent node if there is none.
* xml/XPathValue.cpp:
(WebCore::XPath::Value::toNumber): Do not convert to DeprecatedString just to trim whitespace and to convert to double.
* platform/DeprecatedString.cpp:
(WebCore::DeprecatedStringData::makeAscii): Added a FIXME about unreliable makeAscii() behavior.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20008
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 05:55:30 +0000 (05:55 +0000)]
Fix broken layout test results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20007
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 7 Mar 2007 05:36:21 +0000 (05:36 +0000)]
Reviewed by Adele.
<rdar://problem/
4619663> REGRESSION (NativePopup): Popup menu doesn't draw at the correct vertical position (9816)
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenu::show): Make a temporary dummy view with the
passed in rect, since AppKit will use the view bounds to determine
what area to exclude when popping up a menu moved to the top of
the screen.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20006
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 05:25:14 +0000 (05:25 +0000)]
2007-03-07 Mark Rowe <mrowe@apple.com>
Build fix. Rebuild against 10.4 SDK.
* libWebKitSystemInterface.a:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20005
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 7 Mar 2007 04:25:49 +0000 (04:25 +0000)]
JavaScriptCore:
Reviewed by Maciej Stachowiak.
Fixed all known crashers exposed by run-webkit-tests --threaded. This covers:
<rdar://problem/
4565394> | http://bugs.webkit.org/show_bug.cgi?id=12585
PAC file: after closing a window that contains macworld.com, new window
crashes (KJS::PropertyMap::mark()) (12585)
<rdar://problem/
4571215> | http://bugs.webkit.org/show_bug.cgi?id=9211
PAC file: Crash occurs when clicking on the navigation tabs at http://www.businessweek.com/ (9211)
<rdar://problem/
4557926>
PAC file: Crash occurs when attempting to view image in slideshow mode
at http://d.smugmug.com/gallery/581716 ( KJS::IfNode::execute (KJS::
ExecState*) + 312) if you use a PAC file
(1) Added some missing JSLocks, along with related ASSERTs.
(2) Fully implemented support for objects that can only be garbage collected
on the main thread. So far, only WebCore uses this. We can add it to API
later if we learn that it's needed.
The implementation uses a "main thread only" flag inside each object. When
collecting on a secondary thread, the Collector does an extra pass through
the heap to mark all flagged objects before sweeping. This solution makes
the common case -- flag lots of objects, but never collect on a secondary
thread -- very fast, even though the uncommon case of garbage collecting
on a secondary thread isn't as fast as it could be. I left some notes
about how to speed it up, if we ever care.
For posterity, here are some things I learned about GC while investigating:
* Each collect must either mark or delete every heap object. "Zombie"
objects, which are neither marked nor deleted, raise these issues:
* On the next pass, the conservative marking algorithm might mark a
zombie, causing it to mark freed objects.
* The client might try to use a zombie, which would seem live because
its finalizer had not yet run.
* A collect on the main thread is free to delete any object. Presumably,
objects allocated on secondary threads have thread-safe finalizers.
* A collect on a secondary thread must not delete thread-unsafe objects.
* The mark function must be thread-safe.
Line by line comments:
* API/JSObjectRef.h: Added comment specifying that the finalize callback
may run on any thread.
* JavaScriptCore.exp: Nothing to see here.
* bindings/npruntime.cpp:
(_NPN_GetStringIdentifier): Added JSLock.
* bindings/objc/objc_instance.h:
* bindings/objc/objc_instance.mm:
(ObjcInstance::~ObjcInstance): Use an autorelease pool. The other callers
to CFRelease needed one, too, but they were dead code, so I removed them
instead. (This fixes a leak seen while running run-webkit-tests --threaded,
although I don't think it's specifically a threading issue.)
* kjs/collector.cpp:
(KJS::Collector::collectOnMainThreadOnly): New function. Tells the collector
to collect a value only if it's collecting on the main thread.
(KJS::Collector::markMainThreadOnlyObjects): New function. Scans the heap
for "main thread only" objects and marks them.
* kjs/date_object.cpp:
(KJS::DateObjectImp::DateObjectImp): To make the new ASSERTs happy, allocate
our globals on the heap, avoiding a seemingly unsafe destructor call at
program exit time.
* kjs/function_object.cpp:
(FunctionPrototype::FunctionPrototype): ditto
* kjs/interpreter.cpp:
(KJS::Interpreter::mark): Removed boolean parameter, which was an incomplete
and arguably hackish way to implement markMainThreadOnlyObjects() inside WebCore.
* kjs/interpreter.h:
* kjs/identifier.cpp:
(KJS::identifierTable): Added some ASSERTs to check for thread safety
problems.
* kjs/list.cpp: Added some ASSERTs to check for thread safety problems.
(KJS::allocateListImp):
(KJS::List::release):
(KJS::List::append):
(KJS::List::empty): Make the new ASSERTs happy.
* kjs/object.h:
(KJS::JSObject::JSObject): "m_destructorIsThreadSafe" => "m_collectOnMainThreadOnly".
I removed the constructor parameter because m_collectOnMainThreadOnly,
like m_marked, is a Collector bit, so only the Collector should set or get it.
* kjs/object_object.cpp:
(ObjectPrototype::ObjectPrototype): Make the ASSERTs happy.
* kjs/regexp_object.cpp:
(RegExpPrototype::RegExpPrototype): ditto
* kjs/ustring.cpp: Added some ASSERTs to check for thread safety problems.
(KJS::UCharReference::ref):
(KJS::UString::Rep::createCopying):
(KJS::UString::Rep::create):
(KJS::UString::Rep::destroy):
(KJS::UString::null): Make the new ASSERTs happy.
* kjs/ustring.h:
(KJS::UString::Rep::ref): Added some ASSERTs to check for thread safety problems.
(KJS::UString::Rep::deref):
* kjs/value.h:
(KJS::JSCell::JSCell):
JavaScriptGlue:
Reviewed by Maciej Stachowiak.
Fixed all known crashers exposed by run-webkit-tests --threaded while using
a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for
more details.
* JSBase.cpp:
(JSBase::Release): Lock when deleting, because we may be deleting an object
(like a JSRun) that holds thread-unsafe data.
* JSUtils.cpp:
(CFStringToUString): Don't lock, because our caller locks. Also, locking
inside a function that returns thread-unsafe data by copy will only mask
threading problems.
* JavaScriptGlue.cpp:
(JSRunEvaluate): Added missing JSLock.
(JSRunCheckSyntax): Converted to JSLock.
* JavaScriptGlue.xcodeproj/project.pbxproj:
WebCore:
Reviewed by Maciej Stachowiak.
Fixed all known crashers exposed by run-webkit-tests --threaded [*]. See
JavaScriptCore ChangeLog for more details.
* bindings/js/kjs_binding.cpp:
(KJS::domNodesPerDocument): Added thread safety ASSERT.
(KJS::ScriptInterpreter::mark): Removed obsolete logic for marking unsafe
objects when collecting on a secondary thread. The Collector takes care
of this now.
* bindings/js/kjs_binding.h:
(KJS::DOMObject::DOMObject): Used new API for specifying that WebCore
objects should be garbage collected on the main thread only.
* bindings/js/kjs_window.cpp:
(KJS::ScheduledAction::execute): Moved JSLock to cover implementedsCall() call,
which, for some subclasses, ends up allocating garbage collected objects.
(This fix was speculative. I didn't actually see a crash from this.)
(KJS::Window::timerFired): Added JSLock around ScheduleAction destruction,
since it destroys a KJS::List.
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject setException:]): Added JSLock. (This fix was speculative.
I didn't actually see a crash from this.)
* bridge/mac/WebCoreScriptDebugger.mm:
(-[WebCoreScriptCallFrame evaluateWebScript:]): Added JSLock. (This fix
was speculative. I didn't actually see a crash from this.)
* dom/Document.cpp:
(WebCore::Document::~Document): Added JSLock around modification to
domNodesPerDocument(), which can be accessed concurrently during garbage
collection.
* dom/Node.cpp:
(WebCore::Node::setDocument): ditto.
[*] fast/js/toString-stack-overflow.html is an exception. --threaded mode
crashes this test because it causes the garbage collector to run frequently,
and this test crashes if you happen to garbage collect while it's running.
This is a known issue with stack overflow during the mark phase. It's
not related to threading.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20004
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Wed, 7 Mar 2007 04:18:16 +0000 (04:18 +0000)]
Reviewed by Brady
Fixed: <rdar://problem/
4126976> private keys imported by WebKit should not be accessible by all applications
* libWebKitSystemInterface.a:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20003
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 04:16:09 +0000 (04:16 +0000)]
2007-03-07 Mark Rowe <mrowe@apple.com>
Add dumpAsText to test to match expected results.
* fast/dom/Window/window-location-replace-functions.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20002
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 04:07:42 +0000 (04:07 +0000)]
2007-03-06 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Fix http://bugs.webkit.org/show_bug.cgi?id=12942
Bug 12942: ASSERTION FAILURE: qantas.com.au changing selected item in <select> via JS
Test: fast/dom/select-selectedIndex-bug-12942.html.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::recalcListItems): Reset m_lastOnChangeIndex when recalculating list items.
* html/HTMLSelectElement.h:
2007-03-06 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Test for http://bugs.webkit.org/show_bug.cgi?id=12942
Bug 12942: ASSERTION FAILURE: qantas.com.au changing selected item in <select> via JS
* fast/dom/select-selectedIndex-bug-12942-expected.txt: Added.
* fast/dom/select-selectedIndex-bug-12942.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20001
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Wed, 7 Mar 2007 04:05:05 +0000 (04:05 +0000)]
Rubberstamped by Kevin Decker
20,000!
* ChangeLog: Point out revision 20,000
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20000
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kjk [Wed, 7 Mar 2007 04:04:25 +0000 (04:04 +0000)]
Not reviewed.
Gdk build fix.
* loader/gdk/FrameLoaderClientGdk.cpp: update userAgent() signature.
(WebCore::FrameLoaderClientGdk::userAgent):
* loader/gdk/FrameLoaderClientGdk.h: ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19999
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 03:40:57 +0000 (03:40 +0000)]
2007-03-06 Mitz Pettel <mitz@webkit.org>
Reviewed by Adele.
- fix http://bugs.webkit.org/show_bug.cgi?id=12986
REGRESSION(NativeListBox): Listboxes not updated when resized dynamically
Test: fast/forms/select-change-listbox-size.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::parseMappedAttribute): Reattach on list box size change.
2007-03-06 Mitz Pettel <mitz@webkit.org>
Reviewed by Adele.
- test for http://bugs.webkit.org/show_bug.cgi?id=12986
REGRESSION(NativeListBox): Listboxes not updated when resized dynamically
* fast/forms/select-change-listbox-size-expected.checksum: Added.
* fast/forms/select-change-listbox-size-expected.png: Added.
* fast/forms/select-change-listbox-size-expected.txt: Added.
* fast/forms/select-change-listbox-size.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19998
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 03:35:03 +0000 (03:35 +0000)]
2007-03-06 Mitz Pettel <mitz@webkit.org>
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=12885
REGRESSION (r19696): Incomplete background repaint
Tests: fast/repaint/content-into-overflow.html
fast/repaint/overflow-into-content.html
Changed repaintAfterLayoutIfNeeded() to take, in addition to the clipped overflow
rect, the unclipped border box plus outline, and to repaint any areas that
were added or removed from that box, in addition to any areas added or removed
from the clipped overflow rect.
* platform/graphics/svg/SVGResourceMarker.cpp:
(WebCore::SVGResourceMarker::draw):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteClippedOverflowRect): Renamed getAbsoluteRepaintRect() to
this.
* rendering/RenderBox.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::absoluteClippedOverflowRect):
* rendering/RenderFlow.h:
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::layout):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::layout):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::layout):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::checkForRepaintOnResize):
(WebCore::RenderLayer::updateLayerPositions):
* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
(WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
(WebCore::RenderObject::absoluteClippedOverflowRect):
(WebCore::RenderObject::absoluteOutlineBox):
* rendering/RenderObject.h:
* rendering/RenderPath.cpp:
(WebCore::RenderPath::layout):
(WebCore::RenderPath::absoluteClippedOverflowRect):
(WebCore::RenderPath::absoluteRects):
(WebCore::RenderPath::drawMarkersIfNeeded):
* rendering/RenderPath.h:
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
(WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
(WebCore::RenderSVGContainer::absoluteRects):
* rendering/RenderSVGContainer.h:
* rendering/RenderSVGHiddenContainer.cpp:
(WebCore::RenderSVGHiddenContainer::absoluteClippedOverflowRect):
* rendering/RenderSVGHiddenContainer.h:
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageChanged):
(WebCore::RenderSVGImage::absoluteClippedOverflowRect):
(WebCore::RenderSVGImage::absoluteRects):
* rendering/RenderSVGImage.h:
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::absoluteClippedOverflowRect):
(WebCore::RenderSVGText::layout):
(WebCore::RenderSVGText::absoluteRects):
* rendering/RenderSVGText.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::absoluteClippedOverflowRect):
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::absoluteClippedOverflowRect):
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::absoluteClippedOverflowRect):
* rendering/RenderTableRow.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteClippedOverflowRect):
* rendering/RenderText.h:
2007-03-06 Mitz Pettel <mitz@webkit.org>
Reviewed by Dave Hyatt.
- repaint tests and updated result for http://bugs.webkit.org/show_bug.cgi?id=12885
REGRESSION (r19696): Incomplete background repaint
* fast/repaint/bugzilla-6278-expected.checksum:
* fast/repaint/bugzilla-6278-expected.png:
* fast/repaint/content-into-overflow-expected.checksum: Added.
* fast/repaint/content-into-overflow-expected.png: Added.
* fast/repaint/content-into-overflow-expected.txt: Added.
* fast/repaint/content-into-overflow.html: Added.
* fast/repaint/overflow-into-content-expected.checksum: Added.
* fast/repaint/overflow-into-content-expected.png: Added.
* fast/repaint/overflow-into-content-expected.txt: Added.
* fast/repaint/overflow-into-content.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19997
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 03:30:37 +0000 (03:30 +0000)]
2007-03-06 Ian Eng <ian.eng.webkit@gmail.com>
Reviewed by Maciej.
- Tests for http://bugs.webkit.org/show_bug.cgi?id=12720
Bug 12720: Re-defining window.location.toString function keeps re-loading forever
* fast/dom/Window/window-location-replace-functions-expected.txt: Added.
* fast/dom/Window/window-location-replace-functions.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19996
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 7 Mar 2007 03:15:26 +0000 (03:15 +0000)]
2007-03-06 Ian Eng <ian.eng.webkit@gmail.com>
Reviewed by Maciej.
- fixed http://bugs.webkit.org/show_bug.cgi?id=12720
Bug 12720: Re-defining window.location.toString function keeps re-loading forever
* bindings/js/kjs_window.cpp:
Disallow replacing functions in LocationTable, and return early without updating URL.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19995
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 7 Mar 2007 02:27:35 +0000 (02:27 +0000)]
Reviewed by Maciej Stachowiak.
2% speedup on super accurate JS iBench.
(KJS::Collector::collect): Removed anti-optimization to call
pthread_is_threaded_np() before calling pthread_main_np(). Almost all
apps have more than one thread, so the extra call is actually worse.
Interestingly, even the single-threaded testkjs shows a speed gain
from removing the pthread_is_threaded_np() short-circuit. Not sure why.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19994
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Wed, 7 Mar 2007 02:22:20 +0000 (02:22 +0000)]
LayoutTests:
Reviewed by Darin.
<http://bugs.webkit.org/show_bug.cgi?id=12686>
REGRESSION: Bloglines.com Feeds tab cannot expand folders in TOT
- Now all class constructors implement implementsHasInstance.
* fast/dom/dom-instanceof-expected.txt: Added.
* fast/dom/dom-instanceof.html: Added.
WebCore:
Reviewed by Darin.
<http://bugs.webkit.org/show_bug.cgi?id=12686>
REGRESSION: Bloglines.com Feeds tab cannot expand folders in TOT
- Now all class constructors implement implementsHasInstance.
* bindings/scripts/CodeGeneratorJS.pm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19993
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Wed, 7 Mar 2007 00:27:46 +0000 (00:27 +0000)]
Reviewed by Rob & Oliver.
Preparations for the new SVG text engine.
Handle baseline-shift / kerning css values correctly.
Recognize missing svg presentation attribute "font-size-adjust".
Add all missing svg<->css property mappings in mapToEntry().
Doesn't affect any layout test (as these properties are not used w/o my text patch).
While I'm at it, unify the macro names (RS_ -> SVG_RS_) & cleanup style a bit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19992
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 7 Mar 2007 00:11:50 +0000 (00:11 +0000)]
LayoutTests:
Reviewed by kevin
<http://bugs.webkit.org/show_bug.cgi?id=12245>
FCKeditor: Remove Format sometimes doesn't work
<rdar://problem/
4786404>
Underline style is not removed from selection after performing Remove Format
Added:
* editing/execCommand/
4786404-1-expected.checksum: Added.
* editing/execCommand/
4786404-1-expected.png: Added.
* editing/execCommand/
4786404-1-expected.txt: Added.
* editing/execCommand/
4786404-1.html: Added.
* editing/execCommand/
4786404-2-expected.checksum: Added.
* editing/execCommand/
4786404-2-expected.png: Added.
* editing/execCommand/
4786404-2-expected.txt: Added.
* editing/execCommand/
4786404-2.html: Added.
Demonstrate fixes:
* editing/execCommand/
4920488-expected.checksum:
* editing/execCommand/
4920488-expected.png:
* editing/execCommand/
4920488-expected.txt:
* editing/execCommand/
4920742-1-expected.checksum:
* editing/execCommand/
4920742-1-expected.png:
* editing/execCommand/
4920742-1-expected.txt:
* editing/execCommand/remove-formatting-2-expected.checksum:
* editing/execCommand/remove-formatting-2-expected.png:
* editing/execCommand/remove-formatting-2-expected.txt:
Ditto, also added a FIXME:
* editing/execCommand/remove-formatting-expected.checksum:
* editing/execCommand/remove-formatting-expected.png:
* editing/execCommand/remove-formatting-expected.txt:
* editing/execCommand/remove-formatting.html:
WebCore:
Reviewed by kevin
<http://bugs.webkit.org/show_bug.cgi?id=12245>
FCKeditor: Remove Format sometimes doesn't work
<rdar://problem/
4786404>
Underline style is not removed from selection after performing Remove Format
* editing/Editor.cpp:
(WebCore::Editor::removeFormattingAndStyle): Re-wrote this.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19991
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Tue, 6 Mar 2007 23:45:03 +0000 (23:45 +0000)]
Reviewed by Oliver.
Add new <use> layout tests. (forgot in last commit)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19990
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Tue, 6 Mar 2007 23:40:49 +0000 (23:40 +0000)]
Reviewed by Oliver.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12979
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12981
Guard against registering pending resources with empty id.
Be careful with calling recalcStyle() in SVGUseElement, when change is "Detach" we
have to use special code, as calling attach() on the shadow tree root element will crash,
because it has no (direct) parent node, only a shadow parent node element.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19989
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Tue, 6 Mar 2007 22:38:17 +0000 (22:38 +0000)]
Reviewed by Adele.
Fixed: <rdar://problem/
5041660> REGRESSION: <keygen> element broken, prevents users from signing up for Thawte email certs
* bindings/objc/DOM.mm:
(WebCore::createElementClassMap): Added <keygen> to the DOM bindings so it can be accessed from Objective-C.
* css/html4.css: Apply the look of the <select> element to <keygen>.
* html/HTMLElementFactory.cpp:
(WebCore::keygenConstructor): Added.
(WebCore::createFunctionMap): Added keygen.
* html/HTMLSelectElement.cpp: Made const typeAheadTimeout variable static const.
(WebCore::HTMLSelectElement::HTMLSelectElement): Fix both HTMLSelectElement constructors to initialize the
same number of member variables. The fact that some fields were not initialized could (and would) crash the
keygen element when selecting different items. Also removed m_typedString(String()) from the constructor
initialization because this is not needed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19988
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Tue, 6 Mar 2007 21:48:12 +0000 (21:48 +0000)]
Reviewed by Mitz.
Remove an alert() which got accidently added in my last commit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19987
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 6 Mar 2007 19:35:17 +0000 (19:35 +0000)]
Reviewed by Darin
Made WebAuthenticationHandler.h SPI so Safari can call it directly.
* WebKit.exp:
added .objc_class_name_WebPanelAuthenticationHandler
* WebKit.xcodeproj/project.pbxproj:
changed status of WebAuthenticationHandler.h from "project" to "private"
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19986
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Tue, 6 Mar 2007 19:29:24 +0000 (19:29 +0000)]
Reviewed by Darin.
- Rename a function to clarify its purpose.
* WebView/WebView.mm:
(+[WebView registerURLSchemeAsLocal:]):
* WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19985
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Tue, 6 Mar 2007 19:28:46 +0000 (19:28 +0000)]
Reviewed by Darin.
- Rename a function to clarify its purpose.
* WebCore.exp:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::registerURLSchemeAsLocal):
* loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19984
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Tue, 6 Mar 2007 10:27:05 +0000 (10:27 +0000)]
Build fix.
* WebCore.exp: Updated symbols.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19981
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Tue, 6 Mar 2007 09:57:06 +0000 (09:57 +0000)]
Reviewed by Anders.
Added a parameter to all StringTruncator methods to specify whether
rounding hacks should be on or off.
No layout test possible.
* platform/StringTruncator.cpp:
(WebCore::stringWidth): Added disableRoundingHacks parameter.
(WebCore::truncateString): Ditto.
(WebCore::StringTruncator::centerTruncate): Ditto.
(WebCore::StringTruncator::rightTruncate): Ditto.
(WebCore::StringTruncator::width): Ditto.
* platform/StringTruncator.h: Ditto.
* platform/mac/FileChooserMac.mm:
(WebCore::FileChooser::basenameForWidth): Pass in false to
centerTruncate so that the truncation matches the way the text will be
rendered.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19980
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 6 Mar 2007 09:05:42 +0000 (09:05 +0000)]
LayoutTests:
Reviewed by Maciej.
<rdar://problem/
5035045>
REGRESSION: WebKit browser doesn't display image at http://www.metoffice.gov.uk/weather/satellite/index.html
Add some tests where image elements have id _and_ name elements.
* fast/dom/HTMLDocument/document-special-properties-expected.txt:
* fast/dom/HTMLDocument/document-special-properties.html:
WebCore:
Reviewed by Maciej.
<rdar://problem/
5035045>
REGRESSION: WebKit browser doesn't display image at http://www.metoffice.gov.uk/weather/satellite/index.html
It turns out WinIE does allow you to access images by their id as special document properties. However, this is only
allowed when the element also has a name attribute. The value of the name attribute is ignored and can even be empty!
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLDocument::namedItemGetter):
Return jsUndefined() if the collection is empty.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute):
(WebCore::HTMLImageElement::insertedIntoDocument):
(WebCore::HTMLImageElement::removedFromDocument):
* html/HTMLImageElement.h:
Add the id attribute value to the extra named item map.
* html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::traverseNextItem):
Check for images with name attributes that match, as well as elements with id attributes that match where
the element also has a name attribute.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19979
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 6 Mar 2007 08:37:36 +0000 (08:37 +0000)]
WebCore:
Reviewed by Adam.
WebCore part of patch to make it possible to have different user agents for different URLs.
* bindings/js/kjs_navigator.cpp:
(KJS::Navigator::getValueProperty):
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::initScriptIfNeeded):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setLoading):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::userAgent):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::applyUserAgent):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyFrameLoaderClient::userAgent):
WebKit:
Reviewed by Adam.
Update for WebCore changes.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::userAgent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19978
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Tue, 6 Mar 2007 07:04:16 +0000 (07:04 +0000)]
LayoutTests:
Reviewed by Mark and Dave H.
- rdar://problem/
5038491
An oversite of the security fix that prevented remote from loading local is that it
prevents user style sheets when the site is remote. This fixes that.
* http/tests/security/local-user-CSS-from-remote-expected.txt: Added.
* http/tests/security/local-user-CSS-from-remote.html: Added.
WebCore:
Reviewed by Mark and Dave H.
- rdar://problem/
5038491
An oversite of the security fix that prevented remote from loading local is that it
prevents user style sheets when the site is remote. This fixes that.
* loader/Cache.cpp: Propogate and check user style sheet flag.
(WebCore::createResource):
(WebCore::Cache::requestResource):
* loader/Cache.h: Propogate user style sheet flag.
* loader/CachedCSSStyleSheet.cpp: Propogate user style sheet flag.
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
* loader/CachedCSSStyleSheet.h: Propogate user style sheet flag.
* loader/DocLoader.cpp: Propogate user style sheet flag.
(WebCore::DocLoader::requestResource):
* loader/SubresourceLoader.cpp: Propogate and check user style sheet flag.
(WebCore::SubresourceLoader::create):
* loader/SubresourceLoader.h: Add check for user style sheet flag.
* loader/loader.cpp: Propogate user style sheet flag.
(WebCore::Loader::load):
(WebCore::Loader::servePendingRequests):
* loader/loader.h: Propogate user style sheet flag.
WebKitTools:
Reviewed by Mark and Dave H.
- rdar://problem/
4922454
- This fixes a security issue by making remote referrers not able to access local
resources, unless they register their schemes to be treated as local. The result is
that those schemes can access local resources and cannot be accessed by remote
referrers.
Because this behavior is new a link-on-or-after check is made to determine if the
app should use the older, less safe, behavior.
* DumpRenderTree/DumpRenderTree.m: Add ability to set user style sheet to DRT.
(+[LayoutTestController isSelectorExcludedFromWebScript:]):
(+[LayoutTestController webScriptNameForSelector:]):
(-[LayoutTestController setUserStyleSheetLocation:]):
(-[LayoutTestController setUserStyleSheetEnabled:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19977
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Tue, 6 Mar 2007 01:35:17 +0000 (01:35 +0000)]
Reviewed by Darin.
Fix all (except one) known <use> bug. The remaining bug (12630) is not crucical at all.
Enable <use> again as default SVG feature, as discussed on webkit-dev.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12936 (Master bug used to track all current use problems.)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12926 (transform attribute not respected in nested <use> elements)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12267 (getElementById broken for <use>)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12916 (use instance in symbol definition does not work)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12917 (mouseout event does not occur after scaling use instance)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12838 (SVG <use> DOM broken for script)
Added test: svg/custom/use-nested-transform.svg
Added test: svg/custom/struct-use-09-b.svg (not yet official W3C-SVG-1.1 testcase)
Fixes test: svg/custom/use-elementInstance-event-target.svg (rectangle now turns green on first click)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19972
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Tue, 6 Mar 2007 01:11:18 +0000 (01:11 +0000)]
Reviewed by John
Fixes <rdar://problem/
4974258>
Adds some key null checking
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLElement::implementsCall): Null check doc/frame
* bindings/objc/DOMInternal.mm:
(-[WebScriptObject _initializeScriptDOMNodeImp]): Null check doc/frame
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19971
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Tue, 6 Mar 2007 00:05:29 +0000 (00:05 +0000)]
Reviewed by Darin.
Path::normalAngleAtLength() / Path::pointAtLength() don't work correctly.
pointAtLength() was not implemented, basically and normalAngleAtLength()
had a bug in the tangent slope calculation.
The normalAngleAtLength() stuff can only be tested with my local textPath support.
New LayoutTest: svg/custom/path-textPath-simulation.svg
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19970
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Mon, 5 Mar 2007 23:02:18 +0000 (23:02 +0000)]
2007-03-05 Darin Adler <darin@apple.com>
Reviewed by Oliver.
Text encoding test case
* fast/encoding/char-encoding-expected.txt: Added.
* fast/encoding/char-encoding.html: Added.
* fast/encoding/charset-names-expected.txt: Moved.
* fast/encoding/charset-names.html: Moved.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19969
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Mon, 5 Mar 2007 20:39:41 +0000 (20:39 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=12970
Fix and import 4XPath test_core_functions.html test
WebCore:
* xml/XPathExpression.cpp:
(WebCore::XPathExpression::evaluate): Fully initialize the evaluation context.
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunSubstring::doEvaluate): Fixed handling of edge cases.
(WebCore::XPath::FunRound::round): Reimplemented to match the spec; exposed FunRound::round() to be used in
other functions.
LayoutTests:
* fast/xpath/4XPath/Core/test_core_functions-expected.txt: Added.
* fast/xpath/4XPath/Core/test_core_functions.html: Added.
The remaining failures with id() are caused by an XML DOM problem - ID attributes declared
in an internal subset are not treated as such.
* fast/xpath/4XPath/Core/test.js: Common data for XPath tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19968
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 5 Mar 2007 20:29:11 +0000 (20:29 +0000)]
* plugins/get-url-with-blank-target-expected.txt:
Update test result.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19967
268f45cc-cd09-0410-ab3c-
d52691b4dbfc