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