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