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