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