2008-02-11 Alp Toker <alp@atoker.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-02-11  Alp Toker  <alp@atoker.com>
2
3         Wx build fix for breakage introduced in r30142. Spotted by Darin.
4
5         * platform/network/curl/ResourceHandleManager.cpp:
6         (WebCore::parseDataUrl):
7
8 2008-02-11  Brent Fulgham  <bfulgham@gmail.com>
9
10         Reviewed and tweaked by Darin
11
12         - http://bugs.webkit.org/show_bug.cgi?id=17299
13           a couple compilation fixes for Cairo/Win32 configuration
14
15         * platform/graphics/cairo/ImageSourceCairo.cpp:
16         (WebCore::createDecoder): Turn off XBMImageDecoder for PLATFORM(WIN) configuration.
17         * rendering/RenderThemeWin.cpp:
18         (WebCore::prepareForDrawing): Added IntRect parameter.
19         (WebCore::doneDrawing): Ditto.
20         (WebCore::RenderThemeWin::paintButton): Ditto.
21         (WebCore::RenderThemeWin::paintTextField): Ditto.
22         (WebCore::RenderThemeWin::paintMenuListButton): Ditto.
23         (WebCore::RenderThemeWin::systemFont): Added.
24
25 2008-02-11  Alp Toker  <alp@atoker.com>
26
27         Reviewed by Alexey.
28
29         Acid3 data URL parsing fix for the GTK+ port.
30
31         Avoid WebCore's base64Decode() when possible since it's not a
32         general-purpose Base64 decoder and fails on newlines.
33
34         * platform/network/curl/ResourceHandleManager.cpp:
35         (WebCore::parseDataUrl):
36
37 2008-02-11  Darin Adler  <darin@apple.com>
38
39         - another Qt build fix
40
41         * platform/qt/PopupMenuQt.cpp:
42         (WebCore::PopupMenu::PopupMenu): Added explicit RefCounted constructor.
43
44 2008-02-10  Darin Adler  <darin@apple.com>
45
46         - another Qt build fix (wish the Qt bot wouldn't stop on the first error)
47
48         * platform/qt/FileChooserQt.cpp:
49         (WebCore::FileChooser::FileChooser): Added explicit RefCounted constructor.
50
51 2008-02-10  Darin Adler  <darin@apple.com>
52
53         - another Qt build fix
54
55         * platform/graphics/qt/IconQt.cpp:
56         (WebCore::Icon::Icon): Added explicit RefCounted constructor.
57
58 2008-02-10  Alp Toker  <alp@atoker.com>
59
60         Another Win build fix for r30133 breakage.
61
62         * plugins/win/PluginPackageWin.cpp:
63         (WebCore::PluginPackage::PluginPackage):
64
65 2008-02-10  Alp Toker  <alp@atoker.com>
66
67         Build fix GTK+ and prospective build fix for Win breakage introduced
68         in r30133.
69
70         * platform/Cursor.h:
71         (WebCore::SharedCursor::SharedCursor):
72         * platform/graphics/gtk/IconGtk.cpp:
73         (WebCore::Icon::Icon):
74         * platform/gtk/FileChooserGtk.cpp:
75         (WebCore::FileChooser::FileChooser):
76         * platform/gtk/PopupMenuGtk.cpp:
77         (WebCore::PopupMenu::PopupMenu):
78
79 2008-02-10  Darin Adler  <darin@apple.com>
80
81         - try to fix Win, Qt, GTK, and WX builds
82
83         * platform/Cursor.h:
84         (WebCore::SharedCursor::SharedCursor): Added explicit RefCounted constructor.
85         * platform/graphics/win/IconWin.cpp:
86         (WebCore::Icon::Icon): Ditto.
87         * platform/win/FileChooserWin.cpp:
88         (WebCore::FileChooser::FileChooser): Ditto.
89         * platform/win/PopupMenuWin.cpp:
90         (WebCore::PopupMenu::PopupMenu): Ditto.
91         * platform/wx/TemporaryLinkStubs.cpp:
92         (FileChooser::FileChooser): Ditto.
93         (PopupMenu::PopupMenu): Ditto.
94         (Icon::Icon): Ditto.
95         * plugins/PluginStream.cpp:
96         (WebCore::PluginStream::PluginStream): Ditto.
97
98 2008-02-10  David Hyatt  <hyatt@apple.com>
99
100         Fix for bug 17082, cssRules should be live.
101
102         Reviewed by olliej
103
104         Added fast/css/live-cssrules.html
105
106         * css/CSSRuleList.cpp:
107         (WebCore::CSSRuleList::CSSRuleList):
108         (WebCore::CSSRuleList::length):
109         (WebCore::CSSRuleList::item):
110         (WebCore::CSSRuleList::deleteRule):
111         (WebCore::CSSRuleList::insertRule):
112         * css/CSSRuleList.h:
113
114 2008-02-10  David Hyatt  <hyatt@apple.com>
115
116         Fix for bug 17253.  <iframe> contents need to be reflected into the DOM as a single text node.
117
118         Reviewed by olliej
119
120         fast/frames/iframe-text-contents.html
121
122         * html/HTMLParser.cpp:
123         (WebCore::HTMLParser::getNode):
124         * html/HTMLTokenizer.cpp:
125         (WebCore::HTMLTokenizer::parseSpecial):
126         (WebCore::HTMLTokenizer::parseComment):
127         (WebCore::HTMLTokenizer::parseTag):
128         * html/HTMLTokenizer.h:
129         (WebCore::HTMLTokenizer::State::inIFrame):
130         (WebCore::HTMLTokenizer::State::setInIFrame):
131         (WebCore::HTMLTokenizer::State::inAnySpecial):
132         (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
133         (WebCore::HTMLTokenizer::State::):
134
135 2008-02-10  Andrew Wellington  <proton@wiretapped.net>
136
137         Reviewed and tweaked by Darin.
138         
139         DOMRange.surroundContents throws wrong exception (Acid3 bug)
140         http://bugs.webkit.org/show_bug.cgi?id=16749
141         
142         Throw BAD_BOUNDARYPOINTS_ERR if attempting to split a non-text node that
143         has offsets in characters.
144
145         * dom/Range.cpp:
146         (WebCore::Range::surroundContents):
147
148 2008-02-10  Darin Adler  <darin@apple.com>
149
150         Reviewed by Eric.
151
152         - http://bugs.webkit.org/show_bug.cgi?id=17256
153           Make clients of RefCounted explicitly set the count to 0.
154
155         * bindings/js/JSSVGPODTypeWrapper.h:
156         (WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper):
157         * css/CSSFontFace.h:
158         (WebCore::CSSFontFace::CSSFontFace):
159         * css/CSSRuleList.cpp:
160         (WebCore::CSSRuleList::CSSRuleList):
161         * css/CSSSegmentedFontFace.cpp:
162         (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
163         * css/Counter.h:
164         (WebCore::Counter::Counter):
165         * css/Pair.h:
166         (WebCore::Pair::Pair):
167         * css/Rect.h:
168         (WebCore::Rect::Rect):
169         * css/StyleBase.h:
170         (WebCore::StyleBase::StyleBase):
171         * css/StyleSheetList.cpp:
172         (WebCore::StyleSheetList::StyleSheetList):
173         * dom/Attr.cpp:
174         (WebCore::Attr::Attr):
175         * dom/Attr.h:
176         * dom/Attribute.h:
177         (WebCore::Attribute::Attribute):
178         * dom/Clipboard.cpp:
179         (WebCore::Clipboard::Clipboard):
180         * dom/DOMImplementation.h:
181         (WebCore::DOMImplementation::DOMImplementation):
182         * dom/Event.cpp:
183         (WebCore::Event::Event):
184         * dom/EventListener.h:
185         (WebCore::EventListener::EventListener):
186         * dom/ExceptionBase.cpp:
187         (WebCore::ExceptionBase::ExceptionBase):
188         * dom/NamedAttrMap.h:
189         (WebCore::NamedAttrMap::insertAttribute):
190         * dom/NamedNodeMap.h:
191         (WebCore::NamedNodeMap::NamedNodeMap):
192         * dom/NodeFilter.h:
193         (WebCore::NodeFilter::NodeFilter):
194         * dom/NodeFilterCondition.h:
195         (WebCore::NodeFilterCondition::NodeFilterCondition):
196         * dom/NodeList.h:
197         (WebCore::NodeList::NodeList):
198         * dom/QualifiedName.h:
199         (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
200         (WebCore::QualifiedName::ref):
201         * dom/Range.cpp:
202         (WebCore::Range::Range):
203         * dom/RegisteredEventListener.cpp:
204         (WebCore::RegisteredEventListener::RegisteredEventListener):
205         * dom/StyledElement.h:
206         * dom/Traversal.cpp:
207         (WebCore::Traversal::Traversal):
208         * editing/EditCommand.cpp:
209         (WebCore::EditCommand::EditCommand):
210         * history/BackForwardList.cpp:
211         (WebCore::BackForwardList::BackForwardList):
212         * history/CachedPage.cpp:
213         (WebCore::CachedPage::CachedPage):
214         * history/HistoryItem.cpp:
215         (WebCore::HistoryItem::HistoryItem):
216         * html/CanvasGradient.cpp:
217         (WebCore::CanvasGradient::CanvasGradient):
218         * html/CanvasPattern.cpp:
219         (WebCore::CanvasPattern::CanvasPattern):
220         * html/CanvasRenderingContext2D.cpp:
221         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
222         * html/CanvasStyle.cpp:
223         (WebCore::CanvasStyle::CanvasStyle):
224         * html/HTMLCollection.cpp:
225         (WebCore::HTMLCollection::HTMLCollection):
226         * html/MediaError.h:
227         (WebCore::MediaError::MediaError):
228         * html/TimeRanges.cpp:
229         (TimeRanges::TimeRanges):
230         * html/TimeRanges.h:
231         (WebCore::TimeRanges::TimeRanges):
232         * html/VoidCallback.h:
233         (WebCore::VoidCallback::VoidCallback):
234         * loader/DocumentLoader.cpp:
235         (WebCore::DocumentLoader::DocumentLoader):
236         * loader/FormState.cpp:
237         (WebCore::FormState::FormState):
238         * loader/ResourceLoader.cpp:
239         (WebCore::ResourceLoader::ResourceLoader):
240         * loader/TextResourceDecoder.cpp:
241         (WebCore::TextResourceDecoder::TextResourceDecoder):
242         * loader/icon/IconRecord.cpp:
243         (WebCore::IconRecord::IconRecord):
244         * page/BarInfo.cpp:
245         (WebCore::BarInfo::BarInfo):
246         * page/Console.cpp:
247         (WebCore::Console::Console):
248         * page/DOMSelection.cpp:
249         (WebCore::DOMSelection::DOMSelection):
250         * page/DOMWindow.cpp:
251         (WebCore::DOMWindow::DOMWindow):
252         * page/Frame.cpp:
253         (WebCore::Frame::Frame):
254         * page/History.cpp:
255         (WebCore::History::History):
256         * page/InspectorController.cpp:
257         (WebCore::InspectorResource::InspectorResource):
258         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
259         * page/Plugin.h:
260         (WebCore::Plugin::Plugin):
261         * page/Screen.cpp:
262         (WebCore::Screen::Screen):
263         * platform/ArrayImpl.cpp:
264         (WebCore::ArrayImpl::ArrayPrivate::ArrayPrivate):
265         * platform/DeprecatedValueListImpl.cpp:
266         (WebCore::DeprecatedValueListImpl::Private::Private):
267         * platform/ScrollBar.cpp:
268         (WebCore::Scrollbar::Scrollbar):
269         * platform/SharedBuffer.cpp:
270         (WebCore::SharedBuffer::SharedBuffer):
271         * platform/graphics/FontFallbackList.cpp:
272         (WebCore::FontFallbackList::FontFallbackList):
273         * platform/graphics/FontFamily.cpp:
274         (WebCore::FontFamily::FontFamily):
275         * platform/graphics/FontFamily.h:
276         (WebCore::FontFamily::FontFamily):
277         * platform/graphics/FontSelector.h:
278         (WebCore::FontSelector::FontSelector):
279         (WebCore::FontSelector::~FontSelector):
280         * platform/graphics/GlyphPageTreeNode.h:
281         (WebCore::GlyphPage::GlyphPage):
282         * platform/graphics/mac/IconMac.mm:
283         (WebCore::Icon::Icon):
284         * platform/mac/FileChooserMac.mm:
285         (WebCore::FileChooser::FileChooser):
286         * platform/mac/PopupMenuMac.mm:
287         (WebCore::PopupMenu::PopupMenu):
288         * platform/mac/SharedBufferMac.mm:
289         (WebCore::SharedBuffer::SharedBuffer):
290         * platform/network/FormData.cpp:
291         (WebCore::FormData::FormData):
292         * platform/network/FormData.h:
293         (WebCore::FormData::FormData):
294         * platform/network/ResourceHandle.cpp:
295         (WebCore::ResourceHandle::ResourceHandle):
296         * platform/text/CString.h:
297         (WebCore::CStringBuffer::CStringBuffer):
298         * platform/text/RegularExpression.cpp:
299         (WebCore::RegularExpression::Private::Private):
300         * rendering/RenderStyle.cpp:
301         (WebCore::StyleSurroundData::StyleSurroundData):
302         (WebCore::StyleBoxData::StyleBoxData):
303         (WebCore::StyleVisualData::StyleVisualData):
304         (WebCore::StyleBackgroundData::StyleBackgroundData):
305         (WebCore::StyleMarqueeData::StyleMarqueeData):
306         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
307         (WebCore::StyleMultiColData::StyleMultiColData):
308         (WebCore::StyleTransformData::StyleTransformData):
309         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
310         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
311         (WebCore::StyleInheritedData::StyleInheritedData):
312         * rendering/RenderStyle.h:
313         (WebCore::TransformOperation::TransformOperation):
314         (WebCore::CursorList::CursorList):
315         * rendering/SVGCharacterLayoutInfo.h:
316         (WebCore::SVGCharOnPath::SVGCharOnPath):
317         * rendering/SVGRenderStyle.cpp:
318         (WebCore::SVGRenderStyle::SVGRenderStyle):
319         * rendering/SVGRenderStyle.h:
320         (WebCore::SVGRenderStyle::SVGRenderStyle):
321         * rendering/SVGRenderStyleDefs.cpp:
322         (StyleFillData::StyleFillData):
323         (StyleStrokeData::StyleStrokeData):
324         (StyleStopData::StyleStopData):
325         (StyleTextData::StyleTextData):
326         (StyleClipData::StyleClipData):
327         (StyleMaskData::StyleMaskData):
328         (StyleMarkerData::StyleMarkerData):
329         (StyleMiscData::StyleMiscData):
330         * storage/SQLResultSetRowList.h:
331         (WebCore::SQLResultSetRowList::SQLResultSetRowList):
332         * svg/SVGAngle.cpp:
333         (WebCore::SVGAngle::SVGAngle):
334         * svg/SVGAnimatedTemplate.h:
335         (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
336         * svg/SVGElementInstanceList.cpp:
337         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
338         * svg/SVGList.h:
339         (WebCore::SVGList::SVGList):
340         (WebCore::SVGPODListItem::SVGPODListItem):
341         * svg/SVGPathSeg.h:
342         (WebCore::SVGPathSeg::SVGPathSeg):
343         * svg/SVGPreserveAspectRatio.cpp:
344         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
345         * svg/SVGRenderingIntent.h:
346         (WebCore::SVGRenderingIntent::SVGRenderingIntent):
347         * svg/SVGUnitTypes.h:
348         (WebCore::SVGUnitTypes::SVGUnitTypes):
349         * svg/graphics/SVGPaintServerGradient.h:
350         (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
351         * svg/graphics/SVGResource.cpp:
352         (WebCore::SVGResource::SVGResource):
353         * xml/DOMParser.h:
354         (WebCore::DOMParser::DOMParser):
355         * xml/XMLHttpRequest.cpp:
356         (WebCore::XMLHttpRequest::XMLHttpRequest):
357         * xml/XMLSerializer.h:
358         (WebCore::XMLSerializer::XMLSerializer):
359         * xml/XPathEvaluator.h:
360         (WebCore::XPathEvaluator::XPathEvaluator):
361         * xml/XPathExpression.h:
362         (WebCore::XPathExpression::XPathExpression):
363         * xml/XPathNSResolver.h:
364         (WebCore::XPathNSResolver::XPathNSResolver):
365         * xml/XPathResult.cpp:
366         (WebCore::XPathResult::XPathResult):
367         * xml/XPathValue.h:
368         (WebCore::XPath::ValueData::ValueData):
369         * xml/XSLTProcessor.h:
370         (WebCore::XSLTProcessor::XSLTProcessor):
371
372 2008-02-09  Kevin Ollivier  <kevino@theolliviers.com>
373
374         Reviewed by Eric Seidel.
375
376         Calling select() when all the file descriptors are NULL
377         stops the file download on Windows. As a result, do not
378         call select() when there are no valid descriptors.
379
380         http://bugs.webkit.org/show_bug.cgi?id=17178
381
382         * platform/network/curl/ResourceHandleManager.cpp:
383         (WebCore::ResourceHandleManager::downloadTimerCallback):
384
385 2008-02-09  Dan Bernstein  <mitz@apple.com>
386
387         Reviewed by Sam Weinig.
388
389         - fix http://bugs.webkit.org/show_bug.cgi?id=17259
390           Element::recalcStyle() needlessly null-checks the result of styleForElement()
391
392         * dom/Element.cpp:
393         (WebCore::Element::recalcStyle): Removed unneeded null checks.
394         styleForElement() can never return null.
395
396 2008-02-09  David Hyatt  <hyatt@apple.com>
397
398         Fix for bug 17254, nth-* selectors do not work with negative coefficients.
399
400         Reviewed by Mitz.
401
402         fast/css/negative-nth-child.html
403
404         * css/CSSStyleSelector.cpp:
405         (WebCore::parseNth):
406
407 2008-02-09  David Hyatt  <hyatt@apple.com>
408
409         Fix for bug 17203, high CPU usage loading HTML5 spec.  This patch significantly improves the performance
410         of CSS3 selectors.
411
412         (1) Split the notion of being affected by positional rules into "forward" and "backward."  The "forward"
413         selectors do not need to re-resolve during parsing, since children are appended on the end.  Only the
414         "backward" selectors like last-child or nth-last-child have to re-resolve when a close tag is encountered.
415
416         (2) Extend childrenChanged to specify whether the children were changed by the parser or not.  This allows
417         Element::childrenChanged to know when the parser is adding children so that it can ignore those adds when
418         possible.
419
420         (3) Make sure all Elements now know whether or not their children are currently parsing.  Backwards selectors
421         like last-child will always return false when children are still being parsed.  When an Element finishes
422         parsing its children, finishParsingChildren() gets called and will make sure the children re-resolve properly.
423
424         (4) Added a beginParsingChildren method and renamed finishParsing to finishedParsingChildren.
425
426         (5) Eliminated one-off hacks that did the same thing in HTMLObjectElement and HTMLAppletElement.
427
428         (6) Patched many incorrect implementations of finishedParsingChildren that did not properly call into their
429         base class (mostly new SVG elements that got added for SVG fonts around the time this became a requirement).
430
431         Reviewed by Eric
432
433         * css/CSSStyleSelector.cpp:
434         (WebCore::CSSStyleSelector::checkSelector):
435         (WebCore::CSSStyleSelector::checkOneSelector):
436         * dom/Attr.cpp:
437         (WebCore::Attr::childrenChanged):
438         * dom/Attr.h:
439         * dom/ContainerNode.cpp:
440         (WebCore::ContainerNode::addChild):
441         * dom/Document.cpp:
442         (WebCore::Document::childrenChanged):
443         * dom/Document.h:
444         * dom/Element.cpp:
445         (WebCore::Element::Element):
446         (WebCore::Element::recalcStyle):
447         (WebCore::checkFirstChildRules):
448         (WebCore::checkLastChildRules):
449         (WebCore::checkEmptyRules):
450         (WebCore::checkStyleRules):
451         (WebCore::Element::childrenChanged):
452         (WebCore::Element::finishParsingChildren):
453         * dom/Element.h:
454         (WebCore::Element::finishedParsingChildren):
455         (WebCore::Element::beginParsingChildren):
456         * dom/Node.cpp:
457         * dom/Node.h:
458         (WebCore::Node::finishParsingChildren):
459         (WebCore::Node::beginParsingChildren):
460         (WebCore::Node::childrenChanged):
461         * dom/StyledElement.cpp:
462         (WebCore::StyledElement::StyledElement):
463         * dom/StyledElement.h:
464         * dom/XMLTokenizer.cpp:
465         (WebCore::XMLTokenizer::startElementNs):
466         (WebCore::XMLTokenizer::endElementNs):
467         (WebCore::):
468         * html/HTMLAppletElement.cpp:
469         (WebCore::HTMLAppletElement::HTMLAppletElement):
470         (WebCore::HTMLAppletElement::finishParsingChildren):
471         * html/HTMLAppletElement.h:
472         * html/HTMLElementFactory.cpp:
473         (WebCore::objectConstructor):
474         * html/HTMLGenericFormElement.cpp:
475         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
476         * html/HTMLGenericFormElement.h:
477         * html/HTMLObjectElement.cpp:
478         (WebCore::HTMLObjectElement::HTMLObjectElement):
479         (WebCore::HTMLObjectElement::finishParsingChildren):
480         (WebCore::HTMLObjectElement::childrenChanged):
481         * html/HTMLObjectElement.h:
482         * html/HTMLOptGroupElement.cpp:
483         (WebCore::HTMLOptGroupElement::childrenChanged):
484         * html/HTMLOptGroupElement.h:
485         * html/HTMLOptionElement.cpp:
486         (WebCore::HTMLOptionElement::childrenChanged):
487         * html/HTMLOptionElement.h:
488         * html/HTMLParser.cpp:
489         (WebCore::HTMLParser::insertNode):
490         (WebCore::HTMLParser::pushBlock):
491         (WebCore::HTMLParser::popOneBlockCommon):
492         * html/HTMLScriptElement.cpp:
493         (WebCore::HTMLScriptElement::childrenChanged):
494         (WebCore::HTMLScriptElement::finishParsingChildren):
495         * html/HTMLScriptElement.h:
496         * html/HTMLSelectElement.cpp:
497         (WebCore::HTMLSelectElement::childrenChanged):
498         * html/HTMLSelectElement.h:
499         * html/HTMLStyleElement.cpp:
500         (WebCore::HTMLStyleElement::finishParsingChildren):
501         (WebCore::HTMLStyleElement::childrenChanged):
502         * html/HTMLStyleElement.h:
503         * html/HTMLTextAreaElement.cpp:
504         (WebCore::HTMLTextAreaElement::childrenChanged):
505         * html/HTMLTextAreaElement.h:
506         * html/HTMLTitleElement.cpp:
507         (WebCore::HTMLTitleElement::childrenChanged):
508         * html/HTMLTitleElement.h:
509          * rendering/RenderApplet.cpp:
510         (WebCore::RenderApplet::createWidgetIfNecessary):
511         * rendering/RenderPartObject.cpp:
512         (WebCore::RenderPartObject::updateWidget):
513         * rendering/RenderStyle.cpp:
514         (WebCore::RenderStyle::RenderStyle):
515         * rendering/RenderStyle.h:
516         (WebCore::RenderStyle::childrenAffectedByForwardPositionalRules):
517         (WebCore::RenderStyle::setChildrenAffectedByForwardPositionalRules):
518         (WebCore::RenderStyle::childrenAffectedByBackwardPositionalRules):
519         (WebCore::RenderStyle::setChildrenAffectedByBackwardPositionalRules):
520         * svg/SVGAnimationElement.cpp:
521         (WebCore::SVGAnimationElement::finishParsingChildren):
522         * svg/SVGAnimationElement.h:
523         * svg/SVGClipPathElement.cpp:
524         (WebCore::SVGClipPathElement::childrenChanged):
525         * svg/SVGClipPathElement.h:
526         * svg/SVGDefinitionSrcElement.cpp:
527         (WebCore::SVGDefinitionSrcElement::childrenChanged):
528         * svg/SVGDefinitionSrcElement.h:
529         * svg/SVGElement.cpp:
530         (WebCore::SVGElement::finishParsingChildren):
531         * svg/SVGElement.h:
532         * svg/SVGFontFaceElement.cpp:
533         (WebCore::SVGFontFaceElement::childrenChanged):
534         * svg/SVGFontFaceElement.h:
535         * svg/SVGFontFaceFormatElement.cpp:
536         (WebCore::SVGFontFaceFormatElement::childrenChanged):
537         * svg/SVGFontFaceFormatElement.h:
538         * svg/SVGFontFaceSrcElement.cpp:
539         (WebCore::SVGFontFaceSrcElement::childrenChanged):
540         * svg/SVGFontFaceSrcElement.h:
541         * svg/SVGFontFaceUriElement.cpp:
542         (WebCore::SVGFontFaceUriElement::childrenChanged):
543         * svg/SVGFontFaceUriElement.h:
544         * svg/SVGGElement.cpp:
545         (WebCore::SVGGElement::childrenChanged):
546         * svg/SVGGElement.h:
547         * svg/SVGGradientElement.cpp:
548         (WebCore::SVGGradientElement::childrenChanged):
549         * svg/SVGGradientElement.h:
550         * svg/SVGMarkerElement.cpp:
551         (WebCore::SVGMarkerElement::childrenChanged):
552         * svg/SVGMarkerElement.h:
553         * svg/SVGMaskElement.cpp:
554         (WebCore::SVGMaskElement::childrenChanged):
555         * svg/SVGMaskElement.h:
556         * svg/SVGPatternElement.cpp:
557         (WebCore::SVGPatternElement::childrenChanged):
558         * svg/SVGPatternElement.h:
559         * svg/SVGStyleElement.cpp:
560         (WebCore::SVGStyleElement::finishParsingChildren):
561         (WebCore::SVGStyleElement::childrenChanged):
562         * svg/SVGStyleElement.h:
563         * svg/SVGStyledElement.cpp:
564         (WebCore::SVGStyledElement::childrenChanged):
565         * svg/SVGStyledElement.h:
566         * svg/SVGTitleElement.cpp:
567         (WebCore::SVGTitleElement::childrenChanged):
568         * svg/SVGTitleElement.h:
569         * svg/SVGUseElement.cpp:
570         (WebCore::SVGUseElement::childrenChanged):
571         * svg/SVGUseElement.h:
572         
573 2008-02-09  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
574
575         Unreviewed build fix
576
577         Somehow the removal of adjustSliderThumbSize(RenderObject*) sneaked
578         into the patch.
579
580         * platform/qt/RenderThemeQt.h:
581
582 2008-02-09  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
583
584         Reviewed by Adele.
585
586         paintResizeControl is dead, remove the code. This painting
587         is done by the RenderLayer.
588
589         * platform/qt/RenderThemeQt.cpp:
590         * platform/qt/RenderThemeQt.h:
591         * rendering/RenderThemeMac.h:
592         * rendering/RenderThemeMac.mm:
593
594 2008-02-07  Kevin Ollivier <kevino@theolliviers.com>
595
596         Reviewed by Eric Seidel, Adam Roben.
597
598         MSVC7 fixes.
599         http://bugs.webkit.org/show_bug.cgi?id=17211
600
601         * platform/Threading.h:
602         - On MSVC7, when the Interlocked* functions are used, the ref count gets out of sync.
603           (MSVC8 seems not to have this problem.) Use the old implementation which works correctly.
604         * platform/win/SharedTimerWin.cpp:
605         - USER_TIMER_MINIMUM/MAXIMUM aren't defined in winuser.h for the MSVC 2003 Platform SDK
606           so define them if they are not already defined.
607
608 2008-02-08  Brent Fulgham  <bfulgham@gmail.com>
609
610         Reviewed by Adam Roben.
611
612         Bug 17226: Fix Windows (Cairo) build of image-decoders
613         http://bugs.webkit.org/show_bug.cgi?id=17226
614
615         * platform/image-decoders/gif/GIFImageDecoder.cpp:
616         * platform/image-decoders/png/PNGImageDecoder.cpp:
617
618 2008-02-08  Timothy Hatcher  <timothy@apple.com>
619
620         Reviewed by Brady Eidson.
621
622         <rdar://problem/5640896> Removing database then trying
623         to recreate it causes trouble
624
625         Added open Database support to DatabaseTracker. So any Database that 
626         is deleted will be marked as deleted and will fail to open any transaction
627         or execute any new SQL queries.
628
629         * storage/Database.cpp:
630         (WebCore::Database::Database): Call DatabaseTracker::addOpenDatabase.
631         (WebCore::Database::~Database): Call DatabaseTracker::removeOpenDatabase.
632         (WebCore::Database::markAsDeleted): Set the m_deleted flag.
633         (WebCore::Database::version): Return a null String if m_deleted is true.
634         * storage/Database.h:
635         (WebCore::Database::deleted): Return m_deleted.
636         * storage/DatabaseTracker.cpp:
637         (WebCore::DatabaseTracker::addOpenDatabase): Add the Database to a map of origins and names.
638         (WebCore::DatabaseTracker::removeOpenDatabase): Remove the Database from the map.
639         (WebCore::DatabaseTracker::deleteDatabaseFile): Call markAsDeleted on all the open Databases
640           matching the origin/name.
641         * storage/DatabaseTracker.h:
642         * storage/SQLStatement.cpp:
643         (WebCore::SQLStatement::setDatabaseDeletedError): Set the error about the user deleting the database.
644         * storage/SQLStatement.h:
645         * storage/SQLTransaction.cpp:
646         (WebCore::SQLTransaction::executeSQL): If the Database is deleted, call setDatabaseDeletedError.
647         (WebCore::SQLTransaction::openTransactionAndPreflight): Set the error about the user deleting the database
648           if the Database was marked as deleted.
649
650 2008-02-08  Darin Adler  <darin@apple.com>
651
652         Reviewed by Eric.
653
654         - fix http://bugs.webkit.org/show_bug.cgi?id=15003
655           Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)
656
657         Test: fast/js/constructor-attributes.html
658
659         * bindings/scripts/CodeGeneratorJS.pm: Remove unwanted attributes from "constructor".
660
661 2008-02-08  Anders Carlsson  <andersca@apple.com>
662
663         Reviewed by Mitz.
664
665         <rdar://problem/5650446>
666         http://bugs.webkit.org/show_bug.cgi?id=16102
667         Crash in FrameLoader::stopLoadingSubframes() on IMDB page
668
669         Store the child frame in a RefPtr to prevent it from being deleted when the
670         frame tree changes while calling stopAllLoaders().
671         
672         * loader/FrameLoader.cpp:
673         (WebCore::FrameLoader::stopLoadingSubframes):
674
675 2008-02-08  Kevin Ollivier  <kevino@theolliviers.com>
676
677         wx port build fix. Add time.h to define time_t.
678
679         * platform/FileSystem.h:
680
681 2008-02-08  Alp Toker  <alp@atoker.com>
682
683         Reviewed by Adam Roben.
684
685         Avoid null-dereference crasher noticed in the GTK+ port and also
686         affecting the Win debug build.
687
688         Covered by existing tests.
689
690         * dom/Document.cpp:
691         (WebCore::Document::userStyleSheet):
692
693 2008-02-08  Anders Carlsson  <andersca@apple.com>
694
695         Reviewed by Adam.
696
697         <rdar://problem/5724188> 
698         REGRESSION: PLT 0.7% slower due to 29926 (change Text::createWithLengthLimit to take a UChar pointer)
699         
700         Revert r29926 which caused the regression.
701         
702         * dom/Text.cpp:
703         (WebCore::Text::createWithLengthLimit):
704         * dom/Text.h:
705         * html/HTMLParser.cpp:
706         (WebCore::HTMLParser::parseToken):
707         * loader/TextDocument.cpp:
708         (WebCore::TextTokenizer::write):
709
710 2008-02-08  Sam Weinig  <sam@webkit.org>
711
712         Reviewed by Hyatt.
713
714         Fix for <rdar://problem/5732491>
715         http://bugs.webkit.org/show_bug.cgi?id=17213
716         The querySelectorAll method on an element node does not search only the element's descendants
717
718         Test: fast/dom/SelectorAPI/elementRoot.html
719
720         * dom/Node.cpp:
721         (WebCore::Node::querySelector): Make sure to stay within the root node when traversing the tree.
722         * dom/SelectorNodeList.cpp:
723         (WebCore::SelectorNodeList::SelectorNodeList): ditto.
724
725
726
727 2008-02-08  David Hyatt  <hyatt@apple.com>
728
729         Fix for bug 16798, button should default to type=submit.
730
731         Reviewed by darin
732
733         * html/HTMLButtonElement.cpp:
734         (WebCore::HTMLButtonElement::type):
735         (WebCore::HTMLButtonElement::parseMappedAttribute):
736
737 2008-02-08  Rodney Dawes  <dobey@wayofthemonkey.com>
738
739         Reviewed by Jon Honeycutt.
740
741         Redefine some platform-specific types as cross-platform types
742         Add pathGetFileName method to get the filename from a path string
743         Add unloadModule method to unload a loadable module from the process
744         Implement new methods for GTK+ and Windows
745         Implement missing homeDirectoryPath method for GTK+
746         Add stub methods for new and missing methods for Wx and Qt
747
748         * platform/FileSystem.h:
749         * platform/gtk/FileSystemGtk.cpp:
750         * platform/qt/FileSystemQt.cpp:
751         * platform/win/FileSystemWin.cpp:
752         * platform/wx/FileSystemWx.cpp:
753
754 2008-02-08  Adam Roben  <aroben@apple.com>
755
756         Windows build fix after r30088
757
758         * bindings/scripts/CodeGeneratorCOM.pm: Touch this to force the COM
759         bindings to rebuild.
760
761 2008-02-08  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
762
763         Reviewed by Alp Toker.
764
765         http://bugs.webkit.org/show_bug.cgi?id=17009
766         [Gtk] Webkit strips accents from some dead-key combinations
767
768         KeyEvents have to go through the gtk input method.
769
770         Also implement the isKeypad check and make disambiguateKeyDownEvent
771         behave more like other ports.
772
773         * platform/PlatformKeyboardEvent.h:
774         * platform/gtk/KeyEventGtk.cpp:
775         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
776         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
777         (WebCore::PlatformKeyboardEvent::gdkEventKey):
778
779 2008-02-08  Darin Adler  <darin@apple.com>
780
781         Reviewed by Eric.
782
783         - fix http://bugs.webkit.org/show_bug.cgi?id=3492
784           TreeWalker implementation needs to be fixed (affects Acid3)
785         - fix http://bugs.webkit.org/show_bug.cgi?id=4714
786           NodeIterator does not handle exceptions from the filter function (affects Acid3)
787         - fix http://bugs.webkit.org/show_bug.cgi?id=4716
788           NodeIterator will crash if the filter function removes the current node from the document
789
790         Test: traversal/exception-forwarding.html
791
792         This turned into a near-rewrite of NodeIterator and TreeWalker.
793
794         * bindings/js/JSNodeFilterCondition.h:
795         * bindings/js/JSNodeFilterCondition.cpp:
796         (WebCore::takeException): Added.
797         (WebCore::JSNodeFilterCondition::acceptNode): Added an out parameter to return
798         a JavaScript exception.
799
800         * bindings/js/JSNodeFilterCustom.cpp:
801         (WebCore::JSNodeFilter::acceptNode): Wrote a custom binding for this that raises
802         a JavaScript exception if the out parameter is set.
803
804         * bindings/js/JSNodeIteratorCustom.cpp:
805         (WebCore::JSNodeIterator::nextNode): Wrote a custom binding for this that raises
806         a JavaScript exception if the out parameter is set.
807         (WebCore::JSNodeIterator::previousNode): Ditto.
808
809         * bindings/js/JSTreeWalkerCustom.cpp:
810         (WebCore::JSTreeWalker::parentNode): Wrote a custom binding for this that raises
811         a JavaScript exception if the out parameter is set.
812         (WebCore::JSTreeWalker::firstChild): Ditto.
813         (WebCore::JSTreeWalker::lastChild): Ditto.
814         (WebCore::JSTreeWalker::nextSibling): Ditto.
815         (WebCore::JSTreeWalker::previousSibling): Ditto.
816         (WebCore::JSTreeWalker::previousNode): Ditto.
817         (WebCore::JSTreeWalker::nextNode): Ditto.
818
819         * bindings/objc/DOM.mm:
820         (WebCore::ObjCNodeFilterCondition::acceptNode): Updated to include new exception
821         out parameter.
822         (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
823         Use RefPtr to make object lifetimes clearer.
824         (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
825         Ditto.
826
827         * bindings/scripts/CodeGeneratorJS.pm: Added include of NodeFilter.h for
828         JSDocument.cpp.
829
830         * dom/Document.h:
831         * dom/Document.cpp:
832         (WebCore::Document::createNodeIterator): Changed to use PassRefPtr.
833         (WebCore::Document::createTreeWalker): Ditto.
834
835         * dom/NodeFilter.h:
836         * dom/NodeFilter.cpp:
837         (WebCore::NodeFilter::NodeFilter): Changed to use PassRefPtr.
838         (WebCore::NodeFilter::acceptNode): Added an out parameter to return
839         a JavaScript exception.
840         * dom/NodeFilter.idl: Custom binding for acceptNode.
841
842         * dom/NodeFilterCondition.h:
843         * dom/NodeFilterCondition.cpp:
844         (WebCore::NodeFilterCondition::acceptNode): Added an out parameter to return
845         a JavaScript exception.
846
847         * dom/NodeIterator.cpp:
848         (WebCore::NodeIterator::NodeIterator): Changed to use PassRefPtr more.
849         Eliminated m_doc, using the root node instead, and unnecessary check for
850         null -- rootNode must be non-null and all nodes have a non-null document.
851         (WebCore::NodeIterator::~NodeIterator): Changed to get document from root.
852         (WebCore::NodeIterator::nextNode): Rewrote to use a RefPtr since the
853         acceptNode function could do anything, including removing the last
854         reference to the current node. Also folded findNextNode into this function
855         since it's the only one that needs to call it.
856         (WebCore::NodeIterator::previousNode): Same thing, but the other direction.
857         (WebCore::NodeIterator::detach): Changed to use the root node as the indication
858         that we're detached rather than a separate boolean.
859         (WebCore::NodeIterator::notifyBeforeNodeRemoval): Removed some unnneeded
860         checks. Removed incorrect use of findNextNode/findPreviousNode -- those
861         functions call acceptNode and the DOM standard is quite clear that these
862         functions do not take that into account, allowing the current node to become
863         one that's not accepted.
864
865         * dom/NodeIterator.h: Changed constructor to use PassRefPtr more. Changed
866         nextNode and previousNode to have an out parameter with a JavaScript exception.
867         Removed helper functions setReferenceNode, setPointerBeforeReferenceNode,
868         detached, setDetached, document, findNextNode, and findPreviousNode. All were
869         unnecessary. Removed data member m_doc which was just rootNode()->document().
870
871         * dom/NodeIterator.idl: Custom binding for nextNode and previousNode.
872
873         * dom/Traversal.cpp:
874         (WebCore::Traversal::Traversal): Use PassRefPtr more.
875         (WebCore::Traversal::acceptNode): Added out parameter for JavaScript exception.
876         Also rearranged the function a little bit for clarity.
877
878         * dom/Traversal.h: Changed acceptNode to have an out parameter with a JavaScript
879         exception and made it protected, since it's only for use by the derived classes.
880
881         * dom/TreeWalker.cpp:
882         (WebCore::TreeWalker::TreeWalker): Updated to use PassRefPtr.
883         (WebCore::TreeWalker::setCurrentNode): Updated to use PassRefPtr and deleted
884         the overloaded version since it's not needed.
885         (WebCore::TreeWalker::parentNode): Rewrote to propagate the exception and also
886         to implement rules about when to check things like whether we're in the tree.
887         The previous fix where we called isDescendantOf was not entirely correct, because
888         the specification allows you to walk outside the tree if you get there somehow.
889         What it doesn't allow is walking outside the tree from inside. The new
890         implementation handles this correctly.
891         (WebCore::TreeWalker::firstChild): Ditto.
892         (WebCore::TreeWalker::lastChild): Ditto.
893         (WebCore::TreeWalker::previousSibling): Ditto.
894         (WebCore::TreeWalker::nextSibling): Ditto.
895         (WebCore::TreeWalker::previousNode): Ditto. Because of the need to check the
896         acceptNode function on parents, this can't use traversePreviousNode (more's the
897         pity, because it's a bit complicated).
898         (WebCore::TreeWalker::nextNode): Ditto.
899
900         * dom/TreeWalker.h: Changed constructor and setCurrentNode to use PassRefPtr
901         more. Changed the navigation functions to have an out parameter with a JavaScript
902         exception. Removed helper functions setCurrentNode and ancestorRejected.
903
904         * dom/TreeWalker.idl: Custom binding for navigation functions.
905
906 2008-02-08  Eric Seidel  <eric@webkit.org>
907
908         Reviewed by darin.
909
910         Add support for Text.wholeText and Text.replaceWholeText
911         http://bugs.webkit.org/show_bug.cgi?id=17125
912
913         Test EntityReferences to make sure they're always treated as read-only
914         In doing so I discovered a bug in document.adoptNode(readonlyNode) (and fixed it)
915
916         * dom/Document.cpp:
917         (WebCore::Document::adoptNode): throw NO_MODIFICATION_ALLOWED_ERR when passed a readonly node
918         * dom/Node.cpp:
919         * dom/Node.cpp:
920         (WebCore::Node::textContent):
921         * dom/Text.cpp:
922         (WebCore::earliestLogicallyAdjacentTextNode):
923         (WebCore::latestLogicallyAdjacentTextNode):
924         (WebCore::Text::wholeText):
925         (WebCore::Text::replaceWholeText):
926         * dom/Text.h:
927         * dom/Text.idl:
928
929 2008-02-06  Kimmo Kinnunen  <kimmok@iki.fi>
930
931         Reviewed by Tim Hatcher.
932
933         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17191
934         HTML5: Client-side database queries should return values of type number
935         Test: storage/sql-data-types.html
936
937         Make the DB queries return a value as a number if it was inserted
938         as a number to the database.
939         * platform/sql/SQLiteStatement.cpp:
940         (WebCore::SQLiteStatement::getColumnValue): new member function to return SQLValues
941         * platform/sql/SQLiteStatement.h:
942         * storage/SQLStatement.cpp:
943         (WebCore::SQLStatement::execute): use getColumnValue instead of getColumnText
944
945 2008-02-07  Ada Chan  <adachan@apple.com>
946
947         <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
948         Added mechanism to communicate client certificate info back to CFNetwork.
949
950         Reviewed by Adam.
951
952         * platform/network/ResourceHandle.h:
953         * platform/network/cf/ResourceHandleCFNet.cpp:
954         (WebCore::clientCerts): Keep a mapping of hosts to client certificates.
955         (WebCore::makeFinalRequest): If we have a client certificate for the host, pass it
956         to CFNetwork by setting it in the SSL properties.
957         (WebCore::ResourceHandle::setClientCertificate): Map client certificate to the host.
958
959 2008-02-07  Adam Roben  <aroben@apple.com>
960
961         Qt build fix
962
963         * platform/SharedBuffer.cpp: Removed a stub implementation of
964         createWithContentsOfFile, now that each platform has its own stub.
965
966 2008-02-07  Adam Roben  <aroben@apple.com>
967
968         Fix Bug 17138: REGRESSION: Node highlight not updated properly
969
970         <http://bugs.webkit.org/show_bug.cgi?id=17138>
971         <rdar://problem/5719869>
972
973         Reviewed by Darin.
974
975         No test possible.
976
977         * page/InspectorController.cpp:
978         (WebCore::InspectorController::drawNodeHighlight): Update the
979         overlayRect after scrolling to make sure that we translate the context
980         by the correct amount.
981
982 2008-02-07  Adam Roben  <aroben@apple.com>
983
984         Qt and GTK+ build fixes
985
986         * platform/gtk/FileSystemGtk.cpp: Added a missing #include.
987         * platform/qt/FileSystemQt.cpp: Ditto.
988
989 2008-02-07  Adam Roben  <aroben@apple.com>
990
991         Some cleanup of Mac-only user stylesheet code
992
993         I moved UserStyleSheetLoader out of Frame.cpp into its own files, and
994         moved some Mac-only Frame methods to FrameMac.mm.
995
996         Reviewed by Darin.
997
998         * WebCore.xcodeproj/project.pbxproj: Added new files to project.
999         * loader/mac/UserStyleSheetLoader.cpp: Added.
1000         (UserStyleSheetLoader::UserStyleSheetLoader):
1001         (UserStyleSheetLoader::~UserStyleSheetLoader):
1002         * loader/mac/UserStyleSheetLoader.h: Added.
1003         * page/Frame.cpp: Removed setUserStyleSheet[Location]
1004         * page/mac/FrameMac.mm:
1005         (WebCore::Frame::setUserStyleSheetLocation): Moved here from
1006         Frame.cpp.
1007         (WebCore::Frame::setUserStyleSheet): Ditto.
1008
1009 2008-02-07  Adam Roben  <aroben@apple.com>
1010
1011         Fix <rdar://5555260> GMail never loads when a user stylesheet is
1012         specified
1013
1014         The fix in r29841 did not guarantee that the user stylesheet would not
1015         still be loading by the time GMail called document.write, and so was
1016         not a complete fix.
1017
1018         This change reworks the user stylesheet loading mechanism on non-Mac
1019         platforms to load the stylesheet synchronously from disk, and then
1020         keeps it in memory. This obsoletes the issue of what our behavior
1021         should be before the user stylesheet has loaded and what should happen
1022         when it finishes loading, as the user stylesheet will always be
1023         available when the Document first asks for it. Note, however, that
1024         this removes the ability to specify a non-file: URL for the user
1025         stylesheet. This change was not made for the Mac platform because it's
1026         possible that WebKit clients are relying on non-file: URLs for user
1027         stylesheets. It would also be nice to move back to an asynchronous
1028         loading model someday, but that is not currently possible since we
1029         don't have an asynchronous loading mechanism that is not tied to a
1030         particular Frame.
1031
1032         The responsibility of loading and storing the user stylesheet has
1033         moved from Frame to Page, since the user stylesheet URL is set on the
1034         Page-level Settings object.
1035
1036         Reviewed by Darin.
1037
1038         * dom/Document.cpp:
1039         (WebCore::Document::Document): Changed to call userStyleSheet().
1040         (WebCore::Document::setUserStyleSheet): Made Mac-only.
1041         (WebCore::Document::userStyleSheet): Changed to call up to Page on
1042         non-Mac platforms.
1043         (WebCore::Document::recalcStyleSelector): Changed to call
1044         userStyleSheet().
1045         * dom/Document.h:
1046             - Made setUserStyleSheet and the m_usersheet member Mac-only
1047             - Changed userStyleSheet to return a String instance instead of a
1048               String reference, since we now might return a new null String.
1049         * loader/FrameLoader.cpp:
1050         (WebCore::FrameLoader::begin): Made the call to
1051         Frame::setUserStyleSheetLocation Mac-only.
1052         * page/Frame.cpp: Made UserStyleSheetLoader and related code Mac-only.
1053         (WebCore::Frame::~Frame): Ditto.
1054         (WebCore::Frame::reapplyStyles): Made the call to
1055         setUserStyleSheet[Location] Mac-only. On non-Mac platforms the
1056         Document will pick up the new stylesheet in Document::reapplyStyles.
1057         (WebCore::FramePrivate::FramePrivate): Made m_userStyleSheetLoader
1058         Mac-only.
1059         * page/Frame.h: Made setUserStyleSheet[Location] Mac-only.
1060         * page/FramePrivate.h: Made m_userStyleSheetLoader Mac-only.
1061         * page/Page.cpp:
1062         (WebCore::Page::Page): Initialize new members.
1063         (WebCore::Page::userStyleSheetLocationChanged): Added. Does nothing on
1064         Mac. On non-Mac, resets all members relating to the user stylesheet so
1065         we'll know to load it again the next time it's asked for.
1066         (WebCore::Page::userStyleSheet): Added. Loads the user stylesheet if
1067         the user stylesheet location has changed since the last time we loaded
1068         it, or if the file has been modified since we last loaded it, then
1069         returns the contents of the user stylesheet as a String.
1070         * page/Page.h: Added new methods/members.
1071         * page/Settings.cpp:
1072         (WebCore::Settings::setUserStyleSheetLocation): Changed to call
1073         Page::userStyleSheetLocationChanged.
1074         * page/Settings.h: Changed userStyleSheetLocation to return the KURL
1075         by reference instead of making a copy.
1076         * platform/FileSystem.h: Added declaration for getFileModificationTime.
1077         * platform/KURL.h: Added declaration for fileSystemPath method.
1078         * platform/cf/KURLCFNet.cpp:
1079         (WebCore::KURL::fileSystemPath): Added.
1080         * platform/posix/FileSystemPOSIX.cpp:
1081         (WebCore::getFileModificationTime): Added.
1082         * platform/qt/KURLQt.cpp:
1083         (WebCore::KURL::fileSystemPath): Stubbed out.
1084         * platform/win/FileSystemWin.cpp:
1085         (WebCore::getFileModificationTime): Added.
1086         * platform/qt/FileSystemQt.cpp: Stubbed out getFileModificationTime.
1087         * platform/gtk/FileSystemGtk.cpp: Ditto.
1088         * platform/wx/FileSystemWx.cpp: Ditto.
1089         * platform/qt/TemporaryLinkStubs.cpp: Stubbed out
1090         SharedBuffer::createWithContentsOfFile.
1091         * platform/gtk/TemporaryLinkStubs.cpp: Ditto, along with
1092         KURL::fileSystemPath.
1093         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
1094
1095 2008-02-07  Adam Roben  <aroben@apple.com>
1096
1097         Clean up FileSystemWin.cpp
1098
1099         This cleanup also makes us call _wstat64 instead of _wstat32i64. The
1100         only difference between these two functions is that _wstat64 gives
1101         64-bit time values, while _wstat32i64 only gives 32-bit time values.
1102
1103         Reviewed by Darin.
1104
1105         All tests pass.
1106
1107         * platform/win/FileSystemWin.cpp:
1108         (WebCore::statFile): New static helper that wraps _wstat64.
1109         (WebCore::getFileSize): Changed to call statFile.
1110         (WebCore::fileExists): Ditto.
1111
1112 2008-02-07  Adam Roben  <aroben@apple.com>
1113
1114         Rename fileSize to getFileSize
1115
1116         Rubberstamped by Darin.
1117
1118         * platform/FileSystem.h:
1119         * platform/gtk/FileSystemGtk.cpp:
1120         * platform/network/cf/FormDataStreamCFNet.cpp:
1121         (WebCore::setHTTPBody):
1122         * platform/network/curl/ResourceHandleManager.cpp:
1123         (WebCore::ResourceHandleManager::setupPOST):
1124         * platform/posix/FileSystemPOSIX.cpp:
1125         * platform/qt/FileSystemQt.cpp:
1126         * platform/win/FileSystemWin.cpp:
1127         * platform/wx/FileSystemWx.cpp:
1128         * storage/Database.cpp:
1129         (WebCore::Database::databaseSize):
1130         * storage/DatabaseTracker.cpp:
1131         (WebCore::DatabaseTracker::usageForDatabase):
1132         * storage/OriginUsageRecord.cpp:
1133         (WebCore::OriginUsageRecord::diskUsage):
1134
1135 2008-02-06  Adam Roben  <aroben@apple.com>
1136
1137         Make KURL::isLocalFile treat the URL's protocol case-insensitively
1138
1139         Reviewed by Darin.
1140
1141         * platform/KURL.cpp:
1142         (WebCore::KURL::isLocalFile): Use equalIgnoringCase instead of ==.
1143
1144 2008-02-07  David Hyatt  <hyatt@apple.com>
1145
1146         Fix for bug 6248, implement the nth-* CSS3 selectors.  Patch based on original KHTML work from Allan Jensen
1147         and improved upon by Nick Shanks.
1148
1149         Reviewed by Eric
1150
1151         * css/CSSGrammar.y:
1152         * css/CSSParser.cpp:
1153         (WebCore::CSSParser::lex):
1154         * css/CSSSelector.cpp:
1155         (WebCore::CSSSelector::extractPseudoType):
1156         * css/CSSSelector.h:
1157         (WebCore::CSSSelector::):
1158         * css/CSSStyleSelector.cpp:
1159         (WebCore::parseNth):
1160         (WebCore::matchNth):
1161         (WebCore::CSSStyleSelector::checkOneSelector):
1162         * css/tokenizer.flex:
1163         * rendering/RenderStyle.cpp:
1164         (WebCore::RenderStyle::RenderStyle):
1165         * rendering/RenderStyle.h:
1166         (WebCore::RenderStyle::childIndex):
1167         (WebCore::RenderStyle::setChildIndex):
1168
1169 2008-02-07  Dan Bernstein  <mitz@apple.com>
1170
1171         Reviewed by Dave Hyatt.
1172
1173         - fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
1174
1175         Test: fast/block/float/relative-painted-twice.html
1176
1177         * rendering/RenderBlock.cpp:
1178         (WebCore::RenderBlock::addOverhangingFloats): Added another case where
1179         the child should not take over painting the float: when they do not have
1180         the same enclosing layer. In that case, the float is already being
1181         painted by one of its closer ancestors.
1182
1183 2008-02-07  Dan Bernstein  <mitz@apple.com>
1184
1185         Reviewed by Darin Adler.
1186
1187         - fix http://bugs.webkit.org/show_bug.cgi?id=17194
1188           Changing text to bold changes font family
1189
1190         Test: platform/mac/fast/text/family-for-font-matched-by-name.html
1191
1192         * platform/mac/WebFontCache.mm:
1193         (+[WebFontCache internalFontWithFamily:traits:size:]): Changed to use
1194         the family of the font whose name matches the desired family if there
1195         is no exact family match.
1196
1197 2008-02-07  Beth Dakin  <bdakin@apple.com>
1198
1199         Reviewed by Geoff.
1200
1201         Fix for <rdar://problem/5697882> Traffic or Street View button on 
1202         Google Maps is sometimes not positioned correctly (17000)
1203
1204         On the Mac, timers fire in the order that they are registered. 
1205         Geoff and I discovered that this is not necessarily true on 
1206         Windows, and that turned out to be the cause of this intermittent 
1207         layout problem at Google Maps. This patch adds a new member 
1208         variable to Timer to remember the timer's insertion point into the 
1209         heap. Now when comparing timers, if two timers were registered at 
1210         the same time, their insertion orders are compared to determine 
1211         which should fire first. This code actually never runs on Debug 
1212         builds on the Mac; the system clock on the Mac is accurate enough 
1213         that it knows that the two timers were not registered at *exactly* 
1214         the same time. This is not the case on Windows. In theory, if we 
1215         sped up Javascript enough on the Mac, this code would run and would 
1216         prevent misrenderings such as the one found on Google Maps.
1217
1218         * platform/Timer.cpp:
1219         (WebCore::operator<):
1220         (WebCore::TimerBase::setNextFireTime):
1221         * platform/Timer.h:
1222
1223 2008-02-06  Justin Garcia  <justin.garcia@apple.com>
1224
1225         Reviewed by Darin Adler.
1226
1227         <rdar://problem/5195056> Huge plain text pastes are slow
1228         
1229         This was fixed in r27369 and then r29367 and r29667 caused performance to
1230         regress.
1231
1232         * editing/EditCommand.cpp:
1233         (WebCore::EditCommand::apply): Only updateLayout() for high level commands.
1234         (WebCore::EditCommand::unapply): Ditto.
1235         (WebCore::EditCommand::reapply): Ditto.
1236         * editing/Editor.cpp:
1237         (WebCore::Editor::appliedEditing): Added a note about shouldChangeSelection calls 
1238         that shouldn't be made, a bug I filed as <rdar://problem/5729315>.
1239         (WebCore::Editor::unappliedEditing): Ditto.
1240         (WebCore::Editor::reappliedEditing): Ditto.
1241         * editing/SelectionController.cpp:
1242         (WebCore::SelectionController::nodeWillBeRemoved): Don't try to test the selection
1243         base and extent with the expensive isCandidate operation if the node that will
1244         be removed is in a fragment, since such a removal is guaranteed to have no effect
1245         on a selection.  This is to speed up the paste operation, which does many removes from
1246         a fragment.
1247
1248 2008-02-06  Kevin Ollivier  <kevino@theolliviers.com>
1249
1250         Reviewed by Darin Adler.
1251
1252         Rather than directly handing scroll wheel events, use
1253         PlatformWheelEvent to send them to WebCore first, so that
1254         mouse wheel scrolling info can be retrieved via JavaScript.
1255
1256         http://bugs.webkit.org/show_bug.cgi?id=17179
1257
1258         * platform/ScrollView.h:
1259         * platform/wx/MouseWheelEventWx.cpp:
1260         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1261         * platform/wx/ScrollViewWx.cpp:
1262         (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
1263         (WebCore::ScrollView::wheelEvent):
1264         (WebCore::ScrollView::maximumScroll):
1265
1266 2008-02-06  Mark Rowe  <mrowe@apple.com>
1267
1268         Fix Windows builds.
1269
1270         * WebCore.vcproj/WebCore.vcproj: Unbreak the XML of the project file.
1271
1272 2008-02-06  Mark Rowe  <mrowe@apple.com>
1273
1274         Mac build fix.  Track rename that happened in r30056.
1275
1276         * platform/graphics/mac/GraphicsContextMac.mm:
1277
1278 2008-02-06  Brent Fulgham  <bfulgham@gmail.com>
1279
1280         Reviewed by Adam Roben.
1281
1282         http://bugs.webkit.org/show_bug.cgi?id=16979
1283         Conditionalize CoreGraphics vs Cairo support in Windows port.
1284
1285         * WebCore.vcproj/WebCore.vcproj:
1286         * bridge/win/FrameCGWin.cpp: Copied from WebCore/bridge/win/FrameWin.cpp.
1287         (WebCore::imageFromSelection):
1288         * bridge/win/FrameCairoWin.cpp: Added.
1289         (WebCore::imageFromSelection):
1290         * bridge/win/FrameWin.cpp:
1291         (WebCore::computePageRectsForFrame):
1292         * platform/graphics/SimpleFontData.h:
1293         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1294         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Copied from WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp.
1295         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1296         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
1297         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
1298         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
1299         * platform/graphics/cg/GraphicsContextCG.cpp:
1300         (WebCore::GraphicsContext::savePlatformState):
1301         (WebCore::GraphicsContext::restorePlatformState):
1302         * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed.
1303         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Copied from WebCore/platform/graphics/cg/GraphicsContextPlatformPrivate.h.
1304         * platform/graphics/win/FontCGWin.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
1305         (WebCore::Font::drawGlyphs):
1306         * platform/graphics/win/FontCairoWin.cpp: Added.
1307         (WebCore::Font::drawGlyphs):
1308         * platform/graphics/win/FontWin.cpp:
1309         * platform/graphics/win/GraphicsContextCGWin.cpp: Copied from WebCore/platform/graphics/win/GraphicsContextWin.cpp.
1310         (WebCore::CGContextWithHDC):
1311         (WebCore::GraphicsContext::inTransparencyLayer):
1312         (WebCore::GraphicsContext::getWindowsContext):
1313         (WebCore::GraphicsContext::releaseWindowsContext):
1314         (WebCore::GraphicsContextPlatformPrivate::scale):
1315         (WebCore::GraphicsContextPlatformPrivate::rotate):
1316         (WebCore::GraphicsContextPlatformPrivate::translate):
1317         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
1318         (WebCore::setCGStrokeColor):
1319         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1320         * platform/graphics/win/GraphicsContextCairoWin.cpp: Added.
1321         (WebCore::GraphicsContext::GraphicsContext):
1322         (WebCore::GraphicsContext::getWindowsContext):
1323         (WebCore::GraphicsContext::inTransparencyLayer):
1324         (WebCore::GraphicsContext::releaseWindowsContext):
1325         (WebCore::GraphicsContext::concatCTM):
1326         * platform/graphics/win/GraphicsContextWin.cpp:
1327         * platform/graphics/win/ImageCGWin.cpp: Copied from WebCore/platform/graphics/win/ImageWin.cpp.
1328         (WebCore::BitmapImage::getHBITMAPOfSize):
1329         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1330         * platform/graphics/win/ImageCairoWin.cpp: Added.
1331         (WebCore::BitmapImage::getHBITMAPOfSize):
1332         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1333         * platform/graphics/win/ImageWin.cpp:
1334         * platform/graphics/win/SimpleFontDataCGWin.cpp: Copied from WebCore/platform/graphics/win/SimpleFontDataWin.cpp.
1335         (WebCore::scaleEmToUnits):
1336         (WebCore::SimpleFontData::platformInit):
1337         (WebCore::SimpleFontData::platformWidthForGlyph):
1338         * platform/graphics/win/SimpleFontDataCairoWin.cpp: Added.
1339         (WebCore::SimpleFontData::platformInit):
1340         (WebCore::SimpleFontData::platformDestroy):
1341         (WebCore::SimpleFontData::platformWidthForGlyph):
1342         * platform/graphics/win/SimpleFontDataWin.cpp:
1343         (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
1344         (WebCore::SimpleFontData::shouldApplyMacAscentHack):
1345         * platform/win/DragImageCGWin.cpp: Copied from WebCore/platform/win/DragImageWin.cpp.
1346         (WebCore::scaleDragImage):
1347         (WebCore::createDragImageFromImage):
1348         * platform/win/DragImageCairoWin.cpp: Added.
1349         (WebCore::scaleDragImage):
1350         (WebCore::createDragImageFromImage):
1351         * platform/win/DragImageWin.cpp:
1352
1353 2008-02-06  Anders Carlsson  <andersca@apple.com>
1354
1355         Reviewed by Darin.
1356
1357         Change httpBodyFromStream to take the request instead of the stream.
1358         
1359         * platform/network/cf/FormDataStreamCFNet.cpp:
1360         (WebCore::httpBodyFromRequest):
1361         * platform/network/cf/FormDataStreamCFNet.h:
1362         * platform/network/cf/ResourceRequestCFNet.cpp:
1363         (WebCore::ResourceRequest::doUpdateResourceRequest):
1364
1365 2008-02-06  Kevin McCullough  <kmccullough@apple.com>
1366
1367         Reviewed by Darin.
1368
1369         - Added manual tests for <rdar://problem/5556374> REGRESSION: cross-domain error when
1370         one URL uses an explicit port number and another doesn't
1371
1372         * manual-tests/Default-port-frame.html: Added.
1373         * manual-tests/resources/Default-port-frame-contents.html: Added.
1374
1375 2008-02-06  Oliver Hunt  <oliver@apple.com>
1376
1377         Reviewed by NOBODY (Build fix).
1378
1379         Fix windows build
1380
1381         * WebCore.vcproj/build-generated-files.sh:
1382
1383 2008-02-06  Kevin McCullough  <kmccullough@apple.com>
1384
1385         Rubberstamped by Darin.
1386
1387         <rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta
1388         - Reverted the change that caused the regression.
1389
1390         * dom/Document.cpp:
1391         (WebCore::Document::createElement):
1392         (WebCore::Document::createElementNS):
1393         (WebCore::Document::getElementById):
1394         (WebCore::Document::parseQualifiedName):
1395         (WebCore::Document::createAttributeNS):
1396         * dom/Document.idl:
1397
1398 2008-02-06  Geoffrey Garen  <ggaren@apple.com>
1399
1400         Reviewed by Oliver Hunt.
1401         
1402         Fixed <rdar://problem/5728081> REGRESSION: Many leaks on buildbot
1403
1404         The problem was refCount underflow in NamedAttrMap.
1405         
1406         Neither our regression tests nor the stress test have yet discovered
1407         another instance of this problem.
1408
1409         * dom/NamedAttrMap.cpp:
1410         (WebCore::NamedAttrMap::addAttribute): Changed to use PassRefPtr,
1411         for fast and correct refCount management. Also, change a rediculously
1412         slow malloc to a slightly less rediculously slow realloc.
1413
1414         * dom/NamedAttrMap.h:
1415         (WebCore::NamedAttrMap::insertAttribute): Changed to use PassRefPtr,
1416         for fast and correct refCount management.
1417
1418         * html/HTMLTokenizer.cpp:
1419         (WebCore::Token::addAttribute): Use a RefPtr, to guarantee that the
1420         object starts with a refCount of 1.
1421
1422 2008-02-06  Darin Adler  <darin@apple.com>
1423
1424         Reviewed by Tim Hatcher.
1425
1426         - fix <rdar://problem/5723293> NULL-deref crash in PropertyMap::put opening web inspector
1427           with View Source window as target
1428
1429         * page/InspectorController.cpp:
1430         (WebCore::canPassNodeToJavaScript): Added. Returns false if the node is in a document with
1431         JavaScript disabled.
1432         (WebCore::InspectorController::inspect): Check canPassNodeToJavaScript and do nothing if
1433         it returns false.
1434
1435 2008-02-06  David Hyatt  <hyatt@apple.com>
1436
1437         Fix for bug 16799, object elements should return absolute URLs from .data.
1438
1439         Reviewed by Mark Rowe
1440
1441         * dom/Document.cpp:
1442         (WebCore::Document::completeURL):
1443         * html/HTMLAnchorElement.cpp:
1444         (WebCore::HTMLAnchorElement::href):
1445         * html/HTMLObjectElement.cpp:
1446         (WebCore::HTMLObjectElement::data):
1447
1448 2008-02-05  Antti Koivisto  <antti@apple.com>
1449
1450         Reviewed by Darin.
1451
1452         <rdar://problem/5726340>
1453         <video autoplay controls> left in unplayable state if navigated away, then back to, before video finished loading
1454         
1455         When moving document in and out from the page cache:
1456         - Cancel incomplete load by deleting the media player. This guarantees everything is in consistent state.
1457         - Restart the load if it was aborted in the middle.
1458
1459         * html/HTMLMediaElement.cpp:
1460         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1461         (WebCore::HTMLMediaElement::load):
1462         (WebCore::HTMLMediaElement::willSaveToCache):
1463         (WebCore::HTMLMediaElement::didRestoreFromCache):
1464         * html/HTMLMediaElement.h:
1465         (WebCore::HTMLMediaElement::player):
1466
1467 2008-02-06  Darin Adler  <darin@apple.com>
1468
1469         Reviewed by Sam.
1470
1471         - replace calls to put to set up properties with calls to putDirect, to
1472           prepare for a future change where put won't take attributes any more,
1473           and for a slight performance boost
1474
1475         * bindings/js/JSAudioConstructor.cpp:
1476         (WebCore::JSAudioConstructor::JSAudioConstructor): Use putDirect instead of put.
1477         * bindings/js/JSEventTargetBase.h:
1478         (WebCore::JSEventTargetPrototype::self): Ditto.
1479         * bindings/js/JSHTMLOptionElementConstructor.cpp:
1480         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
1481         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1482         (WebCore::JSSQLResultSetRowList::item): Ditto.
1483
1484 2008-02-06  Dan Bernstein  <mitz@apple.com>
1485
1486         Reviewed by Darin Adler.
1487
1488         - fix http://bugs.webkit.org/show_bug.cgi?17093
1489         'border-color' does not animate to the value of 'color' when unspecified
1490
1491         Test: fast/css/transition-color-unspecified.html
1492
1493         * page/AnimationController.cpp:
1494         (WebCore::ImplicitAnimation::animate): Changed to use the value of the
1495         'color' property in the source or destination style as the source or
1496         destination value of properties whose inital value is defined to be the
1497         computed value of 'color'.
1498
1499 2008-02-06  Dan Bernstein  <mitz@apple.com>
1500
1501         Build fix.
1502
1503         * svg/svgtags.in:
1504
1505 2008-02-05  Oliver Hunt  <oliver@apple.com>
1506
1507         Build fix -- touch generate-bindings to trigger regeneration of bindings
1508
1509         * bindings/scripts/generate-bindings.pl:
1510
1511 2008-02-05  Oliver Hunt  <oliver@apple.com>
1512
1513         RS=Eric.
1514
1515         Re-enable foreignObject by default as it is needed for a number of 
1516         non-fO related SVG tests and none of the old known crashes occur
1517         anymore.
1518
1519         * Configurations/WebCore.xcconfig:
1520         * WebCore.vcproj/WebCore.vcproj:
1521
1522 2008-02-05  Sam Weinig  <sam@webkit.org>
1523
1524         Reviewed by Anders Carlsson.
1525
1526         Fix for http://bugs.webkit.org/show_bug.cgi?id=8080
1527         NodeList (and other DOM lists) items are not enumeratable using for..in
1528
1529         - Match Firefox when enumerating DOM interfaces with indexGetters (support for 
1530           the array bracket, nodeList[0], notation) by including all the items in the
1531           list before the attributes and methods of the interface.
1532
1533         Test: fast/dom/domListEnumeration.html
1534
1535         * ForwardingHeaders/kjs/PropertyNameArray.h: Added.
1536         * bindings/js/JSDOMWindowCustom.cpp:
1537         (WebCore::JSDOMWindow::customGetPropertyNames): Use the new custom method model. 
1538         * bindings/js/JSHistoryCustom.cpp:
1539         (WebCore::JSHistory::customGetPropertyNames): ditto.
1540         * bindings/scripts/CodeGeneratorJS.pm: Instead of just adding a declaration of
1541         getProperyNames and implementing the method in the Custom.cpp, move to a the 
1542         model used by generated getOwnPropertySlot() and put() where the custom code
1543         is written in a separate customGetPropertyNames which returns a bool indicating
1544         whether to call up to the base class.  This enables adding the list indexes
1545         to the PropertyNameArray for interfaces with indexGetters automatically.
1546
1547 2008-02-05  Samuel Weinig  <sam@webkit.org>
1548
1549         Reviewed by Darin Adler.
1550
1551         Fix for <rdar://problem/5726604> 
1552         dom-checker: deleting properties of the window object cross-domain should not be allowed
1553
1554         Fix flaw found while testing with dom-checker testing tool (http://code.google.com/p/dom-checker/).
1555
1556         Test: http/tests/security/cross-frame-access-delete.html
1557
1558         * bindings/js/JSDOMWindowCustom.cpp:
1559         (WebCore::JSDOMWindow::deleteProperty): Override deleteProperty to not delete cross-domain.
1560         * bindings/js/JSHistoryCustom.cpp:
1561         (WebCore::JSHistory::deleteProperty): ditto.
1562         * bindings/js/JSLocation.cpp:
1563         (WebCore::JSLocation::deleteProperty): ditto.
1564         * bindings/js/JSLocation.h:
1565
1566         * bindings/scripts/CodeGeneratorJS.pm: Add deleteProperty declaration when CustomDeleteProperty is used.
1567         * page/DOMWindow.idl: Add CustomDeleteProperty extended attribute.
1568         * page/History.idl: ditto.
1569
1570 2008-02-05  Alp Toker  <alp@atoker.com>
1571
1572         Rubber-stamped by Mark Rowe.
1573
1574         Fix a "missing sentinel in function call" warning by using NULL
1575         instead of 0.
1576
1577         * platform/gtk/RenderThemeGtk.cpp:
1578         (WebCore::RenderThemeGtk::caretBlinkFrequency):
1579
1580 2008-02-05  Nikolas Zimmermann  <zimmermann@kde.org>
1581
1582         Reviewed by Oliver.
1583
1584         Fix dynamic updates of <circle> element's properties.
1585
1586         Added tests: svg/dynamic-updates/SVGCircleElement*
1587
1588         * svg/SVGCircleElement.cpp:
1589         (WebCore::SVGCircleElement::svgAttributeChanged): Mixed up cxAttr/xAttr etc.
1590         * svg/SVGCircleElement.h:
1591
1592 2008-02-05  Rodney Dawes  <dobey@wayofthemonkey.com>
1593
1594         Wx build fix.  Add WebCore/plugins to the include path.
1595
1596         * webcore-base.bkl:
1597
1598 2008-02-05  Mark Rowe  <mrowe@apple.com>
1599
1600         Mac build fix.  Update the Xcode project to follow a moved file,
1601         and track a rename in two files that were missed earlier.
1602
1603         * WebCore.xcodeproj/project.pbxproj:
1604         * page/mac/WebCoreFrameBridge.mm:
1605         (-[WebCoreFrameBridge canProvideDocumentSource]):
1606         * platform/mac/PlugInInfoStoreMac.mm:
1607         (WebCore::PluginInfoStore::pluginNameForMIMEType):
1608
1609 2008-02-05  Nikolas Zimmermann  <zimmermann@kde.org>
1610
1611         Reviewed by Holger.
1612
1613         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17185
1614         Fix dynamic SVG DOM updates of <a> element's href property.
1615
1616         This commit also introduces a new SVG Tests framework: LayoutTests/svg/dynamic-updates
1617         Its purpose is to provide dynamic updating tests for each SVG class & property, aka.
1618         one test per property per class. As a first pass it's sufficient to add testcases for all
1619         SVG*Element classes, and their properties - and only common-used base-class properties.
1620
1621         For SVGAElement - for example - it makes most sense to test scripting its parent
1622         SVGURIReference object ('href' property) and its own property 'target'.
1623
1624         Adding tests to see - for example - if SVGAElement reacts on changes on ie. its parent
1625         SVGExternalResourcesRequired interface, should really be done in a second pass.
1626
1627         All tests within the new framework are supposed to be created using make-js-tests-wrappers.
1628
1629         Added test: svg/dynamic-updates/SVGAElement-dom-href-attr.js
1630         Added test: svg/dynamic-updates/SVGAElement-dom-target-attr.js
1631         Added test: svg/dynamic-updates/SVGAElement-svgdom-href-prop.js
1632         Added test: svg/dynamic-updates/SVGAElement-svgdom-target-prop.js
1633
1634         * svg/SVGAElement.cpp:
1635         (WebCore::SVGAElement::parseMappedAttribute): Move any setChanged() handling in svgAttributeChanged.
1636         (WebCore::SVGAElement::svgAttributeChanged):
1637         (WebCore::SVGAElement::defaultEventHandler): Use href() not getAttribute(hrefAttr) - otherwhise SVG DOM updates fail!
1638         * svg/SVGAElement.h:
1639
1640 2008-02-05  Justin Garcia  <justin.garcia@apple.com>
1641
1642         Reviewed by Alexey Proskuryakov.
1643
1644         <rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317)
1645
1646         * editing/CompositeEditCommand.cpp:
1647         (WebCore::createBlockPlaceholderElement): The khtml-block-placeholder class was needed
1648         when the editing code actively looked for <br>s of that type in order to handle them
1649         specially.  That is no longer the case.
1650         * editing/InsertParagraphSeparatorCommand.cpp:
1651         (WebCore::InsertParagraphSeparatorCommand::doApply): Fixed a bug where an extra block
1652         would be inserted when hitting return inside an editable root held open by a placeholder
1653         <br> or '\n'.  Added test cases for the bug and for the special case code that was incorrectly
1654         triggered to cause the bug. 
1655
1656 2008-02-05  Rodney Dawes  <dobey@wayofthemonkey.com>
1657
1658         Reviewed by Anders Carlsson.
1659
1660         Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
1661         Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.
1662
1663         Remove the Win suffix on several plugin-related classes that will
1664         soon be refactored to be more portable.
1665
1666         * WebCore.vcproj/WebCore.vcproj:
1667         * bindings/js/kjs_navigator.cpp:
1668         (KJS::PluginBase::cachePluginDataIfNecessary):
1669         * bindings/js/kjs_window.cpp:
1670         * bridge/win/FrameWin.cpp:
1671         (WebCore::Frame::createScriptInstanceForWidget):
1672         * dom/Clipboard.cpp:
1673         * dom/DOMImplementation.cpp:
1674         (WebCore::DOMImplementation::createDocument):
1675         * loader/FrameLoader.cpp:
1676         (WebCore::FrameLoader::shouldUsePlugin):
1677         * page/DragController.cpp:
1678         * platform/PlugInInfoStore.h: Removed.
1679         * platform/gtk/TemporaryLinkStubs.cpp:
1680         (PluginInfoStore::createPluginInfoForPluginAtIndex):
1681         (PluginInfoStore::pluginCount):
1682         (PluginInfoStore::pluginNameForMIMEType):
1683         (WebCore::PluginInfoStore::supportsMIMEType):
1684         * platform/qt/PlugInInfoStoreQt.cpp:
1685         (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
1686         (WebCore::PluginInfoStore::pluginCount):
1687         (WebCore::PluginInfoStore::pluginNameForMIMEType):
1688         (WebCore::PluginInfoStore::supportsMIMEType):
1689         * platform/qt/TemporaryLinkStubs.cpp:
1690         * platform/win/SharedTimerWin.cpp:
1691         (WebCore::TimerWindowWndProc):
1692         * platform/wx/TemporaryLinkStubs.cpp:
1693         (PluginInfoStore::createPluginInfoForPluginAtIndex):
1694         (PluginInfoStore::pluginCount):
1695         (WebCore::PluginInfoStore::supportsMIMEType):
1696         (PluginInfoStore::pluginNameForMIMEType):
1697         * plugins/PluginDatabase.h: Copied from WebCore/plugins/win/PluginDatabaseWin.h.
1698         * plugins/PluginInfoStore.cpp: Copied from WebCore/plugins/win/PlugInInfoStoreWin.cpp.
1699         (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
1700         (WebCore::PluginInfoStore::pluginCount):
1701         (WebCore::PluginInfoStore::pluginNameForMIMEType):
1702         (WebCore::PluginInfoStore::supportsMIMEType):
1703         (WebCore::refreshPlugins):
1704         * plugins/PluginInfoStore.h: Copied from WebCore/platform/PlugInInfoStore.h.
1705         * plugins/PluginPackage.h: Copied from WebCore/plugins/win/PluginPackageWin.h.
1706         (WebCore::PluginPackageHash::hash):
1707         (WebCore::PluginPackageHash::equal):
1708         (WTF::):
1709         * plugins/PluginView.h: Copied from WebCore/plugins/win/PluginViewWin.h.
1710         (WebCore::PluginView::plugin):
1711         * plugins/npapi.cpp: Copied from WebCore/plugins/win/npapi.cpp.
1712         (pluginViewForInstance):
1713         (NPN_UserAgent):
1714         * plugins/win/PlugInInfoStoreWin.cpp: Removed.
1715         * plugins/win/PluginDatabaseWin.cpp:
1716         (WebCore::PluginDatabase::installedPlugins):
1717         (WebCore::PluginDatabase::addExtraPluginPath):
1718         (WebCore::PluginDatabase::refresh):
1719         (WebCore::PluginDatabase::plugins):
1720         (WebCore::addPluginsFromRegistry):
1721         (WebCore::PluginDatabase::getPluginsInPaths):
1722         (WebCore::PluginDatabase::defaultPluginPaths):
1723         (WebCore::PluginDatabase::isMIMETypeRegistered):
1724         (WebCore::PluginDatabase::pluginForMIMEType):
1725         (WebCore::PluginDatabase::MIMETypeForExtension):
1726         (WebCore::PluginDatabase::findPlugin):
1727         (WebCore::PluginDatabase::createPluginView):
1728         * plugins/win/PluginDatabaseWin.h: Removed.
1729         * plugins/win/PluginPackageWin.cpp:
1730         (WebCore::PluginPackage::~PluginPackage):
1731         (WebCore::PluginPackage::freeLibrarySoon):
1732         (WebCore::PluginPackage::freeLibraryTimerFired):
1733         (WebCore::PluginPackage::PluginPackage):
1734         (WebCore::PluginPackage::compareFileVersion):
1735         (WebCore::PluginPackage::storeFileVersion):
1736         (WebCore::PluginPackage::isPluginBlacklisted):
1737         (WebCore::PluginPackage::fetchInfo):
1738         (WebCore::PluginPackage::load):
1739         (WebCore::PluginPackage::unload):
1740         (WebCore::PluginPackage::unloadWithoutShutdown):
1741         (WebCore::PluginPackage::createPackage):
1742         (WebCore::PluginPackage::hash):
1743         (WebCore::PluginPackage::equal):
1744         * plugins/win/PluginPackageWin.h: Removed.
1745         * plugins/win/PluginViewWin.cpp:
1746         (WebCore::PluginRequest::PluginRequest):
1747         (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin):
1748         (WebCore::registerPluginView):
1749         (WebCore::PluginViewWndProc):
1750         (WebCore::PluginView::popPopupsStateTimerFired):
1751         (WebCore::PluginView::wndProc):
1752         (WebCore::PluginView::updateWindow):
1753         (WebCore::PluginView::windowClipRect):
1754         (WebCore::PluginView::setFrameGeometry):
1755         (WebCore::PluginView::geometryChanged):
1756         (WebCore::PluginView::setFocus):
1757         (WebCore::PluginView::show):
1758         (WebCore::PluginView::hide):
1759         (WebCore::PluginView::paintMissingPluginIcon):
1760         (WebCore::PluginView::dispatchNPEvent):
1761         (WebCore::PluginView::paint):
1762         (WebCore::PluginView::handleKeyboardEvent):
1763         (WebCore::PluginView::handleMouseEvent):
1764         (WebCore::PluginView::handleEvent):
1765         (WebCore::PluginView::setParent):
1766         (WebCore::PluginView::attachToWindow):
1767         (WebCore::PluginView::detachFromWindow):
1768         (WebCore::PluginView::setNPWindowRect):
1769         (WebCore::PluginView::start):
1770         (WebCore::PluginView::stop):
1771         (WebCore::PluginView::setCurrentPluginView):
1772         (WebCore::PluginView::currentPluginView):
1773         (WebCore::PluginView::performRequest):
1774         (WebCore::PluginView::requestTimerFired):
1775         (WebCore::PluginView::scheduleRequest):
1776         (WebCore::PluginView::load):
1777         (WebCore::PluginView::getURLNotify):
1778         (WebCore::PluginView::getURL):
1779         (WebCore::PluginView::handlePost):
1780         (WebCore::PluginView::postURLNotify):
1781         (WebCore::PluginView::postURL):
1782         (WebCore::PluginView::newStream):
1783         (WebCore::PluginView::write):
1784         (WebCore::PluginView::destroyStream):
1785         (WebCore::PluginView::userAgent):
1786         (WebCore::PluginView::status):
1787         (WebCore::PluginView::getValue):
1788         (WebCore::PluginView::setValue):
1789         (WebCore::PluginView::invalidateTimerFired):
1790         (WebCore::PluginView::invalidateRect):
1791         (WebCore::PluginView::invalidateRegion):
1792         (WebCore::PluginView::forceRedraw):
1793         (WebCore::PluginView::pushPopupsEnabledState):
1794         (WebCore::PluginView::popPopupsEnabledState):
1795         (WebCore::PluginView::arePopupsAllowed):
1796         (WebCore::PluginView::bindingInstance):
1797         (WebCore::PluginView::~PluginView):
1798         (WebCore::PluginView::disconnectStream):
1799         (WebCore::PluginView::determineQuirks):
1800         (WebCore::PluginView::setParameters):
1801         (WebCore::PluginView::PluginView):
1802         (WebCore::PluginView::init):
1803         (WebCore::PluginView::didReceiveResponse):
1804         (WebCore::PluginView::didReceiveData):
1805         (WebCore::PluginView::didFinishLoading):
1806         (WebCore::PluginView::didFail):
1807         (WebCore::PluginView::setCallingPlugin):
1808         (WebCore::PluginView::isCallingPlugin):
1809         * plugins/win/PluginViewWin.h: Removed.
1810         * plugins/win/npapi.cpp: Removed.
1811
1812 2008-02-05  Alexey Proskuryakov  <ap@webkit.org>
1813
1814         Reviewed by Darin.
1815
1816         http://bugs.webkit.org/show_bug.cgi?id=17158
1817         Setting innerHTML in a detached XHTML element doesn't use the right namespace
1818
1819         Test: fast/dom/innerHTML-detached-element.xhtml
1820
1821         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::XMLTokenizer): Take parent element namespace
1822         into account.
1823
1824 2008-02-05  Antti Koivisto  <antti@apple.com>
1825
1826         Reviewed by Geoff.
1827         
1828         Fix <rdar://problem/5698200>
1829         eBay photo uploading hangs and causes slow script warning to pop up
1830         
1831         In a case like this
1832         
1833             var f = window.parent.parentFunction;
1834             document.domain = document.domain; // this makes window.parent inaccessible
1835             f();
1836         
1837         Firefox allows parentFunction to access parents properties. Match this behavior.
1838         
1839         In a domain security check against the dynamic global object fails for the specific reason that one of 
1840         the frames has written to the document.domain property and another has not (but they match otherwise), 
1841         then recheck against the lexical global object.
1842
1843         Test: http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html
1844               http/tests/security/cross-frame-access-callback-explicit-domain-DENY.html
1845
1846         * bindings/js/kjs_window.cpp:
1847         (KJS::Window::allowsAccessFrom):
1848         (KJS::Window::printErrorMessage):
1849         * bindings/js/kjs_window.h:
1850         * loader/FrameLoader.cpp:
1851         (WebCore::FrameLoader::shouldAllowNavigation):
1852         * platform/SecurityOrigin.cpp:
1853         (WebCore::SecurityOrigin::canAccess):
1854         * platform/SecurityOrigin.h:
1855         (WebCore::SecurityOrigin::):
1856
1857 2008-02-05  Adam Roben  <aroben@apple.com>
1858
1859         Remove an unused member from Document
1860
1861         Reviewed by Mitz.
1862
1863         * dom/Document.cpp:
1864         (WebCore::Document::recalcStyleSelector): There's no need to take
1865         m_printSheet into account anymore as it's never anything but the null
1866         string.
1867         * dom/Document.h: Removed m_printSheet and methods relating to it.
1868
1869 2008-02-05  Dan Bernstein  <mitz@apple.com>
1870
1871         Reviewed by Darin Adler.
1872
1873         - WebCore part of <rdar://problem/5724303> Should implement writing direction shortcuts
1874
1875         * WebCore.base.exp: Added Editor::setBaseWritingDirection() and
1876         Frame::baseWritingDirectionForSelectionStart().
1877         * page/mac/WebCoreFrameBridge.h: Removed
1878         -baseWritingDirectionForSelectionStart.
1879         * page/mac/WebCoreFrameBridge.mm: Ditto.
1880
1881 2008-02-05  Mark Rowe  <mrowe@apple.com>
1882
1883         Reviewed by Oliver Hunt.
1884
1885         Update versioning to support the mysterious future.
1886
1887         * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
1888
1889 2008-02-05  Mark Rowe  <mrowe@apple.com>
1890
1891         Fix the wxWidget Mac build by avoiding using ICU functions that were added after ICU 3.2.
1892
1893         * editing/SmartReplaceICU.cpp:
1894         (WebCore::addAllCodePoints): Implement a replacement for uset_addAllCodePoints.
1895         (WebCore::getSmartSet): Use addAllCodePoints instead of uset_addAllCodePoints.
1896
1897 2008-02-05  Mark Rowe  <mrowe@apple.com>
1898
1899         Rubber-stamped by Oliver Hunt.
1900
1901         30,000!
1902
1903         * ChangeLog: Point out revision 30,000.
1904
1905 2008-02-04  Mark Rowe  <mrowe@apple.com>
1906
1907         Unreviewed Gtk build fix.
1908
1909         wchar_t is only convertible to UChar on Windows.  Use WebCore's String class
1910         to get the UChars out of a C string in a portable fashion.
1911
1912         * editing/SmartReplaceICU.cpp:
1913         (WebCore::getSmartSet):
1914
1915 2008-02-04  Tony Chang  <idealisms@gmail.com>
1916
1917         Reviewed by Darin Adler.
1918
1919         Port the CoreFoundation version of WebCore::isCharacterSmartReplaceExempt
1920         for other platforms by using ICU directly.
1921
1922         * GNUmakefile.am: Add SmartReplaceICU.cpp.
1923         * WebCore.pro: Ditto.
1924         * WebCoreSources.bkl: Ditto.
1925         * editing/SmartReplace.cpp: Don't use this empty implementation when ICU is available.
1926         * editing/SmartReplaceICU.cpp:
1927         (getSmartSet):
1928         (WebCore::isCharacterSmartReplaceExempt):
1929
1930 2008-02-04  Robert Sesek  <rsesek@bluestatic.org>
1931
1932         Reviewed by Darin Adler.
1933
1934         Fix http://bugs.webkit.org/show_bug.cgi?id=17042
1935         forms without action attributes submit to the <base> href instead of the originating page
1936
1937         Test: fast/forms/missing-action.html
1938
1939         * html/HTMLFormElement.cpp:
1940         (WebCore::HTMLFormElement::submit): Submit to origin if there is no action
1941
1942 2008-02-04  Mark Rowe  <mrowe@apple.com>
1943
1944         Reviewed by Tim Hatcher.
1945
1946         Gtk build fix.  Use std::numeric_limits in place of ULLONG_MAX as
1947         some Linux machines do not have ULLONG_MAX.
1948
1949         OriginUsageRecord::unknownDiskUsage becomes a static function to avoid
1950         the global initialiser which would otherwise be generated.
1951
1952         * storage/OriginUsageRecord.cpp:
1953         (WebCore::OriginUsageRecord::unknownDiskUsage):
1954         (WebCore::OriginUsageRecord::addDatabase):
1955         (WebCore::OriginUsageRecord::removeDatabase):
1956         (WebCore::OriginUsageRecord::markDatabase):
1957         (WebCore::OriginUsageRecord::diskUsage):
1958         * storage/OriginUsageRecord.h:
1959
1960 2008-02-04  Mark Rowe  <mrowe@apple.com>
1961
1962         Speculative Gtk build fix.
1963
1964         * storage/OriginUsageRecord.cpp:
1965
1966 2008-02-04  Brady Eidson  <beidson@apple.com>
1967
1968         Attempt to fix build of all non-Mac platforms
1969
1970         * GNUmakefile.am:
1971         * WebCore.pro:
1972         * WebCore.vcproj/WebCore.vcproj:
1973         * WebCoreSources.bkl:
1974
1975 2008-02-04  Brady Eidson  <beidson@apple.com>
1976
1977         Reviewed by Darin
1978
1979         Fix for <rdar://problem/5628468> - Quotas need to be implemented per-origin, and not per-database
1980
1981         To accomplish this, we need to track the sizes of all databases in an origin to constantly keep an up to date
1982         count of the origin's total disk usage.  I've introduced the OriginQuotaManager and OriginUsageRecord classes
1983         to accomplish this.
1984
1985         Whenever a transaction is known to mutate the size of a database (tracked by the DatabaseAuthorizer), it marks
1986         that database as unknown in the OriginQuotaManager.  When a transaction later comes along to ask the 
1987         OriginQuotaManager the usage for that origin, it stat's all of the unknown databases in the origin and returns
1988         the result.
1989
1990         Since the OriginQuotaManager is interesting from both the main thread and a DatabaseThread, all accessors it 
1991         provides require it to be locked first.  ASSERTs help guarantee this is always the case.
1992
1993         Layout test will involve adding functionality to DRT on multiple platforms and will be coming up shortly
1994
1995         * WebCore.xcodeproj/project.pbxproj:
1996
1997         * platform/SecurityOrigin.h: Changed to be ThreadSafeShared instead of RefCounted
1998
1999         * storage/Database.cpp:
2000         (WebCore::Database::databaseSize): Return the current filesize of this database on disk
2001         (WebCore::Database::maximumSize): Added - calculates maximum size of this database based on quota and usage
2002         * storage/Database.h: Add databaseSize() accessor, and get rid of unused declared methods that *were* going 
2003           to be the solution for this bug.
2004
2005         * storage/DatabaseTracker.cpp:
2006         (WebCore::DatabaseTracker::originQuotaManager): Accessor to the OriginQuotaManager which is lazily created
2007         (WebCore::DatabaseTracker::canEstablishDatabase): Fetch the usage for this database slightly earlier, which
2008           will ensure that the OriginQuotaManager is primed to track this origin
2009         (WebCore::DatabaseTracker::fullPathForDatabase): Ditto
2010         (WebCore::DatabaseTracker::populateOrigins): Create the OriginQuotaManager here.
2011         (WebCore::DatabaseTracker::usageForOrigin): Use the OriginQuotaManager instead of looping through each database
2012           in the origin
2013         (WebCore::DatabaseTracker::deleteOrigin): Remove this origin from the OriginQuotaManager as it is no longer 
2014           interesting
2015         (WebCore::DatabaseTracker::deleteDatabase): Remove this database from the OriginQuotaManager as it is no longer
2016           interesting
2017         * storage/DatabaseTracker.h:
2018
2019         * storage/OriginQuotaManager.cpp: Added.
2020         (WebCore::OriginQuotaManager::OriginQuotaManager):
2021         (WebCore::OriginQuotaManager::lock):
2022         (WebCore::OriginQuotaManager::unlock):
2023         (WebCore::OriginQuotaManager::trackOrigin): Add an origin to be tracked.  Useful for when the very first database 
2024           in a new origin is still in the process of being created
2025         (WebCore::OriginQuotaManager::tracksOrigin):
2026         (WebCore::OriginQuotaManager::addDatabase):
2027         (WebCore::OriginQuotaManager::removeDatabase):
2028         (WebCore::OriginQuotaManager::removeOrigin): Removes all records in a certain origin from being tracked
2029         (WebCore::OriginQuotaManager::markDatabase): Mark a specific database as having an unknown size - called when the
2030           DatabaseAuthorizer in a SQLTransaction knows the file size might change.
2031         (WebCore::OriginQuotaManager::diskUsage): Returns the disk usage for the given origin
2032         * storage/OriginQuotaManager.h: Added.
2033
2034         * storage/OriginUsageRecord.cpp: Added.
2035         (WebCore::OriginUsageRecord::OriginUsageRecord):
2036         (WebCore::OriginUsageRecord::addDatabase): Adds an entry for the database in this origin's record
2037         (WebCore::OriginUsageRecord::removeDatabase): Removes that entry
2038         (WebCore::OriginUsageRecord::markDatabase): Marks the database as of unknown size
2039         (WebCore::OriginUsageRecord::diskUsage): Returns the cached disk usage value, or recalculates it if any databases
2040           are marked
2041         * storage/OriginUsageRecord.h: Added.
2042
2043         * storage/SQLTransaction.cpp:
2044         (WebCore::SQLTransaction::openTransactionAndPreflight): Use Database::maximumSize() instead of attributing the
2045           entire quota to each database.
2046         (WebCore::SQLTransaction::runStatements): Use Database::maximumSize() instead of attributing the entire quota
2047           to each database.
2048         (WebCore::SQLTransaction::runCurrentStatement): Mark this databases's size as unknown in the 
2049           OriginQuotaManager if this statement will change the size of the database
2050         * storage/SQLTransaction.h:
2051
2052 2008-02-04   David Harrison  <harrison@apple.com>
2053
2054         Reviewed by Darin Adler.
2055
2056         <rdar://problem/5607381> CrashTracer: [REGRESSION] 1748 crashes in Safari at com.apple.WebCore: WebCore::Image::width const + 24
2057
2058         Use an empty image when the local image file could not be loaded.
2059
2060         No test case because it would require forcing tiff load failure.
2061         
2062         * editing/DeleteButtonController.cpp:
2063         (WebCore::DeleteButtonController::createDeletionUI):
2064         Do not present the deletion UI in the (odd) event that the delete button could not be loaded.
2065         
2066         * platform/graphics/mac/ImageMac.mm:
2067         (WebCore::Image::loadPlatformResource):
2068         Return an empty image instead of 0 if the load fails.
2069
2070 2008-02-04  Darin Adler  <darin@apple.com>
2071
2072         * dom/Document.cpp:
2073         (WebCore::Document::completeURL): Fixed misleading comment.
2074
2075 2008-02-04  Jon Honeycutt  <jhoneycutt@apple.com>
2076
2077         Reviewed by Darin.
2078
2079         Blacklist Silverlight versions older than min required, not newer. 
2080
2081         * plugins/win/PluginPackageWin.cpp:
2082         (WebCore::PluginPackageWin::isPluginBlacklisted):
2083
2084 2008-02-04  David Hyatt  <hyatt@apple.com>
2085
2086         Fix for bug 16751, misparsing of html*.test in CSS.
2087
2088         Reviewed by darin
2089
2090         Added fast/css/simple-selector-chain-parsing.html
2091
2092         * css/CSSGrammar.y:
2093
2094 2008-02-04  Darin Adler  <darin@apple.com>
2095
2096         Suggested by Geoff and Maciej.
2097
2098         * bindings/js/JSCustomSQLTransactionCallback.cpp: Reworded a misleading
2099         comment to be correct.
2100
2101 2008-02-04  Jon Honeycutt  <jhoneycutt@apple.com>
2102
2103         Reviewed by Steve, Anders.
2104
2105         <rdar://problem/5211187> QuickTime and Flash plug-ins draw outside of
2106         content area when inside an iframe or div with overflow when playing a
2107         movie and scrolling the iframe/div area
2108
2109         Clip the update region to the zero rect when scrolling. Don't do this
2110         for Java, because it results in repaint problems. 
2111
2112         * plugins/PluginQuirkSet.h: Added the DontClipToZeroRectWhenScrolling
2113         quirk
2114         (WebCore::):
2115         * plugins/win/PluginViewWin.cpp:
2116         (WebCore::PluginViewWin::updateWindow): Readded the old behavior of
2117         clipping to the zero rect when updating the window during a scroll.
2118         Added plug-in quirk to ignore this behavior for Java. Swapped order of
2119         the SetWindowRgn() and MoveWindow() calls to prevent Java from painting
2120         outside of its container during a scroll.
2121         (WebCore::PluginViewWin::determineQuirks): If this is Java, add the
2122         DontClipToZeroRectWhenScrolling quirk.
2123
2124 2008-02-04  Timothy Hatcher  <timothy@apple.com>
2125
2126         Reviewed by Mark Rowe.
2127
2128         <rdar://problem/5722972> Leopard needs to statically link SQLite
2129
2130         * Configurations/Base.xcconfig: Always have a header search path for WebCoreSQLite3.
2131         * Configurations/DebugRelease.xcconfig: Ditto.
2132         * Configurations/WebCore.xcconfig: Always link against WebCoreSQLite3.
2133
2134 2008-02-04  Adam Roben  <aroben@apple.com>
2135
2136         Windows build fix
2137
2138         * bindings/scripts/CodeGeneratorCOM.pm: Touched to force a rebuild of
2139         the COM bindings.
2140
2141 2008-02-04   David Harrison  <harrison@apple.com>
2142
2143         Reviewed by Tim Hatcher.
2144
2145         - fix <rdar://problem/5715481> REGRESSION (r26499): JavaScript document.lastModified is not supported
2146
2147         Re-add attribute inadvertantly lost by r26499.
2148
2149         Test: fast/js/lastModified.html: Added.
2150
2151         * dom/Document.idl:
2152         Add lastModified.
2153
2154 2008-02-04  Darin Adler  <darin@apple.com>
2155
2156         Reviewed by Geoff.
2157
2158         - fix <rdar://problem/5713621> Threading issue when destroying database transaction callback
2159
2160         Do main-thread-only stuff on the main thread.
2161
2162         Not clear how to make a regression test for this.
2163
2164         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2165         (WebCore::JSCustomSQLTransactionCallback::Data::Data): Added.
2166         (WebCore::JSCustomSQLTransactionCallback::Data::callback): Added.
2167         (WebCore::JSCustomSQLTransactionCallback::Data::frame): Added.
2168         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Put data into a
2169         separate Data object; we'll destroy it on the main thread.
2170         (WebCore::JSCustomSQLTransactionCallback::deleteData): Added.
2171         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): Call the
2172         deleteData function on the main thread.
2173         (WebCore::JSCustomSQLTransactionCallback::handleEvent): Updated to get at fields through the
2174         m_data object.
2175         * bindings/js/JSCustomSQLTransactionCallback.h: Declare deleteData, Data, and m_data rather
2176         than m_callback and m_frame.
2177
2178 2008-02-04  Adam Roben  <aroben@apple.com>
2179
2180         Fix the search field if the inpsected Document has overridden
2181         Document.evaluate or Document.querySelectorAll
2182
2183         Reviewed by Darin.
2184
2185         * manual-tests/inspector-document-methods-override.html: Added.
2186         * page/InspectorController.cpp:
2187         (WebCore::InspectorController::didCommitLoad): Reworded a comment to
2188         force WebCore.vcproj to build.
2189         * page/inspector/inspector.js: Call
2190         Document.prototype.{evaluate,querySelectorAll}.call instead of calling
2191         the functions directly on the inspected Document. This ensures we are
2192         calling the version of these functions we intended to.
2193
2194 2008-02-04  Darin Adler  <darin@apple.com>
2195
2196         Reviewed by Tim Hatcher.
2197
2198         - possible fix for <rdar://problem/5714030> Crash in Database::deliverAllPendingCallbacks()
2199           reloading a page quickly
2200
2201         I don't fully understand the cause of the crash, but I think this might
2202         be a helpful change.
2203
2204         * platform/sql/SQLiteTransaction.cpp:
2205         (WebCore::SQLiteTransaction::commit): If the commit fails, don't leave this
2206         transaction and database both marked as "still in progress". As far as I can
2207         tell this does no good, and also seems to do harm.
2208         (WebCore::SQLiteTransaction::rollback): Ditto.
2209
2210         * storage/Database.cpp:
2211         (WebCore::Database::performTransactionStep): Add some assertions to
2212         detect databases stuck in the "transaction in progress" state.
2213         * storage/SQLTransaction.cpp:
2214         (WebCore::SQLTransaction::openTransactionAndPreflight): Ditto.
2215         (WebCore::SQLTransaction::postflightAndCommit): Ditto.
2216         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto.
2217
2218 2008-02-04  Darin Adler  <darin@apple.com>
2219
2220         Reviewed by Geoff.
2221
2222         - fix <rdar://problem/5715692> REGRESSION (r28570): JavaScript window.scrollTo()
2223           calls no longer accept 'undefined' values
2224
2225         By default, we should accept non-numeric parameters and non-integral numbers for
2226         parameters that expect integers, without throwing exceptions.
2227
2228         While creating the test for this, I ran into a couple minor bugs with the
2229         functions involved, and this patch fixes those too.
2230
2231         Test: fast/dom/non-numeric-values-numeric-parameters.html
2232
2233         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2234         (WebCore::JSHTMLOptionsCollection::add): Added. This function has unusual behavior
2235         when passed non-integral values for its second parameter, so it needs to be written
2236         by hand. I think that [Custom] is better here than inventing a new keyword.
2237
2238         * bindings/scripts/CodeGeneratorJS.pm: Changed default for "long" and "unsigned long"
2239         to ignore errors rather than failing due to type differences. Also changed a couple
2240         functions to use hashes.
2241
2242         * css/CSSStyleSheet.h:
2243         (WebCore::CSSStyleSheet::removeRule): Remove overload of removeRule without a second
2244         parameters. While we do allow this from JavaScript, it's not a true optional parameter,
2245         but rather just a case of "you can omit parameters and they are treated as undefined"
2246         combined with "undefined turns into 0 when passed to a function that takes an integer".
2247         * css/CSSStyleSheet.idl: Removed [Optional] on the index parameter for removeRule.
2248         This is not truly an optional parameter.
2249
2250         * dom/ProgressEvent.cpp:
2251         (WebCore::ProgressEvent::initProgressEvent): Updated this function to match other
2252         DOM event init functions -- important to do nothing if this is called on the an
2253         already-dispatched event and we need to respect the bubble and cancelable arguments.
2254         Also removed initProgressEventNS. We don't support namespaced events, and if we add
2255         support, it should be across all event classes, not just ProgressEvent.
2256         * dom/ProgressEvent.h: Removed initProgressEventNS.
2257         * dom/ProgressEvent.idl: Ditto.
2258
2259         * dom/Range.cpp:
2260         (WebCore::Range::createContextualFragment): Added a check for 0. This can happen
2261         if the passed-in start container is a node that's not an HTML element and also
2262         does not have a parent.
2263
2264         * html/HTMLOptionsCollection.idl: Added the [Custom] attribute to add, since the
2265         rules for processing its parameters are unusual.
2266
2267         * page/DOMSelection.cpp: Removed the version of setPosition that has only
2268         one parameter. The offset is not really optional.
2269         * page/DOMSelection.h: Ditto.
2270         * page/DOMSelection.idl: Removed the [Optional] keyword for the second parameter of
2271         setPosition. It's not a true optional parameter (see discussion of removeRule above).
2272
2273         * page/DOMWindow.cpp:
2274         (WebCore::DOMWindow::adjustWindowRect): Simplified logic for constraining the X
2275         and Y coordinates, in a way that makes them work even when the window coordinates
2276         are infinite. Also strengthened the assertion.
2277
2278 2008-02-04  Alp Toker  <alp@atoker.com>
2279
2280         Rubber-stamped by Mark Rowe.
2281
2282         Remove all trailing whitespace in the GTK+ port and related
2283         components.
2284
2285         * GNUmakefile.am:
2286         * page/gtk/DragControllerGtk.cpp:
2287         (WebCore::DragController::dragOperation):
2288         (WebCore::DragController::maxDragImageSize):
2289         * page/gtk/EventHandlerGtk.cpp:
2290         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2291         (WebCore::EventHandler::createDraggingClipboard):
2292         * page/gtk/FrameGtk.cpp:
2293         (WebCore::Frame::dragImageForSelection):
2294         * platform/graphics/cairo/AffineTransformCairo.cpp:
2295         (WebCore::AffineTransform::mapRect):
2296         (WebCore::AffineTransform::isIdentity):
2297         (WebCore::AffineTransform::operator== ):
2298         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2299         (WebCore::GraphicsContext::drawLine):
2300         * platform/graphics/cairo/ImageBufferCairo.cpp:
2301         * platform/graphics/cairo/ImageCairo.cpp:
2302         * platform/graphics/cairo/ImageSourceCairo.cpp:
2303         (WebCore::createDecoder):
2304         * platform/graphics/gtk/FontCacheGtk.cpp:
2305         * platform/graphics/gtk/FontGtk.cpp:
2306         * platform/graphics/gtk/FontPlatformData.h:
2307         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2308         * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
2309         * platform/graphics/gtk/IconGtk.cpp:
2310         * platform/graphics/gtk/ImageGtk.cpp:
2311         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2312         * platform/gtk/ClipboardGtk.h:
2313         * platform/gtk/ContextMenuItemGtk.cpp:
2314         (WebCore::ContextMenuItem::createNativeMenuItem):
2315         * platform/gtk/CursorGtk.cpp:
2316         * platform/gtk/DragDataGtk.cpp:
2317         * platform/gtk/DragImageGtk.cpp:
2318         (WebCore::createDragImageIconForCachedImage):
2319         * platform/gtk/FileChooserGtk.cpp:
2320         (WebCore::stringByAdoptingFileSystemRepresentation):
2321         * platform/gtk/FileSystemGtk.cpp:
2322         (WebCore::fileExists):
2323         (WebCore::deleteFile):
2324         (WebCore::deleteEmptyDirectory):
2325         * platform/gtk/KeyEventGtk.cpp:
2326         * platform/gtk/KeyboardCodes.h:
2327         * platform/gtk/LocalizedStringsGtk.cpp:
2328         (WebCore::inputElementAltText):
2329         (WebCore::resetButtonDefaultLabel):
2330         (WebCore::fileButtonChooseFileLabel):
2331         (WebCore::fileButtonNoFileSelectedLabel):
2332         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2333         * platform/gtk/MIMETypeRegistryGtk.cpp:
2334         (WebCore::):
2335         * platform/gtk/MouseEventGtk.cpp:
2336         * platform/gtk/PasteboardGtk.cpp:
2337         (WebCore::PasteboardSelectionData::markup):
2338         (WebCore::Pasteboard::writeSelection):
2339         * platform/gtk/PasteboardHelper.h:
2340         * platform/gtk/PlatformScreenGtk.cpp:
2341         (WebCore::screenDepth):
2342         (WebCore::screenIsMonochrome):
2343         (WebCore::screenRect):
2344         (WebCore::screenAvailableRect):
2345         * platform/gtk/PlatformScrollBar.h:
2346         * platform/gtk/PlatformScrollBarGtk.cpp:
2347         (PlatformScrollbar::PlatformScrollbar):
2348         (PlatformScrollbar::updateThumbPosition):
2349         * platform/gtk/PopupMenuGtk.cpp:
2350         (WebCore::PopupMenu::updateFromElement):
2351         * platform/gtk/RenderThemeGtk.h:
2352         * platform/gtk/ScrollViewGtk.cpp:
2353         (WebCore::ScrollView::scrollBy):
2354         (WebCore::ScrollView::addChild):
2355         (WebCore::ScrollView::updateScrollbars):
2356         (WebCore::ScrollView::windowToContents):
2357         (WebCore::ScrollView::contentsToWindow):
2358         (WebCore::ScrollView::scrollbarUnderMouse):
2359         * platform/gtk/SearchPopupMenuGtk.cpp:
2360         * platform/gtk/SharedTimerGtk.cpp:
2361         * platform/gtk/SystemTimeLinux.cpp:
2362         (WebCore::currentTime):
2363         * platform/gtk/TemporaryLinkStubs.cpp:
2364         (PlugInInfoStore::pluginNameForMIMEType):
2365         * platform/gtk/ThreadingGtk.cpp:
2366         (WebCore::establishIdentifierForThread):
2367         (WebCore::threadForIdentifier):
2368         (WebCore::clearThreadForIdentifier):
2369         (WebCore::ThreadCondition::ThreadCondition):
2370         * platform/gtk/WheelEventGtk.cpp:
2371         * platform/gtk/WidgetGtk.cpp:
2372         * platform/network/curl/ResourceHandleCurl.cpp:
2373         * platform/network/curl/ResourceHandleManager.cpp:
2374         (WebCore::ResourceHandleManager::setupPOST):
2375         * platform/network/curl/ResourceHandleManager.h:
2376         * platform/network/curl/ResourceRequest.h:
2377         (WebCore::ResourceRequest::ResourceRequest):
2378         * platform/network/curl/ResourceResponse.h:
2379
2380 2008-02-03  Christian Dywan  <christian@imendio.com>
2381
2382         Reviewed by Alp Toker.
2383
2384         http://bugs.webkit.org/show_bug.cgi?id=17046
2385         [GTK] Context menu fixes and customisation suport
2386
2387         Provide standard GTK+ context menu items where appropriate.
2388
2389         Note that this change makes direct use of WebKit from WebCore which is
2390         against WebKit/GTK+ guidelines. The ContextMenu abstraction should be
2391         fixed at some point.
2392
2393         * page/ContextMenuController.cpp:
2394         (WebCore::ContextMenuController::contextMenuItemSelected):
2395         * platform/ContextMenu.cpp:
2396         (WebCore::createAndAppendInputMethodsSubMenu):
2397         (WebCore::):
2398         (WebCore::insertControlCharacter):
2399         (WebCore::createAndAppendUnicodeSubMenu):
2400         (WebCore::ContextMenu::populate):
2401         (ContextMenu::checkOrEnableIfNeeded):
2402         * platform/ContextMenuItem.h:
2403         (WebCore::):
2404         * platform/LocalizedStrings.h:
2405         * platform/gtk/ContextMenuItemGtk.cpp:
2406         (WebCore::gtkStockIDFromContextMenuAction):
2407         * platform/gtk/LocalizedStringsGtk.cpp:
2408         (WebCore::gtkStockLabel):
2409         (WebCore::contextMenuItemTagCopy):
2410         (WebCore::contextMenuItemTagDelete):
2411         (WebCore::contextMenuItemTagSelectAll):
2412         (WebCore::contextMenuItemTagUnicode):
2413         (WebCore::contextMenuItemTagInputMethods):
2414         (WebCore::contextMenuItemTagGoBack):
2415         (WebCore::contextMenuItemTagGoForward):
2416         (WebCore::contextMenuItemTagStop):
2417         (WebCore::contextMenuItemTagCut):
2418         (WebCore::contextMenuItemTagPaste):
2419         (WebCore::contextMenuItemTagBold):
2420         (WebCore::contextMenuItemTagItalic):
2421         (WebCore::contextMenuItemTagUnderline):
2422
2423 2008-02-03  Oliver Hunt  <oliver@apple.com>
2424
2425         Reviewed by Maciej.
2426
2427         Bug 17169: Support transform on Canvas
2428
2429         Nice and simple patch as the cross-platform code to apply
2430         a transform was already there.
2431
2432         Tests: fast/canvas/canvas-transform-identity.html
2433                fast/canvas/canvas-transform-infinity.html
2434                fast/canvas/canvas-transform-multiply.html
2435                fast/canvas/canvas-transform-nan.html
2436                fast/canvas/canvas-transform-skewed.html
2437
2438         * html/CanvasRenderingContext2D.cpp:
2439         (WebCore::CanvasRenderingContext2D::transform):
2440         * html/CanvasRenderingContext2D.h:
2441         * html/CanvasRenderingContext2D.idl:
2442
2443 2008-02-03  Nikolas Zimmermann  <zimmermann@kde.org>
2444
2445         Reviewed by Oliver.
2446
2447         Fix mistake in SVGImageElement, breaking "Dock" example of carto.net
2448         It was comparing against the wrong attribute names in svgAttributeChanged().
2449
2450         Added testcase: svg/custom/js-update-image.svg
2451
2452         * svg/SVGImageElement.cpp:
2453         (WebCore::SVGImageElement::svgAttributeChanged):
2454
2455 2008-02-03  Eric Seidel  <eric@webkit.org>
2456
2457         Reviewed by darin.
2458
2459         Acid3 expects textNode.localName === null
2460         http://bugs.webkit.org/show_bug.cgi?id=17060
2461
2462         Test: fast/dom/Node/initial-values.html
2463
2464         * dom/Comment.cpp: remove localName implementation
2465         * dom/Comment.h:
2466         * dom/Node.cpp: return nullAtom instead of emptyAtom
2467         * dom/Text.cpp: remove localName implementation
2468         * dom/Text.h:
2469
2470 2008-02-03  Eric Seidel  <eric@webkit.org>
2471
2472         Reviewed by darin.
2473
2474         Make createElementNS and createAttributeNS follow the (vague) DOM Core 2 spec
2475         by throwing exceptions for more types of invalid qualified names.
2476         http://bugs.webkit.org/show_bug.cgi?id=16833
2477
2478         Tests: fast/dom/Document/createAttributeNS-namespace-err.html
2479                fast/dom/Document/createElementNS-namespace-err.html
2480
2481         * dom/Document.cpp:
2482         (WebCore::Document::createElement):
2483         (WebCore::hasNamespaceError):
2484         (WebCore::Document::createElementNS):
2485         (WebCore::Document::createAttributeNS):
2486         * dom/Document.idl:
2487
2488 2008-02-03  Nikolas Zimmermann  <zimmermann@kde.org>
2489
2490         Reviewed by Eric.
2491
2492         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15394
2493
2494         Dramatically improve dynamic update performance in DOM / SVG DOM.
2495
2496         The notifyAttributeChange() sledgehammer is gone now. It was implemented on quite a lot of
2497         SVG*Element classes and blindly reacted on any property change caused by DOM / SVG DOM
2498         by rebuilding style/renderer etc. without actually checking what changed. SVG used a hack
2499         for years that attributeChanged() called notifyAttributeChange() - which results in poor
2500         scripting performance and/or dynamic creation/modification of elements using SVG DOM.
2501
2502         Properly implement childrenChanged / attributeChanged in SVG with some derivation from the HTML code.
2503         Our SVG* element classes implement "svgAttributeChanged(const QualifiedName&)" instead of
2504         "attributeChanged(Attribute*...)" to be able to unify DOM / SVG DOM updates. SVG DOM classes
2505         are aware of the attribute name they belong to. So when using "rectElement.transform.baseVal.getItem(0).setRotate(45)"
2506         SVG DOM updates the <rect> element by calling svgAttributeChanged(SVGNames::transformAttr) on the corresponding
2507         SVGRectElement. So we're now able to handle fast dynamic updates in a unified way - leading to less bugs.
2508
2509         HTML dynamic updates vs. SVG dynamic updates:
2510
2511         HTML:
2512             1) setAttribute("foo", "bar") -> attributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout
2513             2) someObject.foo = "bar" -> HTML code maps to setAttribute calls, ends up taking the same route as 1)
2514             3) someObject.style.foo = "bar" -> setChanged -> recalcStyle (possible relayout)
2515
2516         SVG:
2517             1) setAttribute("foo", "bar") -> attributeChanged -> svgAttributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout
2518             2) same, currently most functions are not yet converted to this new system! (most noticeable in SVGMarkerElement::setOrientToAngle)    
2519             3) same
2520             4) someRectElement.x.baseVal.value = 100 -> svgAttributeChanged -> setChanged/setNeedsLayout (special SVG DOM updating)
2521         
2522         The new SVG DOM updating concept 4) uses the same updating logic as 1) and 2), so we're actually modelling the HTML way.
2523         SVG handles calling setChanged/setNeedsLayout in svgAttributeChanged, unlike HTML which uses parseMappedAttribute for that.
2524
2525         Only updated all elements necessary to let us pass layout tests w/o regressions. Need to crawl through
2526         all SVG*Element classes and implement svgAttributeChanged / childrenChanged anywhere needed in a follow-up patch.
2527
2528         * bindings/js/JSSVGPODTypeWrapper.h:
2529         (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::commitChange):
2530         (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::commitChange):
2531         (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
2532         (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
2533         (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
2534         * bindings/js/JSSVGPathSegListCustom.cpp:
2535         (WebCore::JSSVGPathSegList::clear):
2536         (WebCore::JSSVGPathSegList::initialize):
2537         (WebCore::JSSVGPathSegList::insertItemBefore):
2538         (WebCore::JSSVGPathSegList::replaceItem):
2539         (WebCore::JSSVGPathSegList::removeItem):
2540         (WebCore::JSSVGPathSegList::appendItem):
2541         * bindings/js/JSSVGPointListCustom.cpp:
2542         (WebCore::JSSVGPointList::clear):
2543         (WebCore::JSSVGPointList::initialize):
2544         (WebCore::JSSVGPointList::getItem):
2545         (WebCore::JSSVGPointList::insertItemBefore):
2546         (WebCore::JSSVGPointList::replaceItem):
2547         (WebCore::JSSVGPointList::removeItem):
2548         (WebCore::JSSVGPointList::appendItem):
2549         * bindings/js/JSSVGTransformListCustom.cpp:
2550         (WebCore::JSSVGTransformList::clear):
2551         (WebCore::JSSVGTransformList::initialize):
2552         (WebCore::JSSVGTransformList::getItem):
2553         (WebCore::JSSVGTransformList::insertItemBefore):
2554         (WebCore::JSSVGTransformList::replaceItem):
2555         (WebCore::JSSVGTransformList::removeItem):
2556         (WebCore::JSSVGTransformList::appendItem):
2557         * bindings/scripts/CodeGeneratorJS.pm:
2558         * rendering/RenderSVGGradientStop.cpp:
2559         (WebCore::RenderSVGGradientStop::setStyle):
2560         * rendering/RenderSVGGradientStop.h:
2561         * svg/SVGAElement.cpp:
2562         (WebCore::SVGAElement::defaultEventHandler):
2563         * svg/SVGAElement.h:
2564         * svg/SVGAngle.cpp:
2565         * svg/SVGAngle.h:
2566         (WebCore::SVGAngle::associatedAttributeName):
2567         * svg/SVGAnimatedTemplate.h:
2568         (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
2569         (WebCore::SVGAnimatedTemplate::wrapperCache):
2570         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
2571         (WebCore::lookupOrCreateWrapper):
2572         * svg/SVGAnimationElement.cpp:
2573         (WebCore::SVGAnimationElement::parseBeginOrEndValue):
2574         * svg/SVGAnimationElement.h:
2575         * svg/SVGCircleElement.cpp:
2576         (WebCore::SVGCircleElement::svgAttributeChanged):
2577         * svg/SVGCircleElement.h:
2578         * svg/SVGClipPathElement.cpp:
2579         (WebCore::SVGClipPathElement::svgAttributeChanged):
2580         (WebCore::SVGClipPathElement::childrenChanged):
2581         (WebCore::SVGClipPathElement::canvasResource):
2582         * svg/SVGClipPathElement.h:
2583         (WebCore::SVGClipPathElement::isValid):
2584         (WebCore::SVGClipPathElement::rendererIsNeeded):
2585         * svg/SVGComponentTransferFunctionElement.cpp:
2586         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
2587         * svg/SVGComponentTransferFunctionElement.h:
2588         * svg/SVGCursorElement.cpp:
2589         * svg/SVGElement.cpp:
2590         (WebCore::SVGElement::insertedIntoDocument):
2591         (WebCore::SVGElement::attributeChanged):
2592         * svg/SVGElement.h:
2593         (WebCore::SVGElement::svgAttributeChanged):
2594         * svg/SVGEllipseElement.cpp:
2595         (WebCore::SVGEllipseElement::svgAttributeChanged):
2596         * svg/SVGEllipseElement.h:
2597         * svg/SVGExternalResourcesRequired.cpp:
2598         (WebCore::SVGExternalResourcesRequired::isKnownAttribute):
2599         * svg/SVGExternalResourcesRequired.h:
2600         * svg/SVGFEBlendElement.cpp:
2601         * svg/SVGFEColorMatrixElement.cpp:
2602         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2603         * svg/SVGFEComponentTransferElement.cpp:
2604         * svg/SVGFECompositeElement.cpp:
2605         * svg/SVGFEDiffuseLightingElement.cpp:
2606         * svg/SVGFEDisplacementMapElement.cpp:
2607         * svg/SVGFEFloodElement.cpp:
2608         * svg/SVGFEGaussianBlurElement.cpp:
2609         * svg/SVGFEImageElement.cpp:
2610         * svg/SVGFELightElement.cpp:
2611         * svg/SVGFEMergeNodeElement.cpp:
2612         * svg/SVGFEOffsetElement.cpp:
2613         * svg/SVGFESpecularLightingElement.cpp:
2614         * svg/SVGFETileElement.cpp:
2615         * svg/SVGFETurbulenceElement.cpp:
2616         * svg/SVGFilterElement.cpp:
2617         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2618         * svg/SVGFitToViewBox.cpp:
2619         (WebCore::SVGFitToViewBox::isKnownAttribute):
2620         * svg/SVGFitToViewBox.h:
2621         * svg/SVGForeignObjectElement.cpp:
2622         * svg/SVGGElement.cpp:
2623         (WebCore::SVGGElement::svgAttributeChanged):
2624         (WebCore::SVGGElement::childrenChanged):
2625         * svg/SVGGElement.h:
2626         * svg/SVGGradientElement.cpp:
2627         (WebCore::SVGGradientElement::SVGGradientElement):
2628         (WebCore::SVGGradientElement::svgAttributeChanged):
2629         (WebCore::SVGGradientElement::childrenChanged):
2630         (WebCore::SVGGradientElement::buildStops):
2631         * svg/SVGGradientElement.h:
2632         * svg/SVGImageElement.cpp:
2633         (WebCore::SVGImageElement::parseMappedAttribute):
2634         (WebCore::SVGImageElement::svgAttributeChanged):
2635         * svg/SVGImageElement.h:
2636         * svg/SVGLangSpace.cpp:
2637         (WebCore::SVGLangSpace::isKnownAttribute):
2638         * svg/SVGLangSpace.h:
2639         * svg/SVGLengthList.cpp:
2640         (WebCore::SVGLengthList::SVGLengthList):
2641         * svg/SVGLengthList.h:
2642         * svg/SVGLineElement.cpp:
2643         (WebCore::SVGLineElement::svgAttributeChanged):
2644         * svg/SVGLineElement.h:
2645         * svg/SVGLinearGradientElement.cpp:
2646         (WebCore::SVGLinearGradientElement::svgAttributeChanged):
2647         * svg/SVGLinearGradientElement.h:
2648         * svg/SVGList.h:
2649         (WebCore::SVGList::SVGList):
2650         (WebCore::SVGList::associatedAttributeName):
2651         (WebCore::SVGPODList::SVGPODList):
2652         * svg/SVGMarkerElement.cpp:
2653         (WebCore::SVGMarkerElement::svgAttributeChanged):
2654         (WebCore::SVGMarkerElement::childrenChanged):
2655         * svg/SVGMarkerElement.h:
2656         * svg/SVGMaskElement.cpp:
2657         (WebCore::SVGMaskElement::svgAttributeChanged):
2658         (WebCore::SVGMaskElement::childrenChanged):
2659         * svg/SVGMaskElement.h:
2660         * svg/SVGNumberList.cpp:
2661         (WebCore::SVGNumberList::SVGNumberList):
2662         * svg/SVGNumberList.h:
2663         * svg/SVGPathElement.cpp:
2664         (WebCore::SVGPathElement::svgAttributeChanged):
2665         (WebCore::SVGPathElement::pathSegList):
2666         * svg/SVGPathElement.h:
2667         * svg/SVGPathSeg.h:
2668         (WebCore::SVGPathSeg::associatedAttributeName):
2669         * svg/SVGPathSegList.cpp:
2670         (WebCore::SVGPathSegList::SVGPathSegList):
2671         * svg/SVGPathSegList.h:
2672         * svg/SVGPatternElement.cpp:
2673         (WebCore::SVGPatternElement::SVGPatternElement):
2674         (WebCore::SVGPatternElement::svgAttributeChanged):
2675         (WebCore::SVGPatternElement::childrenChanged):
2676         * svg/SVGPatternElement.h:
2677         * svg/SVGPointList.cpp:
2678         (WebCore::SVGPointList::SVGPointList):
2679         * svg/SVGPointList.h:
2680         * svg/SVGPolyElement.cpp:
2681         (WebCore::SVGPolyElement::SVGPolyElement):
2682         (WebCore::SVGPolyElement::points):
2683         (WebCore::SVGPolyElement::parseMappedAttribute):
2684         (WebCore::SVGPolyElement::svgAttributeChanged):
2685         * svg/SVGPolyElement.h:
2686         * svg/SVGPolygonElement.cpp:
2687         * svg/SVGPolygonElement.h:
2688         * svg/SVGPolylineElement.cpp:
2689         * svg/SVGPolylineElement.h:
2690         * svg/SVGPreserveAspectRatio.cpp:
2691         * svg/SVGPreserveAspectRatio.h:
2692         (WebCore::SVGPreserveAspectRatio::associatedAttributeName):
2693         * svg/SVGRadialGradientElement.cpp:
2694         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
2695         * svg/SVGRadialGradientElement.h:
2696         * svg/SVGRectElement.cpp:
2697         (WebCore::SVGRectElement::svgAttributeChanged):
2698         * svg/SVGRectElement.h:
2699         * svg/SVGSVGElement.cpp:
2700         (WebCore::SVGSVGElement::parseMappedAttribute):
2701         (WebCore::SVGSVGElement::svgAttributeChanged):
2702         * svg/SVGSVGElement.h:
2703         * svg/SVGStopElement.cpp:
2704         (WebCore::SVGStopElement::parseMappedAttribute):
2705         (WebCore::SVGStopElement::createRenderer):
2706         * svg/SVGStopElement.h:
2707         * svg/SVGStringList.cpp:
2708         (WebCore::SVGStringList::SVGStringList):
2709         * svg/SVGStringList.h:
2710         * svg/SVGStylable.cpp:
2711         * svg/SVGStylable.h:
2712         * svg/SVGStyledElement.cpp:
2713         (WebCore::SVGStyledElement::isKnownAttribute):
2714         (WebCore::SVGStyledElement::svgAttributeChanged):
2715         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
2716         (WebCore::SVGStyledElement::childrenChanged):
2717         * svg/SVGStyledElement.h:
2718         * svg/SVGStyledLocatableElement.cpp:
2719         * svg/SVGStyledLocatableElement.h:
2720         * svg/SVGStyledTransformableElement.cpp:
2721         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
2722         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
2723         (WebCore::SVGStyledTransformableElement::isKnownAttribute):
2724         * svg/SVGStyledTransformableElement.h:
2725         * svg/SVGTests.cpp:
2726         (WebCore::SVGTests::requiredFeatures):
2727         (WebCore::SVGTests::requiredExtensions):
2728         (WebCore::SVGTests::systemLanguage):
2729         (WebCore::SVGTests::isKnownAttribute):
2730         * svg/SVGTests.h:
2731         * svg/SVGTextContentElement.cpp:
2732         * svg/SVGTextElement.cpp:
2733         (WebCore::SVGTextElement::SVGTextElement):
2734         * svg/SVGTextElement.h:
2735         * svg/SVGTextPathElement.cpp:
2736         * svg/SVGTextPathElement.h:
2737         * svg/SVGTextPositioningElement.cpp:
2738         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
2739         * svg/SVGTextPositioningElement.h:
2740         * svg/SVGTransformList.cpp:
2741         (SVGTransformList::SVGTransformList):
2742         * svg/SVGTransformList.h:
2743         * svg/SVGTransformable.cpp:
2744         (WebCore::SVGTransformable::isKnownAttribute):
2745         * svg/SVGTransformable.h:
2746         * svg/SVGURIReference.cpp:
2747         (WebCore::SVGURIReference::isKnownAttribute):
2748         * svg/SVGURIReference.h:
2749         * svg/SVGUseElement.cpp:
2750         (WebCore::SVGUseElement::insertedIntoDocument):
2751         (WebCore::SVGUseElement::svgAttributeChanged):
2752         (WebCore::SVGUseElement::childrenChanged):
2753         (WebCore::SVGUseElement::buildPendingResource):
2754         * svg/SVGUseElement.h:
2755         * svg/SVGViewElement.cpp:
2756         (WebCore::SVGViewElement::SVGViewElement):
2757         (WebCore::SVGViewElement::viewTarget):
2758         (WebCore::SVGViewElement::parseMappedAttribute):
2759         * svg/SVGViewElement.h:
2760         * svg/SVGViewSpec.cpp:
2761         (WebCore::SVGViewSpec::SVGViewSpec):
2762         * svg/SVGViewSpec.h:
2763         * svg/SVGZoomAndPan.cpp:
2764         (WebCore::SVGZoomAndPan::isKnownAttribute):
2765         * svg/SVGZoomAndPan.h:
2766         * svg/graphics/SVGResource.cpp:
2767         (WebCore::SVGResource::invalidate):
2768         (WebCore::SVGResource::invalidateClients):
2769         (WebCore::SVGResource::addClient):
2770         * svg/graphics/SVGResource.h:
2771         * svg/graphics/SVGResourceMasker.cpp:
2772         (WebCore::SVGResourceMasker::invalidate):
2773         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2774         (WebCore::SVGPaintServerGradient::invalidate):
2775         * svg/graphics/filters/SVGFEImage.cpp:
2776         (WebCore::SVGFEImage::imageChanged):
2777
2778 2008-02-03  Kevin Ollivier  <kevino@theolliviers.com>
2779
2780         Build fix for last wx commit (a couple things were not committed).
2781
2782         * platform/ScrollView.h:
2783         * platform/Widget.h:
2784
2785 2008-02-03  Kevin Ollivier  <kevino@theolliviers.com>
2786
2787         Clean up overlooked coding guideline issues from last commit.
2788
2789         * platform/wx/ScrollViewWx.cpp:
2790         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
2791         (WebCore::ScrollView::update):
2792         (WebCore::ScrollView::scrollBy):
2793         (WebCore::ScrollView::resizeContents):
2794         (WebCore::ScrollView::adjustScrollbars):
2795         (WebCore::ScrollView::setScrollbarsMode):
2796         (WebCore::ScrollView::setHScrollbarMode):
2797         (WebCore::ScrollView::setVScrollbarMode):
2798         (WebCore::ScrollView::suppressScrollbars):
2799         * platform/wx/WidgetWx.cpp:
2800         (WebCore::Widget::setCursor):
2801
2802 2008-02-03  Kevin Watters  <kevinwatters@gmail.com>
2803
2804         Reviewed by Kevin Ollivier.
2805
2806         * platform/wx/RenderThemeWx.cpp:
2807         (WebCore::RenderThemeWx::paintButton):
2808         * platform/wx/ScrollViewWx.cpp:
2809         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2810         (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
2811         (WebCore::ScrollView::ScrollViewPrivate::OnMouseWheelEvents):
2812         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
2813         (WebCore::ScrollView::ScrollView):
2814         (WebCore::ScrollView::setNativeWindow):
2815         (WebCore::ScrollView::updateContents):
2816         (WebCore::ScrollView::update):
2817         (WebCore::ScrollView::visibleWidth):
2818         (WebCore::ScrollView::visibleHeight):
2819         (WebCore::ScrollView::setContentsPos):
2820         (WebCore::ScrollView::scrollBy):
2821         (WebCore::ScrollView::resizeContents):
2822         (WebCore::ScrollView::contentsX):
2823         (WebCore::ScrollView::contentsY):
2824         (WebCore::ScrollView::contentsWidth):
2825         (WebCore::ScrollView::contentsHeight):
2826         (WebCore::ScrollView::AdjustScrollbars):
2827         (WebCore::ScrollView::setScrollbarsMode):
2828         (WebCore::ScrollView::setHScrollbarMode):
2829         (WebCore::ScrollView::setVScrollbarMode):
2830         (WebCore::ScrollView::suppressScrollbars):
2831         (WebCore::ScrollView::inWindow):
2832         (WebCore::ScrollView::wheelEvent):
2833         (WebCore::ScrollView::addChild):
2834         (WebCore::ScrollView::removeChild):
2835         (WebCore::ScrollView::children):
2836         (WebCore::ScrollView::scrollRectIntoViewRecursively):
2837         (WebCore::ScrollView::scrollbarUnderMouse):
2838         * platform/wx/WidgetWx.cpp:
2839         (WebCore::Widget::Widget):
2840         (WebCore::Widget::~Widget):
2841         (WebCore::Widget::nativeWindow):
2842         (WebCore::Widget::setNativeWindow):
2843
2844 2008-02-02  David Hyatt  <hyatt@apple.com>
2845
2846         Fix for bug 5468, support CSS3 :only-child and :only-of-type selectors.
2847
2848         Reviewed by olliej
2849
2850         Added fast/css/only-child-pseudo-class.html, fast/css/only-of-type-pseudo-class.html
2851
2852         * css/CSSSelector.cpp:
2853         (WebCore::CSSSelector::extractPseudoType):
2854         * css/CSSSelector.h:
2855         (WebCore::CSSSelector::):
2856         * css/CSSStyleSelector.cpp:
2857         (WebCore::CSSStyleSelector::checkOneSelector):
2858
2859 2008-02-02  Darin Adler  <darin@apple.com>
2860
2861         Reviewed by Geoff Garen.
2862
2863         PLT speedup related to <rdar://problem/5659272> REGRESSION: PLT .4%
2864         slower due to r28884 (global variable symbol table optimization)
2865
2866         * history/CachedPage.cpp:
2867         (WebCore::CachedPage::CachedPage): Removed saveSymbolTable call.
2868         (WebCore::CachedPage::restore): Removed restoreSymbolTable call.
2869         (WebCore::CachedPage::clear): Removed clear of m_windowSymbolTable.
2870
2871         * history/CachedPage.h: Removed m_windowSymbolTable, since save/restoreLocalStorage
2872         now takes care of the symbol table. Also removed many unnecessary includes.
2873
2874 2008-02-02  Tony Chang  <idealisms@gmail.com>
2875
2876         Reviewed by eseidel.
2877
2878         Add an include for for <objidl.h> which isn't included
2879         by default with WIN32_LEAN_AND_MEAN.
2880         * platform/graphics/FontCache.h:
2881
2882 2008-02-02  Kevin Watters  <kevin@dotsyntax.com>
2883
2884         Reviewed by Kevin Ollivier.
2885
2886         wxFont is reference counted and meant to be used as as a value
2887         object; when using wxFont*, ref-counting was not happening properly
2888         and the font object would be destroyed while still in use.
2889
2890         Also, fix memory leak in wx's FrameData::clear() method.
2891
2892         * platform/graphics/SimpleFontData.h:
2893         (WebCore::SimpleFontData::getWxFont):
2894         * platform/graphics/wx/FontPlatformData.h:
2895         (WebCore::FontPlatformData::):
2896         (WebCore::FontPlatformData::FontPlatformData):
2897         (WebCore::FontPlatformData::font):
2898         (WebCore::FontPlatformData::hash):
2899         (WebCore::FontPlatformData::operator==):
2900         (WebCore::FontPlatformData::computeHash):
2901         * platform/graphics/wx/FontPlatformDataWx.cpp:
2902         (WebCore::fontFamilyToWxFontFamily):
2903         (WebCore::FontPlatformData::FontPlatformData):
2904         (WebCore::FontPlatformData::~FontPlatformData):
2905         * platform/graphics/wx/FontWx.cpp:
2906         (WebCore::Font::drawGlyphs):
2907         * platform/graphics/wx/SimpleFontDataWx.cpp:
2908         (WebCore::SimpleFontData::platformInit):
2909         (WebCore::SimpleFontData::determinePitch):
2910         (WebCore::SimpleFontData::platformWidthForGlyph):
2911
2912 2008-02-02  Kevin Ollivier  <kevino@theolliviers.com>
2913
2914         Reviewed by Adam Roben.
2915
2916         On MSW, the wx port internally uses callbacks for wxTimer, so the
2917         wx port suffers from the same crash problem that was fixed
2918         in r28500 for the Windows port. For now, use the SharedTimerWin.cpp
2919         impl. for wx too on MSW, until a version of wx is released that
2920         fixes the issue by reworking wxTimer.
2921
2922         * page/Page.h:
2923         * platform/win/SharedTimerWin.cpp:
2924         (WebCore::TimerWindowWndProc):
2925         * webcore-wx.bkl:
2926
2927 2008-02-02  Mark Rowe  <mrowe@apple.com>
2928
2929         Qt build fix.
2930
2931         * platform/qt/ThreadingQt.cpp: Fix typo.
2932
2933 2008-02-02  Kevin Ollivier  <kevino@theolliviers.com>
2934
2935         Blind build fix for Qt port. Add Threading.h include.
2936
2937         * platform/qt/ThreadingQt.cpp:
2938
2939 2008-02-02  Kevin Ollivier  <kevino@theolliviers.com>
2940
2941         wx build fix - add missing include file.
2942
2943         * platform/wx/ThreadingWx.cpp:
2944
2945 2008-02-02  David Hyatt  <hyatt@apple.com>
2946
2947         Fix for bug 4812. Support last-child and last-of-type CSS3 selectors.  Brings Acid3 score up to 68/100.
2948
2949         Reviewed by olliej
2950
2951         Added fast/css/last-child-pseudo-class.html, fast/css/last-of-type-pseudo-class.html
2952
2953         * css/CSSGrammar.y:
2954         * css/CSSSelector.cpp:
2955         (WebCore::CSSSelector::extractPseudoType):
2956         * css/CSSSelector.h:
2957         (WebCore::CSSSelector::):
2958         * css/CSSStyleSelector.cpp:
2959         (WebCore::CSSStyleSelector::checkOneSelector):
2960
2961 2008-02-01  David Hyatt  <hyatt@apple.com>
2962
2963         Make :first-child and :first-of-type properly dynamic when the DOM changes.  Brings the Acid3 score up
2964         to 66/100.
2965
2966         Reviewed by olliej
2967
2968         Added fast/css/first-child-pseudo-class.html, fast/css/first-of-type-pseudo-class.html, fast/css/empty-body-test.html
2969
2970         * css/CSSGrammar.y:
2971         * css/CSSStyleSelector.cpp:
2972         (WebCore::CSSStyleSelector::checkOneSelector):
2973         * dom/Element.cpp:
2974         (WebCore::Element::recalcStyle):
2975         (WebCore::Element::childrenChanged):
2976         * rendering/RenderStyle.cpp:
2977         (WebCore::RenderStyle::RenderStyle):
2978         * rendering/RenderStyle.h:
2979         (WebCore::RenderStyle::childrenAffectedByFirstChildRules):
2980         (WebCore::RenderStyle::setChildrenAffectedByFirstChildRules):
2981         (WebCore::RenderStyle::childrenAffectedByLastChildRules):
2982         (WebCore::RenderStyle::setChildrenAffectedByLastChildRules):
2983         (WebCore::RenderStyle::childrenAffectedByPositionalRules):
2984         (WebCore::RenderStyle::setChildrenAffectedByPositionalRules):
2985         (WebCore::RenderStyle::firstChildState):
2986         (WebCore::RenderStyle::setFirstChildState):
2987         (WebCore::RenderStyle::lastChildState):
2988         (WebCore::RenderStyle::setLastChildState):
2989
2990 2008-02-02  Dan Bernstein  <mitz@apple.com>
2991
2992         Reviewed by Oliver Hunt.
2993
2994         - fix <rdar://problem/5720637> Missing characters in right-to-left complex text where different fonts are used in the same run
2995
2996         * platform/graphics/win/UniscribeController.cpp:
2997         (WebCore::UniscribeController::advance): Fixed an off-by-1 error in the
2998         start offset of sub-runs of RTL runs. Changed to update
2999         m_currentCharacter to the first character of the sub-run before calling
3000         itemizeShapeAndPlace. In RTL runs, m_currentCharacter decreases as
3001         sub-runs are processed from left to right.
3002         (WebCore::UniscribeController::itemizeShapeAndPlace): Removed the
3003         updating of m_currentCharacter because advance() does it now.
3004
3005 2008-02-01  Brady Eidson  <beidson@apple.com>
3006
3007         Reviewed by Darin's rubberstamp
3008
3009         Move the SecurityOriginHash out into a separate header as it will soon be used in different places
3010
3011         * WebCore.xcodeproj/project.pbxproj:
3012         * platform/SecurityOriginHash.h: Added.
3013         (WebCore::SecurityOriginHash::hash):
3014         (WebCore::SecurityOriginHash::equal):
3015         (WebCore::SecurityOriginTraits::deletedValue):
3016         (WebCore::SecurityOriginTraits::emptyValue):
3017         * storage/DatabaseTracker.cpp:
3018
3019 2008-02-01  Darin Adler  <darin@apple.com>
3020
3021         Reviewed by Tim.
3022
3023         - fixed mistake in the JSLock fix that caused an assertion every time
3024
3025         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3026         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Added JSLock.
3027         (WebCore::unprotectOnMainThread): Ditto.
3028
3029 2008-02-01  Anders Carlsson  <andersca@apple.com>
3030
3031         Reviewed by Antti and Darin.
3032
3033         Change Text::createWithLengthLimit to take a UChar pointer instead of a string. This
3034         lets us avoid making a copy of the buffer in TextDocument.cpp.
3035         
3036         * dom/Text.cpp:
3037         (WebCore::Text::createWithLengthLimit):
3038         * dom/Text.h:
3039         * html/HTMLParser.cpp:
3040         (WebCore::HTMLParser::parseToken):
3041         * loader/TextDocument.cpp:
3042         (WebCore::TextTokenizer::write):
3043
3044 2008-02-01  Darin Adler  <darin@apple.com>
3045
3046         Reviewed by Adam.
3047
3048         * platform/network/mac/ResourceHandleMac.mm:
3049         (WebCore::ResourceHandle::loadsBlocked): Fix grammar and word typo.
3050
3051 2008-02-01  Darin Adler  <darin@apple.com>
3052
3053         Reviewed by Adam.
3054
3055         - fix <rdar://problem/4527931> showModalDialog calls from onload functions fail (Aspect)
3056
3057         No automated regression test because showModalDialog doesn't work in DumpRenderTree.
3058
3059         * platform/network/mac/ResourceHandleMac.mm:
3060         (WebCore::CallbackGuard::CallbackGuard): Added.
3061         (WebCore::CallbackGuard::~CallbackGuard): Added.
3062         (WebCore::ResourceHandle::supportsBufferedData): Simplified to take advantage of how
3063         static initialization works in C++.
3064         (WebCore::ResourceHandle::loadsBlocked): Always return false on Leopard. The problem in
3065         NSURLConnection that created the need to block loads is fixed in Leoaprd. This is the
3066         bug fix.
3067         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
3068         Use CallbackGuard instead of directly incrementing the count; allows us to omit the code
3069         entirely on Leopard.
3070         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
3071         Ditto.
3072         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
3073         Ditto.
3074         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
3075         Ditto.
3076         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
3077         Ditto.
3078         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
3079         Ditto.
3080         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
3081         Ditto.
3082         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
3083         Ditto.
3084         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
3085         Ditto. Fixes a problem where this could leave inNSURLConnectionCallback set
3086         permanently in one of the code paths; this would break showModalDialog from that
3087         point on. This problem doesn't affect Safari.
3088
3089 2008-02-01  Darin Adler  <darin@apple.com>
3090
3091         * platform/network/mac/ResourceHandleMac.mm:
3092         (WebCore::ResourceHandle::loadsBlocked): Roll out accidentally checked in file.
3093
3094 2008-02-01  Darin Adler  <darin@apple.com>
3095
3096         Reviewed by Geoff and Brady.
3097
3098         - fix <rdar://problem/5680469> Each database worker thread takes a JSLock,
3099           which slows down all JavaScript execution until the thread terminates
3100
3101         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3102         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
3103         Explicitly gcProtect, since we aren't using ProtectedPtr any more.
3104         (WebCore::unprotectOnMainThread): Added.
3105         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
3106         Use unprotectOnMainThread rather than doing a gcUnprotect here.
3107         * bindings/js/JSCustomSQLTransactionCallback.h: Changed m_callback from
3108         a ProtectedPtr to a plain old JSObject*; we gcProtect by hand now.
3109
3110         * loader/icon/IconDatabase.cpp:
3111         (WebCore::IconDatabase::notifyPendingLoadDecisionsOnMainThread):
3112         Renamed. Changed to takea a void* with the icon database pointer.
3113         (WebCore::IconDatabase::notifyPendingLoadDecisions): Renamed.
3114         (WebCore::IconDatabase::performURLImport): Updated name, and pass the
3115         icon database pointer in.
3116         * loader/icon/IconDatabase.h: Renamed and added void* parameter.
3117
3118         * platform/Threading.h: Changed callOnMainThread to take a function with a
3119         single parameter rather than a function with no parameters. Added a typedef.
3120
3121         * platform/gtk/ThreadingGtk.cpp:
3122         (WebCore::callFunctionOnMainThread): Changed to use a structure with both
3123         a function pointer and a context pointer, and delete it after calling.
3124         (WebCore::callOnMainThread): Changed to create the structure with both
3125         the function and context pointer.
3126
3127         * platform/mac/Threading.mm:
3128         (-[WebCoreFunctionWrapper initWithFunction:context:]): Added context.
3129         (-[WebCoreFunctionWrapper invoke]): Updated to do both function and context.
3130         Renamed from _call.
3131         (WebCore::callOnMainThread): Updated to take both function and context.
3132
3133         * platform/qt/ThreadingQt.cpp:
3134         (WebCore::PerformFunctionEvent::PerformFunctionEvent): Added context.
3135         (WebCore::PerformFunctionEvent::invoke): Added. Calls function with context pointer.
3136         (WebCore::MainThreadInvoker::event): Changed to call invoke.
3137         (WebCore::callOnMainThread): Updated to take both function and context.
3138
3139         * platform/win/ThreadingWin.cpp: Added FunctionWithContext.
3140         (WebCore::callFunctionsOnMainThread): Changed to pass call function with context.
3141         (WebCore::callOnMainThread): Updated to queue both function and context.
3142
3143         * platform/wx/ThreadingWx.cpp:
3144         (WebCore::callOnMainThread): Updated to take both function and context.
3145
3146         * storage/Database.cpp:
3147         (WebCore::Database::scheduleTransactionCallback): Pass 0 for context.
3148         (WebCore::Database::deliverAllPendingCallbacks): Changed to take ignored context pointer.
3149         * storage/Database.h: Added void* parameter to deliverAllPendingCallbacks.
3150
3151         * storage/DatabaseTracker.cpp:
3152         (WebCore::DatabaseTracker::scheduleForNotification): Pass 0 for context.
3153         (WebCore::DatabaseTracker::notifyDatabasesChanged): Changed to take ignored context pointer.
3154         * storage/DatabaseTracker.h: Added void* parameter to notifyDatabasesChanged.
3155
3156 2008-02-01  Jon Honeycutt  <jhoneycutt@apple.com>
3157
3158         Rubber-stamped by Ollie.
3159
3160         * plugins/win/PluginPackageWin.cpp:
3161         (WebCore::PluginPackageWin::load): Fix two function pointers
3162
3163 2008-02-01  Geoffrey Garen  <ggaren@apple.com>
3164
3165         Reviewed by John Sullivan, Oliver Hunt.
3166
3167         Fixed <rdar://problem/5688039> REGRESSION (r29428): Weather widget
3168         fails to load due to reliance on "var location" quirk
3169         
3170         Added a Dashboard quirk.
3171
3172         * bindings/js/kjs_window.cpp:
3173         (KJS::Window::put): In DB backwards compatibility mode, make assignment
3174         to window.location in top-level windows shadow the DOM location API
3175         instead of performing a navigation. This makes a reasonable amount of
3176         sense, because widgets can't navigate their top-level frames, anyway.
3177
3178 2008-02-01  David Hyatt  <hyatt@apple.com>
3179
3180         Fix for bug 11387, CSS3 :empty selector is not dynamic.
3181
3182         Add support for dynamically updating elements whose style is affected by :empty when the child count changes.
3183
3184         Reviewed by olliej, mitzpettel
3185
3186         fast/css/empty-pseudo-class.html
3187
3188         * css/CSSStyleSelector.cpp:
3189         (WebCore::CSSStyleSelector::locateSharedStyle):
3190         (WebCore::CSSStyleSelector::checkOneSelector):
3191         * dom/Element.cpp:
3192         (WebCore::Element::childrenChanged):
3193         * dom/Element.h:
3194         * rendering/RenderStyle.h:
3195         (WebCore::RenderStyle::affectedByEmpty):
3196         (WebCore::RenderStyle::emptyState):
3197         (WebCore::RenderStyle::setEmptyState):
3198
3199 2008-02-01  Dan Bernstein  <mitz@apple.com>
3200
3201         Reviewed by Darin Adler.
3202
3203         - switch line breaking from using Carbon Unicode Utilities to using ICU
3204           on Leopard
3205           <http://bugs.webkit.org/show_bug.cgi?id=4628>
3206
3207         fast/text/international/thai-line-breaks.html results do not change.
3208
3209         * rendering/break_lines.cpp:
3210         (WebCore::nextBreakablePosition): Changed to use Carbon only on Tiger.
3211
3212 2008-02-01  Rodney Dawes  <dobey@wayofthemonkey.com>
3213
3214         Reviewed by Darin.
3215
3216         Update npfunctions.h to export the proper function signatures for UNIX and add
3217         the appropriate #if around the Windows versions
3218
3219         * plugins/npfunctions.h:
3220
3221 2008-02-01  Eric Seidel  <eric@webkit.org>
3222
3223         Reviewed by Oliver.
3224
3225         Add getSVGDocument to frame and iframe.
3226
3227         Test: svg/custom/frame-getSVGDocument.html
3228
3229         * html/HTMLEmbedElement.cpp:
3230         * html/HTMLEmbedElement.h:
3231         * html/HTMLFrameElement.idl:
3232         * html/HTMLFrameOwnerElement.cpp:
3233         (WebCore::HTMLFrameOwnerElement::getSVGDocument):
3234         * html/HTMLFrameOwnerElement.h:
3235         * html/HTMLIFrameElement.idl:
3236         * html/HTMLObjectElement.cpp:
3237         * html/HTMLObjectElement.h:
3238
3239 2008-01-30  Eric Seidel  <eric@webkit.org>
3240
3241         Reviewed by darin.
3242
3243         Beat CSSParser with the RefPtr stick.  Hopefully squashing any leaks in the process.
3244         (Deploy RefPtr and PassRefPtr throughout CSSParser)
3245         http://bugs.webkit.org/show_bug.cgi?id=17108
3246
3247         No functional changes, thus no tests.
3248
3249         * css/CSSParser.cpp:
3250         (WebCore::CSSParser::parseColor):
3251         (WebCore::CSSParser::parseValue):
3252         (WebCore::CSSParser::addBackgroundValue):
3253         (WebCore::CSSParser::parseBackgroundShorthand):
3254         (WebCore::CSSParser::addTransitionValue):
3255         (WebCore::CSSParser::parseTransitionShorthand):
3256         (WebCore::CSSParser::parseBackgroundPosition):
3257         (WebCore::CSSParser::parseBackgroundProperty):
3258         (WebCore::CSSParser::parseTransitionProperty):
3259         (WebCore::CSSParser::parseFontFaceSrc):
3260         (WebCore::ShadowParseContext::ShadowParseContext):
3261         (WebCore::CSSParser::parseShadow):
3262         (WebCore::BorderImageParseContext::BorderImageParseContext):
3263         (WebCore::BorderImageParseContext::commitBorderImage):
3264         * css/CSSParser.h:
3265         * css/SVGCSSParser.cpp:
3266         (WebCore::CSSParser::parseSVGValue):
3267
3268 2008-01-31  Oliver Hunt  <oliver@apple.com>
3269
3270         RS=Brady.
3271
3272         Add platform/Locker.h to vcproj
3273
3274         * WebCore.vcproj/WebCore.vcproj:
3275
3276 2008-01-31  Brady Eidson  <beidson@apple.com>
3277
3278         Build fix
3279
3280         * WebCore.xcodeproj/project.pbxproj: Header -> WebKit
3281
3282 2008-01-31  Brady Eidson  <beidson@apple.com>
3283
3284         Reviewed by Maciej
3285
3286         Abstracted the concept of a "Locker" as upcoming work will rely on it.
3287
3288         * platform/Locker.h: Added.  Template class to "lock()" and "unlock()" some arbitrary object
3289         (WebCore::Locker::Locker): Lock the object
3290         (WebCore::Locker::~Locker): Unlock it
3291         * platform/Threading.h: `class MutexLocker` is now `typedef Locker<Mutex>`
3292         * WebCore.xcodeproj/project.pbxproj:
3293
3294 2008-01-31  Kevin McCullough  <kmccullough@apple.com>
3295
3296         <rdar://problem/5716912> REGRESSION (r29816): Can't navigate back to
3297         Gmail Inbox from Gmail Compose page
3298         Rolling out the change that caused the regression.
3299
3300         * WebCore.base.exp:
3301         * bindings/js/JSHTMLDocumentCustom.cpp:
3302         (WebCore::JSHTMLDocument::open):
3303         * dom/DOMImplementation.cpp:
3304         (WebCore::DOMImplementation::createHTMLDocument):
3305         * dom/Document.cpp:
3306         (WebCore::Document::recalcStyle):
3307         (WebCore::Document::open):
3308         (WebCore::Document::write):
3309         (WebCore::Document::clear):
3310         * dom/Document.h:
3311         * history/HistoryItem.cpp:
3312         (WebCore::HistoryItem::HistoryItem):
3313         * history/HistoryItem.h:
3314         * loader/FrameLoader.cpp:
3315         (WebCore::FrameLoader::didExplicitOpen):
3316         (WebCore::FrameLoader::load):
3317         (WebCore::FrameLoader::reloadAllowingStaleData):
3318         (WebCore::FrameLoader::reload):
3319         (WebCore::FrameLoader::tokenizerProcessedData):
3320         (WebCore::FrameLoader::post):
3321         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
3322         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
3323         (WebCore::FrameLoader::loadItem):
3324         * loader/FrameLoader.h:
3325         * platform/text/CharacterNames.h:
3326         * xml/DOMParser.cpp:
3327         (WebCore::DOMParser::parseFromString):
3328         * xml/XMLHttpRequest.cpp:
3329         (WebCore::XMLHttpRequest::getResponseXML):
3330         * xml/XSLTProcessor.cpp:
3331         (WebCore::XSLTProcessor::createDocumentFromSource):
3332
3333 2008-01-31  Matt Lilek  <webkit@mattlilek.com>
3334
3335         Reviewed by Tim Hatcher.
3336
3337         Bug 14960: Cannot copy text in Web Inspector Network panel
3338         http://bugs.webkit.org/show_bug.cgi?id=14960
3339
3340         * page/inspector/inspector.css:
3341
3342 2008-01-31  Matt Lilek  <webkit@mattlilek.com>
3343
3344         Reviewed by Adam Roben.
3345
3346         Bug 14514: Add full URL view on mouseOver in the network page
3347         http://bugs.webkit.org/show_bug.cgi?id=14514
3348         <rdar://problem/5712841>
3349
3350         * page/inspector/inspector.js:
3351
3352 2008-01-31  Alp Toker  <alp@atoker.com>
3353
3354         Rubber-stamped Adam Roben.
3355
3356         http://bugs.webkit.org/show_bug.cgi?id=17006
3357         [GTK] Header path should be webkit/webkit.h
3358
3359         Move the GTK+ API sources as needed and update the build systems.
3360
3361         * GNUmakefile.am:
3362         * WebCore.pro:
3363
3364 2008-01-31  Sam Weinig  <sam@webkit.org>
3365
3366         Reviewed by Geoff Garen.
3367
3368         No need to get the prototype just to compare compare property names.
3369
3370         * bindings/js/JSHistoryCustom.cpp:
3371         (WebCore::JSHistory::customGetOwnPropertySlot):
3372
3373 2008-01-31  Sam Weinig  <sam@webkit.org>
3374
3375         Fix non-mac builds.
3376
3377         * GNUmakefile.am:
3378         * WebCore.pro:
3379         * WebCore.vcproj/WebCore.vcproj:
3380         * WebCoreSources.bkl:
3381
3382 2008-01-31  David Hyatt  <hyatt@apple.com>
3383
3384         Fix for bug 17101.
3385
3386         List items need to ignore the line box shrinking quirk, since IE and Firefox both do.
3387
3388         Reviewed by Eric
3389
3390         fast/lists/list-item-line-height.html
3391
3392         * rendering/InlineFlowBox.h:
3393         (WebCore::InlineFlowBox::InlineFlowBox):
3394
3395 2008-01-31  Samuel Weinig  <sam@webkit.org>
3396
3397         Reviewed by Darin Adler.
3398
3399         Fix for <rdar://problem/5708993> Mutability of the History object
3400
3401         - Don't allow cross-domain get access to any of the history objects properties
3402           except the back(), forward() and go() methods.
3403         - Don't allow cross-domain put access to any of the history objects properties.
3404         - Don't allow cross-domain enumeration of the History or Location objects.
3405
3406         Tests: http/tests/security/cross-frame-access-history-get-override.html
3407                http/tests/security/cross-frame-access-history-get.html
3408                http/tests/security/cross-frame-access-history-put.html
3409
3410         * WebCore.xcodeproj/project.pbxproj:
3411         * bindings/js/JSDOMWindowCustom.cpp: Remove unnessary KJS::'s
3412         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3413         (WebCore::JSDOMWindow::customPut):
3414         (WebCore::JSDOMWindow::getPropertyNames): Moved implementation from KJS::Window now that the declaration is autogenerated
3415         using the new CustomGetPropertyNames.
3416         (WebCore::JSDOMWindow::postMessage):
3417
3418         * bindings/js/JSHistoryCustom.cpp: Added.
3419         (WebCore::allowsAccessFromFrame):
3420         (WebCore::JSHistory::customGetOwnPropertySlot): Only allow getting the declared functions back(), forward() and go() from cross-domain.
3421         Deny all other gets.
3422         (WebCore::JSHistory::customPut): Don't allow putting cross-domain.
3423         (WebCore::JSHistory::getPropertyNames): Don't allow enumeration cross-domain.
3424
3425         * bindings/js/JSLocation.cpp:
3426         (WebCore::allowsAccessFromFrame):
3427         (WebCore::JSLocation::getPropertyNames): Don't allow enumeration cross-domain.
3428         * bindings/js/JSLocation.h:
3429
3430         * bindings/js/kjs_window.cpp:
3431         * bindings/js/kjs_window.h:
3432
3433         * bindings/scripts/CodeGeneratorJS.pm:
3434         Add support for new CustomGetPropertNames extended attribute and changed the logic of CustomPutFunction
3435         to create an overrided put() function even if no read-write properties exist.
3436
3437         * page/DOMWindow.idl: Added CustomGetPropertNames
3438         * page/History.idl: Added CustomGetPropertNames
3439
3440 2008-01-30  Justin Garcia  <justin.garcia@apple.com>
3441
3442         Reviewed by Darin Adler.
3443         
3444         <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
3445
3446         * page/mac/WebCoreFrameBridge.h: Re-exposed smartInsertForString:, it's used by a WebKit method used by Mail.
3447
3448 2008-01-31  Adam Roben  <aroben@apple.com>
3449
3450         Add line box drawing code to InspectorController::drawNodeHighlight
3451
3452         This makes drawNodeHighlight a complete replacement for the painting
3453         code in WebKit/mac/WebNodeHighlightView.mm, and also brings line box
3454         rects to Windows for the first time.
3455
3456         Reviewed by Darin.
3457
3458         * dom/Node.h: Changed isSVGElement to always exist, but to only be
3459         virtual when ENABLE(SVG) is true. This way you can always call
3460         node->isSVGElement() without checking ENABLE(SVG).
3461         * page/InspectorController.cpp:
3462         (WebCore::InspectorController::drawNodeHighlight): Ported line box
3463         rect code from the Mac implementation in WebNodeHighlightView.mm.
3464
3465 2008-01-31  Adam Roben  <aroben@apple.com>
3466
3467         Put more knowledge about the node highlight in WebCore
3468
3469         InspectorController now calculates the overlay rect and node rect when
3470         drawing the node highlight instead of having them be passed in.
3471         InspectorController now holds onto the highlighted node so that it can
3472         determine these rects.
3473
3474         Once all platforms are calling down to drawNodeHighlight instead of
3475         drawing the highlight themselves, we can change
3476         InspectorClient::highlight(Node*) to something like
3477         InspectorClient::updateAndShowHighlight().
3478
3479         This also fixes Bug 14264: Node highlight makes it impossible to
3480         scroll the page
3481         <http://bugs.webkit.org/show_bug.cgi?id=14264>
3482         <rdar://5712788>
3483
3484         Reviewed by Darin.
3485
3486         * page/InspectorController.cpp:
3487         (WebCore::InspectorController::highlight): Store the node for use in
3488         drawNodeHighlight.
3489         (WebCore::InspectorController::drawNodeHighlight): Changed to be a
3490         const instance method. Now calculates the overlay rect and node rect
3491         instead of having them passed in.
3492         * page/InspectorController.h:
3493
3494 2008-01-31  Adam Roben  <aroben@apple.com>
3495
3496         Add node highlight drawing code to InspectorController
3497
3498         The code came from WebKit/win/WebNodeHighlight.cpp. It's not quite as
3499         complete as the Mac implementation (in particular, it doesn't handle
3500         line-box rects), but it's a start.
3501
3502         Reviewed by Darin.
3503
3504         * page/InspectorController.cpp:
3505         (WebCore::InspectorController::drawNodeHighlight): Added.
3506         * page/InspectorController.h:
3507
3508 2008-01-31  Dan Bernstein  <mitz@apple.com>
3509
3510         Reviewed by Dave Hyatt.
3511
3512         - fix http://bugs.webkit.org/show_bug.cgi?id=17107
3513           <rdar://problem/5716722> REGRESSION (r29834): Article text on redhat.com magazine site appears to be painting twice
3514
3515         Test: fast/block/float/intruding-painted-twice.html
3516
3517         * rendering/RenderBlock.cpp:
3518         (WebCore::RenderBlock::layoutBlock): Pass 'false' for the new
3519         makeChildPaintOtherFloats parameter to addOverhangingFloats() because at
3520         this point we are only taking away floats from the child.
3521         (WebCore::RenderBlock::layoutBlockChildren): Pass 'true' for the new
3522         makeChildPaintOtherFloats parameter to addOverhangingFloats() iff the
3523         child was not laid out again. Only in that case, it may have overhanging
3524         floats that it does not paint because they used to be overhanging from
3525         the parent, but now they are not.
3526         (WebCore::RenderBlock::addOverhangingFloats): Refined the conditions for
3527         making the child paint the float: require that the float be a descendant
3528         of the child (the other case is when it intrudes into the child from
3529         another sibling) and that it does not have a layer (in which case it
3530         paints itself). In addition, do the check only if the caller passed
3531         'true' for the makeChildPaintOtherFloats parameter.
3532         * rendering/RenderBlock.h:
3533
3534 2008-01-30  Dan Bernstein  <mitz@apple.com>
3535
3536         Reviewed by Sam Weinig.
3537
3538         - change the interpretation of unicode-range values in "from-to" form
3539           to include the "to" character.
3540
3541         Test: fast/css/font-face-unicode-range.html
3542
3543         * css/CSSParser.cpp:
3544         (WebCore::CSSParser::parseFontFaceUnicodeRange):
3545         * css/CSSSegmentedFontFace.cpp:
3546         (WebCore::CSSSegmentedFontFace::overlayRange):
3547         * platform/graphics/GlyphPageTreeNode.cpp:
3548         (WebCore::GlyphPageTreeNode::initializePage):
3549         * platform/graphics/SegmentedFontData.cpp:
3550         (WebCore::SegmentedFontData::fontDataForCharacter):
3551         (WebCore::SegmentedFontData::containsCharacters):
3552
3553 2008-01-30  Dan Bernstein  <mitz@apple.com>
3554
3555         Reviewed by Darin Adler.
3556
3557         - prune references to custom fonts' SimpleFontData from the glyph page
3558           tree when they are destroyed
3559
3560         * css/CSSFontFaceSource.cpp:
3561         (WebCore::CSSFontFaceSource::pruneTable):