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