WebCore:
[WebKit-https.git] / WebCore / ChangeLog
1 2008-02-23  David Kilzer  <ddkilzer@apple.com>
2
3         Please clarify licensing for some files
4         <http://bugs.webkit.org/show_bug.cgi?id=14970>
5
6         Reviewed by Darin.
7
8         * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
9         * bindings/objc/WebScriptObjectPrivate.h: Ditto.
10         * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
11
12 2008-02-22  Justin Garcia  <justin.garcia@apple.com>
13
14         Reviewed by Anders Carlsson.
15
16         <rdar://problem/5714333> Add document.getSelection()
17         
18         Add a synonym for window.getSelection() that FF supports.  There were requests in
19         this bugs dupes to also support the IE only document.selection, but IE's Selection
20         object is too different than ours currently for that to be safe (specifically, we
21         don't support enough of IE's TextRange methods on our DOM Range object yet). I
22         filed <rdar://problem/5761233> to cover that.
23
24         * dom/Document.cpp:
25         (WebCore::Document::getSelection): Added.
26         * dom/Document.h:
27         * dom/Document.idl: Ditto.  JS only since this is about web compatibility.
28
29 2008-02-22  Oliver Hunt  <oliver@apple.com>
30
31         Reviewed by NOBODY (build fix).
32
33         WX build fixes
34
35         * WebCoreSources.bkl:
36
37 2008-02-22  Oliver Hunt  <oliver@apple.com>
38
39         Reviewed by NOBODY (build fix).
40
41         Once more with the cairo/qt/wx build fixing
42
43         * platform/graphics/cairo/ImageBufferCairo.cpp:
44         * platform/graphics/qt/ImageBufferQt.cpp:
45         * platform/graphics/wx/ImageBufferWx.cpp:
46
47 2008-02-22  Mark Rowe  <mrowe@apple.com>
48
49         Windows build fix.  Add missing include of DeprecatedCString.h and sort existing includes.
50
51         * platform/win/PasteboardWin.cpp:
52
53 2008-02-22  Mark Rowe  <mrowe@apple.com>
54
55         Speculative Windows build fix.
56
57         * platform/win/ClipboardUtilitiesWin.cpp:  Add missing include of DeprecatedCString.h and sort existing includes.
58         * platform/win/ClipboardWin.cpp:  Ditto.
59
60 2008-02-22  Oliver Hunt  <oliver@apple.com>
61
62         Reviewed by NOBODY (build fix).
63
64         Build fix for windows, wx and qt
65
66         * html/CanvasPixelArray.h:
67         (WebCore::CanvasPixelArray::set):
68
69 2008-02-22  Oliver Hunt  <oliver@apple.com>
70
71         Reviewed by NOBODY (build fix).
72
73         Unbreak windows vcproj
74
75         * WebCore.vcproj/WebCore.vcproj:
76
77 2008-02-22  Oliver Hunt  <oliver@apple.com>
78
79         Reviewed by Sam W.
80
81         Support Canvas.getImageData and Canvas.createImageData
82         
83         This patch adds support for all the pixel reading portions
84         of the HTML5 Canvas spec.  There are two new types ImageData
85         and CanvasPixelArray which are used to provide the HTML5
86         ImageData object, and the required semantics for assignment
87         to the ImageData data array.
88         
89         We only implement the CG version of ImageBuffer::getImageData,
90         but the logic is null safe, so this will not introduce any
91         crashes into other platforms, unfortunately it will result in
92         JS Object detection "lying" on non-CG platforms.
93
94         Tests: fast/canvas/canvas-ImageData-behaviour.html
95                fast/canvas/canvas-getImageData.html
96
97         * DerivedSources.make:
98         * GNUmakefile.am:
99         * WebCore.pro:
100         * WebCore.vcproj/WebCore.vcproj:
101         * WebCore.xcodeproj/project.pbxproj:
102         * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
103         (WebCore::JSCanvasPixelArray::indexGetter):
104         (WebCore::JSCanvasPixelArray::indexSetter):
105         (WebCore::toJS):
106         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
107         * bindings/scripts/CodeGeneratorJS.pm:
108         * html/CanvasPixelArray.cpp: Added.
109         (WebCore::CanvasPixelArray::create):
110         * html/CanvasPixelArray.h: Added.
111         (WebCore::CanvasPixelArray::data):
112         (WebCore::CanvasPixelArray::length):
113         (WebCore::CanvasPixelArray::set):
114         (WebCore::CanvasPixelArray::get):
115         * html/CanvasPixelArray.idl: Added.
116         * html/CanvasRenderingContext2D.cpp:
117         (WebCore::createEmptyImageData):
118         (WebCore::CanvasRenderingContext2D::createImageData):
119         (WebCore::CanvasRenderingContext2D::getImageData):
120         * html/CanvasRenderingContext2D.h:
121         * html/CanvasRenderingContext2D.idl:
122         * html/HTMLCanvasElement.cpp:
123         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
124         (WebCore::HTMLCanvasElement::createImageBuffer):
125         * html/HTMLCanvasElement.h:
126         * html/ImageData.cpp: Added.
127         (WebCore::ImageData::create):
128         (WebCore::ImageData::ImageData):
129         * html/ImageData.h: Added.
130         (WebCore::ImageData::width):
131         (WebCore::ImageData::height):
132         (WebCore::ImageData::data):
133         * html/ImageData.idl: Added.
134         * platform/graphics/ImageBuffer.h:
135         * platform/graphics/cairo/ImageBufferCairo.cpp:
136         (WebCore::ImageBuffer::getImageData):
137         * platform/graphics/cg/ImageBufferCG.cpp:
138         (WebCore::ImageBuffer::getImageData):
139         * platform/graphics/qt/ImageBufferQt.cpp:
140         (WebCore::ImageBuffer::getImageData):
141         * platform/graphics/wx/ImageBufferWx.cpp:
142         (WebCore::ImageBuffer::getImageData):
143
144 2008-02-22  Sam Weinig  <sam@webkit.org>
145
146         Rubber-stamped by Adam Roben.
147
148         Rid the project of the Devil known as DeprecatedString!
149
150         * GNUmakefile.am:
151         * WebCore.base.exp:
152         * WebCore.pro:
153         * WebCore.vcproj/WebCore.vcproj:
154         * WebCore.xcodeproj/project.pbxproj:
155         * WebCoreSources.bkl:
156         * dom/Node.h:
157         * html/HTMLFormElement.cpp:
158         * platform/DeprecatedString.cpp: Removed.
159         * platform/DeprecatedString.h: Removed.
160         * platform/graphics/qt/IconQt.cpp:
161         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
162         * platform/gtk/CookieJarGtk.cpp:
163         * platform/gtk/CursorGtk.cpp:
164         * platform/gtk/KeyEventGtk.cpp:
165         * platform/mac/DeprecatedStringMac.mm: Removed.
166         * platform/network/qt/ResourceHandleQt.cpp:
167         * platform/network/win/CookieJarWin.cpp:
168         (WebCore::cookies):
169         * platform/qt/ClipboardQt.cpp:
170         * platform/qt/CookieJarQt.cpp:
171         * platform/qt/CursorQt.cpp:
172         * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
173         * platform/text/AtomicString.cpp:
174         * platform/text/AtomicString.h:
175         * platform/text/PlatformString.h:
176         * platform/text/String.cpp:
177         * platform/text/StringImpl.cpp:
178         * platform/text/qt/StringQt.cpp:
179         (WebCore::String::String):
180         * platform/text/wx/StringWx.cpp:
181         * platform/win/BString.cpp:
182         * platform/win/BString.h:
183         * platform/win/PasteboardWin.cpp:
184
185 2008-02-22  Sam Weinig  <sam@webkit.org>
186
187         Reviewed by Geoff Garen.
188
189         - Remove use of DeprecatedString in CSSStyleSelector.
190
191         * css/CSSStyleSelector.cpp:
192         (WebCore::findHash): Removed.  Use find instead.
193         (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
194         (WebCore::findSlashSlash): Ditto.
195         (WebCore::findSlashDotSlash): Ditto.
196         (WebCore::containsColonSlashSlash): Ditto.
197         (WebCore::cleanPath): Change to operate on a String.
198         (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
199
200 2008-02-22  Geoffrey Garen  <ggaren@apple.com>
201
202         Reviewed by Sam Weinig.
203         
204         Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
205         associated objects @ www.viamichelin.it, which was probably an underlying
206         cause of <rdar://problem/5744037> Gmail out of memory (17455)
207         
208         If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
209         the XMLHttpRequest but think we hadn't, therefore never
210         calling deref() / gcUnprotect().
211         
212         This could happen at gmail.com, since gmail.com attempts to send
213         XMLHttpRequests from unload handlers in order to gather usage statistics.
214         (According to comments in the code, SubresourceLoader::create returns
215         NULL when called from an unload handler.)
216
217         The solution is to ref() / gcProtect() only if SubresourceLoader::create
218         doesn't return NULL. This make sense, since we only need to protect the
219         request as long as it has an outstanding network transaction.
220         
221         * xml/XMLHttpRequest.cpp:
222         (WebCore::XMLHttpRequest::XMLHttpRequest):
223         (WebCore::XMLHttpRequest::send):
224
225 2008-02-22  Darin Adler  <darin@apple.com>
226
227         Reviewed, tweaked and landed by Sam.
228
229         - Make RegularExpression operate on Strings instead of DeprecatedStrings.
230
231         * dom/DOMImplementation.cpp:
232         (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
233         to build up the RegularExpression.
234         * page/Frame.cpp:
235         (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
236         (WebCore::Frame::searchForLabelsAboveCell): Ditto.
237         (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
238         (WebCore::Frame::matchLabelsAgainstElement): Ditto.
239         * page/Frame.h:
240         * page/mac/FrameMac.mm:
241         (WebCore::regExpForLabels): Ditto.
242         (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
243         (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
244         (WebCore::Frame::matchLabelsAgainstElement): Ditto.
245
246         * platform/text/RegularExpression.cpp:
247         (WebCore::RegularExpression::Private::Private):
248         (WebCore::RegularExpression::Private::compile):
249         (WebCore::RegularExpression::RegularExpression):
250         (WebCore::RegularExpression::operator=):
251         (WebCore::RegularExpression::pattern):
252         (WebCore::RegularExpression::match):
253         (WebCore::RegularExpression::search):
254         (WebCore::RegularExpression::searchRev):
255         (WebCore::replace): Added.
256         * platform/text/RegularExpression.h:
257         Change functions to take Strings as input instead of DeprecatedStrings and
258         reduce the complexity of the class by removing unneeded globbing support.
259
260 2008-02-22  Jon Honeycutt  <jhoneycutt@apple.com>
261
262         Reviewed by Anders.
263
264         <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
265         during stress test (after only 5 min) - null dereference
266
267         Full-frame plug-ins create PluginStream objects without loaders, as the
268         PluginView receives the loading callbacks. We were trying to call
269         setDefersLoading on these null pointers.
270
271         * plugins/PluginStream.cpp:
272         (WebCore::PluginStream::startStream): Add null check.
273         (WebCore::PluginStream::destroyStream): Same.
274         (WebCore::PluginStream::deliverData): Same.
275
276 2008-02-22  Darin Adler  <darin@apple.com>
277
278         Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
279
280         - Remove uses of DeprecatedString in Windows plugin code.
281
282         * plugins/win/PluginPackageWin.cpp:
283         (WebCore::getVersionInfo): Cleanup formatting.
284         (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
285         (WebCore::PluginPackage::storeFileVersion): Move casts.
286         (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
287         use of Vectors.
288         (WebCore::PluginPackage::load): Fix whitespace.
289         (WebCore::PluginPackage::hash): Make the hashCodes const
290         * plugins/win/PluginViewWin.cpp:
291         (WebCore::makeURL): Use String instead of DeprecatedString.
292         (WebCore::parseRFC822HeaderFields): Ditto.
293         (WebCore::PluginView::handlePost): Ditto.
294         (WebCore::PluginView::status): Ditto.
295
296 2008-02-22  Darin Adler  <darin@apple.com>
297
298         Reviewed, tweaked and landed by Sam.
299
300         - Don't use DeprecatedString in HTMLTokenizer.
301
302         * html/HTMLTokenizer.cpp:
303         (WebCore::HTMLTokenizer::finish):
304         * platform/text/PlatformString.h:
305         (WebCore::find):
306
307 2008-02-21  Sam Weinig  <sam@webkit.org>
308
309         Reviewed by Anders Carlsson.
310
311         Fix for <rdar://problem/5757946>
312
313         - Parse URLs before checking whether they are javascript: urls
314           (which require security checks).
315
316         * bindings/js/JSAttrCustom.cpp:
317         (WebCore::JSAttr::setValue):
318         * bindings/js/JSElementCustom.cpp:
319         (WebCore::allowSettingSrcToJavascriptURL):
320         * bindings/js/JSHTMLFrameElementCustom.cpp:
321         (WebCore::allowSettingJavascriptURL):
322         * bindings/js/JSHTMLIFrameElementCustom.cpp:
323         (WebCore::JSHTMLIFrameElement::setSrc):
324
325 2008-02-21  Ada Chan  <adachan@apple.com>
326
327         <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
328         We could get a buffer overrun in DeprecatedCString::find() if the end of the
329         string matches a beginning portion of the substring, for example, if string is
330         "a" but the substring is "ab".
331         The code as is also will not match things correctly under certain situations
332         since the inner while loop increments the index. For example, we wouldn't find
333         a match if the string is "aab..." and the substring is "ab".  Changed the 
334         inner while loop to increment a temporary index into str.
335         
336         Test: fast/loader/charset-parse.html
337
338         Reviewed by Dan Berstein.
339
340         * platform/DeprecatedCString.cpp:
341         (WebCore::DeprecatedCString::find):
342
343 2008-02-21  David Hyatt  <hyatt@apple.com>
344
345         Fix for bug 17301.  CSS media queries need to use the correct viewport
346         when contained in documents inside iframes (rather than always using the
347         top-level document's viewport).  CSS media queries based on the viewport
348         also needed to be dynamic and update as you resize the window (this is
349         a HOT feature). :)
350
351         This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
352
353         Reviewed by olliej
354
355         Added fast/media/viewport-media-query.html
356
357         * css/CSSStyleSelector.cpp:
358         (WebCore::CSSStyleSelector::CSSStyleSelector):
359         (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
360         (WebCore::CSSStyleSelector::affectedByViewportChange):
361         * css/CSSStyleSelector.h:
362         (WebCore::MediaQueryResult::MediaQueryResult):
363         * css/MediaQueryEvaluator.cpp:
364         (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
365         (WebCore::MediaQueryEvaluator):
366         (WebCore::MediaQueryEvaluator::eval):
367         (WebCore::colorMediaFeatureEval):
368         (WebCore::monochromeMediaFeatureEval):
369         (WebCore::device_aspect_ratioMediaFeatureEval):
370         (WebCore::device_pixel_ratioMediaFeatureEval):
371         (WebCore::gridMediaFeatureEval):
372         (WebCore::device_heightMediaFeatureEval):
373         (WebCore::device_widthMediaFeatureEval):
374         (WebCore::heightMediaFeatureEval):
375         (WebCore::widthMediaFeatureEval):
376         (WebCore::min_colorMediaFeatureEval):
377         (WebCore::max_colorMediaFeatureEval):
378         (WebCore::min_monochromeMediaFeatureEval):
379         (WebCore::max_monochromeMediaFeatureEval):
380         (WebCore::min_device_aspect_ratioMediaFeatureEval):
381         (WebCore::max_device_aspect_ratioMediaFeatureEval):
382         (WebCore::min_device_pixel_ratioMediaFeatureEval):
383         (WebCore::max_device_pixel_ratioMediaFeatureEval):
384         (WebCore::min_heightMediaFeatureEval):
385         (WebCore::max_heightMediaFeatureEval):
386         (WebCore::min_widthMediaFeatureEval):
387         (WebCore::max_widthMediaFeatureEval):
388         (WebCore::min_device_heightMediaFeatureEval):
389         (WebCore::max_device_heightMediaFeatureEval):
390         (WebCore::min_device_widthMediaFeatureEval):
391         (WebCore::max_device_widthMediaFeatureEval):
392         * css/MediaQueryEvaluator.h:
393         * css/MediaQueryExp.cpp:
394         (WebCore::MediaQueryExp::~MediaQueryExp):
395         * css/MediaQueryExp.h:
396         (WebCore::MediaQueryExp::value):
397         (WebCore::MediaQueryExp::isViewportDependent):
398         * html/HTMLMediaElement.cpp:
399         (WebCore::HTMLMediaElement::pickMedia):
400         * page/FrameView.cpp:
401         (WebCore::FrameView::layout):
402
403 2008-02-21  Anders Carlsson  <andersca@apple.com>
404
405         Reviewed by Sam.
406
407         Make more classes start out with a refcount of 1.
408
409         * dom/QualifiedName.cpp:
410         (WebCore::QNameComponentsTranslator::translate):
411         (WebCore::QualifiedName::QualifiedName):
412         * dom/QualifiedName.h:
413         (WebCore::QualifiedName::QualifiedNameImpl::create):
414         (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
415         * history/BackForwardList.cpp:
416         (WebCore::BackForwardList::BackForwardList):
417         * history/BackForwardList.h:
418         (WebCore::BackForwardList::create):
419         * page/Page.cpp:
420         (WebCore::Page::Page):
421         * platform/text/CString.cpp:
422         (WebCore::CString::init):
423         (WebCore::CString::newUninitialized):
424         (WebCore::CString::copyBufferIfNeeded):
425         * platform/text/CString.h:
426         (WebCore::CStringBuffer::create):
427         (WebCore::CStringBuffer::CStringBuffer):
428
429 2008-02-21  Kevin Ollivier  <kevino@theolliviers.com>
430
431         wx build fix for the domString() -> string() rename in r30443.
432
433         * platform/graphics/wx/FontPlatformDataWx.cpp:
434         (WebCore::FontPlatformData::FontPlatformData):
435
436 2008-02-21  Antti Koivisto  <antti@apple.com>
437
438         Reviewed by Sam Weinig.
439
440         <rdar://problem/5753789>
441         REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
442         
443         Ensure all versions of allowsAccessFrom are inlined to single functions. 
444         This is a 2% win in browser hosted Sunspider. 
445
446         * bindings/js/kjs_window.cpp:
447         (KJS::Window::allowsAccessFrom):
448         (KJS::Window::allowsAccessFromPrivate):
449         * bindings/js/kjs_window.h:
450
451 2008-02-21  Dan Bernstein  <mitz@apple.com>
452
453         Reviewed by Sam Weinig.
454
455         - minor cleanup
456
457         * rendering/bidi.cpp:
458         (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
459         true for RenderLineBreak.
460         (WebCore::bidiFirst): Ditto.
461         (WebCore::shouldSkipWhitespaceAfterStartObject):
462         (WebCore::RenderBlock::findNextLineBreak):
463
464 2008-02-21  Geoffrey Garen  <ggaren@apple.com>
465
466         Reviewed by David Harrison.
467         
468         Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at 
469         WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
470
471         Test: fast/dom/script-element-without-frame-crash.html
472
473         * html/HTMLTokenizer.cpp:
474         (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
475         accidentally removed in r30325.
476
477 2008-02-21  Rodney Dawes  <dobey@wayofthemonkey.com>
478
479         GTK+ build fix. s/domString()/string()/
480
481         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
482         (FontPlatformData::FontPlatformData):
483
484 2008-02-20  Dan Bernstein  <mitz@apple.com>
485
486         Reviewed by Dave Hyatt.
487
488         - fix http://bugs.webkit.org/show_bug.cgi?id=17465
489           REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
490
491         Test: fast/tokenizer/doctype-search-reset.html
492
493         * html/HTMLTokenizer.cpp:
494         (WebCore::HTMLTokenizer::parseTag):
495
496 2008-02-20  Dan Bernstein  <mitz@apple.com>
497
498         Reviewed by Dave Hyatt.
499
500         - fix http://bugs.webkit.org/show_bug.cgi?id=17464
501           REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
502
503         Test: fast/text/wbr-in-pre-crash.html
504
505         * rendering/bidi.cpp:
506         (WebCore::RenderBlock::findNextLineBreak):
507
508 2008-02-20  Oliver Hunt  <oliver@apple.com>
509
510         Reviewed by Hyatt.
511
512         Bug 17303: Canvas crash in ImageBuffer
513
514         We handle a null GraphicsContext everywhere, but we weren't checking for 
515         a null ImageBuffer, which is what will result in a null GraphicsContext in
516         the first place.
517
518         Test: fast/canvas/access-zero-sized-canvas.html
519
520         * html/HTMLCanvasElement.cpp:
521
522 2008-02-20  David Hyatt  <hyatt@apple.com>
523
524         Fix the layout test failure that never should have passed in the first
525         place by making changes to media lists actually result in the recomputation
526         of the style selector.  Now it passes for the right reasons and not because
527         of dumb luck.
528
529         Reviewed by Sam Weinig
530
531         * css/MediaList.cpp:
532         (WebCore::MediaList::deleteMedium):
533         (WebCore::MediaList::setMediaText):
534         (WebCore::MediaList::appendMedium):
535         (WebCore::MediaList::notifyChanged):
536         * css/MediaList.h:
537         * dom/Document.cpp:
538         (WebCore::Document::attach):
539
540 2008-02-20  Darin Adler  <darin@apple.com>
541
542         Reviewed, tweaked and landed by Sam.
543
544         - make markup functions not use DeprecatedString.
545
546         * editing/markup.cpp:
547         (WebCore::append): Added.
548         (WebCore::escapeContentText): Build up string using a Vector.
549         (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
550
551 2008-02-20  Darin Adler  <darin@apple.com>
552
553         Reviewed, tweaked and landed by Sam.
554
555         - make TextIterator use a Vector instead of a DeprecatedString.
556
557         * editing/TextIterator.cpp:
558         (WebCore::CharacterIterator::string): Build up the String using a
559         Vector.
560         (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
561         (WebCore::WordAwareIterator::length): Ditto.
562         (WebCore::WordAwareIterator::characters): Ditto.
563         * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
564         of DeprecatedString.
565
566 2008-02-20  Darin Adler  <darin@apple.com>
567
568         Reviewed, tweaked and landed by Sam.
569
570         - make HTMLInterchange return a String instead of a DeprecatedString
571
572         * editing/HTMLInterchange.cpp:
573         (WebCore::): Return a String from convertedSpaceString.
574         (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
575         a DeprecatedString to build up the return String.
576         * editing/HTMLInterchange.h:
577
578 2008-02-20  Eric Seidel  <eric@webkit.org>
579
580         Reviewed by Oliver.
581
582         Remove m_drawingContext and change m_data to m_imageBuffer
583
584         * html/HTMLCanvasElement.cpp:
585         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
586         (WebCore::HTMLCanvasElement::reset):
587         (WebCore::HTMLCanvasElement::paint):
588         (WebCore::HTMLCanvasElement::createImageBuffer):
589         (WebCore::HTMLCanvasElement::buffer):
590         (WebCore::HTMLCanvasElement::createPlatformImage):
591         * html/HTMLCanvasElement.h:
592
593 2008-02-20  Anders Carlsson  <andersca@apple.com>
594
595         Reviewed by Sam.
596
597         Rename AtomicString::domString() to AtomicString::string().
598         
599         * css/CSSComputedStyleDeclaration.cpp:
600         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
601         * css/CSSFontSelector.cpp:
602         (WebCore::CSSFontSelector::getFontData):
603         * dom/Attr.cpp:
604         (WebCore::Attr::createTextChild):
605         * dom/Comment.cpp:
606         (WebCore::Comment::nodeName):
607         * dom/Document.cpp:
608         (WebCore::Document::recalcStyleSelector):
609         (WebCore::Document::setHTMLWindowEventListener):
610         (WebCore::Document::formElementsState):
611         * dom/StyledElement.cpp:
612         (WebCore::StyledElement::parseMappedAttribute):
613         * dom/Text.cpp:
614         (WebCore::Text::nodeName):
615         * editing/SelectionController.cpp:
616         (WebCore::SelectionController::debugRenderer):
617         * html/HTMLCollection.cpp:
618         (WebCore::HTMLCollection::checkForNameMatch):
619         * html/HTMLElement.cpp:
620         (WebCore::HTMLElement::nodeName):
621         (WebCore::HTMLElement::setHTMLEventListener):
622         * html/HTMLFormCollection.cpp:
623         (WebCore::HTMLFormCollection::getNamedFormItem):
624         * html/HTMLImageElement.cpp:
625         (WebCore::HTMLImageElement::parseMappedAttribute):
626         (WebCore::HTMLImageElement::isURLAttribute):
627         * html/HTMLLinkElement.cpp:
628         (WebCore::HTMLLinkElement::parseMappedAttribute):
629         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
630         * html/HTMLObjectElement.cpp:
631         (WebCore::HTMLObjectElement::isURLAttribute):
632         (WebCore::HTMLObjectElement::containsJavaApplet):
633         * html/HTMLParamElement.cpp:
634         (WebCore::HTMLParamElement::isURLAttribute):
635         * html/HTMLParser.cpp:
636         (WebCore::HTMLParser::handleIsindex):
637         * html/HTMLScriptElement.cpp:
638         (WebCore::HTMLScriptElement::insertedIntoDocument):
639         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
640         * html/HTMLStyleElement.cpp:
641         (WebCore::HTMLStyleElement::parseMappedAttribute):
642         * html/HTMLTokenizer.cpp:
643         (WebCore::HTMLTokenizer::parseTag):
644         * html/HTMLViewSourceDocument.cpp:
645         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
646         * loader/FrameLoader.cpp:
647         (WebCore::FrameLoader::saveDocumentState):
648         * page/FrameTree.cpp:
649         (WebCore::FrameTree::uniqueChildName):
650         * platform/text/AtomicString.h:
651         (WebCore::AtomicString::string):
652         (WebCore::AtomicString::contains):
653         (WebCore::AtomicString::find):
654         (WebCore::AtomicString::startsWith):
655         (WebCore::AtomicString::endsWith):
656         * rendering/RenderPartObject.cpp:
657         (WebCore::RenderPartObject::updateWidget):
658         * svg/SVGElement.cpp:
659         (WebCore::SVGElement::addSVGEventListener):
660         * svg/SVGSVGElement.cpp:
661         (WebCore::SVGSVGElement::addSVGWindowEventListener):
662         * xml/XPathFunctions.cpp:
663         (WebCore::XPath::FunLocalName::evaluate):
664         (WebCore::XPath::FunNamespaceURI::evaluate):
665         (WebCore::XPath::FunName::evaluate):
666
667 2008-02-20  Brent Fulgham  <bfulgham@gmail.com>
668
669         Reviewed by Dan.
670
671         http://bugs.webkit.org/show_bug.cgi?id=17336
672         Provide implementations for Windows (Cairo) build of WebKit that
673         handles font formatting.
674         - Split font implementation files to allow maximal code sharing
675           between CG and Cairo back-ends. 
676
677         * WebCore.vcproj/WebCore.vcproj:
678         * platform/graphics/SimpleFontData.h:   Add signatures for private win
679           initialization functions.
680         * platform/graphics/win/FontCacheWin.cpp:
681         (WebCore::FontCache::platformInit):
682         (WebCore::FontCache::createFontPlatformData):
683         * platform/graphics/win/FontCairoWin.cpp: Removed.  Universal version
684           is now part of platform/graphics/cairo.
685         * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
686         (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
687         (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
688         (WebCore::releaseData):
689         (WebCore::createFontCustomPlatformData):
690         * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
691         (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
692         * platform/graphics/win/FontPlatformData.h:
693         (WebCore::FontPlatformData::FontPlatformData):
694         (WebCore::FontPlatformData::fontFace):
695         (WebCore::FontPlatformData::scaledFont):
696         (WebCore::FontPlatformData::operator==):
697         * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
698         (WebCore::FontPlatformData::platformDataInit):
699         * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
700         (WebCore::FontPlatformData::platformDataInit):
701         (WebCore::FontPlatformData::FontPlatformData):
702         (WebCore::FontPlatformData::setFont):
703         * platform/graphics/win/FontPlatformDataWin.cpp:  Moved CG-specific
704           code to FontPlatformDataCG.cpp.
705         (WebCore::FontPlatformData::FontPlatformData):
706         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
707         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
708         (WebCore::GlyphPage::fill):
709         * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed.  Replaced
710           with CG- and Cairo-specific versions.
711         * platform/graphics/win/SimpleFontDataCGWin.cpp:
712         (WebCore::SimpleFontData::platformInit):
713         (WebCore::SimpleFontData::platformDestroy):
714         (WebCore::SimpleFontData::platformWidthForGlyph):
715         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
716         (WebCore::SimpleFontData::platformInit):
717         (WebCore::SimpleFontData::platformDestroy):
718         (WebCore::SimpleFontData::platformWidthForGlyph):
719         (WebCore::SimpleFontData::setFont):
720         * platform/graphics/win/SimpleFontDataWin.cpp:
721         (WebCore::SimpleFontData::initGDIFont):
722         (WebCore::SimpleFontData::platformCommonDestroy):
723         (WebCore::SimpleFontData::widthForGDIGlyph):
724
725 2008-02-20  Darin Adler  <darin@apple.com>
726
727         Reviewed by Sam.
728
729         * dom/Node.h: Took out unneeded forward declaration of TextStream.
730
731 2008-02-20  Darin Adler  <darin@apple.com>
732
733         Reviewed by Sam.
734
735         * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
736
737 2008-02-20  David Hyatt  <hyatt@apple.com>
738
739         Fix for bug 16760, incorrect <object> MIME type handling and fallback
740         handling.
741
742         Reviewed by darin
743
744         * html/HTMLImageLoader.cpp:
745         (WebCore::HTMLImageLoader::notifyFinished):
746         If the image had an error, make sure to do <object> fallback.
747
748         * html/HTMLObjectElement.cpp:
749         (WebCore::HTMLObjectElement::renderFallbackContent):
750         Before doing fallback check if there is a MIME type mismatch between
751         an image type and a non-image type.  If so, detach and re-attach after
752         storing the correct MIME type.
753
754         * loader/loader.cpp:
755         (WebCore::Loader::didReceiveData):
756         Consider it an error when a 404 is encountered on a CachedResource load.
757
758 2008-02-20  Anders Carlsson  <andersca@apple.com>
759
760         Reviewed by Sam.
761
762         StringImpl constructors used by AtomicString should start with a refcount of 1.
763         
764         * platform/text/AtomicString.cpp:
765         (WebCore::AtomicString::add):
766         * platform/text/AtomicString.h:
767         * platform/text/StringImpl.cpp:
768         (WebCore::StringImpl::StringImpl):
769
770 2008-02-20  Darin Adler  <darin@apple.com>
771
772         * bindings/js/kjs_navigator.cpp:
773         (WebCore::needsYouTubeQuirk): Tweak comments.
774
775 2008-02-20  Anders Carlsson  <andersca@apple.com>
776
777         Reviewed by Darin.
778
779         Change all refcounted classes in page/ to start with a refcount of 1.
780
781         * page/BarInfo.cpp:
782         (WebCore::BarInfo::BarInfo):
783         * page/BarInfo.h:
784         (WebCore::BarInfo::create):
785         * page/Console.cpp:
786         (WebCore::Console::Console):
787         * page/Console.h:
788         (WebCore::Console::create):
789         * page/DOMSelection.cpp:
790         (WebCore::DOMSelection::DOMSelection):
791         * page/DOMSelection.h:
792         (WebCore::DOMSelection::create):
793         * page/DOMWindow.cpp:
794         (WebCore::DOMWindow::DOMWindow):
795         (WebCore::DOMWindow::screen):
796         (WebCore::DOMWindow::history):
797         (WebCore::DOMWindow::locationbar):
798         (WebCore::DOMWindow::menubar):
799         (WebCore::DOMWindow::personalbar):
800         (WebCore::DOMWindow::scrollbars):
801         (WebCore::DOMWindow::statusbar):
802         (WebCore::DOMWindow::toolbar):
803         (WebCore::DOMWindow::console):
804         (WebCore::DOMWindow::getSelection):
805         * page/DOMWindow.h:
806         (WebCore::DOMWindow::create):
807         * page/Frame.cpp:
808         (WebCore::Frame::domWindow):
809         * page/History.cpp:
810         (WebCore::History::History):
811         * page/History.h:
812         (WebCore::History::create):
813         * page/InspectorController.cpp:
814         (WebCore::InspectorResource::create):
815         (WebCore::InspectorResource::InspectorResource):
816         (WebCore::InspectorDatabaseResource::create):
817         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
818         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
819         (WebCore::InspectorController::identifierForInitialRequest):
820         (WebCore::InspectorController::didOpenDatabase):
821         * page/Plugin.h:
822         (WebCore::Plugin::create):
823         (WebCore::Plugin::Plugin):
824         * page/Screen.cpp:
825         (WebCore::Screen::Screen):
826         * page/Screen.h:
827         (WebCore::Screen::create):
828
829 2008-02-20  Sam Weinig  <sam@webkit.org>
830
831         Reviewed by Darin and Geoff.
832
833         - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
834
835         * WebCore.base.exp: Updated.
836
837         * bindings/js/kjs_navigator.cpp:
838         (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed.
839         (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk
840         return true, then return the empty string.
841
842         * page/Settings.cpp:
843         (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false.
844         (WebCore::Settings::setNeedsSiteSpecificQuirks): Added.
845         * page/Settings.h: Added m_needsSiteSpecificQuirks.
846         (WebCore::Settings::needsSiteSpecificQuirks): Added.
847
848 2008-02-20  David Hyatt  <hyatt@apple.com>
849
850         Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
851
852         Reviewed by Sam Weinig
853
854         Many tests added in fast/doctypes.
855
856         * dom/DOMImplementation.cpp:
857         (WebCore::DOMImplementation::createDocument):
858         (WebCore::DOMImplementation::createHTMLDocument):
859         * dom/Document.cpp:
860         (WebCore::Document::Document):
861         (WebCore::Document::setDocType):
862         (WebCore::Document::attach):
863         (WebCore::Document::getImageMap):
864         * dom/Document.h:
865         (WebCore::Document::doctype):
866         (WebCore::Document::):
867         (WebCore::Document::determineParseMode):
868         (WebCore::Document::setParseMode):
869         (WebCore::Document::parseMode):
870         (WebCore::Document::inCompatMode):
871         (WebCore::Document::inAlmostStrictMode):
872         (WebCore::Document::inStrictMode):
873         * dom/DocumentType.cpp:
874         (WebCore::DocumentType::cloneNode):
875         (WebCore::DocumentType::insertedIntoDocument):
876         (WebCore::DocumentType::removedFromDocument):
877         * dom/DocumentType.h:
878         * dom/Node.cpp:
879         (WebCore::Node::childAllowed):
880         * dom/StyledElement.cpp:
881         (WebCore::StyledElement::attributeChanged):
882         * dom/XMLTokenizer.cpp:
883         (WebCore::XMLTokenizer::internalSubset):
884         (WebCore::):
885         * editing/markup.cpp:
886         (WebCore::appendStartMarkup):
887         * html/HTMLAppletElement.cpp:
888         (WebCore::HTMLAppletElement::createRenderer):
889         * html/HTMLDocument.cpp:
890         (WebCore::HTMLDocument::HTMLDocument):
891         (WebCore::HTMLDocument::childAllowed):
892         (WebCore::HTMLDocument::determineParseMode):
893         * html/HTMLDocument.h:
894         * html/HTMLMapElement.cpp:
895         (WebCore::HTMLMapElement::parseMappedAttribute):
896         * html/HTMLParamElement.cpp:
897         (WebCore::HTMLParamElement::parseMappedAttribute):
898         * html/HTMLParser.cpp:
899         (WebCore::HTMLParser::parseDoctypeToken):
900         * html/HTMLParser.h:
901         * html/HTMLTokenizer.cpp:
902         (WebCore::HTMLTokenizer::reset):
903         (WebCore::HTMLTokenizer::parseDoctype):
904         (WebCore::HTMLTokenizer::parseTag):
905         (WebCore::HTMLTokenizer::write):
906         (WebCore::HTMLTokenizer::finish):
907         (WebCore::HTMLTokenizer::processDoctypeToken):
908         * html/HTMLTokenizer.h:
909         (WebCore::):
910         (WebCore::DoctypeToken::DoctypeToken):
911         (WebCore::DoctypeToken::reset):
912         (WebCore::DoctypeToken::state):
913         (WebCore::DoctypeToken::setState):
914         (WebCore::HTMLTokenizer::State::inDoctype):
915         (WebCore::HTMLTokenizer::State::setInDoctype):
916         (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
917         (WebCore::HTMLTokenizer::State::):
918         * html/HTMLViewSourceDocument.cpp:
919         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
920         (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
921         * html/HTMLViewSourceDocument.h:
922         * loader/FrameLoader.cpp:
923         (WebCore::FrameLoader::write):
924         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
925         * page/Frame.cpp:
926         (WebCore::Frame::documentTypeString):
927         * page/inspector/utilities.js:
928         * xml/XSLTProcessor.cpp:
929         (WebCore::XSLTProcessor::createDocumentFromSource):
930
931 2008-02-20  Anders Carlsson  <andersca@apple.com>
932
933         Reviewed by Darin.
934
935         Change most SVG related classes to start out with a ref count of 1.
936         
937         * bindings/js/JSSVGPointListCustom.cpp:
938         (WebCore::JSSVGPointList::initialize):
939         (WebCore::JSSVGPointList::insertItemBefore):
940         (WebCore::JSSVGPointList::replaceItem):
941         (WebCore::JSSVGPointList::appendItem):
942         * bindings/js/JSSVGTransformListCustom.cpp:
943         (WebCore::JSSVGTransformList::initialize):
944         (WebCore::JSSVGTransformList::insertItemBefore):
945         (WebCore::JSSVGTransformList::replaceItem):
946         (WebCore::JSSVGTransformList::appendItem):
947         * rendering/SVGCharacterLayoutInfo.h:
948         (WebCore::SVGCharOnPath::create):
949         (WebCore::SVGCharOnPath::SVGCharOnPath):
950         * rendering/SVGRootInlineBox.cpp:
951         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
952         * svg/SVGAnimationElement.cpp:
953         (WebCore::SVGAnimationElement::parseBeginOrEndValue):
954         * svg/SVGClipPathElement.cpp:
955         (WebCore::SVGClipPathElement::canvasResource):
956         * svg/SVGElementInstance.cpp:
957         (WebCore::SVGElementInstance::childNodes):
958         * svg/SVGElementInstanceList.cpp:
959         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
960         * svg/SVGElementInstanceList.h:
961         (WebCore::SVGElementInstanceList::create):
962         * svg/SVGFitToViewBox.cpp:
963         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
964         * svg/SVGGradientElement.cpp:
965         (WebCore::SVGGradientElement::SVGGradientElement):
966         (WebCore::SVGGradientElement::canvasResource):
967         * svg/SVGImageElement.cpp:
968         (WebCore::SVGImageElement::SVGImageElement):
969         * svg/SVGLengthList.h:
970         (WebCore::SVGLengthList::create):
971         * svg/SVGList.h:
972         (WebCore::SVGList::SVGList):
973         (WebCore::SVGPODListItem::create):
974         (WebCore::SVGPODListItem::copy):
975         (WebCore::SVGPODListItem::SVGPODListItem):
976         (WebCore::SVGPODList::initialize):
977         (WebCore::SVGPODList::insertItemBefore):
978         (WebCore::SVGPODList::replaceItem):
979         (WebCore::SVGPODList::appendItem):
980         (WebCore::SVGPODList::SVGPODList):
981         * svg/SVGMarkerElement.cpp:
982         (WebCore::SVGMarkerElement::canvasResource):
983         * svg/SVGMaskElement.cpp:
984         (WebCore::SVGMaskElement::canvasResource):
985         * svg/SVGNumberList.h:
986         (WebCore::SVGNumberList::create):
987         * svg/SVGPathElement.cpp:
988         (WebCore::SVGPathElement::createSVGPathSegClosePath):
989         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
990         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
991         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
992         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
993         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
994         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
995         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
996         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
997         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
998         (WebCore::SVGPathElement::createSVGPathSegArcRel):
999         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
1000         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
1001         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
1002         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
1003         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
1004         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
1005         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
1006         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
1007         (WebCore::SVGPathElement::pathSegList):
1008         * svg/SVGPathElement.h:
1009         * svg/SVGPathSeg.h:
1010         (WebCore::SVGPathSeg::SVGPathSeg):
1011         * svg/SVGPathSegArc.h:
1012         (WebCore::SVGPathSegArcAbs::create):
1013         (WebCore::SVGPathSegArcRel::create):
1014         * svg/SVGPathSegClosePath.h:
1015         (WebCore::SVGPathSegClosePath::create):
1016         * svg/SVGPathSegCurvetoCubic.h:
1017         (WebCore::SVGPathSegCurvetoCubicAbs::create):
1018         (WebCore::SVGPathSegCurvetoCubicRel::create):
1019         * svg/SVGPathSegCurvetoCubicSmooth.h:
1020         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
1021         (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
1022         * svg/SVGPathSegCurvetoQuadratic.h:
1023         (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
1024         (WebCore::SVGPathSegCurvetoQuadraticRel::create):
1025         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
1026         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
1027         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
1028         * svg/SVGPathSegLineto.h:
1029         (WebCore::SVGPathSegLinetoAbs::create):
1030         (WebCore::SVGPathSegLinetoRel::create):
1031         * svg/SVGPathSegLinetoHorizontal.h:
1032         (WebCore::SVGPathSegLinetoHorizontalAbs::create):
1033         (WebCore::SVGPathSegLinetoHorizontalRel::create):
1034         * svg/SVGPathSegLinetoVertical.h:
1035         (WebCore::SVGPathSegLinetoVerticalAbs::create):
1036         (WebCore::SVGPathSegLinetoVerticalRel::create):
1037         * svg/SVGPathSegList.h:
1038         (WebCore::SVGPathSegList::create):
1039         * svg/SVGPathSegMoveto.h:
1040         (WebCore::SVGPathSegMovetoAbs::create):
1041         (WebCore::SVGPathSegMovetoRel::create):
1042         * svg/SVGPatternElement.cpp:
1043         (WebCore::SVGPatternElement::SVGPatternElement):
1044         (WebCore::SVGPatternElement::canvasResource):
1045         * svg/SVGPointList.h:
1046         (WebCore::SVGPointList::create):
1047         * svg/SVGPolyElement.cpp:
1048         (WebCore::SVGPolyElement::points):
1049         * svg/SVGPreserveAspectRatio.cpp:
1050         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
1051         * svg/SVGPreserveAspectRatio.h:
1052         (WebCore::SVGPreserveAspectRatio::create):
1053         * svg/SVGRenderingIntent.h:
1054         (WebCore::SVGRenderingIntent::SVGRenderingIntent):
1055         * svg/SVGStringList.h:
1056         (WebCore::SVGStringList::create):
1057         * svg/SVGStyledTransformableElement.cpp:
1058         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
1059         * svg/SVGTests.cpp:
1060         (WebCore::SVGTests::requiredFeatures):
1061         (WebCore::SVGTests::requiredExtensions):
1062         (WebCore::SVGTests::systemLanguage):
1063         * svg/SVGTextElement.cpp:
1064         (WebCore::SVGTextElement::SVGTextElement):
1065         * svg/SVGTextPositioningElement.cpp:
1066         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
1067         * svg/SVGTransformList.h:
1068         (WebCore::SVGTransformList::create):
1069         * svg/SVGUnitTypes.h:
1070         (WebCore::SVGUnitTypes::SVGUnitTypes):
1071         * svg/SVGViewElement.cpp:
1072         (WebCore::SVGViewElement::viewTarget):
1073         * svg/SVGViewSpec.cpp:
1074         (WebCore::SVGViewSpec::SVGViewSpec):
1075         * svg/graphics/SVGPaintServer.cpp:
1076         (WebCore::SVGPaintServer::sharedSolidPaintServer):
1077         * svg/graphics/SVGPaintServer.h:
1078         * svg/graphics/SVGPaintServerGradient.h:
1079         (WebCore::SVGPaintServerGradient::SharedStopCache::create):
1080         (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
1081         * svg/graphics/SVGPaintServerLinearGradient.h:
1082         (WebCore::SVGPaintServerLinearGradient::create):
1083         * svg/graphics/SVGPaintServerPattern.h:
1084         (WebCore::SVGPaintServerPattern::create):
1085         * svg/graphics/SVGPaintServerRadialGradient.h:
1086         (WebCore::SVGPaintServerRadialGradient::create):
1087         * svg/graphics/SVGPaintServerSolid.h:
1088         (WebCore::SVGPaintServerSolid::create):
1089         * svg/graphics/SVGResource.cpp:
1090         (WebCore::SVGResource::SVGResource):
1091         * svg/graphics/SVGResource.h:
1092         * svg/graphics/SVGResourceClipper.h:
1093         (WebCore::SVGResourceClipper::create):
1094         * svg/graphics/SVGResourceMarker.h:
1095         (WebCore::SVGResourceMarker::create):
1096         * svg/graphics/SVGResourceMasker.h:
1097         (WebCore::SVGResourceMasker::create):
1098         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
1099         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
1100
1101 2008-02-20  Darin Adler  <darin@apple.com>
1102
1103         Reviewed by Sam.
1104
1105         - make conversion from CSS ParseString to String and AtomicString
1106           automatic and remove all the explicit calls to do the conversion
1107
1108         - fix CSS parsing to do fewer allocations, mostly by using the
1109           equalIgnoringCase function in CSSParser
1110
1111         * css/CSSGrammar.y: Take out all the explicit atomicString and
1112         domString calls now that ParseString knows how to convert itself.
1113
1114         * css/CSSParser.cpp:
1115         (WebCore::equal): Added.
1116         (WebCore::equalIgnoringCase): Allow non-lettters.
1117         (WebCore::ParseString::lower): Used charactersAreAllASCII.
1118         (WebCore::unitFromString): Use equal.
1119         (WebCore::CSSParser::parseValue): Removed unneeded call to domString.
1120         (WebCore::CSSParser::parseContent): Use equalIgnoringCase.
1121         (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString.
1122         (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase.
1123         (WebCore::CSSParser::parseDashboardRegions): More of the same.
1124         (WebCore::CSSParser::parseCounterContent): Ditto.
1125         (WebCore::CSSParser::parseShape): Use equalIgnoringCase.
1126         (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString.
1127         (WebCore::CSSParser::parseFontFaceSrc): More.
1128         (WebCore::CSSParser::parseFontFaceUnicodeRange): More.
1129         (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now
1130         handles the case folding.
1131         (WebCore::CSSParser::parseColorFromValue): More.
1132         (WebCore::CSSParser::parseBorderImage): More.
1133         (WebCore::CSSParser::parseCounter): More.
1134         (WebCore::TransformOperationInfo::TransformOperationInfo): More.
1135         (WebCore::CSSParser::parseTransform): More.
1136         (WebCore::CSSParser::createCharsetRule): More.
1137         (WebCore::CSSParser::createImportRule): More.
1138
1139         * css/CSSParser.h: Removed domString and atomicString functions.
1140         (WebCore::ParseString::operator String): Added. Allows conversion to String
1141         without an explicit function call.
1142         (WebCore::ParseString::operator AtomicString): Ditto.
1143
1144         * css/MediaQueryExp.cpp:
1145         (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString.
1146         * css/SVGCSSParser.cpp:
1147         (WebCore::CSSParser::parseSVGValue): Removed calls to domString.
1148
1149         * platform/graphics/Color.cpp:
1150         (WebCore::findNamedColor): Call toASCIILower on each character as we copy
1151         it into the 8-bit character buffer to make the operation fold case.
1152
1153 2008-02-20  Justin Garcia  <justin.garcia@apple.com>
1154
1155         Reviewed by Darin Adler.
1156
1157         <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
1158
1159         * editing/DeleteSelectionCommand.cpp:
1160         (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here
1161         is where there are no special elements.  Avoid creating VisiblePositions in
1162         that case.  Additionally, this change postpones the more expensive creation
1163         of an upstream VisiblePosition until the last possible moment.
1164         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
1165         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an 
1166         early return for a common case: deleting characters that are all inside the 
1167         same text node. In that case the style at the start of the selection will 
1168         not change during the delete, so there is no need to save/recompute it.
1169         (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return
1170         before VisiblePosition creation if the ends of the selection aren't enclosed
1171         by an anchor.
1172         * editing/TypingCommand.cpp:
1173         (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell
1174         checking isn't enabled.
1175
1176 2008-02-20  Alexey Proskuryakov  <ap@webkit.org>
1177
1178         Incorporates some improvements made by Dan Bernstein.
1179
1180         Reviewed by Darin.
1181
1182         http://bugs.webkit.org/show_bug.cgi?id=17106
1183         <rdar://problem/5750722> Debug build ASSERTs on page load
1184
1185         Test: fast/encoding/GBK/close-gbk-converter.html
1186
1187         * platform/text/TextCodecICU.cpp:
1188         (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there
1189         are only four values.
1190         (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt
1191         getting an escape character if it's not UCNV_UNASSIGNED.
1192         (WebCore::gbkCallbackSubstitute): Ditto.
1193
1194 2008-02-20  Alexey Proskuryakov  <ap@webkit.org>
1195
1196         Build fix.
1197
1198         * xml/XMLHttpRequest.cpp:
1199         (WebCore::isSafeRequestHeader):
1200         (WebCore::XMLHttpRequest::setRequestHeader):
1201
1202 2008-02-20  Alexey Proskuryakov  <ap@webkit.org>
1203
1204         Reviewed by Darin.
1205
1206         <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest
1207
1208         Cannot be tested in DRT.
1209
1210         * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load
1211         local files can also set any headers.
1212
1213 2008-02-19  Darin Adler  <darin@apple.com>
1214
1215         Reviewed by Sam.
1216
1217         - removed use of DeprecatedString for font family names
1218
1219         * css/CSSFontSelector.cpp:
1220         (WebCore::CSSFontSelector::addFontFaceRule): Update for name change.
1221         * css/CSSParser.cpp:
1222         (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated
1223         function and String rather than DeprecatedString.
1224         * css/CSSStyleSelector.cpp:
1225         (WebCore::CSSStyleSelector::applyProperty): Updated for name change.
1226         * css/FontFamilyValue.cpp:
1227         (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular
1228         expression with code that does the same thing more efficiently.
1229         (WebCore::FontFamilyValue::appendSpaceSeparated): Added.
1230         (WebCore::FontFamilyValue::cssText): Updated for name change.
1231         * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName
1232         to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType
1233         and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can
1234         be private instead of public.
1235
1236 2008-02-19  Darin Adler  <darin@apple.com>
1237
1238         - fix build when SVG is not enabled
1239
1240         * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h".
1241
1242 2008-02-19  Anders Carlsson  <andersca@apple.com>
1243
1244         Reviewed by Darin.
1245
1246         Change all classes in xml/ to start out with a ref count of 1.
1247         
1248         * bindings/js/JSCustomXPathNSResolver.h:
1249         * bindings/js/JSXMLHttpRequest.cpp:
1250         (WebCore::JSXMLHttpRequest::JSXMLHttpRequest):
1251         * bindings/js/JSXSLTProcessor.cpp:
1252         (WebCore::JSXSLTProcessor::JSXSLTProcessor):
1253         * bindings/objc/DOMCustomXPathNSResolver.h:
1254         (WebCore::DOMCustomXPathNSResolver::create):
1255         * bindings/scripts/CodeGeneratorJS.pm:
1256         * bindings/scripts/CodeGeneratorObjC.pm:
1257         * dom/Document.cpp:
1258         (WebCore::Document::applyXSLTransform):
1259         (WebCore::Document::createExpression):
1260         (WebCore::Document::createNSResolver):
1261         (WebCore::Document::evaluate):
1262         * xml/DOMParser.h:
1263         (WebCore::DOMParser::create):
1264         (WebCore::DOMParser::DOMParser):
1265         * xml/NativeXPathNSResolver.h:
1266         (WebCore::NativeXPathNSResolver::create):
1267         * xml/XMLHttpRequest.cpp:
1268         (WebCore::XMLHttpRequest::XMLHttpRequest):
1269         * xml/XMLHttpRequest.h:
1270         (WebCore::XMLHttpRequest::create):
1271         * xml/XMLSerializer.h:
1272         (WebCore::XMLSerializer::create):
1273         (WebCore::XMLSerializer::XMLSerializer):
1274         * xml/XPathEvaluator.cpp:
1275         (WebCore::XPathEvaluator::createNSResolver):
1276         * xml/XPathEvaluator.h:
1277         (WebCore::XPathEvaluator::create):
1278         (WebCore::XPathEvaluator::XPathEvaluator):
1279         * xml/XPathExpression.cpp:
1280         (WebCore::XPathExpression::createExpression):
1281         (WebCore::XPathExpression::evaluate):
1282         * xml/XPathExpression.h:
1283         (WebCore::XPathExpression::create):
1284         (WebCore::XPathExpression::XPathExpression):
1285         * xml/XPathNSResolver.h:
1286         * xml/XPathResult.cpp:
1287         (WebCore::XPathResult::XPathResult):
1288         * xml/XPathResult.h:
1289         (WebCore::XPathResult::create):
1290         * xml/XPathValue.cpp:
1291         (WebCore::XPath::Value::modifiableNodeSet):
1292         * xml/XPathValue.h:
1293         (WebCore::XPath::ValueData::create):
1294         (WebCore::XPath::ValueData::ValueData):
1295         (WebCore::XPath::Value::Value):
1296         * xml/XSLTProcessor.h:
1297         (WebCore::XSLTProcessor::create):
1298         (WebCore::XSLTProcessor::XSLTProcessor):
1299
1300 2008-02-19  Darin Adler  <darin@apple.com>
1301
1302         Reviewed by Sam.
1303
1304         - Trimmed down TextStream and weaned it from DeprecatedString.
1305
1306         * page/mac/WebCoreFrameBridge.mm:
1307         (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]):
1308         Removed now-unneeded call to getNSString.
1309
1310         * platform/text/TextStream.cpp: Removed unused functions.
1311         Use snprintf instead of sprintf, for better security.
1312         (WebCore::TextStream::release): Added.
1313         * platform/text/TextStream.h: Removed lots of unneeded stuff.
1314
1315         * rendering/RenderTreeAsText.cpp:
1316         (WebCore::externalRepresentation): Changed to use String instead
1317         of DeprecatedString.
1318         * rendering/RenderTreeAsText.h: Ditto.
1319
1320         * rendering/SVGRenderTreeAsText.cpp:
1321         (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl.
1322         (WebCore::write): Ditto.
1323         (WebCore::writeRenderResources): Ditto.
1324
1325 2008-02-19  Justin Garcia  <justin.garcia@apple.com>
1326
1327         Reviewed by Darin Adler.
1328
1329         <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
1330         
1331         This brings performance on the phone back to old levels.  Andre and I are doing
1332         some formal testing to see exactly where we stand.
1333
1334         * dom/Position.cpp:
1335         (WebCore::enclosingBlockIgnoringEditability): Added.  This is enclosingBlock
1336         without the expensive editability checks. upstream and downstream can avoid 
1337         those because they do their own editability checking.
1338         (WebCore::Position::upstream):
1339         (WebCore::Position::downstream):
1340
1341 2008-02-19  Chris Fleizach  <cfleizach@apple.com>
1342
1343         Reviewed by Darin.
1344
1345         <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute
1346
1347         * bridge/mac/WebCoreAXObject.mm:
1348         (-[WebCoreAXObject linkedUIElement]):
1349         Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM).
1350         
1351         (-[WebCoreAXObject accessibilityAttributeNames]):
1352         (-[WebCoreAXObject accessibilityAttributeValue:]):
1353         Support NSAccessibilityLinkedUIElementsAttribute.
1354
1355 2008-02-19  Darin Adler  <darin@apple.com>
1356
1357         Reviewed by Sam.
1358
1359         - Removed old debugging aids, Node::dump, RenderObject::dump, and
1360           RenderObject::information, that used DeprecatedString.
1361
1362         * dom/CharacterData.cpp: Removed override of Node::dump.
1363         * dom/CharacterData.h: Ditto.
1364         * dom/Element.cpp: Ditto.
1365         * dom/Element.h: Ditto.
1366         * dom/EventTargetNode.cpp: Ditto.
1367         * dom/EventTargetNode.h: Ditto.
1368         * dom/Node.cpp: Removed Node::dump.
1369         * dom/Node.h: Ditto.
1370
1371         * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
1372         * rendering/RenderBlock.h: Ditto.
1373         * rendering/RenderFrameSet.cpp: Ditto.
1374         * rendering/RenderFrameSet.h: Ditto.
1375         * rendering/RenderObject.cpp: Removed RenderObject::dump and
1376         RenderObject::information.
1377         * rendering/RenderObject.h: Ditto.
1378         * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
1379         * rendering/RenderTable.h: Ditto.
1380         * rendering/RenderTableCell.cpp: Ditto.
1381         * rendering/RenderTableCell.h: Ditto.
1382         * rendering/RenderTableCol.cpp: Ditto.
1383         * rendering/RenderTableCol.h: Ditto.
1384         * rendering/RenderTableSection.cpp: Ditto.
1385         * rendering/RenderTableSection.h: Ditto.
1386
1387         * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
1388         and added forward declarations as appropriate.
1389
1390         * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
1391         * svg/graphics/SVGResourceClipper.cpp: And here.
1392         * svg/graphics/SVGResourceFilter.cpp: Ditto.
1393         * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
1394         * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
1395         * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
1396         * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
1397         * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
1398         * svg/graphics/filters/SVGFEImage.cpp: Ditto.
1399         * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
1400         * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
1401         * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
1402         * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
1403         * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
1404         * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
1405
1406 2008-02-19  Beth Dakin  <bdakin@apple.com>
1407
1408         Reviewed by Sam.
1409
1410         Fix for <rdar://problem/5729674> Seed: Crash in 
1411         RenderButton::setStyle at http://www.dinorpg.com
1412
1413         Inputs should not honor first-letter.
1414
1415         * rendering/RenderBlock.cpp:
1416         (WebCore::RenderBlock::updateFirstLetter):
1417
1418 2008-02-19  Dan Bernstein  <mitz@apple.com>
1419
1420         Reviewed by Darin Adler.
1421
1422         - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
1423
1424         Test: fast/text/wbr-styled.html
1425
1426         Changed RenderWordBreak to inherit from RenderText instead of
1427         RenderInline.
1428
1429         * rendering/RenderBlock.cpp:
1430         (WebCore::RenderBlock::calcInlinePrefWidths):
1431         * rendering/RenderFlow.h:
1432         * rendering/RenderText.cpp:
1433         (WebCore::RenderText::renderName):
1434         (WebCore::RenderText::isTextFragment):
1435         (WebCore::RenderText::isWordBreak):
1436         * rendering/RenderText.h:
1437         * rendering/RenderWordBreak.cpp:
1438         (WebCore::RenderWordBreak::RenderWordBreak):
1439         * rendering/RenderWordBreak.h:
1440         * rendering/bidi.cpp:
1441         (WebCore::RenderBlock::findNextLineBreak):
1442
1443 2008-02-19  Anders Carlsson  <andersca@apple.com>
1444
1445         Reviewed by Darin.
1446
1447         * WebCore.base.exp:
1448         * loader/mac/LoaderNSURLExtras.h:
1449         * loader/mac/LoaderNSURLExtras.m:
1450         Move unused functions to WebKit (where they are used)
1451         
1452         (vectorContainsString):
1453         Use const references.
1454         
1455         * platform/mac/WebCoreSystemInterface.h:
1456         * platform/mac/WebCoreSystemInterface.mm:
1457         Remove wkNSURLProtocolClassForReqest.
1458         
1459 2008-02-19  Justin Garcia  <justin.garcia@apple.com>
1460
1461         Reviewed by Darin Adler.
1462
1463         <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore 
1464         
1465         These changes bring deleting performance back to old levels on the phone
1466         except for deleting the first space to the right of a word, which we are
1467         still working on.
1468
1469         * dom/Position.cpp:
1470         (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining
1471         if we have left the original enclosing block or entered a new one, and avoid
1472         rootEditableElement for determining if we have changed editability.  These
1473         operations are expensive.
1474         (WebCore::Position::downstream): Ditto.
1475
1476 2008-02-19  Darin Adler  <darin@apple.com>
1477
1478         Rubber stamped by Anders.
1479
1480         - removed explicit initialization to 1 for RefCounted; that's now the default
1481
1482         * loader/ResourceLoader.cpp:
1483         (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer.
1484         * platform/network/ResourceHandle.cpp:
1485         (WebCore::ResourceHandle::ResourceHandle): Ditto.
1486         * platform/text/StringImpl.cpp:
1487         (WebCore::StringImpl::StringImpl): Ditto.
1488
1489 2008-02-18  Anders Carlsson  <andersca@apple.com>
1490
1491         Reviewed by Darin.
1492
1493         Make ResourceLoader and ResourceHandle start out with a refcount of 1.
1494
1495         * loader/MainResourceLoader.cpp:
1496         (WebCore::MainResourceLoader::create):
1497         * loader/NetscapePlugInStreamLoader.cpp:
1498         (WebCore::NetscapePlugInStreamLoader::create):
1499         * loader/ResourceLoader.cpp:
1500         (WebCore::ResourceLoader::ResourceLoader):
1501         * loader/SubresourceLoader.cpp:
1502         (WebCore::SubresourceLoader::create):
1503         * platform/network/ResourceHandle.cpp:
1504         (WebCore::ResourceHandle::ResourceHandle):
1505         (WebCore::ResourceHandle::create):
1506
1507 2008-02-19  Alp Toker  <alp@atoker.com>
1508
1509         Reviewed by Mark Rowe.
1510
1511         http://bugs.webkit.org/show_bug.cgi?id=16863
1512         [GTK] tab focusing doesn't work
1513
1514         GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
1515         the meta key state.
1516
1517         Use GDK_META_MASK where available, otherwise do not support the meta
1518         key. This matches the behaviour of other applications.
1519
1520         Also add a comment noting that the platform event constructors need to
1521         be kept in sync (it's not obvious that there are multiple places that
1522         check the key state).
1523
1524         * platform/gtk/KeyEventGtk.cpp:
1525         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1526         * platform/gtk/MouseEventGtk.cpp:
1527         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1528         * platform/gtk/WheelEventGtk.cpp:
1529         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1530
1531 2008-02-18  Brady Eidson  <beidson@apple.com>
1532
1533         Reviewed by Sam Weinig's white rhino tusk stamp
1534
1535         SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase
1536
1537         * platform/sql/SQLiteTransaction.cpp:
1538         (WebCore::SQLiteTransaction::stop):
1539
1540 2008-02-18  Brady Eidson  <beidson@apple.com>
1541
1542         Reviewed by Darin
1543
1544         Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released
1545
1546         Test: platform/mac/plugins/webScriptObject-exception-deadlock.html
1547
1548         * bindings/objc/WebScriptObject.mm:
1549         (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key];    // defaults to throwing an exception` 
1550           says it all - it throws an exception.  This method also happens to hold the JSLock.  Problematically, when the exeception
1551           is thrown and the method exited, the JSLock is never released.  Fix that without otherwise changing behavior by holding the 
1552           JSLock in two individual scopes - Right before the exception and right after.  
1553
1554 2008-02-18  Darin Adler  <darin@apple.com>
1555
1556         Reviewed by Sam.
1557
1558         - reduce use of DeprecatedString and memory allocations in processing of CSS
1559         - remove unnecessary double -> float -> double trip in the CSS parser
1560         - cleaned up names and structure in CSS grammar
1561
1562         * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp
1563         instead, and they now work on ParseString and String objects and don't require the caller
1564         to put the string into a char*. Gave members of the %union more sensible names, removed
1565         duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving
1566         it commented out.
1567         * css/CSSParser.cpp:
1568         (WebCore::equalIgnoringCase): Added.
1569         (WebCore::hasPrefix): Added.
1570         (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID,
1571         which obviates the need to call lower() and utf8() or to allocate memory at all. Also
1572         used equalIgnoringCase rather than putting the value into a String just to compare it.
1573         (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change
1574         along with the CSSGrammar.y change, removes the double -> float -> double round trip, and
1575         affects the result of one layout test.
1576         (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but
1577         without allocating any memory.
1578         (WebCore::cssValueKeywordID): Ditto.
1579         * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in
1580         CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions.
1581
1582         * css/CSSStyleDeclaration.cpp:
1583         (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID.
1584         (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto.
1585         (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto.
1586         (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto.
1587         (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto.
1588         (WebCore::CSSStyleDeclaration::setProperty): Ditto.
1589         (WebCore::CSSStyleDeclaration::removeProperty): Ditto.
1590         (WebCore::CSSStyleDeclaration::isPropertyName): Ditto.
1591         * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate,
1592         and the getPropertyID function declaration along with its associated apology comment.
1593
1594         * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an
1595         enumeration, like properties, since you rarely have any reason to handle all values, but
1596         often have a reason to handle all properties). Renamed the constant for the number of CSS
1597         value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength.
1598
1599         * platform/text/String.cpp:
1600         (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer
1601         rather than a CString.
1602
1603 2008-02-18  Dan Bernstein  <mitz@apple.com>
1604
1605         Reviewed by Dave Hyatt.
1606
1607         - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms
1608
1609         Test: fast/css/font-face-multiple-remote-sources.html
1610
1611         * css/CSSFontFace.cpp:
1612         (WebCore::CSSFontFace::fontLoaded):
1613         * css/CSSSegmentedFontFace.cpp:
1614         (WebCore::CSSSegmentedFontFace::fontLoaded):
1615
1616 2008-02-18  Darin Adler  <darin@apple.com>
1617
1618         Reviewed by Sam.
1619
1620         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1621         (WebCore::hasCSSPropertyNamePrefix): Added.
1622         (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster
1623         by using a Vector<UChar> and eliminating all the string operations.
1624
1625 2008-02-18  Stephanie Lewis  <slewis@apple.com>
1626
1627         Reviewed by Adam.
1628
1629         Remove workaround for <rdar://problem/5695848>.
1630         
1631         * platform/network/cf/ResourceResponseCFNet.cpp:
1632         (WebCore::ResourceResponse::doUpdateResourceResponse):
1633
1634 2008-02-18  Samuel Weinig  <sam@webkit.org>
1635
1636         Reviewed by Geoff Garen.
1637
1638         Fix for http://bugs.webkit.org/show_bug.cgi?id=17419
1639         Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode
1640
1641         * bindings/js/kjs_proxy.cpp:
1642         (WebCore::KJSProxy::initScript):
1643
1644 2008-02-18  Alp Toker  <alp@atoker.com>
1645
1646         Reviewed by Mark Rowe.
1647
1648         http://bugs.webkit.org/show_bug.cgi?id=17381
1649         [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2)
1650
1651         This patch resolves the regression for the GTK+ port.
1652
1653         * platform/network/curl/ResourceHandleManager.cpp:
1654         (WebCore::parseDataUrl):
1655
1656 2008-02-18  Darin Adler  <darin@apple.com>
1657
1658         Reviewed by Sam.
1659
1660         * platform/network/win/ResourceHandleWin.cpp:
1661         (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString.
1662         (WebCore::ResourceHandle::start): Ditto.
1663
1664 2008-02-18  Darin Adler  <darin@apple.com>
1665
1666         Reviewed by Sam.
1667
1668         * platform/network/win/CookieJarWin.cpp:
1669         (WebCore::setCookies): Use String instead of DeprecatedString.
1670         (WebCore::cookies): Ditto.
1671
1672 2008-02-18  Darin Adler  <darin@apple.com>
1673
1674         Reviewed by Sam.
1675
1676         - removed use of DeprecatedString in the Color class
1677
1678         * platform/graphics/Color.cpp:
1679         (WebCore::Color::parseHexColor): Streamlined logic a bit with early returns.
1680         Used toASCIIHexValue a character at a time rather than using toIntStrict
1681         in base 16 mode.
1682         (WebCore::findNamedColor): Added. Uses a fixed-size char buffer to look up
1683         a color using the gperf-generated findColor function. Saves a memory allocation
1684         vs. the old version that called DeprecatedString::latin1().
1685         (WebCore::Color::setNamedColor): Changed to use findNamedColor.
1686
1687 2008-02-18  Darin Adler  <darin@apple.com>
1688
1689         Reviewed by Sam.
1690
1691         * editing/htmlediting.cpp:
1692         (WebCore::stringWithRebalancedWhitespace): Changed to use String instead of
1693         DeprecatedString.
1694
1695 2008-02-18  Darin Adler  <darin@apple.com>
1696
1697         Reviewed by Sam.
1698
1699         * editing/SelectionController.cpp:
1700         (WebCore::SelectionController::debugRenderer): Changed to use String instead of
1701         DeprecatedString.
1702
1703 2008-02-18  Darin Adler  <darin@apple.com>
1704
1705         Reviewed and landed by Sam.
1706
1707         Remove DeprecatedStringList.
1708
1709         * GNUmakefile.am:
1710         * WebCore.pro:
1711         * WebCore.vcproj/WebCore.vcproj:
1712         * WebCore.xcodeproj/project.pbxproj:
1713         * WebCoreSources.bkl:
1714         * editing/markup.cpp:
1715         * platform/DeprecatedStringList.cpp: Removed.
1716         * platform/DeprecatedStringList.h: Removed.
1717         * platform/mac/DeprecatedStringListMac.mm: Removed.
1718
1719 2008-02-18  Darin Adler  <darin@apple.com>
1720
1721         Reviewed by Sam.
1722
1723         * css/CSSPrimitiveValueMappings.h: Add default cases to all the switch statements.
1724         This will ease the way some day if we decide to use an enum instead of int; otherwise
1725         we'll have a ton of "unhandled enum value" warnings here.
1726
1727 2008-02-18  Alp Toker  <alp@atoker.com>
1728
1729         Build fix for GTK+ < 2.10. Fall back to simple text clipboard copy
1730         with older GTK+ versions for now.
1731
1732         * platform/gtk/PasteboardGtk.cpp:
1733         (WebCore::Pasteboard::writeSelection):
1734
1735 2008-02-18  Darin Adler  <darin@apple.com>
1736
1737         Reviewed by Sam.
1738
1739         * WebCore.base.exp: Export a couple of WebCore::String functions we plan to use
1740         in the future in WebKit.
1741
1742 2008-02-18  Darin Adler  <darin@apple.com>
1743
1744         Reviewed by Sam.
1745
1746         * DerivedSources.make: Added the scripts to the ENABLE_SVG versions of the rules
1747         for CSSPropertyNames.h and CSSValueKeywords.h. Somehow that got left out, so the
1748         files would not be regenerated if the scripts were changed (but would if SVG was
1749         disabled).
1750
1751 2008-02-18  Alexey Proskuryakov  <ap@webkit.org>
1752
1753         Suggested by Darin.
1754
1755         * platform/KURL.h: (WebCore::KURL::operator const String&): Added, to avoid unexpected
1756         conversion via UString (as in bug 17418).
1757
1758 2008-02-18  Jon Honeycutt  <jhoneycutt@apple.com>
1759
1760         Reviewed by Darin.
1761
1762         <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort
1763         slow script Flash 9 dialog at http://www.kidzui.com
1764
1765         When navigating to a new page, we stop all outstanding PluginStreams.
1766         Flash hangs in the call to NPP_URLNotify. It eventually displays the
1767         "slow script" dialog, which relinquishes control to the system. While
1768         this dialog is running, the request we are in the process of cancelling
1769         completes, and we re-enter Flash to deliver the data. When the dialog
1770         is dismissed, the internal state of Flash has changed, and Flash
1771         crashes with a null dereference.
1772
1773         To work around this, we can defer loading before entering plug-in code,
1774         so that even if a plug-in yields to the system, we won't get callbacks
1775         while we're handling a callback.
1776
1777         * plugins/PluginStream.cpp:
1778         (WebCore::PluginStream::startStream): Defers loads while calling into
1779         plug-in.
1780         (WebCore::PluginStream::destroyStream): Same.
1781         (WebCore::PluginStream::deliverData): Same.
1782         (WebCore::PluginStream::didFail): Protect 'this' from deletion by
1783         destroyStream. Null out m_loader only after destroyStream returns.
1784         (WebCore::PluginStream::didFinishLoading): Same.
1785
1786 2008-02-18  Alexey Proskuryakov  <ap@webkit.org>
1787
1788         Reviewed by Darin.
1789
1790         http://bugs.webkit.org/show_bug.cgi?id=17418
1791         REGRESSION: Assertion failure dragging image (JSLock::lockCount() > 0)
1792
1793         * platform/win/ClipboardWin.cpp:
1794         (WebCore::ClipboardWin::declareAndWriteDragImage): Explicitly convert from KURL to String,
1795         as an implicit conversion uses UString and thus needs a JSLock.
1796
1797 2008-02-17  Sam Weinig  <sam@webkit.org>
1798
1799         Roll out r30360.
1800
1801         * loader/FrameLoader.cpp:
1802         (WebCore::FrameLoader::changeLocation):
1803
1804 2008-02-17  Sam Weinig  <sam@webkit.org>
1805
1806         Mac build fix.
1807
1808         * WebCore.xcodeproj/project.pbxproj:
1809
1810 2008-02-17  Alp Toker  <alp@atoker.com>
1811
1812         Attempt to fix the Wx build (has been broken all weekend).
1813
1814         Stub out some graphics functions.
1815
1816         * platform/graphics/wx/GraphicsContextWx.cpp:
1817         (WebCore::GraphicsContext::beginPath):
1818         (WebCore::GraphicsContext::addPath):
1819         * platform/graphics/wx/PathWx.cpp:
1820         (WebCore::Path::isEmpty):
1821
1822 2008-02-17  Julien Chaffraix  <julien.chaffraix@gmail.com>
1823
1824         Reviewed by Alexey Proskuryakov.
1825
1826         http://bugs.webkit.org/show_bug.cgi?id=16989
1827         bug 16989 : Add send() flag checks in XmlHttpRequest
1828
1829         Splitted XmlHttpRequest::abort into abort (called from JavaScript) and internalAbort that
1830         perform the cancellation and is called mainly from internal methods.
1831
1832         Tests: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
1833                http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html
1834                http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html
1835
1836         * xml/XMLHttpRequest.cpp:
1837         (WebCore::XMLHttpRequest::open): Now call internalAbort() and moved readyState change into method
1838         (WebCore::XMLHttpRequest::send): Added m_loader check
1839         (WebCore::XMLHttpRequest::abort): Now update readyState and clear the request headers as specified
1840         in the spec
1841
1842         (WebCore::XMLHttpRequest::internalAbort): Perform cancellation internal operations (no readyState update)
1843         (WebCore::XMLHttpRequest::setRequestHeader): Added m_loader check
1844
1845         (WebCore::XMLHttpRequest::processSyncLoadResults): Now call internalAbort() instead of abort()
1846         (WebCore::XMLHttpRequest::willSendRequest): Ditto
1847         (WebCore::XMLHttpRequest::cancelRequests): Ditto
1848         (WebCore::XMLHttpRequest::detachRequests): Ditto
1849         * xml/XMLHttpRequest.h: Added the private internalAbort method
1850
1851 2008-02-17  Sam Weinig  <sam@webkit.org>
1852
1853         Reviewed by Dan Bernstein.
1854
1855         Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
1856         document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
1857
1858         - Updated fast/events/event-instanceof.html to test document.createEvent("MessageEvent").
1859
1860         * DerivedSources.make:
1861         Generate Objective-C binding for DOMProgressEvent which was missing.
1862
1863         * WebCore.xcodeproj/project.pbxproj:
1864         Add missing DOMProgressEvent files to the project.
1865
1866         * bindings/js/JSEventCustom.cpp:
1867         (WebCore::toJS):
1868         Clean up and add case for SVGZoomEvent that was missing.
1869
1870         * bindings/objc/DOMEvents.mm:
1871         (+[DOMEvent _wrapEvent:WebCore::]):
1872         Clean up and add cases for ProgressEvent and MessageEvent that were missing.
1873
1874         * dom/Document.cpp:
1875         (WebCore::Document::createEvent):
1876         Add case for MessageEvent.
1877
1878 2008-02-17  Adam Treat  <treat@kde.org>
1879
1880         Reviewed by Eric Seidel.
1881
1882         http://bugs.webkit.org/show_bug.cgi?id=17008
1883         Meta refresh does not work with cache turned off
1884
1885         Fix for issue noticed on http://adserver.vivox.com/2
1886
1887         * loader/FrameLoader.cpp:
1888         (WebCore::FrameLoader::changeLocation):
1889
1890 2008-02-17  Alp Toker  <alp@atoker.com>
1891
1892         Reviewed by Sam Weinig.
1893
1894         Fix for change made in r30355. Issue noticed by İsmail Dönmez.
1895
1896         Verify SSL certs by default, but allow checks to be disabled with an
1897         environment variable (WEBKIT_IGNORE_SSL_ERRORS) for now.
1898
1899         * platform/network/curl/ResourceHandleManager.cpp:
1900         (WebCore::ResourceHandleManager::startJob):
1901
1902 2008-02-17  Bin Chen  <binary.chen@gmail.com>
1903
1904         Reviewed by Alp Toker.
1905
1906         http://bugs.webkit.org/show_bug.cgi?id=17404
1907         Bug 17404: curl certification problem
1908
1909         Disable SSL cert verification until we have a way of distributing
1910         certs and/or reporting SSL errors to the user.
1911
1912         * platform/network/curl/ResourceHandleManager.cpp:
1913         (WebCore::ResourceHandleManager::startJob):
1914
1915 2008-02-17  Alp Toker  <alp@atoker.com>
1916
1917         Reviewed by Mark Rowe.
1918
1919         DevHelp fails to load local files; URL truncated by one character.
1920
1921         Fix a file:// URL regression introduced in KURL.cpp r30243.
1922
1923         * platform/KURL.cpp:
1924         (WebCore::KURL::KURL):
1925
1926 2008-02-17  Dan Bernstein  <mitz@apple.com>
1927
1928         Reviewed by Darin Adler.
1929
1930         - fix http://bugs.webkit.org/show_bug.cgi?id=17033
1931           <rdar://problem/5709315> REGRESSION: Really long <option> causes unnecessary page scroll bars to accommodate content
1932
1933         Test: fast/forms/control-clip-overflow.html
1934
1935         * rendering/RenderFlow.cpp:
1936         (WebCore::RenderFlow::lowestPosition): Account for control clipping.
1937         (WebCore::RenderFlow::rightmostPosition): Ditto.
1938         (WebCore::RenderFlow::leftmostPosition): Ditto.
1939
1940 2008-02-16  Oliver Hunt  <oliver@apple.com>
1941
1942         Reviewed by Eric S.
1943
1944         Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
1945
1946         Use cross-platform code to determine the dirty rects for
1947         fill and stroke operations
1948
1949         * html/CanvasRenderingContext2D.cpp:
1950         (WebCore::CanvasRenderingContext2D::fill):
1951         (WebCore::CanvasRenderingContext2D::stroke):
1952           Added a FIXME as code inspection shows a trivial under-painting
1953           bug, although we currently ignore dirty rect tracking on canvas
1954           and repaint the whole thing anyway.
1955         (WebCore::CanvasRenderingContext2D::fillRect):
1956
1957 2008-02-16  Sam Weinig  <sam@webkit.org>
1958
1959         Reviewed by Darin Adler.
1960
1961         Take another step in the direction of getting rid of DeprecatedString
1962         by moving all the to{NumericType} off of it.
1963
1964         - Create free functions that take a UChar* buffer and length to do
1965           the string-to-number conversions.  This allows us to avoid two allocations
1966           if we don't already have a String and is consistent with the design we would
1967           like going forward.
1968         - Since the toInt (and family) functions on DeprecatedString were slightly
1969           different than the ones on String (they didn't allow trailing garbage),
1970           an extra set of 'Strict' toInt functions were added that have this behavior.
1971
1972         * platform/graphics/Color.cpp:
1973         (WebCore::Color::parseHexColor):
1974         * platform/text/PlatformString.h:
1975         * platform/text/String.cpp:
1976         (WebCore::String::percentage):
1977         (WebCore::String::toIntStrict):
1978         (WebCore::String::toUIntStrict):
1979         (WebCore::String::toInt64Strict):
1980         (WebCore::String::toUInt64Strict):
1981         (WebCore::String::toUInt):
1982         (WebCore::String::toDouble):
1983         (WebCore::isCharacterAllowedInBase):
1984         (WebCore::toIntegralType):
1985         (WebCore::lengthOfCharactersAsInteger):
1986         (WebCore::charactersToIntStrict):
1987         (WebCore::charactersToUIntStrict):
1988         (WebCore::charactersToInt64Strict):
1989         (WebCore::charactersToUInt64Strict):
1990         (WebCore::charactersToInt):
1991         (WebCore::charactersToUInt):
1992         (WebCore::charactersToInt64):
1993         (WebCore::charactersToUInt64):
1994         (WebCore::charactersToDouble):
1995         (WebCore::charactersToFloat):
1996         * platform/text/StringImpl.cpp:
1997         (WebCore::parseLength):
1998         (WebCore::StringImpl::toIntStrict):
1999         (WebCore::StringImpl::toUIntStrict):
2000         (WebCore::StringImpl::toInt64Strict):
2001         (WebCore::StringImpl::toUInt64Strict):
2002         (WebCore::StringImpl::toInt):
2003         (WebCore::StringImpl::toUInt):
2004         (WebCore::StringImpl::toInt64):
2005         (WebCore::StringImpl::toUInt64):
2006         (WebCore::StringImpl::toDouble):
2007         (WebCore::StringImpl::toFloat):
2008         * platform/text/StringImpl.h:
2009         * svg/SVGAnimationElement.cpp:
2010         (WebCore::SVGAnimationElement::parseClockValue):
2011         * svg/SVGFETurbulenceElement.cpp:
2012         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
2013
2014 2008-02-16  Dan Bernstein  <mitz@apple.com>
2015
2016         Reviewed by Sam Weinig.
2017
2018         - fix fixed-pitch font measurement of control characters that render
2019           as zero-width space
2020
2021         Test: fast/text/fixed-pitch-control-characters.html
2022
2023         * rendering/RenderText.cpp:
2024         (WebCore::RenderText::widthFromCache):
2025
2026 2008-02-16  Kevin Ollivier  <kevino@theolliviers.com>
2027
2028         wx build fix.
2029
2030         * platform/graphics/wx/GraphicsContextWx.cpp:
2031         (WebCore::GraphicsContext::drawImage):
2032
2033 2008-02-16  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
2034
2035         Reviewed by Alp Toker.
2036
2037         Cross document messaging GTK+/autotools build fix.
2038
2039         * GNUmakefile.am:
2040
2041 2008-02-15  Oliver Hunt  <oliver@apple.com>
2042
2043         Build fix for Qt and Cairo builds
2044
2045         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2046         (WebCore::GraphicsContext::drawImage):
2047         * platform/graphics/qt/GraphicsContextQt.cpp:
2048
2049 2008-02-15  Oliver Hunt  <oliver@apple.com>
2050
2051         Reviewed by Dan B.
2052
2053         Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
2054         Refactor CanvasRenderingContext2D::drawImage(HTMLCanvasElement) to remove evil ifdefs
2055
2056         Add logic draw(ImageBuffer*) method to GraphicsContext to handle
2057         painting the source canvas content.
2058
2059         * html/CanvasRenderingContext2D.cpp:
2060         (WebCore::CanvasRenderingContext2D::drawImage):
2061         * html/HTMLCanvasElement.cpp:
2062         (WebCore::HTMLCanvasElement::buffer):
2063         * html/HTMLCanvasElement.h:
2064         * platform/graphics/GraphicsContext.h:
2065         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2066         (WebCore::GraphicsContext::drawImage):
2067         * platform/graphics/cg/GraphicsContextCG.cpp:
2068         (WebCore::GraphicsContext::paintBuffer):
2069         (WebCore::GraphicsContext::drawImage):
2070         * platform/graphics/qt/GraphicsContextQt.cpp:
2071         (WebCore::GraphicsContext::drawImage):
2072
2073 2008-02-15  Kevin Ollivier  <kevino@theolliviers.com>
2074
2075         Reviewed by David Hyatt.
2076
2077         Using GetNativeFontInfoDesc() to generate the hash value was
2078         leading to duplicate entries in the HashMap. Use the font object's
2079         pointer instead.
2080
2081         http://bugs.webkit.org/show_bug.cgi?id=17371
2082
2083         * platform/graphics/wx/FontPlatformData.h:
2084         (WebCore::FontPlatformData::computeHash):
2085
2086 2008-02-15  Ada Chan  <adachan@apple.com>
2087
2088         When parsing url we get from a CFURLRef, we need to null terminate 
2089         the string for the case when url ends with a '/'.
2090
2091         Reviewed by Darin.
2092
2093         * platform/cf/KURLCFNet.cpp:
2094         (WebCore::KURL::KURL):
2095
2096 2008-02-15  Brady Eidson  <beidson@apple.com>
2097
2098         Reviewed by Darin
2099
2100         Fix for <rdar://problem/5727175> and <rdar://problem/5740495> - Database threads and callback scripts can run after
2101         a page has closed or loaded a new document
2102
2103         Deciding to make the Database I/O semantic the same as loaders/XHR when a document is shut down, this patch implements
2104         a policy of shutting down the databases in a document at the same time.  This includes removing all pending transactions 
2105         in a database, cutting off an queued statements in the current transaction, and preventing further callbacks from being
2106         made.
2107
2108         No new layout tests with this patch as the current layout tests were catching this issue in a plethora of ways already
2109         (crashing, unexpected exceptions and output, etc)
2110
2111         * dom/Document.cpp:
2112         (WebCore::Document::~Document): Don't actually stop the database thread here - it better have been stopped already.
2113           Add an assertion to that effect.
2114         (WebCore::Document::addOpenDatabase): Add a new database handle to this Document's open database set
2115         (WebCore::Document::removeOpenDatabase): Remove such a handle
2116         (WebCore::Document:: stopDatabases): Call "close" on all open Database handles for this document
2117         * dom/Document.h:
2118
2119         * loader/FrameLoader.cpp:
2120         (WebCore::FrameLoader::stopLoading): In addition to canceling all resource loads and XHRs, stop all database I/O
2121
2122         * platform/MessageQueue.h:
2123         (WebCore::MessageQueue::killed): 
2124
2125         * platform/sql/SQLiteTransaction.cpp:
2126         (WebCore::SQLiteTransaction::stop): Added.  Explicit stop to cut off a transaction so it won't try anymore SQL activity
2127         * platform/sql/SQLiteTransaction.h:
2128
2129         * storage/Database.cpp:
2130         (WebCore::Database::Database):
2131         (WebCore::Database::~Database):
2132         (WebCore::Database::markAsDeletedAndClose): Check if the thread has terminated before committing to waiting on the
2133           thread.
2134         (WebCore::Database::stop):  Stop this database, including all queued transactions and callbacks
2135         * storage/Database.h:
2136         (WebCore::Database::stopped):
2137
2138         * storage/DatabaseThread.cpp:
2139         (WebCore::DatabaseThread::terminationRequested):
2140         * storage/DatabaseThread.h:
2141
2142         * storage/SQLTransaction.cpp:
2143         (WebCore::SQLTransaction::executeSQL): Throw an exception if a new executeSQL comes in after a database is closed
2144         (WebCore::SQLTransaction::checkAndHandleClosedDatabase): Added.  Clears queued statements and clear the next step
2145           when the database has been closed since the last step/callback was run.  Also stops the current SQLite transaction,
2146           if any
2147         (WebCore::SQLTransaction::performNextStep):
2148         (WebCore::SQLTransaction::performPendingCallback):
2149         * storage/SQLTransaction.h:
2150
2151 2008-02-15  Adele Peterson  <adele@apple.com>
2152
2153         Reviewed by Darin.
2154
2155         Fix for <rdar://problem/5745072> REGRESSION (r29348): Shift + Tab does not change indent level on Google Docs
2156
2157         The immediate cause of this bug was that we stopped sending keypress events for the tab key when it is used to advance focus.
2158         We had a special case for forward-tab in designMode, where the default behavior was to insert a tab key (or respect the keypress handler behavior).
2159         This change makes the shift-tab behavior match the forward-tab behavior.
2160
2161         If the site had put their event handler (which does the indenting) on the keydown event, then this problem would have been avoided.
2162         This is something we should look into and maybe advise the site on in the future.  However, it's a low-risk change to just make tab and shift-tab uniform 
2163         in this respect, so I think this is the way to go for right now.
2164
2165         * page/EventHandler.cpp: (WebCore::EventHandler::defaultTabEventHandler):
2166
2167 2008-02-15  Anders Carlsson  <andersca@apple.com>
2168
2169         Reviewed by Alice.
2170
2171         <rdar://problem/5738678>
2172         REGRESSION: "Loading" status remains when uploading file to .Mac iDisk via Safari
2173         
2174         Use the new CFNetwork functions for setting body parts.
2175         
2176         * platform/network/cf/FormDataStreamCFNet.cpp:
2177         (WebCore::setHTTPBody):
2178         (WebCore::httpBodyFromRequest):
2179
2180 2008-02-15  Geoffrey Garen  <ggaren@apple.com>
2181
2182         Reviewed by Anders Carlsson.
2183         
2184         Fixed <rdar://problem/5725429> REGRESSION (r27898): Greenfield online
2185         surveys no longer work due to XMLHttpRequest exceptions
2186         
2187         Reverted some exception throwing code from r12194.
2188         
2189         To comply with the W3C draft spec, we used to throw an exception when
2190         trying to access responseText and responseXML at the wrong time, but
2191         that turned out to be a compatibility problem.
2192         
2193         Now, matching Firefox and previous versions of WebKit, we never throw
2194         an exception when accessing responseText or responseXML.
2195         
2196         See http://www.mail-archive.com/public-webapi@w3.org/msg02756.html.
2197
2198         * xml/XMLHttpRequest.cpp:
2199         (WebCore::XMLHttpRequest::getResponseText):
2200         (WebCore::XMLHttpRequest::getResponseXML):
2201
2202 2008-02-15  Justin Garcia  <justin.garcia@apple.com>
2203
2204         Reviewed by Dan Bernstein.
2205
2206         <rdar://problem/5738768> REGRESSION (r30062): Crash in InlineTextBox::isLineBreak() when Undoing a replace
2207         
2208         Rolled out <http://trac.webkit.org/projects/webkit/changeset/29667>
2209
2210         * editing/SelectionController.cpp:
2211         (WebCore::SelectionController::nodeWillBeRemoved):
2212
2213 2008-02-15  Alice Liu  <alice.liu@apple.com>
2214
2215         Reviewed by Darin.
2216
2217         Fixed <rdar://problem/5741440> REGRESSION (r28496): After deactivating JavaScript, scripts embedded in the HTML page continue to run
2218      
2219         Before this patch, Frame::scriptProxy() would only return null in the case that javascript was 
2220         disabled and if the script proxy field wasn't set (which would only be the case if the window 
2221         hasn't loaded anything yet).  Not all callers of scriptProxy() always check for a non-null return 
2222         value.  Those that did check would effectively be checking if javascript was enabled before proceeding.
2223         This fix consists of 2 elements: first, make sure that scriptProxy() will never return null, regardless 
2224         of whether javascript is disabled.  This will mean that callers who don't check for null won't crash.  
2225         Second, callers who did check for null now instead check for javascript being disabled.  This means that 
2226         code paths intended for preventing javascript from being run will be making the correct check.  Another
2227         minor addition to this patch is that I added a function on KSJProxy to be a shortcut for checking if javascript
2228         is enabled. 
2229
2230         * bindings/js/JSCustomSQLStatementCallback.cpp:
2231         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2232         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2233         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2234         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2235         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2236         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2237         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2238         * bindings/js/JSCustomVoidCallback.cpp:
2239         (WebCore::JSCustomVoidCallback::handleEvent):
2240         * bindings/js/JSCustomXPathNSResolver.cpp:
2241         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2242         * bindings/js/ScheduledAction.cpp:
2243         (WebCore::ScheduledAction::execute):
2244         * bindings/js/kjs_events.cpp:
2245         (WebCore::JSAbstractEventListener::handleEvent):
2246         (WebCore::JSLazyEventListener::parseCode):
2247         * bindings/js/kjs_html.cpp:
2248         (WebCore::runtimeObjectImplementsCall):
2249         * bindings/js/kjs_proxy.cpp:
2250         (WebCore::KJSProxy::isEnabled):
2251         * bindings/js/kjs_proxy.h:
2252         * bindings/js/kjs_window.cpp:
2253         (KJS::Window::retrieveWindow):
2254         (KJS::Window::retrieve):
2255         * dom/Document.cpp:
2256         (WebCore::Document::createHTMLEventListener):
2257         * dom/EventTarget.cpp:
2258         (WebCore::EventTarget::dispatchGenericEvent):
2259         * html/HTMLPlugInElement.cpp:
2260         (WebCore::HTMLPlugInElement::createNPObject):
2261         * html/HTMLScriptElement.cpp:
2262         (WebCore::HTMLScriptElement::evaluateScript):
2263         * html/HTMLTokenizer.cpp:
2264         (WebCore::HTMLTokenizer::parseTag):
2265         (WebCore::HTMLTokenizer::processToken):
2266         * loader/FrameLoader.cpp:
2267         (WebCore::FrameLoader::executeScript):
2268         (WebCore::FrameLoader::userGestureHint):
2269         (WebCore::FrameLoader::open):
2270         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
2271         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2272         * manual-tests/disable-javascript-reload.html: Added.
2273         * page/Frame.cpp:
2274         (WebCore::Frame::scriptProxy):
2275         (WebCore::Frame::bindingRootObject):
2276         (WebCore::Frame::windowScriptNPObject):
2277         * page/Frame.h:
2278         * page/InspectorController.cpp:
2279         (WebCore::canPassNodeToJavaScript):
2280         * page/mac/FrameMac.mm:
2281         (WebCore::Frame::windowScriptObject):
2282         * svg/SVGDocumentExtensions.cpp:
2283         (WebCore::SVGDocumentExtensions::createSVGEventListener):
2284
2285 2008-02-15  Dan Bernstein  <mitz@apple.com>
2286
2287         Reviewed by Alexey Proskuryakov.
2288
2289         - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
2290           <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
2291
2292         Test: http/tests/loading/text-content-type-with-binary-extension.html
2293
2294         Refined the workaround for <rdar://problem/5321972> to exclude files
2295         with extensions that are known to be associated with binary MIME types.
2296
2297         * WebCore.xcodeproj/project.pbxproj: Added WebCoreURLResponse.{h,mm}.
2298         * platform/network/mac/ResourceResponseMac.mm:
2299         (WebCore::ResourceResponse::doUpdateResourceResponse): Moved the
2300         workaround logic into WebCoreURLResponse.
2301         * platform/network/mac/WebCoreURLResponse.h: Added.
2302         * platform/network/mac/WebCoreURLResponse.mm: Added.
2303         (createBinaryExtensionsSet): Returns a set of extensions known to
2304         belong to MIME types of binary data.
2305         (-[NSURLResponse _webcore_MIMEType]):
2306         (-[NSHTTPURLResponse _webcore_MIMEType]): Forces the MIME type from
2307         application/octet-stream to text/plain if that is the specified
2308         Content-Type, unless the extension is in the binary extensions set.
2309
2310 2008-02-15  Dan Bernstein  <mitz@apple.com>
2311
2312         Reviewed by Dave Hyatt.
2313
2314         - fix http://bugs.webkit.org/show_bug.cgi?id=17306
2315           <rdar://problem/5737923> Transitions between styles that have different transition-* properties behave inconsistently
2316
2317         * manual-tests/transitions.html: Added.
2318         * page/AnimationController.cpp:
2319         (WebCore::CompositeImplicitAnimation::animate): Changed to use the
2320         transition properties of the current style rather than the target style.
2321         (WebCore::AnimationControllerPrivate::get): Changed to not create an
2322         animation if the style does not have transitions.
2323         (WebCore::AnimationController::updateImplicitAnimations): Added code to
2324         return the target style if the current style is not animating.
2325         * rendering/RenderObject.cpp:
2326         (WebCore::RenderObject::setAnimatableStyle): Changed to call
2327         updateImplicitAnimations() even if the current style does not have
2328         transitions, because we may be animating out of a style that had them.
2329
2330 2008-02-15  Alexey Proskuryakov  <ap@webkit.org>
2331
2332         Rubber-stamped by Darin.
2333
2334         Remove an obsolete WebCore readme file.
2335
2336         * README: Removed.
2337
2338 2008-02-15  Sam Weinig  <sam@webkit.org>
2339
2340         Reviewed by Darin Adler.
2341
2342         Remove more uses of DeprecatedString in preparation of getting rid of it.
2343
2344         * bridge/mac/WebCoreScriptDebugger.mm:
2345         * css/CSSCursorImageValue.cpp:
2346         (WebCore::isSVGCursorIdentifier):
2347         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2348         * css/CSSStyleSelector.h:
2349         * dom/Element.cpp:
2350         (WebCore::Element::dump):
2351         (WebCore::Element::formatForDebugger):
2352         * dom/Position.cpp:
2353         (WebCore::Position::debugPosition):
2354         (WebCore::Position::formatForDebugger):
2355         * dom/Range.cpp:
2356         (WebCore::Range::formatForDebugger):
2357         * dom/Text.cpp:
2358         (WebCore::Text::formatForDebugger):
2359         * editing/Selection.cpp:
2360         (WebCore::Selection::debugPosition):
2361         (WebCore::Selection::formatForDebugger):
2362         * editing/SelectionController.cpp:
2363         (WebCore::SelectionController::debugRenderer):
2364         * editing/VisiblePosition.cpp:
2365         (WebCore::VisiblePosition::debugPosition):
2366         * html/HTMLTokenizer.cpp:
2367         (WebCore::HTMLTokenizer::scriptHandler):
2368         (WebCore::HTMLTokenizer::parseTag):
2369         (WebCore::HTMLTokenizer::processToken):
2370         (WebCore::HTMLTokenizer::notifyFinished):
2371         * svg/SVGFontFaceElement.cpp:
2372         (WebCore::mapAttributeToCSSProperty):
2373
2374 2008-02-15  Adam Roben  <aroben@apple.com>
2375
2376         * bindings/scripts/CodeGenerator.pm: Touch this to force bindings to
2377         regenerate.
2378
2379 2008-02-15  Adam Roben  <aroben@apple.com>
2380
2381         Try to fix Qt/GTK+ builds
2382
2383         * WebCore.pro: Remove MessageEvent.{idl,cpp} from the unconditional
2384         parts of this file.
2385
2386 2008-02-15  Darin Adler  <darin@apple.com>
2387
2388         - another Qt build fix
2389
2390         * platform/qt/KURLQt.cpp:
2391         (WebCore::KURL::operator QUrl): Use the characters directly, not ascii().
2392         Eliminate references to urlString.
2393
2394 2008-02-15  Darin Adler  <darin@apple.com>
2395
2396         - another Qt build fix
2397
2398         * platform/qt/ClipboardQt.cpp:
2399         (WebCore::ClipboardQt::declareAndWriteDragImage): Use KURL instead of String.
2400
2401 2008-02-14  Darin Adler  <darin@apple.com>
2402
2403         - another round of build fixes
2404
2405         * platform/KURL.cpp:
2406         (WebCore::appendEncodedHostname): Fix spelling (strLen, not strlen).
2407         * platform/network/curl/ResourceHandleManager.cpp:
2408         (WebCore::parseDataUrl): Fix a ".." typo and call data instead of characters.
2409
2410 2008-02-14  Darin Adler  <darin@apple.com>
2411
2412         - added back accidentally-removed files
2413
2414         * platform/DeprecatedStringList.cpp: Copied from platform/DeprecatedStringList.cpp.
2415         * platform/DeprecatedStringList.h: Copied from platform/DeprecatedStringList.h.
2416         * platform/mac/DeprecatedStringListMac.mm: Copied from platform/mac/DeprecatedStringListMac.mm.
2417
2418 2008-02-14  Darin Adler  <darin@apple.com>
2419
2420         - more build fixes
2421
2422         * platform/KURL.cpp:
2423         (WebCore::appendEncodedHostname): Use String to make a QString.
2424         * platform/network/cf/ResourceRequest.h:
2425         (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
2426         * platform/network/curl/ResourceHandleManager.cpp:
2427         (WebCore::parseDataUrl): Updated to String rather than DeprecatedString functions.
2428
2429 2008-02-14  Darin Adler  <darin@apple.com>
2430
2431         - next Qt build fix
2432
2433         * platform/network/qt/ResourceRequest.h:
2434         (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
2435
2436 2008-02-14  Darin Adler  <darin@apple.com>
2437
2438         - another build fix
2439
2440         * platform/network/curl/ResourceRequest.h:
2441         (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
2442
2443 2008-02-14  Darin Adler  <darin@apple.com>
2444
2445         - first Qt build fix
2446
2447         * dom/XMLTokenizer.cpp:
2448         (WebCore::XMLTokenizer::endElementNs): Added a missing string() call.
2449
2450 2008-02-14  Darin Adler  <darin@apple.com>
2451
2452         Reviewed by Eric Seidel.
2453
2454         Based on work by Marvin Decker <marv.decker@gmail.com>
2455
2456         - fix http://bugs.webkit.org/show_bug.cgi?id=16538
2457           KURL should use String instead of DeprecatedString
2458
2459         - fix http://bugs.webkit.org/show_bug.cgi?id=16485
2460           DocLoader::checkForReload will crash if the URL isNull
2461           and a similar problem in IconDatabase
2462
2463         - fix http://bugs.webkit.org/show_bug.cgi?id=16487
2464           KURL doesn't preserve isNull when constructed with a DeprecatedString
2465
2466         - changed completeURL and various DOM getters to return KURL, to avoid
2467           conversion back and forth from KURL to String
2468
2469         - changed the conversion of KURL to NSURL or NSString to be automatic,
2470           to ease the use of KURL in Objective C DOM bindings, and eliminated
2471           the getNSURL function
2472
2473         - because I had to visit the DOM bindings anyway, eliminated almost all
2474           the use of the KJS namespace for things in WebCore
2475
2476         - fixed HTMLOptionElement constructor to check for undefined rather
2477           than size of the arguments array
2478
2479         - eliminated some other unnecessary uses of DeprecatedString
2480
2481         - changed String::split to take a Vector parameter instead of returning
2482           a Vector, for better performance
2483
2484         - added a couple of missing calls to do layout in SVG image handling;
2485           I was able to reproduce these only because I had broken URLs for a
2486           while -- not sure how to reproduce them now but the changes are
2487           clearly needed
2488
2489         Performance testing shows this to be at least a 1% speedup.
2490
2491         Added a new function protocols to efficiently compare protocols
2492         without case errors and a blankURL function so we don't have to
2493         code "about:blank" in multiple places in the code and don't have to
2494         construct a frash KURL each time. Moved decode_string and encode_string
2495         out of KURL and gave them clearer names.
2496
2497         Made KURL constructors explicit to highlight potentially-expensive
2498         operations and the poor semantics of KURL's constructor that takes
2499         a String.
2500
2501         * WebCore.base.exp: Updated.
2502
2503         * bindings/js/JSAttrCustom.cpp:
2504         (WebCore::JSAttr::setValue): Use protocolIs.
2505         * bindings/js/JSAudioConstructor.h: KJS namespace change.
2506         * bindings/js/JSCSSRuleCustom.cpp:
2507         (WebCore::toJS): Ditto.
2508         * bindings/js/JSCSSValueCustom.cpp:
2509         (WebCore::toJS): Ditto.
2510         * bindings/js/JSDocumentCustom.cpp:
2511         (WebCore::JSDocument::location): Ditto.
2512         (WebCore::JSDocument::setLocation): Updated for KURL change.
2513         (WebCore::toJS): KJS namespace change.
2514         * bindings/js/JSElementCustom.cpp:
2515         (WebCore::allowSettingSrcToJavascriptURL): Use protocolIs.
2516         (WebCore::JSElement::setAttribute): KJS namespace change.
2517         (WebCore::JSElement::setAttributeNode): Ditto.
2518         (WebCore::JSElement::setAttributeNS): Ditto.
2519         (WebCore::JSElement::setAttributeNodeNS): Ditto.
2520         * bindings/js/JSHTMLFrameElementCustom.cpp:
2521         (WebCore::allowSettingJavascriptURL): Use protocolIs.
2522         (WebCore::JSHTMLFrameElement::setSrc): KJS namespace change.
2523         (WebCore::JSHTMLFrameElement::setLocation): Ditto.
2524         * bindings/js/JSHTMLIFrameElementCustom.cpp:
2525         (WebCore::JSHTMLIFrameElement::setSrc): Use protocolIs.
2526         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2527         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2528         (WebCore::JSHTMLOptionElementConstructor::construct): Cleaned up the
2529         structure a bit and changed checking to check for undefined rather than
2530         number of arguments.
2531         * bindings/js/JSHTMLOptionElementConstructor.h: KJS namespace change.
2532         * bindings/js/JSLocation.cpp:
2533         (WebCore::JSLocation::put): Eliminated some DeprecatedString use,
2534         and use protocolIs.
2535         (WebCore::jsLocationProtoFuncReplace): Ditto.
2536         (WebCore::jsLocationProtoFuncReload): Ditto.
2537         (WebCore::jsLocationProtoFuncAssign): Ditto.
2538         * bindings/js/JSLocation.h: KJS namespace change.
2539         * bindings/js/JSNamedNodeMapCustom.cpp:
2540         (WebCore::JSNamedNodeMap::canGetItemsForName): Ditto.
2541         (WebCore::JSNamedNodeMap::nameGetter): Ditto.
2542         * bindings/js/JSNamedNodesCollection.cpp:
2543         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Ditto.
2544         * bindings/js/JSNamedNodesCollection.h: Ditto.
2545         * bindings/js/JSXMLHttpRequest.cpp:
2546         (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Removed
2547         DeprecatedString use.
2548         (WebCore::jsXMLHttpRequestPrototypeFunctionSend): Ditto.
2549         * bindings/js/JSXMLHttpRequest.h: Moved this class into the WebCore
2550         namespace.
2551         * bindings/js/JSXSLTProcessor.cpp: Namespace change.
2552         * bindings/js/JSXSLTProcessor.h: Ditto.
2553
2554         * bindings/js/kjs_binding.cpp: Updated for namespace change.
2555         (WebCore::jsStringOrNull): Added an overload for KURL to allow DOM
2556         classes to return KURL even if the DOM expects a string.
2557         (WebCore::jsStringOrUndefined): Ditto.
2558         (WebCore::jsStringOrFalse): Ditto.
2559         * bindings/js/kjs_binding.h: Moved everything into the WebCore
2560         namespace.
2561
2562         * bindings/js/kjs_css.h: Namespace change.
2563         * bindings/js/kjs_events.cpp: Removed an include.
2564         * bindings/js/kjs_events.h: Namespace change.
2565         * bindings/js/kjs_html.h: Namespace change.
2566
2567         * bindings/js/kjs_navigator.cpp: Moved everything into the
2568         WebCore namespace.
2569         * bindings/js/kjs_navigator.h: Ditto.
2570
2571         * bindings/js/kjs_window.cpp:
2572         (KJS::parseModalDialogFeatures): Updated for String::split change.
2573         (KJS::createWindow): Use protocolIs and removed some DeprecatedString.
2574         (KJS::Window::put): Ditto.
2575         (KJS::Window::allowsAccessFrom): Ditto.
2576         (KJS::windowProtoFuncOpen): Ditto.
2577
2578         * bindings/objc/DOM.mm:
2579         (-[DOMElement _getURLAttribute:]): Removed getNSURL call.
2580         * bindings/objc/DOMHTML.mm:
2581         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto.
2582
2583         * bindings/scripts/CodeGeneratorCOM.pm: Updated includes so conversions from
2584         KURL will work.
2585         * bindings/scripts/CodeGeneratorJS.pm: Updated for namespace changes, and also
2586         updated includes so conversions from KURL will work.
2587         * bindings/scripts/CodeGeneratorObjC.pm: Updated includes so conversions from
2588         KURL will work.
2589
2590         * bridge/mac/WebCoreAXObject.mm:
2591         (-[WebCoreAXObject accessibilityAttributeValue:]): Removed getNSURL call.
2592         Also streamlined the logic.
2593         (AXAttributedStringAppendText): Ditto.
2594
2595         * bridge/mac/WebCoreScriptDebugger.mm:
2596         (toNSString): Tweaked.
2597         (toNSURL): Removed getNSURL call.
2598
2599         * css/CSSImageValue.cpp:
2600         (WebCore::CSSImageValue::image): Removed DeprecatedString use.
2601         * css/CSSImportRule.cpp:
2602         (WebCore::CSSImportRule::insertedIntoParent): Ditto.
2603         * css/CSSParser.cpp:
2604         (WebCore::CSSParser::parseValue): Ditto.
2605         (WebCore::CSSParser::parseContent): Ditto.
2606         (WebCore::CSSParser::parseBackgroundImage): Ditto.
2607         (WebCore::CSSParser::parseFontFaceSrc): Ditto.
2608         (WebCore::CSSParser::parseBorderImage): Ditto.
2609         * css/CSSStyleSelector.cpp:
2610         (WebCore::CSSStyleSelector::setEncodedURL): Ditto.
2611         (WebCore::checkPseudoState): Ditto.
2612         * css/CSSStyleSelector.h: Ditto.
2613
2614         * css/MediaList.cpp:
2615         (WebCore::MediaList::setMediaText): Updated for String::split change.
2616
2617         * css/StyleBase.cpp:
2618         (WebCore::StyleBase::baseURL): Return KURL.
2619         * css/StyleBase.h: DItto.
2620
2621         * dom/Document.cpp:
2622         (WebCore::Document::~Document): Updated for namespace change.
2623         (WebCore::Document::documentURI): Return KURL.
2624         (WebCore::Document::setDocumentURI): Removed DeprecatedString use.
2625         (WebCore::Document::baseURI): Return KURL.
2626         (WebCore::Document::open): Updated to use blankURL.
2627         (WebCore::Document::setURL): Take KURL.
2628         (WebCore::Document::shouldBeAllowedToLoadLocalResources): Updated for
2629         change to use KURL
2630         (WebCore::Document::setBaseURL): Take KURL.
2631         (WebCore::Document::elementSheet): Updated for KURL change.
2632         (WebCore::Document::mappedElementSheet): Ditto.
2633         (WebCore::Document::processHttpEquiv): Ditto.
2634         (WebCore::Document::recalcStyleSelector): Removed use of
2635         DeprecatedString -- also noticed some dead code here!
2636         (WebCore::Document::setCookie): Ditto.
2637         (WebCore::Document::completeURL): Return KURL.
2638         * dom/Document.h: Use KURL instead of String in a few places.
2639
2640         * dom/DocumentType.cpp:
2641         (WebCore::DocumentType::baseURI): Return KURL.
2642         * dom/DocumentType.h: Ditto.
2643
2644         * dom/Element.cpp:
2645         (WebCore::Element::baseURI): Return KURL.
2646         * dom/Element.h: Ditto.
2647
2648         * dom/Node.cpp:
2649         (WebCore::Node::setDocument): Namespace change.
2650         (WebCore::Node::baseURI): Return KURL.
2651         * dom/Node.h: Ditto.
2652
2653         * dom/ProcessingInstruction.cpp:
2654         (WebCore::ProcessingInstruction::checkStyleSheet): Updated for KURL change.
2655         * dom/StyleElement.cpp:
2656         (WebCore::StyleElement::process): Changed to use Vector<UChar> instead of
2657         String for better performance.
2658         (WebCore::StyleElement::createSheet): Removed use of DeprecateString.
2659         * dom/XMLTokenizer.cpp:
2660         (WebCore::XMLTokenizer::endElementNs): Updated for KURL change.
2661         (WebCore::XMLTokenizer::end): Ditto.
2662         (WebCore::xmlDocPtrForString): Removed use of DeprecateString.
2663         * dom/XMLTokenizer.h: Ditto.
2664
2665         * editing/markup.cpp: Moved appendString to PlatformString.h.
2666         (WebCore::appendQuotedURLAttributeValue): Use protocolIs.
2667         (WebCore::completeURLs): Removed DeprecatedString use.
2668         (WebCore::createFragmentFromMarkup): Use blankURL.
2669         (WebCore::fillContainerFromString): Removed DeprecatedString use.
2670         (WebCore::createFragmentFromText): Ditto.
2671
2672         * history/HistoryItem.cpp:
2673         (WebCore::HistoryItem::url): Removed DeprecatedString use.
2674         (WebCore::HistoryItem::originalURL): Ditto.
2675         * history/HistoryItem.h: Removed include.
2676
2677         * html/HTMLAnchorElement.cpp:
2678         (WebCore::HTMLAnchorElement::defaultEventHandler): Removed use of
2679         DeprecatedString.
2680         (WebCore::HTMLAnchorElement::href): Return KURL.
2681         (WebCore::HTMLAnchorElement::hash): Removed DeprecatedString use.
2682         (WebCore::HTMLAnchorElement::host): Ditto.
2683         (WebCore::HTMLAnchorElement::hostname): Ditto.
2684         (WebCore::HTMLAnchorElement::pathname): Ditto.
2685         (WebCore::HTMLAnchorElement::port): Ditto.
2686         (WebCore::HTMLAnchorElement::protocol): Ditto.
2687         (WebCore::HTMLAnchorElement::search): Ditto.
2688         (WebCore::HTMLAnchorElement::toString): Ditto.
2689         * html/HTMLAnchorElement.h: Ditto.
2690         * html/HTMLAppletElement.cpp:
2691         (WebCore::HTMLAppletElement::createRenderer): Updated for KURL change.
2692         * html/HTMLAreaElement.cpp:
2693         (WebCore::HTMLAreaElement::href): Return KURL.
2694         * html/HTMLAreaElement.h: Ditto.
2695         * html/HTMLBaseElement.cpp:
2696         (WebCore::HTMLBaseElement::removedFromDocument): Updated for KURL change.
2697         (WebCore::HTMLBaseElement::process): Removed DeprecatedString use.
2698         * html/HTMLBodyElement.cpp:
2699         (WebCore::HTMLBodyElement::parseMappedAttribute): Updated for KURL change.
2700         * html/HTMLEmbedElement.cpp:
2701         (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed use of
2702         DeprecatedString.
2703         * html/HTMLEmbedElement.h: Removed DeprecatedString use.
2704         * html/HTMLFormElement.cpp:
2705         (WebCore::HTMLFormElement::formWouldHaveSecureSubmission): Use protocolIs.
2706         (WebCore::encodeCString): Updated for change to String::split.
2707         (WebCore::HTMLFormElement::dataEncoding): Ditto.
2708         (WebCore::HTMLFormElement::formData): Removed DeprecatedString use.
2709         (WebCore::HTMLFormElement::isMailtoForm): Use protocolIs.
2710         (WebCore::HTMLFormElement::submit): Updated for KURL change.
2711         (WebCore::HTMLFormElement::reset): Ditto.
2712         * html/HTMLFrameElementBase.cpp:
2713         (WebCore::HTMLFrameElementBase::isURLAllowed): Updated for KURL change
2714         and use equalIgnoringRef instead of doing a setRef to get the same effect.
2715         (WebCore::HTMLFrameElementBase::openURL): Use blankURL.
2716         (WebCore::HTMLFrameElementBase::location): Return KURL.
2717         (WebCore::HTMLFrameElementBase::src): Return KURL.
2718         * html/HTMLFrameElementBase.h: Ditto.
2719         * html/HTMLImageElement.cpp:
2720         (WebCore::HTMLImageElement::parseMappedAttribute): Updated for KURL change.
2721         (WebCore::HTMLImageElement::longDesc): Return KURL.
2722         (WebCore::HTMLImageElement::lowsrc): Return KURL.
2723         (WebCore::HTMLImageElement::src): Return KURL.
2724         * html/HTMLImageElement.h: Ditto. Also removed imageMap() function.
2725         * html/HTMLInputElement.cpp:
2726         (WebCore::HTMLInputElement::src): Return KURL.
2727         * html/HTMLInputElement.h: Ditto.
2728         * html/HTMLLinkElement.cpp:
2729         (WebCore::HTMLLinkElement::parseMappedAttribute): Updated for KURL change.
2730         (WebCore::HTMLLinkElement::tokenizeRelAttribute): Updated for String::split change.
2731         (WebCore::HTMLLinkElement::href): Return KURL.
2732         * html/HTMLLinkElement.h: Ditto.
2733         * html/HTMLMediaElement.cpp:
2734         (WebCore::HTMLMediaElement::src): Return KURL.
2735         (WebCore::HTMLMediaElement::pickMedia): Updated for KURL change.
2736         * html/HTMLMediaElement.h: Ditto.
2737         * html/HTMLObjectElement.cpp:
2738         (WebCore::HTMLObjectElement::isImageType): Use protocolIs.
2739         (WebCore::HTMLObjectElement::data): Return KURL.
2740         * html/HTMLObjectElement.h: Ditto.
2741         * html/HTMLOptGroupElement.cpp:
2742         (WebCore::HTMLOptGroupElement::groupLabelText): Removed DeprecatedString use.
2743         * html/HTMLParser.cpp:
2744         (WebCore::HTMLParser::reportErrorToConsole): Updated for KURL change.
2745         * html/HTMLScriptElement.cpp:
2746         (WebCore::HTMLScriptElement::insertedIntoDocument): Ditto.
2747         (WebCore::HTMLScriptElement::text): Changed to use Vector<UChar> instead of
2748         String for better performance.
2749         (WebCore::HTMLScriptElement::src): Return KURL.
2750         * html/HTMLScriptElement.h: Ditto.
2751         * html/HTMLSourceElement.cpp:
2752         (WebCore::HTMLSourceElement::src): Return KURL.
2753         * html/HTMLSourceElement.h: Ditto.
2754         * html/HTMLTableElement.cpp:
2755         (WebCore::HTMLTableElement::parseMappedAttribute): Updated for KURL change.
2756         * html/HTMLTablePartElement.cpp:
2757         (WebCore::HTMLTablePartElement::parseMappedAttribute): Updated for KURL change.
2758         * html/HTMLTextAreaElement.cpp:
2759         (WebCore::HTMLTextAreaElement::setValue): Removed DeprecatedString use.
2760         * html/HTMLTokenizer.cpp:
2761         (WebCore::HTMLTokenizer::scriptExecution): Ditto.
2762         (WebCore::HTMLTokenizer::notifyFinished): Use protocolIs.
2763         * html/HTMLVideoElement.cpp:
2764         (WebCore::HTMLVideoElement::poster): Return KURL.
2765         * html/HTMLVideoElement.h: Ditto.
2766         * html/HTMLViewSourceDocument.cpp:
2767         (WebCore::HTMLViewSourceDocument::addText): Updated for String::split change.
2768
2769         * loader/DocLoader.cpp:
2770         (WebCore::DocLoader::checkForReload): Add an explicit check for an empty URL
2771         here to avoid problems using its string as a hash table key later.
2772         (WebCore::DocLoader::requestResource): Removed DeprecatedString use.
2773
2774         * loader/FTPDirectoryDocument.cpp:
2775         (WebCore::FTPDirectoryTokenizer::createTDForFilename): Updated for KURL change.
2776         (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Removed use of
2777         DeprecatedString.
2778
2779         * loader/FrameLoader.cpp:
2780         (WebCore::FrameLoader::requestFrame): Use protocolIs.
2781         (WebCore::FrameLoader::loadSubframe): Use blankURL.
2782         (WebCore::FrameLoader::submitForm): Use protocolIs and removed use of
2783         DeprecatedString.
2784         (WebCore::FrameLoader::iconURL): Return KURL. Use protcolIs.
2785         (WebCore::FrameLoader::didOpenURL): Use protocolIs.
2786         (WebCore::FrameLoader::didExplicitOpen): Use blankURL.
2787         (WebCore::FrameLoader::executeIfJavaScriptURL): Use protocolIs.
2788         Update for name change to decodeURLEscapeSequences.
2789         (WebCore::FrameLoader::receivedFirstData): Updated for KURL changes.
2790         (WebCore::FrameLoader::begin): Removed DeprecatedString use.
2791         Renamed baseurl to baseURL. Updated to use KURL more.
2792         (WebCore::FrameLoader::gotoAnchor): Removed use of encodedHtmlRef
2793         function, which is no different from ref.
2794         (WebCore::FrameLoader::completeURL): Updated for KURL change.
2795         (WebCore::FrameLoader::scheduleLocationChange): Ditto.
2796         (WebCore::FrameLoader::canCachePage): Use protocolIs.
2797         (WebCore::FrameLoader::updatePolicyBaseURL): Update for KURL change.
2798         (WebCore::FrameLoader::setPolicyBaseURL): Take KURL.
2799         (WebCore::FrameLoader::startRedirectionTimer): Removed use of
2800         DeprecatedString.
2801         (WebCore::FrameLoader::load): Use protocolIs.
2802         (WebCore::FrameLoader::shouldHideReferrer): Use protocolIs.
2803         (WebCore::FrameLoader::shouldAllowNavigation): Updated for KURL change.
2804         (WebCore::FrameLoader::commitProvisionalLoad): Use blankURL.
2805         (WebCore::FrameLoader::open): Use protcolIs.
2806         (WebCore::FrameLoader::createHistoryItem): Use blankURL.
2807         (WebCore::FrameLoader::createJavaAppletWidget): Updated for KURL change.
2808         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): Removed
2809         DeprecatedString use.
2810         * loader/FrameLoader.h: Ditto.
2811
2812         * loader/ImageDocument.cpp:
2813         (WebCore::ImageDocument::createDocumentStructure): Updated for KURL change.
2814         * loader/PluginDocument.cpp:
2815         (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
2816
2817         * loader/icon/IconDatabase.cpp:
2818         (WebCore::IconDatabase::iconForPageURL): Added a check for an empty URL
2819         before trying to use it as a hash table key.
2820
2821         * loader/icon/IconLoader.h: Tweaked includes.
2822
2823         * loader/loader.cpp:
2824         (WebCore::Loader::servePendingRequests): Use protcolIs. Also removed some
2825         code to set up a local variable that is never used (and a DeprecatedString
2826         on to boot!).
2827
2828         * loader/mac/LoaderNSURLExtras.m:
2829         (suggestedFilenameWithMIMEType): Removed unnecessary typecast.
2830
2831         * page/ContextMenuController.cpp: Removed include.
2832
2833         * page/mac/EventHandlerMac.mm:
2834         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
2835         Use protocolIs.
2836
2837         * page/mac/WebCoreFrameBridge.mm:
2838         (-[WebCoreFrameBridge URLWithAttributeString:]): Removed getNSURL call.
2839         (-[WebCoreFrameBridge baseURL]): Ditto.
2840
2841         * platform/KURL.cpp:
2842         (WebCore::isSchemeFirstChar): Fixed bug in handling of values >= 0x80.
2843         (WebCore::isSchemeChar): Ditto.
2844         (WebCore::isPathSegmentEndChar): Ditto.
2845         (WebCore::hexDigitValue): Changed parameter type to UChar.
2846         (WebCore::copyASCII): Added.
2847         (WebCore::findFirstOf): Added.
2848         (WebCore::KURL::protocolIs): Added.
2849         (WebCore::KURL::KURL): Tightened logic up quite a bit. Changed parameter
2850         types from DeprecatedString to String.
2851         (WebCore::KURL::init): Changed parameter type to String. Preserved the
2852         passed-in string even if the base is invalid. Cleaned up logic to determine
2853         if the originalString should be pased in to the parse function. Simplified
2854         by calling the new parse overload that takes String in many cases.
2855         (WebCore::KURL::lastPathComponent): Return String.
2856         (WebCore::KURL::protocol): Ditto.
2857         (WebCore::KURL::host): Ditto.
2858         (WebCore::KURL::port): Changed logic to use early return for clarity.
2859         (WebCore::KURL::pass): Return String.
2860         (WebCore::KURL::user): Ditto.
2861         (WebCore::KURL::ref): Ditto.
2862         (WebCore::assertProtocolIsGood): Added.
2863         (WebCore::KURL::protocolIs): Added.
2864         (WebCore::KURL::query): Return String.
2865         (WebCore::KURL::path): Ditto.
2866         (WebCore::KURL::setProtocol): Take String.
2867         (WebCore::KURL::setHost): Ditto.
2868         (WebCore::KURL::setPort): Use String.
2869         (WebCore::KURL::setHostAndPort): Take String.
2870         (WebCore::KURL::setUser): Ditto.
2871         (WebCore::KURL::setPass): Ditto.
2872         (WebCore::KURL::setRef): Ditto.
2873         (WebCore::KURL::setQuery): Ditto.
2874         (WebCore::KURL::setPath): Ditto.
2875         (WebCore::KURL::prettyURL): Return String. Use Vector<UChar> to build it.
2876         (WebCore::decodeURLEscapeSequences): Renamed from KURL::decode_string.
2877         Return String. Use Vector<UChar> to build it.
2878         (WebCore::KURL::isLocalFile): Use protocolIs.
2879         (WebCore::KURL::parse): Added an overload that takes a String to replace
2880         the use of DeprecatedString::ascii at various call sites. Updated for
2881         name change (urlString -> m_string).
2882         (WebCore::equalIgnoringRef): Wrote a new implementation that doesn't
2883         do any allocation.
2884         (WebCore::encodeWithURLEscapeSequences): Renamed from KURL::encode_string.
2885         Return String.
2886         (WebCore::appendEncodedHostname): Added. Replaces encodeHostname and
2887         avoids the need to allocate a string.
2888         (WebCore::findHostnamesInMailToURL): Update to use findFirstOf instead of
2889         regular expressions.
2890         (WebCore::findHostnameInHierarchicalURL): Ditto.
2891         (WebCore::encodeHostnames): Use protocolIs and the other helpers above.
2892         (WebCore::encodeRelativeString): Changed to put result into a CharBuffer.
2893         (WebCore::substituteBackslashes): Updated to use String.
2894         (WebCore::KURL::copyToBuffer): Added.
2895         (WebCore::protocolIs): Added.
2896         (WebCore::blankURL): Added.
2897         (WebCore::KURL::print): Updated.
2898         * platform/KURL.h: Added a number of comments. Reorganized the header a bit.
2899         Made the string constructors explicit. Changed to use String instead of
2900         DeprecatedString. Removed encodedHTMLRef. Renamed and added a few functions.
2901
2902         * platform/cf/KURLCFNet.cpp:
2903         (WebCore::KURL::KURL): Streamlined the logic a bit.
2904         (WebCore::KURL::createCFURL): Changed to use copyToBuffer.
2905
2906         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2907         (WebCore::MediaPlayerPrivate::createQTMovie): Removed getNSURL call.
2908         Use protocolIs.
2909         * platform/mac/ClipboardMac.mm:
2910         (WebCore::ClipboardMac::declareAndWriteDragImage): Removed getNSURL call.
2911         * platform/mac/CookieJar.mm:
2912         (WebCore::cookies): Removed getNSURL call.
2913         (WebCore::setCookies): Removed getNSURL call.
2914         * platform/mac/KURLMac.mm:
2915         (WebCore::KURL::KURL): Streamlined the logic a bit.
2916         * platform/mac/PasteboardMac.mm:
2917         (WebCore::Pasteboard::writeURL): Removed getNSURL call.
2918         (WebCore::Pasteboard::writeImage): Ditto.
2919         * platform/mac/SSLKeyGeneratorMac.mm:
2920         (WebCore::signedPublicKeyAndChallengeString): Ditto.
2921
2922         * platform/network/HTTPParsers.cpp:
2923         (WebCore::filenameFromHTTPContentDisposition): Updated for String::split.
2924         * platform/network/ResourceHandle.cpp:
2925         (WebCore::ResourceHandle::portAllowed): Use protocolIs.
2926
2927         * platform/network/cf/ResourceErrorCF.cpp:
2928         (WebCore::ResourceError::operator CFErrorRef): Removed deprecatedString call.
2929         * platform/network/curl/ResourceHandleManager.cpp:
2930         (WebCore::headerCallback): Ditto.
2931         (WebCore::parseDataUrl): Use String instead of DeprecatedString.
2932         (WebCore::ResourceHandleManager::startJob): Updated for KURL changes.
2933         * platform/network/mac/ResourceErrorMac.mm:
2934         (WebCore::ResourceError::operator NSError*): Removed getNSURL call.
2935         * platform/network/mac/ResourceRequest.h:
2936         (WebCore::ResourceRequest::ResourceRequest): Removed DeprecatedString use.
2937         * platform/network/mac/ResourceRequestMac.mm:
2938         (WebCore::ResourceRequest::doUpdatePlatformRequest): Removed getNSURL call.
2939         * platform/network/mac/ResourceResponseMac.mm:
2940         (WebCore::ResourceResponse::nsURLResponse): Removed getNSURL call.
2941
2942         * platform/qt/ClipboardQt.cpp:
2943         (WebCore::ClipboardQt::writeURL): Removed deprecatedString call.
2944
2945         * platform/text/CString.h:
2946         (WebCore::CStringBuffer::length): Fixed size_t/unsigned mismatch to make it
2947         possible to compile this on Windows with higher warning level
2948
2949         * platform/text/PlatformString.h: Updated split to modify a result parameter
2950         rather than returning a Vector. Added charactersAreAllASCII and an append
2951         function that appends a String to a Vector<UChar>.
2952         * platform/text/String.cpp:
2953         (WebCore::String::split): Updated.
2954
2955         * platform/win/BString.cpp:
2956         (WebCore::BString::BString): Added conversion from KURL.
2957         * platform/win/BString.h: Ditto.
2958
2959         * platform/win/ClipboardUtilitiesWin.cpp:
2960         (WebCore::markupToCF_HTML): Removed use of deprecatedString.
2961         * platform/win/ClipboardWin.cpp:
2962         (WebCore::filesystemPathFromUrlOrTitle): Ditto.
2963         (WebCore::createGlobalHDropContent): Ditto.
2964         (WebCore::ClipboardWin::setData): Ditto.
2965         (WebCore::ClipboardWin::writeRange): Ditto.
2966         * platform/win/PasteboardWin.cpp:
2967         (WebCore::Pasteboard::writeSelection): Ditto.
2968         * plugins/PluginStream.cpp:
2969         (WebCore::PluginStream::startStream): Ditto.
2970         (WebCore::PluginStream::destroyStream): Ditto.
2971         * plugins/win/PluginViewWin.cpp:
2972         (WebCore::scriptStringIfJavaScriptURL): Ditto.
2973         (WebCore::PluginView::performRequest): Ditto.
2974         (WebCore::PluginView::PluginView): Ditto.
2975
2976         * rendering/HitTestResult.cpp:
2977         (WebCore::HitTestResult::absoluteImageURL): Removed DeprecatedString use.
2978         (WebCore::HitTestResult::absoluteLinkURL): Ditto.
2979
2980         * rendering/RenderFrameSet.cpp:
2981         (WebCore::RenderFrameSet::layOutAxis): Fixed comment wording.
2982         * rendering/RenderImage.cpp:
2983         (WebCore::RenderImage::paintReplaced): Removed use of DeperecatedString,
2984         (WebCore::RenderImage::imageMap): Changed to call useMap instead of imageMap;
2985         both do the same thing, and the first is standard DOM.
2986
2987         * rendering/RenderObject.cpp:
2988         (WebCore::RenderObject::addPDFURLRect): Rewrote and streamlined to remove
2989         DeprecatedString use.
2990         * rendering/RenderObject.h: Changed addPDFURLRect to take const IntRect&.
2991
2992         * rendering/RenderPartObject.cpp:
2993         (WebCore::isURLAllowed): Updated for KURL change and use equalIgnoringRef
2994         instead of doing a setRef to get the same effect.
2995         (WebCore::RenderPartObject::updateWidget): Updated for KURL change.
2996
2997         * rendering/RenderText.cpp:
2998         (WebCore::charactersAreAllASCII): Moved the guts to PlatformString.h.
2999
3000         * rendering/SVGRenderSupport.cpp:
3001         (WebCore::renderSubtreeToImage): Added missing call to do layout. I ran
3002         into this while doing some layout tests while URL processing was broken.
3003
3004         * rendering/SVGRenderTreeAsText.h: Removed include.
3005
3006         * svg/SVGImageLoader.cpp:
3007         (WebCore::SVGImageLoader::updateFromElement): Removed DeprecatedString use.
3008
3009         * svg/graphics/SVGImage.cpp:
3010         (WebCore::SVGImage::draw): Added missing call to do layout. I ran
3011         into this while doing some layout tests while URL processing was broken.
3012         (WebCore::SVGImage::dataChanged): Use a null URL rather than an arbitrary
3013         string for the document.
3014
3015         * xml/XMLHttpRequest.cpp:
3016         (WebCore::XMLHttpRequest::getResponseXML): Removed DeprecatedString use.
3017         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): Ditto.
3018         (WebCore::XMLHttpRequest::open): Ditto.
3019         (WebCore::XMLHttpRequest::send):  Namespace change.
3020         (WebCore::XMLHttpRequest::dropProtection): Ditto.
3021         * xml/XMLHttpRequest.h: Removed DeprecatedString use.
3022
3023         * xml/XSLImportRule.cpp:
3024         (WebCore::XSLImportRule::loadSheet): Removed DeprecatedString use.
3025         * xml/XSLStyleSheet.cpp:
3026         (WebCore::XSLStyleSheet::loadChildSheets): Ditto.
3027         (WebCore::XSLStyleSheet::loadChildSheet): Ditto.
3028         * xml/XSLStyleSheet.h: Ditto.
3029         * xml/XSLTProcessor.cpp:
3030         (WebCore::docLoaderFunc): Ditto.
3031         (WebCore::xsltStylesheetPointer): Ditto.
3032         (WebCore::xmlDocPtrFromNode): Ditto.
3033
3034 2008-02-14  Ada Chan  <adachan@apple.com>
3035
3036         <rdar://problem/5744728> Fix leaks of RegularExpression objects in Frame.cpp.
3037         
3038         Reviewed by Jon and Darin.
3039
3040         * page/Frame.cpp:
3041         (WebCore::createRegExpForLabels):
3042         (WebCore::Frame::searchForLabelsBeforeElement):
3043         (WebCore::Frame::matchLabelsAgainstElement):
3044
3045 2008-02-14  Stephanie Lewis  <slewis@apple.com>
3046
3047         Reviewed by Geoff.
3048
3049         Update order files.
3050
3051         * WebCore.order:
3052
3053 2008-02-14  Oliver Hunt  <oliver@apple.com>
3054
3055         Reviewed by Geoff G and Weinig.
3056
3057         <rdar://problem/5726608> REGRESSION (r29428): Assigning to window.status does not update status bar
3058
3059         Revert the portions of r29428 responsible for breaking the ability to
3060         set window.status
3061
3062         * page/DOMWindow.cpp:
3063         (WebCore::DOMWindow::setStatus):
3064         (WebCore::DOMWindow::defaultStatus):
3065         (WebCore::DOMWindow::setDefaultStatus):
3066         * page/DOMWindow.h:
3067         * page/DOMWindow.idl:
3068
3069 2008-02-14  Anders Carlsson  <andersca@apple.com>
3070
3071         Reviewed by Darin.
3072
3073         <rdar://problem/5721790>
3074         Crash in WebCore::DeprecatedString::operator= + 31 at news.google.com
3075         
3076         Use pointers in the cache map tables. Otherwise when we rehash, 
3077         we will end up destroying Cache objects that node lists might point to.
3078         
3079         * dom/Node.cpp:
3080         (WebCore::NodeListsNodeData::~NodeListsNodeData):
3081         (WebCore::Node::getElementsByName):
3082         (WebCore::Node::getElementsByClassName):
3083
3084 2008-02-14  Alp Toker  <alp@atoker.com>
3085
3086         Reviewed by Darin.
3087
3088         http://bugs.webkit.org/show_bug.cgi?id=17353
3089         XMLTokenizer installs global libxml2 callbacks that can break client applications
3090
3091         Patch by Mark Rowe (with a few changes).
3092
3093         The xmlRegisterInputCallbacks/xmlRegisterOutputCallbacks done at
3094         init are global so we need to make sure these callbacks only get used
3095         by XMLTokenizer and never by libxml2 calls in user applications.
3096
3097         This patch modifies the match and open functions to only apply when we
3098         are certain the caller is XMLTokenizer by checking globalDocLoader and
3099         ensuring we're on the correct thread.
3100
3101         Some possible issues remain. See the bug report for details.
3102
3103         * dom/XMLTokenizer.cpp:
3104         (WebCore::matchFunc):
3105         (WebCore::openFunc):
3106         (WebCore::createStringParser):
3107
3108 2008-02-14  Timothy Hatcher  <timothy@apple.com>
3109
3110         Reviewed by Darin Adler.
3111
3112         <rdar://problem/5743768> A deadlock during storage layout tests
3113
3114         Make sure not to hold the m_openDatabaseMapGuard mutex when calling
3115         Database::markAsDeletedAndClose(), since that can cause a deadlock
3116         during the synchronous DatabaseThread call it triggers.
3117
3118         * storage/DatabaseTracker.cpp:
3119         (WebCore::DatabaseTracker::deleteDatabaseFile):
3120
3121 2008-02-14  Adam Roben  <aroben@apple.com>
3122
3123         Turn on cross-document messaging support by default
3124
3125         Reviewed by Darin.
3126
3127         * Configurations/WebCore.xcconfig:
3128         * WebCore.pro:
3129         * WebCore.vcproj/WebCore.vcproj:
3130
3131 2008-02-14  Adam Roben  <aroben@apple.com>
3132
3133         Conditionalize cross-document messaging support
3134
3135         The cross-document messaging parts of HTML 5 are in flux and we want
3136         ports to be able to turn off the support as needed.
3137
3138         Note that the support is turned off by default right now. A subsequent
3139         commit will turn it on by default.
3140
3141         Reviewed by Darin.
3142
3143         * GNUmakefile.am:
3144         * WebCore.vcproj/build-generated-files.sh:
3145         * bindings/js/JSDOMWindowCustom.cpp:
3146         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3147         * bindings/js/JSEventCustom.cpp:
3148         (WebCore::toJS):
3149         * dom/Event.cpp:
3150         (WebCore::Event::isMessageEvent):
3151         * dom/Event.h:
3152         * dom/MessageEvent.cpp:
3153         * dom/MessageEvent.h:
3154         * dom/MessageEvent.idl:
3155         * page/DOMWindow.cpp:
3156         (WebCore::DOMWindow::postMessage):
3157         * page/DOMWindow.h:
3158         * page/DOMWindow.idl:
3159
3160 2008-02-14  Adam Roben  <aroben@apple.com>
3161
3162         Improve the efficiency of SecurityOriginHash
3163
3164         Reviewed by Alexey.
3165
3166         * platform/SecurityOriginHash.h:
3167         (WebCore::SecurityOriginHash::hash): Now takes a const
3168         RefPtr<SecurityOrigin>& to reduce ref-count churn.
3169         (WebCore::SecurityOriginHash::equal): Ditto.
3170
3171 2008-02-13  Justin Garcia  <justin.garcia@apple.com>
3172
3173         Reviewed by Oliver Hunt.
3174
3175         Fixes the editing/deleting/5729680.html failure.  It succeeds when run by itself
3176         but fails when run with other tests because FramePrivate's m_selectionGranularity
3177         isn't reset when a Frame receives a new document.  It was also uninitialized in
3178         the constructor.
3179
3180         * loader/FrameLoader.cpp:
3181         (WebCore::FrameLoader::clear): Initialize m_selectionGranularity.
3182         * page/Frame.cpp:
3183         (WebCore::FramePrivate::FramePrivate): Ditto.
3184
3185 2008-02-13  Jon Honeycutt  <jhoneycutt@apple.com>
3186
3187         Reviewed by Anders.
3188
3189         <rdar://problem/5739282> Hangs after closing video trailer popup with
3190         VLC plugin
3191
3192         VLC hangs on NPP_Destroy if we call NPP_SetWindow with a null window
3193         handle.
3194
3195         * plugins/PluginQuirkSet.h: Added new quirk
3196         PluginQuirkDontSetNullWindowHandleOnDestroy.
3197         (WebCore::):
3198         * plugins/win/PluginViewWin.cpp:
3199         (WebCore::PluginView::stop): Selectively call NPP_SetWindow.
3200         (WebCore::PluginView::determineQuirks): Set new quirk for VLC plug-in.
3201
3202 2008-02-13  Rodney Dawes  <dobey@wayofthemonkey.com>
3203
3204         Reviewed by Alp Toker.
3205
3206         Fix non-SVG builds.
3207
3208         * css/CSSCursorImageValue.cpp:
3209
3210 2008-02-13  Justin Garcia  <justin.garcia@apple.com>
3211
3212         Reviewed by Adam Roben.
3213
3214         <rdar://problem/5729680> REGRESSION (r27873): Removing the last character of a word in Mail or Safari also removes the following space
3215         
3216         * editing/Editor.cpp:
3217         (WebCore::Editor::deleteWithDirection): Fixed a typo.
3218
3219 2008-02-13  Nikolas Zimmermann  <zimmermann@kde.org>
3220
3221         Reviewed by Oliver.
3222
3223         Actually fix the manual-tests/svg-cursor-changes.svg testcase.
3224         I only reran layout tests when fixing the last issues with the patch,
3225         instead of trying the manual-test :( Fixed.
3226
3227         * css/CSSCursorImageValue.cpp:
3228         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
3229         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
3230         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
3231         * css/CSSCursorImageValue.h:
3232
3233 2008-02-13  Adam Roben  <aroben@apple.com>
3234
3235         Windows build fix
3236
3237         * css/CSSCursorImageValue.cpp: #include MathExtras.h to get roundf.
3238
3239 2008-02-13  Nikolas Zimmermann  <zimmermann@kde.org>
3240
3241         Reviewed by Darin & Eric.
3242
3243         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17258 (SVG uses erroneous cursor implementation)
3244
3245         SVG cursors are not well-integrated within the CSS(3) cursor support in WebCore.
3246         SVGCursorElement duplicates CSSCursorImageValue functionality and inherits from
3247         CachedResourceClient itself, handling remote-image acquisation on its own.
3248
3249         RenderStyle's CursorData class holds "IntPoint hotSpot", "CachedImage* image"
3250         and just for SVG a 'String cursorFragmentId' (a reference to a SVG <cursor> element, by id).
3251
3252         SVG stores a reference to a SVGCursorElement, which holds a CachedImage pointer itself -
3253         instead of storing the CachedImage in the CursorData class, as it's supposed to be.
3254         Because of that several places in WebCore contain special SVG cursor handling - which
3255         is unneeded.
3256
3257         Fix all issues by integrating within CSSCursorImageValue, remove 'String cursorFragmentId'
3258         from RenderStyle, kill any special SVG cursor handling in WebCore and fix dynamic attribute
3259         changes through DOM / SVG DOM (scripting of 'x' / 'y' / 'xlink:href' attribute). Now you
3260         can script the mouse cursor location using SVG - the feature anyone has waited for.
3261
3262         Added manual test case: manual-tests/svg-cursor-changes.svg (no support for cursors in DRT)
3263
3264         * css/CSSCursorImageValue.cpp:
3265         (WebCore::isSVGCursorIdentifier):
3266         (WebCore::resourceReferencedByCursorElement):
3267         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
3268         (WebCore::CSSCursorImageValue::updateIfNeeded):
3269         (WebCore::CSSCursorImageValue::image):
3270         * css/CSSCursorImageValue.h:
3271         * css/CSSImageValue.cpp:
3272         (WebCore::CSSImageValue::image):
3273         * css/CSSImageValue.h:
3274         * css/CSSParser.cpp:
3275         (WebCore::CSSParser::parseValue):
3276         * css/CSSStyleSelector.cpp:
3277         (WebCore::CSSStyleSelector::applyProperty):
3278         * manual-tests/svg-cursor-changes.svg: Added.
3279         * page/EventHandler.cpp:
3280         (WebCore::EventHandler::selectCursor):
3281         * rendering/RenderStyle.cpp:
3282         * rendering/RenderStyle.h:
3283         (WebCore::CursorData::operator==):
3284         * svg/SVGCursorElement.cpp:
3285         (WebCore::SVGCursorElement::SVGCursorElement):
3286         (WebCore::SVGCursorElement::~SVGCursorElement):
3287         (WebCore::SVGCursorElement::parseMappedAttribute):
3288         (WebCore::SVGCursorElement::addClient):
3289         (WebCore::SVGCursorElement::removeClient):
3290         (WebCore::SVGCursorElement::svgAttributeChanged):
3291         * svg/SVGCursorElement.h:
3292         (WebCore::SVGCursorElement::isValid):
3293
3294 2008-02-13  Alp Toker  <alp@atoker.com>
3295
3296         Reviewed by Adam Roben.
3297
3298         Split out pure-cairo Font code to FontCairo.cpp.
3299
3300         Part of the ongoing work to share code with the Win port.
3301
3302         * GNUmakefile.am:
3303         * WebCore.pro:
3304         * platform/graphics/cairo/FontCairo.cpp: Added.
3305         (WebCore::Font::drawGlyphs):
3306         * platform/graphics/gtk/FontGtk.cpp:
3307
3308 2008-02-13  Kevin Ollivier <kevino@theolliviers.com>
3309
3310         Reviewed by Darin Adler.
3311
3312         Import wx/defs.h to keep windows.h from using ANSI functions
3313         (see note in file for more info) and use the 8-bit string friendly
3314         version of StringImpl::computeHash since we're passing it un UTF8
3315         string. Also, don't cache the hash result.
3316         
3317         http://bugs.webkit.org/show_bug.cgi?id=17321
3318
3319         * config.h:
3320         * platform/graphics/wx/FontPlatformData.h:
3321         (WebCore::FontPlatformData::hash):
3322         (WebCore::FontPlatformData::computeHash):
3323
3324 2008-02-13  Rodney Dawes  <dobey@wayofthemonkey.com>
3325
3326         Fix Bug 17220: Illogical dependency between PluginView and
3327         PluginDatabase
3328         
3329         <http://bugs.webkit.org/show_bug.cgi?id=17220>
3330
3331         Reviewed by Adam and Darin.
3332
3333         Rename PluginDatabase::createPluginView to PluginView::create, to make
3334         the illogical dependency between the two, logical
3335         Make PluginDatabase::findPlugin a public method
3336         Update the includes in PluginView and PluginDatabase for the change
3337
3338         * plugins/PluginDatabase.h:
3339         * plugins/PluginView.h:
3340         * plugins/win/PluginDatabaseWin.cpp:
3341         * plugins/win/PluginViewWin.cpp:
3342
3343 2008-02-13  Adam Roben  <aroben@apple.com>
3344
3345         Build fix
3346
3347         * platform/graphics/cg/GraphicsContextCG.cpp: Added missing #include.
3348
3349 2008-02-13  Matt Lilek  <webkit@mattlilek.com>
3350
3351         Not reviewed, build fix.
3352
3353         * platform/graphics/cg/GraphicsContextCG.cpp:
3354         (WebCore::GraphicsContext::paintBuffer):
3355
3356 2008-02-13  Darin Adler  <darin@apple.com>
3357
3358         - try to fix Wx build
3359
3360         * platform/graphics/wx/GraphicsContextWx.cpp:
3361         (WebCore::GraphicsContext::paintBuffer): Added.
3362
3363         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3364         (WebCore::GraphicsContext::paintBuffer): Added missing paintingDisabled() check.
3365         * platform/graphics/cg/GraphicsContextCG.cpp:
3366         (WebCore::GraphicsContext::paintBuffer): Ditto.
3367         * platform/graphics/qt/GraphicsContextQt.cpp:
3368         (WebCore::GraphicsContext::paintBuffer): Ditto.
3369
3370 2008-02-13  Darin Adler  <darin@apple.com>
3371
3372         - try to fix Wx build
3373
3374         * platform/wx/LocalizedStringsWx.cpp: Add missing include.
3375
3376 2008-02-11  Darin Adler  <darin@apple.com>
3377
3378         - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
3379           incorrectly due to visibility fix
3380
3381         Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
3382
3383         * WebCore.base.exp: Rolled out change.
3384         * css/CSSMutableStyleDeclaration.cpp:
3385         (WebCore::CSSMutableStyleDeclaration::setProperty): Ditto.
3386         * page/Settings.cpp:
3387         (WebCore::Settings::Settings): Ditto. But keep the initialization of
3388         m_fontRenderingMode.
3389         (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Removed.
3390         * page/Settings.h:
3391         (WebCore::Settings::needsXcodeVisibilityQuirk): Removed.
3392
3393 2008-02-13  Alexey Proskuryakov  <ap@webkit.org>
3394
3395         Reviewed by Darin.
3396
3397         <rdar://problem/5740042> Database termination issues
3398
3399         Test: storage/close-during-stress-test.html
3400
3401         * dom/Document.cpp:
3402         (WebCore::Document::databaseThread):
3403         * dom/Document.h:
3404         Don't re-create the database thread if it has been already terminated.
3405
3406         * storage/Database.h: (WebCore::Database::document): Changed m_database to a RefPtr to avoid
3407         having a hanging reference.
3408
3409         * storage/DatabaseThread.cpp:
3410         (WebCore::DatabaseThread::requestTermination):
3411
3412         * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::~SQLTransaction): Removed logging.
3413         Transactions are deleted during GC, so it's usually not importatnt to know when it happens.
3414
3415 2008-02-12  Bernhard Rosenkraenzer  <bero@arklinux.org>
3416
3417         Reviewed by Darin.
3418
3419         - fix http://bugs.webkit.org/show_bug.cgi?id=17340
3420           WebCore/platform/Timer.cpp fails to build with gcc 4.3
3421
3422         * platform/Timer.cpp: Add include of <limits.h> since this file uses UINT_MAX.
3423
3424 2008-02-12  Timothy Hatcher  <timothy@apple.com>
3425
3426         Reviewed by Brady Eidson.
3427
3428         <rdar://problem/5652560> Can't delete database if the website that
3429         uses it has been opened in this session
3430
3431         Close the Database on the database thread before deleting the file.
3432         Tested and works on Windows and Mac.
3433
3434         * platform/sql/SQLiteDatabase.cpp:
3435         (WebCore::SQLiteDatabase::close): Assert we are on the opening thread.
3436         * storage/Database.cpp:
3437         (WebCore::Database::markAsDeletedAndClose): Unschedule any pending
3438         Database tasks, and start and imediate DatabaseCloseTask.
3439         (WebCore::Database::close): Close the SQLDatabase.
3440         * storage/Database.h: Renamed markAsDeleted to markAsDeletedAndClose.
3441         * storage/DatabaseTask.cpp:
3442         (WebCore::DatabaseCloseTask::DatabaseCloseTask): New task.
3443         (WebCore::DatabaseCloseTask::doPerformTask): Call close on the Database.
3444         (WebCore::DatabaseCloseTask::debugTaskName): Return "DatabaseCloseTask".
3445         * storage/DatabaseTask.h: Add DatabaseCloseTask.
3446         * storage/DatabaseTracker.cpp:
3447         (WebCore::DatabaseTracker::deleteDatabaseFile): Call the renamed
3448           markAsDeletedAndClose.
3449
3450 2008-02-12  Oliver Hunt  <oliver@apple.com>
3451
3452         Endeavour to fix qt and gtk builds
3453
3454         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3455         * platform/graphics/qt/GraphicsContextQt.cpp:
3456
3457 2008-02-12  Oliver Hunt  <oliver@apple.com>
3458
3459         Reviewed by Eric S.
3460
3461         Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
3462         Remove ifdef's from canvas paint code
3463
3464         By making GraphicsContext aware of the crossplatform ImageBuffer
3465         type we can migrate the ifdef-ified paint code in HTMLCanvasElement
3466         into platform implementations of GraphicsContext.
3467
3468         * html/HTMLCanvasElement.cpp:
3469         (WebCore::HTMLCanvasElement::paint):
3470         * platform/graphics/GraphicsContext.h:
3471         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3472         (WebCore::GraphicsContext::paintBuffer):
3473         * platform/graphics/cg/GraphicsContextCG.cpp:
3474         (WebCore::GraphicsContext::paintBuffer):
3475         * platform/graphics/qt/GraphicsContextQt.cpp:
3476         (WebCore::GraphicsContext::paintBuffer):
3477
3478 2008-02-12  Brady Eidson  <beidson@apple.com>
3479
3480         Reviewed by Darin Adler
3481
3482         Fix for <rdar://problem/5737692> - Database API needs to support SuccessCallback
3483
3484         Layout tests will come shortly with a mess of DRT changes
3485
3486         * platform/SecurityOrigin.cpp:
3487         (WebCore::SecurityOrigin::SecurityOrigin): Standardize on "empty string" instead of null string
3488           as different paths of constructing a SecurityOrigin were causing different hashes for the "same"
3489           SecurityOrigin
3490
3491         * storage/Database.cpp:
3492         (WebCore::Database::changeVersion): Pass in the successCallback
3493         (WebCore::Database::transaction): Ditto
3494
3495         * storage/SQLTransaction.cpp:
3496         (WebCore::SQLTransaction::SQLTransaction):
3497         (WebCore::SQLTransaction::debugStepName):
3498         (WebCore::SQLTransaction::performNextStep): Update ASSERTs for the new valid steps
3499         (WebCore::SQLTransaction::performPendingCallback): Ditto
3500         (WebCore::SQLTransaction::postflightAndCommit): Schedule the success callback if it exists - otherwise
3501           skip straight to cleanupAfterSuccessCallback()
3502         (WebCore::SQLTransaction::deliverSuccessCallback): Deliver success callback on the main thread, then
3503           schedule cleanupAfterSuccessCallback()
3504         (WebCore::SQLTransaction::cleanupAfterSuccessCallback): Cleanup and end the transaction
3505         (WebCore::SQLTransaction::handleTransactionError):
3506         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
3507         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
3508         * storage/SQLTransaction.h:
3509
3510 2008-02-12  Steve Falkenburg  <sfalken@apple.com>
3511
3512         Changes to support merged MIDL output.
3513         
3514         All COM interfaces are now generated to WebKit.h.
3515         
3516         Reviewed by Sam, Ada.
3517
3518         * bindings/scripts/CodeGeneratorCOM.pm:
3519
3520 2008-02-12  Dan Bernstein  <mitz@apple.com>
3521
3522         Reviewed by Adam Roben.
3523
3524         - fix http://bugs.webkit.org/show_bug.cgi?id=17041
3525           <rdar://problem/5709660> Eastern Asian fonts do not display without specific box in Control Panel
3526
3527         Revised the system fallback font lookup logic to use MLang font linking
3528         again. To avoid reintroducing bug 16548 and <rdar://problem/5280188>,
3529         for CJK characters, try linking based on a single code page at a time,
3530         starting with the user's default code page (if it is one of the CJK
3531         code pages) followed by the other CJK code pages in a prescribed order
3532         that matches what Firefox does.
3533
3534         * platform/graphics/win/FontCacheWin.cpp:
3535         (WebCore::getCJKCodePageMasks): Added. Returns the search order for CJK
3536         code pages, with the user's default code page first.
3537         (WebCore::currentFontContainsCharacter): Factored out of
3538         getFontDataForCharacters().
3539         (WebCore::createMLangFont): Ditto.
3540         (WebCore::FontCache::getFontDataForCharacters):
3541
3542 2008-02-12  Rodney Dawes  <dobey@wayofthemonkey.com>
3543
3544         Reviewed by Alp Toker.
3545
3546         Add -DMAEMO_CHANGES when the hildon CONFIG option is specified
3547         Add hildon-1 to PKGCONFIG when hildon CONFIG option is specified
3548
3549         * WebCore.pro:
3550
3551 2008-02-12  Dan Bernstein  <mitz@apple.com>
3552
3553         Reviewed by Timothy Hatcher.
3554
3555         - <rdar://problem/5738175> Remove workaround for <rdar://problem/5539388> from post-Tiger builds
3556
3557         * platform/graphics/cg/GraphicsContextCG.cpp:
3558         (WebCore::GraphicsContext::setShadow):
3559
3560 2008-02-12  Brady Eidson  <beidson@apple.com>
3561
3562         Release build fix
3563
3564         * storage/DatabaseTask.cpp:
3565
3566 2008-02-12  Alexey Proskuryakov <ap@webkit.org> and Brady Eidson <beidson@apple.com>
3567
3568         Reviewed by Brady.
3569