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