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