2008-02-29 Mark Rowe <mrowe@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-02-29  Mark Rowe  <mrowe@apple.com>
2
3         Reviewed by Anders Carlsson.
4
5         Replace use of WKPathFromFont with implementation in terms of public API.
6
7         * WebCore.base.exp: Remove unused symbol.
8         * platform/graphics/mac/SimpleFontDataMac.mm:
9         (WebCore::initFontData):
10         (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
11         (WebCore::SimpleFontData::platformInit):
12         * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
13         * platform/mac/WebCoreSystemInterface.mm: Ditto.
14
15 2008-02-29  Anders Carlsson  <andersca@apple.com>
16
17         Reviewed by Adam.
18
19         Move a bunch of files from bridge/mac to page/mac.
20         
21         * WebCore.xcodeproj/project.pbxproj:
22         * bridge/mac: Removed.
23         * bridge/mac/AXObjectCacheMac.mm: Removed.
24         * bridge/mac/GlobalHistoryMac.mm: Removed.
25         * bridge/mac/WebCoreAXObject.h: Removed.
26         * bridge/mac/WebCoreAXObject.mm: Removed.
27         * bridge/mac/WebCoreScriptDebugger.h: Removed.
28         * bridge/mac/WebCoreScriptDebugger.mm: Removed.
29         * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
30         * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
31         * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
32         * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
33         * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
34         * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
35
36 2008-02-29  David Hyatt  <hyatt@apple.com>
37
38         Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
39         guard malloc.  Pass along the style selector so it can be accessed, since it has not yet
40         been assigned into the document's member variable.
41
42         Reviewed by aroben
43
44         * css/CSSStyleSelector.cpp:
45         (WebCore::CSSRuleSet::addRulesFromSheet):
46         * css/MediaQueryEvaluator.cpp:
47         (WebCore::MediaQueryEvaluator::eval):
48         * css/MediaQueryEvaluator.h:
49
50 2008-02-29  David Hyatt  <hyatt@apple.com>
51
52         <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
53
54         Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
55         Be more precise in terms of what nodes we mark dirty.
56
57         Reviewed by Beth
58
59         * css/CSSStyleSelector.cpp:
60         (WebCore::CSSStyleSelector::checkSelector):
61         * dom/Element.cpp:
62         (WebCore::Element::recalcStyle):
63         (WebCore::checkForSiblingStyleChanges):
64         (WebCore::Element::childrenChanged):
65         (WebCore::Element::finishParsingChildren):
66         * rendering/RenderStyle.cpp:
67         (WebCore::RenderStyle::RenderStyle):
68         * rendering/RenderStyle.h:
69         (WebCore::RenderStyle::childrenAffectedByPositionalRules):
70         (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
71         (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
72
73 2008-02-29  Alexey Proskuryakov  <ap@webkit.org>
74
75         Reviewed by Darin.
76
77         <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
78
79         Test: http/tests/xmlhttprequest/status-after-abort.html
80
81         * xml/XMLHttpRequest.cpp:
82         (WebCore::XMLHttpRequest::getStatus):
83         (WebCore::XMLHttpRequest::getStatusText):
84         Changed to match Firefox more closely (IE just raises an exception in most of those cases).
85
86 2008-02-29  Dan Bernstein  <mitz@apple.com>
87
88         Reviewed by Darin Adler.
89
90         - fix a bug where explicit embedding past the end of a line could
91           affect text that line
92
93         Test: fast/text/embed-at-end-of-pre-wrap-line.html
94
95         * rendering/bidi.cpp:
96         (WebCore::RenderBlock::skipWhitespace): Removed calls to
97         setAdjustEmbedding().
98         (WebCore::RenderBlock::findNextLineBreak): Added calls to
99         setAdjustEmbedding() around skipWhitespace() only where needed.
100
101 2008-02-29  Mark Rowe  <mrowe@apple.com>
102
103         Reviewed by Oliver Hunt.
104
105         Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
106
107         * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
108         * platform/mac/WebCoreSystemInterface.mm: Ditto.
109         * platform/network/mac/ResourceRequestMac.mm:
110         (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
111         * WebCore.Tiger.exp: Move Tiger-only symbol here.
112         * WebCore.base.exp:
113
114 2008-02-29  Mark Rowe  <mrowe@apple.com>
115
116         Rubber-stamped by Eric Seidel.
117
118         Remove unneeded includes of WebCoreSystemInterface.h.
119
120         * loader/mac/LoaderNSURLExtras.m:
121         * page/mac/FrameMac.mm:
122         * page/mac/WebCoreFrameBridge.mm:
123         * platform/MIMETypeRegistry.cpp:
124         * platform/graphics/mac/ImageMac.mm:
125         * platform/mac/PasteboardMac.mm:
126
127 2008-02-29  Mark Rowe  <mrowe@apple.com>
128
129         Reviewed by Oliver Hunt and Oliver Hunt.
130
131         <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
132
133         * platform/mac/SystemTimeMac.cpp:  Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
134         * platform/mac/WebCoreSystemInterface.h:  Remove unused symbol.
135         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
136         * WebCore.base.exp:  Ditto.
137
138 2008-02-28  Mark Rowe  <mrowe@apple.com>
139
140         Reviewed by Dave Hyatt.
141
142         Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
143
144         * DerivedSources.make:  Add Tiger-only symbols to the export file when running on Tiger.
145         * WebCore.Tiger.exp:  Added.  Move Tiger-only symbol here from WebCore.base.exp.
146         * WebCore.base.exp:
147         * platform/graphics/mac/SimpleFontDataMac.mm:
148         (WebCore::SimpleFontData::platformInit):  Use Leopard APIs when building on Leopard.
149         * platform/mac/WebCoreSystemInterface.h:  Don't declare wkGetFontMetrics on Leopard as it is unused.
150         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
151
152 2008-02-28  Matt Lilek  <webkit@mattlilek.com>
153
154         Reviewed by Tim Hatcher.
155
156         Bug 16535: Stylesheets loaded with @import are not editable
157         http://bugs.webkit.org/show_bug.cgi?id=16535
158         <rdar://problem/5712899>
159
160         Sheets loaded using @import were incorrectly being flagged as non-editable
161         user agent sheets because their parent sheet doesn't have an ownerNode. We now
162         check to make sure sheets also don't have a href before restricting their editability.
163
164         * page/inspector/StylesSidebarPane.js:
165
166 2008-02-28  Rodney Dawes  <dobey@wayofthemonkey.com>
167
168         Reviewed by Adam Roben.
169
170         Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
171         Add PluginPackage.cpp to build configurations.
172         Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
173         Use cross-platform pathGetFilename method.
174         Remove platform-specific code from shared PluginPackage implementation.
175         Remove shared code from PluginPackageWin.cpp.
176
177         * GNUmakefile.am:
178         * WebCore.pro:
179         * WebCoreSources.bkl:
180         * WebCore.vcproj/WebCore.vcproj:
181         * platform/gtk/TemporaryLinkStubs.cpp:
182         * platform/qt/TemporaryLinkStubs.cpp:
183         * platform/wx/TemporaryLinkStubs.cpp:
184         * plugins/PluginPackage.cpp:
185         * plugins/win/PluginPackageWin.cpp:
186
187 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
188
189         Reviewed by Darin Adler.
190
191         <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
192         
193         Add a second style span at copy time to hold document default styles.  This helps us
194         differentiate between those and user applied styles at paste time, where we'll want
195         to let Mail's Paste As Quotation blockquote override document default styles, but
196         not others.
197
198         * css/CSSComputedStyleDeclaration.cpp:
199         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used 
200         for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that 
201         are thick | medium | thin | <length>.  Before, there was a mismatch between the unit 
202         type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for 
203         an element and that element's inlineStyleDecl(), causing identical values to always appear 
204         different to diff().
205         * editing/ReplaceSelectionCommand.cpp:
206         (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed.  Don't just change
207         the class to an empty string, completely remove it, it's no longer needed.
208         (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
209         (WebCore::ReplaceSelectionCommand::handleStyleSpans): 
210         Added, replaces removeRedundantStyles.
211         We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
212         unused code and renamed the function.
213         There won't be more than two style spans that we need to consider, the one with the 
214         source document's default styles and styles on the commonAncestor of the copied Range, 
215         so don't look for more than two.
216         Let elements that wrap the incoming fragment override the source document's styles.
217         (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
218         and call the renamed handleStyleSpans.
219         * editing/ReplaceSelectionCommand.h:
220         * editing/markup.cpp:
221         (WebCore::removeDefaultStyles): Added.  Don't add document defaults to the style span
222         that holds user applied styles, since they'll be added to their own style span.
223         (WebCore::createMarkup):
224         Add a second style span that holds just the document defaults. This lets us differentiate
225         between those and user applied styles at paste time.
226         Mail blockquotes are just another type of special element, moved their handling there. This
227         also lets paste code make assumptions about the position of the two style spans (they are 
228         *always* parent-child).
229
230 2008-02-28  Brent Fulgham <bfulgham@gmail.com>
231
232         http://bugs.webkit.org/show_bug.cgi?id=17576
233         Modify RenderThemeWin to use SOFT_LINK
234
235         Reviewed by Adam Roben.
236
237         * rendering/RenderThemeWin.h: Remove unneeded library handle
238         * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
239           rather than hand-coded load library calls.
240
241 2008-02-28  Dan Bernstein  <mitz@apple.com>
242
243         Reviewed by Darin Adler.
244
245         - fix http://bugs.webkit.org/show_bug.cgi?id=17590
246           ASSERTION FAILED: subject in jsRegExpExecute()
247
248         * page/mac/FrameMac.mm:
249         (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
250         case the element name is empty.
251
252 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
253
254         Reviewed by Dan Bernstein
255         
256         Small editing speed up.
257         
258         * dom/Position.cpp:
259         (WebCore::Position::upstream): Don't check for a change in editability
260         if the current node hasn't changed.
261         (WebCore::Position::downstream): Ditto.
262
263 2008-02-27  Dan Bernstein  <mitz@apple.com>
264
265         Reviewed by John Sullivan.
266
267         - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
268
269         Test: fast/text/soft-hyphen-2.html
270
271         * rendering/bidi.cpp:
272         (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
273         that if there are two midpoints at the given position, only the last one
274         will be chopped off.
275
276 2008-02-27  Dan Bernstein  <mitz@apple.com>
277
278         Reviewed by Darin Adler.
279
280         - make centered text in right-to-left blocks spill over to the left
281
282         Test: fast/text/align-center-rtl-spill.html
283
284         * rendering/bidi.cpp:
285         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
286
287 2008-02-27  Dan Bernstein  <mitz@apple.com>
288
289         Reviewed by Darin Adler.
290
291         - more bidi.cpp cleanup
292
293         * platform/text/BidiResolver.h:
294         (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
295         (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
296         here.
297         (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
298         addRun().
299         (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
300         destroy(), avoiding the need to specialize this method in BidiState.
301         * rendering/bidi.cpp:
302         (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
303         (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
304         (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
305         (WebCore::RenderBlock::createLineBoxes): 
306         (WebCore::RenderBlock::constructLine):
307         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
308         (WebCore::RenderBlock::computeVerticalPositionsForLine):
309         (WebCore::buildCompactRuns):
310         (WebCore::RenderBlock::layoutInlineChildren):
311         (WebCore::RenderBlock::determineStartPosition):
312         (WebCore::RenderBlock::determineEndPosition):
313         (WebCore::RenderBlock::matchedEndLine):
314         (WebCore::skipNonBreakingSpace):
315         (WebCore::RenderBlock::skipWhitespace):
316         (WebCore::shouldSkipWhitespaceAfterStartObject):
317         * rendering/bidi.h:
318         (WebCore::BidiRun): Added m_ prefixes to several member variables. 
319
320 2008-02-27  Sam Weinig  <sam@webkit.org>
321
322         Reviewed by Darin.
323
324         Fix for <rdar://problem/5768769>
325
326         - Don't allow cross-origin calls using window.functionName.call(otherFrame)
327           syntax.
328
329         * bindings/js/JSLocation.cpp:
330         (WebCore::jsLocationProtoFuncToString): Do same-origin check.
331         * bindings/js/kjs_window.cpp:
332         (KJS::windowProtoFuncAToB): Ditto.
333         (KJS::windowProtoFuncBToA): Ditto.
334         (KJS::windowProtoFuncOpen): Ditto.
335         (KJS::windowProtoFuncClearTimeout): Ditto.
336         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
337
338 2008-02-27  David Hyatt  <hyatt@apple.com>
339
340         More cleanup in preparation for fixing the HTML5 spec performance regression.
341
342         Reviewed by Sam Weinig
343
344         * dom/Attr.cpp:
345         (WebCore::Attr::childrenChanged):
346         * dom/Attr.h:
347         * dom/ContainerNode.cpp:
348         (WebCore::ContainerNode::insertBefore):
349         (WebCore::ContainerNode::replaceChild):
350         (WebCore::ContainerNode::removeChild):
351         (WebCore::ContainerNode::removeChildren):
352         (WebCore::ContainerNode::appendChild):
353         (WebCore::ContainerNode::addChild):
354         (WebCore::ContainerNode::childrenChanged):
355         * dom/ContainerNode.h:
356         * dom/Document.cpp:
357         (WebCore::Document::childrenChanged):
358         * dom/Document.h:
359         * dom/Element.cpp:
360         (WebCore::Element::childrenChanged):
361         * dom/Element.h:
362         * dom/Node.h:
363         (WebCore::Node::childrenChanged):
364         * html/HTMLObjectElement.cpp:
365         (WebCore::HTMLObjectElement::childrenChanged):
366         * html/HTMLObjectElement.h:
367         * html/HTMLOptGroupElement.cpp:
368         (WebCore::HTMLOptGroupElement::childrenChanged):
369         * html/HTMLOptGroupElement.h:
370         * html/HTMLOptionElement.cpp:
371         (WebCore::HTMLOptionElement::childrenChanged):
372         * html/HTMLOptionElement.h:
373         * html/HTMLScriptElement.cpp:
374         (WebCore::HTMLScriptElement::childrenChanged):
375         * html/HTMLScriptElement.h:
376         * html/HTMLSelectElement.cpp:
377         (WebCore::HTMLSelectElement::childrenChanged):
378         * html/HTMLSelectElement.h:
379         * html/HTMLStyleElement.cpp:
380         (WebCore::HTMLStyleElement::childrenChanged):
381         * html/HTMLStyleElement.h:
382         * html/HTMLTextAreaElement.cpp:
383         (WebCore::HTMLTextAreaElement::childrenChanged):
384         * html/HTMLTextAreaElement.h:
385         * html/HTMLTitleElement.cpp:
386         (WebCore::HTMLTitleElement::childrenChanged):
387         * html/HTMLTitleElement.h:
388         * svg/SVGClipPathElement.cpp:
389         (WebCore::SVGClipPathElement::childrenChanged):
390         * svg/SVGClipPathElement.h:
391         * svg/SVGDefinitionSrcElement.cpp:
392         (WebCore::SVGDefinitionSrcElement::childrenChanged):
393         * svg/SVGDefinitionSrcElement.h:
394         * svg/SVGFontFaceElement.cpp:
395         (WebCore::SVGFontFaceElement::childrenChanged):
396         * svg/SVGFontFaceElement.h:
397         * svg/SVGFontFaceFormatElement.cpp:
398         (WebCore::SVGFontFaceFormatElement::childrenChanged):
399         * svg/SVGFontFaceFormatElement.h:
400         * svg/SVGFontFaceSrcElement.cpp:
401         (WebCore::SVGFontFaceSrcElement::childrenChanged):
402         * svg/SVGFontFaceSrcElement.h:
403         * svg/SVGFontFaceUriElement.cpp:
404         (WebCore::SVGFontFaceUriElement::childrenChanged):
405         * svg/SVGFontFaceUriElement.h:
406         * svg/SVGGElement.cpp:
407         (WebCore::SVGGElement::childrenChanged):
408         * svg/SVGGElement.h:
409         * svg/SVGGradientElement.cpp:
410         (WebCore::SVGGradientElement::childrenChanged):
411         * svg/SVGGradientElement.h:
412         * svg/SVGMarkerElement.cpp:
413         (WebCore::SVGMarkerElement::childrenChanged):
414         * svg/SVGMarkerElement.h:
415         * svg/SVGMaskElement.cpp:
416         (WebCore::SVGMaskElement::childrenChanged):
417         * svg/SVGMaskElement.h:
418         * svg/SVGPatternElement.cpp:
419         (WebCore::SVGPatternElement::childrenChanged):
420         * svg/SVGPatternElement.h:
421         * svg/SVGStyleElement.cpp:
422         (WebCore::SVGStyleElement::childrenChanged):
423         * svg/SVGStyleElement.h:
424         * svg/SVGStyledElement.cpp:
425         (WebCore::SVGStyledElement::childrenChanged):
426         * svg/SVGStyledElement.h:
427         * svg/SVGTitleElement.cpp:
428         (WebCore::SVGTitleElement::childrenChanged):
429         * svg/SVGTitleElement.h:
430         * svg/SVGUseElement.cpp:
431         (WebCore::SVGUseElement::childrenChanged):
432         * svg/SVGUseElement.h:
433
434 2008-02-27  Julien Chaffraix <julien.chaffraix@gmail.com>
435
436         Reviewed by Alexey.
437
438         http://bugs.webkit.org/show_bug.cgi?id=17481
439         Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
440
441         Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
442
443         * xml/XMLHttpRequest.cpp:
444         (WebCore::XMLHttpRequest::open):
445
446 2008-02-27  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
447
448         Reviewed, tweaked and landed by ap.
449
450         http://bugs.webkit.org/show_bug.cgi?id=17487
451         HTMLInput mysteriously fails to work if ICU dat file is missing
452
453         * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
454         has been opened.
455
456 2008-02-27  Adam Roben  <aroben@apple.com>
457
458         Windows build fix after r30616
459
460         * platform/win/ClipboardWin.cpp:
461
462 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
463
464         Reviewed by Simon.
465
466         Small style cleanup, and obvious fix: SVGGElement reacted on
467         'clipPathUnits' changes, which is a funny copy&paste error.
468
469         * svg/SVGGElement.cpp:
470         (WebCore::SVGGElement::parseMappedAttribute):
471         (WebCore::SVGGElement::svgAttributeChanged):
472         (WebCore::SVGGElement::createRenderer):
473
474 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
475
476         Reviewed by Simon.
477
478         Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
479         Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
480
481         * svg/SVGDefsElement.cpp:
482         (WebCore::SVGDefsElement::createRenderer):
483         * svg/SVGDefsElement.h:
484         * svg/SVGDescElement.h:
485
486 2008-02-26  Antti Koivisto  <antti@apple.com>
487
488         Reviewed by Darin.
489
490         Fix <rdar://problem/5761326>
491         REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
492         
493         Generate better code with VS:
494         - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
495         - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
496         - Add a separate version of the function for cases where error messages are not wanted
497
498         * bindings/js/JSDOMWindowCustom.cpp:
499         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
500         * bindings/js/kjs_window.cpp:
501         (KJS::Window::allowsAccessFrom):
502         (KJS::Window::allowsAccessFromNoErrorMessage):
503         (KJS::Window::allowsAccessFromPrivate):
504         (KJS::Window::crossDomainAccessErrorMessage):
505         * bindings/js/kjs_window.h:
506
507 2008-02-26  Sam Weinig  <sam@webkit.org>
508
509         Reviewed by Dave Hyatt.
510
511         - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
512
513         * GNUmakefile.am:
514         * WebCore.pro:
515         * WebCore.vcproj/WebCore.vcproj:
516         * WebCore.xcodeproj/project.pbxproj:
517         * WebCoreSources.bkl:
518         * platform/ArrayImpl.cpp: Removed.
519         * platform/ArrayImpl.h: Removed.
520         * platform/DeprecatedArray.h: Removed.
521         * platform/DeprecatedCString.cpp: Removed.
522         * platform/DeprecatedCString.h: Removed.
523         * platform/text/CString.cpp:
524         (WebCore::CString::length):
525         * platform/text/CString.h:
526
527 2008-02-26  David Hyatt  <hyatt@apple.com>
528
529         Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
530
531         Reviewed by Sam Weinig
532
533         * dom/Attr.cpp:
534         (WebCore::Attr::childrenChanged):
535         * dom/ContainerNode.cpp:
536         (WebCore::ContainerNode::insertBefore):
537         (WebCore::ContainerNode::replaceChild):
538         (WebCore::ContainerNode::removeChild):
539         (WebCore::ContainerNode::removeChildren):
540         (WebCore::ContainerNode::appendChild):
541         (WebCore::ContainerNode::addChild):
542         (WebCore::ContainerNode::childrenChanged):
543         * dom/ContainerNode.h:
544         * dom/EventTargetNode.cpp:
545         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
546         * dom/EventTargetNode.h:
547         * dom/NamedAttrMap.cpp:
548         (WebCore::NamedAttrMap::addAttribute):
549         (WebCore::NamedAttrMap::removeAttribute):
550
551 2008-02-26  Darin Adler  <darin@apple.com>
552
553         Reviewed by Sam.
554
555         - remove use of DeprecatedCString from Windows pasteboard code
556
557         * platform/win/ClipboardUtilitiesWin.cpp:
558         (WebCore::createGlobalData): Added an overload for Vector<char>.
559         Streamlined the logic a bit.
560         (WebCore::append): Added. Helper functions for appending to a
561         Vector<char>.
562         (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
563         of DeprecatedCString. Also simplified the logic a bit and used
564         macros to handle the integer width.
565         (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
566         (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
567         * platform/win/ClipboardUtilitiesWin.h: Update type of return
568         value from markupToCF_HTML. Did a bit of streamlining too.
569         * platform/win/ClipboardWin.cpp:
570         (WebCore::writeURL): Update for above changes.
571         (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
572         (WebCore::ClipboardWin::writeRange): Ditto.
573         * platform/win/PasteboardWin.cpp:
574         (WebCore::Pasteboard::writeSelection): Ditto.
575         (WebCore::Pasteboard::writeURL): Ditto.
576
577 2008-02-26  Timothy Hatcher  <timothy@apple.com>
578
579         Reviewed by Adam Roben.
580
581         <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
582         source list does not scroll when item at edge is reached (16572)
583
584         Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
585         we were using in utilities.js.
586
587         * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
588         * page/inspector/Resource.js: Ditto.
589         * page/inspector/inspector.js: Ditto.
590         * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
591         of scrollIntoView, so the source line is centered in the view if needed.
592         * page/inspector/utilities.js: Removed scrollToElement().
593
594 2008-02-26  David Hyatt  <hyatt@apple.com>
595
596         Reviewed by Dan
597
598         http://bugs.webkit.org/show_bug.cgi?id=17485
599
600         Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
601         Fixes a regression on huffingtonpost.com.
602
603         New tests added to fast/inline
604
605         * rendering/InlineFlowBox.cpp:
606         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
607         (WebCore::InlineFlowBox::placeBoxesVertically):
608         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
609         * rendering/RenderFlow.cpp:
610         (WebCore::RenderFlow::calcMargins):
611         * rendering/RenderFlow.h:
612         * rendering/RenderObject.h:
613         (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
614         (WebCore::RenderObject::hasHorizontalBordersOrPadding):
615         * rendering/bidi.cpp:
616         (WebCore::getBorderPaddingMargin):
617         (WebCore::RenderBlock::layoutInlineChildren):
618         (WebCore::inlineFlowRequiresLineBox):
619
620 2008-02-26  Sam Weinig  <sam@webkit.org>
621
622         Fix Windows build.
623
624         * platform/text/PlatformString.h:
625         (WebCore::reverseFind):
626
627 2008-02-26  Dan Bernstein  <mitz@apple.com>
628
629         Reviewed by Darin Adler.
630
631         - fix http://bugs.webkit.org/show_bug.cgi?id=17555
632           <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
633
634         Test: fast/dynamic/subtree-table-cell-height.html
635
636         * rendering/RenderObject.cpp:
637         (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
638         height depends on their contents even if the CSS height property is
639         fixed.
640
641 2008-02-25  Sam Weinig  <sam@webkit.org>
642
643         Reviewed by Dan Bernstein.
644
645         Make the cleanPath function in CSSStyleSelector more efficient by using
646         a Vector<UChar>.
647
648         * css/CSSStyleSelector.cpp:
649         (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
650         of a String.  Also remove unnecessary reverseFind call that could be acomplished
651         with two compares.
652         (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
653         a stack buffer.
654         * platform/text/PlatformString.h:
655         (WebCore::find): Make this find generic enough that it can be used for
656         String::find.
657         (WebCore::reverseFind): Implement reverseFind so that it can be used
658         for with a UChar* and length.
659         * platform/text/StringImpl.cpp:
660         (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
661         (WebCore::StringImpl::reverseFind): Ditto,
662
663 2008-02-26  Satoshi Nakagawa  <artension@gmail.com>
664
665         Reviewed by Darin. Tweaked and landed by Alexey.
666
667         http://bugs.webkit.org/show_bug.cgi?id=17411
668         Ideographic comma and full stop should be treated as line-breakable characters
669
670         Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
671
672         * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
673         * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
674         Unicode 5.0 that is causing this.
675
676 2008-02-26  MorganL  <morganl.webkit@yahoo.com>
677
678         Reviewed by eseidel.  Landed by eseidel
679
680         Fix improperly initialized m_isUpToDate member variable.
681         Fixs 50+ layout tests when run on Tiger.
682         http://bugs.webkit.org/show_bug.cgi?id=17549
683
684         * platform/network/cf/ResourceResponse.h:
685         (WebCore::ResourceResponse::ResourceResponse):
686         * platform/network/mac/ResourceResponse.h:
687         (WebCore::ResourceResponse::ResourceResponse):
688
689 2008-02-25  Dan Bernstein  <mitz@apple.com>
690
691         Reviewed by Sam Weinig.
692
693         - fix http://bugs.webkit.org/show_bug.cgi?id=17152
694           Paragraphs indented with :first-letter and text-align CSS render incorrectly
695
696         Test: fast/text/apply-start-width-after-skipped-text.html
697
698         * rendering/bidi.cpp:
699         (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
700         to figure in the padding, border and margin before a text node when the
701         line begins inside a text node.
702
703 2008-02-25  Kevin Ollivier  <kevino@theolliviers.com>
704
705         Windows build fix for wx port.
706
707         * loader/FTPDirectoryDocument.cpp:
708
709 2008-02-25  Mark Rowe  <mrowe@apple.com>
710
711         Windows build fix.
712
713         * platform/network/cf/ResourceResponseCFNet.cpp:
714         (WebCore::ResourceResponse::platformCompare):  Implement platformCompare for ResourceResponseCFNet.cpp.
715
716 2008-02-25  Beth Dakin  <bdakin@apple.com>
717
718         Reviewed by Geoff.
719
720         Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in 
721         Document::removePendingSheet() from r30438
722
723         r30438 added a call to CachedResource::error() from inside 
724         Loader::didReceiveData() if a CSS file 4xxs. There was an 
725         assumption in the loader, though, that either error() would be 
726         called, or didFinishLoading() would be called, so some work is 
727         duplicated in each. Now that we are calling an error() on files 
728         that will also make it to didFinishLoading() (since they succeeded 
729         in the network layer), we need to make sure we do not duplicate the 
730         work. CachedCSSStyleSheet::error() calls checkNotify, which ends up 
731         decrementing the document's pending style sheet counter. 
732         checkNotify() was still getting called, though, through the normal  
733         didFinishLoading code path, and the counter was being decremented 
734         twice. Bad!
735
736         * loader/loader.cpp:
737         (WebCore::Loader::didFinishLoading):
738         (WebCore::Loader::didReceiveData):
739
740 2008-02-25  Mark Rowe  <mrowe@apple.com>
741
742         Fix the Gtk, wx and Qt builds.
743
744         * GNUmakefile.am: Add new files.
745         * WebCore.pro: Ditto.
746         * WebCoreSources.bkl: Ditto.
747         * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
748
749 2008-02-25  MorganL  <morganl.webkit@yahoo.com>
750
751         Reviewed by Darin Adler.
752
753         Eliminate some #ifdefs from headers in platform/network.
754         http://bugs.webkit.org/show_bug.cgi?id=17210
755
756         * WebCore.base.exp:
757         * WebCore.order:
758         * WebCore.vcproj/WebCore.vcproj:
759         * WebCore.xcodeproj/project.pbxproj:
760         * dom/XMLTokenizer.cpp:
761         * loader/ResourceLoader.h:
762         * platform/network/AuthenticationChallenge.cpp: Removed.
763         * platform/network/AuthenticationChallenge.h: Removed.
764         * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
765         (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
766         (WebCore::AuthenticationChallengeBase::previousFailureCount):
767         (WebCore::AuthenticationChallengeBase::proposedCredential):
768         (WebCore::AuthenticationChallengeBase::protectionSpace):
769         (WebCore::AuthenticationChallengeBase::failureResponse):
770         (WebCore::AuthenticationChallengeBase::error):
771         (WebCore::AuthenticationChallengeBase::isNull):
772         (WebCore::AuthenticationChallengeBase::nullify):
773         (WebCore::AuthenticationChallengeBase::compare):
774         * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
775         (WebCore::AuthenticationChallengeBase::platformCompare):
776         (WebCore::operator==):
777         (WebCore::operator!=):
778         * platform/network/ResourceError.cpp: Removed.
779         * platform/network/ResourceError.h: Removed.
780         * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
781         (WebCore::ResourceErrorBase::lazyInit):
782         (WebCore::ResourceErrorBase::compare):
783         * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
784         (WebCore::ResourceErrorBase::isNull):
785         (WebCore::ResourceErrorBase::domain):
786         (WebCore::ResourceErrorBase::errorCode):
787         (WebCore::ResourceErrorBase::failingURL):
788         (WebCore::ResourceErrorBase::localizedDescription):
789         (WebCore::ResourceErrorBase::ResourceErrorBase):
790         (WebCore::ResourceErrorBase::platformLazyInit):
791         (WebCore::ResourceErrorBase::platformCompare):
792         (WebCore::operator==):
793         * platform/network/ResourceResponseBase.cpp:
794         (WebCore::ResourceResponseBase::isHTTP):
795         (WebCore::ResourceResponseBase::url):
796         (WebCore::ResourceResponseBase::setUrl):
797         (WebCore::ResourceResponseBase::mimeType):
798         (WebCore::ResourceResponseBase::setMimeType):
799         (WebCore::ResourceResponseBase::expectedContentLength):
800         (WebCore::ResourceResponseBase::setExpectedContentLength):
801         (WebCore::ResourceResponseBase::textEncodingName):
802         (WebCore::ResourceResponseBase::setTextEncodingName):
803         (WebCore::ResourceResponseBase::suggestedFilename):
804         (WebCore::ResourceResponseBase::setSuggestedFilename):
805         (WebCore::ResourceResponseBase::httpStatusCode):
806         (WebCore::ResourceResponseBase::setHTTPStatusCode):
807         (WebCore::ResourceResponseBase::httpStatusText):
808         (WebCore::ResourceResponseBase::setHTTPStatusText):
809         (WebCore::ResourceResponseBase::httpHeaderField):
810         (WebCore::ResourceResponseBase::setHTTPHeaderField):
811         (WebCore::ResourceResponseBase::httpHeaderFields):
812         (WebCore::ResourceResponseBase::isAttachment):
813         (WebCore::ResourceResponseBase::setExpirationDate):
814         (WebCore::ResourceResponseBase::expirationDate):
815         (WebCore::ResourceResponseBase::setLastModifiedDate):
816         (WebCore::ResourceResponseBase::lastModifiedDate):
817         (WebCore::ResourceResponseBase::lazyInit):
818         (WebCore::ResourceResponseBase::compare):
819         * platform/network/ResourceResponseBase.h:
820         (WebCore::ResourceResponseBase::ResourceResponseBase):
821         (WebCore::ResourceResponseBase::platformLazyInit):
822         (WebCore::ResourceResponseBase::platformCompare):
823         (WebCore::operator==):
824         * platform/network/cf/AuthenticationCF.cpp:
825         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
826         (WebCore::AuthenticationChallenge::platformCompare):
827         * platform/network/cf/AuthenticationChallenge.h: Added.
828         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
829         (WebCore::AuthenticationChallenge::sourceHandle):
830         (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
831         * platform/network/cf/ResourceError.h: Added.
832         (WebCore::ResourceError::ResourceError):
833         * platform/network/cf/ResourceErrorCF.cpp:
834         (WebCore::ResourceError::ResourceError):
835         (WebCore::ResourceError::platformLazyInit):
836         (WebCore::ResourceError::platformCompare):
837         (WebCore::ResourceError::operator CFStreamError):
838         * platform/network/cf/ResourceResponse.h:
839         (WebCore::ResourceResponse::ResourceResponse):
840         * platform/network/cf/ResourceResponseCFNet.cpp:
841         (WebCore::ResourceResponse::platformLazyInit):
842         * platform/network/curl/AuthenticationChallenge.h: Added.
843         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
844         * platform/network/curl/ResourceError.h: Added.
845         (WebCore::ResourceError::ResourceError):
846         * platform/network/curl/ResourceResponse.h:
847         (WebCore::ResourceResponse::ResourceResponse):
848         * platform/network/mac/AuthenticationChallenge.h: Added.
849         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
850         (WebCore::AuthenticationChallenge::sender):
851         (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
852         * platform/network/mac/AuthenticationMac.mm:
853         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
854         (WebCore::AuthenticationChallenge::platformCompare):
855         * platform/network/mac/ResourceError.h: Added.
856         (WebCore::ResourceError::ResourceError):
857         * platform/network/mac/ResourceErrorMac.mm:
858         (WebCore::ResourceError::platformLazyInit):
859         (WebCore::ResourceError::platformCompare):
860         * platform/network/mac/ResourceResponse.h:
861         (WebCore::ResourceResponse::ResourceResponse):
862         * platform/network/mac/ResourceResponseMac.mm:
863         (WebCore::ResourceResponse::platformLazyInit):
864         (WebCore::ResourceResponse::platformCompare):
865         * platform/network/qt/AuthenticationChallenge.h: Added.
866         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
867         * platform/network/qt/ResourceError.h: Added.
868         (WebCore::ResourceError::ResourceError):
869         * platform/network/qt/ResourceResponse.h:
870         (WebCore::ResourceResponse::ResourceResponse):
871         * xml/XSLTProcessor.cpp:
872
873 2008-02-25  Anders Carlsson  <andersca@apple.com>
874
875         Reviewed by Darin.
876
877         Move remaining render style objects over to start with a refcount of 1 and get
878         rid of DeprecatedDataRef.
879         
880         * rendering/DataRef.h:
881         (WebCore::DataRef::operator*):
882         (WebCore::DataRef::operator->):
883         * rendering/RenderStyle.h:
884         * rendering/SVGRenderStyle.cpp:
885         (WebCore::SVGRenderStyle::SVGRenderStyle):
886         * rendering/SVGRenderStyle.h:
887         (WebCore::SVGRenderStyle::create):
888         (WebCore::SVGRenderStyle::copy):
889         * rendering/SVGRenderStyleDefs.cpp:
890         (StyleFillData::StyleFillData):
891         (StyleStrokeData::StyleStrokeData):
892         (StyleStopData::StyleStopData):
893         (StyleTextData::StyleTextData):
894         (StyleClipData::StyleClipData):
895         (StyleMaskData::StyleMaskData):
896         (StyleMarkerData::StyleMarkerData):
897         (StyleMiscData::StyleMiscData):
898         * rendering/SVGRenderStyleDefs.h:
899         (WebCore::StyleFillData::create):
900         (WebCore::StyleFillData::copy):
901         (WebCore::StyleStrokeData::create):
902         (WebCore::StyleStrokeData::copy):
903         (WebCore::StyleStopData::create):
904         (WebCore::StyleStopData::copy):
905         (WebCore::StyleTextData::create):
906         (WebCore::StyleTextData::copy):
907         (WebCore::StyleClipData::create):
908         (WebCore::StyleClipData::copy):
909         (WebCore::StyleMaskData::create):
910         (WebCore::StyleMaskData::copy):
911         (WebCore::StyleMarkerData::create):
912         (WebCore::StyleMarkerData::copy):
913         (WebCore::StyleMiscData::create):
914         (WebCore::StyleMiscData::copy):
915
916 2008-02-25  Dan Bernstein  <mitz@apple.com>
917
918         Reviewed by Dave Hyatt.
919
920         - remove file-static BidiRun variables from bidi.cpp
921
922         * platform/text/BidiResolver.h:
923         (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
924         (WebCore::BidiResolver::logicallyLastRun): Added.
925         (WebCore::BidiResolver::runCount): Made unsigned.
926         (WebCore::::reverseRuns): Changed ints to unsigned.
927         (WebCore::::createBidiRunsForLine): Made this function set
928         m_logicallyLastRun.
929         * rendering/RenderBlock.h:
930         * rendering/bidi.cpp:
931         (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
932         (WebCore::RenderBlock::constructLine): Removed unused start parameter
933         and added run count and first and last run parameters. Replaced end
934         parameter with lastLine boolean and endObject pointer.
935         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
936         and logically last run parameters.
937         (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
938         parameter.
939         (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
940         variables.
941         (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
942         accessors instead of file statics.
943
944 2008-02-25  Rodney Dawes  <dobey@wayofthemonkey.com>
945
946         Reviewed by Jon Honeycutt.
947
948         http://bugs.webkit.org/show_bug.cgi?id=16924
949         Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
950
951         Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
952         Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
953         Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
954         Add new PluginDatabase.cpp to Windows build.
955         Add temporary stubs for new PluginDatabase and PluginPackage.
956         shared classes to GTK+, Qt, and Wx ports.
957         Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
958         Remove shared code from PluginDatabaseWin.cpp.
959         Remove Windows-specific code from PluginDatabase.cpp.
960         Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
961         Remove extraneous PluginPackage:: from hash() class method prototype.
962         Subsume storeFileVersion into PluginPackage::fetchInfo.
963         Add cross-platform PlatformModuleVersion type definition.
964         Use PlatformModuleVersion to store the module version.
965         Rename m_fileVersion[ML]S to m_moduleVersion.
966         Change compareFileVersion to use PlatformModuleVersion as the argument.
967         Move PluginView::determineQuirks and m_quirks to PluginPackage.
968         Updated determineQuirks for the PlatformModuleVersion.
969
970         * GNUmakefile.am:
971         * WebCore.pro:
972         * WebCoreSources.bkl:
973         * webcore-base.bkl:
974         * WebCore.vcproj/WebCore.vcproj:
975         * Platform/FileSystem.h:
976         * platform/qt/PlugInInfoStoreQt.cpp:
977         * platform/gtk/TemporaryLinkStubs.cpp:
978         * platform/qt/TemporaryLinkStubs.cpp:
979         * platform/wx/TemporaryLinkStubs.cpp:
980         * plugins/PluginDatabase.cpp:
981         * plugins/PluginDatabase.h:
982         * plugins/win/PluginDatabaseWin.cpp:
983         * plugins/PluginPackage.h:
984         * plugins/win/PluginPackageWin.cpp:
985         * plugins/PluginView.h:
986         * plugins/win/PluginViewWin.cpp:
987
988 2008-02-25  Anders Carlsson  <andersca@apple.com>
989
990         Reviewed by Darin.
991
992         Make more style objects start out with a refcount of 1.
993         
994         * rendering/RenderStyle.cpp:
995         (WebCore::StyleSurroundData::StyleSurroundData):
996         (WebCore::StyleBoxData::StyleBoxData):
997         (WebCore::StyleVisualData::StyleVisualData):
998         (WebCore::StyleBackgroundData::StyleBackgroundData):
999         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1000         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1001         (WebCore::StyleInheritedData::StyleInheritedData):
1002         * rendering/RenderStyle.h:
1003         (WebCore::StyleSurroundData::create):
1004         (WebCore::StyleSurroundData::copy):
1005         (WebCore::StyleBoxData::create):
1006         (WebCore::StyleBoxData::copy):
1007         (WebCore::StyleVisualData::create):
1008         (WebCore::StyleVisualData::copy):
1009         (WebCore::StyleBackgroundData::create):
1010         (WebCore::StyleBackgroundData::copy):
1011         (WebCore::StyleBackgroundData::~StyleBackgroundData):
1012         (WebCore::StyleRareNonInheritedData::create):
1013         (WebCore::StyleRareNonInheritedData::copy):
1014         (WebCore::StyleRareInheritedData::create):
1015         (WebCore::StyleRareInheritedData::copy):
1016         (WebCore::StyleInheritedData::create):
1017         (WebCore::StyleInheritedData::copy):
1018
1019 2008-02-25  Anders Carlsson  <andersca@apple.com>
1020
1021         Reviewed by Darin.
1022
1023         Make some of the refcounted style objects start out with a refcount of 1.
1024
1025         * rendering/DataRef.h:
1026         Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
1027         Change DataRef to use ::create() and ::copy() instead of the constructors.
1028         Change DataRef's pointer to be a RefPtr instead.
1029
1030         * rendering/RenderStyle.cpp:
1031         (WebCore::StyleMarqueeData::StyleMarqueeData):
1032         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
1033         (WebCore::StyleMultiColData::StyleMultiColData):
1034         (WebCore::StyleTransformData::StyleTransformData):
1035         Start with a RefCount of 1.
1036         
1037         * rendering/RenderStyle.h:
1038         * rendering/SVGRenderStyle.h:
1039         Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
1040
1041 2008-02-25  Darin Adler  <darin@apple.com>
1042
1043         Reviewed by Anders.
1044         Based on a patch by Tim Steele <timsteele41@gmail.com>.
1045
1046         - fix http://bugs.webkit.org/show_bug.cgi?id=17186
1047           Fragment navigation within a page permanently cancels meta refresh
1048
1049         Test: fast/loader/meta-refresh-anchor-click.html
1050
1051         * loader/FrameLoader.cpp:
1052         (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
1053         always do a real load. This makes sure that meta refresh loads are treated as real loads
1054         rather than anchor scrolls. Also tweaked formatting a bit.
1055         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
1056         an alternate way to complete a load, so it needs to start the redirection timer if
1057         redirection has already been scheduled.
1058
1059 2008-02-25  Dan Bernstein  <mitz@apple.com>
1060
1061         Reviewed by Darin Adler.
1062
1063         - avoid counting spaces in non-justified text
1064
1065         * rendering/bidi.cpp:
1066         Removed file-static numSpaces.
1067         (WebCore::BidiState::addRun): Removed space counting.
1068         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
1069         counting, conditional on the block having the text-align: justify
1070         property value.
1071         (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
1072         numSpaces.
1073
1074 2008-02-25  Darin Adler  <darin@apple.com>
1075
1076         Requested by Steve.
1077
1078         * platform/graphics/cg/ImageSourceCG.cpp:
1079         (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
1080         variable (because CFSTR is inefficient on Windows).
1081
1082 2008-02-25  Darin Adler  <darin@apple.com>
1083
1084         Reviewed by Adam.
1085
1086         * WebCore.base.exp: Export blankURL, and sort the file.
1087
1088 2008-02-25  Simon Hausmann  <hausmann@webkit.org>
1089
1090         Reviewed by Mark Rowe.
1091
1092         Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
1093
1094         * dom/Position.cpp:
1095         * dom/Range.cpp:
1096         * editing/Selection.cpp:
1097         * editing/SelectionController.cpp:
1098         * editing/VisiblePosition.cpp:
1099         * history/HistoryItem.cpp:
1100         * loader/Cache.cpp:
1101         * loader/FTPDirectoryParser.cpp:
1102         * platform/KURL.cpp:
1103         * platform/gtk/FileSystemGtk.cpp:
1104         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1105         * platform/text/TextCodecLatin1.cpp:
1106         * platform/text/TextCodecUserDefined.cpp:
1107         * rendering/CounterNode.cpp:
1108         * rendering/RenderObject.cpp:
1109
1110 2008-02-25  Johnny Ding  <johnnyding.webkit@gmail.com>
1111
1112         Reviewed by Darin Adler.
1113
1114         - fix http://bugs.webkit.org/show_bug.cgi?id=17444
1115
1116         In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
1117         whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
1118         and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
1119         to decide whether to save prependingSrc or not. The later behavior is not right
1120         because, in scriptHandler and scriptExecution, even the pendingScripts queue is
1121         empty, the testBit:LoadingExtScript might be TRUE.
1122
1123         Test: fast/tokenizer/nested-multiple-scripts.html
1124
1125         * html/HTMLTokenizer.cpp:
1126         (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
1127         checking state.loadingExtScript().
1128         (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
1129         checking state.loadingExtScript().
1130
1131 2008-02-24  Darin Adler  <darin@apple.com>
1132
1133         * dom/Document.h: Removed stray duplicate declaration of
1134         RegisteredEventListenerList.
1135
1136 2008-02-24  Darin Adler  <darin@apple.com>
1137
1138         * dom/Range.cpp:
1139         (WebCore::Range::surroundContents): Removed incorrect comment.
1140         I added it a while ago, and I was just mixed up.
1141
1142 2008-02-24  Darin Adler  <darin@apple.com>
1143
1144         - quick follow-up to that last check-in
1145
1146         * platform/graphics/cg/ImageSourceCG.cpp:
1147         (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
1148         WebCore::String's == for speed.
1149
1150 2008-02-24  Michael Knaup  <michael.knaup@mac.com>
1151
1152         Reviewed by Darin.
1153
1154         Bug 8749: XBM rendered incorrectly as black on white
1155
1156         xbm images are now created and rendered using black on a
1157         transparent background (same behavior as in Firefox)
1158
1159         Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
1160
1161         * platform/graphics/cg/ImageSourceCG.cpp:
1162         (WebCore::ImageSource::createFrameAtIndex):
1163
1164 2008-02-24  Dan Bernstein  <mitz@apple.com>
1165
1166         Reviewed by Darin Adler.
1167
1168         - fix http://bugs.webkit.org/show_bug.cgi?id=17471
1169           REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
1170
1171         Test: http/tests/misc/object-image-error.html
1172
1173         * html/HTMLObjectElement.cpp:
1174         (WebCore::HTMLObjectElement::attach): Added an early return in case
1175         updateFromElement() has changed the object to use fallback content.
1176
1177 2008-02-24  Dan Bernstein  <mitz@apple.com>
1178
1179         Reviewed by Darin Adler.
1180
1181         - fix float positioning when a float that does not fit on the line is
1182           followed by a float that does
1183
1184         Test: fast/block/float/narrow-after-wide.html
1185
1186         * rendering/bidi.cpp:
1187         (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
1188         more floats on the line once a float that does not fit is encountered.
1189         That float should be pushed to the next line, and so should all floats
1190         that follow, regardless of whether they can fit on the current line.
1191
1192 2008-02-24  Darin Adler  <darin@apple.com>
1193
1194         Reviewed by Sam.
1195
1196         - fix http://bugs.webkit.org/show_bug.cgi?id=16770
1197           Acid3 expects :visited styled links to restyle on iframe load
1198
1199         Disentangle global history updating from the back/forward history.
1200         There are many cases where we don't want to create a new back/forward
1201         item, but we do still want to add to the global history (used for visited
1202         link coloring) in those cases.
1203
1204         Test: fast/history/subframe-is-visited.html
1205
1206         * loader/FrameLoader.cpp:
1207         (WebCore::FrameLoader::updateGlobalHistory): Renamed from
1208         addHistoryForCurrentLocation and removed the back/forward handling.
1209         (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
1210         bit. Replaced call to addHistoryForCurrentLocation with a call to
1211         addBackForwardItemClippedAtTarget. Added an unconditional call to
1212         updateGlobalHistory.
1213         (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
1214         why doesn't this function update global history?
1215         (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
1216         (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
1217         the client with a call to the new updateGlobalHistory function.
1218         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
1219         the same changes as for updateHistoryForStandardLoad.
1220         * loader/FrameLoader.h: More of the same.
1221
1222         * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
1223         renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
1224
1225         * svg/graphics/SVGImageEmptyClients.h:
1226         (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
1227         match the above.
1228
1229 2008-02-23  Darin Adler  <darin@apple.com>
1230
1231         Reviewed by Sam.
1232
1233         - fix http://bugs.webkit.org/show_bug.cgi?id=17508
1234           REGRESSION (r30535): mailto regression tests failing
1235
1236         * html/HTMLFormElement.cpp:
1237         (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
1238         trip through String do to the replace operation. It's inefficient, but there's
1239         no real reason to worry about the efficiency of mailto forms, since that feature
1240         is nearly obsolete.
1241
1242 2008-02-23  Darin Adler  <darin@apple.com>
1243
1244         Reviewed by Sam.
1245
1246         - replace SegmentedString's use of DeprecatedValueList with Deque
1247
1248         Testing indicates this is a slight speed-up for page loading.
1249
1250         * platform/text/SegmentedString.cpp:
1251         (WebCore::SegmentedString::length): Update to use Deque.
1252         (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
1253         (WebCore::SegmentedString::append): Ditto.
1254         (WebCore::SegmentedString::prepend): Ditto.
1255         (WebCore::SegmentedString::advanceSubstring): Ditto.
1256         (WebCore::SegmentedString::toString): Ditto.
1257         * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
1258         class private with a single friend. Change m_sbstrings from a DeprecatedValueList
1259         to a Deque.
1260
1261 2008-02-23  Darin Adler  <darin@apple.com>
1262
1263         Reviewed by Anders.
1264
1265         - fix http://bugs.webkit.org/show_bug.cgi?id=17506
1266           REGRESSION (r30535): ASSERTION FAILED: i < size()
1267
1268         * loader/TextResourceDecoder.cpp:
1269         (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
1270         the C string here.
1271
1272 2008-02-23  Matt Lilek  <webkit@mattlilek.com>
1273
1274         Not reviewed, build fix.
1275
1276         * platform/network/cf/FormDataStreamCFNet.cpp:
1277         (WebCore::httpBodyFromRequest):
1278         * plugins/win/PluginViewWin.cpp:
1279         (WebCore::PluginView::handlePost):
1280
1281 2008-02-23  Dan Bernstein  <mitz@apple.com>
1282
1283         - fix a typo
1284
1285         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1286         (WebCore::GlyphPage::fill):
1287         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1288         (WebCore::GlyphPage::fill):
1289
1290 2008-02-23  Dan Bernstein  <mitz@apple.com>
1291
1292         Reviewed by Anders Carlsson.
1293
1294         - fix GlyphPage::fill() logic for partial page fills
1295
1296         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
1297         (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
1298         work correctly when the length parameter is less than a full page size.
1299         Also updated the comment.
1300         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1301         (WebCore::GlyphPage::fill): Ditto.
1302
1303 2008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
1304
1305         Reviewed by Darin Adler.
1306
1307         Move text drawing into wxcode, as we need platform-dependent
1308         APIs for drawing non-kerned text, which wx doesn't yet have.
1309         (But hopefully will, once these APIs are fleshed out on all
1310         platforms!)
1311
1312         http://bugs.webkit.org/show_bug.cgi?id=17396
1313
1314         * platform/graphics/wx/FontWx.cpp:
1315         (WebCore::Font::drawGlyphs):
1316         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
1317         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
1318         * platform/wx/wxcode/non-kerned-drawing.h: Added.
1319         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
1320         * webcore-wx.bkl:
1321
1322 2008-02-23  Darin Adler  <darin@apple.com>
1323
1324         Pointed out by Mitz.
1325
1326         * loader/TextResourceDecoder.cpp:
1327         (WebCore::find): Fix a "==" that was supposed to be ">".
1328         (WebCore::findIgnoringCase): Ditto.
1329
1330 2008-02-23  Darin Adler  <darin@apple.com>
1331
1332         Reviewed by Sam.
1333
1334         * html/HTMLFormElement.cpp:
1335         (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
1336
1337 2008-02-23  Darin Adler  <darin@apple.com>
1338
1339         Reviewed by Sam.
1340
1341         - remove all but 1 remaining use of DeprecatedCString
1342         - change FormData to start refcount at 1
1343
1344         * html/HTMLFormElement.cpp:
1345         (WebCore::appendString): Added. Helpers for Vector<char>.
1346         (WebCore::appendEncodedString): Renamed from encodeCString and changed to
1347         append to an existing Vector<char> to cut down a bit on memory allocation.
1348         (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
1349         enc_string with a Vector<char> called encodedData. Change to use the new
1350         FormData::create function.
1351         (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
1352
1353         * loader/TextResourceDecoder.cpp:
1354         (WebCore::find): Added. Helper for searching in char* with length.
1355         (WebCore::findIgnoringCase): Ditto.
1356         (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
1357         when we have a char* with length rather than a null-terminated char*.
1358         (WebCore::findXMLEncoding): Changed to use char* and length rather than
1359         DeprecatedCString. Also fixed some things that would be one-character
1360         buffer overruns in a string that's not null-terminated.
1361         (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
1362         findTextEncoding rather than constructing a CString to pass to the
1363         TextEncodingconstructor.
1364         (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
1365
1366         * platform/network/FormData.cpp:
1367         (WebCore::FormData::FormData): Changed to start refcount at 1.
1368         (WebCore::FormData::create): Added.
1369         (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
1370         * platform/network/FormData.h: Made constructor private. Added create functions.
1371
1372         * platform/network/mac/ResourceRequestMac.mm:
1373         (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
1374         * xml/XMLHttpRequest.cpp:
1375         (WebCore::XMLHttpRequest::send): Ditto.
1376
1377 2008-02-23  Darin Adler  <darin@apple.com>
1378
1379         Reviewed by Anders.
1380
1381         - http://bugs.webkit.org/show_bug.cgi?id=17067
1382           eliminate attributes parameter from JSObject::put for speed/clarity
1383
1384         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1385         (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
1386
1387         * bindings/js/JSCanvasPixelArrayCustom.cpp:
1388         (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
1389         (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
1390         CanvasPixelArray object, for consistency with the getter. Removed attributes
1391         argument.
1392
1393         * bindings/js/JSDOMWindowCustom.cpp:
1394         (WebCore::JSDOMWindow::customPut): Removed special case for variable
1395         initialization, which is not needed since that does use put any more.
1396         Removed attributes argument.
1397
1398         * bindings/js/JSEventTargetBase.h:
1399         (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
1400         (WebCore::JSEventTargetBase::put): Ditto.
1401         (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
1402         * bindings/js/JSEventTargetNode.cpp:
1403         (WebCore::JSEventTargetNode::put): Removed attributes argument.
1404         (WebCore::JSEventTargetNode::putValueProperty): Ditto.
1405         * bindings/js/JSEventTargetNode.h: Ditto.
1406         * bindings/js/JSHTMLAppletElementCustom.cpp:
1407         (WebCore::JSHTMLAppletElement::customPut): Ditto.
1408         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1409         (WebCore::JSHTMLEmbedElement::customPut): Ditto.
1410         * bindings/js/JSHTMLInputElementBase.cpp:
1411         (WebCore::JSHTMLInputElementBase::put): Ditto.
1412         (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
1413         * bindings/js/JSHTMLInputElementBase.h: Ditto.
1414         * bindings/js/JSHTMLObjectElementCustom.cpp:
1415         (WebCore::JSHTMLObjectElement::customPut): Ditto.
1416         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1417         (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
1418         * bindings/js/JSHTMLSelectElementCustom.cpp:
1419         (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
1420         * bindings/js/JSHistoryCustom.cpp:
1421         (WebCore::JSHistory::customPut): Ditto.
1422         * bindings/js/JSLocation.cpp:
1423         (WebCore::JSLocation::put): Ditto.
1424         * bindings/js/JSLocation.h: Ditto.
1425         * bindings/js/JSXMLHttpRequest.cpp:
1426         (WebCore::JSXMLHttpRequest::put): Ditto.
1427         (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
1428         * bindings/js/JSXMLHttpRequest.h: Ditto.
1429
1430         * bindings/js/kjs_dom.cpp:
1431         (WebCore::getRuntimeObject): Changed return type to JSObject*.
1432         * bindings/js/kjs_dom.h: Ditto.
1433
1434         * bindings/js/kjs_events.cpp:
1435         (WebCore::JSClipboard::put): Removed attributes argument.
1436         (WebCore::JSClipboard::putValueProperty): Ditto.
1437         * bindings/js/kjs_events.h: Ditto.
1438
1439         * bindings/js/kjs_html.cpp:
1440         (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
1441         return a JSObject. Used early exit idiom.
1442         (WebCore::runtimeObjectPropertyGetter): Ditto.
1443         (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
1444         (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
1445         that we should put with the property syntax instead of canPut.
1446         (WebCore::runtimeObjectImplementsCall): Ditto.
1447         (WebCore::runtimeObjectCallAsFunction): Ditto.
1448         * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
1449
1450         * bindings/js/kjs_window.cpp:
1451         (KJS::Window::put): Removed attributes argument.
1452         * bindings/js/kjs_window.h: Ditto.
1453
1454         * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
1455         putValueProperty, customPut, and indexSetter.
1456
1457         * html/CanvasPixelArray.h:
1458         (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
1459         function. Before, the checking was done in the JavaScript bindings for set.
1460
1461 2008-02-23  Brent Fulgham  <bfulgham@gmail.com>
1462
1463         Reviewed by Adam and Darin.
1464
1465         http://bugs.webkit.org/show_bug.cgi?id=17442
1466         Correct the Windows Cairo implementation of GraphicsContext so
1467         that Windows 'WorldTransform' is kept in sync with the Cairo
1468         transormations.
1469
1470         Also corrects an uninitialized variable in the Cairo Windows
1471         image drag handler.
1472
1473         WARNING: NO TEST CASES ADDED OR CHANGED
1474
1475         * platform/graphics/cairo/GraphicsContextCairo.cpp:  Modify
1476           methods to call GraphicsContextPlatformPrivate calls, just
1477           as is done for the CoreGraphics version.  These calls are
1478           nop's for everything but Windows.
1479         (WebCore::GraphicsContext::savePlatformState):
1480         (WebCore::GraphicsContext::restorePlatformState):
1481         (WebCore::GraphicsContext::clip):
1482         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1483         (WebCore::GraphicsContext::translate):
1484         (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
1485         (WebCore::GraphicsContext::beginTransparencyLayer):
1486         (WebCore::GraphicsContext::endTransparencyLayer):
1487         (WebCore::GraphicsContext::rotate):
1488         (WebCore::GraphicsContext::scale):
1489         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1490         * platform/graphics/win/GraphicsContextCGWin.cpp:  Move common
1491           code for handling WorldTransform calls to parent class.
1492         * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add common
1493           code for handling WorldTransform calls.
1494           (WebCore::GraphicsContextPlatformPrivate::concatCTM):  Change
1495           implementation so that it only handles WorldTransform.  The
1496           Cairo update is done in GraphicsContextCairo.cpp
1497         * platform/graphics/win/GraphicsContextWin.cpp:  Call platform-private
1498           methods to keep WorldTransform in sync.
1499         (WebCore::GraphicsContextPlatformPrivate::save):
1500         (WebCore::GraphicsContextPlatformPrivate::restore):
1501         (WebCore::GraphicsContextPlatformPrivate::clip):
1502         (WebCore::GraphicsContextPlatformPrivate::scale):
1503         (WebCore::GraphicsContextPlatformPrivate::rotate):
1504         (WebCore::GraphicsContextPlatformPrivate::translate):
1505         * platform/win/DragImageCairoWin.cpp:
1506         (WebCore::createDragImageFromImage):  Correct uninitialized value
1507
1508 2008-02-23  Dan Bernstein  <mitz@apple.com>
1509
1510         Reviewed by Dave Hyatt.
1511
1512         - make non-autowrapping text clear floats
1513
1514         Test: fast/text/whitespace/nowrap-clear-float.html
1515
1516         * rendering/RenderBlock.cpp:
1517         (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
1518         this and changed to avoid comparing bottom to 0 in each iteration.
1519         (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
1520         * rendering/RenderBlock.h:
1521         * rendering/bidi.cpp:
1522         (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
1523         findNextLineBreak() and simplified.
1524         (WebCore::RenderBlock::findNextLineBreak): Changed to call
1525         fitBelowFloats(). Fixed the bug by trying to fit below floats in the
1526         case of non-wrapping text. Removed some redundancy.
1527
1528 2008-02-23  Sam Weinig  <sam@webkit.org>
1529
1530         Reviewed by Oliver Hunt.
1531
1532         Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
1533         Speed up DOM lists array subscription syntax by using the fast 
1534         getOwnPropertySlot and set paths
1535
1536         - 6x speed improvement on Oliver's ImageData put test.
1537
1538         * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
1539         and put when an indexGetter or indexSetter is used.  We can not use the fast
1540         path if an overridingNameGetter is used as there would be no way to override.
1541
1542 2008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
1543
1544         wx build fix after JSImageData.cpp was added.
1545
1546         * WebCoreSources.bkl:
1547
1548 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
1549
1550         Windows build fix - move ThreadCondition implementation from WebCore to WTF.
1551
1552         * WebCore.vcproj/WebCore.vcproj:
1553         * platform/win/ThreadConditionWin.cpp: Removed.
1554
1555 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
1556
1557         Reviewed by Darin.
1558
1559         Move basic threading support from WebCore to WTF.
1560
1561         One call that remains in WebCore is callOnMainThread(), and it has its own header now.
1562
1563         * ForwardingHeaders/wtf/Locker.h: Added.
1564         * ForwardingHeaders/wtf/MessageQueue.h: Added.
1565         * ForwardingHeaders/wtf/Threading.h: Added.
1566         * GNUmakefile.am:
1567         * WebCore.pro:
1568         * WebCore.vcproj/WebCore.vcproj:
1569         * WebCore.xcodeproj/project.pbxproj:
1570         * WebCoreSources.bkl:
1571         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1572         * dom/XMLTokenizer.cpp:
1573         * loader/icon/IconDatabase.cpp:
1574         (WebCore::iconDatabase):
1575         * loader/icon/IconDatabase.h:
1576         * platform/Locker.h: Removed.
1577         * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
1578         (WebCore::initializeThreadingAndMainThread):
1579         * platform/MessageQueue.h: Removed.
1580         * platform/SecurityOrigin.h:
1581         * platform/Threading.h: Removed.
1582         * platform/ThreadingNone.cpp: Removed.
1583         * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
1584         * platform/gtk/ThreadingGtk.cpp: Removed.
1585         * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
1586         * platform/mac/Threading.mm: Removed.
1587         * platform/pthreads: Removed.
1588         * platform/pthreads/ThreadingPthreads.cpp: Removed.
1589         * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
1590         * platform/qt/ThreadingQt.cpp: Removed.
1591         * platform/sql/SQLValue.h:
1592         * platform/sql/SQLiteAuthorizer.h:
1593         * platform/sql/SQLiteDatabase.h:
1594         * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
1595         (WebCore::initializeThreadingAndMainThread):
1596         * platform/win/MutexWin.cpp: Removed.
1597         * platform/win/ThreadingWin.cpp: Removed.
1598         * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
1599         * platform/wx/ThreadingWx.cpp: Removed.
1600         * storage/Database.cpp:
1601         (WebCore::Database::Database):
1602         * storage/Database.h:
1603         * storage/DatabaseTask.h:
1604         * storage/DatabaseThread.h:
1605         * storage/DatabaseTracker.cpp:
1606         * storage/OriginQuotaManager.h:
1607         * storage/SQLError.h:
1608         * storage/SQLResultSet.h:
1609         * storage/SQLStatement.h:
1610         * storage/SQLStatementCallback.h:
1611         * storage/SQLStatementErrorCallback.h:
1612         * storage/SQLTransaction.h:
1613         * storage/SQLTransactionCallback.h:
1614         * storage/SQLTransactionErrorCallback.h:
1615         * webcore-wx.bkl:
1616
1617 2008-02-23  David Kilzer  <ddkilzer@apple.com>
1618
1619         Please clarify licensing for some files
1620         <http://bugs.webkit.org/show_bug.cgi?id=14970>
1621
1622         Reviewed by Darin.
1623
1624         * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
1625         * bindings/objc/WebScriptObjectPrivate.h: Ditto.
1626         * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
1627
1628 2008-02-22  Justin Garcia  <justin.garcia@apple.com>
1629
1630         Reviewed by Anders Carlsson.
1631
1632         <rdar://problem/5714333> Add document.getSelection()
1633         
1634         Add a synonym for window.getSelection() that FF supports.  There were requests in
1635         this bugs dupes to also support the IE only document.selection, but IE's Selection
1636         object is too different than ours currently for that to be safe (specifically, we
1637         don't support enough of IE's TextRange methods on our DOM Range object yet). I
1638         filed <rdar://problem/5761233> to cover that.
1639
1640         * dom/Document.cpp:
1641         (WebCore::Document::getSelection): Added.
1642         * dom/Document.h:
1643         * dom/Document.idl: Ditto.  JS only since this is about web compatibility.
1644
1645 2008-02-22  Oliver Hunt  <oliver@apple.com>
1646
1647         WX build fixes
1648
1649         * WebCoreSources.bkl:
1650
1651 2008-02-22  Oliver Hunt  <oliver@apple.com>
1652
1653         Once more with the cairo/qt/wx build fixing
1654
1655         * platform/graphics/cairo/ImageBufferCairo.cpp:
1656         * platform/graphics/qt/ImageBufferQt.cpp:
1657         * platform/graphics/wx/ImageBufferWx.cpp:
1658
1659 2008-02-22  Mark Rowe  <mrowe@apple.com>
1660
1661         Windows build fix.  Add missing include of DeprecatedCString.h and sort existing includes.
1662
1663         * platform/win/PasteboardWin.cpp:
1664
1665 2008-02-22  Mark Rowe  <mrowe@apple.com>
1666
1667         Speculative Windows build fix.
1668
1669         * platform/win/ClipboardUtilitiesWin.cpp:  Add missing include of DeprecatedCString.h and sort existing includes.
1670         * platform/win/ClipboardWin.cpp:  Ditto.
1671
1672 2008-02-22  Oliver Hunt  <oliver@apple.com>
1673
1674         Build fix for windows, wx and qt
1675
1676         * html/CanvasPixelArray.h:
1677         (WebCore::CanvasPixelArray::set):
1678
1679 2008-02-22  Oliver Hunt  <oliver@apple.com>
1680
1681         Unbreak windows vcproj
1682
1683         * WebCore.vcproj/WebCore.vcproj:
1684
1685 2008-02-22  Oliver Hunt  <oliver@apple.com>
1686
1687         Reviewed by Sam W.
1688
1689         Support Canvas.getImageData and Canvas.createImageData
1690         
1691         This patch adds support for all the pixel reading portions
1692         of the HTML5 Canvas spec.  There are two new types ImageData
1693         and CanvasPixelArray which are used to provide the HTML5
1694         ImageData object, and the required semantics for assignment
1695         to the ImageData data array.
1696         
1697         We only implement the CG version of ImageBuffer::getImageData,
1698         but the logic is null safe, so this will not introduce any
1699         crashes into other platforms, unfortunately it will result in
1700         JS Object detection "lying" on non-CG platforms.
1701
1702         Tests: fast/canvas/canvas-ImageData-behaviour.html
1703                fast/canvas/canvas-getImageData.html
1704
1705         * DerivedSources.make:
1706         * GNUmakefile.am:
1707         * WebCore.pro:
1708         * WebCore.vcproj/WebCore.vcproj:
1709         * WebCore.xcodeproj/project.pbxproj:
1710         * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
1711         (WebCore::JSCanvasPixelArray::indexGetter):
1712         (WebCore::JSCanvasPixelArray::indexSetter):
1713         (WebCore::toJS):
1714         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1715         * bindings/scripts/CodeGeneratorJS.pm:
1716         * html/CanvasPixelArray.cpp: Added.
1717         (WebCore::CanvasPixelArray::create):
1718         * html/CanvasPixelArray.h: Added.
1719         (WebCore::CanvasPixelArray::data):
1720         (WebCore::CanvasPixelArray::length):
1721         (WebCore::CanvasPixelArray::set):
1722         (WebCore::CanvasPixelArray::get):
1723         * html/CanvasPixelArray.idl: Added.
1724         * html/CanvasRenderingContext2D.cpp:
1725         (WebCore::createEmptyImageData):
1726         (WebCore::CanvasRenderingContext2D::createImageData):
1727         (WebCore::CanvasRenderingContext2D::getImageData):
1728         * html/CanvasRenderingContext2D.h:
1729         * html/CanvasRenderingContext2D.idl:
1730         * html/HTMLCanvasElement.cpp:
1731         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
1732         (WebCore::HTMLCanvasElement::createImageBuffer):
1733         * html/HTMLCanvasElement.h:
1734         * html/ImageData.cpp: Added.
1735         (WebCore::ImageData::create):
1736         (WebCore::ImageData::ImageData):
1737         * html/ImageData.h: Added.
1738         (WebCore::ImageData::width):
1739         (WebCore::ImageData::height):
1740         (WebCore::ImageData::data):
1741         * html/ImageData.idl: Added.
1742         * platform/graphics/ImageBuffer.h:
1743         * platform/graphics/cairo/ImageBufferCairo.cpp:
1744         (WebCore::ImageBuffer::getImageData):
1745         * platform/graphics/cg/ImageBufferCG.cpp:
1746         (WebCore::ImageBuffer::getImageData):
1747         * platform/graphics/qt/ImageBufferQt.cpp:
1748         (WebCore::ImageBuffer::getImageData):
1749         * platform/graphics/wx/ImageBufferWx.cpp:
1750         (WebCore::ImageBuffer::getImageData):
1751
1752 2008-02-22  Sam Weinig  <sam@webkit.org>
1753
1754         Rubber-stamped by Adam Roben.
1755
1756         Rid the project of the Devil known as DeprecatedString!
1757
1758         * GNUmakefile.am:
1759         * WebCore.base.exp:
1760         * WebCore.pro:
1761         * WebCore.vcproj/WebCore.vcproj:
1762         * WebCore.xcodeproj/project.pbxproj:
1763         * WebCoreSources.bkl:
1764         * dom/Node.h:
1765         * html/HTMLFormElement.cpp:
1766         * platform/DeprecatedString.cpp: Removed.
1767         * platform/DeprecatedString.h: Removed.
1768         * platform/graphics/qt/IconQt.cpp:
1769         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1770         * platform/gtk/CookieJarGtk.cpp:
1771         * platform/gtk/CursorGtk.cpp:
1772         * platform/gtk/KeyEventGtk.cpp:
1773         * platform/mac/DeprecatedStringMac.mm: Removed.
1774         * platform/network/qt/ResourceHandleQt.cpp:
1775         * platform/network/win/CookieJarWin.cpp:
1776         (WebCore::cookies):
1777         * platform/qt/ClipboardQt.cpp:
1778         * platform/qt/CookieJarQt.cpp:
1779         * platform/qt/CursorQt.cpp:
1780         * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
1781         * platform/text/AtomicString.cpp:
1782         * platform/text/AtomicString.h:
1783         * platform/text/PlatformString.h:
1784         * platform/text/String.cpp:
1785         * platform/text/StringImpl.cpp:
1786         * platform/text/qt/StringQt.cpp:
1787         (WebCore::String::String):
1788         * platform/text/wx/StringWx.cpp:
1789         * platform/win/BString.cpp:
1790         * platform/win/BString.h:
1791         * platform/win/PasteboardWin.cpp:
1792
1793 2008-02-22  Sam Weinig  <sam@webkit.org>
1794
1795         Reviewed by Geoff Garen.
1796
1797         - Remove use of DeprecatedString in CSSStyleSelector.
1798
1799         * css/CSSStyleSelector.cpp:
1800         (WebCore::findHash): Removed.  Use find instead.
1801         (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
1802         (WebCore::findSlashSlash): Ditto.
1803         (WebCore::findSlashDotSlash): Ditto.
1804         (WebCore::containsColonSlashSlash): Ditto.
1805         (WebCore::cleanPath): Change to operate on a String.
1806         (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
1807
1808 2008-02-22  Geoffrey Garen  <ggaren@apple.com>
1809
1810         Reviewed by Sam Weinig.
1811         
1812         Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
1813         associated objects @ www.viamichelin.it, which was probably an underlying
1814         cause of <rdar://problem/5744037> Gmail out of memory (17455)
1815         
1816         If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
1817         the XMLHttpRequest but think we hadn't, therefore never
1818         calling deref() / gcUnprotect().
1819         
1820         This could happen at gmail.com, since gmail.com attempts to send
1821         XMLHttpRequests from unload handlers in order to gather usage statistics.
1822         (According to comments in the code, SubresourceLoader::create returns
1823         NULL when called from an unload handler.)
1824
1825         The solution is to ref() / gcProtect() only if SubresourceLoader::create
1826         doesn't return NULL. This make sense, since we only need to protect the
1827         request as long as it has an outstanding network transaction.
1828         
1829         * xml/XMLHttpRequest.cpp:
1830         (WebCore::XMLHttpRequest::XMLHttpRequest):
1831         (WebCore::XMLHttpRequest::send):
1832
1833 2008-02-22  Darin Adler  <darin@apple.com>
1834
1835         Reviewed, tweaked and landed by Sam.
1836
1837         - Make RegularExpression operate on Strings instead of DeprecatedStrings.
1838
1839         * dom/DOMImplementation.cpp:
1840         (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
1841         to build up the RegularExpression.
1842         * page/Frame.cpp:
1843         (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
1844         (WebCore::Frame::searchForLabelsAboveCell): Ditto.
1845         (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
1846         (WebCore::Frame::matchLabelsAgainstElement): Ditto.
1847         * page/Frame.h:
1848         * page/mac/FrameMac.mm:
1849         (WebCore::regExpForLabels): Ditto.
1850         (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
1851         (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
1852         (WebCore::Frame::matchLabelsAgainstElement): Ditto.
1853
1854         * platform/text/RegularExpression.cpp:
1855         (WebCore::RegularExpression::Private::Private):
1856         (WebCore::RegularExpression::Private::compile):
1857         (WebCore::RegularExpression::RegularExpression):
1858         (WebCore::RegularExpression::operator=):
1859         (WebCore::RegularExpression::pattern):
1860         (WebCore::RegularExpression::match):
1861         (WebCore::RegularExpression::search):
1862         (WebCore::RegularExpression::searchRev):
1863         (WebCore::replace): Added.
1864         * platform/text/RegularExpression.h:
1865         Change functions to take Strings as input instead of DeprecatedStrings and
1866         reduce the complexity of the class by removing unneeded globbing support.
1867
1868 2008-02-22  Jon Honeycutt  <jhoneycutt@apple.com>
1869
1870         Reviewed by Anders.
1871
1872         <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
1873         during stress test (after only 5 min) - null dereference
1874
1875         Full-frame plug-ins create PluginStream objects without loaders, as the
1876         PluginView receives the loading callbacks. We were trying to call
1877         setDefersLoading on these null pointers.
1878
1879         * plugins/PluginStream.cpp:
1880         (WebCore::PluginStream::startStream): Add null check.
1881         (WebCore::PluginStream::destroyStream): Same.
1882         (WebCore::PluginStream::deliverData): Same.
1883
1884 2008-02-22  Darin Adler  <darin@apple.com>
1885
1886         Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
1887
1888         - Remove uses of DeprecatedString in Windows plugin code.
1889
1890         * plugins/win/PluginPackageWin.cpp:
1891         (WebCore::getVersionInfo): Cleanup formatting.
1892         (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
1893         (WebCore::PluginPackage::storeFileVersion): Move casts.
1894         (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
1895         use of Vectors.
1896         (WebCore::PluginPackage::load): Fix whitespace.
1897         (WebCore::PluginPackage::hash): Make the hashCodes const
1898         * plugins/win/PluginViewWin.cpp:
1899         (WebCore::makeURL): Use String instead of DeprecatedString.
1900         (WebCore::parseRFC822HeaderFields): Ditto.
1901         (WebCore::PluginView::handlePost): Ditto.
1902         (WebCore::PluginView::status): Ditto.
1903
1904 2008-02-22  Darin Adler  <darin@apple.com>
1905
1906         Reviewed, tweaked and landed by Sam.
1907
1908         - Don't use DeprecatedString in HTMLTokenizer.
1909
1910         * html/HTMLTokenizer.cpp:
1911         (WebCore::HTMLTokenizer::finish):
1912         * platform/text/PlatformString.h:
1913         (WebCore::find):
1914
1915 2008-02-21  Sam Weinig  <sam@webkit.org>
1916
1917         Reviewed by Anders Carlsson.
1918
1919         Fix for <rdar://problem/5757946>
1920
1921         - Parse URLs before checking whether they are javascript: urls
1922           (which require security checks).
1923
1924         * bindings/js/JSAttrCustom.cpp:
1925         (WebCore::JSAttr::setValue):
1926         * bindings/js/JSElementCustom.cpp:
1927         (WebCore::allowSettingSrcToJavascriptURL):
1928         * bindings/js/JSHTMLFrameElementCustom.cpp:
1929         (WebCore::allowSettingJavascriptURL):
1930         * bindings/js/JSHTMLIFrameElementCustom.cpp:
1931         (WebCore::JSHTMLIFrameElement::setSrc):
1932
1933 2008-02-21  Ada Chan  <adachan@apple.com>
1934
1935         <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
1936         We could get a buffer overrun in DeprecatedCString::find() if the end of the
1937         string matches a beginning portion of the substring, for example, if string is
1938         "a" but the substring is "ab".
1939         The code as is also will not match things correctly under certain situations
1940         since the inner while loop increments the index. For example, we wouldn't find
1941         a match if the string is "aab..." and the substring is "ab".  Changed the 
1942         inner while loop to increment a temporary index into str.
1943         
1944         Test: fast/loader/charset-parse.html
1945
1946         Reviewed by Dan Berstein.
1947
1948         * platform/DeprecatedCString.cpp:
1949         (WebCore::DeprecatedCString::find):
1950
1951 2008-02-21  David Hyatt  <hyatt@apple.com>
1952
1953         Fix for bug 17301.  CSS media queries need to use the correct viewport
1954         when contained in documents inside iframes (rather than always using the
1955         top-level document's viewport).  CSS media queries based on the viewport
1956         also needed to be dynamic and update as you resize the window (this is
1957         a HOT feature). :)
1958
1959         This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
1960
1961         Reviewed by olliej
1962
1963         Added fast/media/viewport-media-query.html
1964
1965         * css/CSSStyleSelector.cpp:
1966         (WebCore::CSSStyleSelector::CSSStyleSelector):
1967         (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
1968         (WebCore::CSSStyleSelector::affectedByViewportChange):
1969         * css/CSSStyleSelector.h:
1970         (WebCore::MediaQueryResult::MediaQueryResult):
1971         * css/MediaQueryEvaluator.cpp:
1972         (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
1973         (WebCore::MediaQueryEvaluator):
1974         (WebCore::MediaQueryEvaluator::eval):
1975         (WebCore::colorMediaFeatureEval):
1976         (WebCore::monochromeMediaFeatureEval):
1977         (WebCore::device_aspect_ratioMediaFeatureEval):
1978         (WebCore::device_pixel_ratioMediaFeatureEval):
1979         (WebCore::gridMediaFeatureEval):
1980         (WebCore::device_heightMediaFeatureEval):
1981         (WebCore::device_widthMediaFeatureEval):
1982         (WebCore::heightMediaFeatureEval):
1983         (WebCore::widthMediaFeatureEval):
1984         (WebCore::min_colorMediaFeatureEval):
1985         (WebCore::max_colorMediaFeatureEval):
1986         (WebCore::min_monochromeMediaFeatureEval):
1987         (WebCore::max_monochromeMediaFeatureEval):
1988         (WebCore::min_device_aspect_ratioMediaFeatureEval):
1989         (WebCore::max_device_aspect_ratioMediaFeatureEval):
1990         (WebCore::min_device_pixel_ratioMediaFeatureEval):
1991         (WebCore::max_device_pixel_ratioMediaFeatureEval):
1992         (WebCore::min_heightMediaFeatureEval):
1993         (WebCore::max_heightMediaFeatureEval):
1994         (WebCore::min_widthMediaFeatureEval):
1995         (WebCore::max_widthMediaFeatureEval):
1996         (WebCore::min_device_heightMediaFeatureEval):
1997         (WebCore::max_device_heightMediaFeatureEval):
1998         (WebCore::min_device_widthMediaFeatureEval):
1999         (WebCore::max_device_widthMediaFeatureEval):
2000         * css/MediaQueryEvaluator.h:
2001         * css/MediaQueryExp.cpp:
2002         (WebCore::MediaQueryExp::~MediaQueryExp):
2003         * css/MediaQueryExp.h:
2004         (WebCore::MediaQueryExp::value):
2005         (WebCore::MediaQueryExp::isViewportDependent):
2006         * html/HTMLMediaElement.cpp:
2007         (WebCore::HTMLMediaElement::pickMedia):
2008         * page/FrameView.cpp:
2009         (WebCore::FrameView::layout):
2010
2011 2008-02-21  Anders Carlsson  <andersca@apple.com>
2012
2013         Reviewed by Sam.
2014
2015         Make more classes start out with a refcount of 1.
2016
2017         * dom/QualifiedName.cpp:
2018         (WebCore::QNameComponentsTranslator::translate):
2019         (WebCore::QualifiedName::QualifiedName):
2020         * dom/QualifiedName.h:
2021         (WebCore::QualifiedName::QualifiedNameImpl::create):
2022         (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
2023         * history/BackForwardList.cpp:
2024         (WebCore::BackForwardList::BackForwardList):
2025         * history/BackForwardList.h:
2026         (WebCore::BackForwardList::create):
2027         * page/Page.cpp:
2028         (WebCore::Page::Page):
2029         * platform/text/CString.cpp:
2030         (WebCore::CString::init):
2031         (WebCore::CString::newUninitialized):
2032         (WebCore::CString::copyBufferIfNeeded):
2033         * platform/text/CString.h:
2034         (WebCore::CStringBuffer::create):
2035         (WebCore::CStringBuffer::CStringBuffer):
2036
2037 2008-02-21  Kevin Ollivier  <kevino@theolliviers.com>
2038
2039         wx build fix for the domString() -> string() rename in r30443.
2040
2041         * platform/graphics/wx/FontPlatformDataWx.cpp:
2042         (WebCore::FontPlatformData::FontPlatformData):
2043
2044 2008-02-21  Antti Koivisto  <antti@apple.com>
2045
2046         Reviewed by Sam Weinig.
2047
2048         <rdar://problem/5753789>
2049         REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
2050         
2051         Ensure all versions of allowsAccessFrom are inlined to single functions. 
2052         This is a 2% win in browser hosted Sunspider. 
2053
2054         * bindings/js/kjs_window.cpp:
2055         (KJS::Window::allowsAccessFrom):
2056         (KJS::Window::allowsAccessFromPrivate):
2057         * bindings/js/kjs_window.h:
2058
2059 2008-02-21  Dan Bernstein  <mitz@apple.com>
2060
2061         Reviewed by Sam Weinig.
2062
2063         - minor cleanup
2064
2065         * rendering/bidi.cpp:
2066         (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
2067         true for RenderLineBreak.
2068         (WebCore::bidiFirst): Ditto.
2069         (WebCore::shouldSkipWhitespaceAfterStartObject):
2070         (WebCore::RenderBlock::findNextLineBreak):
2071
2072 2008-02-21  Geoffrey Garen  <ggaren@apple.com>
2073
2074         Reviewed by David Harrison.
2075         
2076         Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at 
2077         WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
2078
2079         Test: fast/dom/script-element-without-frame-crash.html
2080
2081         * html/HTMLTokenizer.cpp:
2082         (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
2083         accidentally removed in r30325.
2084
2085 2008-02-21  Rodney Dawes  <dobey@wayofthemonkey.com>
2086
2087         GTK+ build fix. s/domString()/string()/
2088
2089         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2090         (FontPlatformData::FontPlatformData):
2091
2092 2008-02-20  Dan Bernstein  <mitz@apple.com>
2093
2094         Reviewed by Dave Hyatt.
2095
2096         - fix http://bugs.webkit.org/show_bug.cgi?id=17465
2097           REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
2098
2099         Test: fast/tokenizer/doctype-search-reset.html
2100
2101         * html/HTMLTokenizer.cpp:
2102         (WebCore::HTMLTokenizer::parseTag):
2103
2104 2008-02-20  Dan Bernstein  <mitz@apple.com>
2105
2106         Reviewed by Dave Hyatt.
2107
2108         - fix http://bugs.webkit.org/show_bug.cgi?id=17464
2109           REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
2110
2111         Test: fast/text/wbr-in-pre-crash.html
2112
2113         * rendering/bidi.cpp:
2114         (WebCore::RenderBlock::findNextLineBreak):
2115
2116 2008-02-20  Oliver Hunt  <oliver@apple.com>
2117
2118         Reviewed by Hyatt.
2119
2120         Bug 17303: Canvas crash in ImageBuffer
2121
2122         We handle a null GraphicsContext everywhere, but we weren't checking for 
2123         a null ImageBuffer, which is what will result in a null GraphicsContext in
2124         the first place.
2125
2126         Test: fast/canvas/access-zero-sized-canvas.html
2127
2128         * html/HTMLCanvasElement.cpp:
2129
2130 2008-02-20  David Hyatt  <hyatt@apple.com>
2131
2132         Fix the layout test failure that never should have passed in the first
2133         place by making changes to media lists actually result in the recomputation
2134         of the style selector.  Now it passes for the right reasons and not because
2135         of dumb luck.
2136
2137         Reviewed by Sam Weinig
2138
2139         * css/MediaList.cpp:
2140         (WebCore::MediaList::deleteMedium):
2141         (WebCore::MediaList::setMediaText):
2142         (WebCore::MediaList::appendMedium):
2143         (WebCore::MediaList::notifyChanged):
2144         * css/MediaList.h:
2145         * dom/Document.cpp:
2146         (WebCore::Document::attach):
2147
2148 2008-02-20  Darin Adler  <darin@apple.com>
2149
2150         Reviewed, tweaked and landed by Sam.
2151
2152         - make markup functions not use DeprecatedString.
2153
2154         * editing/markup.cpp:
2155         (WebCore::append): Added.
2156         (WebCore::escapeContentText): Build up string using a Vector.
2157         (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
2158
2159 2008-02-20  Darin Adler  <darin@apple.com>
2160
2161         Reviewed, tweaked and landed by Sam.
2162
2163         - make TextIterator use a Vector instead of a DeprecatedString.
2164
2165         * editing/TextIterator.cpp:
2166         (WebCore::CharacterIterator::string): Build up the String using a
2167         Vector.
2168         (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
2169         (WebCore::WordAwareIterator::length): Ditto.
2170         (WebCore::WordAwareIterator::characters): Ditto.
2171         * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
2172         of DeprecatedString.
2173
2174 2008-02-20  Darin Adler  <darin@apple.com>
2175
2176         Reviewed, tweaked and landed by Sam.
2177
2178         - make HTMLInterchange return a String instead of a DeprecatedString
2179
2180         * editing/HTMLInterchange.cpp:
2181         (WebCore::): Return a String from convertedSpaceString.
2182         (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
2183         a DeprecatedString to build up the return String.
2184         * editing/HTMLInterchange.h:
2185
2186 2008-02-20  Eric Seidel  <eric@webkit.org>
2187
2188         Reviewed by Oliver.
2189
2190         Remove m_drawingContext and change m_data to m_imageBuffer
2191
2192         * html/HTMLCanvasElement.cpp:
2193         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2194         (WebCore::HTMLCanvasElement::reset):
2195         (WebCore::HTMLCanvasElement::paint):
2196         (WebCore::HTMLCanvasElement::createImageBuffer):
2197         (WebCore::HTMLCanvasElement::buffer):
2198         (WebCore::HTMLCanvasElement::createPlatformImage):
2199         * html/HTMLCanvasElement.h:
2200
2201 2008-02-20  Anders Carlsson  <andersca@apple.com>
2202
2203         Reviewed by Sam.
2204
2205         Rename AtomicString::domString() to AtomicString::string().
2206         
2207         * css/CSSComputedStyleDeclaration.cpp:
2208         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2209         * css/CSSFontSelector.cpp:
2210         (WebCore::CSSFontSelector::getFontData):
2211         * dom/Attr.cpp:
2212         (WebCore::Attr::createTextChild):
2213         * dom/Comment.cpp:
2214         (WebCore::Comment::nodeName):
2215         * dom/Document.cpp:
2216         (WebCore::Document::recalcStyleSelector):
2217         (WebCore::Document::setHTMLWindowEventListener):
2218         (WebCore::Document::formElementsState):
2219         * dom/StyledElement.cpp:
2220         (WebCore::StyledElement::parseMappedAttribute):
2221         * dom/Text.cpp:
2222         (WebCore::Text::nodeName):
2223         * editing/SelectionController.cpp:
2224         (WebCore::SelectionController::debugRenderer):
2225         * html/HTMLCollection.cpp:
2226         (WebCore::HTMLCollection::checkForNameMatch):
2227         * html/HTMLElement.cpp:
2228         (WebCore::HTMLElement::nodeName):
2229         (WebCore::HTMLElement::setHTMLEventListener):
2230         * html/HTMLFormCollection.cpp:
2231         (WebCore::HTMLFormCollection::getNamedFormItem):
2232         * html/HTMLImageElement.cpp:
2233         (WebCore::HTMLImageElement::parseMappedAttribute):
2234         (WebCore::HTMLImageElement::isURLAttribute):
2235         * html/HTMLLinkElement.cpp:
2236         (WebCore::HTMLLinkElement::parseMappedAttribute):
2237         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2238         * html/HTMLObjectElement.cpp:
2239         (WebCore::HTMLObjectElement::isURLAttribute):
2240         (WebCore::HTMLObjectElement::containsJavaApplet):
2241         * html/HTMLParamElement.cpp:
2242         (WebCore::HTMLParamElement::isURLAttribute):
2243         * html/HTMLParser.cpp:
2244         (WebCore::HTMLParser::handleIsindex):
2245         * html/HTMLScriptElement.cpp:
2246         (WebCore::HTMLScriptElement::insertedIntoDocument):
2247         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
2248         * html/HTMLStyleElement.cpp:
2249         (WebCore::HTMLStyleElement::parseMappedAttribute):
2250         * html/HTMLTokenizer.cpp:
2251         (WebCore::HTMLTokenizer::parseTag):
2252         * html/HTMLViewSourceDocument.cpp:
2253         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2254         * loader/FrameLoader.cpp:
2255         (WebCore::FrameLoader::saveDocumentState):
2256         * page/FrameTree.cpp:
2257         (WebCore::FrameTree::uniqueChildName):
2258         * platform/text/AtomicString.h:
2259         (WebCore::AtomicString::string):
2260         (WebCore::AtomicString::contains):
2261         (WebCore::AtomicString::find):
2262         (WebCore::AtomicString::startsWith):
2263         (WebCore::AtomicString::endsWith):
2264         * rendering/RenderPartObject.cpp:
2265         (WebCore::RenderPartObject::updateWidget):
2266         * svg/SVGElement.cpp:
2267         (WebCore::SVGElement::addSVGEventListener):
2268         * svg/SVGSVGElement.cpp:
2269         (WebCore::SVGSVGElement::addSVGWindowEventListener):
2270         * xml/XPathFunctions.cpp:
2271         (WebCore::XPath::FunLocalName::evaluate):
2272         (WebCore::XPath::FunNamespaceURI::evaluate):
2273         (WebCore::XPath::FunName::evaluate):
2274
2275 2008-02-20  Brent Fulgham  <bfulgham@gmail.com>
2276
2277         Reviewed by Dan.
2278
2279         http://bugs.webkit.org/show_bug.cgi?id=17336
2280         Provide implementations for Windows (Cairo) build of WebKit that
2281         handles font formatting.
2282         - Split font implementation files to allow maximal code sharing
2283           between CG and Cairo back-ends. 
2284
2285         * WebCore.vcproj/WebCore.vcproj:
2286         * platform/graphics/SimpleFontData.h:   Add signatures for private win
2287           initialization functions.
2288         * platform/graphics/win/FontCacheWin.cpp:
2289         (WebCore::FontCache::platformInit):
2290         (WebCore::FontCache::createFontPlatformData):
2291         * platform/graphics/win/FontCairoWin.cpp: Removed.  Universal version
2292           is now part of platform/graphics/cairo.
2293         * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
2294         (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
2295         (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
2296         (WebCore::releaseData):
2297         (WebCore::createFontCustomPlatformData):
2298         * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
2299         (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
2300         * platform/graphics/win/FontPlatformData.h:
2301         (WebCore::FontPlatformData::FontPlatformData):
2302         (WebCore::FontPlatformData::fontFace):
2303         (WebCore::FontPlatformData::scaledFont):
2304         (WebCore::FontPlatformData::operator==):
2305         * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
2306         (WebCore::FontPlatformData::platformDataInit):
2307         * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
2308         (WebCore::FontPlatformData::platformDataInit):
2309         (WebCore::FontPlatformData::FontPlatformData):
2310         (WebCore::FontPlatformData::setFont):
2311         * platform/graphics/win/FontPlatformDataWin.cpp:  Moved CG-specific
2312           code to FontPlatformDataCG.cpp.
2313         (WebCore::FontPlatformData::FontPlatformData):
2314         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2315         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
2316         (WebCore::GlyphPage::fill):
2317         * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed.  Replaced
2318           with CG- and Cairo-specific versions.
2319         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2320         (WebCore::SimpleFontData::platformInit):
2321         (WebCore::SimpleFontData::platformDestroy):
2322         (WebCore::SimpleFontData::platformWidthForGlyph):
2323         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2324         (WebCore::SimpleFontData::platformInit):
2325         (WebCore::SimpleFontData::platformDestroy):
2326         (WebCore::SimpleFontData::platformWidthForGlyph):
2327         (WebCore::SimpleFontData::setFont):
2328         * platform/graphics/win/SimpleFontDataWin.cpp:
2329         (WebCore::SimpleFontData::initGDIFont):
2330         (WebCore::SimpleFontData::platformCommonDestroy):
2331         (WebCore::SimpleFontData::widthForGDIGlyph):
2332
2333 2008-02-20  Darin Adler  <darin@apple.com>
2334
2335         Reviewed by Sam.
2336
2337         * dom/Node.h: Took out unneeded forward declaration of TextStream.
2338
2339 2008-02-20  Darin Adler  <darin@apple.com>
2340
2341         Reviewed by Sam.
2342
2343         * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
2344
2345 2008-02-20  David Hyatt  <hyatt@apple.com>
2346
2347         Fix for bug 16760, incorrect <object> MIME type handling and fallback
2348         handling.
2349
2350         Reviewed by darin
2351
2352         * html/HTMLImageLoader.cpp:
2353         (WebCore::HTMLImageLoader::notifyFinished):
2354         If the image had an error, make sure to do <object> fallback.
2355
2356         * html/HTMLObjectElement.cpp:
2357         (WebCore::HTMLObjectElement::renderFallbackContent):
2358         Before doing fallback check if there is a MIME type mismatch between
2359         an image type and a non-image type.  If so, detach and re-attach after
2360         storing the correct MIME type.
2361
2362         * loader/loader.cpp:
2363         (WebCore::Loader::didReceiveData):
2364         Consider it an error when a 404 is encountered on a CachedResource load.
2365
2366 2008-02-20  Anders Carlsson  <andersca@apple.com>
2367
2368         Reviewed by Sam.
2369
2370         StringImpl constructors used by AtomicString should start with a refcount of 1.
2371         
2372         * platform/text/AtomicString.cpp:
2373         (WebCore::AtomicString::add):
2374         * platform/text/AtomicString.h:
2375         * platform/text/StringImpl.cpp:
2376         (WebCore::StringImpl::StringImpl):
2377
2378 2008-02-20  Darin Adler  <darin@apple.com>
2379
2380         * bindings/js/kjs_navigator.cpp:
2381         (WebCore::needsYouTubeQuirk): Tweak comments.
2382
2383 2008-02-20  Anders Carlsson  <andersca@apple.com>
2384
2385         Reviewed by Darin.
2386
2387         Change all refcounted classes in page/ to start with a refcount of 1.
2388
2389         * page/BarInfo.cpp:
2390         (WebCore::BarInfo::BarInfo):
2391         * page/BarInfo.h:
2392         (WebCore::BarInfo::create):
2393         * page/Console.cpp:
2394         (WebCore::Console::Console):
2395         * page/Console.h:
2396         (WebCore::Console::create):
2397         * page/DOMSelection.cpp:
2398         (WebCore::DOMSelection::DOMSelection):
2399         * page/DOMSelection.h:
2400         (WebCore::DOMSelection::create):
2401         * page/DOMWindow.cpp:
2402         (WebCore::DOMWindow::DOMWindow):
2403         (WebCore::DOMWindow::screen):
2404         (WebCore::DOMWindow::history):
2405         (WebCore::DOMWindow::locationbar):
2406         (WebCore::DOMWindow::menubar):
2407         (WebCore::DOMWindow::personalbar):
2408         (WebCore::DOMWindow::scrollbars):
2409         (WebCore::DOMWindow::statusbar):
2410         (WebCore::DOMWindow::toolbar):
2411         (WebCore::DOMWindow::console):
2412         (WebCore::DOMWindow::getSelection):
2413         * page/DOMWindow.h:
2414         (WebCore::DOMWindow::create):
2415         * page/Frame.cpp:
2416         (WebCore::Frame::domWindow):
2417         * page/History.cpp:
2418         (WebCore::History::History):
2419         * page/History.h:
2420         (WebCore::History::create):
2421         * page/InspectorController.cpp:
2422         (WebCore::InspectorResource::create):
2423         (WebCore::InspectorResource::InspectorResource):
2424         (WebCore::InspectorDatabaseResource::create):
2425         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
2426         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2427         (WebCore::InspectorController::identifierForInitialRequest):
2428         (WebCore::InspectorController::didOpenDatabase):
2429         * page/Plugin.h:
2430         (WebCore::Plugin::create):
2431         (WebCore::Plugin::Plugin):
2432         * page/Screen.cpp:
2433         (WebCore::Screen::Screen):
2434         * page/Screen.h:
2435         (WebCore::Screen::create):
2436
2437 2008-02-20  Sam Weinig  <sam@webkit.org>
2438
2439         Reviewed by Darin and Geoff.
2440
2441         - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
2442
2443         * WebCore.base.exp: Updated.
2444
2445         * bindings/js/kjs_navigator.cpp:
2446         (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed.
2447         (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk
2448         return true, then return the empty string.
2449
2450         * page/Settings.cpp:
2451         (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false.
2452         (WebCore::Settings::setNeedsSiteSpecificQuirks): Added.
2453         * page/Settings.h: Added m_needsSiteSpecificQuirks.
2454         (WebCore::Settings::needsSiteSpecificQuirks): Added.
2455
2456 2008-02-20  David Hyatt  <hyatt@apple.com>
2457
2458         Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
2459
2460         Reviewed by Sam Weinig
2461
2462         Many tests added in fast/doctypes.
2463
2464         * dom/DOMImplementation.cpp:
2465         (WebCore::DOMImplementation::createDocument):
2466         (WebCore::DOMImplementation::createHTMLDocument):
2467         * dom/Document.cpp:
2468         (WebCore::Document::Document):
2469         (WebCore::Document::setDocType):
2470         (WebCore::Document::attach):
2471         (WebCore::Document::getImageMap):
2472         * dom/Document.h:
2473         (WebCore::Document::doctype):
2474         (WebCore::Document::):
2475         (WebCore::Document::determineParseMode):
2476         (WebCore::Document::setParseMode):
2477         (WebCore::Document::parseMode):
2478         (WebCore::Document::inCompatMode):
2479         (WebCore::Document::inAlmostStrictMode):
2480         (WebCore::Document::inStrictMode):
2481         * dom/DocumentType.cpp:
2482         (WebCore::DocumentType::cloneNode):
2483         (WebCore::DocumentType::insertedIntoDocument):
2484         (WebCore::DocumentType::removedFromDocument):
2485         * dom/DocumentType.h:
2486         * dom/Node.cpp:
2487         (WebCore::Node::childAllowed):
2488         * dom/StyledElement.cpp:
2489         (WebCore::StyledElement::attributeChanged):
2490         * dom/XMLTokenizer.cpp:
2491         (WebCore::XMLTokenizer::internalSubset):
2492         (WebCore::):
2493         * editing/markup.cpp:
2494         (WebCore::appendStartMarkup):
2495         * html/HTMLAppletElement.cpp:
2496         (WebCore::HTMLAppletElement::createRenderer):
2497         * html/HTMLDocument.cpp:
2498         (WebCore::HTMLDocument::HTMLDocument):
2499         (WebCore::HTMLDocument::childAllowed):
2500         (WebCore::HTMLDocument::determineParseMode):
2501         * html/HTMLDocument.h:
2502         * html/HTMLMapElement.cpp:
2503         (WebCore::HTMLMapElement::parseMappedAttribute):
2504         * html/HTMLParamElement.cpp:
2505         (WebCore::HTMLParamElement::parseMappedAttribute):
2506         * html/HTMLParser.cpp:
2507         (WebCore::HTMLParser::parseDoctypeToken):
2508         * html/HTMLParser.h:
2509         * html/HTMLTokenizer.cpp:
2510         (WebCore::HTMLTokenizer::reset):
2511         (WebCore::HTMLTokenizer::parseDoctype):
2512         (WebCore::HTMLTokenizer::parseTag):
2513         (WebCore::HTMLTokenizer::write):
2514         (WebCore::HTMLTokenizer::finish):
2515         (WebCore::HTMLTokenizer::processDoctypeToken):
2516         * html/HTMLTokenizer.h:
2517         (WebCore::):
2518         (WebCore::DoctypeToken::DoctypeToken):
2519         (WebCore::DoctypeToken::reset):
2520         (WebCore::DoctypeToken::state):
2521         (WebCore::DoctypeToken::setState):
2522         (WebCore::HTMLTokenizer::State::inDoctype):
2523         (WebCore::HTMLTokenizer::State::setInDoctype):
2524         (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
2525         (WebCore::HTMLTokenizer::State::):
2526         * html/HTMLViewSourceDocument.cpp:
2527         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2528         (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
2529         * html/HTMLViewSourceDocument.h:
2530         * loader/FrameLoader.cpp:
2531         (WebCore::FrameLoader::write):
2532         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2533         * page/Frame.cpp:
2534         (WebCore::Frame::documentTypeString):
2535         * page/inspector/utilities.js:
2536         * xml/XSLTProcessor.cpp:
2537         (WebCore::XSLTProcessor::createDocumentFromSource):
2538
2539 2008-02-20  Anders Carlsson  <andersca@apple.com>
2540
2541         Reviewed by Darin.
2542
2543         Change most SVG related classes to start out with a ref count of 1.
2544         
2545         * bindings/js/JSSVGPointListCustom.cpp:
2546         (WebCore::JSSVGPointList::initialize):
2547         (WebCore::JSSVGPointList::insertItemBefore):
2548         (WebCore::JSSVGPointList::replaceItem):
2549         (WebCore::JSSVGPointList::appendItem):
2550         * bindings/js/JSSVGTransformListCustom.cpp:
2551         (WebCore::JSSVGTransformList::initialize):
2552         (WebCore::JSSVGTransformList::insertItemBefore):
2553         (WebCore::JSSVGTransformList::replaceItem):
2554         (WebCore::JSSVGTransformList::appendItem):
2555         * rendering/SVGCharacterLayoutInfo.h:
2556         (WebCore::SVGCharOnPath::create):
2557         (WebCore::SVGCharOnPath::SVGCharOnPath):
2558         * rendering/SVGRootInlineBox.cpp:
2559         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2560         * svg/SVGAnimationElement.cpp:
2561         (WebCore::SVGAnimationElement::parseBeginOrEndValue):
2562         * svg/SVGClipPathElement.cpp:
2563         (WebCore::SVGClipPathElement::canvasResource):
2564         * svg/SVGElementInstance.cpp:
2565         (WebCore::SVGElementInstance::childNodes):
2566         * svg/SVGElementInstanceList.cpp:
2567         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
2568         * svg/SVGElementInstanceList.h:
2569         (WebCore::SVGElementInstanceList::create):
2570         * svg/SVGFitToViewBox.cpp:
2571         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
2572         * svg/SVGGradientElement.cpp:
2573         (WebCore::SVGGradientElement::SVGGradientElement):
2574         (WebCore::SVGGradientElement::canvasResource):
2575         * svg/SVGImageElement.cpp:
2576         (WebCore::SVGImageElement::SVGImageElement):
2577         * svg/SVGLengthList.h:
2578         (WebCore::SVGLengthList::create):
2579         * svg/SVGList.h:
2580         (WebCore::SVGList::SVGList):
2581         (WebCore::SVGPODListItem::create):
2582         (WebCore::SVGPODListItem::copy):
2583         (WebCore::SVGPODListItem::SVGPODListItem):
2584         (WebCore::SVGPODList::initialize):
2585         (WebCore::SVGPODList::insertItemBefore):
2586         (WebCore::SVGPODList::replaceItem):
2587         (WebCore::SVGPODList::appendItem):
2588         (WebCore::SVGPODList::SVGPODList):
2589         * svg/SVGMarkerElement.cpp:
2590         (WebCore::SVGMarkerElement::canvasResource):
2591         * svg/SVGMaskElement.cpp:
2592         (WebCore::SVGMaskElement::canvasResource):
2593         * svg/SVGNumberList.h:
2594         (WebCore::SVGNumberList::create):
2595         * svg/SVGPathElement.cpp:
2596         (WebCore::SVGPathElement::createSVGPathSegClosePath):
2597         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2598         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2599         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2600         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2601         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2602         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2603         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2604         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2605         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2606         (WebCore::SVGPathElement::createSVGPathSegArcRel):
2607         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2608         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2609         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2610         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2611         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2612         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2613         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2614         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2615         (WebCore::SVGPathElement::pathSegList):
2616         * svg/SVGPathElement.h:
2617         * svg/SVGPathSeg.h:
2618         (WebCore::SVGPathSeg::SVGPathSeg):
2619         * svg/SVGPathSegArc.h:
2620         (WebCore::SVGPathSegArcAbs::create):
2621         (WebCore::SVGPathSegArcRel::create):
2622         * svg/SVGPathSegClosePath.h:
2623         (WebCore::SVGPathSegClosePath::create):
2624         * svg/SVGPathSegCurvetoCubic.h:
2625         (WebCore::SVGPathSegCurvetoCubicAbs::create):
2626         (WebCore::SVGPathSegCurvetoCubicRel::create):
2627         * svg/SVGPathSegCurvetoCubicSmooth.h:
2628         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
2629         (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
2630         * svg/SVGPathSegCurvetoQuadratic.h:
2631         (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
2632         (WebCore::SVGPathSegCurvetoQuadraticRel::create):
2633         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
2634         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
2635         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
2636         * svg/SVGPathSegLineto.h:
2637         (WebCore::SVGPathSegLinetoAbs::create):
2638         (WebCore::SVGPathSegLinetoRel::create):
2639         * svg/SVGPathSegLinetoHorizontal.h:
2640         (WebCore::SVGPathSegLinetoHorizontalAbs::create):
2641         (WebCore::SVGPathSegLinetoHorizontalRel::create):
2642         * svg/SVGPathSegLinetoVertical.h:
2643         (WebCore::SVGPathSegLinetoVerticalAbs::create):
2644         (WebCore::SVGPathSegLinetoVerticalRel::create):
2645         * svg/SVGPathSegList.h:
2646         (WebCore::SVGPathSegList::create):
2647         * svg/SVGPathSegMoveto.h:
2648         (WebCore::SVGPathSegMovetoAbs::create):
2649         (WebCore::SVGPathSegMovetoRel::create):
2650         * svg/SVGPatternElement.cpp:
2651         (WebCore::SVGPatternElement::SVGPatternElement):
2652         (WebCore::SVGPatternElement::canvasResource):
2653         * svg/SVGPointList.h:
2654         (WebCore::SVGPointList::create):
2655         * svg/SVGPolyElement.cpp:
2656         (WebCore::SVGPolyElement::points):
2657         * svg/SVGPreserveAspectRatio.cpp:
2658         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
2659         * svg/SVGPreserveAspectRatio.h:
2660         (WebCore::SVGPreserveAspectRatio::create):
2661         * svg/SVGRenderingIntent.h:
2662         (WebCore::SVGRenderingIntent::SVGRenderingIntent):
2663         * svg/SVGStringList.h:
2664         (WebCore::SVGStringList::create):
2665         * svg/SVGStyledTransformableElement.cpp:
2666         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
2667         * svg/SVGTests.cpp:
2668         (WebCore::SVGTests::requiredFeatures):
2669         (WebCore::SVGTests::requiredExtensions):
2670         (WebCore::SVGTests::systemLanguage):
2671         * svg/SVGTextElement.cpp:
2672         (WebCore::SVGTextElement::SVGTextElement):
2673         * svg/SVGTextPositioningElement.cpp:
2674         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
2675         * svg/SVGTransformList.h:
2676         (WebCore::SVGTransformList::create):
2677         * svg/SVGUnitTypes.h:
2678         (WebCore::SVGUnitTypes::SVGUnitTypes):
2679         * svg/SVGViewElement.cpp:
2680         (WebCore::SVGViewElement::viewTarget):
2681         * svg/SVGViewSpec.cpp:
2682         (WebCore::SVGViewSpec::SVGViewSpec):
2683         * svg/graphics/SVGPaintServer.cpp:
2684         (WebCore::SVGPaintServer::sharedSolidPaintServer):
2685         * svg/graphics/SVGPaintServer.h:
2686         * svg/graphics/SVGPaintServerGradient.h:
2687         (WebCore::SVGPaintServerGradient::SharedStopCache::create):
2688         (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
2689         * svg/graphics/SVGPaintServerLinearGradient.h:
2690         (WebCore::SVGPaintServerLinearGradient::create):
2691         * svg/graphics/SVGPaintServerPattern.h:
2692         (WebCore::SVGPaintServerPattern::create):
2693         * svg/graphics/SVGPaintServerRadialGradient.h:
2694         (WebCore::SVGPaintServerRadialGradient::create):
2695         * svg/graphics/SVGPaintServerSolid.h:
2696         (WebCore::SVGPaintServerSolid::create):
2697         * svg/graphics/SVGResource.cpp:
2698         (WebCore::SVGResource::SVGResource):
2699         * svg/graphics/SVGResource.h:
2700         * svg/graphics/SVGResourceClipper.h:
2701         (WebCore::SVGResourceClipper::create):
2702         * svg/graphics/SVGResourceMarker.h:
2703         (WebCore::SVGResourceMarker::create):
2704         * svg/graphics/SVGResourceMasker.h:
2705         (WebCore::SVGResourceMasker::create):
2706         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2707         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2708
2709 2008-02-20  Darin Adler  <darin@apple.com>
2710
2711         Reviewed by Sam.
2712
2713         - make conversion from CSS ParseString to String and AtomicString
2714           automatic and remove all the explicit calls to do the conversion
2715
2716         - fix CSS parsing to do fewer allocations, mostly by using the
2717           equalIgnoringCase function in CSSParser
2718
2719         * css/CSSGrammar.y: Take out all the explicit atomicString and
2720         domString calls now that ParseString knows how to convert itself.
2721
2722         * css/CSSParser.cpp:
2723         (WebCore::equal): Added.
2724         (WebCore::equalIgnoringCase): Allow non-lettters.
2725         (WebCore::ParseString::lower): Used charactersAreAllASCII.
2726         (WebCore::unitFromString): Use equal.
2727         (WebCore::CSSParser::parseValue): Removed unneeded call to domString.
2728         (WebCore::CSSParser::parseContent): Use equalIgnoringCase.
2729         (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString.
2730         (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase.
2731         (WebCore::CSSParser::parseDashboardRegions): More of the same.
2732         (WebCore::CSSParser::parseCounterContent): Ditto.
2733         (WebCore::CSSParser::parseShape): Use equalIgnoringCase.
2734         (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString.
2735         (WebCore::CSSParser::parseFontFaceSrc): More.
2736         (WebCore::CSSParser::parseFontFaceUnicodeRange): More.
2737         (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now
2738         handles the case folding.
2739         (WebCore::CSSParser::parseColorFromValue): More.
2740         (WebCore::CSSParser::parseBorderImage): More.
2741         (WebCore::CSSParser::parseCounter): More.
2742         (WebCore::TransformOperationInfo::TransformOperationInfo): More.
2743         (WebCore::CSSParser::parseTransform): More.
2744         (WebCore::CSSParser::createCharsetRule): More.
2745         (WebCore::CSSParser::createImportRule): More.
2746
2747         * css/CSSParser.h: Removed domString and atomicString functions.
2748         (WebCore::ParseString::operator String): Added. Allows conversion to String
2749         without an explicit function call.
2750         (WebCore::ParseString::operator AtomicString): Ditto.
2751
2752         * css/MediaQueryExp.cpp:
2753         (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString.
2754         * css/SVGCSSParser.cpp:
2755         (WebCore::CSSParser::parseSVGValue): Removed calls to domString.
2756
2757         * platform/graphics/Color.cpp:
2758         (WebCore::findNamedColor): Call toASCIILower on each character as we copy
2759         it into the 8-bit character buffer to make the operation fold case.
2760
2761 2008-02-20  Justin Garcia  <justin.garcia@apple.com>
2762
2763         Reviewed by Darin Adler.
2764
2765         <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
2766
2767         * editing/DeleteSelectionCommand.cpp:
2768         (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here
2769         is where there are no special elements.  Avoid creating VisiblePositions in
2770         that case.  Additionally, this change postpones the more expensive creation
2771         of an upstream VisiblePosition until the last possible moment.
2772         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
2773         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an 
2774         early return for a common case: deleting characters that are all inside the 
2775         same text node. In that case the style at the start of the selection will 
2776         not change during the delete, so there is no need to save/recompute it.
2777         (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return
2778         before VisiblePosition creation if the ends of the selection aren't enclosed
2779         by an anchor.
2780         * editing/TypingCommand.cpp:
2781         (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell
2782         checking isn't enabled.
2783
2784 2008-02-20  Alexey Proskuryakov  <ap@webkit.org>
2785
2786         Incorporates some improvements made by Dan Bernstein.
2787
2788         Reviewed by Darin.
2789
2790         http://bugs.webkit.org/show_bug.cgi?id=17106
2791         <rdar://problem/5750722> Debug build ASSERTs on page load
2792
2793         Test: fast/encoding/GBK/close-gbk-converter.html
2794
2795         * platform/text/TextCodecICU.cpp:
2796         (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there
2797         are only four values.
2798         (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt
2799         getting an escape character if it's not UCNV_UNASSIGNED.
2800         (WebCore::gbkCallbackSubstitute): Ditto.
2801
2802 2008-02-20  Alexey Proskuryakov  <ap@webkit.org>
2803
2804         Build fix.
2805
2806         * xml/XMLHttpRequest.cpp:
2807         (WebCore::isSafeRequestHeader):
2808         (WebCore::XMLHttpRequest::setRequestHeader):
2809
2810 2008-02-20  Alexey Proskuryakov  <ap@webkit.org>
2811
2812         Reviewed by Darin.
2813
2814         <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest
2815
2816         Cannot be tested in DRT.
2817
2818         * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load
2819         local files can also set any headers.
2820
2821 2008-02-19  Darin Adler  <darin@apple.com>
2822
2823         Reviewed by Sam.
2824
2825         - removed use of DeprecatedString for font family names
2826
2827         * css/CSSFontSelector.cpp:
2828         (WebCore::CSSFontSelector::addFontFaceRule): Update for name change.
2829         * css/CSSParser.cpp:
2830         (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated
2831         function and String rather than DeprecatedString.
2832         * css/CSSStyleSelector.cpp:
2833         (WebCore::CSSStyleSelector::applyProperty): Updated for name change.
2834         * css/FontFamilyValue.cpp:
2835         (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular
2836         expression with code that does the same thing more efficiently.
2837         (WebCore::FontFamilyValue::appendSpaceSeparated): Added.
2838         (WebCore::FontFamilyValue::cssText): Updated for name change.
2839         * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName
2840         to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType
2841         and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can
2842         be private instead of public.
2843
2844 2008-02-19  Darin Adler  <darin@apple.com>
2845
2846         - fix build when SVG is not enabled
2847
2848         * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h".
2849
2850 2008-02-19  Anders Carlsson  <andersca@apple.com>
2851
2852         Reviewed by Darin.
2853
2854         Change all classes in xml/ to start out with a ref count of 1.
2855         
2856         * bindings/js/JSCustomXPathNSResolver.h:
2857         * bindings/js/JSXMLHttpRequest.cpp:
2858         (WebCore::JSXMLHttpRequest::JSXMLHttpRequest):
2859         * bindings/js/JSXSLTProcessor.cpp:
2860         (WebCore::JSXSLTProcessor::JSXSLTProcessor):
2861         * bindings/objc/DOMCustomXPathNSResolver.h:
2862         (WebCore::DOMCustomXPathNSResolver::create):
2863         * bindings/scripts/CodeGeneratorJS.pm:
2864         * bindings/scripts/CodeGeneratorObjC.pm:
2865         * dom/Document.cpp:
2866         (WebCore::Document::applyXSLTransform):
2867         (WebCore::Document::createExpression):
2868         (WebCore::Document::createNSResolver):
2869         (WebCore::Document::evaluate):
2870         * xml/DOMParser.h:
2871         (WebCore::DOMParser::create):
2872         (WebCore::DOMParser::DOMParser):
2873         * xml/NativeXPathNSResolver.h:
2874         (WebCore::NativeXPathNSResolver::create):
2875         * xml/XMLHttpRequest.cpp:
2876         (WebCore::XMLHttpRequest::XMLHttpRequest):
2877         * xml/XMLHttpRequest.h:
2878         (WebCore::XMLHttpRequest::create):
2879         * xml/XMLSerializer.h:
2880         (WebCore::XMLSerializer::create):
2881         (WebCore::XMLSerializer::XMLSerializer):
2882         * xml/XPathEvaluator.cpp:
2883         (WebCore::XPathEvaluator::createNSResolver):
2884         * xml/XPathEvaluator.h:
2885         (WebCore::XPathEvaluator::create):
2886         (WebCore::XPathEvaluator::XPathEvaluator):
2887         * xml/XPathExpression.cpp:
2888         (WebCore::XPathExpression::createExpression):
2889         (WebCore::XPathExpression::evaluate):
2890         * xml/XPathExpression.h:
2891         (WebCore::XPathExpression::create):
2892         (WebCore::XPathExpression::XPathExpression):
2893         * xml/XPathNSResolver.h:
2894         * xml/XPathResult.cpp:
2895         (WebCore::XPathResult::XPathResult):
2896         * xml/XPathResult.h:
2897         (WebCore::XPathResult::create):
2898         * xml/XPathValue.cpp:
2899         (WebCore::XPath::Value::modifiableNodeSet):
2900         * xml/XPathValue.h:
2901         (WebCore::XPath::ValueData::create):
2902         (WebCore::XPath::ValueData::ValueData):
2903         (WebCore::XPath::Value::Value):
2904         * xml/XSLTProcessor.h:
2905         (WebCore::XSLTProcessor::create):
2906         (WebCore::XSLTProcessor::XSLTProcessor):
2907
2908 2008-02-19  Darin Adler  <darin@apple.com>
2909
2910         Reviewed by Sam.
2911
2912         - Trimmed down TextStream and weaned it from DeprecatedString.
2913
2914         * page/mac/WebCoreFrameBridge.mm:
2915         (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]):
2916         Removed now-unneeded call to getNSString.
2917
2918         * platform/text/TextStream.cpp: Removed unused functions.
2919         Use snprintf instead of sprintf, for better security.
2920         (WebCore::TextStream::release): Added.
2921         * platform/text/TextStream.h: Removed lots of unneeded stuff.
2922
2923         * rendering/RenderTreeAsText.cpp:
2924         (WebCore::externalRepresentation): Changed to use String instead
2925         of DeprecatedString.
2926         * rendering/RenderTreeAsText.h: Ditto.
2927
2928         * rendering/SVGRenderTreeAsText.cpp:
2929         (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl.
2930         (WebCore::write): Ditto.
2931         (WebCore::writeRenderResources): Ditto.
2932
2933 2008-02-19  Justin Garcia  <justin.garcia@apple.com>
2934
2935         Reviewed by Darin Adler.
2936
2937         <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
2938         
2939         This brings performance on the phone back to old levels.  Andre and I are doing
2940         some formal testing to see exactly where we stand.
2941
2942         * dom/Position.cpp:
2943         (WebCore::enclosingBlockIgnoringEditability): Added.  This is enclosingBlock
2944         without the expensive editability checks. upstream and downstream can avoid 
2945         those because they do their own editability checking.
2946         (WebCore::Position::upstream):
2947         (WebCore::Position::downstream):
2948
2949 2008-02-19  Chris Fleizach  <cfleizach@apple.com>
2950
2951         Reviewed by Darin.
2952
2953         <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute
2954
2955         * bridge/mac/WebCoreAXObject.mm:
2956         (-[WebCoreAXObject linkedUIElement]):
2957         Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM).
2958         
2959         (-[WebCoreAXObject accessibilityAttributeNames]):
2960         (-[WebCoreAXObject accessibilityAttributeValue:]):
2961         Support NSAccessibilityLinkedUIElementsAttribute.
2962
2963 2008-02-19  Darin Adler  <darin@apple.com>
2964
2965         Reviewed by Sam.
2966
2967         - Removed old debugging aids, Node::dump, RenderObject::dump, and
2968           RenderObject::information, that used DeprecatedString.
2969
2970         * dom/CharacterData.cpp: Removed override of Node::dump.
2971         * dom/CharacterData.h: Ditto.
2972         * dom/Element.cpp: Ditto.
2973         * dom/Element.h: Ditto.
2974         * dom/EventTargetNode.cpp: Ditto.
2975         * dom/EventTargetNode.h: Ditto.
2976         * dom/Node.cpp: Removed Node::dump.
2977         * dom/Node.h: Ditto.
2978
2979         * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
2980         * rendering/RenderBlock.h: Ditto.
2981         * rendering/RenderFrameSet.cpp: Ditto.
2982         * rendering/RenderFrameSet.h: Ditto.
2983         * rendering/RenderObject.cpp: Removed RenderObject::dump and
2984         RenderObject::information.
2985         * rendering/RenderObject.h: Ditto.
2986         * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
2987         * rendering/RenderTable.h: Ditto.
2988         * rendering/RenderTableCell.cpp: Ditto.
2989         * rendering/RenderTableCell.h: Ditto.
2990         * rendering/RenderTableCol.cpp: Ditto.
2991         * rendering/RenderTableCol.h: Ditto.
2992         * rendering/RenderTableSection.cpp: Ditto.
2993         * rendering/RenderTableSection.h: Ditto.
2994
2995         * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
2996         and added forward declarations as appropriate.
2997
2998         * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
2999         * svg/graphics/SVGResourceClipper.cpp: And here.
3000         * svg/graphics/SVGResourceFilter.cpp: Ditto.
3001         * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
3002         * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
3003         * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
3004         * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
3005         * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
3006         * svg/graphics/filters/SVGFEImage.cpp: Ditto.
3007         * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
3008         * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
3009         * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
3010         * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
3011         * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
3012         * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
3013
3014 2008-02-19  Beth Dakin  <bdakin@apple.com>
3015
3016         Reviewed by Sam.
3017
3018         Fix for <rdar://problem/5729674> Seed: Crash in 
3019         RenderButton::setStyle at http://www.dinorpg.com
3020
3021         Inputs should not honor first-letter.
3022
3023         * rendering/RenderBlock.cpp:
3024         (WebCore::RenderBlock::updateFirstLetter):
3025
3026 2008-02-19  Dan Bernstein  <mitz@apple.com>
3027
3028         Reviewed by Darin Adler.
3029
3030         - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
3031
3032         Test: fast/text/wbr-styled.html
3033
3034         Changed RenderWordBreak to inherit from RenderText instead of
3035         RenderInline.
3036
3037         * rendering/RenderBlock.cpp:
3038         (WebCore::RenderBlock::calcInlinePrefWidths):
3039         * rendering/RenderFlow.h:
3040         * rendering/RenderText.cpp:
3041         (WebCore::RenderText::renderName):
3042         (WebCore::RenderText::isTextFragment):
3043         (WebCore::RenderText::isWordBreak):
3044         * rendering/RenderText.h:
3045         * rendering/RenderWordBreak.cpp:
3046         (WebCore::RenderWordBreak::RenderWordBreak):
3047         * rendering/RenderWordBreak.h:
3048         * rendering/bidi.cpp:
3049         (WebCore::RenderBlock::findNextLineBreak):
3050
3051 2008-02-19  Anders Carlsson  <andersca@apple.com>
3052
3053         Reviewed by Darin.
3054
3055         * WebCore.base.exp:
3056         * loader/mac/LoaderNSURLExtras.h:
3057         * loader/mac/LoaderNSURLExtras.m:
3058         Move unused functions to WebKit (where they are used)
3059         
3060         (vectorContainsString):
3061         Use const references.
3062         
3063         * platform/mac/WebCoreSystemInterface.h:
3064         * platform/mac/WebCoreSystemInterface.mm:
3065         Remove wkNSURLProtocolClassForReqest.
3066         
3067 2008-02-19  Justin Garcia  <justin.garcia@apple.com>
3068
3069         Reviewed by Darin Adler.
3070
3071         <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore 
3072         
3073         These changes bring deleting performance back to old levels on the phone
3074         except for deleting the first space to the right of a word, which we are
3075         still working on.
3076
3077         * dom/Position.cpp:
3078         (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining
3079         if we have left the original enclosing block or entered a new one, and avoid
3080         rootEditableElement for determining if we have changed editability.  These
3081         operations are expensive.
3082         (WebCore::Position::downstream): Ditto.
3083
3084 2008-02-19  Darin Adler  <darin@apple.com>
3085
3086         Rubber stamped by Anders.
3087
3088         - removed explicit initialization to 1 for RefCounted; that's now the default
3089
3090         * loader/ResourceLoader.cpp:
3091         (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer.
3092         * platform/network/ResourceHandle.cpp:
3093         (WebCore::ResourceHandle::ResourceHandle): Ditto.
3094         * platform/text/StringImpl.cpp:
3095         (WebCore::StringImpl::StringImpl): Ditto.
3096
3097 2008-02-18  Anders Carlsson  <andersca@apple.com>
3098
3099         Reviewed by Darin.
3100
3101         Make ResourceLoader and ResourceHandle start out with a refcount of 1.
3102
3103         * loader/MainResourceLoader.cpp:
3104         (WebCore::MainResourceLoader::create):
3105         * loader/NetscapePlugInStreamLoader.cpp:
3106         (WebCore::NetscapePlugInStreamLoader::create):
3107         * loader/ResourceLoader.cpp:
3108         (WebCore::ResourceLoader::ResourceLoader):
3109         * loader/SubresourceLoader.cpp:
3110         (WebCore::SubresourceLoader::create):
3111         * platform/network/ResourceHandle.cpp:
3112         (WebCore::ResourceHandle::ResourceHandle):
3113         (WebCore::ResourceHandle::create):
3114
3115 2008-02-19  Alp Toker  <alp@atoker.com>
3116
3117         Reviewed by Mark Rowe.
3118
3119         http://bugs.webkit.org/show_bug.cgi?id=16863
3120         [GTK] tab focusing doesn't work
3121
3122         GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
3123         the meta key state.
3124
3125         Use GDK_META_MASK where available, otherwise do not support the meta
3126         key. This matches the behaviour of other applications.
3127
3128         Also add a comment noting that the platform event constructors need to
3129         be kept in sync (it's not obvious that there are multiple places that
3130         check the key state).
3131
3132         * platform/gtk/KeyEventGtk.cpp:
3133         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3134         * platform/gtk/MouseEventGtk.cpp:
3135         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3136         * platform/gtk/WheelEventGtk.cpp:
3137         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3138
3139 2008-02-18  Brady Eidson  <beidson@apple.com>
3140
3141         Reviewed by Sam Weinig's white rhino tusk stamp
3142
3143         SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase
3144
3145         * platform/sql/SQLiteTransaction.cpp:
3146         (WebCore::SQLiteTransaction::stop):
3147
3148 2008-02-18  Brady Eidson  <beidson@apple.com>
3149
3150         Reviewed by Darin
3151
3152         Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released
3153
3154         Test: platform/mac/plugins/webScriptObject-exception-deadlock.html
3155
3156         * bindings/objc/WebScriptObject.mm:
3157         (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key];    // defaults to throwing an exception` 
3158           says it all - it throws an exception.  This method also happens to hold the JSLock.  Problematically, when the exeception
3159           is thrown and the method exited, the JSLock is never released.  Fix that without otherwise changing behavior by holding the 
3160           JSLock in two individual scopes - Right before the exception and right after.  
3161
3162 2008-02-18  Darin Adler  <darin@apple.com>
3163
3164         Reviewed by Sam.
3165
3166         - reduce use of DeprecatedString and memory allocations in processing of CSS
3167         - remove unnecessary double -> float -> double trip in the CSS parser
3168         - cleaned up names and structure in CSS grammar
3169
3170         * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp
3171         instead, and they now work on ParseString and String objects and don't require the caller
3172         to put the string into a char*. Gave members of the %union more sensible names, removed
3173         duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving
3174         it commented out.
3175         * css/CSSParser.cpp:
3176         (WebCore::equalIgnoringCase): Added.
3177         (WebCore::hasPrefix): Added.
3178         (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID,
3179         which obviates the need to call lower() and utf8() or to allocate memory at all. Also
3180         used equalIgnoringCase rather than putting the value into a String just to compare it.
3181         (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change
3182         along with the CSSGrammar.y change, removes the double -> float -> double round trip, and
3183         affects the result of one layout test.
3184         (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but
3185         without allocating any memory.
3186         (WebCore::cssValueKeywordID): Ditto.
3187         * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in
3188         CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions.
3189
3190         * css/CSSStyleDeclaration.cpp:
3191         (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID.
3192         (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto.
3193         (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto.
3194         (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto.
3195         (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto.
3196         (WebCore::CSSStyleDeclaration::setProperty): Ditto.
3197         (WebCore::CSSStyleDeclaration::removeProperty): Ditto.
3198         (WebCore::CSSStyleDeclaration::isPropertyName): Ditto.
3199         * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate,
3200         and the getPropertyID function declaration along with its associated apology comment.
3201
3202         * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an
3203         enumeration, like properties, since you rarely have any reason to handle all values, but
3204         often have a reason to handle all properties). Renamed the constant for the number of CSS
3205         value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength.
3206
3207         * platform/text/String.cpp:
3208         (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer
3209         rather than a CString.
3210
3211 2008-02-18  Dan Bernstein  <mitz@apple.com>
3212
3213         Reviewed by Dave Hyatt.
3214
3215         - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms
3216
3217         Test: fast/css/font-face-multiple-remote-sources.html
3218
3219         * css/CSSFontFace.cpp:
3220         (WebCore::CSSFontFace::fontLoaded):
3221         * css/CSSSegmentedFontFace.cpp:
3222         (WebCore::CSSSegmentedFontFace::fontLoaded):
3223
3224 2008-02-18  Darin Adler  <darin@apple.com>
3225
3226         Reviewed by Sam.
3227
3228         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3229         (WebCore::hasCSSPropertyNamePrefix): Added.
3230         (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster
3231         by using a Vector<UChar> and eliminating all the string operations.
3232
3233 2008-02-18  Stephanie Lewis  <slewis@apple.com>
3234
3235         Reviewed by Adam.
3236
3237         Remove workaround for <rdar://problem/5695848>.
3238         
3239         * platform/network/cf/ResourceResponseCFNet.cpp:
3240         (WebCore::ResourceResponse::doUpdateResourceResponse):
3241
3242 2008-02-18  Samuel Weinig  <sam@webkit.org>
3243
3244         Reviewed by Geoff Garen.
3245
3246         Fix for http://bugs.webkit.org/show_bug.cgi?id=17419
3247         Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode
3248
3249         * bindings/js/kjs_proxy.cpp:
3250         (WebCore::KJSProxy::initScript):
3251
3252 2008-02-18  Alp Toker  <alp@atoker.com>
3253
3254         Reviewed by Mark Rowe.
3255
3256         http://bugs.webkit.org/show_bug.cgi?id=17381
3257         [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2)
3258
3259         This patch resolves the regression for the GTK+ port.
3260
3261         * platform/network/curl/ResourceHandleManager.cpp:
3262         (WebCore::parseDataUrl):
3263
3264 2008-02-18  Darin Adler  <darin@apple.com>
3265
3266         Reviewed by Sam.
3267
3268         * platform/network/win/ResourceHandleWin.cpp:
3269         (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString.
3270         (WebCore::ResourceHandle::start): Ditto.
3271
3272 2008-02-18  Darin Adler  <darin@apple.com>
3273
3274         Reviewed by Sam.
3275
3276         * platform/network/win/CookieJarWin.cpp:
3277         (WebCore::setCookies): Use String instead of DeprecatedString.
3278         (WebCore::cookies): Ditto.
3279
3280 2008-02-18  Darin Adler  <darin@apple.com>
3281
3282         Reviewed by Sam.
3283
3284         - removed use of DeprecatedString in the Color class
3285
3286         * platform/graphics/Color.cpp:
3287         (WebCore::Color::parseHexColor): Streamlined logic a bit with early returns.
3288         Used toASCIIHexValue a character at a time rather than using toIntStrict
3289         in base 16 mode.
3290         (WebCore::findNamedColor): Added. Uses a fixed-size char buffer to look up
3291         a color using the gperf-generated findColor function. Saves a memory allocation
3292         vs. the old version that called DeprecatedString::latin1().
3293         (WebCore::Color::setNamedColor): Changed to use findNamedColor.
3294
3295 2008-02-18  Darin Adler  <darin@apple.com>
3296
3297         Reviewed by Sam.
3298
3299         * editing/htmlediting.cpp:
3300         (WebCore::stringWithRebalancedWhitespace): Changed to use String instead of
3301         DeprecatedString.
3302
3303 2008-02-18  Darin Adler  <darin@apple.com>
3304
3305         Reviewed by Sam.
3306
3307         * editing/SelectionController.cpp:
3308         (WebCore::SelectionController::debugRenderer): Changed to use String instead of
3309         DeprecatedString.
3310
3311 2008-02-18  Darin Adler  <darin@apple.com>
3312
3313         Reviewed and landed by Sam.
3314
3315         Remove DeprecatedStringList.
3316
3317         * GNUmakefile.am:
3318         * WebCore.pro:
3319         * WebCore.vcproj/WebCore.vcproj:
3320         * WebCore.xcodeproj/project.pbxproj:
3321         * WebCoreSources.bkl:
3322         * editing/markup.cpp:
3323         * platform/DeprecatedStringList.cpp: Removed.
3324         * platform/DeprecatedStringList.h: Removed.
3325         * platform/mac/DeprecatedStringListMac.mm: Removed.
3326
3327 2008-02-18  Darin Adler  <darin@apple.com>
3328
3329         Reviewed by Sam.
3330
3331         * css/CSSPrimitiveValueMappings.h: Add default cases to all the switch statements.
3332         This will ease the way some day if we decide to use an enum instead of int; otherwise
3333         we'll have a ton of "unhandled enum value" warnings here.
3334
3335 2008-02-18  Alp Toker  <alp@atoker.com>
3336
3337         Build fix for GTK+ < 2.10. Fall back to simple text clipboard copy
3338         with older GTK+ versions for now.
3339
3340         * platform/gtk/PasteboardGtk.cpp:
3341         (WebCore::Pasteboard::writeSelection):
3342
3343 2008-02-18  Darin Adler  <darin@apple.com>
3344
3345         Reviewed by Sam.
3346
3347         * WebCore.base.exp: Export a couple of WebCore::String functions we plan to use
3348         in the future in WebKit.
3349
3350 2008-02-18  Darin Adler  <darin@apple.com>
3351
3352         Reviewed by Sam.
3353
3354         * DerivedSources.make: Added the scripts to the ENABLE_SVG versions of the rules
3355         for CSSPropertyNames.h and CSSValueKeywords.h. Somehow that got left out, so the
3356         files would not be regenerated if the scripts were changed (but would if SVG was
3357         disabled).
3358
3359 2008-02-18  Alexey Proskuryakov  <ap@webkit.org>
3360
3361         Suggested by Darin.
3362
3363         * platform/KURL.h: (WebCore::KURL::operator const String&): Added, to avoid unexpected
3364         conversion via UString (as in bug 17418).
3365
3366 2008-02-18  Jon Honeycutt  <jhoneycutt@apple.com>
3367
3368         Reviewed by Darin.
3369
3370         <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort
3371         slow script Flash 9 dialog at http://www.kidzui.com
3372
3373         When navigating to a new page, we stop all outstanding PluginStreams.
3374         Flash hangs in the call to NPP_URLNotify. It eventually displays the
3375         "slow script" dialog, which relinquishes control to the system. While
3376         this dialog is running, the request we are in the process of cancelling
3377         completes, and we re-enter Flash to deliver the data. When the dialog
3378         is dismissed, the internal state of Flash has changed, and Flash
3379         crashes with a null dereference.
3380
3381         To work around this, we can defer loading before entering plug-in code,
3382         so that even if a plug-in yields to the system, we won't get callbacks
3383         while we're handling a callback.
3384
3385         * plugins/PluginStream.cpp:
3386         (WebCore::PluginStream::startStream): Defers loads while calling into
3387         plug-in.
3388         (WebCore::PluginStream::destroyStream): Same.
3389         (WebCore::PluginStream::deliverData): Same.
3390         (WebCore::PluginStream::didFail): Protect 'this' from deletion by
3391         destroyStream. Null out m_loader only after destroyStream returns.
3392         (WebCore::PluginStream::didFinishLoading): Same.
3393
3394 2008-02-18  Alexey Proskuryakov  <ap@webkit.org>
3395
3396         Reviewed by Darin.
3397
3398         http://bugs.webkit.org/show_bug.cgi?id=17418
3399         REGRESSION: Assertion failure dragging image (JSLock::lockCount() > 0)
3400
3401         * platform/win/ClipboardWin.cpp:
3402         (WebCore::ClipboardWin::declareAndWriteDragImage): Explicitly convert from KURL to String,
3403         as an implicit conversion uses UString and thus needs a JSLock.
3404
3405 2008-02-17  Sam Weinig  <sam@webkit.org>
3406
3407         Roll out r30360.
3408
3409         * loader/FrameLoader.cpp:
3410         (WebCore::FrameLoader::changeLocation):
3411
3412 2008-02-17  Sam Weinig  <sam@webkit.org>
3413
3414         Mac build fix.
3415
3416         * WebCore.xcodeproj/project.pbxproj:
3417
3418 2008-02-17  Alp Toker  <alp@atoker.com>
3419
3420         Attempt to fix the Wx build (has been broken all weekend).
3421
3422         Stub out some graphics functions.
3423
3424         * platform/graphics/wx/GraphicsContextWx.cpp:
3425         (WebCore::GraphicsContext::beginPath):
3426         (WebCore::GraphicsContext::addPath):
3427         * platform/graphics/wx/PathWx.cpp:
3428         (WebCore::Path::isEmpty):
3429
3430 2008-02-17  Julien Chaffraix  <julien.chaffraix@gmail.com>
3431
3432         Reviewed by Alexey Proskuryakov.
3433
3434         http://bugs.webkit.org/show_bug.cgi?id=16989
3435         bug 16989 : Add send() flag checks in XmlHttpRequest
3436
3437         Splitted XmlHttpRequest::abort into abort (called from JavaScript) and internalAbort that
3438         perform the cancellation and is called mainly from internal methods.
3439
3440         Tests: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
3441                http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html
3442                http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html
3443
3444         * xml/XMLHttpRequest.cpp:
3445         (WebCore::XMLHttpRequest::open): Now call internalAbort() and moved readyState change into method
3446         (WebCore::XMLHttpRequest::send): Added m_loader check
3447         (WebCore::XMLHttpRequest::abort): Now update readyState and clear the request headers as specified
3448         in the spec
3449
3450         (WebCore::XMLHttpRequest::internalAbort): Perform cancellation internal operations (no readyState update)
3451         (WebCore::XMLHttpRequest::setRequestHeader): Added m_loader check
3452
3453         (WebCore::XMLHttpRequest::processSyncLoadResults): Now call internalAbort() instead of abort()
3454         (WebCore::XMLHttpRequest::willSendRequest): Ditto
3455         (WebCore::XMLHttpRequest::cancelRequests): Ditto
3456         (WebCore::XMLHttpRequest::detachRequests): Ditto
3457         * xml/XMLHttpRequest.h: Added the private internalAbort method
3458
3459 2008-02-17  Sam Weinig  <sam@webkit.org>
3460
3461         Reviewed by Dan Bernstein.
3462
3463         Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
3464         document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
3465
3466         - Updated fast/events/event-instanceof.html to test document.createEvent("MessageEvent").
3467
3468         * DerivedSources.make:
3469         Generate Objective-C binding for DOMProgressEvent which was missing.
3470
3471         * WebCore.xcodeproj/project.pbxproj:
3472         Add missing DOMProgressEvent files to the project.
3473
3474         * bindings/js/JSEventCustom.cpp:
3475         (WebCore::toJS):
3476         Clean up and add case for SVGZoomEvent that was missing.
3477
3478         * bindings/objc/DOMEvents.mm:
3479         (+[DOMEvent _wrapEvent:WebCore::]):
3480         Clean up and add cases for ProgressEvent and MessageEvent that were missing.
3481
3482         * dom/Document.cpp:
3483         (WebCore::Document::createEvent):
3484         Add case for MessageEvent.
3485
3486 2008-02-17  Adam Treat  <treat@kde.org>
3487
3488         Reviewed by Eric Seidel.
3489
3490         http://bugs.webkit.org/show_bug.cgi?id=17008
3491         Meta refresh does not work with cache turned off
3492
3493         Fix for issue noticed on http://adserver.vivox.com/2
3494
3495         * loader/FrameLoader.cpp:
3496         (WebCore::FrameLoader::changeLocation):
3497
3498 2008-02-17  Alp Toker  <alp@atoker.com>
3499
3500         Reviewed by Sam Weinig.
3501
3502         Fix for change made in r30355. Issue noticed by İsmail Dönmez.
3503
3504         Verify SSL certs by default, but allow checks to be disabled with an
3505         environment variable (WEBKIT_IGNORE_SSL_ERRORS) for now.
3506
3507         * platform/network/curl/ResourceHandleManager.cpp:
3508         (WebCore::ResourceHandleManager::startJob):
3509
3510 2008-02-17  Bin Chen  <binary.chen@gmail.com>
3511
3512         Reviewed by Alp Toker.
3513
3514         http://bugs.webkit.org/show_bug.cgi?id=17404
3515         Bug 17404: curl certification problem
3516
3517         Disable SSL cert verification until we have a way of distributing
3518         certs and/or reporting SSL errors to the user.
3519
3520         * platform/network/curl/ResourceHandleManager.cpp:
3521         (WebCore::ResourceHandleManager::startJob):
3522
3523 2008-02-17  Alp Toker  <alp@atoker.com>
3524
3525         Reviewed by Mark Rowe.
3526
3527         DevHelp fails to load local files; URL truncated by one character.
3528
3529         Fix a file:// URL regression introduced in KURL.cpp r30243.
3530
3531         * platform/KURL.cpp:
3532         (WebCore::KURL::KURL):
3533
3534 2008-02-17  Dan Bernstein  <mitz@apple.com>
3535
3536         Reviewed by Darin Adler.
3537
3538         - fix http://bugs.webkit.org/show_bug.cgi?id=17033
3539           <rdar://problem/5709315> REGRESSION: Really long <option> causes unnecessary page scroll bars to accommodate content
3540
3541         Test: fast/forms/control-clip-overflow.html
3542
3543         * rendering/RenderFlow.cpp:
3544         (WebCore::RenderFlow::lowestPosition): Account for control clipping.
3545         (WebCore::RenderFlow::rightmostPosition): Ditto.
3546         (WebCore::RenderFlow::leftmostPosition): Ditto.
3547
3548 2008-02-16  Oliver Hunt  <oliver@apple.com>
3549
3550         Reviewed by Eric S.
3551
3552         Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
3553
3554         Use cross-platform code to determine the dirty rects for
3555         fill and stroke operations
3556
3557         * html/CanvasRenderingContext2D.cpp:
3558         (WebCore::CanvasRenderingContext2D::fill):
3559         (WebCore::CanvasRenderingContext2D::stroke):
3560           Added a FIXME as code inspection shows a trivial under-painting
3561           bug, although we currently ignore dirty rect tracking on canvas
3562           and repaint the whole thing anyway.
3563         (WebCore::CanvasRenderingContext2D::fillRect):
3564
3565 2008-02-16  Sam Weinig  <sam@webkit.org>
3566
3567         Reviewed by Darin Adler.
3568
3569         Take another step in the direction of getting rid of DeprecatedString
3570         by moving all the to{NumericType} off of it.
3571
3572         - Create free functions that take a UChar* buffer and length to do
3573           the string-to-number conversions.  This allows us to avoid two allocations
3574           if we don't already have a String and is consistent with the design we would
3575           like going forward.
3576         - Since the toInt (and family) functions on DeprecatedString were slightly
3577           different than the ones on String (they didn't allow trailing garbage),
3578           an extra set of 'Strict' toInt functions were added that have this behavior.
3579
3580         * platform/graphics/Color.cpp: