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