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